From 0562341a7677efe8615b5e8238fa0d79d5c5855f Mon Sep 17 00:00:00 2001 From: trashb0at Date: Mon, 3 Nov 2025 08:30:34 -0500 Subject: [PATCH 01/20] britain shattered --- .../coat_of_arms/NEOW_landed_titles.txt | 46 ++++++++++ .../landed_titles/NEOW_special_titles.txt | 4 + N3OW/history/provinces/e_britannia.txt | 2 +- N3OW/history/titles/k_england.txt | 1 - N3OW/history/titles/k_mann.txt | 4 - N3OW/history/titles/k_northumberland.txt | 28 +++--- N3OW/history/titles/k_scotland.txt | 86 ++++++++----------- N3OW/history/titles/k_wales.txt | 15 ++-- .../localization/english/titles_l_english.yml | 5 +- 9 files changed, 114 insertions(+), 77 deletions(-) diff --git a/N3OW/common/coat_of_arms/coat_of_arms/NEOW_landed_titles.txt b/N3OW/common/coat_of_arms/coat_of_arms/NEOW_landed_titles.txt index a210816b..6052b842 100644 --- a/N3OW/common/coat_of_arms/coat_of_arms/NEOW_landed_titles.txt +++ b/N3OW/common/coat_of_arms/coat_of_arms/NEOW_landed_titles.txt @@ -3466,3 +3466,49 @@ k_koln = { } +k_gwynedd = { + pattern="pattern_horizontal_split_01.dds" + color1=red + color2=yellow + color3=green + colored_emblem={ + color1=red + color2=blue_light + color3=blue_light + texture="ce_leopard_passant_guardant.dds" + instance={ + position={ 0.310000 0.270000 } + scale={ 0.430000 0.920000 } + } + instance={ + position={ 0.690000 0.730000 } + scale={ 0.430000 0.920000 } + } + + } + colored_emblem={ + color1=yellow + color2=blue_light + color3=blue_light + texture="ce_leopard_passant_guardant.dds" + instance={ + position={ 0.690000 0.270000 } + scale={ 0.430000 0.920000 } + } + instance={ + position={ 0.310000 0.730000 } + scale={ 0.430000 0.920000 } + } + + } + colored_emblem={ + color1=yellow + color2=red + texture="ce_quarterly.dds" + instance={ + depth=1.010000 + } + + } + +} diff --git a/N3OW/common/landed_titles/NEOW_special_titles.txt b/N3OW/common/landed_titles/NEOW_special_titles.txt index a699dd26..27c48a37 100644 --- a/N3OW/common/landed_titles/NEOW_special_titles.txt +++ b/N3OW/common/landed_titles/NEOW_special_titles.txt @@ -37,4 +37,8 @@ d_arminien = { d_neddersassen = { color = { 156 18 16 } +} + +k_gwynedd = { + color = { 1 146 1 } } \ No newline at end of file diff --git a/N3OW/history/provinces/e_britannia.txt b/N3OW/history/provinces/e_britannia.txt index 39543aeb..997892fe 100644 --- a/N3OW/history/provinces/e_britannia.txt +++ b/N3OW/history/provinces/e_britannia.txt @@ -618,7 +618,7 @@ 9720 = { culture = scouseg religion = celtic - holding = castle_holding + holding = city_holding } 1643 = { culture = scouseg diff --git a/N3OW/history/titles/k_england.txt b/N3OW/history/titles/k_england.txt index 2fef8a3e..05518156 100644 --- a/N3OW/history/titles/k_england.txt +++ b/N3OW/history/titles/k_england.txt @@ -138,7 +138,6 @@ c_wiltshire = { d_nottingham = { 2552.1.1 = { holder = britannia_jacob_edwin - government = administrative_government liege = k_northumberland } } diff --git a/N3OW/history/titles/k_mann.txt b/N3OW/history/titles/k_mann.txt index 396751de..e1d8f32d 100644 --- a/N3OW/history/titles/k_mann.txt +++ b/N3OW/history/titles/k_mann.txt @@ -4,15 +4,11 @@ k_mann = { } 2520.1.1 = { holder = britannia_gibb_illiam #Illiam Gibb - government = administrative_government - liege = e_britannia } } d_mann = { 2520.1.1 = { holder = britannia_gibb_illiam #Illiam Gibb - government = administrative_government - liege = e_britannia } } \ No newline at end of file diff --git a/N3OW/history/titles/k_northumberland.txt b/N3OW/history/titles/k_northumberland.txt index f081fbc8..4c7a3e17 100644 --- a/N3OW/history/titles/k_northumberland.txt +++ b/N3OW/history/titles/k_northumberland.txt @@ -1,8 +1,6 @@ k_northumberland = { 2499.1.1 = { holder = britannia_starr_cory #Cory Starr - government = administrative_government - liege = e_britannia } 2505.1.1 = { change_development_level = 7 @@ -12,15 +10,12 @@ d_lancaster = { 2499.1.1 = { holder = britannia_starr_cory #Cory Starr - government = administrative_government - liege = e_britannia } } d_northumberland = { 2549.1.1 = { holder = britannia_windsor_george #George Windsor - government = administrative_government liege = k_northumberland } } @@ -28,7 +23,6 @@ d_northumberland = { c_durham = { 2549.1.1 = { holder = britannia_hatfield_simon #Simon Hatfield - government = administrative_government liege = d_northumberland } } @@ -36,31 +30,27 @@ c_durham = { d_york = { 2520.1.1 = { holder = britannia_jacob_colin # Fredrick Jagher - government = administrative_government liege = k_northumberland } } -c_lancashire = { +c_liverpool = { 2520.1.1 = { holder = britannia_lennon_shaun - government = administrative_government - liege = k_northumberland + government = republic_government } } c_cumberland = { 2520.1.1 = { holder = britannia_cartney_hamish - government = administrative_government - liege = k_northumberland + liege = k_mann } } c_westmorland = { 2520.1.1 = { holder = britannia_harriswn_hwyll - government = administrative_government liege = k_northumberland } } @@ -68,7 +58,6 @@ c_westmorland = { d_lincoln = { 2533.1.1 = { holder = britannia_newton_margaret # Margaret Newton - government = administrative_government liege = k_northumberland } } @@ -76,7 +65,6 @@ d_lincoln = { c_east_riding = { 2520.1.1 = { holder = britannia_watts_thomas - government = administrative_government liege = d_york } } @@ -84,7 +72,6 @@ c_east_riding = { c_west_riding = { 2520.1.1 = { holder = britannia_wood_richard - government = administrative_government liege = d_york } } @@ -92,7 +79,14 @@ c_west_riding = { c_richmond = { 2533.1.1 = { holder = britannia_richards_james - government = administrative_government liege = d_york } } + +c_derby = { + 2553.1.1 = { + holder = britannia_starr_thwmys + government = administrative_government + liege = k_wales + } +} \ No newline at end of file diff --git a/N3OW/history/titles/k_scotland.txt b/N3OW/history/titles/k_scotland.txt index b4aaf51e..98cf942b 100644 --- a/N3OW/history/titles/k_scotland.txt +++ b/N3OW/history/titles/k_scotland.txt @@ -4,74 +4,70 @@ k_scotland = { } 2540.1.1 = { holder = britannia_wall_williaim # Williaim Wall - government = administrative_government - liege = e_britannia } } #d_moray = { # 2540.1.1 = { # holder = britannia_wall_williaim # Williaim Wall -# government = administrative_government + # liege = e_britannia # } #} c_moray = { 2540.1.1 = { holder = britannia_chatain_coiseam # Cňiseam Chatain - liege = k_scotland + liege = d_highlands } } c_inverness = { 2540.1.1 = { holder = britannia_chatain_coiseam # Cňiseam Chatain - liege = k_scotland + liege = d_highlands + } +} +d_highlands = { + 2539.1.1 = { + holder = britannia_brus_raibeart # Raibeart Brus } } c_ross = { - 2540.1.1 = { + 2539.1.1 = { holder = britannia_brus_raibeart # Raibeart Brus - liege = k_scotland } } c_sutherland = { - 2540.1.1 = { + 2539.1.1 = { holder = britannia_brus_raibeart # Raibeart Brus - liege = k_scotland } } c_caithness = { - 2540.1.1 = { + 2539.1.1 = { holder = britannia_brus_raibeart # Raibeart Brus - liege = k_scotland } } d_lothian = { 2540.1.1 = { holder = britannia_wall_williaim # Williaim Wall - government = administrative_government - liege = e_britannia } } c_buchan = { 2540.1.1 = { holder = britannia_kintosh_stephen # Stephen MacKintosh - liege = k_scotland + liege = d_moray } } d_galloway = { 2540.1.1 = { holder = britannia_hendderswn_ddaiwyis # Ddaiwyis Hendderswn - government = administrative_government liege = k_scotland } } c_lennox = { 2540.1.1 = { holder = britannia_knwcks_jwhn # Jwhn Knwcks - government = administrative_government liege = d_galloway } } @@ -79,81 +75,75 @@ c_lennox = { c_ayrshire = { 2551.11.19 = { holder = britannia_walcyr_dduddlyy #Duddley Walker - government = administrative_government liege = k_scotland } } -#d_western_isles = { -# 2540.1.1 = { -# holder = britannia_wall_williaim # Williaim Wall -# government = administrative_government -# liege = e_britannia -# } -#} -c_outer_hebrides = { - 2540.1.1 = { +d_western_isles = { + 2539.1.1 = { + holder = britannia_leigh_iain # Iain MacLeigh + } +} + +c_outer_hebrides = { + 2539.1.1 = { holder = britannia_leigh_iain # Iain MacLeigh - liege = k_scotland } } c_inner_hebrides = { 2540.1.1 = { holder = britannia_baird_james # James MacBaird government = theocracy_government - liege = k_scotland + liege = d_western_isles } } c_argyll = { 2540.1.1 = { holder = britannia_duns_john # John Duns - liege = k_scotland + liege = d_albany } } -#d_albany = { -# 2540.1.1 = { -# holder = britannia_wall_williaim # Williaim Wall -# government = administrative_government -# liege = e_britannia -# } -#} -c_atholl = { - 2540.1.1 = { +d_albany = { + 2539.1.1 = { holder = britannia_stuart_mary # Mary Stuart - liege = k_scotland + } +} +c_atholl = { + 2539.1.1 = { + holder = britannia_stuart_mary # Mary Stuart + } +} +d_moray = { + 2539.1.1 = { + holder = britannia_keith_malcolm # Malcolm Keith } } c_gowrie = { - 2540.1.1 = { - holder = britannia_keith_malcolm # Malcolm Keith - liege = k_scotland + 2539.1.1 = { + holder = britannia_stuart_mary # Mary Stuart } } c_angus = { - 2540.1.1 = { + 2539.1.1 = { holder = britannia_keith_malcolm # Malcolm Keith - liege = k_scotland } } c_mearns = { - 2540.1.1 = { + 2539.1.1 = { holder = britannia_keith_malcolm # Malcolm Keith - liege = k_scotland } } c_fife = { 2540.1.1 = { holder = britannia_drummond_frazier # Frazier Drummond - government = administrative_government liege = k_scotland } } c_strathearn = { 2540.1.1 = { holder = britannia_carnegie_ramsey # Ramsey Carnegie - government = administrative_government liege = k_scotland } } \ No newline at end of file diff --git a/N3OW/history/titles/k_wales.txt b/N3OW/history/titles/k_wales.txt index 41cd767e..07f44ea8 100644 --- a/N3OW/history/titles/k_wales.txt +++ b/N3OW/history/titles/k_wales.txt @@ -25,17 +25,22 @@ d_hereford = { } } -d_gwynedd = { - 2540.1.1 = { +k_gwynedd = { + 2535.1.1 = { + holder = britannia_lawrence_owain #Owain Lawrence + } +} + +d_gwynedd = { + 2535.1.1 = { holder = britannia_lawrence_owain #Owain Lawrence - liege = k_wales } } d_powys = { 2549.1.1 = { holder = britannia_montgomyrhy_fodorh #Fodorh Montgomyrhy - liege = k_wales + liege = k_gwynedd } } @@ -57,6 +62,6 @@ d_deheubarth = { c_cardiganshire = { 2549.1.1 = { holder = britannia_gwilym_sawyl #Sawyl Gwilym - liege = k_wales + liege = k_gwynedd } } \ No newline at end of file diff --git a/N3OW/localization/english/titles_l_english.yml b/N3OW/localization/english/titles_l_english.yml index dd7ef1f6..592927ad 100644 --- a/N3OW/localization/english/titles_l_english.yml +++ b/N3OW/localization/english/titles_l_english.yml @@ -24920,7 +24920,10 @@ k_sevillian_papacy: "Sevillian Papacy" k_sevillian_papacy_article: "the " k_sevillian_papacy_adj: "Sevillian" - + + k_gwynedd: "Gwynedd" + k_gwynedd_adj: "Venedotian" + #NEOW Dyanmic Titles #Numenorian Titles k_gondor: "Gondor" From 10c1f741f98505c64e1f2e4b3531ad853b1555ac Mon Sep 17 00:00:00 2001 From: trashb0at Date: Mon, 3 Nov 2025 08:40:02 -0500 Subject: [PATCH 02/20] Update NEOW_e_britannia.txt --- N3OW/history/characters/NEOW_e_britannia.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/N3OW/history/characters/NEOW_e_britannia.txt b/N3OW/history/characters/NEOW_e_britannia.txt index 2c072ff7..299aad5b 100644 --- a/N3OW/history/characters/NEOW_e_britannia.txt +++ b/N3OW/history/characters/NEOW_e_britannia.txt @@ -1113,7 +1113,7 @@ britannia_knwcks_jwhn = { britannia_leigh_iain = { name = "Iain" - dynasty = dynn_britannia_leigh + dynasty = dynn_britannia_stuart religion = "celtic" culture = gaelic trait = education_martial_4 From e9eb3536906cfc1bb5be08a20031422d922df3e0 Mon Sep 17 00:00:00 2001 From: trashb0at Date: Mon, 3 Nov 2025 09:39:38 -0500 Subject: [PATCH 03/20] small fixes --- N3OW/history/characters/NEOW_e_france.txt | 2 +- N3OW/history/provinces/e_iberia.txt | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/N3OW/history/characters/NEOW_e_france.txt b/N3OW/history/characters/NEOW_e_france.txt index abc9cf17..b3594bb0 100644 --- a/N3OW/history/characters/NEOW_e_france.txt +++ b/N3OW/history/characters/NEOW_e_france.txt @@ -773,7 +773,7 @@ france_malachi_djerassi = { name = "Malachi" dynasty = djerassi_dynasty religion = "congregationist" - culture = sephardi + culture = NEOW_sephardi trait = education_diplomacy_2 trait = content trait = ambitious diff --git a/N3OW/history/provinces/e_iberia.txt b/N3OW/history/provinces/e_iberia.txt index a9c35a2f..9ce782fe 100644 --- a/N3OW/history/provinces/e_iberia.txt +++ b/N3OW/history/provinces/e_iberia.txt @@ -1063,7 +1063,7 @@ 1869 = { culture = andorra religion = iberian - holding = city_holding + holding = church_holding special_building = fortress_andorra_01 } ###c_urgell From b735c08fb66c167275184e45a7d0ebdd9c0c812e Mon Sep 17 00:00:00 2001 From: trashb0at Date: Mon, 3 Nov 2025 10:03:57 -0500 Subject: [PATCH 04/20] moctzeuma coa --- .../coat_of_arms/NEOW_dynasties.txt | 81 +++++++++++++++++++ 1 file changed, 81 insertions(+) diff --git a/N3OW/common/coat_of_arms/coat_of_arms/NEOW_dynasties.txt b/N3OW/common/coat_of_arms/coat_of_arms/NEOW_dynasties.txt index 6f857d56..ffbf8b0f 100644 --- a/N3OW/common/coat_of_arms/coat_of_arms/NEOW_dynasties.txt +++ b/N3OW/common/coat_of_arms/coat_of_arms/NEOW_dynasties.txt @@ -4700,3 +4700,84 @@ masaryk_dynasty = { } } + +teruel_moctezuma_dynasty = { + pattern="pattern_vertical_split_01.dds" + color1=yellow + color2=blue_light + color3=red + colored_emblem={ + color1=white + texture="ce_byzantine_eagle.dds" + instance={ + position={ 0.720000 0.490000 } + scale={ 0.400000 0.400000 } + depth=1.010000 + rotation=230 + } + + } + + colored_emblem={ + color1=green + texture="ce_block_03.dds" + instance={ + position={ 0.540000 0.510000 } + scale={ 0.330000 1.000000 } + depth=5.010000 + rotation=89 + } + + } + + colored_emblem={ + color1=yellow + color2=yellow + texture="ce_crown.dds" + instance={ + position={ 0.720000 0.180000 } + scale={ 0.320000 0.320000 } + depth=2.010000 + } + + } + + colored_emblem={ + color1=black + color2=red + color3=white + texture="ce_eagle_small.dds" + instance={ + position={ 0.250000 0.450000 } + scale={ 0.500000 1.000000 } + depth=3.010000 + } + + } + + colored_emblem={ + color1=blue + color2=white + texture="ce_waves_03.dds" + instance={ + position={ 0.470000 0.510000 } + scale={ 0.400000 1.000000 } + depth=4.010000 + rotation=45 + } + + } + + colored_emblem={ + color1=rgb { 200 178 67 } + color2=white + color3=white + texture="ce_wolf_passant.dds" + instance={ + position={ 0.740000 0.740000 } + scale={ 0.400000 0.400000 } + } + + } + +} From eebbb7d32cd76ab6755ebe5d3fce961f0a050ebd Mon Sep 17 00:00:00 2001 From: Magpie490 Date: Mon, 3 Nov 2025 17:48:51 +0000 Subject: [PATCH 05/20] improved --- .../governments/00_government_types.txt | 17 +- .../subject_contracts/contracts/republic.txt | 249 ++++++++++++------ ...pt_celestial_industrial_administration.dds | 3 + ..._celestial_metropolitan_administration.dds | 3 + ...cept_celestial_military_administration.dds | 3 + ..._celestial_protectorate_administration.dds | 3 + ...cept_celestial_standard_administration.dds | 3 + .../icon_industrial_administration.dds | 3 + ...con_industrial_republic_administration.dds | 3 + .../icon_metropolitan_administration.dds | 3 + .../icon_military_administration.dds | 3 + .../icon_military_republic_administration.dds | 3 + .../icon_protectorate_administration.dds | 3 + .../icon_standard_administration.dds | 3 + .../icon_standard_republic_administration.dds | 3 + .../NEOW_religious_decisions_l_english.yml | 16 +- 16 files changed, 222 insertions(+), 99 deletions(-) create mode 100644 N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_industrial_administration.dds create mode 100644 N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_metropolitan_administration.dds create mode 100644 N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_military_administration.dds create mode 100644 N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_protectorate_administration.dds create mode 100644 N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_standard_administration.dds create mode 100644 N3OW/gfx/interface/icons/celestial_administration_types/icon_industrial_administration.dds create mode 100644 N3OW/gfx/interface/icons/celestial_administration_types/icon_industrial_republic_administration.dds create mode 100644 N3OW/gfx/interface/icons/celestial_administration_types/icon_metropolitan_administration.dds create mode 100644 N3OW/gfx/interface/icons/celestial_administration_types/icon_military_administration.dds create mode 100644 N3OW/gfx/interface/icons/celestial_administration_types/icon_military_republic_administration.dds create mode 100644 N3OW/gfx/interface/icons/celestial_administration_types/icon_protectorate_administration.dds create mode 100644 N3OW/gfx/interface/icons/celestial_administration_types/icon_standard_administration.dds create mode 100644 N3OW/gfx/interface/icons/celestial_administration_types/icon_standard_republic_administration.dds diff --git a/N3OW/common/governments/00_government_types.txt b/N3OW/common/governments/00_government_types.txt index c0215529..614d4d20 100644 --- a/N3OW/common/governments/00_government_types.txt +++ b/N3OW/common/governments/00_government_types.txt @@ -58,14 +58,7 @@ republic_government = { replace_gold_cost_by_treasury = yes admin_allows_holding_multiple_primary_tier_titles = yes } - - ai = { - arrange_marriage = no - use_goals = no - use_scripted_guis = no - perform_religious_reformation = no - use_legends = no - } + main_administrative_tier = county vassal_contract_group = republic_vassal @@ -77,6 +70,7 @@ republic_government = { government_is_settled government_uses_domain_limit government_uses_domicile_but_not_adventurer + government_has_house_blocs } mechanic_type = administrative @@ -427,9 +421,9 @@ administrative_government = { royal_court = top_liege domicile_type = estate - main_administrative_tier = duchy - min_appointment_tier = duchy - minimum_provincial_maa_tier = duchy + main_administrative_tier = county + min_appointment_tier = county + minimum_provincial_maa_tier = county fallback = 3 @@ -479,6 +473,7 @@ administrative_government = { government_uses_domicile_but_not_adventurer government_uses_domain_limit government_uses_admin_province_obligations + government_has_house_blocs } mechanic_type = administrative diff --git a/N3OW/common/subject_contracts/contracts/republic.txt b/N3OW/common/subject_contracts/contracts/republic.txt index 47f44a12..db498e1b 100644 --- a/N3OW/common/subject_contracts/contracts/republic.txt +++ b/N3OW/common/subject_contracts/contracts/republic.txt @@ -1,123 +1,198 @@ republic_government_obligations = { + display_mode = radiobutton + is_shown = { + scope:subject.primary_title.tier >= tier_county + } obligation_levels = { - default = { - levies = { - scope:liege = { + republic_administrative_province_standard = { + default = yes + position = { 0 0 } + icon = "gfx/interface/icons/celestial_administration_types/icon_standard_republic_administration.dds" + gui_tags = { civilian } + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:subject = { is_ai = yes } + } + add = 1 + + # Cautious AI should tend to have a minor bias towards the default if = { limit = { - scope:vassal = { - primary_title.tier >= tier_county - } - culture = { - has_cultural_parameter = republican_vassals_pay_more - } + scope:liege = { ai_has_cautious_personality = yes } } - value = { - add = 0.15 - # Add an extra with the right perk - if = { - limit = { - dynasty ?= { - has_dynasty_perk = fp2_urbanism_legacy_3 - } - } - add = 0.15 + add = 1 + } + } + } + ai_subject_desire = 0 + + score = 0 + color = { 0.7 0.7 0.7 1.0 } + + enable_title_maa = no + + flag = japan_administrative_province_standard + } + republic_administrative_province_trade = { + position = { 1 0 } + icon = "gfx/interface/icons/celestial_administration_types/icon_industrial_republic_administration.dds" + gui_tags = { civilian } + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:subject = { + is_ai = yes + OR = { + has_trait = education_stewardship + stewardship >= very_high_skill_rating } } } - else = { - value = { - add = 0.1 - # Add an extra with the right perk - if = { - limit = { - dynasty ?= { - has_dynasty_perk = fp2_urbanism_legacy_3 - } - } - add = 0.15 + add = 2 + + # Economical AI wants more of civic vassals + if = { + limit = { + scope:liege = { ai_has_builder_or_pious_builder_personality = yes } + } + add = 1 + } + } + } + ai_subject_desire = 0 + + score = 0 + color = { 0.2 0.2 0.7 1.0 } + + is_valid = { + trigger_if = { + limit = { exists = this } + # Only for direct vassals of the top liege + scope:liege.top_liege = this + } + # There can only be a limited number of industries at a time + custom_tooltip = { + text = japan_administrative_province_trade_amount_desc + OR = { + scope:liege = { + any_vassal = { + count < japan_administrative_province_trade_max_value + vassal_contract_has_flag = japan_administrative_province_trade + } + } + scope:subject = { + OR = { + vassal_contract_has_flag = japan_administrative_province_trade + any_sub_realm_county = { is_coastal_county = yes } # Is a coastal province } } } } } - tax = { - scope:liege = { - if = { - limit = { government_has_flag = government_is_tribal } - value = { - add = 0.05 - # Add an extra with the right perk - if = { - limit = { - dynasty ?= { - has_dynasty_perk = fp2_urbanism_legacy_3 - } + tax_factor = 0.25 + enable_title_maa = no + + subject_modifier = { + development_growth_factor = 0.15 + build_gold_cost = -0.1 + build_speed = -0.2 + } + + flag = admin_ai_is_builder + flag = japan_administrative_province_trade + flag = obligation_high_taxes + } + republic_administrative_province_military = { + position = { 0 1 } + icon = "gfx/interface/icons/celestial_administration_types/icon_military_republic_administration.dds" + gui_tags = { military } + + ai_liege_desire = { + value = 0 + if = { + limit = { + scope:subject = { + is_ai = yes + OR = { + has_trait = education_martial + martial >= very_high_skill_rating + primary_title = { + any_owned_title_maa_regiment = { count >= 3 } + } + any_sub_realm_county = { # Is a border province + any_neighboring_county = { holder.top_liege != scope:subject.top_liege } } - add = 0.15 } } } - else_if = { + add = 2 + + # Preference for vassals along the border + if = { limit = { scope:subject = { - primary_title.tier >= tier_county - } - culture = { - has_cultural_parameter = republican_vassals_pay_more - } - } - value = { - add = 0.3 - # Add an extra with the right perk - - if = { - limit = { - dynasty ?= { - has_dynasty_perk = fp2_urbanism_legacy_3 - } + any_sub_realm_county = { + any_neighboring_county = { holder.top_liege != scope:subject.top_liege } } - add = 0.15 } } + add = 3 } - else = { - value = { - add = 0.2 - # Add an extra with the right perk - - if = { - limit = { - dynasty ?= { - has_dynasty_perk = fp2_urbanism_legacy_3 - } - } - add = 0.15 - } + + # Warlike AI wants more military vassals + if = { + limit = { + scope:liege = { ai_has_warlike_personality = yes } } + add = 1 } } } - contribution_desc = { - first_valid = { - triggered_desc = { - trigger = { scope:liege = { government_has_flag = government_is_tribal } } - desc = "tribal_liege_inefficiency" - } - triggered_desc = { - trigger = { - scope:subject = { - primary_title.tier >= tier_county - } - scope:liege.culture = { - has_cultural_parameter = republican_vassals_pay_more + ai_subject_desire = 0 + + score = 0 + color = { 0.7 0.2 0.2 1.0 } + + is_valid = { + trigger_if = { + limit = { exists = this } + # Only for direct vassals of the top liege + scope:liege.top_liege = this + } + # There can only be a limited number of militaries at a time + custom_tooltip = { + text = japan_administrative_province_military_amount_desc + OR = { + scope:liege = { + any_vassal = { + count < japan_administrative_province_military_max_value + vassal_contract_has_flag = japan_administrative_province_military } } - desc = "republican_vassals_pay_more_parameter" + scope:subject = { vassal_contract_has_flag = japan_administrative_province_military } } } } + + levies_factor = 0.5 + + subject_modifier = { + development_growth_factor = -0.2 + monthly_county_control_growth_factor = 0.1 + fort_level = 1 + defender_advantage = 2 + men_at_arms_maintenance = -0.15 + } + + flag = japan_administrative_province_military + flag = japan_administrative_military_appointment + flag = obligation_high_levies } } } diff --git a/N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_industrial_administration.dds b/N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_industrial_administration.dds new file mode 100644 index 00000000..20a018f8 --- /dev/null +++ b/N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_industrial_administration.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:806fbd4370af6953a5847cbe1e111194770e960670a936f7991a6d19041af202 +size 16512 diff --git a/N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_metropolitan_administration.dds b/N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_metropolitan_administration.dds new file mode 100644 index 00000000..cd782f4f --- /dev/null +++ b/N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_metropolitan_administration.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:217ec9c54a204b34956598d802bf09bdc0d2b22f33e5643934826dd30edc090a +size 16512 diff --git a/N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_military_administration.dds b/N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_military_administration.dds new file mode 100644 index 00000000..fc3b9827 --- /dev/null +++ b/N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_military_administration.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:56b063fb09246e49686cc8b24c909c3c2e86a939b60eb4c9eeeb930056be68fc +size 16512 diff --git a/N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_protectorate_administration.dds b/N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_protectorate_administration.dds new file mode 100644 index 00000000..dff4aee8 --- /dev/null +++ b/N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_protectorate_administration.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:965427ef65ca6a13589b6a325354806401816e9776a4b10c3ee8e819817bb8d4 +size 16512 diff --git a/N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_standard_administration.dds b/N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_standard_administration.dds new file mode 100644 index 00000000..91ea7e83 --- /dev/null +++ b/N3OW/gfx/interface/icons/celestial_administration_types/icon_game_concept_celestial_standard_administration.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fbc411470613d364c38ed1e09b98dabcac219e5c4e0422616d888fa6f2062330 +size 16512 diff --git a/N3OW/gfx/interface/icons/celestial_administration_types/icon_industrial_administration.dds b/N3OW/gfx/interface/icons/celestial_administration_types/icon_industrial_administration.dds new file mode 100644 index 00000000..efc36f65 --- /dev/null +++ b/N3OW/gfx/interface/icons/celestial_administration_types/icon_industrial_administration.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:26f485bc5a013191e49a00a6debb9da9d58f18a1fa09c6456a26b5cef73e350c +size 360128 diff --git a/N3OW/gfx/interface/icons/celestial_administration_types/icon_industrial_republic_administration.dds b/N3OW/gfx/interface/icons/celestial_administration_types/icon_industrial_republic_administration.dds new file mode 100644 index 00000000..3ac4bc10 --- /dev/null +++ b/N3OW/gfx/interface/icons/celestial_administration_types/icon_industrial_republic_administration.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc826e4306dc14be970bcda65d70905dad5e7a05800f7f38fa6ac83251f0c47c +size 360128 diff --git a/N3OW/gfx/interface/icons/celestial_administration_types/icon_metropolitan_administration.dds b/N3OW/gfx/interface/icons/celestial_administration_types/icon_metropolitan_administration.dds new file mode 100644 index 00000000..8b30010f --- /dev/null +++ b/N3OW/gfx/interface/icons/celestial_administration_types/icon_metropolitan_administration.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9cdb0140a9d0242956019407fe2e221f8eef6a2f9c560ad65adc015a3296390a +size 360128 diff --git a/N3OW/gfx/interface/icons/celestial_administration_types/icon_military_administration.dds b/N3OW/gfx/interface/icons/celestial_administration_types/icon_military_administration.dds new file mode 100644 index 00000000..cfbdd1bd --- /dev/null +++ b/N3OW/gfx/interface/icons/celestial_administration_types/icon_military_administration.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:16e2cffae95db5f7848933cd006dfbc7c17ff1dcb195a4056ea4311ad592ca2c +size 360128 diff --git a/N3OW/gfx/interface/icons/celestial_administration_types/icon_military_republic_administration.dds b/N3OW/gfx/interface/icons/celestial_administration_types/icon_military_republic_administration.dds new file mode 100644 index 00000000..40cb066a --- /dev/null +++ b/N3OW/gfx/interface/icons/celestial_administration_types/icon_military_republic_administration.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:98e616a298ed4c9a6885af311955e4dbd9fbd21291601d55981d62480c345cdd +size 360128 diff --git a/N3OW/gfx/interface/icons/celestial_administration_types/icon_protectorate_administration.dds b/N3OW/gfx/interface/icons/celestial_administration_types/icon_protectorate_administration.dds new file mode 100644 index 00000000..20afad8e --- /dev/null +++ b/N3OW/gfx/interface/icons/celestial_administration_types/icon_protectorate_administration.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d0c1c68ee89b5427bdc0f64581d186c8115f78dbd111ce0989de808621b2ddcb +size 360128 diff --git a/N3OW/gfx/interface/icons/celestial_administration_types/icon_standard_administration.dds b/N3OW/gfx/interface/icons/celestial_administration_types/icon_standard_administration.dds new file mode 100644 index 00000000..3c05182d --- /dev/null +++ b/N3OW/gfx/interface/icons/celestial_administration_types/icon_standard_administration.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:34ceffad9a8a515276c747622905174b6335c1b98b2d9e3af66c2be86229ceec +size 360128 diff --git a/N3OW/gfx/interface/icons/celestial_administration_types/icon_standard_republic_administration.dds b/N3OW/gfx/interface/icons/celestial_administration_types/icon_standard_republic_administration.dds new file mode 100644 index 00000000..695d034c --- /dev/null +++ b/N3OW/gfx/interface/icons/celestial_administration_types/icon_standard_republic_administration.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:37512293d1074787b6bf741e132edd29b30dc49bd14c4fa36578ba7dd8dd5080 +size 360128 diff --git a/N3OW/localization/english/replace/event_localization/religion_events/NEOW_religious_decisions_l_english.yml b/N3OW/localization/english/replace/event_localization/religion_events/NEOW_religious_decisions_l_english.yml index 45187305..fcdf7376 100644 --- a/N3OW/localization/english/replace/event_localization/religion_events/NEOW_religious_decisions_l_english.yml +++ b/N3OW/localization/english/replace/event_localization/religion_events/NEOW_religious_decisions_l_english.yml @@ -10,4 +10,18 @@ NEOW_religious_decision.0001.nautiluses:0 "Nautiluses, Masters of the Seas!" NEOW_religious_decision.0001.aerosaurs:0 "Aerosaurs, Catchers of Stars!" NEOW_religious_decision.0001.optout:0 "$religious_decision.0101.flavor$" - NEOW_religious_decision.0001.flavor:0 "$religious_decision.0101.flavor$" \ No newline at end of file + NEOW_religious_decision.0001.flavor:0 "$religious_decision.0101.flavor$" + republic_administrative_province_standard: "@government_type_republic! Standard Administration" + republic_administrative_province_standard_short: "Standard" + republic_administrative_province_standard_text_icon: "@government_type_republic!" + republic_administrative_province_standard_desc: "#low A civil type that attends to the everyday needs of the government and the local inhabitants#!" + republic_administrative_province_trade: "@government_type_republic! Industrial Administration" + republic_administrative_province_trade_short: "Industrial" + republic_administrative_province_trade_text_icon: "@government_type_republic!" + republic_administrative_province_trade_desc: "#low A civil administration that focuses on maritime commerce and long-term development.#!" + republic_administrative_province_trade_amount_desc: "$republic_administrative_province_trade_short$ limit reached" + republic_administrative_province_military: "@government_type_republic! Military Administration" + republic_administrative_province_military_short: "Military" + republic_administrative_province_military_text_icon: "@government_type_republic!" + republic_administrative_province_military_desc: "#low A military administration focused on fortification and recruitment. Providing the realm with the means of protecting itself, or expanding its borders when necessary.#!" + republic_administrative_province_military_amount_desc: "$republic_administrative_province_military_short$ limit reached" \ No newline at end of file From f7cdfc8d785fac406a1de999b4b04cedc30791ee Mon Sep 17 00:00:00 2001 From: trashb0at Date: Mon, 3 Nov 2025 13:18:23 -0500 Subject: [PATCH 06/20] quick test --- N3OW/map_data/definition.csv | 8 ++++---- N3OW/map_data/provinces.png | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/N3OW/map_data/definition.csv b/N3OW/map_data/definition.csv index 1d290868..1c487ae2 100644 --- a/N3OW/map_data/definition.csv +++ b/N3OW/map_data/definition.csv @@ -13158,10 +13158,10 @@ 13157;71;68;47;b_youzhou_yanen_northeast;x; 13158;58;31;244;;x; 13159;59;31;248;b_xiangyin;x; -13160;157;250;98;;x; -13161;116;193;216;;x; -13162;157;2;193;;x; -13163;51;184;209;;x; +13160;52;101;170;Dogger Lagoon;x; +13161;8;101;229;Dogger Lakes;x; +13162;6;111;255;Cleaver Bank;x; +13163;61;120;203;Outer Silver Pit;x; 13164;107;127;7;;x; 13165;63;29;90;;x; 13166;252;108;237;;x; diff --git a/N3OW/map_data/provinces.png b/N3OW/map_data/provinces.png index dd6ad536..5f49ec11 100644 --- a/N3OW/map_data/provinces.png +++ b/N3OW/map_data/provinces.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7a991179cf10a43a23da9055c098be5d20099e6a3cc082d8b53d631059b4e175 -size 127607386 +oid sha256:ff560b72955624e117db4bfd0e3104bd142ca1b955c7915b841a8a74d8dbf97f +size 2592158 From a7ba3a99ad748c86e44be61e3542a4095165442d Mon Sep 17 00:00:00 2001 From: trashb0at Date: Mon, 3 Nov 2025 14:47:00 -0500 Subject: [PATCH 07/20] doggyland --- N3OW/map_data/default.map | 11 ++++++++++- N3OW/map_data/heightmap.heightmap | 4 ++-- N3OW/map_data/heightmap.png | 4 ++-- N3OW/map_data/indirection_heightmap.png | 4 ++-- N3OW/map_data/nodes.dat | Bin 44739232 -> 44739232 bytes N3OW/map_data/packed_heightmap.png | 4 ++-- N3OW/map_data/provinces.png | 4 ++-- 7 files changed, 20 insertions(+), 11 deletions(-) diff --git a/N3OW/map_data/default.map b/N3OW/map_data/default.map index 3aa52f3e..149d2777 100644 --- a/N3OW/map_data/default.map +++ b/N3OW/map_data/default.map @@ -80,6 +80,12 @@ sea_zones = RANGE { 12831 12834 } sea_zones = LIST { 944 } sea_zones = LIST { 8623 8624 8625 } +#NEOW + +#European Seas + +sea_zones = LIST { 13160 13162 13163 } + ############### # MAJOR RIVERS ############### @@ -163,6 +169,9 @@ lakes = RANGE { 11249 11250 } #Lakes in Sumatra lakes = LIST { 12551 } #Lakes in Japan lakes = LIST { 12948 13158 } # Lakes in east China +#NEOW +lakes = LIST { 13161 } # Dogger Lakes + ##################### # IMPASSABLE TERRAIN ##################### @@ -308,7 +317,7 @@ impassable_mountains = RANGE { 12858 12862 } impassable_mountains = RANGE { 12864 12878 } impassable_mountains = RANGE { 12520 12524 } -impassable_mountains = RANGE { 13160 13269 } +impassable_mountains = RANGE { 13164 13269 } impassable_mountains = LIST { 10582 10586 10605 10607 10612 10648 } diff --git a/N3OW/map_data/heightmap.heightmap b/N3OW/map_data/heightmap.heightmap index 639a5c66..3c625af6 100755 --- a/N3OW/map_data/heightmap.heightmap +++ b/N3OW/map_data/heightmap.heightmap @@ -3,6 +3,6 @@ indirection_file="map_data/indirection_heightmap.png" original_heightmap_size={ 18432 9216 } tile_size=65 should_wrap_x=no -level_offsets={ { 0 0 } { 0 1332 } { 0 3064 } { 0 3650 } { 0 3825 } } +level_offsets={ { 0 0 } { 0 1722 } { 0 2992 } { 0 3578 } { 0 3762 } } max_compress_level=4 -empty_tile_offset={ 242 40 } +empty_tile_offset={ 197 42 } diff --git a/N3OW/map_data/heightmap.png b/N3OW/map_data/heightmap.png index 27336587..2cd3803f 100755 --- a/N3OW/map_data/heightmap.png +++ b/N3OW/map_data/heightmap.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:630afb17d02857b0d00f27a5272305bd47aec6c54935040820ec06dad41f3750 -size 122340563 +oid sha256:86aa5e8d453e0a201c97a8533289f3b6b22e4fa9c345417b9cae5ec908198194 +size 122405083 diff --git a/N3OW/map_data/indirection_heightmap.png b/N3OW/map_data/indirection_heightmap.png index 61e46241..d4b4aa8b 100755 --- a/N3OW/map_data/indirection_heightmap.png +++ b/N3OW/map_data/indirection_heightmap.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0b64f7dbe98fd7c3bf2009b2152c1338b76e83aaacad2d50c0fbe3eb7c9b2d18 -size 40328 +oid sha256:a635fc0b36c8ef248c8f6fd1068fa2015000c082b53b93c88279216bdcfd9d68 +size 41135 diff --git a/N3OW/map_data/nodes.dat b/N3OW/map_data/nodes.dat index 52a6937117f728ecb7c1d5a3467c8ed65cdccdc8..510a268672bc1b370ecd236f59034ce9d753bf48 100755 GIT binary patch delta 281174 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�}G&_1NRNw{*SKffRCd1 z{=0j3xs=p#pld<^SS0q}_&X}-nb82(4SFIsAad0==@p$1&C-~FxwR#Zb!DPup1 z@=u}s?5A>D%ksCxXBE=nlT5*hNE9?AlT1%5i5J5_L@=C))Zj;@$qEtqv(y(v7`sxG zpBGZ_ym(TwQT=KH&H3aB5}^j)7O9z5m(5e83}F=`>r5 z@LMImyMaCbX|}|6Q^euWH0yK;av-Z#Imwb{r-R9xq@$29SVYxL!zRLJDc(*?g2yEb z8e7!)9*107l{cF@Imj;II@18aV_5QZ=&v882FD*ay^K4SK15O91_`T{X{yxTvAxYJ zzL&)pQB;Etr&?(6c8FN8eAi*$KIyb5WEe|j8Va>8n{W9jo@@#p6;5GzeNWF%ikibq zpugrIEX6_JU&5bY!vsA6AsC5=H2GIxb%Ga!umxFEyC~Nnq(3t_cLr{sb!bx5UY}Z-J~}e(ejW^%Y1GM zG+(?A%-9%2ivdsIT5qlJJ!rXKhqpssO{wHtN*yI1#rVsFWWbHpE>Xqd(FME2&y}ym zjlOuv386#i(_u3)EMezFIXtZ=qDHJV!(zNQtHD(V}ThxqCnii^T*et%R>T9QB zV>sILUQ`r+RII^+NIUUhHHUwW?etl;28{BVj$>c_4$=KK65W($nY7qP!*+t%Cb%<+!1o1XJ^kiG$mU)lCKd<*4(vbeI=SIA3C zgLKU0vxfu+ZIyWV*H(Jfshu>T&bJJ-(-hyBlkqC>Z59JQPNoIY2A=;oYzOCJ&Iad& z_qZq;6MromRbA`0IC@oRyC@V+EvBJ86E;?1wSA(TENs4Q6=v?^Vqbnf+}}W@R7kos z^+s|J9_krN!ib0t{^vOr?|_r@`SNE+EH!Irv)ve!>xAQ{L0f#KLI=<{Qm=b|zzH*9 zy_?T%L+eiY4fwIRZinOjZt)?I^_ET*QA9Yf9si_l8e}srj<$uaMZy!Ikh*x99BPxt zML|SRK}5vsv1AZ3idU^dhZD?z7e;$$D1JV>t+-7mq8M<_n!p^v6@Q0 zZ)8o?vMia%*2{~ca;DWVH^wK3Y7%sq8VWwUxv1^!~ey1LrOI|5 zqQ`7>j;yVK=IVt}^$lX?*{&`Dv6M-9ig*3lHkv+%PWmW^k!zehYr>DdJHccPW;(dCk_C)FY7`!5(Lmg3>|ELZNg4p2G8}fm!+(J2~aJU(XeY zrxpKgJl8O6%&oLJdWgB~%yC;=YfsH7D3E-@)*{V%JNfTa>|+K0*jn6oPWz#gu>i>E zJgK6fR*FeJ)O&=lHAh&h3(le@cwcj|jTZQ!TV@r2pWyjnh?j+6tiDzhvuJ1Q!1jM| z+Cht+Tv1NLWOk^HroD-R8yxGcw*r;^y`FnU2a<$`q+oMzD&2tp97R33NGw8CUS-vy zydKl$<1NRPR%6lB7s9@hl}hqo*0nq`#nC{iN# zeJpFc_tYbw^981a%PLuzb!|fpoT1sm>BwFJvI>sugxQ%!gF}Ke1BJcIjzr40Tepkz zf#m%_L6qz^OA{mn_>;3*d=Mg8D}aKIMJoyhu(ftM-3J5O3=*&@;)B4nSucr_ZPCfT zKbFMyAz?fS6oV)+;0PBe)5-gTEreEQeNTu_08gDi(8D1&L^u$XJ&KfYf+S;ss`rL=K%wrO0 z&Nfzaj02a8A9xt6HJv&`N~z7v63#h?`Ft~-|ts+c21!GTW z8#2>DHc2h}G*eE4Hh3qIjz-#Y2JZH145oA%Y5A6(@iZP8!x&4+lB!guJJ#&IQKJ+ISz zC7lN1aUq9(g!LkacaLaMlwOeTPbBMdk6&NsP<{=b8@`*_+sUcm*!X0U%#p%IP}YeR zw38`L5gXG^PNVmtb~5=YY>p@P-_1D#SBJ)SvV)EY183XIE0l=6QE-6vz9OUrSU0)5 zHHspsSj|r(Zc!j`q)|6 zjI_UijB#xHopKB7G_f}t>?Iu5$X{9Cr}QHV1KV+Ji5zZp0_>s7iQ)S=U6(OzkCCfH z9utY|VZN63p+Lh5V-G5?sZlJql4gH)^gm6u8}KbUa~m?2c6-ftFyx$r@*8l0pMyNd zi#3k&_5!|w^0PO}WH0)~nKC&YLiKef`4_w;zJnwS$%uUnB%*6mk5v6E1@tC+o5`@g&SZ~R&mWiN9nL-=3eI8`FJ%n_g z92OhinWD~C9EBBTjl3m%D+&=R1ZbsYa-y|L`V+15ci_k}`B6n2%!<~?h1MBflE{AS znKkkg2tD<7V-$9c)}lMHq_y%AF^{cV3srZX)zd4Louk)mW`9$@Q)%=c-H`;(*-n@_ z_3XWT%#>0oOs2_?4NpbEFD*K-$~WaZ9PyS{6`BQ=@RV>*y8NbGg)8eGNuUFPF6^0g z@|O^yrEt9Amt5UvnAOzEd5Bt7Un}3)a*OZmlkxt| zw2wEUtDcnzaqz6!?Z0M4>*Ydm7pq(^my08reFJ`ZSkVSlW+fX-uMMnn1J@J>Qzo9@ z3YEiciP-iHvKyMAP2%&7o10cI?D7UauZrh0Buy*~&$VY!q@YtgJ)TzI#*%~$+bFB; zvA?NI==M3rpNEj}kS=Xi$PupR8rcmoQGA(f^G5kA1iGr+B&ULcSCYxMZnThwT(dAo z-z2MW_I^C+j^`VF?}-&?*qwT}qiLd<<7y!vV)o5)Vavh&anY3Tf;be?;MDn3)0AvM z^4DzaX7C`uD(SU^t;4HjY4M;F1^#yCQe4Dn(f4VeLnf_tm$q+U=a9_%*Ptl(2mY|A zy+{_TCnMZib?zznVo=nKf&PcAI}se|qF(k3P4LEEPqL!7UZSH z4*qb{H`ouGqUWWS((=CF9s!b&Oe|ny>D881(yKjN7m!m;yFC%Co_;&nIs9%ts zYj%!)w`caPa%#EXJ9_Yo?F;;gmUj>sjs0B+Q(oOW};@0stgbz4CY3)F9w?;wBg zJuxxkkHhBSHuTGQ9V7M23|=C|C41@Qi@s?RWUyinE8Q;B$w23rGechSJxBpbE4~d> zZ^x_`iu}1W>camEar>Vigvyc&4`*72Y@HTo;tzwGq-QfE``UmiTbvWfW z;60tKMj!P(DV+fPybfPr;BQmlwq|%}1}&LBMMp4p)<{ukbwRi^R`fQM;$6Mzh+zzS z=56`;wvGN9`u*g~Hx;7(hN&>+X@{qxU_@$lUxZBeT@Ku`L%!WCPGsxelhc*A2YTo8%!+nHtJwmTyMbN2#MZr!_i0v7uh-Z) zdYPDg4=DJNjopJ^ds*ck`5gpYEBZkGpCeoN)zK}d#wU_vzsCxiKaf?|yFw-(e7j2g z_(H;cK6zP(&BB+?etTB=s&qFwC{X+nLXDa=(i$h(6Fed@ z=ZEry))en8vh88q2Z5^vGP3plP3tgCuP>7avvnVWe-E&Fyjp&K^NfeC`1+aSVbC{S zCzn=bnhuWjJ;UrDA$2)((d!mggqOE`(9mUyKh{)i5=IzS!K<1w9qjgR(dk`b{x#+- zh{a4DDUqOQ)hz$(Y#q?FY(0?NAbcixI2ptwM%P&rd{a_{W!DcV|((bDV!PUB;SmTql6&)DjeSdAyiRwtg`U zF~bW=hZ6#=fb=d02LAJT3x9i4JDdO*T7&Xy@XH0~uBScPmrWwXYq*}D#77%N%18H{ zFr@sExqg-6=AGE5Cm^BK5=47bZXit@C#^#JwGTp|4I>l?kYYCp>*tJ zS8t{(50b)?(5zqUaFQ2}zjr~mzMF2uw7{D$3;_#kb%7*-(+D`|i5)n7Qi?y{l#V7^ z5QIQ0;8@??Y;3)pI!NeiDM^g@2dd^KsOPvKO0~iG!B%^3rX9Kj3U*Rqj0sdz4gO)9 zoS_5%-S3-EW6Dl;xL)oo&S&-ph*WRpYJf=J-){~pqTf+$EWLhZmGt?1AI8?3VVMN#92zj>b{T~W}X=U{ej zKl;&q{g#xNku1V|^};(MNaJlmkG=!e|9PFitK}t3RyG9@q`@gVBZU`rnpYyKq5-G; zS~1V|*w}CTXK9GuwE+>L=LY51;D@B1Em`Gf==NbZedy@oUus$p4nL%)qiq09+aSmz zt4A{NQFe}A_b~hCc&%lw&(VJp{Ruz0B>TOO$ zIyr#UPp~3-9cE+c^(w2RR|8u|ub)^wy=Jm=^um(vAYPv_7rp$fh+ccySbBZKDi4C@ z*8YdtI{HUfUu#xR|5)LTVCN{sjkrV)zr%dznd?jZ&SypRyWDe@jiukyStWj#-`=xe z;73WV{Uc0wV5~Is8nH_gh;i<@H_#0ok6Jg`1kVk+;;aQ+Yw-L|oo+xpN$(V4KNwS@ zD_+X4!PlsZihf9a(Vt}t&cDgPZ!XC7tYWT1AZQ;eqSt9QmR>zrCB2rhb@Y0T)zhm5 zJ4dgNnf)ugzF{tU?O{dqf-0cbt*jC+@3RAG)%=>Y4Bf7+E`8K=TBX)?>UG1iJ1!yi z!hO(CO;Hw_h>lX1vU5PwGW>>qd$Rl$78Cm13>^)%sfOmE!mpU?FbdtpituU~e`CU< z4*wPNam@3p_0&6>kPcL5vC6}k+}#l9?xKI>4AF=AA@^!YMoi6(hNS&ad;J?{; zR4%js88NBz(8wqJqs;$cE{z4oG5ID4*t%oD^8u?rhT837uH$m56j0cp<8p?$fQ>ya z_k`iVvQ7tfRU_KstB7Z0K@iE~vKrOS)YU_`fxT|}HgMs%e2ZkC7&lkVGQH_bib zQX{^T8&PeMzGc?|Cm$*D?;`i!VnhE@GL6ii@?)6&Tc91xT;F18@eUh{Uo98;VA$i; zY)2;Qv~Ou5=|cP8*gDFT#_GQXWeWnX)AHM*7#2A5o&13WKP3^}BrdT1M{IF9DB$UZ zQ&zv%^e!g*_kw$89JHgk;*cqqsv%zIh&6%`s1l6popksg1v(-+o>qf;d24I zk;C&XBN8#)_5Dv=18sUx*AtXqgO3nf$0vunXUIrESw2qpV%Njgf7~>of z@w(4N0i=W<1EuGP4O_(}v5y241lrz$3O#}Sx?kj4$Mr%{?AIN-_|KVlV{~~AruM(e zwd%X(gpMEXSm%3RKe&Q~;g1$q9!>!c?phA$`HydaWR-*wrLdy;O>S^>HAiMQeEOw- zctq<6L5+c{{_k>`D@S@R!|}#6-xuP`pyo53QA?X}4K$@Cke%%x;x8CzF0v!PgIZB! zxqsjofVn&tX>wTCQKe-^*>_D zFynY%=gLz}T-hV;O_|epJpz&ch?&CM;Ps!f>ewSb8sGJnbpJP|f1%`-LpUx#I0T`x z#RDT!{FBUkAxIAf;Tpp0pKL0Y$p@;F?mMdSrwXuP91agd`GId^u*)f7XrC99-+Fyw1xCD7Q{*nR;HJf$#b!=mBk2@U!HGoFI73sGa@)Efu9tKm-=u9O9S^?)w z=j`PtKk|JmwT1K{3dWR+I3|0M75xQuA_(*45AUwS(2n4gJJWgx>i&|;M4Z>B$_L_G z`9C!+1<^*2Cb1fUr=lQJ>L}9|=wj0^=tpD0_P^x@*E3Ql8|@ml)~q&lN+{R;Jl9}J zwb7|ehO`Zo9%ZGMD}_Q)z9|hwYd*}jM=71e+t|4%C0#th>^7xPw6G$ZlAdE9 zbmzhDVBmX@+k138v>?$`#*W<8{c$5WB76)3gV|D>GG2brzw6~B{~Hp>J<$W+`pVO| zt-kAD+5RgM_LoMmZL-o?Ol0R|Wtr5<#uh0`hWI91r=Vzw)hkN5Ew49SEPI{;(s%+x z?MjT<{#4e_`Lsi~L3#pwd5letRoty^Nm!@S`Bl2~DeMe0b?Rsw&}tb-V4ub+!(D4z zPU@NaL>K>HGa?`~ZU520qNNMV%<&zZEcyM?|Il~RS!tZoNgmyYK1G=Lr$BX_;&#xP z*r#oj;n;UBansiQ|D+VO2{wg#WGdVyd`za2hP}a8GoM`jq^~P3VHP}Z=<-ElfhJ!w z!=Gr8VZP!^Hp7ZkNP%OoGLBH^W-0vGZBUldi_TFN;kVhoChMl&DJN(8f41C!Rq=Oh zdj~XCI6Kz?{Q8U8vz6sy6*{Nawc)xo<=NChSD`!wzJAxcc-r8dN_$iX!&-UkHSE+qV(PA=1*-FuaiY@AQkSyplT^RQY(*}X)L9vfz{W$O zNvJR4!gRqC8JOHzag#aIXg4i_Go(+D|FmAM&wyWJcD`jr>|2-5Up--I?4lGyzTQ*l zd_yyHd0DUQ!Ju3hT9L89M?xc*F^rXVh3q0kmYrfCl?gXN8s3E?P*-JeZdv<@H+J;R z(_&Nw6|Zq^4eX5&h)fUGMiyP&lq&33+uEP)Zuf7cy@M5o74_k!;&BkuqMNA&Zl(DF z+bqT+@etr~c<9LeN+LOVWQs9pOT+Mn@@sIjbgIqA@A_&q@JAPjO&&4F7sYd(@UWWR3i&}Hs`biEzE=F}8ZR5xM zmijvIul;ep*GD1Ct>@4e`Sbuq4)?|a4T+-Qa0z%!S+<) zF@S&6D@}#>;Dz6!eCK|+a;X17Yj-%{$08!Y^~zv*Od`2{*?0ktz~t){w*@V`C~NNN zuKoq4dog1$HuFvaizb^Ftp0dhzv??ITnD(Zv2_A)t#{^I_D4Ti9u7-~UFc_z=weFw zHF$fe#MUt2E`PKsIR7^WewJOVL|JN436&KTE8VTj#g*tz`va4U6?Y`DK8gYkX$u+{ z!`BT3Q(|$Mw%|!cfTN*GXT>%n&*Yyh9fVo>D0uxopyY*#V**8E(E;QMeJRZ6R?V1= z{auEUrBz_vI3+zA2R`-Fm3OQ^`$!Dp*fTQ})&?Cl_n!G<{&RgS=`?N3oE`U%hZWCM zu=i=1ppwh_N77jg`ewb_l=2}wBz5g`zFwE(&kH$aA@wtY!#A|YQQk}pK-UNAXDX=_ zoBgiV@9k0%8RTa)@t=ARqZTy~7G#pYY=jsG_(}f4n6r1!+KO&O{Penmv zVvBAFF6SGmS=0Dg;{qj5KI)wrQGq-t2X>Rm3zeH%S-iPzRqtK=(|BD*&jN)uWn5%F z<6%_`l@%GZ*{rp&VVq2<`t!m*OHdHDe33E*vak*}9qw?b=UaBhgkAsAe`1YNegpngEG-BOa~~}~$^Q__ z&)%q1vctUiIvstqQW@N;N1N}aKkhpmVq8Y(c=7^YWNm9!T&1M6DUSK8HDZ-{Lp{bQ z+!?%Jr&ORTTg0C)%_0`rx>R$ejg)o(+(X=UUL0c?Iy}G40`+KpH zTuu%CJ#hekKO?DD(R|BGDJ|~(#g`y{gYP4CvZ!4R__XAw`mz5=F6GyXqR{Q64mBT; zZ-b=AfcJNjm*^xbufg*W-KUgsW<@%mPTk~$gpG)bsVtc(CH5ZXDJciiD}9fPk3*oh zv&s0V{$*O#g0AqI60%uvK8S$txXXlQAp-B6%M9cDVDso`GW~AQyrBXG&nfFEQdFl_ z{aY<<5>3tvft27#Jfsb7Z%MJ*49^k`PC__BhhIviGa=17)G#O~Suo(=WF)=&jc*mN zYlF@V%FpqWOYAE#bQBjVrG&sB;F)-GE4iK{$j}jx6l;nNgINpm*jd2g#*q(Iz<_T| zEcxguUmk~F)?1tMlOAC|Rx9s;3G=e35~2R4q&AF7Tx?ATXB8aBi#iP?TpEpg!_GTB z2bTESakydHOZheUEfM2WVQ}cl;_%;tB#z^64JMSOk%D-WCpa7=G8zHrt${(yl;IZW z+TrcV4tk3?1M={$E}OpwQQDJ77}MM^_M&6I#Jh}7xw7IlU%t>0?bjLZ=qoWf&$n!g zBTMM^a3TMZ$`+Qx+o6%8TXVoi}^^QBNLgKe~Wcf;jyO8NUxB$GY zR6)TVNj|q@me0-UzX*qim-(Dzal+JDhpx_g>R#cqj}r-0g-}!7ODI-T?DHc3YJKv| zA@98$*Hp|tRw-39)$h}W%$TpuR)(x3sQuee8-BpE{e_yZ=5<_>MVl(2jJ=E;MlMqh zDHC|GppL6?LxAE2V>+ae;+!R9qK>cXt?>^sjn|8MH<`leOcUM&JeO6!rYtVbx7?6S zUS`X2UydN`*11WUCh|;ugil*gsL_BFzz$4Deb^;Rrf|4wx!Xxv!?0RpQ(nh>;Rjxu z7fUi`8%0*Up)vVI9-maJ3CTHAjxmAI=S^Zjd0mvDx@oE`a0x$Z`~*Rd>e zEiR`yrWe#erjNX!4pL&?yGy6_E=?#+5DsnAPeTqh!6#Y{cDU}dY5qRpXCs6YX}DVH zb0rTe<;u^MWvy`+insc_-9M9VPhIh>j+`>jMs-+uO~>qbU8e-!XFWK649>e*!Ba^f5}n1JHhOFSKb`-{|Dv)Z5;sZq38Z|b z!A@(+Dm&Rp|4cUmSA4HGzm1S`#O=kC z_N3H92mr-YQ zydn0@+28xK!p|TkY7b0{bL`}#QNF4EXyor)M_!t z-FK+~Q{MeJNnRRAcG;g1bLd9aE|#`dLAC1@rV1G-ZgVpA8HAn%yezX%pi#9qkaycA zJ016r6{ygax<+V2Rip>Xr@ew0^Zxw=udwPB$pB1a!!M>N`-6!lf0=M2^6$ZjoM%_1 z@2qojJJ|!dogDwnf>=EoL)!Ko-K(7S*y4GD`q5J z0DJ`GIgwRwb*zU8>})4xniIHXn}fw+E9}*?pE{=Fc(JZp6(7Ee1o?E?ircjz8p{tVZIh6mmVTzzprdaY1!oB2o-<_{iiiM!g1Z}g{MjUgcJ zTz2HiGefX3MFKZVZ@P>o_zULgQ5YLNojJTADE~x`zn}PE6vpnM9xbH5F?bUKErHc? zC2G_Q{e9gzf^T#Lo~8m?TB2Hff9ywZXaOUd;8)l{DLWnQej*FIYs_8}^+Nnz-ue8?{6N9u+0o<*mV?;- ztvxOH*Z#=;1ke4jBQ*CD*=6R9)`w$Q@g&vBvL~KFk~u{$w(%df4S;tEOd-5>GLCdUjzk+@=*=$?eJHbS=>v;W;3l zs3Tvm!1l_cxu2Hl@R}g_9SU(x+hN#=O_k}{wW#eO2eg+biDNBBZD;V>zGV;LV9ku| zS~G66P?)2$%UM2zm-tKAdHc2Pum&&n1(~~}nEDvFY!tH@A)v1^2L9&R#rAI^e9;J$ z>Pg_lbz|FSWxLItBR0pg^WD*&VY9RMVC-3vI=$q1kBg_N(<`t7WosQ1LFSTYe|CpQ z+mV{9!(R@9Pl?8sv`4$CVx|sX4fqJ1{@a^j5HXO$$$#Pm=dhgc5O8*a58R=0>t!Dqa5GcO%}4VM=|VvdJxb5PnQrq@+wt71~%Ol5X?f~&W5 zSfO2bZDVbwu8V$dVo8xSO~!sPb`-+U+rKyBMB5wkR^W4ONJw zO0`^KVBp&9Bw0Fi>sUL*!J-xbE1am5=p(u z$hJ|YZO9A`uK-b>Wvi~))(s(opcPgel+5-c>%)XO0`0UEkB`KanUT=?H%>5{$N-yRv1!sMpI1bMM zUk+s#18bz6sYxzpq>-x3&K%$7Is>D=%FY^$Zgra@RE=imltHT;v%a zKc3&vN>}q6EqjuyWrbJpgy(90f`?JluLhr{Lqi({jt!AY)}v!i8Mt>3FD8Pcse)4K zm~$R2m4jaY-vvW$?BnW9dO8jn~-%v3$efb%WP~a8@ z%B*2_wllD5c21UL&lBEP=w#q6p8hR%WNuE0%OZ@j)9&mt{&AVEhX~1ej^u7(k{#i$ zysvTiYk|^vIVJJ-zUI5^>hWj2Tlv?mf$cBk?0=l@2Xb~SAHwek+Op|3#8UbVO6o6c zNRRDU>u|@umZS7}(U)L4Az@AeW0A2PRoCM9g&k54^zuF?AnvX(S}(shCg3VBzkU3N zD&}b3T3%8uD=6#ec8rd{P1WX<6b_^voZQPgJ|c=r;M};5JtG`v;ug5V-~G$C&wK?d z`Es0oPwrUkpeu%Od9m+ZDH>CKGyL%;cg!>4lA-#k9m~Zotf;(Wp}0LzS>ExAh~=Qi zNf)uzNPg@lIFNW+$Kp|F$sM-f_6=PAu48egbQ+;`+_y%}TU)&9?F&1C203$whm{Ay+VELR=nS8#bAngLY&jB6rxyv z#Kn<_;^zHCcm(;s(cx5aj=#L%XX{#wgEYx$i3Dan0SSOc0Nn_cI%A7(o@o-cq$+iO z69TP(451a4RDFHliwynmBYm|@`3(X)lUKO+H{Pdy3#!2Ps6gQL)LbbXJ>Z_W>&wRY zTSwTeFb#rjTV^h8lQhJVJ&`~v%lIH6QvhkOX5`X6` z$+PrKz@6IO7kG&;1d`k5J`)i|qxK;FB_*&uFZWRqms7bq=cY%9xSXnIZt4Kn4dGY# zVoTzwD)hzHaNyNcT$r#O@$J&RcXN2}K=th0aUzUQWlj`4 zSus`b>UNeJzkN~H_A5G*&{QE^ZbkSEHLg{1Xb}9Ls9@!w!70DS1Pt@MGR7LHDSviT z0=b#m(xHY%Ko`r#NTznlbw+BxZ#K`1WW@vAPBv;@ZePg!X1(;;T1RXM`zwkWOrgdGss?S<(Tt@&{#rP(A%?@xgmp_G!HncsS9q@G*WhTZ=xgWQ z4g){SK9U<{5s_;ZD>#ztR&jfK%=+~1zV;m7%X)37Sqyyl^I-6|a(E8T*N)_#@8Kwf z!(Q-C5vxgb(H5%I64!xy@8gLF=^PvZWTa6A+*h_Q4I8@{W{3hq+1=j+hvRk9wK7l! zIB8sBPK5*aHRxwUD|BKf8gM%M*&UPS-rx&ebr1rLfIU_=riH7QIo@(6menR=<6}I{S>xvr0hg0+D66;9(TfzsBl64Cr;#A|V^_6tn7_q1_EN{DR!fUl?Y zCaUozHm$Q<#cigU+lK69fL{C!LDAiG+GFCF<2w{Ns;w)_Q4_X+FRhJ%Cs5PY#6yE06MslXoJ`+6 z;yoC9)(5Ibxc-Q+QM8Ywu<sKeiLAWV~! ze{fyhI9D&RKYMtb>rV8*DuYi zHMz^Type<|>qZbhR{eyFy517!wPR2%GSToY6zmE6xV5Ib^{MUUCtS3PeL>Oq6oW*D zo}{8Qx>tpLMhi?t5Gw|JMWA$&Yn%iYtZRj9w7hyZMjTj3bv$BRxQ-K(SHuKw%>_~_ zTn&={$*`Z=X;bUnXw2vIsmIGGDUZ|lWZ1Xuw%onnXEN`@)Z4K6Sq-?#;U8vBWUd*m zbmc(5ZF|>y4{On45%YG2D=%WQC!@~-?;0VUu^F!G9Md8Wq*HW~G&Agnc9vnEUeO{MncuDY-Tv6$&Drk`Ib?bz+7FPXarsaToW!xuI<{jJLNavk2QmT zC*Zts18*#KA%J1$*kSE)|GRGxf|?1QJ|M0dlHf2Tm}c2 z98NN?S<0Dj1Z1W;ng(~7C)jrknBZj`&U6(>`MXel_R}jaZ*jgQs+rXb5uqWmhri3` z@S#KyuQ?KoN{{ep>rH!IQ&zd?#>KniD2j;F{0!EphQT<^bq!UY!m%2=5`kf_x{7H7 z={5P<=?B%w$krITE^S=xq79@Q<5}6gIZmsV${ZN@n(OQIsNf@yf_*NxeT=Ctiqyvl z&Ja&v@;=ue5(Q24{w-p(LwxhVl#gATBr;O;cIBUv{makZ(i7f8zIxXpvu&O)+t?XK ze5TJ`Wg>b@dI$rwR-$3q$6Kkb=}Co^wO5@^?RQs8Vq9u?%O2kGz% zSbR3k;B?`j!B~U4Ed3qV_H3#a#~)qrw7E}m(3s|BJr286`|G9#y3r2~^I)jZB{2E0 z%WVd+oI5+pF>Hh+Dlb>U8`W6E-K5;U#|GadA3^nhew>Pc0LpZjac}O5e+137yqjFqVJA z_`u_qH{ka~U3&yn1vu>?2<(lX>a3i8qdR#wa0DBI8jmNy@^(Ls zm);5vuYfIAFLi@5A)I>CM*eLhCc1^{;M}9(?a!KheMxmT1*TYlg0yZ*mv8>14ucm5 z!RNp=qEO9K4u;=*`Yr^H#{WjuTc@5GvdavhrGIdVR1s>W%pyl?t@E@Kn@rCg` z({wnMW55rF&&e%8C>h}NR0QRx9T&=96K;BHyZ1Dw{j^?R%CE!i!adB~e| zc>C1Ow)fjddvE7o@(^^_r^bmfL8>bL~n!ajhiME%# z<2j}Gvm^c067z9sfSr|1z?`t}05!{gtNDA`y?VU&S)S%uHhF+rV!vRTKn@9B&BSw6 z;K%^=7Yn>OKPgfR(Z%m{@JXdr>y2Gl$6~b*Gp7xRB6#(1I54GHJs*KVH@TU^mCLA? z(HC!Vu&U*lcdi<$X7xs}?vV3&t(rTLTdQqJs-i=ejx4qxBCZh!qyS6!^fa8`3;_? z(nT9hmLwYdqJiHH(Hj$YZ31dzgMblSG_9OK*ewjZS0!WlcVezprbM>E?*D~M#kFFI zY>nM8aEYOA9(t}w`8D`pT-wq6+JoZ{WRFs3N$mXXE@!+pw}I=d^7P6`?=76n4uK>0 ztB*>!Ul#5*-Z%KSH{gx*pgLH@1+!~?BK)eL0V)Q;a_S+~5iY$ivQNjWz9>X__4s-E zut4%->Nu0*eQ9=UghqqjAB9?cjP0w5YHg&{#>58AP_x>FPL|f729NMQpKaQZI?235 zzddFil-mro7I#sfj3Zm|$wE4iO@NM{sU{|^;RUYI1&VM?;5f{PSvpg#z#P>+OI=oe z$oy*-IRaG)$C3F?UEyv*^6@SQ|7D1CVO{Fo&qB!ufB;CII>WEMobU-qSNs)P>$y0=UXPR`uS=CTUDv9 zf_7YQyLQKBFH(=;sp$et#>2JrY>tUB_i*olaY06FkQJG+p+CVGUK9mm8yGE{@_X7LcZ{Lh#wJgc6!%jPS#;Kj$^OvPn_SEQ=;=fC>FH`zSd zEQ~PD%4mqvdiCSN=u~Y9(Hfgf{SmC78Y&*HKgz`O-M#uIB`d8~$2ok$&n*vszRNG! z6QYDNHw=f7R1J%0+u=mvabG|42(**oB}YP|_2I0@+tcZ)m?U!wcFbmAjZ&kQsZ*qJ z%C*8lyf4#*qd`}fwW#7DOzvKb@Q+3#um-M8NSJmelOZ9SH$s;F+4(h`$WhxlSb zu9hRlX=>mnadWtT)hvfTqdSe^8}8qv ze+>*^VkE2Jvq{f+o z*KMr&6?MHm$DE*)pS;2QKQ1$qSm`Qtv6O_%)>o;mqOi&BUBCeg0?DtcC8E?%3XEB; zwhFhs(QS$EOX&^hg#)nFuf?p-CLO-n7b(4i6J-}R0oSWlkedDR+7?qi+VW9Y@NZC6 ztN2)8;a2rux(hkFZB^k6zdiCgY=oL{wQ!wUMUD^SGbVJq$-iIv2TQC%y=q~oR-)b% zBQhv-x!LqK_GD1juy@pzup+A-lOghM>W69o%-c)|NQVV;lhb9-DEloWk>Sz_ecDm zEzSMZ_lIc(1Z)YSF4n76>V1xLncCVS6J|`rG~p@>ukH|%t8u@Y zXl)Y_iyJ9K_V<3(?dWEk+TQ+RoPUF5DUPI{hGc%G)<)pk<_WgfCV0FPgyG;D4|&~&-K9o#sAS=%A8C~#<_=LV!q?M?BJ4nKDb%@F8!hgbvZ`t-!>U9}EU0&~d zz~nJuUZmGJ5BXy_T}SMJOy>9!C#zXst62`Z{h2&@YE8F81e`$kHD(M@_%FvY$FCio zR@>;{JIKT~jLdbCjXBrnm4K7)S zC0eBjPdx9M?YtTs`MWk1@C4s^HR^j6fk8k+T=4ukQ1d$`LRi~;K{tPUx^cWGa6#@L z_-tMhw$a8M7dqms?Sk5uHgMP3u08fi0{I3XH-*4i<3&|9Zw?y?EN^vmI<-_WmJuPg zd924@SYE|g7Ke({l)uo&wuFt~3^mN~SR>L(C#_7mq^9+L#vIv#`+V2ldeeA4Z8|u62lDf)TJkI_>JFHQ>Wg!z=>LR^( zeh6h2d6O>Ju1e6g8+8!_?rMRBr>{!C!8=eRxob_un2vt`KMNlh-6kglHw z*!g{`v)uUIT7l=MrxTY=!>f|G)lENjiP(+GE3v}=#~Zt|x5kH-iN8hM;9+*@eJ7QLr8r#qY_C%YG; zqb-aJJ|qv+CA+(c;bB4ru>n)W6n8BySKlPVoy+%dNTg~~O`SRBu9mJbA$)C2b(5jm zH_b>Dbp$O}HtU$?rkxl&6z?h3Y1M>jKwx2-`#2qR9B#&ufV74o9Ybua;bYo!$#9cB z+v2!juCc}pH!aUU3!#iErFAx=t?r_|vL>$+4Nf!~ZLtz}#Qb-spE{=j-_T53lUm`8 zV=4H^dMJjSKcPB1Xsv}>#RPBKXa!ORqgL-L?0f^#8@~^Sj2Bl4H1PeX87=A}ele^M z7cRrtDln{-`-`v)c$@h?5jSJ9a9Hn#gkIypM(H#>L^9oEz~CMg0Zvwij2Wyk&rLS& z(NV$t)d;y2SOj_s?h6d;E`O9w?&mIX470cH{&sGRf2rkV%#nY`!E!%$v3;`RrW{;C;62Wz^?0D5zx(q{ z+&ym}1AL#dqA@7s+rZc{?tjhVayIr+cRH@0udlw(yNG94q-zt}yU~U!Px~Z489jX! z5=UTg6MS{*JFFgPaO=&vM^VO6<{FP*Z?K~A?&Y|X{@i%?+YxFvOI0)5P;}B^2-MDy z_GOJzxfs426Wq%*=JgHART_IOb9)1Bh}qCM+!yZ+b;_aq2K;{ekxd=-kPIXAVVKTm zxRkIr%H1!bT}$m3qMmF@#D-P4X&3Q6koJu?hqDd-T{RWZ-ROPaI@X+C=ymeXs*dq` z10$58f+Lci9i8QdoaV(G+dHQTxmH6;Z@`a-Y*uRU8-wuGHFL%?CgwP)SVw#IK?(zPOKMp}}4 zq2Q@N$6EKD7SM3k&Z;c1%wDzGJ*qe2XmJ%Dx)Yv)ETj;qn8;>SP+AZ?DxMYp2@3#H z5S0E{d@vb-DQ}@pBVi!e%!YXkvS`#%7?*2Bmu6>1?KW|95o4r5QTU_$2K;OkpR1P} z`1Z)xS^zkM$`hi4$<*-01>s|yEum*mlwT|FnJ{}Z<|~PqHodaN-4;D@TQi0y01Kp~ zh)X>}PM);llY-zc(niaFtO==A`s?`%m225Wt-|5#hOO?FAfkfT!7w$}3ZX;>5if+S zL^L=NY4GqiUdPbW0wU6YOU;}%P=3xMI^=l08J8(SU^LpnkOElBHg}cd>98UE2;VsR z2-IyuM});*K&f-@Ad5JMBgh0GaAb#jJ$)@A4+FyhfmOfj-mk*eDlT}csMSyb0mJc7 zGdv%n#sf9)xzE#Zw73~HMinDnO4(v;e2(5l`z?nL;EXnwX;&FZDvi=FwFP%&c6qnE z7QO!yC73u?_dXvXi$X{aTz(%Tq_~*LAGqn5KY}YxgEv}9B(_8KlGZn4-9}<-z$Z4N zc&VEW)AJv1W*SW0jKlk&DpQ*oISGNm(Vq4o(zw^b*UrgFMu*^`w#!WW zb6tY>4z7mt^$L+JXdL~`%Fga}Q@GBGW~Lk|L3o7LLFbXIV4vGvj9AJouGKJs+)4P42hi(<3J|%{h zX@-THCQuomz!ccJ`F377%c^(JMrXS1 z|Dn~;Z@ZgWZc$wg^))_ZzenR86=%RNHZus&%!T6*WH-3)GNWB0Lypi{%@^)6^BL<4 z(ah0-_BIc=`=VwyHlu2L0hPhl`!SLEBFEXm7`4YY<4ll`^alJdcpV~r)2OY6^m}&s z0M|urp;ND#*|8o6-Bspo;S=IngA+Ji~Lf zAq{;$+IH8yslKLY5simAckYx&kDhn+YswLKZEvt6ddAuXO<%8es9RAk>676pns+-* zS^Mf;nuNxH`_q}Dp$8hi(VZo(U;`W7g(^a;qy*blYFKF@Z%}yLk+v`scPSHA4}woN zata@nX_;g=6R^vTeB4onibB_~OvyR8z>10Ab z=s4GWi;}KY`P7AtG3R!8z&5#mvFhXQ#cE^3CFix429(LrY->X{0okw<==X`%8GQIM z))%bqgqtFH#)ni$V@`)40=kE4$&{1sVsxqJWlSUBKuIh!)||Obxf(2$=prX`oLvlx zQn}6v9ptGL13oNdw#6Dz3TVp=nPF(OQ7J|)S18+uopP5!oUI`;&l*qhCK?~|HIVYP zyUNu2ur-G>C6ur{6k&{DZ#Of8SDPxDZ+Q})r*PHmVzgIQGrLsOYYcpybyGuPTsPRp ze&<#p_g$Lthox?6VC@o;OJf94VKAb%oz;Ggb%gOdObMO=v&QduqqPf(+oEBiQjA<> zGA8cWY&VAg10gCnFy(ud!Y zGDfiOur=Z97kKy#Hjx~knY%`77R3ia=B+r3J?k!$r0y7-e{rYz-xghpW>S!f&4Wcj z`}X&9vT@a%On0bXk{l8iy85{r6*HQ{V}&P}>sNOIoBfM>mA##%w+*ge-YQO16)X7F z{fqgXu+=ca*woQ^t3mk^Me`4vfdl?39c5e-<(R$mX+UVrok8#}iNUipR`Z*?s?8T+ z`lROczG|?#@DA6q|9|p{blkq#%5)1j2^~)9Zw)I5(9I3;p-jg_dlBt4Z+WV9c54aI9mFlg* z>B8aw}z z?1doYTBeKU6AE2X^t12-a6AxHyQwQED#){i{cXxCao8nW$b6m+Gv`&|GPE=1yyciw?Q14#1t~MFKRjz5isj@M)j3-G zJysE_NqQ-%YQuwp{T-3#cC-_$F|aH2-LK!u zzK4D2_ zcXoDmc6N4mb~YH;&Ugr?AiY?i%+AXqRl&&Q@>Ht=|FRXTIstwcKDgl*p5X-%gwa>Ndga{~KDvM`aYHw+RlGwlcJ<%)Y9sCPb@ebha`oqoEQ< zB@yavn;Q*K=4o?e;8i(lfCB$r+OSbJaoI|9Mmprcr14K;P52eeoNrNGc9wgj3vemZ zd%QXDLIu^u;s1ujOIDn+Ji9^b1IR}g9zG8#Nmvme4U^+YDc zu&HZh*M@pTX>h4z6e>nLyJnF@{F7D`2{B*6dRCGH<=z+@6%97+*F6)-J(I^_Xzzee zW^_gadb=R<*H@Q|7xWk4Xy%63UQEU@VxESjoNha6Q0&A5t%$P?aAlB9lqk?1#87z! z{v4j!`EMLdT0lvX&R&kqNUk{>G(u{;wg)JaBF?il%9|5OYefZq9(PnP|L5qJh*XBt z$Kiq7wM3)@Cnp#uyq#zPrXc(}{K)Z8v74kMR(jdAxQz5W5ZEn3E$W;M7tkoYdP1|E z!{JWA6<##7a*#>oIXoz&2B$&TJu6Z0ZPP3RIleqqebZZUH^^zh_fpX35iC8muhpv5 ze@Gfs%5ufOvQ37C9K@c%sqa%BE%%ALT*!`?Uco-n3!PX0c=SH_6CS~OZDXg5 zv-k>k!@9@}d`-@vjm9!)pZ{*y(7@*tCRPGcr)Zu3NO36e-&@&e>#V2()CZ_Oubu1p7BD^zHru%3h%uG-7CgMZ# zf-U2Qo_(x6mGAkH*6+7^vZU6XkXu)Pyi|trN5!-1w7%A1%J-SA+(n}N3cl6SWS~qu zz=6La75rPxiLifVFN`5D?d@20u{RWmQq2>Z-7D7ATT?tt|Vg25KU)BV5|6(KfGK1+T!~&J47J znoRk-#;LFd=)6HFhr3LN zqM)q)6Rnq+Fia{BN8wgNI8Y-cI4#F3rS4LWtNbhTGLGrGYzaOg&F$KWfdu1L8E;xR z?~je14Dv2~L5dNk_~Ec7PX;aOkF~P*NyLqiko*$tSMP=~w>P6-fe`$o^rJ%1jTYY` z70M5OQW_}ANg9Wf?2MA&F4Ma>>h7Ik?Wug<1|?hR(QXS-ex)TpKnwNjV+~Wj?~G)X zv$46Xlwa4%%uXCs;NvuKHcHH>L(?y}GJg+7Df*Cr)`h8$DH41ciy-71;N19FhSjQc z?p+$|)ZgUGIA*}4eHRYr{~Ilo@G2B_(%5xy7|fu3{b~P?E0j{IgVf`SQt^-KpHWGk z1rKZDym59@SMXxqpgFjm_7sjs753e)VaJX93Orl0!;E*rGAhBY*8H@ngi>k^Hb=V1 zkBgM}SCnK7Y6Gb=Xf&Gt+L(+6idWOVm6no@ABzw1{tn!t`R_&~4eW6;+}29pQF#u} z3dxtMRg5CuL{hR6ewucNw=!?j;86&e2a~gg-1P6uDAF0<4Bn0N3@=TD_h-xrLA$nV z%Ck`uB?a=ahAg&nVn&0pYw$}rKbTM9c^}OvibL7eQa37Ep6!{RLB7VHwGx7dn!}qk znngaHu^OCP@c(4H16hf4LM!*vsZn>y@T1sd`|ox?RiVIFMFq~-gj>STdM(JHlhHRd zD+2$t1(Wows{4qe_E(c~ylPy&@l1(t##sJsw&v+X+JrH^gt% z2|~SWsWV`ri}iy0Q{yRX;4Jqn;B=#sB1G&B4V>kuJcmy-hC~M%+Diea3zLF-XV^A> zeWdMwMm?hPZI7|#rDKyq6F;Bx^|=;|SQ~4cV_0IWjY1oZh-2y9Y*s6;*Ja9zQ`6;N z8EdnIg9Bbor?EXrHrlh&w+TGIScEG7kl8&*8oA06jU{%p)uGe2rUag&Q>nk@QfXnV z?yy6NHag!Fk*e}FlRKI6Uz77YTUj_RR^e->=~T{`B`Ww}&5**e1g+}p~584Y+|{EYE0iO0$y^N;Ff8>&->rtr)Y+9bJPB(x>=G(?Vf4Ug{3jl<=se28nX_RH;BUzA*X5wZ z7$(99c|}95SKygaOnS5CG>Xdaq4MlpzRe3>Pr^0k`QA>#P55n#O6e&`Sh>e`YbDmM z?E?M8UIa3V1VF@2j1N33-T=7Lm~Q_Gfa-h`UUsPaGQJBmZU#~yKIlxlF}WfL9JYHe7ObRpT>)!>Z5W0s7D}btf4b_y-*|srwd%S8kz7_au zXWKfEx427UlOlt>3X(2`qT4l70*8}yDQq5~QA{_=EAY1wlX;%gTBG2b(+XEf`V{#7 zR`xo!wA8mPhzE7n+OSlf*B2VhH^#NAu&v}R{)FxB0xaSs3rOpzO`@xqB_Dr=TQat^5`psZEg5c= z`a@|y9>2Av>*letIS{vb!LLIyW|JzKW9zR=URBEDTi2l1{*@IObv>VPH+DP4%<~{C zzp=D=wtU>5s-kbR{I!(m9%S`TA@#CGB*~8t;)l$n6O}_|Y8FRzxVwRw=OcGCOPdc= zzpyI$X7Ja}x7}upC?8oUey^OKU0Y~tFmE=bhN(`x*zQ`}Ad4~NCTX#55He9qDPo1y z*(xn@f+^yMH`^g{?G{vya0t`tV9gn4m|nz{Td3h-d*yL>q!pz_YWqD2o^2YeF=M$P zliKHSL^GAfV#~3`$|bgHjI}-qta7NsYCR~|^0C%{%~@(A3%Z+T3E-c$)F!PALjSYj z_N-)Xz1T{uEh3acm5_FAkF~*#Acri6p@-YE3Cu>@O@8d_4kiV{Y(@AQ4(Ff^4r|F5 zQdx6IZX43=%612DB;i&x_g;-DcY_HE{F^w;Wi|-Va$AtT5-(S3cISEi9l*zj%N1i% znEKichc^JO43{37nSxz=9_(ss{LfN5XN9dAOuVWIbISItkXSoY>K0`{Bf2VjzYBKy zTk(-2!Y;~8+!)7>t#Vp>avOGY(0Y0#)SD_y293YVV}bH3HtuX3FphLsgL(NLtj}s& zK9>KU7`kqdB!r=uauTppRqPKsX!LfXr2u)qt+ox(wPVezA^aaO^BP+&R(xe^Y{@z^ zt6GB}-($6FY@^ZE4%!3CYirOd*mm33+LG|z-r;t1;cp`QbggYT41`ZLVuYIT=LZpg z%WeH9G0;GG9dJH4f%buQwj@;ApqVk*%5{<*pWDi&4UG#$BjS~=%DcfyrAxEO&!FYS zHck!Y=kO~*o5A@_q=VK&Le1#bB-QG|e|3{>iA#6TU;C}?{lxAs>94~ZM+ri*4_NMz z+O#d|h2B3tDEQ7B-!R}z6Y*89+ibDw@Pz)|Fr!qG&k$DB#N_ zxFFmXuD+(ua&~2!2U9f4pvg(4+qT`*IT3SwvW!1l;{}n5JM=R0Usfs-^PX*lF z-|nHDmiS&49T+s=g~R_ogK!8{Y?Z4R zt=U`Q96YRo*JB!d&1oIBM#}%QaZ)Q&1N8`ppEYJlT28yC{1M2Baz5+LKeQlfyJ?_lJoJrB&x~o%=(lHCQgs`W(p0*VV8INKo5* zt+e4olvWl+1ySr+P?j}RSp*$m^&ey*9N-68sp!PVadu(MvWD^8D}!CQJ$VUYbJqu1 zbJ7t~glU5OSHOVs3gP3uga8sm|YUW=CJo;wwaR zu;$3^hS+nG#;`sgX4Qb6q`p!} zUDk%f4*^~x!>POi_eUMd@}%l(da%l?nCR}hm=&Va&vLNp-?EY@t@|x&hHgAF|DN?0 zwDytTv&M88A976cH_-|R3EW<(t4{=X!poE&WCPo!EJQWk<=^&4R&t2GrZ2105d*Ge zbuT;Ghi(VO3yGlXjNC37HfJOh4|VO|k35f31S{YTGW>%U_^RX|CHNS@3HVt5$p2+c z42@8!Da4r$vRAi5R}YNG%^d6u-qp#TYF-@V>#TAO@~`M*kEWx+ns|2cRJOIdGKK7D zuL{R3Pmd>1`!!jX*{{iV9>*rdo&0&5!u$!3*m2CgQuwEhDu_8d z`KW!6dAXrOg6bw1-W0W8%GM2LX*=xs$-y4A6$LWzHy0F!;Ul=G^j^klci6A%9{1P2 zVn40JPD$0P_Kv#A{@PdVWAwUZtoe0(&0uCfaGmn1ANr6`Ne||7T-W+sWL19TKFw;8 zTi1p)(l-xlrlbQizkwv5rBU(|tDt0#zv>O-)ZNeO-$dHPnknh&PupdGL1%7bijNv* zeB1l8v<30A|Kx7_BE8PVCcJI$i0SE}cpg#=&kzYy{43tJ_cP$vB~j|A)hFMz_oKNt zQswBt683>OT8U-ADek{q`E2?hRJ|9>`n38sD>z(cQ$--p9A^SOt>g zOFoq#$s$6Vt}zlrgKRTc?fdq3bo>1k2f$a|9jxLY(qdNeA)4l4wI2f2dR9+KHEX0~ z8f!)p*{+b{rH_{yJD4RLvS(sVTX9IrP({gBR(r_a0b2&H1a&xE-VckYdWi%a3~M6) zaCjYHdKvy%qRJGJrIyMo@MV&Lq#fq81u5ZYy$;)Ffru_`16O#2#3)ztW-AL|A|gnF zmxpe~bscit)&Z}_!-=Hw9PTo$Yh`&rL`e8quaE4rF#hhB?0Cf*;7DlOQsKn=+9R2! zkL>B`2ZN$pX&>!oE2VzYo)707K`B_Hk_E18oAbJ8k6Yo|V9lC?tvq6{L#fDC`hrR+ zYjqFL>6`)JH0-4fKhBAg)FBIg8s!y-Si zuLcD@H6a0RWK$^U1Ka+_X(em=#Quuz3s!pqQahN{ehR^RlGRgE#u_Pkm^D-K9W#H1 zG3QfB_#-m#{>g!{$QVq$?jf>wa; z5PSsp7nx(qco0S!*ovq3^MG+Rb0mBEKnndl0DeR`tTx{_nL!pD}0?0wRu=DWQy)h&pd#HU%smq09d*Omm%CX|sQ{?+^IKvwsI-CDz0;>!EB zEG?wH??;omD~J#d-z9!j!LO9iWrx3IO+-!REa{n(QI>5F^@;qUc~wI={ClUXblJG8 z;>X4vc+=%s8NMn{sF5r17VN3ust!02OC0~;j|k=j94d5I2Cm|OKqla^?6N@{&PDmA znA8gnfWAUlr604B<53HNg&%v z1;!CJ_t>mQS>s6*n!=hXna#{iNPH}fk`b(ek}j-@lC!L~$(|oIr5Nl)zBJYR~iUk=BhkQ^i^q*S`LRsx;VA#g$kt9D~#!vV{ zQBHXco2Hp0sr+!enKdI@jb#Y;vY(G^VX`?)vq_?qZN0c+(7AG__d!XgjFaVr$l&k^ z1)Ivb&osH#FPGs|o>wy>tJ9FIw)@044EH12>oYQ!sXT|@A=+OoPucUGINErVQCKry z&Oj%iyq(j${^9CHCu+eT&14*I&fU%$&!G8}#5C4?1`XQUKX3z=x|QdjLR zIDD$}c%}Mel-Eb)+v6j+?e1YBP0!j}^i-b1Ki2ndX0_jdpcw@(u=;P%A3w52O4hSx zB*{NksN+-IK+pNP#PJAA`xe7u2dhG&A5g?Do`tw^nfxTDnKgb3T#z#)dRHl{{N7>h z!J$WU#nQm0(fq;ToyCQ$;yaM=*5JVFYLqQTYGFjt9jx{{dk5bnPv_CRZ^;r--ngd; zfD8Zcg-y2v&a=w_w@Qfa6CY#EKvZy_SUWNh5lsLb(VF7hMh4o?L=lIV7xWm-EZ;#b zbHuNUS4z}-9h`}jpTj3)`&sSxn3GN_`D&NR?iwS#_+cuHjXTO zq-HrQ^aJi4OcjL*DX1evmToG~;ZKOuD!;ifLX6Y*fDQ?h%afLr@YlFK#h1%DrL%!R zFApzLlbnF}bL_+4x=ru9Zd6Z=gn(Bt!IM9-(D;cMZrq13!qsvGRGz~N2fjayt7&O} zQ6`WYK%Bc%a7X&eD|u&+2LZ=bE#Rzm>#z9H{+5ZhN~12=XJ9e&ay!+t z@@&Ng`wsm07hbJyd8^((@>lyJV;bJLND6%ZvE7c~} z_%~+O6)f!vem=}9DCx+mC^_S=MG~#s$?C%#9d(mfW0)gf=Vaz^M~B<}_O}LG_DmAT z>5n52v`y|Z(%qe;W(>BySlQ{4$(Ld}0O5R4hA#$;Gps}Rt_6Wc5tZlgyVE{owc(C; zbSGIw1gg#R*G7N{#1^cNMB14(QqstpDVfX6QAms|EecsdK7BjFYNH&vonLOh+wC~E zSM0RwO}~vbQ+~WiXm*Uz-RZ9~1Bvb-R&T+tg{;xy=+L=i?9#lX z*Sq^33yKKE6W4OwX_{#`7E8(uW{yVwN|r{++pK~ToTpN1GgU=@^{ z^H(7;>OV+k$G#Pa75Oz#5Sxmlw5eX7g$jGVf*Pcu;+oRmFqqmsou~ z%C2FJ^zA4!w*`u|zSb3gZ>hqzT@9=P+0fD|O78X7Qli_$>e~UwFRZy8zCO&%?NQA^ ze^q{O?ToSyOFhCtN zN`_N;4&R{@5Ch^Qwxu?9bj&e&^&_KM^=Z4cO^#IjUExBM>J2(JvXi4<+D-adaVtw7 z_pX)3(OMbjQWW4ck!Kn=`)Ei_V!KfYgTJH=d6{gH3Ty_S=RVuAMip6`iPFa zrteYc4%~A}alE42$SOKJMyIzo&4)97Cpdp^GC4Hf>`U$WQ@G>k8S~;jifG zctM}`noyvA%TVqoY8L0oo4Vs>HTM&`I|iAz>KDZF=P#-Aw)&@bcl@SHN1X}zhc}51 zLk2hyA-9F58IB6uz?naunC{yZni(vNJ&WM*JspE#k2m)OJ%gFK7v#O1RrJEQ4y=lj z@vIg}%_l=)q2Q&ACs3JDW;{8Q@V$V~-G-ryY8%9HhK~$_@UUF%8o>Fc%y8ceWr2Qx zRG!1{DO@Zsx2Q2=z4!-z>ss*ts4v9BBfX(?FBTXEk;M=tL?TC}DksOZq^S2$^@)gt zNFcWr4v!Tl4dQF3z5qF8UT*-L@8Qhoi!Hp~Xm<^3M16*yVq4Zs|C#4q!OVRC@US!_ z$v53ZVM4bH!%=d(jAkRy=n0j3p67N})yL7H=5_D>a&9lT!|w-WdZ|9nxmaIKIj1KH z@QX5>++#TWU$IR&Z%-=VZB_L0_Uy^8D1$vO9@D(tPUR(djeA)3;Q^T8#XIzO=mnvj z+%-fgui!OtzGQ+$A`aON*97vR;qaBk*DHwOk;46ef1zqAC*Y>s?&ZAe`(ldh-`|#{BtRf9F+1cV|>4Z_c`$sau5zQ_<$!d|YW@P`} zg9G;}sYbpFu&)2i5yTtq)*eyJSNX!gC8Nf5FnR|`vNcKO9hK+sdHvgr;zyNzz#8Sn z6%u<1|DEpX1y?Hq2_Q;20hbFLlBKVBvj7YJ2m!C4uHeZ^BG4@K#P8i@0;oKPUoIG4 z!s@DR)*8;D=`MR|@qvw^Usr|GV87f~BuyMHx+a%#lcy^T`cS#EHvrB#H_cUD`sAa( zh%=0DLX|!s!>K%n3!c-o>J~fcyFnEzlhyZgbTB3tohX$&#(Q$k)E12y zNSxE2Hd0GCJf(PIDYNu}7b8ccFVgdhNJH_oJ{8~RP z8a5ohqWA}?XSI9jn*o<($$iLPG4RVZL&RYHE2!X0xu;&r6YiBWG zcqhqQXfEKqM-~krkm1L?^`(62lnl60hHq&hV2F1oOUr~l{Fqf_LOQx4&2VK<)`K+8B*ZyxFp>5QV&=E53h9af3KNR_3l+EXm6!2_eh1X`lT0yXZ0P+#UCbPYmP zWFgy7xoe0%-mne%W6J~gc!(Yj|Gp+`E)T~FnuVPE5(R&=LCxmLxKbaTDX z!7$Vy2sgD>7RzInm#nS_~d zs1WcjXtZA+c=qlk;wKu*h(;T);P$-7DpSAOA{J?Oz)6TXJm227ls|KgU3NR`7f5?jX3dE{RX`t^pHysNxX#9^KLPp)k;v~Qki6;h{JdKnx$DM zOc)IK233=IpIvjW8Sq{GRK#S0i1>!yy}6H$xMg67FWYn! zQll&s$RgtKoAdXVAHM%3G2ajh145J=K;`*{-f#I=hVedW19+hfr}6~HxVt(3-?AB> ze=Qao9XP@&lQWP-#4CvQ{!B)s*q~WLl10SfMa7m@=3Oe!33#$NQ65&k!J%}SLsTAc z8h1&>eOl>sY60KqJL}yua_#4@ijNr{1A(JeE#UB*`wtw+mG@j!phR4v@_ZvO!v5N^!S*r5ZP-GI^GmG1mOQuu}XQ{7fKr1XI zQ;Nf#MXyTcxLKfalrGOQ8vy4lPb&6H9MzgaRG!1v6+I(!JR9ZjkU6rEx`S6RsVGHi zkwNH!3>G;9*;*Xlx9D%Vf-t~4$pip_T)}4^S1E;8#YO=Z)!pS5Q+ZCnXm4y;`ZIOn z`}+4`wBn|-^tXY!gR^vGvHkyPfdbzqw?K!YGxHS$3d_GPS|xE%tE-6vyi3j%y(hu7 zUAB?bAg|z^;s|NB(4NXr3piXTT361G&h@BU#X`A)#l@Xvi--uU^Kb&GJSX7!A`?xA z`7uHeKo*&UktDTz=ec)xxB}$CT0F=a^BiN6Hw{(2>L+&yi6GBi=IzZY@{v1&RZ()B z)#hU#bUv%_I7S4sqZd0QmzY_^w-GE&M5dg=-&qB| z>#tX`YEjzdsm1SI))q}{rB`VN=3;lT@Sy?HZG##vMvoM+|0h3(-(Pg7KPhkRbV4&W z$5&OPm&X|$X)2vS6RraPTQ09&45IvfvK-rs$IAq$_bLbhCt!+q@_;DTO8 zvdp;@O)7d$E*}E|>SQUP26OoQqR0F526L(TGUvzQlHPMgrhfqAN;zVt{2Xp9ij)Y} zNd~+!EU3X8-{PX@T7eV296r0~kJcG>uUx^pf{}6t65G8V{DVJ2zzJAZa8ZV<*XLUS z=Nw((eynuY>b|}mL4%EgM>(7&6NSUeiiWes0?f-JJay$CtocctXiS36EtWL|W#pWl z<-4ntys$%sb0FY8nX@!+b3~_eXO-Tysy|*0{uA(tGMwgJ4lgX6FqE&k$X(%hh zsDSH?enpS{KckbwjYW(3Xb$B%q*HMuYc9gh!i1u?ur1~AS!;MkZ(iU2+|y7!ib&`< zJS^{Y@$@4Pii7ln&{c6Vp(OPjagOJUVjhX#h?Xjm_^CXHv)sRmUOK*0e8}(_8k!}S zM?=D7pM(N&FsmvMr+rCc#7h@RfQJunF#-x$%|tP%8{Vz$@sNeW>V_sawTz!+IFN z%EU_uIQ&HZ+5*yu27$ZD68YE*2b{CgopZK-zn>o$=j!i9d1ddDgpS~lN=IR~+^Jnr zFixhB5O7}hD*RYh0BWfs1RTE8Q#7FK42QT+Hvz*&*~=iQ_ASwZ!$95%gh6j`!SYA$y!!15EFN$_f1xX|8ySYdlcr& ze=kf>ZSsbR6B|BMa0P2be&1xz!%F)sB4;o<<+Oy6fRb2*Y7EDcHWRgrE5|j17!qc7@@CC-Jg34anM4E?(8`hfsc_>JAQ%%3V^*-9qB@ zI3JTW6tRcnkJS4{v9t;_CJtM274)AvPYtW0|3vsUvDyldIH5oM^TfTnz3A~XswyHR z6724x{@cV^;uO95%#TQnlHkv|{wa0#P84f&H6ZaFRe28o%=uRZ*Br-zUpb~E5;^|M zHTfqc)ummO>}<*KSALCTjA?HY5dvPp%LS&JxPu|^x14xUc@AGC{w(Qc?e*+e0p~n2 zEX945`buy_5HndL{$m_cxOXUP80EBvayAbxT*J(R(5aAmN*YU=CCUIPmnj0 z)zW`Fp1rId|1lc9a|W@xXPnjnoQUP#-%A2rp!H$k8 zUls=Xj8QgT&HudJ2D0>34r?g?-Y5S)Ry)|yAq8(Q#vN|I-jgATt#WwwCJJ&b@HO5z z9_)~=Rs2dRUciYO;us5``Klpka3ZUvq0JIp*3*ru~IB*`E9(0h1~R_Z-@1ng?bJhukb17SIj&N!+R5}7zRwZB0)(OtEFTO ztEVJ|HBz#IHB)konTI23$I>WS!zz#@&lnikgS$Z}myxG(&#_v{{T8dI+_?h+^%^mW zcg*|wPq1dnJ(ihAAeqC`kR;#IUmd9jor6E(1ut~S{W7aUHhslFc5En`%>{UN?r~O6 zNZ?dMNG24koyj?pw_50&p1+ovZ$>Z9BS+Q$JX`t>vT>yMdW{1D-&%XS1GRuJfSOW1kt_W9qlv|EtvdD2a| zf~6kXl#MgwJ@%ms*Tt$vV`$_{ zeV|1{^l%n*DcB*=tA$g0INVhHD{CAL4%B##vu6CK^Aq03{~yA6iRQuwSlX=+r+vPE zAx^hJb#Z3)@yupbw_?=5;TrIo4}9HZD>@khs;up(ce$1Piq9);CtdMj91b6F;U%5!)(v20-AZ2)Qj8NFC%oXgoJ^`YlruLOq@<=Kf4aC7)}`%z!uL`xjta98F#UNWb(!blAO{vs%oY@4V2;XCK~ z9trzz3pfE^qN#F!UTK9ESx)0gv(7P0DEaE+gTKb@0S5NP#Kqd2~d{67m>^-b9I z;ol$1A66FVvHb?}^O4e~@Y%9J6+-qWhdj3`!g!9o>oG2(i z*FZVxLw$j^DKUt{!_#4)-{a`m_Z@lZ&12x8Zu}8hyqX9{$iVoLXT;a^x!7GZBVztN zjtqTP0jqn_rf9YM^YyK4K9H<%R-DWKk~N|#@0v1xicx_oR>>`-Y@7oFJl!e+DJBu& zX!d#cv$XLL;O|)lC4*TNC1Y9bc$^;Wa<(ab>f#2mhoJ{fI!oj^hp_X8tk3QVdwMyB z18@I=yrZlc<@MhdvdU#pDm>eK+mrsZdmSAOy3ziM363!)9d2Yj1nsiZJA*Yog!&G! zW=j5M=7(Xe{NeddHucng1+?YX2_L~d**3C>JJa5dxwfrL))v50B={Eh;z5Ct@Tfe8 zPxZ#L+J_y}JKr9By*Hh>*_ z#A)r3ir)lxuMX8BkE%KuUzMOcl%K=jN=3}FN5P`|S=ytH{JwEM?iHlI-b!0)Ja==i z@jkx7JqB!*@T`8+v9x#kX{-25g1o`gg+8-h02e*>`iuf*@h$$FeZeS-4AT0OX*<``d$knWhSpaOR}~mRRGc z>)hQC=NuclMNBp%V`TMLmCBJy9gTMQ8*3adgjy!W-Pvc|H_1L*&=|CIcmbRCl%vk# zOPH97hnPGLX?@q^Wr_10>E@Zy5xqYQ8X#WKeF0{jXCvo3hUm)u_46HX>C)frd&-OB z6VYSv7{GhEN-`jM-|Xun_}>3K%s1F1KkdG9f#W!?O;$UruZ&aCZHfc%t0>Ba zW=i^9tt?8(vf}W48G~W>|94`b^1SNl**UBk)g+&QiTvMq7SWGu~A-{?+fxd9Lf{r;cMJ#;@qMGpv&$&)W zQ@eI`Kn>yuzj6O6?dfY9OmilOhvW<@WOdJBs^Mz&e|8)oEd}fEV$Dl&7p4NY8n&ybH7u_E^dHZHvit!cErPHD4xH4mYtlmY7C`#7w04@?aj!UiV zMG+S`{DAYt;y|5CT;yFnw~xr0pG8;y$jl7MKP-)scUc7`Nvw*JasFCLNTDou{4Yos zRvu=qaFtM|e}u*kAH3y5LMK!#w}svr9DpWNbjFw}BW=;+Qokkwxp{#T(Z zUv)I-%?bKnV)@fr_*H0N34YvxF$kL|+BV+X+K3-hUo6xYf?LrTKzkgO6=u_j7+l)&E|*X#zIk(iX0U|HWqKr5^;Vr+)!Y_% zh_E+G_2QU+#aoW(P|I6}XJWD3@@^Ig?M%FFbpR93o4P0Hnh_qQEXNRzE%0AE;5eo? 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%0D)(+g$SX|$eh zqBW9BZb89+JG9`x6Mul)HWrrsKb%5P%GO!`q!;X_tD<{`urdD=esu|4csq*jDpRAo zQ2U=kk#yEJw*`5D940T&<4wJ?D|BBX4aiq|SW@Gkg5y{w;6^FL>f5 z2uByLq9wVtx0u}8L~E4N{y|)kKsTbYO*f({0V`JEF76f~g+;^3Sr4{5Ya>MXDjc`9 z1xkPNvqedNqQO@KuFxNzLn&m_k8j2;DCKzCFaRn8efZy_k?lC}I$wbS`bdKl0kwkH zxeHD*Yf3DtS;I>I!YSDctnhEBlRAE>@W~x@foRKTX!G|4a^2rT2`}BiCkb@jVS;+y z!5~)Sl}5!|vIOeDk(xxa;>$vVCyMXvAg^H?Q(!j<<3t5Z#C3t5;EV)aksM* z7SZec-L}?o?Mih(v?%AREWs*{v_BX_VJO(cl&8pZtl~pq8N|&GrZhujs`pj6onX14 z)4k&pu`ib~aCt1jE>81o632RI3oHa}fmKz3JKKqu?Dm3JEt^qIC$`HjcIHR33wAMu z|C%`+Vjiv<6*|O}%;;e=FZL{W-1;Fj?F6lZX+xr_jNRE=22?*2QLvEWiuSOl9pZFh zN`dqDR-lX(g6o6(_u>+i9CT2fNIe2c(#>9%9h5K)ypBz@@ zC%GzC^tvd&?q_Yqu`bH5ORoF-b=Q4vJ5jRKS=f|zVzTF3%S-KE+I?#vjJHG57if}B zYk?|X4@JysNy)PoS#kA*v*MbsIL$KJ%CghNWXmm9HY{E2W7&liy!hMZ9NYfpzO!w} zzHL2%q3X(Zb;3~D*@aH%uPe-%AwJ7L!D=$Zl+?PR6r+8UDMot_YIWdKp0lXO?d$@I z!4>Ds6vx4{KQ&W))ZX&0U-NU6MJramoGHG>r_LWp3wNouaI1a#9!R(pGSj*}$Lg~| zW;44$U&oo#gRkz);}P>BKI%Vs!`OnStY_K79c{-rh`Uz@`S88pD8Ja$F$SwYR75ID&z7McO1->JCX(vd6 z{|yEHy#Zf^KO#Pz0qyVKroc~X@B>Zsz0Rn@bh1t6D+SgBSguc$Jgbm{7&^)SA@>M4 z`bR_itf^W{)YSBAqg;V^xov=ZzjTbFkUE=$nCKcq{LgAETt-6RKaFR7D>iNzc z3IN9RKws@_xO-#Buf5Qs`n6eOH?auL$M-}!-}u>d zzH!8Wbt#S9QX^Hj6dThWvWqp(iOjaRun7K6)3u=P;)v`{?T;>><)5uIdac$xs$T82 zR~+3F^Jb+6_HujCyna||dWe-ccXV_--_u#}CJFy~kERoj8>(N>a`kXqfycT8_EVY$ zKL&U#J`^W%HJ+|~JYl->LHIiSNb0s}d3aW63v7i+8h)crpUxe_;>e*r-FgN``ndO$ z+f$^wN;f9cjmiS`MkSlmQ{0BG>fVCR=RKzL`IDff$`$2pCU|ER&c^f-y=^$ITNM5H ziV2BkQfqw5bMDWW&1!myc|t;8yw9y|yQWKRxeBn~<1bH&@FSrH@J{5-5j z;0^99dhiZS6_5a_q!6~zj_xr1s@-9di+hWQt@fUaEArEoL8+5-{E#Vhy1U)be-B~- zv_jExTBp!Zsf0#^KhOe~nGh_x6ct5k6*T~^8m+j;(}qs^A2NmS621<7MJl3;thNmxQF zF|zsE$esliRYYCk3*#OtpX{HmV6D<>It{owNpUI|O(WaUG_r)R!-qQ>2HuWGK8D-4 z)=M?|-{|yNMv-U_LDqosFqTs!_C%=H2k7Lp@|+^k8%bSnr%XbXdM2T|(dd*6ZDz=g zqs1tdd9}`*ILcV+UolB?SN%+TYT>j%4vm{IE(z!5}_p_q;A_Za1kbE~! zDaZ}MJ@(edl9N%Iq^@HorHWl;Erb@iQKLj!XuJa7-VrBy^RW&Mk?ZG+NtAm1_BQXm zFBO#9?gWB<=b1)SCz#WYF43mymt+$cige%ik+hAWzX!gs++;z>xmFD+D;?{>#AW|P zAsXcX;JR5&3P^|F-HJRG-)kNVxq6`(9hyBO{r-y4{`-_6U#JcFPe97Yr#z=IKB4Qz z&T|j169(n{EfxDGE59v5Mtt!`izAnn42yC{s+QtP8}f@+t`OI^4qi&n zgYW=__@Ndb<*}lbVkySHCXO~o%k=wijVr|>Xrf!($NHW|Y-c*Am3|`q9dL^j{6J(; zi~n7c0*Tz0m>IWfnuz4>CIyaI&1lMg<KEElXhHaID3piL@EN zU)_weIrtG1Y-3BxiuI2vE7nCr1>Y<8CA#YC#1*D2>yx4=;Jbwy@Ga-85w}s2sLp8v z(w@eV^=$Op+u9hB(wl$}&Hh_c7iAwre1#GWWKeqQ?1wRzMA7=UY0>)EWkH93)4J8W z-(WfPqOA@CzCxew#l9HbZm#TqO&ORo+Gvp2sSG4=PsY)ml1kH^5|Uz7kzw&_N!!JG z({&wcfC`V}UW-RUxWE#AA{w|uYarp1-e5mfiSMBkO4Fzj51JZ5f~Ys5BDs@%Hn5x$ z9&mQ85hPqHkG*Uc-T7avMgrUWu}^tjtAp@WcyYw^By9e0$_N&?2?mK%=(j;9lq8da zSYQh6Cy`MZxFK8~woV)yf}tPVk)ogbm}2IBYbuCDZAx;nbPdiLpI4?#K)kyCW!w;7 z4+a_#U$y}@Is9R<^3GS=D0hf@6ULmKZF^He88#QL#2ox1c7hH#OlO zRI4iTwUK|fIrGag|6SYy)DVJoaHCjB7XA%wDR|kZCB{(&jnGQ)AweC`md3D?Rl7FQ zxJhZ_>U8p@?BR{Rlq&`-YbNFRJ;_6va6cj8zvxBBbV?+}`G`qzUIWr}t*UnuD5uUk zJs4!NyrfS`L2j~U=cI#KMv5vv+Iz=}T?eb^vZd@inQbHMVH zzv`m1;8x3fShIAuH6hPeh;K}K9tTijYDWJH9TB@K!tYR|aX^I@Duu>{2wlmiazcwm ztvW0sWIYh}YqvX>o)6q;9SBVk&31hO{WsnILFeP1?s$c=KLQ8F%LzxsuDt#J$O#1x z(S!93%j7Xf#gTmG=Y850EV52QnL+yOM0Jam>e5>M&|75f3+|v`i1MMh$aPF?m5%GJ zPl6Vd{P<_Tod7v=Q={rEIBB~Ic#h-DuN;-xc!_lbN#>Qkgz0R-re_N6NLe}5o!jG;UA&wYI z6wp>n6u=rYoRVv4_~4l273~WCwq#l%YRI{g=_Jd2N)kON_LKEEsCLtu6OJ0yo}O-h zCk9)ffZfs=GE-ad?5l4q<3r1cEw#V|{=?`;H>BXYnG?2Jfkwd9#CB(Hxkx^fk1dMN zM1#jR!71jQ3h@-n z$#UMBDq3qH>w2;@qM^!E3MYv#A9^j2%XVftFQKPr#?b~V!L-4$p}0ES9CtkC*=aWw zMBAca`Oae}vYlP+g?IVzg5!N?<7hd-<9w3Ogc5_NZw+c3VrZ30qR@JayX9Te0v-4c z=(g3kL?k&I=w{mvCmnlCHJ$ahrG_evg{3SaaXelMZon8#*T}X8OzjLT9nSmWt+;Xc z81!LlBzE;VC5tnBQFdpioZZ=VZGmeg|6nxf+;>!+3r+o|OY)TSfmli~G~0R`riLEQ z^9%^9QoGPPHSV!imje0LvFPO%tm;kIwg`HVf{<3rBj0kdSj%4POXojx&BNK)g`%hw zyg}g{9`!8$8LJtNzY-SJ50AnpTCN`+b7r!=D5+&Z9i^Mulf!oHj_Db8uk~KITSm*5 zcgMVG3BT70FC|i<$aU|=%PrUvnHv6mcJHR? zqy0}Q1fDVw&OJaY4Tx!YqZDT~o^Yi^16!->K^-#ttsdea3 zdz-xtc;6n~#f{I$fAEixTpCi69WiVEoeF$sfECZkkf7S$bWj-AJmuGU0X)K(vD$9v zH#z6wj3~MWmWdOF!CFZAY+%n)uE3q4~?PXsC}D9`X5u^k7@l&4D0Z_UF23=qrle$zJoC#a{{jWR04O8K=4t$s{t_3KUw&tIqfx(;O@%czA#*-xZRtK|^K_K*^lg7uY z!1v^-9KO;7=eSk^9^Hk%l*aEv4ZjxfdkUlZLNeE{21yI-FrBUj{qlW4ek2-3+#sRX{NRN5k zZvF4mPUFzB;zb#>CU1@!Hs%KZEQO;70&?A=49V)m>oj(X=crbGu4b2)W^A+l5!TMZ zE>>i^+1_Ot>0o$;$S#h{bjzX3Gd7ZJ-xu38KA^b-rXaiTN{sS){*aR#{DTxqvA9CM z5)!dFMkNxhKaRr#JOcVM!oEbG?sXRWD_D zQD|r!Yj{F(v+rKYNQd0i2yk=yrzsTg(1z^?bcL?RHaSO6U*_MUz_)1da|ZZb5u@tb z!g!|c9Av=PB|qHJe^O`v6a`*vz*pd|94A-rlt)eQFINgIm#a2qMA7?l4(Bs*xBHhW zzb-|myqtjqFnqcT$KaZGoiLmP;PGHRDu@O{M@cDJj$K)~WSy8kAE&F8(y5 zi1tV~I?1W?q{76L8WRJ+fR6T>V4AUwhcYD3zhT>(nUO^XtcP8yAh!qWl`QA;3@@sR zc41lg&#FLEe7@G+{V7JR#i~EgQ2hQ#qA}I~gu>tx8iRzjSi_2mx;Cm(J7d|V!HJdS z8vH#mcts$59e%qL&RPEoh5iZ+pXQI!0rHl^8GatUzS(J1_GlIUk*KOvF3ZA^j6A%> zBo95BF^=4NPO-k~9{);(>Pn3&m9NBymf+h(qsD=molyj=NN2DjBw^FBN=#hH#b0Jf zBV6!}nL3tLXJnROcARWxWU15ij2S-R~>#_cb`d^p5*R z44z#CQ{ZJeiME@a!PAFYqKno8E^=1iuT(Hvt6;SO-ror~u9k`7MGa2)y1bkbVR-si zEBLDo_yqS+CvS4T`(}ZErc$6pE3n2;!BnSFv{-IdW{GPve<#>}Ex)^h)d)S6m3a|E zlZh?ME!s)le2o@Wqz_H8lS`Z8e_X+O9L~|~%pz9;_qr45ceKNrnE^T1lUa#vDA$O* z7fp(bofwfh+!@N{I1M5p=iHci&zT}h57Uc4?yRy=uEZ93?TzfP#Hm@eu37GvGbuJ{uF@l==#i;elI2cqz!Sw(ka zChc|@B|^UPeO6IB%OIrO6|(70>P@DVlT{1ZMR<1kRgu*;Nba%&N|WG+5y$ktS9?{V zLK~e-Y(VyD@Ej-ZO!(`R*41h7Yyr`0 z=sE$vL972Vl3D!M;OhYRVGaJV!zi?*>EPutz(b+@i~QvZ|K*1EDfC%JRQ7_*U}Z@J zj%gL_wi|nyHAZFA{nI55qmiXnOU+iXma(kp>^!?Y{A_e~dnrGGwq@NPgW?F_*MR>Rj0L9od`EB`zoBe^&1U7%x+xXuH)Qw+g}A z6p|a2fi9MTrjEGYfqDgLcH^{B;e@ZlyVwm1NE=sbzz=AEyg4b`5)Mz#ow4lVH!#8W zw#!b(LsShh68fp`AWO&ixy89mw|`edTXbL6E#x3KrFWwLBjS#ea{|p6f zvYgN{`^gBq@t0k`><4)~RORWCof1J0RrStJ8fY6He$~!O9?EvdsfrE{6`8QA7G_VQ z2N8wE*?DCd;a4Jqw+(b!azz`E2kb`EM(vNA4e$W$uUY=J3X^)A0v&6psV{kdjm4PCwNGPTt(3TR*a9|MRGbhv<1&;ObtbPl3ch=|t6;C=g8 z1AIwjFn!>&yOw14hwy(FX|y+4-4bP@RGV5UUs;m9qorvk%5@vED|u%d?zUE6ykF&i zM``an@|YL1hg)5rv^?x--!0jHyYg!Q*6yb4O6P61pJNP@K_2sR_Ovz;3&a0zM==^p zY$0xDIFg>$6kQE#Xm}2eVVsU;?EWtp!!|q$V^@ks zS0^Dsr2kWe+^6!KL)qSNDEL2Og13RxEb;?Vx7EiPYzB=9>Xv8)J}$IJi(pMg_$nL+ z>QRQBpoUMwqR?j0LkSk8%TGVISpZ%gSJc$xbeKi;WzGYykYZ=#ZP{-_pE zDp#M#zL<+HKI%4FyR16iBcXAY)L=C@9>hr1QsX{O4z~Ix8sIHk1<%?Nz)6!4ez^-T z^#oRPZ{yG28nZKXI2|v25S{GZ9{85u386Wz6(9mC1Fmp3rKN|AfnQ>bvz67g^w7HF zjxlTrp%7boZi=v14|&Z0oHB^d$z$4hhVytjO@6hlC(Yt8GRqp%J+uvIZ}O6WPy8DN z4ti)!h>kU`B&@hSYJS(cJj!TJ%hl~YE|S>CkhGkfbv%gZJ_G76omfRQ4t1~rdU7BAyc=A%AG@T!IToqW)PXL|mhHg{Id?yd>=!xilgBv(IG$Q*zBv~P{ zlk>GgNSFUkg^7L|oXi;&e%ShB0usgfZ{-;9TgX-8J^zbv&|Sk#3dSZFXp=lWtlBA?p`=@#6U7nmybmRSidgGm)nC9`K zQ`)6^9@`L@!mom;=x=cn4O+Hg&$FxtJb9KI9mq}L$q&IBay1WoD1Ng3VGpG|aL)8x zwcuP;oaGq{qyA*FQ5HY||H!D<1%FE`gR)~)vpn9mP!R55m0t@aTGzRpYxVmXbhb7QRENs&8tWmLkP^Z*srFT|;8lccajY7CdANp%-%90*}k;+8X*< zEOsIO!%E@9*uX6I6uI6HJ)2-^Z|)M0%iFP_1xYen&; zk8nfrrz@8%Y%kY!MyQ zil-HJp4NosFThn9Lp6@z#fWav`Qa{HEml;H+pKNwfr5ihN`p?AQM>E;faEAt1TD5XsI3YUkz?D;wcZw@tiR$0!+99!`YBG?(TqGdcd>8;y_Ak|INxzned3zdsf?6WsKyOzx&*CHys?N#2UF$yO7r3 zfYwFJM0&JvheAPLYi1hY@v#Oo6=w`zcvhR)$UTB7%THlLk9qQ3jeJ# zh6F<&BR2fFhvJPJoCbHNJm(s`Zn%(FQVTa%xokT?f-&v%|8T6PMZh6#x0Iz1!p z2B(dj^P?xK9nwt6!$j#Uo~K0;i+VkYMQ)T-PX9+%OWHUaJYSf{N$3D@pfdcD3sf4$WiP)W{>X%-uMHgu#I_VoF1K(yf z10N#%C0t>HPK!2}oLIWLNtEp5u%uN^9L37Omv^L^$jWmZkNEmV6~578Q3gX%ISVh8E$gEp3I@FYm~{oIg~d z-^#$1LSN44A#Jb;=LF5^0~({)iCk&;gw58MM5EZK!$e(Jq&26O{KHMdq{7KM8==A9 zCzo!1s#5WMZPF0F4!_f`9hdf&mS+B0)53q7QnZ)GBNZig0&OY|3YZ!B9tB?KXT^P_ z?aG6R4S8y{SbY-nq!HQlKIZk`RM>LRQRf}~ZG^MxJV||1^EwV|#BUfCV>y-1V$dOP z0rAruoa*`i;Dk@!g#Qm;gR@Udq?T-BzN9`2Y2fZkesIg{{K2ib;+J+fjKjm~0#X+T z{2TcllwMqqc@>aic{{G5<@=PM_Q?r-rC&)mXN$ppfj7XuIvj!U)-LKEH9EI4pSnXe zrS;)j<1!iuDxC1i`$Nq?D;lf{ZMf@nIO*msCYhJ3`$=6ab^}dzVt_Op^KhW~>_2y) zBsuT3{va3@c{XRDgy2H_Jj(Y4IU$rbH*NHIF1Og(lL^RstR1e zRu)yQkFPB{Sb-Dk>iAA$zl@Q_Ib%Z{cy+ER8bKaYENvsJ=?)j}Q3W1Tb_0G*Uma^A z-hp2fg{)xy7nFf|0qgQuj43Q}r@?BH=Zux2LinTdiaVtgzVEb%AEQVhLlvC-e02oK z64U!)bX4&8UIbk4%LXUAxK?uCtpA;a@Z|rx@c%NpO_+Bd*ss-pDN$?YpER zoCUoT&1%v@WKH_ARYb19!wcFg>n{XBU*WpR6(5KCBqS3)9C*Ccswqzi3+kcbN z@DAEcA{5myL8?X3Fp~0#iPD3X|0qtm_&#X_|KA_$CQGhx%R1yyoh}9JCI7bf-=owq zOip-6nr3w!ELt3MV#telfkB zFO|cqUw=%RegD!@B z$A5>)f7e(hd=;J=-l7x1*PAYmkv3E4+j6FLT*EvIr96ZeO6Wr>s~{#Cvll=L+5 z#F&mYCW)?}chephIk8w8-ev(8*?V+aNWrI;6$sC3(^nNu(yc1eFByNzg-fI)-t|$) zn@PBT<=@Q>K%w2(JuH=qtaxD8CmN!$fR> z-e74u1XgPzg)&iNZ;peN49#&zs(&Bkp1|8v&*3~#Xa8Bj=7tzyKjb{|{WhVVXQYd+qL{(m=%M(x^@rlCpM^%FH;?J6%A49%6}fo5bdi??p;LUYF;7D|SK*f) zMK-Ria_RF@tkrm|$f{nHwmFYmTNo`UHfE!=iY}R--zcTo4NiYK;Ux*q@TyDDV0}I!I2b=Zvu+ za@AhxV7N3h=4dv(>yu`BG$S2#M=JI27XHYf$H4kpo`!&Zij}8cs+5wVF0@lkUC0ur zAGQ;gL%|9c-%Ur(7G$q+0R9$M@&=6VM&Y5ZP#MTY3sT$~IK~fxR{!X^ZJ{Uvr@2k| zwS%VS$%ClU8X;D7>c2NVuvX~-Tvus4D8+}p7C$KCCFDrrBnNZV zX1OP-#}T+X7H!~MBNGZTP4Fb6zW`O^9|ii;_!1lKqJkG8!q?$!&!i}|`zbL^x!db|#_;!cO*}qD2EoBjS z=KF9>9<3_anS~SrBy&ut}^gm zNHH#Y?vvb|bb_-4qlD5Z;7rg^VM8pd+yQUr#y_Nf6fAl;-bi1*@;{hXu9eo;Ob$4? z_!54`=+rdRoK~Q&_wx=DoHhQ1rE68l1jo3o-SQKac{kp#@|0-68ZQ{*3Rv#n5}jnO zGI@_#>ED>cOGC!f_~)l6v}R(#LRpJFoQeNP$rGTh!( zoxv*{;p^}lup`-$i{AT3+89=}-1$)lw9H?kwoDrxnxlObdM&ti=|%^j+H#tFDxBjy zEpasHKda!M#gb$3)>_-*5XrQWx!z&j6teIox>(7dPI^4XO{Z!M6?wuw69D z-J^{?#~PEo6!`W{Gtx#AM#Z{?WhHyb2jpyK1)zDM3gIw$MY8u4>4@Xa1kI3k(xqyY zY2(AHTYHt+9&6aSK(Dv<7GdjpC^~pPQl0ux-tGuKVItP`k=hVzG#6D-AbcIZy%}vu zx=b0fc8Ga979AX_LOrSuDjFNj8ct)cq&MzE(de8}E2Q!|{J0}{Mi9d~y`OM(;lDA( z#IOp#IphYH(P^pD2fln)ns|!(H22w&_W)fIQAW&LgM>)?R;ak@Me}8;$1@a?Swn=k0J`#W@A^ z4zj{2sN@HE>J;z4HvV}w^+9inzakK9|B#zWT_E#2CKXT&)^Sq|)`%wfrlj{+J;>lS zp9>G7j?>ID9e=&b3a5LY<;&#@)4gv;K&UIDjGd(RI~~X9eY+>x$OUVhtBCIl(ZQqL z&ww?i856HB;JSE@j?J6(93lYkM1^}bO+olNe4_Kjj;ugA_XXf1HFJ{=krZiRTgtr8 zVSL9pFWHv`Zstc~JF*%3igIPX-4jh`Ev4LYpgOQgDOZ<_Z(Xl^w*rBYx8UbjwHgQM z6rr2M=wM&K0Kj$m_C=rEw1 z0Qfq*+}CtVNMn!)=oM^n1>2c~ufk7RUohV52|QcBbr2saKR?gAgYO49Y)WEz6HxTk zb*v+}N}38fyp;(qSI_s}#N%$>VK}9Uqy;{M1>Oc|v$=NTzL8p{dSLb8blQU#1`<^r zerq%M#HcQW)0)92MiqFQoD}Y&(LJPf9uZJ0K%DuMMczJ8^~Z!@!+{u4wa|_7r;EJf z9B9x8d+-)z2Fj^(4^4L+vUl}QRk~rUR^N2Mbz}7nS8!Mf;p^~!T*#{DAE)5=(eP&i zPWN;m5h0Hl8nfZOAO52^{DbP(a6j0;{~315NB%U<`U@-WII@55V+cXbR*>TruG#7XTV z!dLo;V$V0@re?U$?bZkBi0PIuOMJ^)=~`nQ6^pz5{<{?c9fGT%Z(;i4!Eaft^X|4d zYi%yq$;q)=E|zZciQV397H1!>&}EpZtm<9wK?zZ0vB51C!O>WJsN2@Mj4QZY{hs$C z4?Aa-(T{8B2r?lEE!x3q|B&2a>fbmJ{lJ@o`SvtD1&YTdNWp&q1^$H%w>|s(HaBW9L9T-YEP3i>+qREur$)_Dc0~$ z35IiFt${Rq6!;Bj;asOtaj6v$0lnjTH#5{kK!r~V&vmk*zp~tAdW9c4jh%3vVIAHf z$}oBwL)2iEUM)Wg_jKRR@1=C@5B}@;IzPWRBbpGsflX(62U{7}1eE|yuu=HXkhV)U zE(0o@WLNFcf#K}@K5sJiY2`7-Etgs@(Ljf5V;C6(p?SSUxC-4eI6yzSi8xemYVe+$ zD%X3bg=jReSl!21Mxw$Kam8zAF2ZO(@%Dq9g|{^t3at1OuLMadjaKWH)di@?GM6N;KNbiQWV}o&(Bjv?us^YWD4jNba4io z6|~gr@Q2Jsbn$*~k?k(thb6QXb{c#4d($a;HL{saF0rAiwwL&&PUN7<@2qffz|Ruv zy_GiHQAH2JLwvKYz&>bZ+EHV5eKoxqy+F0-@V~Uf0#X1tEJ$qdme?>dkuIa`vFgM4 z`Nr^PqF7NUubZWR;q3>VGo+ar*9Wwfjzm9Bbg_oR@agHx^zaH}2P3*~kA-vX;V zmgRQq%d%whg0U-KC~BxZvQ0Hz%0%425%kNh@ELKe!JUOG?MJ+H!CrDQ*Vj1c*B6^R zokrK3T6H&6t-~u!wyz5B0=T};*iD%YSm{y4Ryyu5@0N}#eux^AW8gY1b;y>urnEgrbMjQY|w#8YY|8->wyv}x=^iIQjep#oyDHhD)VW$-Bwz8E`(V%AhqsgeR zE4Lc0C{}gKy9&uGvra3k-&Rxn3t}!Ys>4Dbqmzc~XNh&Ey%hEwCm0>fYCW9{_4E{( zOY~uGobmR95?d=6muaaROnL(Sr?O4&T_w3){t(^IKXMX z>twr`uvE5*Exl*@nl7AQZSw$_LPuQe?sL$}KZW;#0ojme9+5~;9gh#Gf=ThL z;cdwsd58A*cAPoZVcVhqUG55A`5gxQ*P1c8$v{=<7g|S)!J8?1Bo0LC5k!hEv=iETodvG<>qRs2>ruSH3 zGwCL%ybkXck1V>8 z*4O&ANibR6AKsF_SUz0AKKdlB{Ki@`QIwNV``oRT&ZQbRVhK3KaVSqXaDt^fUl(|9nzsxNsf zCvaS2Gie;CmdW^##Q$MRB!l1Zk7}8s!PmHq=O8Ma@SETwYrx(~-uRcdpT$yUVdwwx z?zX*e-342Wj-2;i_V!DQwtU;n{U001OjoLj#Tx-vAi@2(-;9A*T4z(a8A`cNEc+a4 zycU^cyES-d6C4}oNb;ucRm5qpTy@2ZcSy_m-$cr8cS`y7l!isqUacKTJesj^!VOf{ z+WWlwmj7D?|62pT$`#(hbs#N7K;T~mSJ|3{LGwzXPl|XontvAQ8kV7e9a-eAc`4uL zRmyRO)qfaT^OA-}(^Vx~#*H$be6Xr(UN2sbV4q#{&b7p1jsMr%$MQA;0sr;xc7DtK zD;Qe-Bo1qex!a<>1FWK1ti<^ zUsB+gG&td_@N&G{&ij%*k8o)S_g|%@sC~^a9;GPD<+QO(77Q2t*$Lh^yzDp^?x5$~ z>lNbl2I4A`z@Mg2fB!iJe$K$$T!rWmF2fm|#DSPo;jxypLhuDD7vLp?&$d{63o?x- zbJUmWvAt3NLNeEGGTw`=J~I0<5WDda#co)AgIMkFWB}THv_W*3a__KWo3E1phy7yn zJqr`-W5MXVQ0pR9s7w54!5EIM!dn^OB|`8*NBFwLhnrOCb$kU*S%gmr!8fQ#Yw8S4 zYbL=5X?}h5CMVKFd8Q z8q7JiE6nG$=UTQSuIy-j0Cztxh51Gn{>zVZ21lO6q8@eRZ|44JCb-ev1jn9PxL15i zd&1)lRu%3$=)8t(PloGHY)*u48qAk5Mn4R@9O3i2zUIQBjUIHC8|foU^nb4SzZM31 z^Mi2;^CC7Bkv>`ie=}L4>bRtV6@78~I@ahZVu^Mi9l>^JCL0Xx6I87EVLvKn2`&(T z;Kh8EYHPst<@m{Fq={iR6TY z|BevXMkFIsh(ZEeISm^m#9cUiF5dMSzut6bj@1diB4-izl9o)2T3E>vMBi}96BZUt z)?$d#?AG}zN7+p^BAXq2A%^Tj)uNBKo5z}2Oo&f?opzcw7T4RU!+$fSNMY4ZAMF%F z97cy0Ys9bUv!$l2Tq-T9OJChvG~=hEK2_oWhPQxU51ZJyDfo@7f!QYWd5#O`#1KkX zaI8fqAn1llrD%*KRhj4jxZa>4MxyYex)e$MycrEbovTvK;J>3awJFsSD~>`p{KT&i z3>GTP#VB7bE*Bx^aC76I>D3nPY*=|p5tBy!H&q*AM2A~ zDeP}%tJw==^uC(kOn7z=!1cbUwFj?lgs;L~;bl0#fp@G-r?<74$==6M-y^2^3xP_u93+!nqPt1Tydw3F4I$aRn4{gSiK$<~aI63ayX0juZX3^olnS6-o4gAXlTs7Gc%Gb=f2k8(6 z?nO_3;|Nw=L_n>;&P@}Hs!J|S^A*{^cUCiMlP0ZdhvMwh#FPftpPHWfy`aZden%4`1kFu6YJO ze!Ey>_sON%z9P!6_j7dcalinOp)TNZ(js10F8i4sMFdmf*uuvKo5#c^(I7Va#0J~{ z#HIpggT1~~{%>}_*EbFwu^IXAuji0ujb6oO%+nG$;e{oxS`#dyK($Z}w;&DP6=Wx^ z!k_xn%mkw{T+WSQk1A1c;oKnnsb|(CmS2r+t-!srVjk0?hG zt(A$VA4L$8Djbj7G&7kA|7Har(bpz#zSD7x}NVJX$F}H*5iH=%4bU6}U@-ljIaD@Hp<>W-^qJWU6o^h9OS>+qh<96S(hg+9v|y1pxRfBxP<1llrroe6a$~a$b zB<#~x_TVEUT0zF+Lqj#888~T*J2ZHgX6#qOSK%YV^APHq>vMP0>D|(dXwc--;foRc zcRevb?hm8m`OEUw$-Za9(TZ0c##NaWKcvjfgC=(xtA5B=%a4$U&hU+k1M{T)VgMWsDjzMrH>wiBZ z8cj@=xLjEh-xQ6h*yU3EY60gT3r0^iYh0-m9%(w|lXEM44Hx<0OepU>P6GeYM$1cW z*9I^%6BhxM<-=|aWI*g{=jk);hV3>>_`CCP8}1(=Tj$Phu#*1n+>b9}pZ?uBPm1Th zMxfq*^L?xYb-HFq)O(ob4a@zfGwrb#*i8#vDSoxw&daa<(>Xa3;NM*)aHFjYd0ZZE zCKQaSI;~YTp5CEo%B0J3L%K-(ZS4M#F0`~>HF?)rV@MZr$ILVFq4rG$NdBOZ92S05 zc}v2)GEkN0v?|ZpjpK10UxzQU8--VeF9!Za!k4#%c6p9Q^(j+Y1i3h(%VBGou`Mbh z10v-;;Bs1WU%B1iWcnv5YWgNkuRH}fU5}-1-xFcuv)D$V0Dc(PCB_dri;st z9{E4Ijsz^Ks{7us4KU0M2m=bJAmT2l!^|)PGBdy+2o9*J?@R%&URWiFW7s?~qayYJB(-u!;w_44N2bMCq4o_p@OyUXv= zV`ykEDu54D=Mjjxd!WaOR7SdB~cO9?-EuFNX7gwNop;Q{LSMVUSgjoK<(lf=LhIRU~4EB6NAq0f$HnvMPhubYjw;&M+%vxmp; z&(Llhx0s%UjD`m0EOj#R!?@#-Pc8iYSB!QpCmb9;U)MD;Lt zNJG(^)ZHhU3z^)nc$6_OACD^ZFqiO=3M(b-?P;!v*5EXwzP~wDx$P1h{mp%_R(nJ$ zRS0JHH`nmfAS%y17OQDjoVur^e0NH0{u!?{^h~3v7<(l6?f^G@kr-rnKO@^n+67Uc zk!peP8wejR<(XZnXcNWp{uA6C_?vu<7cn6dfk965m~tGNw^iJoB@ufK)74ANOb>9V zYCXc`!gPsN)(PBpnlm*&aYApG`EPm(Lx@lxtlO(#qb@={2lN)g#j>DA9rH8kOjd+1 z!&3sx`7|J0WM9~Pzd3|g+EUp2fVofb6#k(|sJ{bMGW0?7ec{2w!VcgACDwfG5vH1H zw^QFXaLr>gb!9dL2gGfZZJTki5p$u-95_c$+!;94+`jw^?Oc4-O1uLce;y(ExSKGY zOsB%nYiD#eE8y3{m1-r7nr0q~FQrwtJRBtKoo-$nT!1b`fIGYEkkDDF*180+<~{{H z6q{s!D=rYtG+!Vi6|K;IoQc8fy0Gpp2iOWndM0-XD+4THkerk0ANJT|>Dpvj;oqCH95nvf$hdA3@m5GNX1MF!g75+{VhPI8;EJD%~=5l@zOnSnc zmw7+G4Sl5_oJC^yqgUv^%%t1jexF5T%<}mFa|W-=tRv^iM!zgaJ!#G~#&ctpw}Rv9 z!jtB~LHP81^IUTW{yQ){Wgd&K*H=D;UqwRoQ|4qIjhH=3eI3Ocik$AzLDN*LsY(`l zu}<9`QhFKwPK44&VnQbsmCHNNue|@Ns0@EMM!kz2@gt=SJ_x#iTMY7TrZARaG%S4D zT!k7N8{nKbX{_w>d>EnJo5S)Yjb-q7u2Uo!EjCk?T&eFwD4orJ)64LGB9u*u!M7;N zSre<)t*r`pw9;%ydV%;oS_IiMz|~hofR(!~HwNd>pEKkBwRz@r{#z)UXU^ll6Bf=h zkLOcfEmfbNph~(eYV3wC=fLnRYQas&cowmiLnVFvSE#0lp9;R`FwTcYj8dMdQ11sL zHW;a+T|>aI08__8#sVaD87k>3RH$BH9v|$dD)=0dxgKY5)0MZe!`^Ch1zx6jhu@X; zkW^zXM>83sgUlK;UT9on-k_QAI{z9DV|P1kVp}>dnLjet`=y5XQGf}5GWPFD@WBCg z)eyc6uQWi@5F1*pCFc9E5%$7U#NwJO)^4y=MMUnfMDDo1qnuNVjS%-N`0YCsX4jg< z@kqGx&Mh2Eza;u;uLZb}jk0JGv(RzvV*Dnya{wLnM`03(j=JDC$pdFWbkrmL4m>c$ zq(Xi!k~C^_@df9mya-WsWPx&LYc9#MTclq>Z@(;hcG)=HJQ6F!v%*ZTl-%;`%%Ne0DDXLc&w}6u zy5@SCt<3hjs*aU|IJhR|xFNt*Vf6@SF7htTI(mT?H)SffSP?#h)1<4~#ojK{*Eoux z*J^VfPB}Pn!Imaj5|9P?B9k2oIya-4w`NB83$S9fc?h2f&8x8$eF%m%=3F${WoyhS zd^A+9!50~raUTZaV z{aq^jpGnFNnF(h%GR0bTG6xT@HMhr1>iu_guUspR6LJG|tfXRciQ#BgfmcxjMI z%O#?*bNU}dBzzg377a~7I8(FXVAcix3M_m#s|uy@tKT(>kn~;_xvTYU)jOMyAgwJ@ zUZbPb%Ogh>a9;qQ`WV93Ncc0913^iLsAfetjgGS-)vg*5ST7M+=Xa+Io(;>Y$4>H{ z0Ec&p>_!RealeagSalLrRxBf2c|WTI&iP#qu#K1Wijf%vy$)sN@jt>OjLNY`^?O`} z5&aNTi^C=?N$@}@VjJ#u}+!DShM_Chn0s#_5IoJH9a_szoO6v{~w_- zhQ~v%53{Q7t_~lUaNx~%@t&IYnA$yl*MO<0P9#RV1^tG>+gi z{osTz!v+13EN8kVuPc=A%f|VLYgt-eGc5}y|D4rc^H~%HA(DXBUrx$K# zbuIJuqz6LrMkC~(=3(d`wbJtLi7M>h|2>vOEMYf^naW+{ zwsuNd41NOPx21LiS5qwP>ZVjnd(@k2ZPkYNGX=eCZIv^%!l+bBO)#3+HW3OmxRq|% zhUM@WmAia!UENY%YIu?#8mHL5C?rm^;HlKdxIg0*uX)0mM=ceGIxaa;aS<6l$!och z&EEkT+bnr05l-AN;_N0G_4Sgr%|}KfFmR5UJ(ofCHp@T!JfV8K@004X6|_^*2zBsrdwGq_2Evrl=zr_F&|O z42mv+m!ju{$~~BpuLR$l7@vb?ih2ndZ&_a94N<}IvAUQ*L;}#i^UWXBMLCoJhup%_E4wtzGWkS zNbnv)Y4ZO8?_rEf!22N89k=oT_VnSpDj}rx$V4?Y1jRZfHq~1eH_%eKHfVlyhuNCP-kE52k z$V6I#dbW{>1WTE`8DKm?OoWQ?(cv3$7Pa+eG{R?aj$13uM)H`iJR3<&i1eYyG0R-+ z87BIzQ(;Q{x0EsvGr_xSaTddf^HCR$S<*9)g+wc_RhOCotqI7p!imKwy0@|&|p5dI@9Sw7GBZ3lu;A6q7)1?b^- zv7B)BW6P8v{z345g31#M)t^{KrzCS-64mQfw9vp9`WB)-wX8<|;Dy}3N>N_UP9g&@NDQn*0!&`_I8GMBwI3~}aQ3}6XAd-fZb?qN*V!~k?V7)W zh)ht=xIY^N##0tk6+=ARe|(wRRbSnb(O2$;0pP1z=mojfm#DiE!e{yY?7BAaXuD3% zwqijB{9BMJNmM&s-`t~qJ8e7 z@Q?D*9wDKi@dY}lK8J+s!G}@GD`m-;zf7ayFfYpt`qQq0i_OK7-E)vTPhA_EX(hai4U(Ib3ZC zs9$4nLvB4Zp2yW%vfa9)pZ;P~&$(B}OTw z9(6^K?PcosY0l5kNJzQRj8Roi07FQYl%@VSw=e*lEHQ(pyBC+MTQ}jyVBj1l`|lsD zHV=f);0BH7KT!RxCArf~XZmQh1c-0eB5oF*gGNjk^ssv-G_yZm1jBdu%etZokb!?x zRTT6bt*%Vs#w2p{ru%jY)k37G+x1RXdBhEaPs)C4pt|27W5`MiMR!%8|KW@k@jFUw zgN&gFuX4l|M3yVhYp@K604r`t@ub1TfdAAm5nym*K~=f>(pfTwjDh^3KL@D`K*o^Z zRh*;Pl|5X!5s)!J1Xu=pJnoU|1$rXD-~$F89;UX&Q~*{B#{7zMb$wC+5bnVWxAw0p zS5FBL0VZOv?TdjA=uOUeQG_;y2pN1r-ygwn!IFH>Tdq#y@GP6NkC^a1DIsynI4Lif zIYPbHpGwLIm6^8N#YhlqOR8m`{y?n%y`Ix^Tnd$=J_T>D70#J>QZ% zF6a=>gSTv_gpoHbQ=>XL6+?75bJH?}FNBO=Py}AVOA$XosQi^irP%y_M**#Zj6d+_ zkHJe(DpXSRtx%0oG`|~s5!Md;ENG0d=Hc~ghDd92{&DO6!D^i(o7_<>#$fZta^=k` zOlMz27!z1>*RD_*iDZvKb)+naskYvd{zrw%cGi6w++vfFjM%>k-el{Sv}yIa@u`Zot}$Y1a}*uE zO~l9RDU4{6@!e1!1u;T`lXBQ4c(GA^uRAH14CiPd+6td4JBRRLa|i2OoXZ#)jYi2e zO3cKjU_wlUlc`tqibuL&WJhbCjPBgrST#~DQk6Nsp}YbS_97BaMwP_P8W-joBIcA1 zw>nz4;S|+~IJl<6vGbu6D?O!J9jCY&P2z?$t3R=f+^jY#Hi1E6slO2ZE;Q?1+iH^AG;Iy&>2pamwi5UKAqi#aX`(#QFo^EuneTAmggRAf@vEQwFj z8-`U9v^D{Z-}N(PcBQ<&A&`ZJ%| zz-K1X3$Jszhfw0Dq@q#h!AQ*w+S6~rs#SQg|1-D-b`W1w=x!a%H$ZcDe~fv+bPXf8Bj`kn-rrMVfLl*Zy$AXAHcU z*CW7;0pSxIkF1}vHQ|V)KUM{sG8m3~*nGXM$puUEw|dpyC}{&5`*+RXS)zuMHZb^+ z{69;fe4^RZjS-$vkX}Zd`kx-6-C9z{*>{6C1FQ04(RHY#Kb|T43aassPGbhVGgy5z zgtB6T_}2#f7aB2PLD0aLM%|qp?5Yr@l`1tHO2|g*&ksl#rM$w8Ns}~`5t>u*w-+*J zn@uI``_BTq=&{SUq5qp+njI*3R+PT~8FeZXga27@R|z!rG|TfbPuR0diw{hYUW{o^sWM*!8zwQWfezbTz84(H%s`a z4Lu|wFX{iEGWG5&QU}JsdE59wP~O*O>dpv$Q~0@9Y5pSyO3&bnJR?ziCfiIAOkhQx z|KfEKPnhNJG|y+HP?KXdMKFQ9=(&3!T$^n(g|qL@MKi$A*P5Ib;tBab88O1Ui-zOO zmK(QkF~oyKNdwhx3NgmutBQUUYtDaFYa_y$Avt2H7^u7+ht=#GE%5EG;iWk7!vlm~uR+fd9q`LcZA0WI)(hw>)vj<1Ao1mHU ztFwPlN{_?bAw3Sm1VH>TLbvn(f($d->O}Y3rC^+fD#0i`kgu;$521)r20vbOyBwOH zMuWm6JNfnysqVt)CTJ$YVIA^%AcO2`VbCVz*h zlKybwhe;?nXB1>uupoWGYeD|!W5w!@gcxS@?r``@>AI$c+*o8- zzOIQFX7JH=LkYe=jaSJJLnFFbY9fd~P|9GWCsJe}RMar16RF@oBET5##`gutbj(k--}+no_l= zONz+y`>p@Xa>YB55bm>(FvXZm5-FvZ;rt-wen%<} zu5`B0i*;Ql@2SYCgNMA2`ioD=eyKv$wYunXno@8HcBx?h3_A9-@u1Xq7t(ljye|% z#QPsyXT>T$D@lw>z~Hq-pNl2*R{_Fj8NBJZ1ZgTLmfDaO15wm zJs*hj@E7a`%#Yz8EHa4p*}rKJKMWq^d2Nt-35@U={iQ|eq7$sb?=B^H#iOMjrq#)9 z(oME#(X%VAM)${#^e8m;w~kHOG*rF1O7+ZAm%B2+n}?|lP)X5AsLsP_xrN|$T1R(^ zE$VOwUR{&dM%1zdskfubW7sK0IC^&?+Er+FqJ`R2Tm%LeI-u_t?YINqoN}5(#7qg1 zq`(j#D*9ls=zxZ|!{0bZR7o*ZB4UuWcmY(qkm5Y>QKW}P7mmMw1%n&EMnZ-g6Xg~D z0$%*qXewZ`Tbx6v#^0;fdu9Y^w$#@#-MLXXJpdd#S4meM^Sm4YPWVihDm@Q_qElsr&gDK`ibr|eE4g10{-^|}PLaU}6iyzhe3l*);XmqB zMfz2aHIDicdVsmu?*V2az!>P)zo=Asw*@0WMP;IV&vm6teKeN}z~H{3Iie-@A6^qa zi4xb7n);iH)mv_f0F(6~&x8QlL?vJua0A8$FwIl|2ImWV1#nFXAL*k;I9|=UH9)zW znw5|UFa{p)|M~#+tD!CxyXUqOn~zRpc)ycLoC?g~3GOBl z?(duv!;Jpj&IgMW%S@7+f&31X68zzg5?xKTNn{!H$^OWr_5`WG41OYSeF4H#I` zC}SYo_51*J_e)C7G8o_g(Gr;aI8J)8?^kmMl&DvMiD4$;mvZ`g)UGWt%;4)>yNg5t zMKFPl%Ux9f*PgMNirIH%?yLgpll)bd_+j{lf*%41jLO5{8(nGOEx~z!i5@i>O2)GJ zJoiBn?r&V`5zbL?2sz>4Lo)mnXv8RGSDEs@eJ15?n37FCjLa?o!$3^^IAl?t<>ddXUm6eC3Vf3i0fD+d|>))Iry&3&m< zy@EkfWAu%h{IQVX#lpnr>%mKZEO9;smH0=nA%D|gsKK*n-F0GKf@AUk_2ygRmBFVu ziU&Z=>XvDX<@Ucy)t(Qf*NgN{+5YgV_Z|^%jNWf~Ux{|fzgg^Pf&ZHKRDdBc;zvjs z)D>u)C`;HU1Ht??l9F<67o_!(7i*K+QsI>#Wc#T)&j4 zw?XVeRv7$!=h0HNnv?o4q1@w)hK#|eH)jjg%QTdXk>T9k#S;5Z4+t&rUU?4(fbT&# zvjzAlWvqIe;hQb+XdYj$9&8m416-vz7T*OPVjYK@y(@>Hd^$iiMTfzMQOeu_i>vG1 zm-uZsANINAbx~fdMfC2DTc0TPK`;!(Xbxmxr1>--jI}KbVsq`d213wRp?WB;HFkjJ zp}1f_8>;WX3?_RNi?~t`_cmt0Oilm3|3D)pd$vg3Z%{JE$8)wX!7vP4`6loV!<=v< zKSn7w+R58$k(8Kcs}OVD=&RoS?j0xa9#|Kb}$mTlT;f3`mEJk!U8q$?pPQ`r|qG0jR`3I@#R?q7n0-3Z<-=Lp~}0 z68JD-)eo+moC68Iaynl(a(ARpkJKtY%l7=WJw>$ z+KTWr#{}o6fz7Ry!Ebq9s2pWYzUOgg(LnX8I9XdJ-3{)(VoCg0XvqXJ`1=LnqHXdo zDd98emgVn(X3Qu*+{hw*N4 z=-{88G8RSP=u)s#WXvBuH zT`5s-j3ImmUs9F7xkPPaNat7v$Mc^bh{xpeqD7t4Ds+y)mpIoHt96p_Sq3lUTpgeu z4U^6?cyM=j`9NrT8D|2Sr+g`=9#>NaBN$Np|KBQm>*D9}IrF|6=ftL(_h!5HhRLH(=DaWa7Z7X&iFHid*HJBI=*N z9Vh)_@IKBp&^QjK=EB{74ODkZl#rGC7uOpVV7%LAdVnFG%DW}DIR7Ce=@WzhnD_iZ zwVX+x7`+nL(GhBIgYX&rx(l}gjz{}?C-^W*x#(59Fw_iKv2~dd&`inBi9+>vQ7BU; zw3M7Y$haGcb_Xv-e?lciuR%3M-N1)Y%0Q2LZ~Pu4!7Rm;yfx5Fsb2!aJt+RT0Wf(< zi&Z}D*aBYq8J(8N>#$ZBQcTX91EA?1OvW19W4KD|!(@CsG~RClxMGhTv^2Zi z#f9n1C)i96vhSmr!e{WWUDt4Sdn0;A z%!-|L`~bcQ$ln2I#7J`p-G_}{X2ti&0P!L zdy)EwP)X5EsHW&q@KMwk8t+AWw#B6nP-N=V8O!#(gQEVanP4K>-2Zrhkts33;OBC1 zMfpA~+wa(ZHnhy+PszKpOwBu0KU3?3!sTV^9S7vZGWa8|VP)zKJA}{Fdbjg0Y>%z2 z1L9Xn2`={=J22?Qy{-$Q{kkAIo>Y}AgT;AQMdABDT|iaI;5B&};=td3A%gH31HOKn zixk%-Nc8vi?;$7nC&x8V{SG9RfVH8uIj?~4KUh(Cjs_#m@O-F$2{o5B#K=tCDMvoG zg{7WiI~ZVyP3$tb&Kfyz#E9oPA%) zI}45XV@q9Erk)fd4PhlM#XS**2e2!C-*pHw9za%qz%~0#sN@XZChHEU#Gldqt;S@X zPTLdc9E9ryk(Cz|EM#Pq4h#UZ4>;!(Ct0t;;47lIKb63);Tn4c9g9<+7{ z;>QWzN!GC;xUJ4N1=-r|!u@qqF#ivsnW9@@n2L)3oAW{d?~SI$I%41)kDJGMl&@bf z?|Bo#QbqVC$I=SiwCwC57GsOl0TMogKj~@*)l;ocbXpkpPdoM9D?}(wB=k?aHIOk4 z87lzqG;6YPL0Eh@<+&Z0JPVsbf+w1$V$2FTN#dCp|9QYIEzEqGWAUh6eZptV zzHIS{2HjuSbuIM6+_w4xb$g=;D#pN1mR$vEw}uF?478SSp>n!4Z~T}-b+acvm@Hnj z%q&)K!KQMgW8fS;lBc>&-)(Vbi9$ai37zm6{OxqSIP6iBWhG=hYR&5%pRe9sLrk;O z%{?aOEBi)R`KYzFr}Er8t8}W=u44X&B6=iaZ`*PyqcG|*>owl^UDQnT-N{e8){1Pc z#n$z>H8VJ0_eByknQeI0kNWSMiL4!iMv8_&Gex;zn1#_s$e`#`@KSUHDlrOs zH-A&_F76q^(plEFyk@@>uJyt@3J%S-cEx*jnrGui-S>>J=m~2_yhz6Pgf*AX{2{2e zr{?qtcP~wZhMS`)VEogvEU61hJrk8)iRetuZDiO;1<)Sdg^9nrS!_ zr|XG(h~2<7U|u;ea)EUSUm^GwSl{L|i~62-1$G}<)x6dxC|@}_1}k5%eo|GQPuZwl zA*N%$^!4SdUDlmg1g2awGao2W_wM9+G5Ep0cLeY#37_%wgeE%=nirx${0v>+f1mJV zLMHEr(V3XN2r?F7H68^oMyZ*lYDb40Fh=!8|L4&sz^S@!OvQrq-{q+{^O0xH;MpC5 zpm7n}iFuLP9h5iJSXdpA3kd&1%Ni`Ky@PO(b-$AfPn0ahgovNl8I z66_M{^PvWC-GoV~!10JUdhvJ4sds1a`fU3EwUbPJBa>NMw;c~Xw?6qq_zXVKy0l2$ zjFGKKDT59QVQ~;M$y_g;28``#fe2 z|FYZxzFKRZ<^iYJqeAFX>&DcPi+xLJ41XvR7Y7Q(glIFHG`yPKQ9 z@Df%?He|enI|~-O)drVD#MC6m`YZS_b;`z~z{yxG&+k-y52bjDk=57LN!HXewJDP3gveRTUT3y@G{X`{Y()~Oiw2)V({7JKP@KV!Y1o| z;l}Fl(Vdk0yM$3Yt@WDV2l$`bK>1BPf0Zs+J(;om>w3kt5|WSbJW?zXsov&`+AA$P ztQ64V9OlO*C@!srGlI1uEtT&Sr(RJaQl%oP-}qs8B}@?B+jrj{YiN++Rn7cZg^7n* zd#&3trfUx4t6!&``J&wmmH7ED5*R8HnXXCDE0&pHWP^3FagnCP|H{4F4c2n+B7Q`S zdIQ`%Br{kf70yppquGx67_jS9Bh z!tF!WCQatsnso*>3ol?6V?-7%X$JeffiB$s5Yh0!%`a^g%d2qa7#^0fa`8!MR9(|V z$=okV29OS`|BKv}L_ZcrePpc(%DkYz)>XYkwG`1<1veNXdMKSBA?diahEKbf8`@6Y zu$Q;wb_aJc9-7kWCZA8N9>X2no6(BnJ%Zy?>mz)IA^4Bzz~`(O%bhga36Ddx@*Ve&{0W}pe##d{owQyHG8(y*7<9Z`vqkaD zK+oU{td}Tmrb&4SNLcxW6<=0s2>B#hx#|K9r!nz2!PjFI6^^feowiOk?hU=q^6E-IXol@5pF}p2pA?GaBoSEC8!$V2#kGO-#yc-hF;rXc&E=s4^wFe{d$MQj3 zd6eQ&J*hftu$ZGTaE|A=U+_Vpi>{ZsYWy@vuEOFLxRI;Uy?yq1_x=2EbR{<9vrp%& zwFA{l&`S`5DH~o`i%%`>M!`--isz*qYY{#|%<)bxEk>aUu=l*RPuegp#P1a|#KeE3 zK6i;o`?$0Cmi(7wPQJFL8~XD-l<#4~$giz^y!rfPeBrT!>uyn21&WMWQO|R01HAD- zc`*2HuGyeipA*h}ZJip#uLtk<*wY$?>hG<|yrF^T@lnwf*F9n;9%1hV>(3#^LjEnk zEAOGgG164RF4GBA)UfrxrI?ztdoNb(R@FhqNTu@ zYt}xR$vi%Dj4M8R9(w<5?QeLH@2-3VOqlhvwGVGxtm)+c7+k}3Yi7m_%}t$pE8BA| z-2I2|th_)K&*I|2zKNQCI`x*41uaM(ewl@TBxRIGx#XF0*w^KKr=;nRJE@N%b+L(ycFSe6BOkO)qQRI zcsyk1HQVx{9?mD{zk^0}{)H80TN@2t8RfHJ%2a5iXgD-u6m`1bKY#9ZU*|u*JBQ{l^dK1>w7CM zDiR!C+atV@?-b$iOWROxdy&W8n-$3Pd0a`x=w)0-wyjQi#Wne#*IgfrGWl34F!}q; z-|(Pc?H!D%(}c>wHoRxuS9ues1(aVId$ddc>PVS4xg z)ATtLU5iEj77MptvK{9&cOivkwlSLF_>A;&q_{X322mUo3=dPhIS3Xl#~k+}{AK*E zML5Mn5Ki&m!NQ`KZT*b}W4b(OSNj9|vG^Jcoa4!iVFhYW>Oc$paLy#&*;xk5QQmQY=fO%}c3=54kwdE*1AH+uLDkI(L~y%@D3m41_^7lm0nZT&*= z(p=wLNZ@H`#3*Gn&VRL@!KAXV+2Nw>ufebvQ{y2~ie3dTMZ2JqBD@I%BhBn$sNa`m z>J}>&|EX+!fY}$S8#dQl;@AYuh?X*~P(4|65R)-7@j0g}rb0fY?sN`|e>dbr3@u7N>L^}+eqtwdfLwS7xs?0uHS2~Ej4|C!R==@b0 zN6%AklqQPaZNd4;S_RdVtU{dk@}I>e(n%ueZ!Et-BPMh8%2$t~C>fiJ+?H|5tsak( z#2A_P9OEHlKb9*Cyc7XcQuHNMQ-rI;6nzbi7^O_|kh$FMXD;7IO029e^n4o(2T(NU z!FK?WOwdTt$IwjCHNkMub}qQr_u_Pn|76~WEi@L!{nbrTzmWKWZAkB+&Lm_1T{cHs zP@38}M3VCUGg$e7t#8!SZi`hmp+j zBt`3h6^Cs@^jDGl~di8YnNz7JAJ`+=Y28m~E^zQJv08iL_f~d@d;9U%ck3MP1-zruhr}lu&Y+8hB_4+l3%7nTmpEqYP8@eIfJCUoEZgfLkK=u)tq(O4 zK7(K6qW!K{XA+?ji}dNezu!`o*Zf1ymo~cbaAyqb*vPIdmP+$k3t5i)vO`wFLD!Sq zV+g;BHy(azqi2M!MBo+K?kBkQ_-mTvX%H4Ob{zMWfnEt8D7_N?FEh+$8nuh@p2dHy z6N3{zgX0Yj0bU7eLb$ldB5eN3md|UtcY%66YBtl?ehy!$c@wg3hC1d85~SdsIVlXGYWXBNxlE~bA-#% zI2_>Jr!Qo9XRMkUzo#ylIEa8Oj+yaL|EpL6WVtd4-9Ns{~_cpo{xr<3HuPg90qH`t8kwr+{InYu2^6v4jpQZ(3+W%#8O z^#*3bPnGa{$7G&+$@QkFF>gwGM))F}EYf{3CE_7cQqNUrTYjt~3UVWhxQJ1kF(D}V^HA9?lxG>4BA} z^^o~Vw#n2LF{x5(T4`l;HfiOfelKg{`}W!Oe1D-VCi@?v{GQ)KIKrs7>>6TwVHBzv z-dRr7_biUUP1*HmOfLp_q?(LfPl%pFpXsi-ej~y0|Pg z+mnf%T!h*iAv>BW@pN9NgbSlOWsB1zpGGRHU1&(lzOK<6?f~^a;Arwtm+WWtb2^e* zwRnJ|x@Py)wCe~>X{6X)v+<7hrD)o_W%t)yF~PNyxa=9)J$pkeF2ir_pWUJA!>EE3 zoab}z=l7#H;D}!(CBQB{Lai@ULOFx2e(x1C0#rg7u8CAX%trW(fjF+hukFhCRyhH7 z(vf3+X>|P~D(pX!LVt$@n25u;%(kdJ@`h^I>&*T|r(DH_23NM(?}fHouIz1HQ7e}Q zC>e=Pw$EMto_&C`4`!ERKYg$Awt2zvPVaLzp1UY@~m^HbX|e9d)Ktc;^l zWsqYjV^t%T&I0wqG#Q+6Vn!V@@n*&t`)a;asBB};4R&$d%w%tyEv`?+ zJU*53AOty&v+b0N3`}Fl!aXb!EPyNVc6v2vOrrXlUNSl|nKte69)Hz!NX+JtFfzd| z4xGBRRqv1@uY(B~hwUc3+QPM2#M&$|cUD0)HAy+8%a|jdOV0IdTQygNFES68+S>8G zB<{nu>JkzYGLdO*{WY$geS1RGqv?u6Xpq>?UJ)G9F%h4rcnqEPdHw7gI@NWsWs)`V zAB0~*!UY&O$HMf%V6YX&3-_7r9zOH;t_#KF{#(GWv?R~#uFFx9gR@z78^k`E9RukW z`+(Hf90c{h1)v$RJz{3xB`kLcH5PkEO%L@n24%wLL%rQ2tVBjy1&1>>EZ0}*TOE)& zJoWSa(y9AICnho%R!u&Z!Tc{wg6TG_?3%KKiC zesqk|mO)aky&R{yCgs}mGIvDm5AezdArF-@`%nEGh)UDro~r%H1Zb4Z#VT zP`KM|Kc-pN8#3qPAhTSg|4%z}29(?EreUmx{u}dMSIWafLqwS!7 zKO&q7J&~(3DaSC-kZ;dK(=aPq=@>Jti-`gwh5_ax;yAB-xp_vJaLF0xnY<2z89Tb!Dt z0rtUoA#~*cdoH?v2Tkhxuc@`Lt|KMlgjlQob7q$j&Qt(zNC|K{ssy6DoTCd9V zp+~XZg=Km}Ia`k#u8QsD`0Mx5Gi}VXgtNtV8vMVOpjL1q$aDkm>9$oWr-o)uZ(5h{vk)N$$z^YCrl$3ml)a zP_Eu$b&tY&Mfbp}eDFiKHQJ8rCRoU5#fl<~9BZ#Y$@Gd=dsaVV4sywVh*o>z*W{96 z!S+Wftr06Z;meXq4e&NAl~AM)J;vGRB4_QC!vSIMIC}*>iM_nNVmSua9w*u}QDjZ+ z)ESa1cOM3-3U88f28=O8=2nK6`&BipoQNW;hbt599WcwYCjY6UN%nG-QL{-c1F|f4 zOIdDht3L8c&fx?JegQ9jZT%1h*)th_+^Af!VJs8A$TD1-WFK!#RE@s21hwbGk zjpc0v4-J^Bg}V#=3dBg0=Pi2@ClZv>g4++qPARokneW2}r7Yp>0y|AFRM7LC zg{BggDn4jV6t3z!bHz^Prqth2o0dzLYgBJiAgd+AAIDdvSJ2@2dGvU&)kXTvCcy0% z?Dfd&+6Z;M|AJKHR+ALr@5(H+)5vI!Ng-KqEJB9@9|8z{ zzf&KO1oj$KsCEIIM8cAt?V*0J)v@~i9pMjSAggyiKqDZ086JnPwms~6QRM1HiK{nwfCQF$;>t_$)>{@$yDh^88tCvh}wP0Nche7M? zG@m^nO>HeH-4u!XTgl474Xj*euSa2Lc2rIy!>IN4niTY{)76vEf3?uM2~n@vS7VlM z#46n%COt|vP0F%+lD{gwhE@-G;RDgiYkY*+8_*rD z8lu&=Q{U`z8>!5c@}3s0*o`FB4Dlwze+lq3CUG%C!vDCfa(;@H?H?Hq1K+Sm;uESI z_liWCP-W7W6BKPlf)lC?pC15Dtk1?kN>}Em%KwU0hCj`wA(<2TU))9V2KL~aw3V@B zo8&c2hDL13XwSwfJ7ESVwq*D!KbJ)qwaI=h#>jJz`0XbYM!jt}E;1(aGgE2VxIxtX z26Ph#I_fj;<3{P1pWWp;C;oa)D*7>e5%4LoXd6N{v{z1R!>Ce6X4L`yeEh|ij=Okq zFAXP6S2Q8k91&|m>>E8dFL>GgDL)IRE8dpiCtBdgwA(x5iAvlecpnz(n3OBw&z0~K z`r>O7?nn3%tg+V=_#zx4%N!}jW7_IYv&PMLZ4g=CfN#*2Ifg<_O(womSLQfOTR;Xm zI_USi{q}mT9OQ`AbWr=S#N5+j=DU+#!doI7$%bQ^DXEIt1GrW0=!ZKQGAbOj`@mb_ z7_Vb@F!sVi>~}*$1qyU*$mk55h;=t|8}Zk!66@Wr!)|qsfic1b)?=VM&(H-^i8+-MDLKRb?yWFR%HEDzOWLpf;HPU@bUeQC*6kNlz8f& zrgG(&k=#GgTbT<*&cEb$8AD6fx;_x4{DH(7y_Lz}X3hLX4>*KH59Ivq!rr#9jpC9s zVa4X0Xx^aZUyo9_s<3xU4!ucGV^FkexP?DvJdT^$)rMJ*jIaiEmjBxDez(QA=YuTR zb{M%e=V#-W{A$0~SYcFMPG)f1peN#?=AS;;3hHt$82d%){JcI`>C34%F3=8aGc5QW z*F}-uMclnmpVL%zr{>{gwFxCISj)i6BTNrI81AkRo4u^tI)pzXimZb7#Id5`d)*vJ zA|reTzlUEC#U7DqkMP$dxEA5_2tV2}E%J>vevc+MY|ELP`9fG&^y3>lx}WFX$5e$< zMH5*O%`t(m(bL-?V|ey92#ngEQ||qne?d==v=)d()JmDfAQls8KWEXBw@nnfX zvc#A#{-Z3J{Xl`lD>lC?SeD_Vjd;he%O?uTC&5XZS&^f4cM86SoX(-zkNE>=fzIQs z{lOfwj_w7XDcuVUN$=*A8@)lRlrP@m{*8BYYQj+2;tXv0m1HKr6q<$^Fb&3u=>Xe; z(iQM6Iw(Ka$7Ev4$8p{CCE^Nn8q&iR=-EeeXddA`y`pQ7ijj&`mlBLkIQIeNFQZ9m~Oxi=jV;JPb|@F5%EIcX~p`BL2Ki zJw$p1sk3_b@l$cdtfdu0;`i>w8FTm)qxxnFLSi+0h)*&qtSOxN-rXmqZ?HR7c@_=} zL*;2fGC{8k?z~iM@aujPR4mzQOvY+`UXZZpf_s(5JvG>FRPS4-gfC#ghbDq5d4PaJrp!7PJO)M)fNT@1<%*#++5WkDgm&Qgt$MkC;%vUzq>IOAnu&yS(eQ#e+W=!DGtLeqRtQ6UBoh9V3DFcf1b z!7va*DTXq^Q#5G94r5c$mA3dYwd+Sw%YVe`{c}*g@h0D~EqnYb7|S}wEi~L3bS=W* z<`zdP&X&O5P;ZuU(O9?@>OJ{Jq+%9g{+W6&hH?xQ7zSe)f?+6zJ1`8xFdV}O40mF< z3&ThZqcDudFb2a|4C642$8a}>doWDEa4&}YF#HF@{TLp=@F0eVFigZS3B$t}DltsP z@Cb$}7^Y&FhG9B}M=?BxVFrfBG0em;3&U&-PhfZwLluTO80KPl3d4UfJdNQQ4D&F| z$M7tM=P)e5@H~bWFf7Ed2tzf78Vrjuyog~5hFT0uF}#EUFf7Bc9K*{PR$y3(;S~(4 zFs#O~2E(fu)?!$PVLgV|Fl@l^I);rH-oUU)I8(p*=b@T6c=$ME3%lP-iuIve+T)G+ zog!A?&FNqc-D1P9osr_#w9qXxg0MdWU+9+jsA=c}&9UQ*TlfpB+d-SKE!k;eZ&?)AF=hTqp;=V)^=4oDU&B7&ZGvl zV!8ogS_!@(yzkQ;TEX8@z-MUHaKe}AuL+EAXh|?yBp}qD+G^AA9pR(Tw~oc;_(B9s z{$i_1Z!5`L+)~n%!FVl~Y zQo|8ncqXDQEC}m$rucRn)JD~jg59qRd95whvc8U#FID^!YV~!?G*#2J9{oM|c#*%{ z>M*Nv3}j&Hb!zw)gbfwp#oD4MHJtDn9H;yO;BQ3u2*QWW(RJgi+@XsMW9HAy^JjuG z5fj-%!`nsmI3nMlC#RxJ7#!sisfH8&D9Qv25%+)aMR+(SxTYflP#aTcOKTgnE2{Hl zT`QT?BdG$3+^6VP#b9;I-*J)Z^gA&vPD+c}kJn9!32jAhw*vlCq#926GX3j;@vEc+ z)57kHQWGGC2S^MQM3H5XCCB3JE%0s;#R1@iUn=6isSVZ#!iV74x{c_@ei80^<=0l! z-$G2e_-k;2{lw)s_&&C-2yJ69&fmw?nFLQ<-F``-;Ryc??7lqhuqA|Nwx zOoYRkCU>yGYXn?@0hCO!rmnsNdH=<^fLVE0B~w0GQH^mOd_>1 z2LDWZ-atKyKYhd(?oF;M;;~{kW8Jl{Get}m`MXp5r5_A$IIvtG1!OWuU%sTrIY2{1ien>o!E7v4qIe7k_lZPCJ^;GHoxN_;u5cW_2CE zA|n4(4Z<7TzzQIsp-w zhJozuhf!)c5s=~cg{a||1VANpaLMgN-W`55$Xg)K<=T3{T~7h9?EHTYJ4gHW59qjMp{jHt16%Z z%*e$VfH`&pw>v-rBET}p)NCcVFm-KRHcbp|jQT?t){5M9OwDSX<9-hSzlLyGUOHW1 z{1&)D4ZkVVhaRuj&DAFITl8Hg9d`;lU$0Au#I`jtV$$r}PB^i>ZUp)Ny?4~nSV$PO zqizgOKh*8SA9`}|@y@#bIJA!1Ro8(xLa$xee67NyU3Futf`za;w1Lwba96e2N3G~! zBuvione=loZ_*Q+0o`SEeX@My`g9h*gxV}$LR?j8@DRh1rs!5eDIi1ceUJZ95 z>?w)((I_>X@MX9@0R8~NrBG$x6}}^i95YmR#lKQHfnBd{FS=?9ApS`Nm$|lsQ^!7fK3B^Yx#emtkgFa6~tpycWpy48IuLaJr)37uE;7QA~3$p%2If5bN z%qRtXd;mD%FOqV5J}NN22q(@z3a11@?O&kI2N70wRZck{T zp1{2$!Xb8qZv=l!m^8w7E*J-WWutv#LlFC@&h%SEt6CxK8i}`#A{%%R!UHs_+*+bsS85Q?yn+7$0mf^_B_#7@)E! zy$oNcr^=jPd#_KZy|;eP0PRWbaIr1I(7JjX+T{&+xzygRxW}fh{tzF0BYd3!GWWf0 z(#yJJ7fmtL*4K{+J{%EbfcpA+Q>0jPjVwHk@cxZ&)iFe)j!(VEFbKE}>YB=G` z#{85{4JUjNPX1w$L7jkfOE%=%sQgpLRt%6X$?!s*8cz7KA+JVfI}kp>yU($23i>)g z0xE%=!K5fW7=ZHHSw91{^A{Yr?5vl)hJczJz3dw;rB|IZ$P{XMn6rp1a&~cmA`Bh4Z3N#X6c@MD_VcHfgdv@_-^r)p zHj>D|^D1)c@NjWnrHZ>QqL*>|q5>l@cszHXK@BJ78Np0kI3jNS?E+50O7Pp zJbo@XJY+^2m^^HcY5u&sb_(5m39%oYWMBh6Sm59rR(~}eK2JIuH~8)CaBxLD*-|e?Aj2#%5*93|^ZPQlrC_D<{O- z_SjIJZ|Yw8IkJ_Z>W-8@mN-8W37NJ%rf~T?7^e(Kum!3GbA8okQp>F!03eV83Sjv zw{h!8>-D#u{c&%=F{uQ1N5#E!tyS}+5-|8>F2SINlLVMR`-H9(@r9e&dp_4{*Yigs z#08=g?mf0HIMNrt{M$a&PLq^*dxAs1{5{#Y5h77XA5-)9+=-RGB$8}DoXFo}>$*Mc zUGYmz=Y&M(^T;vt|HKwqfT`(H5Bl;?-2-zyC8joNnG(Ct@r$Hh}=DPenW}QqyvG1%MMigVV8JHT|v#KTG(q z`G16c2Y6IP_xHVbce8hEHfJ2Q)d?!t zu^{Cy;0+~h6S5m#fdrx=B49%VDMD0G#P6J$otVuGemu`Um&tF=nLcyo%$YNTOWqm+ z4xDYGsvHwJKoe1vRELOTA{;N)5hsBmCHdeL`1p{La?PQWHA73XwOE~;7+O;1|HN{D zp43HG8%_chkwl(z;YnUJj*~zzg5P-&dXC4@bHQkOoCGL;(&L5_+^sKheYGv2MIxAq zYMRL9wq%cpVR!=*iA8#&ad^pIo7JbxvBSw7*^^%~PCIKhdXFnv(aPFIpWy&;k?eV(q@RBw zsEqMaX*5S{;X{#feGO(eEp=_!!W_Rrf+PKR5&D%99O)@;hADm}*)_W)dDss$eoz_i z5RVDEL41b8y+B>WvD;FC4A@OToSd0m(hsWhdm9es=)z&*oY}Jy95c_Ey=bSCK|w)D z7VWnM&~Kg4ZwpE$=$Tpv+Am4ogLJ$W+Qn@-&SxyGQFyR z0VU|74x9f`dyqvPH|M1FH9a6v^WkOB3y}`>3>a>7-0b!9aEx743*r^O^O5-X*^g{a zYB8j4ZiXMzMI7ll|4cbOdAif)g@d{%#d_&KKeQ<7EkMr2+6#^kpKaeF`SH#0?`&k` zm(||xOsE9M8oE3_$2aL@3B)HWJ8w>hY0GC5msz|i`a3QC9*b47jE`%=73EtAJ!Zc# zQhO)uqFM~IPjQ>?X5Hn$2qZ6UbH4vQbv?E9iEjAYAUdy&VK%h>iNkApM1Wqf@QnAP==(0Hrbz6t2RzEtwSbb+B)w5TE zWA*U5LtbWR$^ys>I9t`SnIyu#KGYIfqH|O4?kL`F{7A~qr;^NII zG5#LPZLO7Kz7}=r2OeyO?yPtu_!EG$8M?dD(JQBCcvrYHFXDJzgibuhs+Ttpbm`k$ z?Mi=TUnwXO-rk(AS#L8x6bH+OG3LF^UoFxW=%n{$TiRb`4QYgw|$*Bw0nTzJ)l=X#pIz7H|BJO$36_1n* z!7Iy%7=eLXQY=v1^A1tVmDZHdQT?PuP1d0qyOD8ndY;_Z68a3zpY#~K1=p{xPSSVq z7O$HVwR1f>tQ%N74BnCjZ-ed_yk%lWJN1zyQOAQjX4WvE@JmFT3IgPdf^6YJpYZR(cv3`H655se$Lby)P@ zlmYQ*v_vxR+k$6t?@$vbQgGjveCx!R_qgtk9Qjx!Wt^cQxT)UXv)|QvgRP4QsDeYjO3S#_>BL!X}p( z0U59ipa&5VM+OXkU3*f3&jK7}&O+ZAjjXwAE1N|k-xHCq`)>C4-gj@!h8HfT-@P?Q z^T6Kc?yVPwz*aFqTvxH&C=p`0-quAN>#bJ=e~c}=jgz;Q0JqoT#q)LKhVo&d?`ivo z5*)eVhP}}DgW^pBI*H7{*FfcBZ&omf>y;I*yv z+~=HI6uk0)X;vhQU1LRjB;frb_3+Xw&P{Kc-^SAlFvsvSCD?l=rZ^g~`N{Kzt ztZ~QD~I%chjowP_}v2|EfOw*Z(5>tC8!Eo+7M!kviyy+z8p*HURnjS z)jL~jw6n05y}PwNcv|1_?p9`g3_%?4?)SD%P!Ai^-`kqHU(>;z_Po+3tlyh@d)HT2 zl7#uC?cl;3nPHUDG>eSV724b2?7xJChvRp$jm&^Aobompi%Uw|saB8v9J4CgRNBva z!SaO%wjahB2-v_;cCV_^REWEijHrUR+sJeXV|j|IfcLOi(z`msySg-+{vE?k=&BG_ z)%M2mZKV^b*~RcsBtodP3>f}KMubcIQ;KkDdvmOHWdb=BE(MFJaA`XDemov7E!W04 z$(q{IY}0CIHd$L+nry^uFV&O4@pSA#;0l*O50)MTclIL=m9~RZTr&L!nm429htdfs zGky~*&M2Fq{`ibD!6D*X0cTU1M_<)iJVPmK!V{G@Bxfv0Px+%=-ivlQ1D=8L6eoeh zrNtReeXeAOfLeS$6FosCVv_e$X|ef$`?JpANVUT2W;4g#uEA|^ekO@WN{gX-J>+Cs zWwM)-hN6}N{Z(^;0KcX!{{j)n@H zWw+p?+Rn0xY6j`!DocefJ_0{`$xQZH>?$i)pCBXLW#8!gVqa}HE&qL(>A*jE#zx2I zsTktLVc(UI=;buiV;zsQLfi<%mZg}?`LVzDB&Xubyl&JJ75eUSFYAakOB&)KOJxb$ zdeBf}LfNb8&tz>vS&llyIGIpZs_B#3j_FhV)H4Ig1}{XtF=1&chKxoCIfr~_+nLyA z&WIM-z>dSFxYaRv5_|*TY>Iru{#^pn8wH)qvQ*GGyq}CMYivj>E78q2m^0%@-(F>K ztFc$vN^?8&*KuT4?=mp6?Oit61%vEnCklqqbr1yRd=Sl);1z)LG4P~KPS5cSUBs(7 z|1Q2*{chXQWJ`+-)bI!}2=BEK&(;6u?adi_ba{M^FQ)uR;OeryAgqF*(6>L9zJD3+ z^7rXtuSb<%q_oycsGcgiHp0zHd!GbHdY*WLg#TxpKk1QOHV@{x)!EQNJ!A)bZ~{G% zT}G9-y>rT*FefQ}Q^={DGOvq?97VQ=TR{bqJvn9ltUK&QogiQ&3@F=_pSj3pm_x*oo=ZwE*hL)aDNdfhx2&VzqtCO8TMFEx zv(kXDu8TPC(b+Tzwc!+Tq~~~hn}}m3DSxysIz_epBy%c^G>`rv)!iEfQ_G4i`cuiz zcIj|wZ#a~jRhIA2XE}aK#G?+Q;L);_1htc~sHkkB1yvK;dolNJ#6 z)u>4)dtNCU2LkaL2Q&b=j6i2zraTl20b@1<)U-Qwhf@^Pu?(C~Pa9bh2zm#z$r&%$ z%Hwl)?HE# zR|76B|G*wI)6_Wn16X^nF5et)8EyuV&X_%-{40yO*p`~ejOPZ@j?>GwI!?57dec|pIjT~^B`vF{77+dc3^YF)ZG5#Ege+`fClIS9v z;p-Db9O*g#A7VuuavvLs@QXDi5hECZo61u(*i?>jtw{QIKy>~KfZrgRpIB329O9%Q zzdTA5Bk5Jz$F;T`1BFDG5MH6MDA3^Ew*AGi>{{VfDNQ4u5 zp~S`+cd$Hx%vdsO3KWNj|91XxTRNzOra)=oY&M0gLzETgd*zlmv?(Ns_foXjO-|k0 zjCKXJ12!7&EzgRx9#+t7X$DDnw0xZTA*BNtQaoA?qR^w|x%x=8Exou&8Xhgrw?3eJ zslztjxa_g=R%UC!ydI4z$e6NJ%rOHKi-`IJ6Qc~ydAHIJisiZX(p=tlQIq-Qux zF;4Ns7~2_75ekh}@4$;|urYg?oP4)D*{FH9d}Tm;RyAhyt9Zg;-r@Wpk*ph3;dR|h zQ@hmmSMusPSw_Nj6|GeB0Q=8Lr0=uqyxpf#bc`djUE-^4T8!o_Nb5d|=Q^GO%>cxA zvv5ya-(-w$1ad1%)%kl2P5_C3S5#ubJ9@Y>xyE(U4341R~Pq|*GJlDhvcsByMW&i z!D}RUd6Ayuwpj75?+1VnL3$Ik5m~dpqP==6*|8rAaSpZ_`zy-Spt1U!iX7GK(SL=z z$pSxSHxBYtL46 zG>wn>l|DioQw$iFfKJv3oUdq&dOlG>`y6nk^Dgvb8U765czBNM zj|@lp|H5DRmp`O0$w1M+5u`XW_^$+z{=aaXjq$j?&__PLQ1N!IEDujX96YkWSRoe( zI0^hy@oKt^7sllaHp5@etMp0h9_yB6?c#O&UpUhLSGKWjBDlQnv2On>0j%5q!jb;J zGJy09$MhwQk0pq%ER6T>KP=8(29o1*e3t}!>DXx zY@-~E6LDN}*aVnjI`0;7q-Xd->z@*OTq7C(RHK)(@^-W3FDv-$GM0KO&sjmLnBt;_ z9f6d}IodVw+*+&3Z2$NA0g2XVD{vYcnJ-d2qSgqH2sr*Ny%P9uDe-?LfTO(@c8Uy% z3T!jSvD^MEIT}F*Xb^@BUUG;>C&+-~-%0MTU;%gr-jawDSOCPK+io$fqVkB5*Shj7 z9;vRUYBD3Qb7hvQsb*4?R@okQPs`y7Pg*6MN~KjEw%%*n=ES|q`Yx6ItRI@*LPJyI z3oQIc=6B{;sz?=*-TSvdPst!5}u8MZK^|pBYk9)s51I>fYXs-tm;~+s@e*Z zu_mMPfESc$i*hQ_6VJSeC!Yb8C}A#(c=8!gnGa9I9v?uXv|~c(hJg^}#hCM66he*0 zft4v4x=WdX?rLE9o?3}p<4$luISvjmmM0ZgQh2fIG)&$abTBX;{!@J=+c44L0 z&BPq=0uzV5gKU^qi3iRvO8Uxn;KoL%M-O>u?8NDn#dm>2*U@X1Aa#Kv2qMVBzbz5nR-rfMQ`S85ML;B9C^tyOB!4C1s(m9pmOrx|RWbK^F zWEU$zhPp6r(-R#?!raPbpa6)81;ra#KNm(A7=Gc^4&w|UiRzc2Ua$0<{rB5`juV%} zMo61=j-$3);zUz;R1NaZlP1BDJ|Y7vPf5JiAU(xVSLv6ytwCid>p{uNc(`YJPte<) zh2gG)NVA3J2Co6G`TYh*BoO&KoK zwHkRZ!>j~d>rD^ZMn{(hRmpt7yaaQ>9cA9`tozK@%c*6x7@rTIzVNu3>A~uR>3#G-Q3z%5V}BiwF>5_(@1RVAfDpS zYz=?B)mYp**k1!bZadlrbIjww=@Id?3%11^_io2BFg)^|!M;Wjd@UGZO(zy%XXJY# z@^yD+fA1an4v&0i;CHmcD1xu5Jq--fph&e2aw07_N&Vdz(Ixneraf*Zy)z(UYcm<1 z0r(f1Q3PRC4_P*~n|rDsEN9(yM^PCk7I-gL7e; z?S^-&jHTJZO&ToYd%%Iv3|O}(4-BSvRg|NWJ3Y7@&Y=DC4)p;h5)A~lCNOcJ;@SOTGb>^ex^ zAgHi@>R2Zp%9FsLAPOmPl5y(t<4MGFUGSd4^~yI6QIb6XsW3%rH?6-*#PaBv*d!(dR?4+?sRaj-yQdQb<6v4#Zaev<1I zm>G`O;`I!&XK=6|EFudeksF#t?x2Vj@kKLyio|Op(zCWlw^ed_isNOa8D!UW!Q@z8 zQ-+O7-{i!C>8?@OA{@Al0a24UHZQN0es)o8M|zI$M4TiH4K9N!g@yXmP#9q~LxT(G z+;@GjJv8G0$>neCV!SYu?PSSf@JzSz`rrbO*`)pgCm`c-ppFlwBbyoHgA;VkbckMq zHX6nU_oB1KznSR1VIuT#&}LE5-DsQ`OmXVJ#H4gO^;-#?;!J}sUtyUF>i%iKaKW_T zO4D3r7wOagc(QvI?KK}Or|Eqsk~bX~Emg+4=)K~=^kA{-U*-IzW2?hy*F;qhy-8O< ziHCYRv=wm_FCV1%7-uL|#A}*x!<{4HkK*k^NKaPH48CQX>uKni-S*OJVBWk3w90qP z3O;8J*~h`-v$J6Oin%|y61~9Lpzd>FSZ{kE*wwsLxgQR$Fld<#!B5R!zzR1TV&~4r z*c(9wN!Aqvz3%&IHb=y4jm6_ZBk{ptiCNFp*2Ll69?~!us&BOUFzhybXwviuOq}MC z2@|`LzE9xH`9yG~X8t7MJ$Tu19x|U7JZv?)TsOcoNzY>YJsX^CK4||QPS|L#coxY2 zXUk$iBj&l_0;lyVjb1l1mc9}^r|J7lsnllB2rLWkRkZ-Dey_o5ce9D?gsQ z{*JY4S_oWLsJ9eacR#s*NfmK)wcd*2D@~I+AZ`@=9h{?T&%r^#ghxsju8;De3?4``X%)x>7I*?0?S%eKTT^F zM|KXVnqcH9(z%w;cBtu$Lx9_&PBErLe%(EMML;=61~Q6^Z# zSDovgw!^a8BZ?Syh}o6K_UP}z$S#4#W??u#M3Dk+v6MizUnIv%s#4X3#I>nvqS>#% z1M<=)C~+4``-gR9JgM6j^7^UMecZN4_C?q%9FL*Aqi0fVcAob4b}_F=&+yaM`4axn zYL2D^Y%s@dhQja!udt!yV&rYE0+m%axDm3Y>Iwg)`Z&0|)zV;HgLJSPp~9iB#1)CD z8UBM!bcKQR*iDhX{YB_0Zt-O(Ux1-i#iyY7*;dc;OI+wn0RvLh zw~)lrs(d)5Ux){(Ee43SDK@xKOA&E=*MXOAu?uBEF*S~dB{Sy4+|hmaA3^6^n$gKS6-EGN;_^p*G{zcv;jT4OmnN= z#Y>h{feM2)67Wrt$LIKN2N?Og#2Ex_Os;UY2?OhGw6xgp;L)fds1%;|?yV<661m(+47*%Z8A5bPz z15=W?3udDgrWvqr-&N)9&d{^UF&*5ew&-3sHSsZdHEcd0e$yDuap0*oX#j4}i4NGr zGxvmM)CqPnvhH*exx21vVIPp-?V?+sB#6#31GZSr@i*L$b<(V)Q+?I-=Ab16-LWHf z$NDO~L-(cR_A7GY*-odr3(`q%)rp z*j<%x=?pqTiMJw@C0O*YE%%VvpK6jx`rfKs)oe`PTXoQ^7n%M+1ET>(-ZzZN8JlP> zfJ}G?yn`(MzABj<{tkxYpZZ#f@j&Zlv3E`)<0CG4|>s3;+TEK*E!Kcpl!1>C(-vAqVaZ3_+|Pe*c>KRd3*CA@vP*= zHpb`p!|c6>#2>4QVS+jMT1Yw9h>jaE?&fup5YDF7bOOx?Kyv=$Kk4u zs&#{967Jl|n4hZpS)a2!iyKt3^rxy#=;C4ckt)2G?9r(enS zBc8;ctFqv(*mAhhzwdOCqsapOEpW>4Ge~PZ`fIvqnumq#4L_Wv!Twut8Gwc4c!2~* z`aYCCR{!2ErSB7ouu!=qR*ZnP#1jbF@P-n}JPP9OLghMopUEgVT9uNjzCae)s{Lun z%9!?|Ef~lRN;b_zvEHW@>H8_jH7u+sKf$xM7|x+MJd^h7dZtLkJo4}RvND$zizYTUHOQX3@F0HHx}uUTTTgsiTJuB#80jA@0>QemC<2$>L1`oU9oROPE*0k)HFvEl$LN-q94{?lxesROKDc8>Um- z>?_8%STo~*A;+(2CE{2>)^HPbduzl=V`_Dl^$Ppub|8|I%Q{rgg@xzKMDa8g=YL+7 zg4Se-2L=Yu`tru=jsXO%$UhwRN1-Od;L{FiR0NV@kEc)xG#dQ zbK&7P6tNHDLp&R=QR%7zA0{Eit0) z0MwVkuh8d&bBDF}RVUk75TnCcCQJ#JQW%V#@fjPKFQ?Jz=QZY+y8uGy(y2sZf!GlU zGb6;S6GV{$)8=zqABvO48P!?p7e=p{)#c`n*IM_3eMQUd7B0Cgi=z!!LG>FNEV$Do zUV|_mPkl7i%SAT|3NtKq5HTb;((~NiEb&@|i#g?Q^Cj!I(9TaXAFjrgG+A<{h-)`z zcYvNLlEA~&sBb^*pwoKZ99pk^*|}F>PIbO|GdVt|x*QG>&f_)@4sNTd88;1_nOi+q z9d1m2q}p#yv#QgmB}#M&QIzEij~_-CXl6+I{Oa_yqn7!0aehX5l}A4gqWS!4ubYSa z*)To{%%?fdkE0G7^PYq}LhYZHtkft4@R2y%CN9Ldbz&pyG1KmN5l4E4uQpAQEabR| zQ~qf0QY4X=P)y(%xLqP|Ap@2G_}{;Xmq3npm0YmF0^pb?A3a^&37Y5v`spNlp04g^ z2HD0S7e%+zYF-&7bSHgR#Mr zAZ+k?I}Ypunul+N84kjJw#Jzhs}pPiTFf5U%lR5O!6D)}N_Z#O<`!|JXLvtrwgiV! zGNLJgNfKKU92YDDo%J~q!zLVNECG*xKcy!H&s5`C`%yF_Yf&8RHhi-DKZ!$PY&Bk8 zZ^2t2GJ1|5mEhPYl)ue)lck2*`x=?gRu{K{ar_nC2a<+&tMeguZi$SJ2>h=)MI8dJ z4kX=vEU-XbNujT`@~Z^T0}OQ~g+7nomEDQiJ_yKU{X`Xq9q-M04H?_R^*ep|L`wYR?M zilG|@8Dmnn!L@-Gykj$Pe`0Ltux&F@Zz3~Gwxz;_^2H_F{!#16;!O}bLe}CZh3ujs z<0O0%;jQV|o!fFc?HM56GrI}$-kIjVU-!k=kiI*&d0i}=)T7HlG>=)jbK7{e9XSac z)OgZo7kq+bCVrNYwd`|p*S2!?5LsKd&9AO8`qXdpYigmfcF(rI)6F^7fp7!rqgt<> zwR9_GNgP?SChWEImYV`f5x{Lce3*<_Rh#T*(c35$lG|^1v5VoC#`O1yrNWD2oL!m3 zWh>HiTy=}|1F{w4y}!0uReu}h0f|GY>zdN<8uMx=Lrz$0+N+lnmtK?VAFSsjpxtQndT>KCvOjDhem&r9BCOL7 zUWA_E@baw0MeB_~Pp2-wZ?yiYTl9W1j7RVd(znKnI5OaK<5xBjM|zImsf+mV2>;22 zz6sXl5`R!5nlhj$7N_X%2^sJN?w7nvh4dV^!24zAs{h^p9i(Oq(KU`4<_$GMqPoTc zvl`uNeUp0RAdR+~Eb~FrK(N(32hOH*?KSCEn3<->)lBSsg=K;y(>P(WO?6^S9$6b# zlkDev?0J&6v2cF60)DuoYAs=Rb2EIpqz;gt^UsyMtp)V%rU*Y{1Y>D@%{Yr`tbRRN zn_L5KU{Y#wO`YAQ*^;}}XcWiC@hH-#O--_!2fwi6IVrr_R+Dv?qWmGb?>7>Nxj?g6 zf}@Qa$NSpE`+k@>7pQ{ZIigLCw>uA?ps7bUFUIHmPJnU>;*$k!Yw!f&aS3}|`Pdu_ zPgzN_hYiUKYjud(LwbhaZM|QDW6MzfHeaf;n4a^H%yu<%&@=a%b~WfOt5z4Ka;z0D z(bP+%cC1z2>DMz?t&Q!WlaA2`fQ?EU?4+qRlP`fnca>=Qv1Yg0GN=IDhp108gY0{0h9pjH*HXRoG5L1rUPF?Y4ujrWP|IGUrP4Y=?+r z=9pglg8G33M|y@2RZ2V}J!X#b$1|P(!2#gt8mO(&H8DN(9ZDMY+hycEUXyR}FH|#K zVAIt?*t{3$S&w-{^~H+#6u?=JctO3xE#gSe@JH0&(SWQ4|EZk6(c{UQj;cOEox$Fu z$$P5iY;Sc58MeMAN4?5ew7w=4tvK%W!i%QWUOTMjv_Y?j%bFM-7zy77f(e8(SokO9 z?L@h9lhc#l8)4BpYz*62lWNVlD<)223Tp!1xN^}BL~-!rUjygXaLa(YG%*@WYrv7( zGcniU*yEV%$@&bW*e z`Znr8$y-P$+A>^G)=F>`jd7X51T!SY<4Di(T#3&N$Z%{^0v{(a=ZY0D9&}qIQ~)9M zbz^l!%^OLb*XdVE+{?9xL{OqD^fj1HkUn3)EX;zi6=%IR@I_6Ds=M^BJ)l1sK=Ss| z5w`*lufdcLLTQRJR3cKf1+FNoVe$IF74N+@UONxl+;3F%3}S9Hagsf)Lg+d*s;4GVq0S`Q?NIA(V+#TDiDi_kOtM!h3w z=HYn4NZ(geW6pR@*`kZOcT@=T?o`Z9?Gg{xpxxt0IPwD>?r@HdlnAk?E@pk_HSoA0 zn#m(~-nRx&kMg8}ad*P%)Bz4Q8M?@n=D%pAv+mN?6%gW!@<*}l{0w&JzR&Xa4ankTDR8z5O7MOW_ z0|(;_ZEM}>q9)&Y-_@Lj<*l#ejG{I08VWz`Fqx7Q+&0bd1f7nT!1r{;D7TBI>?shN z&qj_|5pUHDe^f$`xj{J_b2C#SgJW(ej#{U-k_gCvWx%VvL0?UXp74+X&){1U9D6kG zA20(WB<`wkL?E79=nKPTe6*&BP5>G3`W$@`1`K~v?du{Vy{HrXu?8>G5Xq(i)8iGA zaFP77^4zQ!!erBOQ-k!pya9MHx+RYDK~se$Im8ouoKScM7E{+Q(d9)3Jb}wELeKEl z$_mM?ee5x~!lYx3r#M8L0PHe+3HlChM|=t6l+OaG^st>Y9)=lgsjf+`{b74^>ID*G zY3whY+ntiP|B#;JU)xDt*D#p={8W=}zCphiUg|vzhLVRd2$C)+c+)`T$c7%SPU5{4 zHIO~f%beD(T*X|xNDz;ZOoSbe1CA2p-cbW7}^cS0??9IkmNg`!Gmiwkk1;b_eq zi`G^n!%xBXd5S3qjzN!w!07W-%}Tqr&P-ux2aCPLM;4F)^XJCjV&t zokX#lID!2{ngq%TBJOI2KP+*t?FM{8gnpSvbe9#&@uAQQVx3|HWWY1=@|~jloEQ( z4&`t3NDR%x1DkgwRxQW{H(8jA{gS;1=3;CF-yy+~p5fapJK%ltmVOH{7nDEgksO)_ zEpsikABwIyWP&@jLf@B`uHd)odoTjQJvV0RDao~0jL+~H_7RDA#$_a?gyxvlm1I%d z5Z)5q#U9VeYZuBIRB!r8GKnSvk6UOO?QO3(@sKS#Pq^MPe6Id~;JAC%nIK%wQfNLpPacsyXYQhd4oM6Bq8 zFrf*Dy$)O!YZLZP<@|Qok%fSrovroOjYKgm7{CIr%@b7(NM>C-Stb`E)mu;>ouV3H_2VsdO4R@+xg z4yG|Vh7Sd=M4dwuGEjvl9(&^|%;Lcd8gYojyCR`t$i?GeQjr$&x>znAQJ?ArgO?<9 z2`z(uGbcfOd7xc0R+CzZI7)+Ttbe9Dl0+Qo`AjiZ!oNM|kL%*B)}qZ#Dv#j%%r&T^ zh$91@z-KPRNkMujOTVBbyHRsaHed)G#WT0%jp?BhHO^SwHRQ*GE_o*U|RYrR`S=BAnQ7s@lx`ptu?SI_j#EiUXT;JrF$KpjC z^D+^B*ui^9CTgT-_4rkOc38|knM0bF5*}Mp1|);GOH&TwXpCAc&u*V@`qrn-7|!Tw(TVfR#b1&Mu5~U zlKYydKIO%?T!fzC9z8QwRPdq(lJdu!cejw4y+UwBsaI&SYQ9^&362VQ@S-l4-z z7$#p*JC`@=?%kz2^S~__kh0B@N4HB%Sg_{!=ID^*^=+i*_*iPJKOd6gB|g0~ zAwE+O&9mMaD?TH3c@y4Xnu;EeT68m{=lY>|i4i=|`E_sIx#}C&~EtVWm;`rfs zf17xSi}XAL+aw2|S7txRBb>KXNFrbfxJGENLlo1n1{i*uzQ-xzNY84x-gM2sIGORy zIh&zP2z6KeSKIbUj406Pkn3`8aEL|}*py6Hb5<|82tC*3bhL}~eSw}%dt}wb&^-UM z%3Ac$+M@k16MSx*F2OMqT!nL7vKk>h$BQKNSUa?kn(ujI^`ua$T^&JoObtz>Micji zn9)S!I|IMp!h0q6g;r2}S_F@LXRxnPG!1YXVP+%(d`&R@keM?>)X_!J%usgPGW9C& zryVb8QDR)gZiXMO{iFD3a);GFYHG`Sz4#f_QdvJzc(Oy5=7~PMR$S2 zlE)*>6Zy`7FErETWO1)E$z|R{D?qgV<|+|)Nja+LMnJaBspe7BEDaamH24F955mODSd#%2NcpX z{2lvh2|dbmRIoQz%?qijK0M}4R9Jy2+Wb(K3SvtweG4qQD!Ty@-|Ng~Z-pg3Mb$3r zL7K`6du<%uNfu{?lZ};6h2RpFqTCJ5_%t*dgZqJw2NjScaX~2G^ngB#^jQ!}?#{rC z+6PY2V+r;sULD^-AAla{=HYFuLpLC^HKv=%%!Q%kCU7WQr}7qts3GtBk~e#LHRC-+ zg7*ZR@3+2}ya|N#9Pi>0-vsK-`QsMzDZ6-j)rUs_JW1j?7#XkxoN6Bz(i;WO!Zs4b z`OhTpUEl=BRjq}R_bhM%WvW%HVx>FQ=vGF0hU0;jxZ}lHd^G&P|HAVyi$7y=xI}#n zGNF;6OaX_8VDNJp1w&-HY}%GhsPw>#ZXk>IlYR- zPFz7ZDVvy0e!&Ww%wgsOXTyq6G4So+z>6m&?+w6a>Yr1`(njD7SX7|P{VcgCh{^Eb zXpx9i*jjvuWXNT*CcHsHk0KT2Z}T01QiFp^FtT|Il+Z7$N9^R(jbU$hI+;OdOOe<~ zVe(810SW*X-_66HJE`}J#J59P&cVy{TP4TZF+hGN{0e=2Y&S@7YZDHZZHOC7*Mzoc zF@5P(cq8xsV63V~iEDi*C+(2_QnGj~Wd{zo(-cNq%aX~gKj7{(3xm}MeI+J(i0Tmc z4jLca7eb#n1MzwI6NwEx#%CqK_vUGQI}6X(>~O5s2=3!J{o^2`Z-D8Qhd+-+ts2SO z5Xv6{7sDkdj4t3liRQ+tub1FXz<6nTP@FUZH|q$~hqxS)F&jhURKKx$W2oG$jRA)? zn_-b|1D2_qLlXP5UinK3wP7g!UU#=pV)_2VJ;Xj;^{` zz!;tbm$yaS-NbO2I+bnB3$}%_{H@`|myGH41ERTM@>6MQt(EB#9E*M*#qpR#PS5eV zP7%l4Q2s`b8aP*ir4*hwT?c+8Y||oKUn9G=fj;GMICR*gpVvNsn{6+EwZdnithA$g zYZ{8qvKI(hYvF-7nH2|0kK7$0JYh9pD#GA`9id!vcX;%J)YZZ1`C&lQK&XxtHRi~S zca-NnWL76Qz0KW8nVn-nW5G^Pu;`k($W2W?8tSMX>S{Nv{-*AcefXD zOzduoE6RsX5l4ECyCn39fKNtxvZ@{yuKns~lG_-_ghqn7MD>b>;FyVfkcn@XLWPZ~Q{@ z&4_%9;A_54FNSlN1~5)(YLVD?ca=kD_#6)Az~N3DhN3$Ia_6zMY(-Zta%YnR+{mz@-z<`OfG)R3VyPFcf&;JzgY`C- zd8cbQL^*#4&M@3?GmVe%##j{jNanYcw3d1}AqC&kReTE7+JJEqNC5AupGb5#n28zi z!_DP)RB1&rzoVSi(vVRAA)Drh2XK#p?ysA1{8;E8&0J;L;wJ0XfH_&rNzl}G&D36y zJacUV#t&2G@mdAG|3;Rc3eD9LO~n0cXoA^kz7O^VzlOZ_2Wg~SbKPNkCTQ1XCoW!voL1u@RaMh$VU5IXo5Bp z!heF;I!fzE`uqv$GroQ$A1_CdrGJK&X&w{l{TI-BOvdoPLI+eW5!{jd4a6rjQuKG| zf>vsVTOYvG|GDWOmsl%U>c`**Z=EZzOK_~U$0@E`{*vHG&+rnhT!Nbce*)=^RcaVs zskut&Pflv#WY-+Z6eSdRLznE)!ke^(kY!VNLRx?I8fSd}o-Nwf1_X~%qR-78U@1__DWH9iAx=3=Cic2j^@pot=bGW_M2<}_(tEl7zepiB)!xC;kSW*76 zxes04B5@Q982vQmH@k@AQaqPt4yIBE;AFNXJg)N~wZOH!~*mgs#S+M-tXCm?1>4Fvv$^|!P_2(jmxaz zxvIHH+YZO_df4lZG^XiW$3si62k$U?IIGh>g@vMLAj~t1jk*sT)WOf-J`}&#z&pSA zT?4+#;X8PwGRYyXs3_jhruE&Zcw8cm#q`6k&^JlD3s-b<#un~p4wx$N`Uv{Cvxjr7 ziCVQ2pW0h$5BJmbmFjQ!rVcDi&M=;q+^hyCIV24Wqe#jl>EG*M6E1%*FlbBizx=)v5_^rCcGwk)BOZ zuzi%ghmQ0V?*<9HC{bm!Zc5-c{YDp+>ob$XcuIApLp(cg!`T71ffOeJhz)yeo$La+ zg&a-}=bG9mUy_+A(7|(4!YiTRU%`vlEsY@CHRBYL;3$T$iaDr%LH8Tc6@y|0ueb+k zzN2xZZz_05QWRvsYi^d47Cg`j8WZl1#-j!woQ#C?(>%6s=httjH)G4sQVlXB( zd|18OIG!4QL-qfoJ|$Ua6M-iihc_wrpu61x(dAES!f#d@CHK6Lo{iIclvWZP=_zjW zy%>o=5<7*n%u|)?VIJOrUT_#aIQRt%D-iQtJX~(SAuiKc+9}-1q`$2Wa-p9kvY`v~ zstd|VCx)W)ihY4ijc$0AfO=(0Ob_qHVRnw%kCMi&;S&9OWv>%2v=|#Q!f-a(8s_xw zFmb~Ad!l=|47MYa?V?r*k9(OoJJ3=ErmVfsB=u?9_@0)inUH|VtBSIks+mY)&v4d| z>uujBijI9dHH-a$#8j+vGkiJ4jX=+EimG3yXT+hyBeJ0v9c|leqWhyR&4}-ySD#5@ z?{Gd`C7#|pJP~T=MmnHL1N;%>&u733Y|k@Ev5_4UzSM!X#YSEqpaC52`JUT?i<}O>5u^)+u@;8bmk>=j9kk?1((2t2kudJUJ}msAF!Q~cnU-w zli`Qb=6w#-%}1xvwF&Q_w2l>Vq`xOZKg=oONKbJaB(TU$mH&ZDp`+?M)p;)T3S%@} z0TtjMsXXoxoy7ELN`9nrtK?n8?wq~vckBBXp=a4!U|KBkG1C+1X%!l)vS20Y*wg03 z`zblmmC&mxl|IDf3s20@!Tp7}mqN8LuZwEB*D?aWaIxk;X4x;f_lQ-)_c|LT$Cg;N ze6JI@2tCL5O6b#op6+JIs{Y}Q`bujJRaJvCRl43)*+j)QCdoHIPwV1AC1#o9D&(!^qH3EewYDy;4R(?)~0KqOgx-MmA=vO zadfaA_Ls86Ek3Azo;DFjddA{9=hM8FL5{&G7wbiNkmHx|AE z{FdT+}^!_8p}92u|#rs(w)Hwv!9<>RQ@j_L;C1x^_M8A(d2Q@o^r+#@|s zy`17k-q3Kq3B5JWfQ&v z9x@d5CP>dUzAGep6{M#)PUBr@0wgdDx~)U+NA2cG1B5!Glq^~vBXh2^Iz;-seI~gZ z4^GgtylBa65mxsUCVl_ZIbgIneT@_9nZCX9CVOne8q@ z&+(@vIF_06xA}fibmxK}ufj{o;W<=&F)AWPjS3$~ds)wth_G2e&YQ0qs$(?x_Tb?! z!O19ChWT0d7-^NAs9pv13?E~CO0tjfHRInw@)Q8l^YrSe55ws03Hck*)CHDGTv7D{ z2E0$KlUx(R08mn#!t7da64idToM5punfSg?GRBoA0z25NRL{JK{#a(mngiD0at6>D(SCS0-gZrJq>23!73RJUw98^`ZTEOmrbMy zg3vjBmH1Oe35Hc5*!4;LC8Gqx${$e1UWA_4&!Z9?g*(dM=JP70cJO8kbJTQL1173x zoitPcA?xMpKzPCCW@G*I@G_O2eawu^vypGn%@&TDV%W6K2Wf$CTBlQuyAhZlK8ufK*dc!_;okUy@LtnMeJklR2fPG64jII{e-JJt zEdbA-YyJp-a1FCVdsJ6#k-nBoxqJ&JB9QP|-4Hk*heJ?B42 zPCue4!d;RGD2%c4!4u6AQ4obOhF_)kanjd08lDXo$N5cqvE*jlWe}Y!Z&yn2zJNah zze3+xORh`Ysa(>8gUyX(CxY};se!Y_T*=-888EE}9BoK&lqgsR!03kh5RYE+umBwY zMq>1X^vE9`r~KRcFn#rc6ub@s-csv35_ecAfXsnkp>LsW4}Cx_Iyn?TczszUmYzt@ z@b>=_c% zp@Gft8zf2~q`#KZ=jc;BqLK*dDSn;rAL|Pe2ADX{z$X&%1c^EBw-e9DwcIcsZd6Lt zvKXIb=r$!sf)4^5GhOH#Y5&zLYKE?B!k@IclSLfp{Y@7%CQ7{WAp2|uB3ST6!K3oEG==ad>3&DrWSSd%tEaKWZ83LjPH|&}Acv2rFI6Ki#ClOBoG^l; zI6H^IRRKDVvt#`h`rcGeGrTJc!%>jrO2Tl6%ji9%S8X_lrdi7bv7*{=wmOFFsD)!N z*#Gw4&i*_+@}0rHMiG3I;3Y?6&B5>!Nig@{B{>Kh0qKm46l0p?B01(`R0O~6BJ>;| zEOC>7Wf+b0WYursdC+ZdmCVPO2^tCNau^)=YzupPkD-Y^q*uB{17D2Ka1;&@Hv+%I ziAIK5|4?GujSYP>Wrwe+;`6&Ca5g;0|E{GiI)2EBUWu{9d6C%LB`Y~5&hhb*l^E&A zM(97ZiFY!Pp5lJr0qa@`1FW)}D1%eVB6^b`I)m747!DgL$rVtf=fyoExh#P6hO(29K|A{kB%6XAz!p8;bJD~?~Sb^$~W*u_VW zu~qUT(TBs!4`-p#$3?=+FA|^QGicrfau(yR+==FqKR0Kw^A`SDD_1lhfZ}p5^o%z}Rwov+x7Z z%P`F1->TmMhPM!Qv+x*wINb*t0b6YfIu!Xs;_MlxIzChV=n$Pf<5bFLrs*~jM|zGY zN$8O`<&WE%nD`C}D6 zC^=`s;`0n-N@Ol%z!Gr6Yr3M$hx7~|uXm6L_gDbz@Ww}}wHg}m_m^0u;tIes;gR52 zy*v|-N!%YJJ+Fm42|do=lz$hfg=C2xH?9CI1Lv*nV9niG;_b~DIwg1ZF+Rutp;z{e zK*!n?OP@IFd5QdjGc{x1%R0OH;U}5lS#IrzQzz&4rQ}K{l5<=nC!M<1UY}NBI^+Or ztpU-iBTl7^@@nvH0Pd}R15*k%|6Hek4)a&nTCbbWN0S_M$I;NW7N7g-De)A5?0D>} z;X$a3ZQkB&w(Dr=CvhBr@%e11P}3+QkWrhWrrDJhk|zZ)r=0zA@RQeNv)9kbACdG; zjL-4=C4CclF@9~}#8td1i?j^)==sf?B~poi^=V4rO-Te~z%y_wZ8#&)y*7U=?3T)@ zm6_4#uRYt{41TP^oEUwU-wqTg5WszjlU8Un^`Fd6o7EqdhGCz+CQKQ)Om z1!Fmh|9;$_@iLZ5aHMB=8`I5_B?Wg}lt0>#6-W$)2t2Xp_I&kzV|vf+Ik==fD>)%UDw;kt!u?bQ1$IB%v!FJ9lXNt!2_8G% zB??uTKEqw`2(^eK{oU}xaZzL!aipg>Zu=GLSe*p=Y{zZCNpjl=d&fPLT}THZXkCwO zUONk;i8S%_+~)O9jwJV)bXS>4-D<2pvCE(4|4=>S5q$0z zE&{4UkyJNP)l5{X3gX{I@EgQbDLu#2L|l0R=zluF!@+H|WCM#;OACop#5Z=l>Sb(5tjki>+l=E$b?{yaoT9Sl74wqo z(C{`uLq;IEE(LqwY%CdBpHhd{=r@QDj?%_C8mXpPG;%_#x^e1oGQCw@4ve*r#qAiS z`6WV=LUAzktwVd~onmYSo0rA@M4Lw4rI5_lH1-&p*QjPI#Mmbyycg2gMxb?FvE4k< z`UC9by3~2yry}rtJ2i37>r#g|hX%xwy3hB)u&5}&S73vA1teP?Nw(Tan<4Lty5dC5 zrjrxb*Ofu{SRrnq3X35HM%Jk8O%y#lBVH3>o0TBol%C_)h`6$h^Y86Dpgos>kKRNV zu_*#{pIiQQbwi4-IBUBULC&3c~V23Qur#*45ZaxqPa($vAZco z5#NHL^bBvS^YUDtD5vLma-4uG*jiy|E#sr% zby`o|r3_>@E;c+ud-EF6BBpQ&kerS*@GHzBCh^g_VsmSB9C+$c=v9po^dmM6H#`cw zyztC}IIF)1ym;)*cIB84F0VaCQ@+iHq3FuM*uO`3k8&bz1R%C%O;KLP8;NAk6LtNd zB|pUH$D(_Ug0yENw0mpEZ-YU zYec;8UmWi$k&*MD{a8I^>R-@no+NV~ZIMF~>ZMKG-C&@@3O%o`7^J4AJ+%OA31OoEJ8n`v+h1{?!V=b*IyXny_KGk zM|Z`yATJ!hLBtir=SS#Qi0``={)>n7>m~2Iz6t)c-dk1I6^}`FuBw}$g7x6Xb$(cm zR*9M;D(3Ore83#cHGB*u#XSg_wYtu0=jiP^@%+6X9xz>9murDl!J~uFYOMdHZrOF} zePr0#I(lAHbhd5+tgZV+C+LMMpjrA(0((*%nRRl%*ZL{tT3{?X4*~_$+FViL zLTio1QQE5x_6@OEn}@V~dF9!AbT zbuoCr_wt(h_R#Pi{pBUQy)PfGPX|*)ms(E^PkXBr8`%Dhk*A$%l5w|Me-GXOxvv#j z@+t8AB$CGS;Cof8_jc#u{jvA{)$$7ddr*dTk@&;mi1v?qZ#N!hZ+b?T8RIj4e_CTm zpFir8$pTY7p6GTJ-!CqF7h-RSa8HwXmO-4={@>cG9_mZA(Ntfe9fdQX!;H7;@i4uk109W$hPUeT z?*bi?P4E&!iMK{_J4eJ7WL_4*^F`B4O3(3*FcZH2Ewty`^|@w9eIS$h8duhrm>*DA zflrc~V53&^etmknd4~=sw(Abnd94v4gt&IrPgL{BboivL(l1RAmB1fBUbaW_@-EnS z?X36udALrZxcd;|ql8fCQ_WKn1PP+>UmRvUiG+bT=bs=-Fi0QU6k%~ZCO`ta>a(=h z;QG+6`U%=s;LM<|{t4(Pzl%ES!jGD=hZn)c;v&wH-((uaZdNtc)uVbuHsP#l#_fPO zAt{LS!W`E{;kG&6Uc?p5&1YDd#;W>y)uN{;mO8#gLX zNZ>^MUb9F44H7$9?{y!Ip!@0TA|!CKKFbB$|9`I~zOnPlxtfi9ce1{_|ESVV@~$0D zwQQ#bR*sUrVspHeWXp{>+q)f7E)!p-r3*R5$@8b`(G+{5jVxKc-)rZ2F9U7zsrrAz z@DS}tz`Gxblx?G3@RdSqhU4JH#j^(18pcmE-OaqI75rMCrA{zb|5~4eM}8wk3kN!f z^7@@6Ij_PQnQin(>w1DH690?8r+*bM;0ofDKk9$GiZXLyQv|>VQ+Ibpps_w*g`N2E z-|EXVrl{RO&G}sP;z+a23O`!E*?~A|_`QA(Oofx#ZX@rH`YdzDm}|h;)`Sb+AN4V~ zf14;iLqr7-#_P25yyPuU6fk&01;xWEO3(2+aet_w07Cg&e6^-_;KpY2ez?hgt{z?F zJPUhl2sU-%Ui4xf37o4h2J`ms0R0oXIP06qip_=sh>`ba{brZCk;Lk|C#pXfGxgnm zRZ|C(Q?}jh)uklX4u2j@X4-eBs+GoK`|jJ!kkT5^oVs`Ol>Q%G*8$&D_5G8!v}u8+ ztg^&X_AZ+?U77DC=}6g2rich=`8yGW1QEmm0YNT^f`B4|(7Fhqh@yasP$*!5wBi;O zEGqg_6#bujPSV<(S3Vy;FR$OT?z!u{J6r2+Nm$kXA_OzWav1_{h6|O-s*(%C>9|$n z<`~&2gloxs0}EJu|HWtEkc~J4(xJtACxM;9ja>psI~pB8T#QI6pWA7YVJUuH)(s3~ zn;5ojG*p&$5Qv1|Z7^|lb5*jJ@^GYKD-Vu*vdtxYxZ(Y#Y&;6v?6AD&`FIrahw))t zzHGC5hMaRWdUkyJ)YB0KRwjUwi$~F%Z2SeR_i9qEbZ8Q{1RAb+xpmTu`iR_U2oyFg z|3@Fw+Rzd{hrWh{Q+;(d2*Rld&C8R$;riPuo^R#e4SGKhwIU1oS!TZf;;T8XlX!Tv z@FR{({4aVWCFtYI*qRxiA(vgJn3T8aZZ2&$beyn ze-RgJlCh2|Mp2qvp4=l`4$o^`DX|O0Q#psZ5vbGWK2J^vzc+#6Q}LfprV=_(iIcoH z<1Ru(+u@7kKH)n44L@ld7<*r91K`fBlG-4>fg(z&YS zc#>C~b5s;}gES5i{%+u)=EB$=9JEK2bca7~7G?5rSyXoi_bgXV31bg%Pez`Y(*r(U zlpf{X^s%BC{-%F7;O|jBp$T*bcN;{h3BE33v&!+5Tv%CDIuodmYCC@Nyc=qq-s0D5 z;U^E_ZK6B#QAXsafovF@tmk_T@dj{%^KtlQf)6(D2dHqHVOSE|XzJS!*+6)BA8B2K zC4MAi@DqHm0rH3OLkUd2G}u_9;JpM4X9pIRryBxsI~wB5;Jtl65XMv0e)@M(Nc6Y_`g_$Hix zFYup{{9@<$ayhScUnBkE8w~CNW$m@lQiWr1B#>(1V>TqWY3$wj7PvOMe6QXKr-Es; zNK$&ZKkmkHoy5ca`x6E{H09b|<#LNi5;e-=NHI3TdEqvCPWiTkP7-DlCq60cDi)(p z8o*Uz(ieSx2^Fi88e`#-K8*hwnjN2y0em&TJ;t&K;uhg7Qr;jC`BMx9Mx3Aw2POO@5n- z(+kQoyr&J80PJ2`j;8^fSXw?2cSSr(?}hT|G>E(CJ+K0v`c5B5pT%pk z!W9~yzC9qHW^MWzZih2R9{Vi0&-GAon8R=CL;5go#+e$?{IT*e5UQ2oDwev^10bEK zhZ%Y|lYLnoTqm_tgp(w8Jq9sIJD9Y1tb8Ig#3K!S4pxdIa-Hsm#$6*4rvNC)P+B{| z8`kNo#bHSaPM3utddl7a+m*o1$IDaYd27X##4}G~L-!Z2AK1`^+ag;M?jswx9BTef z{mV`9?cU|(V?ff2c%+s%16a&YI@m6ow6Q$7F*Q2X4PI^vUx#AAit>!O&4%?J>otSIO0CL?P_saQ7%_k9U2nh`1=3lkWwllW}Jd+Gk%I!h5A^)!?B+)LzT$Yor;}p3>9@BKa~ggMpAro}RVwvGV)=KUdc6ky94H10 z&2_W!ILLSwZHUqz6%o8P-K5d!! zOo)4=0gqK}{{5%x04x&K-vdadB^ml*Qyw_;{il1|K(=&le`9%`SRGSwzS|1J!#HzL zCt1FuVAg9Wc$_XDuP7618dRjG9x_ZxgjvYCg9W-HK)na4XNoHgDsrLe?GBTdu@%XQ z;pvg%aQ;gV*nAjU@dxDn&x!ID5HTXILiW;&@eYx|nz#yB;*h9wCh?v`YM{BNu?Y_~ zV>nu{Kjer4jiyBMhw-GQoL{CF<%^#26>@+y5hl;#D_}ogd_|X-e+(O&!r)d#a^tr{ zI(Ex*^~CA;im}sRv6)6FECq&%XYo*1C-HYsSZl*i_3#r8>ziPEp79)vAtqF8i`EYl z1&I~8`YVCui536K80>u<)D&xyDr804qcPfk43zCaWlao)$!tj6SBt~8RgEF@kAeRc zwhO3*r`gGsO=#w=Q%FD8Y*^4hQ)kj4*98ALS1Ocxzrsm2tmm?7#mIbWmdpABP zjt}|>_-RtRGt4gXaq${ljyX=`1LrzP5H{c{AN2J77q{cF_jQVsP8t|)=#vv=CtnB0 z1V|hXbC_cgjW7y0)3)NA3d>$KhA?GwLg|tIVDpzciHFTyEEo5QUvH|&h-z*K^l4YI zFv@E(^h{!-0cZrZ$Zd3q9LGe2TilI&WE1(r_Ti4*V(fOzcMQec-8oNECEKDS^AXReZiKHopse3FHPwyjL+V zChDVs;^g6qoDTO6VrwZdbUA~~{-IvK4-|cmfU=4~qVMmYCMSG~fA7`v`TlUCK*hwU z@g2og`TV-GC^`yso4bpZM=Lg_ZtI%Yxsn`^i0&`WzD<(FG`73TLT=01M%j7tsyAe2EUh!W0s5^Rz zmA_VO?69Hd4=tBOv{F((eIu>z?CB+nu7R^Q^b~Whf&Ht}#LC|)!XrDgx>WZRrPrXT zkNvHpn|_)|`>n#OPY9I!R&lX&gYqo6sXMT`?YTd1gXpXpBE{>lW?<2|y>V-zHaCaH zFEIS!bL-`lXwPP%bm_U|#`M_=+mjl~)z8fyJ(mICt8GM)?NV|=7`zP@$;~~N+#~${ z6)rcZQ>AogAPIk?V|2Q9&BfJ6&m|ke@8ZOx=jhXY**Po~h0D&#k6#^+PJN$(9Qsn% z>9RCFekD$J1fy4LtbVS=hZwH5W^I?QA}qfnv@MkyI~QsQ01p&Cc5Y(RTXni-yp{5u z14-9HDURc5Yx&(hb|={=^Ze zN3U%>7r3_Z{M>#q8BuS*@Y2ci$&F8-{Dt}vE&6or8(4kv{JsRk18`sZsojU+Yd3g4 z-OyZry@h-WtO=fnans$p_DQg99gdZ*1n_BnySDNzaINzE_3xraT14pw7n0-S!E&GJ zmOhJw@$iL%`UJQa=fb2Y_+p-O1Qy#XM=ls*^h<^3;|sa^r2+rP7rb%$d|@oVFiHPV zpt$^kH$HWp?T)_!5rupiNNtFc_xCRm#>xv`JzN%8d0~?tj-IT#kefQy0{f*Rn4SOz zGN&~CDdDfWFv;?(%0@1IkJre~@B5RP;W{ZM0d;Te`=v_UqEfbe{F;iA5kNV|C9 zU=-YfReJFP)T+-fIQ8v?=kp7>QGeUS$|fh1;~ODkJD4~s`5YLnq6|>|F=6}y-j0d1 zFW~J*Q7qq<2)}$>6D9EIV6-3j_v^X|(n(8=DDd;F$K0ay3-C9+e>?d5fbq)<7i09r zqWW8~NoNzK-(ASjr-iB4+VaPe^{3Wneqz2S?f=}n}4fot)>3sL&A zKv|>UzYX99+Onp>N%~xo)-0H!&k~+yL1^~_e)-Uk5oOJTo8Ugo;uZjYEBx??ItO;1 z4JP+!ipeVJd(Os>DqjIuGs62FBl-k-A29fLn@IXJnCvC~*nvMQu)Vde+i;5r;V)Sh zsSL*rCnPV$RAy&5@)N!@r`*ACx$`IRVsh}YsML+>(r@0<(B2%aZ7P6by@3iwll2cz|s!qXWX=@$OZ;KzKC)&*qkHQ(Jdw(bZN zCa5jS>eu5HQ4C}-N9*qbIkQ7l%eQSXaT}Zzb&px}?F#F}mv#+yOD(qZ9WRhF-OVWI zMa90wMHR&DAaop9Ef?|3N9&Xd-C;an))mCw`1=zH$TkylwU+uhB z`$14U6n3fKo5J56Qq>)%X(3f!n52cruOdx8N`yx~ApJdp6JYQtw>dQE;&hK-27HK} z=VKSR3qgm1VUs#7^d8tVC`Wo4;j(aXZ_nTuc>5G@1`uZe14&~V`Qi)_{+Ih5qC%2h zZG`KE2KE9;pTr)(x4^xo^_`drE`pF^lwDVfETW!Q{l45bHjiG!g^TP|+TK zxC(BJXn@ow4Sk4u4N&VRh~sHNxpn!uB(`P;nPQRY@2FgjH96AyxR423>fsOLUX6R^ zo&sJ>LSSd#APx~93|*|$KPcBsZH12p8!X}@U!ROV3N0_N1pEmW3vN;a!4toF&psktpy#F zGcnP}WE2~c8(IGp^G&TeL7ypstIuVvHdJYa+x;53m+HAv`XX`5QNg`4*Cwf>5 zi3ipU4yMb_JDS$9ok_!C?{dH_pDU}r{f zkzD)tLNY7iScVKCKMiQgaI8zz^)}b_Y{ziqCmg=kS~6U>5@cha8`zl{{Hn2jrtrIh z2lf97j~nWAb5SfG7XyBGaDqOjo$i;`qBIX`4taHLeAl+}C`!>hANs1V0(a&IbLE|V zdGbi<|J1K&{Bja!3b9)6O2msB26}>~=&1j*i@w8x$?;UqfA0Y^P{V>3qxB<2@hH$7 zBmAR+Ui~s*91V{m;U5iM+07Plb#ySfJJqdEGKS{Ki!*d}{yhunBAJW&Zxz+RX1!m7 z>^UGKF-uHu=fR{~T`|5|yg2g@mnd3YmfW4hK9%!rJ@kaXm$OOu$3QRAPn3-brdaMN zVr$=g8$ml2k^LF#hcR5Y32-WcYQ|e4Z7euszwpS%>!NsUuw8U~UV`w;A7$2TQ35|Y z_OdJ<#>O^uQW2Szo4Zp~g9LAy!pWpQ@`lH@VJP=TE#Atpq>$lgFRA(1YZb_*c*xpa!gvcf>v`e11^U`D^~$=BBC=vVFjHijoh5|-7U+)liE2sx znj2I_^b8w-n(EED0b4}c1R%@ElO05zQi3}Vse1gFHB}T(01y6U{vn?eJ_GV7Ha(v4 zlPCdsu;8l<=%eqm4i(k%#~PbY7$*kXd7rdZ=E)<->!|Wci%7zk);%7EqbZcW(MnHe}PnFvWX6!4=S)`1<3;lIyxA>*{D27{wtwiOHGBuG*V zkv0ij@UQj9d|stw1`y+Q%WJR(1ZrZgOPqY>VzM_8@2Yq&|wmt2Xqa$^4Tqny6IqZt{RigLOdke?-d`>S* z2+3Qa{9VYFs$&Tt{2RxE9LEww@++*P^ECN;h79U#ZIsUl&|vb^c}v4Qadiqbvh;p6 zJ3C)~$M6J_XU=4I5YkcOq=#!lT;kRbSin6J}cAfIgXEhouNl4AZ#_X#qHvc_{aZA=K zuA#@Cib#pz zE0Mz1_P>PZHpq(4tZ(IM6O!OPj^$i2ri?t*((;0P-@^70r9<|@ghyNUxfqW8=sB-x zkfoc-2ry;j+V+-lTmkmKq@b0px%<6+@7HaRu>U1|js0pK!;xRg@9Z=EY{{%g02#2? z>Ja|v!FJOoS-&aZmda8|O;tDRiyD?noSLf7EX5qh8cO&ZmizKW((04RUXmBI{-Qvn z6p=Dn=m`JaI;eo*I*F6K1J=Jej)k1?o=TaA^Mk$KP#f0WJg@+^Vb+Z|&|qrAUb42z zXE;_Y^Z+UN(VCdYaO5X^ zk@dI+|HfW5F1Fi0Du8naBeFo2Zpwm}m3u_l45&ss?R)DXBwt(9gB~UbOCbq5?pR#N zN-36N!iOo%^BIo(C?6*JoH<2|00oc%t(}t!7>@OjT)8@Hp6kJ@`!wn?;aluQLm7_z z(v{PFrU|x3^B4ivWAe4#@uQpJm;zFe?*44Jc0)wClGlGUwQwY_OueT_o1XC2&cVVz z6GG>6qIxEL=Y20qW76i;6nj^2o7ZfP(P(0&EE<}-V2V_2X?a$#k1d@?{j(~3d+L<#&E=G4mM z;}20S9}9$W4$#hYiaB#Y1<_iwd*!iXkkF=X6n9b#RaOb+6ZrDOXm@L>yL z#gRF|Zu+^RdJcH`FOl|tpm@CS{2#pCDg5%St0;j-)B|R5vKNeflNyt`m8gb4r~U-7 z=2IZg00((xJD3d};L^V7tOY+$2Asm?@ z>N_(p7hD_Gt*$R{WQOn=>F0#!e(=RJ!vAQnWjtlXJp&hslKVl&7oto)gs8qB#(`mE z_W>yHIimUj_~S%joC}P@gl8_e{4Fc2e2h@@G?9K(=GEoiG9opr;{Mg32 z)MzxR&l$YkA?7?-Q-c3U|JD8ZR#k(ZO7NpO3q??+ILYX0y^M|v0I{9~X zEq>MfvM75HQuC}!n~YNPo*DKy&4bUxA@+^Kj^5KDq9+tJ`mVXU3y&mhXxER>CM1al z+eG1?2Tpxel*q?OQ6?V;M74Z$6UO<$cDK&5Z1cdX#JX<4@vT;%(Puhi{)yvQ3tJ-| zXPM~M<|jPM(Lng;L+Zb`S)RK;LXB*|+K`$dX`*a?FxN89!pKk?k+rd8IUqKU@QrMC z2tRDSOL!gvZO_+3))uv0Hun<#hoCDxYVKEXyth8Wtfzp8Qva^SkjHR5H-}PptG#;> z!|~i4!kgGHa2#6=lt0aM(zd67&B*v+c2wjs90ibqGisWL;mA+;m(G2{zW@d! zj@yJNfgdrm?6(XRCw4Q5XutVdM_VmMHxJz{>>Mq3qf8x^!1SJQepJMH|!=mOzcK@TISqM zNS0{1)6H#`#o9Ne!mxjUuoGwVG= z`Qj{D#t1L6LuUw#-fh;oPHjR;qQm}dKEtsrke~{C8y6hT9pPeGmI(jTen%n0kssxI zP17AaH~|(WGGLDV2d)5X1Nkb??k|Fmmb$*g+CcbMR$V^BkzcwH;yT6IaX2GD0p#P+ zgCEflAX7*RKCo^tWaF=x0K#9hUvrBjD4RV<-rT`6oZ9q+U(ZR0p*Wbl@ltK>JHL?Q8LmtRL~=5*_q-JwginIXOzrCQ)7JpHFs)WPmaI zxbQ57LS0%98QJk|HiRdOp)Txp_7^4c$9yY{*uamN-|{vN6{U-7nuAfcYGHf?O6O+F zIy;PWM0}n|)ztK^&2`xrE^XIQyYjrH#K~|po$$}IJPwBAbPgtMnrT|@4vldU+0Rni z8`>`M!F3csiJqKwT;a}_{DjZVgk7>rf+#LQ10<Lm~={UXwq1{Xv>>6j==mO@V6qdYIl z|sWF$<~w@3#ElVK`GTgp^`lU1A9S)<0`-#^yY&Z=whSV@YAYMaM>3MO zA!DaQ^j!u;nBG_PJ|g_fAWnQhR4;?Cvo}P^W5Itr^tSSBS_i&Jg8x3#U0JQ|VrAjU zWETa}e`M@5Yts|nG&5geI1Yl7ywh0+MA{S3>!b;fd|VO5^6|6q!y~G#SzLVr+(q&8 zE7?v5G=p^;avafbhPKVlI4i1w&6}-ovh_ehV%D2K;H?RcyA%FF&RIT+izbtr8P-l3 zb8%8W;a9x2ERAvHXMljx{B!oL8V1zjC$i6}tVZH+Ir-F|)0E?QZYJTKR^>W04A@X( zKo{!`RrGxdCKSjZqiqf!Il+N&5@@rH&qsPMy$`poD&iw4G6CelvpE-Ce9Wg7Uuk)p zkBVUe$%E1Mw+l7-dxTs(+V!rSz^vQoqQPWR2{>Cs_}kWxMHvXP>s?(YXcM*oVLnr{A`Ki%7YVxN zXggNS@z;Kjse4EA$s1YPNZywoh&ug{)I#^_v7At*AQ=^B70eSQlCY68cRX7Ygw=?? zk6y7oEvkXgdzUqKNhL*hS%21ut0X_-olJK+9?9bZ zWH};VMd!tdl9e!@(k5@(c($Yn3luqNtJ=vUN>{>yGJ5yAJ{rgAWw9W^KjrnBz-l1Q z91-q!E*i#gEPo`wfirF_!zI5rlxsunH*3^TnKE+iyNk`2}XaX1krhpV|a_rAzr3pPi_>tUME`}pN$!}r#M`gHggEySHraLq4R2Tsc zTvMBLME$q`*3i_g;y7?kxKQVE9Qmn@`oleLDChS+3kDFuyLnR!837JllLD)Ig>9ufRaArUBmvS6<3I?ORXb1d0Q z0^e6R=do=UID${O%QCWn;W&U!@;bXSMl&4w2@g1LjAFPn*c)>BSofWBsxQLjGDYO_ zy-J5dhGUA!qj%)B9nWw~FyU+RtQ>~~%nmDX=EaX-a}<~YGC&l5IEvxu0aDOCUm3}8 zCye`AU%IOeWO8F_Fg@wltw1k+6~WBZOLkVQQ8%%^Jj5V8>w*)a2jq7bCF`L7yFR?* zlPa<7L=O(mg~bs={oQ_z0Y*662|o~pX#^I8^dm<$Lu0E7TLFX7>?OZg7Ver z_3#t^vwP=Iv2q3s`jF}OWZE@m17-Op+>!gLC|eKXoxLo)7;LH``_mMi|Kz4N5hE(K z_>A1S!t)G#IDKT+CL^EU+8@^VJp-kw$oi4nTDB5ecYV`EpMdYN6iAYk)V4F?!-2gdB?^DxX4ETXj zAJfA649s1u`Xspr*?e10l6~^KYa*(W3^9naS2}zSN_sE7dxzW!>!Bj)WlTi!l1z3R zFO{|U;z1wtFL#UxNdDb}T3Iyt152I@zLXrL#)v*|1aFS|Cpu6lpE28`pK2od?g=J0 z?g&QsOn>Q}Ex^fv)q8^LqhhL~C&D$e`(WK?rx5yN;;8%zI1X}Oa9z`GU+O2fICgD% zT|fGk0VxUlM8B<>#6|N@g6Ym7(JfkjzV&EbYTaWs)F<`XMuz)p@tCOHjU^sf^GOhP z)a;2#Zi3rw-Z&ooquUw%WsQ?ur72|jQGJCGkG?u{A~>eg34QM*wi*sq5p{9YAfreM z!ls+)Wx=KTZtv=pL_QnzI7sgd|9z&zy1s~u=BHqpc8lnia2EEdAe`fVD!5&*?-)os z4eKFc!ms2Ee0DoT*%=rR=pfS0!kb5U&caAaVZeVjI4K4;mQ|mJzlwnILeLv8m+5{5 zuTf1EarJ8`kKIt+XZ>Nb$k*`qS4FjaY!t?Cf|F8D*ddOOsIGos=#EUsx-=F3Z=kxq zU}ggtc*{r+Bx^UggD3-OaGYM+w;;Q#@O%sQ^$hso&8}}KN_teLzb5n_aE!K!&py^L$2-7 zmQzDM^DrF8Y*P{c$Ykd@@)JHbYZb?F&>7`>O^q_T<*`${aLkqr@D6^!$#4`v3dUq_ zFJd_I6FzL>8ZaT? z?^C%cD)lono8Ct{D!3GMt&8J5288#5YgUazAb;N$X+uD57f~$V;)EX_sgta1I~MYG!Ax9fDi>uy zX1Up-P1Y634yPLxhU35+iK)s>6lv+8E#1kN#6JxpNX&ia$3<~^WxMFbHYl0t;P^OE zonCn`>X0f*mz5>QleD7r^`b1JG9{{mlm1NHL$hxZMiZp0jYu;=I!}sX`SyqKn<}ep z8SQ8F=i$sM&`mY4ZEByv4996As(L8{VSz#>$eSk0;1N|0+X6FT`9e>0fPe5i!k7i< zpCSz&sefA7W+0q8BI+pv;bcikJw4!;54}rNXIHiqN3tus>1PDsH|%%2Pn20JCq?yu z)fIA62{kUa4sp70Q;C>vtDGJe+p1H47GpOuE$rL5e@#Y*D1x-a_r~{khHQ{mH8 zSP6d?+gy+#KZ!CI2>3N%bXTS%b=Z^2`*0a|QQ5TJ^lU1APr0d3&bxVEJ@kYJ+C0l~ zjH@V%;s-8+7-bxoNbkc3G!|v!AR#wIwR|)X#_^DWAB*DgmAT$k5btQM2M_fgneiM) zUF5StSwj_Ve!~CB8026$#&9J6SX4$wk#-AMbse@9z#}M%<>StPUp}JJU@UtAc=gBx z@ap%lh`;h+>SK0(KE^umCS_1s?kl2fBGjj4R&6rMH(mN{SWgcsw!(UPptjnzN56^s zj*QuotYs+EQ?g*;%cROpsi)+yzeV@of4=o#N*^p6-8(-ZJd?rIKZ}yd&=d8RS2pB3oi>AkgSr!dX{Y4?jX`PeBu^6{`J zmXG9se+GCKwhdR`0k4$-Or|4cvl5e^?|D>?2koB(^#>eidi(`O8cthQ%jTnxZ zlO5u}lE`r6M?BtS(0v#q3E-55%5^ax#w>#Sc^-yC@pF*9hi-Ht8av|Q%Ji;lqZT#i z#>(i4a=v5q<3{+J5U)QBU8GJ|h%diBTqzI0+ur2pJzHSc|KiGYgI!nNRK5kSEw0=f z71L7p8Jw;?0Ipo1GS#`^oqroWL75F&ro7!wN<=VmPi`4C8AXGaUQQzMvzpHmHJt>bpG=eYC0k zVy;u?aK3}cn@9iE48N$GuL5E2=#&ROQX`#EPfDx=x~6KIRGIYKUs!zz6wg9PqD(Kf)=jC2K0Z`Zoe;PggET zfO2bZ!kSs1?4QZ2AL)lCG90}U_F7qEh9f`Wif&3A!!e==Wh7>o zgbnyJR+~SJUv9{7oJEq=KCt8YN~^xxR$U|5RUdKEBxVf>NzZE0^{-Zva>po5jyMD}iGv?$(P3A3K+tPy;%`STzv2Ic*n_2~$46$Et; zzdz$)!!SBYPuqeII**EK5FFE4`8i({mB20-Vr;F%j*y2h*R7qKYZNVW{BJnJ@dh>$ zoCX^k7>?Hf5nhqGHjm-bFmGss@HpG^e6r6cEsw>Nmf3!C^SL~U$00t=HZ7mw$WQpw z_I(_O1oR3kFe=9j*@_2D0U3~{KJ5`nJ5MINN#HC;Wj*wSo0N2p>$ZTg=#vA%b(Bn!; z5&yK4MV;`Sj@Y3LM~l$|(@a0QZW<1qX5H~-EZyXy*Ij)^FdPMtO9nZ!3K@?4p*&Jx zA^2-h?0>Mg9SWUMgd%AvDO&BAKU5SQIF)<{F}ARNm9I@t_*CobE{5w~0C_t2?=vmz zbJ4;|CtkTk_)~-7T8Y=-3+0nSZ8B;EzRBIMQAu8`QL}uAQKY?InbKi~Ti$0}r>^0> zQ6%P&vS^g(`#O9y(fgF#2ZjIj%61+9aJCu67t+gQP&1P3I3UU-;obHF9&JKuUwT<{ zh4Bq2QkQJc4Tb%+5ssD?lf+Awd9VgP0!LFx(Bl@Pi{W^~72(m=9des*UHN#yB|0|7 zq#I%tC2v4uoGZ$}py&aXF``=j*kD;JjBi49xZ65UN*PPXDfX0wkk@^6Xw@NnIs%z{i_~AGW%Q0bYa{B{@G{wEsw2j^SxB# zpPQ^j9LM{wNKl5OAzzz~{DfasjubNaSTM0ldrf`q4{DTbndL}eO13>LXNw~oEODyS z9aNl6u8U*ICOpNd#V-qhln)D&JJ?%k)Y&kB&y=aYoX_esmJm{Kv+_L0v4jw=w{6T9 zCyzo$L{)o?b5*|i!OaoDg-j6P&DHnw7>*vJs{VHFumXl-g2T9z()Aq5j{!pV+n zK!eGE0alyBa7-{M7@Kjz#c<>&d{l-`5i9?!OrA+O_^R!1zQO?uE#Z2#7jN~k3Xuc% zT0i5f*!yQUN*isoYeKV;v*~-C-L% z-Z>XK-{m!HdyTUWqytD^59`gMczKC$vx=(e%sr8K^W3EMEY*FuUtqU+U~#7_J*6wmj;r& zk8KS!YDO(S!cxwN%}$kEKl@( z2YPXO|4k_oeqi)YbiQ1`A_S}kv?aUJ`Ar_fu~0Pz;Xcz8m!C%{$WQniu6KrUep!f6 zzSk7zo~@BdH3X&?oo{j+OBpG6-JPMahEMVne%-Zr3@;?Iok)cL4Sc5Tf+eElAVej5 z3)kMl_i;)}BmDQ7qVtxBY9O?E^0Wx0N-5H3`pDDj7B&}!pE87hl?NfzyOr&3eZ{4W z()rwWzH7IVIJOL1tHw%m@CRak=N$;n{@OS1TopaF`B z7i9eOA-tWMQcpoe`Cij?`&LeX0>}X2(7-XJM8q0B(ynKcu zKj8t#Lj?>+`>3r;_L~36Yj-xsTIaJ0BR?WIpxl$sa1;<~49%^b3`c&#*D3$H8IB1c z`CgsbpU)<+Fa<;qtA1I)a1=laj@wT=8IJsfCn?Lhe2lcv!(P*qc56OAHBv@Olm)AE zy0{sR0?5TzoVOP+978q2SE>Uzj**s>AL}#qvF5l%-;dymO;Y%I`gJ(uNWO>iP|1U9 zDr?{OJEjzhmGC~3Jd~@R<83V(K={AP7T#ZB0?0#OI$q~E@)Mq*C~!uAjD<;_LG4jb zY)kkobv(t+ZsK2|{G?%@3>^udrEcUn7BOn3{!|vbH(mX;k-kOGP{TG-Im_E6kdA)p7rY*0DI&a+q7@TJe$qHkxy~&Dei$etf@RJM?qoEX zTB@fMPfa4}FV84bd6XQSSEok-3$3M2Mu2yM6aKZSn}&dwYYh0+ z+FYK?WUkv^)#9&NhPxOJ7X?EZB?WI;N6UksGz1WS)zT%8;pl-VOhB5|sIdo6dVuf> zOM8AUlx}-I5JaPZ_RjhIXe;yp;b+wyTmfEnObSk045Ijx%9h>fwaPk8nv!&s>C6MqNgS&>!-@n%~GoYXIWG*i+=vHWq~(q8!Gk8RdXqD21q-g;7$mBBn4 ztbZ#lgRjmw)akbE6~>bgsvgZ>xnf{Mq$pLzBH6{vXH|w{xg{~XO}{!B?vwmsd?S~S znMO&;_1g3E*g|~FH6j>ezmd;y6hOZE+cq5zE{#~okNkuWv_G%GFY}V*d$-sxXteIN z1Z}OOc=v{-h7_Drf2xO{@Jq@8js8~_OZ0F9(;c>@a31I>s8Hl`uYG}s4|Yiga_J8? zxLEWQRHzNk#G#x}T26vSICp#4ca*OdPj|ND{V1l46g}bkTjM)T@+02KbV^;Ok+fHU zfSQJ-=2@bo92%eQ%9l=lqK_n`HX=spA*zAUrYearAQ^E&5MGc@5?^ur;^G?}cGYNH zpuk~Xr$M9JaZ`~tA!%H1?k@a5=sjk;CQlQI=sBcm)F{lzd4c12ymK8=xTu+H=JK{0!$DYkmY)vH#I()62hOi890voWI)e) z`6ce~naoNn4FR$!kw;^){(&*0$l#zBe=X|+QFacNuD92SK_nS@Jk@avI5I*E7BNy& zm}`X9Ea#z@rT6UI#=>(RYGAdazbJ+uoetWT6hVI#k*87vdBSJ2K&;RiZa$~?_U=TD z!^0#!d1kdT3r^YsdM~{Xa{bE>GeZkW-iL~BI6o^))^NhFsE-vf9QjH9Mq77{v&w+q z8!~95{Y?!4G8i(zf1l~Ij0-L{<&Tjv;jL`DIF6xuJn|n=e=X4Bhi?HQ=<2+ukP%?W zLJAt0K60@OFEL~x{6@y=0)`_$$G=#5m6HNV_498kP3QRd$TnxurKzNkd=w>)1piwxF=PGb11GZe` z@(+~1G+Zw0HMw-WG86VGLdz8zg4?Og)o`(_#w72&Wuog=%h(7H*W$->3kw*I2_$_l zDn6CrGJ)YS#_h@^4FRu!0n{}1wWk+|(vF{no96q~N%G9lx&~nkOD$ycockexKp&c~ zNX|CEm}95UlD#DF5$999kHLtJ@Q$vjJmkcPj^ux*%+;uLyTD$;cPp=QT-xUiHH<%- zR`D}CF(##kv)uLqjEqH|=_wu35dQm2FPiJ)Cw!3Uw3GAil1&CF=;nyZ=d1W-3JC9$ z)4|1X^Z+R+8+?z#aP%PIX9s`4aouj&WRQywyXF<~rH#95@LN=00mF3?Cl}wO=HxLP zKfeh7Urx(>hU*ebY7~59eZ?*2d{dd6Oa|o+J_VQa)ZQJq>8HeDQL&9B14*3fXe)}p zfkCH$^S^XD{3i_~&!s5e@dgtOBYeMN)To@2pFFqF_9LHxMt;IS_1Y$L1sLR#f~k&^ zT!BxfgYXX4S2b$8#7V(7_LlYV6YhP|I!;4?ES!ztzt1!^c~-W48w)4l?+!jGJm0|=s@bJYMt0l*M~eHu zgYTaVXB$xhKRRAkPP_TCe3>#Mro5vHt6qUH<}sK66-8fto*bWuz(zr46^!5>q8o2DH11hGtK?#;V1kV%Lf|SCi5NT zdrd#tf8oIr7928QjH8U>Snx#UcT$uprB#7pIuxy5^m07o0$D%I@ ze5NhgKDn8*F0PXT$o)$#q8@(2|IXa%;{4JBAYVpvUt4-|7oi8pfXkNOIF2451=+U8 z>+t~LH^b?;d^qfRFd&JdxirUn{G>8m1x2S?J(9DWzQO4&zom3t^jDMix6IlKQaOil+f6Z;({5%DjAUcEU zhrGW>@g0=4_%GJ!!x@h0X$CTUrZ#yChB92H#~V5o@~CTlAtS&9kpaJ059YB8g>eZL z;TiT*ZiXX28St@7U&wIahmMp8y1H%@Falg~6n5Zcxi~W78*2+@xlCb+@}|5YtS*lH zlw-{;D>&}kB0Ewdn58b`1h`-*RAkg7+A;RBND>cgG)*AVDsEv57^?7RvTv}fc zm;!R~a`iQ?z$ZOG_%d}J$B~~reA$`8gDEcxAcBXT89asP0aCC??aLLQ2MAA9_wp1X zKgqvGgCAN8=>a0>uJ+duAWJzN&Gn^nmz)%-o5xry3Ag1{jAA&}f)*gdXPT8~92SB1 zgTG4!M6k5*;P?mvh)Oos7|<$z7wo;LhFKa?814R^kMSZs$s3wqD2l70AG^i5+9OWx zJ{dj~Y=(7z5$`gkA#^C%Cgo>QRt-ICSGP79o#u7i@~$vmg+4E}p!+RwP*mL(9jaGY zUb!-JIK$CU60}O)IF8}SPk6a0=C z0wBj^pEts>hc70>6i}A#v#xis#bhXeTwI~-7{PGlCw!`N9be3b9!RD>Z@hC7w-8f6 z1}s(Y;y4N*1@oLY@gWlACw#Hmlz;5us-;k$w?^qzv(Sm!#6l%sL*)zLbZT=~EAQ8= z=AyqS%G| zp>}t;x?jU&nMi8YdZ;lqiKM?|sPi;9q>-fKRb@EGaWxm=FDe>G-J+97{$h2dCVx$5 zdqlZkBaz!`yu3y2tl{Nae484lk*^XbCpJq3HPV8Mod}<; z|-aR9Oh;%ST+diL1E?|J8Ovrg(yfe9vjn9_{nu(T9b9g>3fO0vcbh*UuMz3S_EVkK;vOrZAf zIW@Yb+|pm>seO1U!IDlb-byv2rrgqBCaOod*RkA@#GsZ$EVqRJPc7BZD9e3V{t7N1 z_#x3mutI&36QIe|#2M8gHHoCZ=+%xIDrM!QMlDv|T(i`Y{_=%#N<)V>QRoPlSuwgipIAK@I&P!f`>I*2U&K>i(Q-@xB@J@gx}(v&nqvkWF#jZQnz!L zP~{|o7A_;L^7WFyXr)g9yF(AlD&a$%cfr7K#3g=ER>Qe=$oXO+!;zo#l`2;>?&yOA z&kDKxZFRAh#Wh)Szq5C}Uv^MP-QF0yj2rLt2*Wqlp z=U}AlFAz&;hn!<0MA0iCmW~VkC2fx={tKuL0l$1eK)`2}WJpEq*Ok5;$AE&wtsdfY zN&e?{N9!9?oKL`^j3YytUD(GPHbZSN+mGj-6(t}jdZ5!I%A%`M^#2pp^8G#aCt-}KYS*#7d&mfOdNG

qOb}LfO7mg$^w6f+uhcD}*jNxg(S6CoaOB6N-ex-H zUN(#opaAkkS^n!I8IF~o6r6G&<#iJ)KjE{~<+M&al!+tqj%sWllZ^@KyI(!TaWt4b z*D-&!C}{vLZkF#F#abOCB+oT=Cy8nx?9crQtnMA|FddS!`9V9=6uU0rzzC)S>)a zPnOP`FsCQm6NM+PDkb%tqD|Hg$=rkCs=v6ZgZkfv$51sP`aRcNQDT6yx7YQUC^J;0 zL`A`^PKK)RrEJyC@xmAn`d8&YK9U{wht`w+L;1f64-nd4a#`ykBnxsKJ4P@;==ht_ z!pD0_3*xJ8hSU4X;=ut%VN3wK4itzv31Amdt+1~U9{95!77oM1o9dDW2G^;&IQvTR z;g8B?-f83PE8(lvgB(YGibqS8k9oX^{Di;YRp#<8NcS=%h!p(l@NxydTKtA%6<2`# zq+pJ6AD55(gnRE*W@rf54hB%bcv!iYfv$Dq0`l5+?)ZE351Apv1fQOkQOZC&2k<%7T}bhHzw|Tz5k6cWdP- z(vwR+fUQI{drR-{Dh+s)fU~b*c|PtzIr|za0wu~H97leV|DN&}w_o!241G0yrJUmg zXfSy&L;WL^KzjdCovo20J8C>ytR5kHH+gu0>eQf@2_Shl)Q4bQ?YDI+877eMP3lgk zC~60*%t+pBkf%)_(r0lw8IDDc;>L&6XSqFCWC{OU`9s4WP$a`w%FI_Dy0?XCP zLmD|EiySF9t1Q*vuf=247>+}c&ksko%avwa0oGbF;6KqX)Q~swRKpIRQoUBX?)j4{3ecX2)(~( z|ABiL4J3K>8W_^QO!-yAKItHmzs{~v#3_M9U{RK72#`~))T;fS^E)K)J6PRE?-yXB zp7zu%wPN?$EpDU_T`N7qIS&p_gBjY;eKMO}O*KXlch%^dqmJV^&N-9(7}w+c>lNpm z2`^HHX$6kNu;W&j#etK2?wjO@MPq?)B7wwvA3hFL`T4(Anqi<=h(P_6&K@=`ql2=_YP;1?{Xr-^$wLANGrX_#ch=;=bw$@BC4EB0pWUxFBy&=AQx}W z+OIGiSA~S}435)EFH-Q7<0Yr)+ZuKy(0gxtros<9m(`pEKA7_&?2rWdP+xe|F&XCY zA`eHG(GU#{NB*m!7qx|yo(HXNI{%p;R-OE zBfPaz%yIk#A_E$#Piq+PvOM322+EabGz3Twga$9v98uD?s$Hk9YLf!KVN4RzP(s`M zq|u_ZZB??D-v4ne9?I!u%1CgfGL|(+I!qbia}=|NVUnNZH&@@)=J$pO?t#L|SLDbz zid>hV1l3EQ&5ZcAsKxE(D+q9vzGFmsAcQ+ka2)w53x2VU;JD8# z1rR~5xmaNeFa@OGhJBtgVEeU*ERY@`ypiKijw3(GZ(`fvVEi6*Arbs#{)iJ`{iG43 zFV&Hw+2M{@zX@Mu|E)-@ya0uo29oZxzT?rRCtS6bI2n%Bk>u%>R=i8VLQnW=yU-}J zQ0TonQt*ZK6c64}0O9+s^Er+QrZKD-a~rMz6HNF{vr}Uw;&xf6Qy^P>rXJZE?F9-T zJTYgFh5%V@Nx=)&T#jP`2ybP5ieGT1!(B|I;4$k-jTA@)gx_S{!Er3KAs0Jl!oAIp zMU**NW(l8aUH~_-N8mav)a2qr)?XZq0P4Liltp7~zi}K3Eh#WL8uNw?%Piq34g<%% zD1Z#ev90ELi~cIU&eeJTPcVM2;<}Jk@yfD3LqC3W*k={33MocaC0rb zY4_%1`i5RvrAc^+WgX97G@kGQmKXR^S4=#~{v|hx|Hz~-l+@i8sT8!KYpRAaj3`c%aFxl}0$C01# z?T!`yl|M-OAO6Y6oLoF5=QSr=+ln3_yrXTeOPu`XR5+T8HSey6o?LFT+^@0NRtDZA z@0;vzToJbrLz%0^H)lQKWVlRlIGQ`Ad|i(KGN6y*baMf+&{C_qHmkqF6I_dL(ZZq9 zK-N*Ky3#Vtp)G*$G3NU?j)j&C=x^5=n3aW|aJzj^M6HoIw#y3yq+qM%K8>DJ3LxBJ z^YWGtt39=>`rM5i$7)OXZ8^_qTpj9_E~2J&Sqye(&kky0?h_OxNg#-l9ENgnyBHpl%r$AZq~% zAOmhTH`FME(nExw%kFCxCuf}qpGE%}oTFdT0|pB_=EcLEq%c_63+^O^#{#&M6drfO zouu%X26vJI(PrfixRn%sbXC59dr4uEw_kq$M^YjNI7&fV6#Vy@8f3J}W4KP@(TMNL zd9#4wzFIsk{b4)9b+6XQpAcm|02iaeT)5tDFW}oTBqeDYpV3ehOG2~d1qUa54G48; zlH2s4DCq@BHj6T#hm;nGYWd?f^JZb}4M1m+CLcM%(;NPL!v3QumOoxlwhBM|=;*a? z(zroIY9OaHQr?CuOM!5;^(~cOwIT`0=HZqB!q^8!mPf-W8EpBE@AVpq!<4zOzdqs^ zHJ!vs&@=XS{1`Rl4=J);=f|*NHsNs?4NRx9--Zix`@mE`{=sxKeUT^w%c5IY;RK*Q zu*9LCi|<8|-Y5E{+4DqN8j!tY(s7ZXGQ;o|F>cH*va<7Be9~;fS7z_EF&v8@ z$=j9PN1ofBTVs^`f&7H8&t4+0g{_P0AcGr*{Nl)F&Q(cS4TkaRe{-EzUfd**QxyBx52cE{PB?OHsS9N zroAglsnSHd+^pYWQJWV(UA6-@@nXCR6ujjgw8e|L5XM&T8@ZvThfiAyp}sQ}Pm> zx?+5ijIwl2W@;Y8b#K(<#`nsTqGSjd_JAFnB!Apzn=Gp3k3?&4VN8b~)9eq!-Mz5B z?q|y;IC9hZMREcaz>T>9m*|@gsigOgxh}Z07ku!BD3K3nh~(oNxWX463Bs6BHL1Zr zR=AEs+>=q28I@2Vu4Vu?6^t<%li*TcAUr3k7PLpd!ZO`(uMs9oqDSzcJ)p55ut{lDtPPQ$07!S znkdPF5;fTlSuKBf?Qe-{_|frhTWfjXUtJetA49C$9gRg=HgL>$!m2mhA>oPR#tIeq%mM&CIf^Kr`7$)ZA z)Cg7_|Kx+;HH;;}Mq8>V&Viowfa8$Hu}iX`Ho^?tYyDnjmjYmh6CTK%<77DYoQ;wH zMD|&Q;mD7;*R;hpQbT~uVN&ojtjKBKe|O!KV8JB3rFpHL;aGymfO|9h*26FH1fQv$ z`LrShZ0a-bzNkd6OnM@kzTPxFkF5nl(+NLhJIL1(VbYDrztwglUz?xs8;%q=!@X!a zDfl#fp+r5w@Rg1~J(0NhymwXXOmc0kImlym>?aBT zUv6t2YGY+0*B`ZLU27vtH{nlPys$K=KkP6jdB5j2hsEao;OGu|H<%xWqdO!{^skz~ zb|CJhcdPkSJ^IN%=NG>bZ4aspNBhY?cPUQ}W4PoGpItITF^pscSSv}v z1GX>VW^|b#df#mQDwJSSu)=XU5Ap8w?yzU_(SPg;sfqC^Z;BEtG$^}NIKdx&G+L-M z87D7J)WN?^yBDsHicj>(u9F&VVTXkeHfXyH)^+lRj)+Pm`(P3rZ5=E;KkYFga;ow*~~RFiHG7)FNc z-3#E3dB_Wk#X6J|25M3euMQSz3fP;f9v2?@Bi>Rbisg?C>q6m&A2BxbPzX#EP);>v zkL7*1wJ+j$Omr*N6sP%lQ4Ne8XIs+ToKU)t1g)|@CeqaZr|U}KqAcG3`z{OYaxIq& zB8VU&f(j`rEXST4p5ReorBAl`t=gRP+n2w~P?4%j;(y7bFzTf6RMSzW8xBhi%WT5dp@Wwjl0U?FvPi%sj+2;hD^aN9k8S;v~FBMieP|opu*x; z7e3lF>pJ`t-yB<$GQX#Y+-~lsAYdCPKr0`TG%pNR5quVN{)<;f2)M*?xFJD1h*6^Dj&{4w3`QFz`v9P$a&I#MLG0c=M`J zENfintZ_rZ!_KO4U~g5TnQgiWIu2Sknvn5?Q#YaBu9BZ%RX0Hmon6eIXNU6C_0O@h z)54D$_E`j6;y77xfg$NS{Dgm;_i&NOzpGPznQF+tEc0e49*kAO$9}q4*d;@C$mnbG zQi=o|)gdcJKN#mdQSrvR#_gUD*iO}DXr0AScW@xNUU1sLLeF{;N z$e(g7tOMARFZ1OsAF|z@8n)%V0Z#(lTdxlyu^F};7;sL60Vj#cHYLOO4RH7B!G6mq zR&@*5_YkYS1$29ib@0zSOm{1MU>Sga2C}kSp|9?3>%%JXm!iK}75t*Eu)PFl|848c1zgGV!SBoGJyvMOJss`eh0nt4pYxkNL!ZT_ zJ=dY9j`gJRaqtuKk%#Rwb=-d!&L|QWZF&1m_(`K_xPWv1ba&7GyYUN~K;Ym4NP))+ z;MCg6`j{Ei&)#i&euQxR5z|Nb1k>}w1suCM>Sw!~`iMC46TZ**9n;+otE_{H+hd;d znSF7sD4Hh<4w(cT%|c>IjZ?3~Pxzw+>si(9Fs5B({&2+K3r2d^a%}s_e#;8r6d~wi zzgnbBMpg>U-(nMREL0?BVL@yWT(skp9$uIT|E=%~5l4QKpKmERC=y^DBZBGHNeYjJ z@>)R#D=vUX2Jfghn%@_9Q8Bq>mzeyG;tm?>L1ND4!+Vc+@^Pr`IdDJpEtfn&BxtHJ z4%+EEp{b$pZ0op@B0cZEsEvp(EMhfxLQ@6rK=aQr*1H-`Iqv(a}j@xZONoj6mXDB1Le-?61)DcHuM4&t8Y0D^Tn( zoUsHdJfXk^P#5v0d5NeXT7XP_IxiL8ds)}u=_Os}&sgm=C_u$<<2L-c9~rXBI%34~ zA9wi_86FLZ`OSQYWlo2-d;wH?-}MSkMq;$)@8MFr=};~yTxh(XRZWM=;b+|^I%?wJ zhidyjmVWT;-8-lBBdGGm6}>xLn0+BV;Wt@UiLZ!b2_t!XO$W+Y*1E&`bP8W8xOccX zQRfATIHjw~}3)yMA5oXo* zK!)96JuCJCNJs`MGaZCk^*#0a;S`QD#)#bkRs<3}&-zBGIHlnwhj3lqW>z)>s{Grg z@M2{`is-80D}}iauaRV;&+@-)HuFe9u7YaLw3=w@gpO$ zy>VPFC;YLZ$KfVC9~_s(Ej z2|`98KSi*sc=mPp3Ab%5y-g&*6hvYQ?kp`4ZyUoD5dKH;d3ZhxTu`3u3?hipXk~gsESyp*J?Chpmdkhx|Hv=JA zDr;2gZNkn3E}RoSaya;gfFQeb#G^MW6S_@S8Zu76ae_j()BBb#EL~O8Aq-i$xsyxk;hBd(l!Y z5}*LGdAs$B!b=rAg%rUUtIfUVLE+KXx$Z3j;x}0S8BSXW6dq=cD#bG7KE2$h^qg2m zu*^k69Pma!(IF~x?$gWJMJ|O!vQ0qS4e4iEPm4H~Ik!A(hUoi?m5lIU>)XB_YLdkH zGu#oJH7^tiPyi`#!TgPt5=bYup0b9D!&yuq;jdW=ijm%ZV(WL?2n7Xs0%I_N^K5r3 zc))>z?jvb`nhQl7^`rRSG4Bxd=LxjCBUoJ&qEM@O1f;+oxMofCg4_%^S#YJvt}vbK z!oM^9t1xWe+;zf#rD=pX-^3zG7QSRGQRtI-kt79KNg_87GT4)-f{J=eDgP&eN0bwrGv53|^7)i2z#( zieRqkBFlUb#t1d$<*1pGJ*57?A$b_Cq+CRk_tTr7;ZsX+=1Ez*iB+PJAf_=)1>3R&|}rvm$I zd7^^A54S~-hIPeHD+u5z@HAI1i8C+Ut|PpUZQTgAXebQZsrkCgx{2Sk?^71IJi;&8 z;C072kX64}w<#=AaLq~ZWXlpLl>hggK9U%}uwEYJS+rnbjmxx|Xa)kcmJK64AhbsA ze;xS^P zrtifz4*5y`9@9aw7;t`1Il14IsUUzSkgV0ivRuKMUHBYx&k|(=kpZ3NE1lN$m``$i z%r6iif_ifS(>($sf{Uha#Z4hhDrxeI@pTc$q>`W?EEchKM1H~xEqg^%;67nAq}E|K z+*ov3!PdNlA%S6W(N?j_pa5#!`r4F^k8ys&U$m_eHTaMYBVwKJxPtmD!8n0^#|)O-vsf$(`y6v?SE`@(cL zCr_|FWBRm6B;*Q`pk76fDioG3yrX0u_*_BNbGMSuo2yHO!h^MsB91G%NtB1Ri45{f z(dN;@xEuHwA})PA00_v$ zciO%Z8#uH8;aR2|A9@j3kBQP~i~U!zG3Bn@yciAeVJMxYY15 zA%(xU&Kx1qZvlNs-dEZK|<06jyWWbm6ca`|uRstnpGj9_-1cf32rhp>2-I8A-3|e^#+zO;y z%C9r1br%uqZYBQFomuX%{3Q;Xu?)rojl(dpc$3(XVHqU+Y4hD9sLUrI{nwT!6zT{s z(}bVPU$4+J^CC#{;tNB8-{%QZoLCXQ-n<1G0Uw+uRusXTxwYW#=R<%32v0W-g<9@| zV}g5P0w#gGpy1(y2_}4O?pzTEe(>-~L;=%`$sz#?Abjf3f0@n!+ryu+GDrO+djf2f z32p{ZMm!eTYdK#k;8?~eK|{^fF#?YKgm1BYFYudRP0P@?g zkKeP}r=Q^?8&co~lcQ9?QGh!F^IPCOr^HYAMAPmPw&)p{KT;hZZuxtpuw;q~6Rx$q zK3u>t!Boc|v}j8O9Qg@<-7-gkAJUWIZbU{~CY6Xg!#u&Hz^~>VaAnd9u!}(g``X?c zt4vS$wW8%^0*(V2GT?FJ;!<)Eqwqh*Kg2cz>B(S!7_;E`54ec+qwp6drPmAjIE3W2 z8pCiL(vO0Y?Q^jgz=0i!d&Jg_lPB08war)9y5s{avcm}TIECGtF8o7F4{y@zZq76?#%YBC(z1I+B=qo6*8`)3ES+UKDOX=Ir%)IXV0 zX3dx|j9E!9NtUG6Ba7Bthr%CyWtrmX_QUI^j&96_iv-j$xAT?!>-lKotq!MjQ$Fq%{&<-FUPW+RlW>4 zeZ=&k!p`a^KuGo&oX=0O`wSz{zk=|m3uY>eQ#e1_Ye&JIB98osrx;dRx`_iJbkLv( z##qW(<^phRu@-+&er4P`?~;Io6w}6n!>n=vWcamFA{keREOpro9;Fv=|4yGy;dO;( zae-Ol^kk{gh568g0R3v&M zazctoZ&@P>LdPSThnE*G5cg8B$Pm7^=o=A7{%#NltPOo&idWdI;bj;J43C=LQCRQg zWr!lkFvW;ta&)vJJh$*Gg#>VZE`Peiu-e$SSTvP~z+uQYjwupwOaaZ)KQPS|vkoml z_;S-Ew`&?r)T1m>V!wy)oxhms zGveX`NP(Mdc?ym_wPfV*FA$BXg zWD(mE${iGR{y~X5$)@$)=ee zS8xaD!uOd!9wDw~ahxpjyxCkN;Jo?p>~_3iK4cRJusV_gORbYx<`Qrfz1w~3~`&A-je%E7hBP7z+r-yk+^1nni4+P__c^5Kbo@0(9N_~oHC*Svi1H#-Wfmc-Tt8O3q{boFw(|mFNZQt z;bVnYSlMzIN;R`e_^AG|u{v;IpFwTKeTB1a!mUf_C=AfK zhJ+8dhAA|p9H%zp1M@X;{Eikt+-?Z9>=ti?z{)`pY_Wc(u;a*6Lij4np9(q7aZ+Hc zas74pIS!918jP#FFNnchfZFBm3I-bAP^g_<`1-;CvG!w;BUAS>JtUSWEOCJIM-~4t zD%`+`MUL`vU%?)$u&slYi}1$$ofZK{eo|nTaga^Gk-r;XeRLT56>b+Jz!Z>)4VG(S z`-3SUyr*fBh$BB`!64%i(Za|dV+S)k3=bObRxlxNJ}83wOvj4E_Nfb>Xc{nFz|jJv zz=Ov3uEX!%k*YIKR5;Ym$9c4F0FK-vgkcsAiwKwDLU{qlVOV!eU}n(;5$F7#)#qo6 zUl}b5;KLq@KwJE?=zxU-Ny1C5S4u>;CC*O@tg_uC`b7ahmu&h)*nD3Fq#`h0zNWyD^O(w|J>K1p8!7yG>yi&zYC9z`~)vpgaeL!8Et2^JeKT!)|V7?Z+9lQ@n- z`F6t*bEX&pjvPsWdFFJ5V$Mg76v0#GmqZ--314JXz%c#;XLpgk? zNSTzAU11S$6hL|KkZFC1fTINoe=z&!VgW}BfPCJR{hQwnZsU2xdnAV`AO)ry6GR*Z zPz3dbEhCiq32!x-M+!KWvUqCBYOIS!32PHrOyj`{aE*%P4G~8H35dU)Kdn@mpYU|! z5%DG;ET!@HpnyW#yph|V>g8jB?SPR2k6Y)C5^xki5d@fZB?1l=)w5}GH0MiJwGs|0 zO|}T@s+dk%^Z9Pb&HMz7Yz3ltg6?Ck+_q&QNtJangX{9t*SQ!9Jk`{)vM}1 zk#ktt+i>u(NG$j`2%(Dejqx#sE_f$INBGx9-F5h>;@ofCt57jHKjHI}js9XEje`)1 z;GEIMGT(u5)^5|ua#lVbrjx{Z&iEUvjDID6zaS!3Wt#HH& z7<*S+hmKMvq#_^AuVh#a&0BA4y10~%vka2>i}isKLXp5Ukf3MGy{^Mg_$bpm3a7^S zI0tQ@Hk>l=XEmUS-#&94tA$_GQ?1+K0)*8t7$$4%wmrslYoLvOfK{%kk8v-$f0;iP zj+J^gjc{}Y|MA|NxE7hua`MFF12&P2$4}||-OS$+S`GK`QFwpBjjR^fRJ(2TXG%uY zkSL~G3pz|?nea*SFBOj0VBAElACkr@*VY%L{Af4|mo#gAnoeFss01&v#*Si(;3Tj6 z-tKP;Z{^PI3iMP%em2|qPK-B>xk2*M3I`}`P3`K8@7vtf3O7#zp6T8_z1bL{&|7f< zq`*752T{Pv3!`6$TWWYpsLn^hb=1NP2TLa5H(3rV45&GOBK$ZEb*A|W5qIG)7uJdL z?U;0m;GV+M3Ie$1guj&YhG99)&MNqHOS14YlHM7J*OK=_GlUnwg?`^a0UOV2jRIK`k{vG? z$8-mv`hIMFS|P*V10s?q*$yb|d~uuvJ!|`3VII?ke_iY+?#@f=fIpcl;%_+8_ZJ(x zcmOIZ{=x7`->+Hi0oW<&$uhr%WdF&^zO6SV4;jAY3$u4}@S<+g(r8NnHxK^)9EDez z9ST~%->G$R$r+-zQ!0KleJ7>@FXJY8j}|T{DvTfG9Y0>iO?clS58DJB`AL38;X-Bp z5pFZi&7NE=3g8NpRr(fR8GU73nos}Tg-6*gu-b!gJbKw!WwPGf+JYKw!_#6ys46#mW9(^++>{tY=LAb4k7(O}8PRJ=f>q6+JS z{*7bhiKp~zdR={L%7VZky+DpRn}XyIWK6TNi**nYg`doRi`CZE8nP(J^la_n`eMyXf!gj*XVjb6mBaO)6n86XnUv}+ z5AO`74E`v8f?2@v&SA>n=E2_}KfCf>{VjLIiwyzZ?n|^^=D#L11QOovOSqv>iT?vI z2W8UgLN%*70#$sFSvVnyDp8g!Fb?HpF?I^p=N~K*$v1RLP0ur4M=Of;mfRYJmY?&J z{A0NvEAzAGj@I|Jzhjzg6=s5tjlfO@R+~531RO8)C8NAj5Oy7Y!UJ;>MI5iwMfv`Q zuZ$nT3fVDOilPYR{EHURm$3#EB7yBgVYF}ztXyXn$++HRmZo7YR&%WW-=vWWQ+b|e zR30xG-e9%IVe@hFb;$YvslyPMx6drD7;q!I#pGmK+3fEj5folBG}a{CGKEEr3)RM zG~CSSwnt^pER|P zPaDHkNJmi%Lmn1!EW#OxM}+R_q0CSCv5y>soEdW{+`i>+yghH`4LaN(xo zEf9DE3SBbfG}E1{pQ6f#J(Y9N%+jAf&is~Dor8w+9#+FY<5?~Le84*RX9?5&44)*H z$v*|G>}PNmo5ZSq2082C)Uyl|5t4K34fitLdC2l3tm-__e#2_uqgn;a(HrXY?9BQ4 zQn()|^8!GhJIgNAuT;ZDvK_y`8_N5gHJ9t(P^rEMXJf9`JLD>7?bZ5vb*ZGQ?(cWM z9dC-0JpV93224UHsk47RCHgWegC+Av*}mJmO@k2rqi zmBWbfu8DV~aGX`AHEava(TDV(@u!oG@7ItU_*1tNDG+cj?bpylP8w?wsw(>CQM0vb zP@=Ooz2V=0fF?6{Ol3!JXvndLWmCvw5BhF_h^a2MWMAVuEj~rB3lARRXBBYtz@yr; z=7x8#!;iRg{-B1beyVclslf+|1q^K{H4iok`=#h+LcPV|!8KL^M>i9~Z!|bq)zF41 zeMTsFDsF{zQTsM~$P7N=XHml%^2`zpG<{e4KI$a(A38+zR&aFTP5C#ns$mU@N$`fG z;F!Z>Bug$Vgj*qoH5lb#aAR)+_%Xr3d$C>NVu}7u^9RFOxD5^&kR>-5R*AQhp&EpL zl{a3Y9s3yMQH#H&;KPyP2(JsjKewe=z`1`;y4z$Q*tT3p0Gaf8^Fp{ixFPY*AaQn# z8AN(?m=40FNxrjZXQ#Q>TMmdTQpiuyJZZ^;m7IrRVS?V7Bl9Bl?nXZXAmOB!2)ifVY#tnz-1}I!u z4U;r}VL$YWezk|0T`@EmlKf!o;d!OrT?f&jm->i5hroSNc@2})^Mci}Y}5Z>0J=Y~ zAyr)$a!U^i2IM!ali}8pd?6t4aVe$;OLF- zS#(~niF$JX)fSdj0GCiu_(0a<&Z>fjM1OfcT)+vD-C%}>$K>5?@WM{y>R}(U4o=ov zfsB`NO5aAqmn_o?WPu~Zi`h6CNoySnOXEN$Z)R22hL!dZvoKh|ia@>LAGzm599{IN zw<}NIF5<{fcv!|KB94w~r1X=1`9Hwgq77_Af7q1Y7jDl4_24!v{<#Y-&1^_ieFmdO zIAD@aL{|#eiH<8+UMP)IjXB`W1@v|bn++or98-98rBs^opAf4nmS@6O=gb_gSe+$z zDhDK+1f25+y9vf;?SM-Va^c`22}~;JRw^vVVZ9{0*9|wqWu1`xBxhxD!zBNdrw3Z{ z#WJ!DQa~+r+mH?u+cc8*gQFVKdM0kVE2ghY~Qo#Pc&7j~J%_AU!m6m=YjvE8ies#CJTr6&)@&pi`Z8<06 z$dB!r-O$tWl1P9n_SE3LZ8Z!RBES?-1m(ld6!ForR}+F3@Zi&m1swUgeApZsIc!>q zK!5^BfswX3qApU!b89}L>QT( z1^U{7$YGeAzeFTJ6H*qO%A0zf6i@_f3qBDSJg^!Q{<$$|z|5gPBH~}f( zUpPTQ0AJgsR>eR6MujZs!v7t*Q6T|jV1CX_GyI!!QbinhfvAzP=ge?+ zjBnVjvS%q+fy<$C@^sDyWhLC%yumn5Oe8LVQ!#j@@HSCCu0NCf!K$1BxHYrEc!$!< zMSLBay2vm#|O%CqRa7t8{V>XMj*{4~+5 z4z4EQcjnZIIP#NxJ)2q4@U)!k?5Kdzc+pjpuu6lzBqZ!~&P^hY`z<7F#E`{&F^D~M zOG9qT49it<#|fK68Ux&J90<#ZD?9u6{9!v44yW)on8pCl~1*&>defTz!w&ElY%CxGy8^4b-~`r8Uw%dHLR z$wlHk0TV~O)rNNP(!ULcyv4V{@Zca^0@`3qI&Bt@3G)Vv68w1H->mkwhAFBqOlsBhM918XTucj8Z%5Cd5^R5(1J2KNQX@oMb~>sl9eqght=gXlNw6pY0k{a4R&=> z72n$R>7#gwrucrmq19P?XG47t`5Ct1DJV@JInO`Uusb6~k{%BcAAN8DqX~W-2GAgc z)m^C7hnd~sq99JsuDsun6PPH?35L5$orBjm{N6`XrTwEP-|};2A8xo7q|Wyn7P&I3 zSFo%P8-ct`^^gwSVPPTZWJ8W-hCDoqhn&?X8)9X9qWnTw+RVc~DR>DOiP<187IBH= zBT;y?JSRw*pYVb5y9)gCJ@Q#bLxWlUm;7lI%W7!QhY`~@?Xp{H; zXr10U{Zzx+5X~x8Rw!Rpb4Fii*rw7vtSSimDf$0^`C>x_gjR;|7Z9DZTVs^JMwEo zu3am?5DEcrt4q%V+c;#^$V-F8wY4t1k9;6Rz>%Lc)5yn#j=apjWD^*Zk(RhCfRxj?^HTiC-+sqX>q97gdvR;VfOwJ7t@3X;vCgLP9?mT z?*2XkE^(X+V{3Snh$BDYXTq|RMSh+bl+QA3jb_bG-4h9XN60zH)|eBJ*64RrlsGh9 z(V2v4QXJy!=!nLOlpCdW5yFW!$19!G?@Awpu=3Y<86VkLEZe6@-vxj_xT(vw@SEe+ zPWl_AAHxJ(;y5)n%jHcG0*?HIFOav3xb&JwzB6NV<0*f&PJKF@h2L{hZ>LNhuksHS zJQEymc(@F`Ri{D(T;e#zTBiC?C*a6Wc#i5hQNHwgq2ydMzA;c%@05QHW)~+wnIwJM zrFkJYjk?*)j!tN-Q2Y5WPhhieY}7l8Z)^+**VyFN2-wtuMsr$YjyhcWDuUHj`~>@Z z(;C-mLZ$Y|mPu=&d`@rNrq=BAj|t~@xUuN_8nbavy4VAW8G&3dA-r<~0eJki*wzDWuVVOdXh*2odkSHZA% z1x?74jVt_~mf~3DQ;jiUQ~}3G=8)o>kAaF$H9n?!QTjFbjZ5<(IZriK*u$kA!JCft z^;yea492_-ejJ7j$sQu$62~VYzC#)+;*Ks{El&_}X%X;Zg?FyEH=0#xzsuc1#aFJE z0M!(XMUt+BaGXUy(^$c8`JeSnV^7smi7kAlak6Hjv?_#lQJ-ntcGpeP+F-Gx;nkF^ zA<6!s0*=-AR*b7fipIvxyHap|!t12pgIM|ClX|yxEq>;3?1QqOZOqZ^mez(~XwI{Z z*VIP&Ey$)3KuZm0p}dIq$B<3WK{kz(?}n48o!MlS2Ziv*EZBs3jgJL3NvndPtgs{V z8YkL6md=F;Z&o>Y(?PkkLprGwaEarTOE=25ia7EU-d*kxakPm$m!5BYCzSh_E^9Q( zKd`E0jl1P=XW8<`Novhud1DCgqS)3~A^kgL89OZJl~)^2#FSi8y%o$K&GRy*#Cyg& z;KyO;sX8O#jxM}N{v-tWS=5%sSJG^=*-^Q7%OXHRd0o0_demH#+)!sguFGFx3jGJbEtf?Wj5xE#y3@AGQ03a%<)fNtQs96t{d_Wj}rB@iiI6$d^7Da)uj;OX+`W9Nu|Ml^ATr94?s

Q1gS(lQ+5UmxWw_PnEEH=`$Zi23BOyuEaEsoyPfm1_1`w`Ro}0Q zf&vR;CN}S2W3i?}4h^9p(?Q7FV)=Fqt?cN&Rt|M09co-368OD*E*RcGWk-H&oT%C< zvw=S~7OGar&ROss8+cZl6*73;9JZx@Q?5B#PUHda!rD}OW`)5L{F|28u zI!uZSVT&Gt&hN~yrnQf0!lmXg91T}*YO0Vmcd7bCV8?sq!=_k`W?1-~-mRZ>1Kv-X zR)FM%VeH~3O)#+dq-kDYp6thm#%%nKrip+hMX`%JAXXYCtdlOr^mwcmn)Mw`accfh z(=v5+0tjQ?<&dNT6(66kLe_YNg_@ke^l-2G7 z5Oy#3!(ZWjlKl{Z_3Qm0XFaRspG7S5OTd0)W&Cr9Rr1eyR>eQ1tcHJJ+Y~;*kz+=` zGnrcXl^41#Q)$8+tHDTRXsD7w8BF(8Q)1H0BHoF3m%ueZG6u}Ruv6t> zkhzmp9frS-WSQSVXqL0=yQbY5{+`265KLy7KQ%SVH#6Ny2m#GWu*i?j%9BlYl?paO zHZ{P`b3kL$TCJ*gDBIZDRH*71>b%g}w1>Y0Q_~Jin^`UYz@|bw@UCZ>=ODIN*jfg; zU$L5>0rO|IKZ9*QWtr!j5<_$)!IzTV-6I?L%Sw&&&ht&*2Feze`720R%_{llXI8^M zL!2GIHYHdzSNr~(9lri)=*x3XT~mSjp?RmKq%DehuaD45<0j2;G~Io%`w@3m=beJl ztSR<#3fq)_3X)WCYQMjxymzjFvpbJkPQ9v9^@VMfA~-Tgyk~F7gvYc_O_7`6X{=NH zX)RsxDZA=b6BK!nu(tSAn#%tT^Z6CS*^$yyx5C~{=I~QS*gvo2pOoiohM#iQ3~zqY z&#v=drH8cupHjeA!l)MhPaPF2;JBDbwfI-{gHZyGOL2s^%bOzv9M=M|opY`q-7NcS z68$g7<2-ijxaORc_hdt~IKkr6XOijf_jBCJ@O7cGo~4d&o~NFsdJXF2_-4I^+Roi7 zc4&NaVe&rJW^}CZD&e@ILv&xL*uV+Rg{pljHfut2Pt_Vf=RzJX}Y9l3vX_IQ+-1HV0V_ax>+AO9r<^v z?umc_0vlh^oEsS8H!qUU-j`N1cb5ZCt7`QJ2RzNTOl;2WJJ9ciXbAY|@hQl-8|6g! zpXmv>GwPP+SLDEqAXoH;GoftDtswPbZF&?0oR@EHo*1aQ#m_lrYV%|{`DVXze{rV4 zCEkM)clohHcR|Yj_4`(@Og97R&iS#hY0Z;Wi`8t_G%(%oYPNA2nDSMyAbiyp^%fo5 zG!3%mKBV_kv#{y#_w|0TF*$pBGpy1~Z%$P$Q9EZ%=a$z2|2@FJ1LEi3I5oTA4u{Qv z@H#acI0Fc)AwKxR!?PP^G$*RYLv;Ml`$7D@%{}4I1MY1$s{R47_ck|})RX(}$YJ5< zj)M>2`sPyAWwr4RB$Jr8A7n^@MKOxuM6&g{pE-4#nj2;LFV^v4bE5pQQ@0sX;BOlMFWEXD z+S;5KAYWiLpMa#-ExecWicsPaYEjbTc}rObkip|lx*d=lcsOSVFwM6J4+J=Pa)@b6 zPByCoGF1S$(e8kYR)SF0p1l677XB=EunsO{OYx6wtv)exAw>OM?iiN2vpF&OPVRo@ zJw}i?SuhHnlyln3vUWlw6uu|dz^Z^v)gLZRy9l|XL9%=DcaCOtJWMKD@&iT_PT}{m zbKz2$OUFHrX!IU@nPu*R1b@vc`R5d?*#){(^Q&xpbos1PmpAiAfrI_7PF)@vTE%pq zHm|(n9dIo1z5j&UI0SWjAosFOz%dU(5kF$M0WOqN;wOB#=`hpnh9qZ!Bi`<2&%=d3 z7%bwuU1&LC8x2o0R_<<2NSS0>QX)L?h4F`B{4eAM!mczIOyL=Y-}9>&d~%MbM~C$L z^RK`d2Qqjxzi`2ajOQGQnOwMmW$uCat)^N0SqlY1k{4Y#5gwA*17@Z0rv-Pgsy!e- zn7=CM&F0{_L1tY%7zRZkzjrj;o2pDmhFCHrMz z7PbhqaX;Pi=a4!4(G3N9(stL-JQ&nLsfRbL_~!u_+rj4-7~8?;e=xRdp5hP7yB%LP z+XMTwrVHC*j;|p}{%F}5$?GxzXG?3Fcc?z??JTc@mRdC<*}3U(^FOgF75KTeH}_1A z7%q5DVs=KLkTb@Q;jO`rBYG``Z!Gu|-0i@e&%%?t(|yvxvx^RiT&m$?@3B|8uLbOYx@_`pR{{L{`uFvbI`NGLaT2$^eRt04CN`+xK&zETUaTxaJeIw$S zFWnG7S5T>Nn-}LN+*FCy9?0 z^itUA=Nc0pUNG543|f*f)c|wTUtmx$jMebZe((-%-YsurHJ2fD&Dn9e`Ck=`7&@*( zm4-R-Z_u^OVU@oDXk|7011~842H2NOcMY)J&dO^r6t&m!Jw)#e#uhIYRB;$C=YB2X zSTnmLt}fi7;J(VsHR12%-ft1)V*w=j_p%pKTyz{jqa~p1@i}8f91|Unc)Q`61;!{oM(3>! z;R_3Y;|Bt~apWiY&Ao@-#*YGc6JWI^0!RKvm=$za7h5va*zihgzRE}R( z<4Tn8T~-VKuUpmu|HJVF89p%S;GcI`8UGAnmHbn}s$`cj>CK|-Q(+1tT~h06_9oT= z)Jd#FB;#2}dPEld%raFV^dnZrKMAaof8f1M{@KTB_$Qmy!bf!u#_KAV=X@;7PhmPg zKyPK4el9-#uH+$qR>ealtd@snvJUk$%4!1OuW;s&fBuhk@J|!d z1;VG8W%7@KmGO_BRR+3@szY$+QXs@kI`_&2UlNYO?N{(g8VN2VzW2oK>rCObVetNi z2867E)fWv2A^WV)OmMT3nm6K*qqLB38e>nW3 zn(|Qh$W%`4td4ixA}9Iv5kxz_0ntQU6*GqEdb;fXd0Ydww5RKplJ}FI=>v=0-lYvA zpyK{Y(nI|O9Mz@Lyr$b0&hLCE(Um9nxjjR?$cV>JvI3J{ zBoy@(`YcBmUexmo5l4Pf>w}1GsmlC>I|HJmG$3G0lUzGghvS{)$*wnLRaq*#cm(G7 z0V%E*REOf7i&9+iD)rVL$La6sl#ZJ2fAtdVEPV^glkmgwkwou4?wp^nM$8xKU}s|Y zc0Z6H$a8ezcgKAhFW|^e@jcnYlp^4q-|kjuR@}cy0s$&a1$?CLLT|x+(!mo%_)F0r z_YrX9r?R~`baAwR1HWBzpDOMd_E?fYfGMB|2J|}LXYY2a_YegwK=`sA$;kqa{G>o} z_!T97=l`X-M#}PgthS$PO7X{Hra5Xm)0h?8)>E_*$0>@O?k^y}b56SJnqHkHJsQcf z%r1Q>%@{S(KatPAFp4cTyIxU`k%q$-NnwjVj3$UG>B(SRmYra6tx)%sr2B$}4 z5EaRiq&I^AXHg}ti5loiBluncn^WS-0fWxdic?F@N-;^&a7n-=j?>grl9mMvI7aQk z)gmq(^T^kLGf`0l%y8J?Qdce{T^wEp=`04JlzgKfHS!++%US zD+fZ_a12%7@7ksbmKxDLhE14>sa&ZM)^erqKrT&iB{Qe*TM}C_5NYavE z0e5hI#O;tun^qu@j{HY~+k?av&i~@~ia7Fn6d0pb=I3}2_u1+d!U>$!vs|%i$o6l8 zRi)`ZhUVEy(^EwB;=$EomB0k>98Yx^e(}!^h7}v1eu`UwiiBB{63iAoqOB5#v^*K(XqnB%I@><;Rq-|>^q%(l+Kl35*#p(}G-+radWa99iXG5zsQNs_cR zQotpSQ&zv{7aAnsjxHQd{AmST`rad-Wjx|CgFAzB)+4UTD(=^C=rLEJYOg;Fo9pVy z!vp6+nEN}-bxoGT*}=K4DWLQl8gW~h3#ADRj3$Bv93!Rqj3i|T3%G;xd+=`*`0D`2 znS*ov<1VXzK)=3x9LuiQT?YTRdP1|~9PDuYPlmBp$J4HuFlyTW3>_8^H-duK+|w>Y zz-K-9@6PCFTopm;-!-uIp7pXzALgkw`=fu@7X=4ZUv{1FgQFdAaWBa6l%V}uXun~5 zeu1k3TBaEh;y&7spdg95S@T&e;4EsPD>p@wwgk<+nCqRz(odblS}7UySO{fn-a=Qg zdO^S!k!;aRCp`08a9Iu()}tLKfV~_1@VY!DM8KsV0E>3xLqo;J;J^4gVq?MiM|MVV z6M826cZ?`GxByb%oU};v5R_uR|;zh3MP&l8{a%U-Tb$Q-+?9mV^;1b6vIdRg~?gH-U!X;@ZY>@fL z$LvJ;yfOPGbbQBI9|d@RlLEg;0pS9U0z4TyO)KCI&hNpW&oCjC`pe69o|^Pwk&n!2I~AO!yw?iywtT_ zrFlZrQ^)Hm+q&G91Le3iT&%SxJM~Hm{zlKjmqI?IGS@uFha?=8c;^Er_o&oYFVrE4 zpk*W#tN5N9_O67!etEV`;_6X1tl;lLjT)K z&?>Kk@z?}Sc{mS=-0|EV5Z56EuPZK{@V}+sL>yyJaP$8hDtc{ke#Etgdg=CHPQa?) zbFF~v|20(b7;|uP>QW>rU-THm=n^ryzofZA%KU^&(rT@M;|feK&hK3RzUy;2Imsk0 z2J_{Y-WbOlS&ze>(D@_a<@o{3C7*!vnH#{m#T#5-$ujH#*0`qd#fBPKC&-75rSp__@gfE^)jc;*Z1+N)d2J7v9q2av}@=_$77bJ>EU&_aYuGosn1qcEHy&0q^J1`lUPA9ERcol6pm zlf-AAL|dt4vyQoNLLGcGc!+ntIt~FHB?FEVgbBFBampu{AL;}g`3X-99vCU$s0YgL z16BQC*vl*9d=%h{dK8!*$-<9+uOCPP6Qrr(%Jd$E0(2aARv&k5Q>ns3oMV1)HHFw$ ziwhPwSx<+U9ERBL+meM$M>R7Le+loq*L{zyu+qB`1wHcRb|P96I>u*OR8_Lyjql%*8#rFGSqA~< z(*7+yWEFT&UK{}ReE)!!RP{K`6deY`NXCPjwa^8@MI6xsTPoxjHgjN$QKgmG#(^z3 z>OVBFrOyByd(| zw#3TN2X2CaWEQM@c;Z(DO-)dPA9+?wj(wwMQzQ?0nGGk!9_siIVd>a$q%$?^1A;{y z`AJ(C^NTq0BhI@-a}bY!Ro~FEO|@0y95blpO*LfayTO89xF$k!+ck$mF%{9nT6pL4 zeyAf*X92XXRCjl)lYnQn$K`hz4{k-=GA z4CO{HbdDb0@^7#P=5;~*@=@o68(UTcfL4Eoh+QO~HIWpjc0nk|ozb_otWZJ5EDsXT zGjMWhf+VR;Jnw*$wgFf-OEk{w@DmPWT@lAg8OrCiVRHDJ-AvoBJ45em=^fWge3XK>Lk1M7?j4iH%KM+t56HuCK%bZa%JhT} zO>O14bLkT;2|?`QU>JPmBcnEH*x(xQoQ&<4t_Q^u2lJsQ|UjT4Um=7t2g^PZyo^Fb`Uf zOKa@t%g{(l(q_K)>r*&?`j0FH9Os@SEktSxQRctFt;>2*KJp{Zi^VWpsdH8@Xo>aL zOw$~}#*uAZf_eLcR%|NyEX^bR6ynb4r7f=p`+t=P8=-8=n=N_%xAI?|m)~sppGxKE z#j@`FULRI~8ZC`Z!G(2Jy{hF^RUBdIg@{?hk18z6b88q8KNcRAfU=zP-fp=^ty&ht zF22(OQ?Pei)~U`z{|W);{&!na$E%+X3y)(L|7eMq_p;DGTc)VaQ|${_gfWo ziBh4XaZ`_Y_KInz$K1*W_uwbj{F{6E8@~Ak9@n~5$&mPv8C-KF!a}IBLy4!28&n0CtjZGt(}8wNBDc1{y_qc{ABuAX@OS2ksop1KDv;A zRjW={X!fX9^VSm1(yLBy3;I>Hmk(2*nyuXU{!lqM%+Uf7dlr1Qf{ViG1oc);T#)mk z-|3yIz*6m4C}_{IEdi%<`@XDwoCkdBC>KC>d`LSRiK7BfzoO}-eKH8U+^vD94XFe1 zcW(o7MoN-ONoEP3+@WU5#R%od2fB!VE>^Exon!7hOuPYwv zy&{fvEeWNK)9lkK^Ap}2m=-MHSXGiazjOWi)3OX&jnmGQ(j4e^}~Cy?W-W?y9-PY|~HQ>$Nu{ck3WHtrLEBiX88(3_oiO zO1@?hU#;ZJ5EV#%(9oxt)g6NElQVH=(~|1o9VMS9F42X9h)-voVVOP78s)*ySN1sT ztnAThj08utngOlGq@`Bjt~A^yor=*UX4gA)16vz|!BeOsw>44KVS%C12}pvW^^8`o zW}&v$DXKD=&9b%jRK2KU3vI0?6%2&xY^{IEs%#xQRNOilH?c~90M^FGl(ZJAwuCzu zLYQZJTujA##Xg1aIK+KF#xF^;dI&g9BW5DLEBN_j0mr>J!X@eDcmc72nwf$uvN=p$7o2sjGxM6fYVz;UMH!PB}4I3{2g#Nm8@cx#F*n^^6LR%7y07U;7~ zUNr!R^S5JCpU(RXmKaC2>Vqh39};6_<)e=3wRa$%nDwx;a%8Jfr5XiK{EcpfVbSQ; zGvRi7=;H}XpB&?pLOu;46CVp1CgL~^@uc9nXk~s6zAr++QE#`2C24USKhy4&Fq|%U z^7y2PqX16?Kk1eEJ^0~R0mlSz6ZeK!Aj9`2!rr7$yUQ)W2^K1ORRw7rjJLDsu%&sd5#C)q8D(94|O{Y6%{AkE{`L3kDe%Y^Ici|BmM*|Su2S2>?7~f66aq0bD#Gedar@z0Vua6ZQ z0V5n5`bYssew5Gm?tY3A2ypG+qre*q0{9Gttdt`s$MXZf-o>p8|21fL4*|!mA8w_Y zJcUn03Iq-=z+=V*5dw~TPo#iOx=YMw+=kt3C4mVoNZ_pg7EGe?@3l6KyEC$_2O&u#d*zAFjgIzC>6)}2Lpb%yvPVPkG<)j+ zSycsxY-(F?lhZaPMx=?eCeCd`-H!Fn$>KOWTGwh&6{oZCdKg3#HoD(9#JaK(esi4b zqRNDYCE>2JQwX~o61J0HnZhbAea-eWWJ&GyF40M)%*ZR7g zJRsxup|E~z^48*KAS3He9q0@@+WMv{WkGsB1$8+gB`2Z(f-F{d{Iq_wN1Zd7qPm=( z@Qn1UA}*cpl-H1v#c?+H`_|kPV>$+W8fZ>T!ag1ll8=$6Qv%;i4dO?leCT=Pgga9w zWFS2|^L=ZYYU)51exfyB^~wO}m=mp&W&1~&3vxyN3!VHQq^-L_z$K2Czz^Jqk~Md* zfIGVI*;#Ay1YGLy$Y&WpwpvxM9i+(EaOV68P>m7g|e(Gt@+!VX?-o#J;nupW+vw8n%@03p1?=@Z81=gtYg0WFM)_k{`G zM2<5+>LK43A>b0nZ$xo>RdYmdB;+Stk{-pyO0PCSI_r_IHTVspA5mD8<2g+DW8sle7+pHayQ;fc zl;_|%N_fxk2cwaGAo0HkhnQq`KY`hge>8jJAZ-dp;!x|0B}4Q)%4TUc#q+mt@d*Xc&7 z-H1tC*dH1}Ha@KF6~7+RI93zZ7868;zK7)Bjg=qZ1z6WM4@!MmIJ>BWWn@pOFT*`? zc2w7vWA7dGzX)N69EUg_>N*`9hVp4Z`4Gp0r$!1m^3&46&)R$7hBhUB#QmXxfvxAd zQ$N5p1>tQ0vVDMGO{Cc3@^KAC_@kzeh)W!&2qkHv*dpVo%7c&43GyXAmO=UchOnSg za7Kzau1}{3^MlJ0;F1Dw3m}6>;7j0c5AP>3N^D!P zzh-s7oN&5CE1~VjJEh*j^X@oUqPo5~%A6$N7&X<>QPJ1qCwyw;-Mv^{1GjC@wt2FB zSL`2gVkP03NyT|1jR-sm^a3vN(Z@v8D@N)q;>b@p__~PlalnW2 zSw`J63k5x*=wE01mWT&5;T|BLWn(;fPsls3L^`KgYF zR@VGHNDhs1@L?gD9!^n2al~1j(gs)MNYabl;3X7Z3R2rr<+OI~`Y>Tr6WOV`gRTm< zsGSq~wt;KIY1NuomX+3~x09j4g)m&~X89n`!`>{elH(xIgZGINSH(F$wU*~KaiIdv z`7_-Fk~Bmlz)>Vc@M~bH{`ZhTFjK!a?i%`PFb{e4>JC1@qv*g*Ac)nawCn9u4sV6% zg#}eqpYQ_B5D}NS`X2LCDO`8@Up!r5!4>pjebU=XV6JIa@Mz}hdc@C04`pX{dfSO& z$lKR+EbD4R-0ymhjMuuYHha`{+WDi8OG zV6&fu&cajk#^Q}?&IwPpt>AmjBgDOU$3;-blaZew&Z6yYd>{WL?aa@yLr-%`vqvm4 z$V-{J)~`myB`(`z^;<+7`91huA}(D5ew5D_Z>FI?ke4kTodkxNn&c2+dl?0IBDkoq z{ml72__v}bkMs-RyiPdZceJUvYik@;?5)qVofrVY&3bm#7+m@1{E$l8-JDiP7 z0|^d8gbWwF@y)Q#`{QzSoSs#G2(|2)py%=Ah*$b>8}@GGh7lxeFY~Q5Pq>GUpEU8N z=X0a!Zu(K-wDsl*n=m$!-XpIsbevo}3g4?O$416ky}9i%S>D7#x3(Em4hNmoi(4*y zlsMHL>vM3lZ7WFegja`gdS~@kXbJ7r+5>vgzvB$B-ihpEwH+dk6A+KMP`D=9=TStQ zfOzn!SZ2KwdDbIeYv>)cq5Ieakf7KQVW7dcKqJmL;S2sq9T?m~5M2s{%Z zu7U8;HQ{jbDNMkTA4>!;)bL)ju!zD1P?3SgDOA95g6N6h?=Tpxn7k9fvxD&M+URfr zM}96J&Wh~}*r?+K&NZ^jy*ve8so>*a_k_#BxsQXFI=G>C57PIL=HVe6FB~_|374ebv9x&M$nTM#8zGcF z&Tp4I1o;ZZ6DIVXOT?Q)g-U~)=l7z5qoe>l%;l{B=Xb9Vt82R{@rQc|;zEwn`LF1m zZ7X1ZCOty*P3K#Sl->aOn`m@RKe`i!84o)L>}pF2Qx)}u@qgRv(3+>fsel9jsY_uI zO>qRd1Crm!Fi4Id+^QZyyk6GK4wSxycR^o2!nbYNP86cCrZF^Anl1@lsKtCe!}CS z+ZOp-K>=RM1HdOk-4A?q!rJsfRP4`do{NALXqbbYIn-9191*w(+#-Fa#@y6It_E+= z+P2BEe4BGaU7Jy*j+6d~VVk~#dO;g#;I9`gIQ`-Xmhu8l#dH(ak#Ice!54@)@_Xbr zD6CV#aF#uHq^)l$Y%l2eWusmhfCFrgeMiO#I1bRsehJbGQFvMDl_PCA@)b7VXq!E0 znkEg-$@m(DkJ3oz$JxQ7ZBvqpG>Hl>dVDlSWTTyu#T2In&N_iyK(wIRV24)bJDV=(!34`{FOi}AacWe#YMVe}us1m?REt5AcT}$<1_? z_13}deBY%}^v`j?0J5`c&JV`*!RYMv6)N!MdRuf}LUJnT;Qfj?J36$z;x1T))du{(d{*)ehP(^) z)lTWb8V5}M9)<#wn%h1PEHOr5PQ}SR!=oe|f3l;w?R;R6BvMPibyEK>1u87;cHu8; z4k>s>bKEo7stgh$tT&CXBjJaKr$2#CY)A zzZDJnSP&0+X^0X$)CK4)?1ejc41`bC>=9?$$nWlu;RLie6X*PhYYoTc1Qg(`zO5Z@ z!H1>gAbzfp9i5ETqf9HFGUVL%!w(mro&qj$`~kQ0C6NM-{2u)E1Ob=+^vGu!3);=Pfe3UK1vjZT?(Al3){D;;5hEBv2YUAIeu~bD=KK&C&#f(OWXCKB<*%- zZUPiX7FFFoQNH4wS>0|_fyeiItYbM;uQ~1*XNKW}%SV?(`og7QIv(;)-`_y_|8?DY zKon&k2k?1j2XF5b;1QkAw=mO)X24$|J9IJ@6Jt$Pur}15A5U zUqx5#&D9JnQ}oRvkLpd|SAAO@k6FxH-`{t3v2b|*n9uI)?|EjPxsRP^o|@E`1GKy7 zKjVQy%WzGcLwu5ZY>m|8L#^RkpT{wMP0Sd8SS&jB(iXD9OWj_wR;t^}6jxvIO7$@I znBJLOLigA`OB`jC^apQLq!7zX)TDW?S`yVIj%+V_sd%4_4m+)XxpmYf$JnQ-rMto1 zwV)D(wsfvIJ?R~!iK|mL-92@IY9$P9el?C0(b>KjQR!5&bb2qDjC#qoAt*55?A{j?ThtQz6}8EX6ib>S&fhmDmF`=X2^{ zUGv3{yHQUQSBvGEFY9#W$S*oe9f`9JnigmiTTuk}zzk0<+JPZnGn1ca<7)nz_;g=w z{>PMm26a?ly3Emt)|N5qeHZa`8Ljo*4DHmuTFXscu4)#VYd&g?-&%2Xt#!rY^z*b; zhSmHZW0aKNw-FbflAd}%-!M$vGv&E@O;Jajqaiuuj^Tmb=N`Nbz9cm8!Hop5;oaa z+|gRL_*!SHQya!g0;oM`TVSmGfN$~^ciQKA^1v7ND92JbZjPFIke4$^e7~J+F}r_g z;$0SjTAyN8JNX=ch+1fflV=Lwg>7ji-j0(kVnv*sVHg#3yjlARiPY|Ryqv%vGl+fT z<)K1g{puD}g9gKL6=hV=!d7Wh8>Ne<Hf;m7jZ1_0n%c&tj}6o|E`8X=-0oBtq@TM z%0T&TW=PjN=mi4P=s)?vay?HW(f4T-RYO7YH|2}~Y8T-6M0ps0NiW7ulGo`&bxVEe zmWp_4lAOarZLKHEvx0aQA#PhN9}p_S=Cu^tE}Ci9gL?@l?K?!(ZoZ zu?6x>CQJ{1Kuf6*OKGvX3bbq>v_cC%w$p`j0@I)6Cp7q_N46NaoN^8Jw2fab5A~+! zacxy=Z? zj-)-mAiqqe?k07&sJl(w9b0~xazIaq(Q9U^@hoO;Qxd6Xg^7A>Mcb4dK`>AwE#i)y z3N77T%4XUXURE!bYV8Wt_lmpLIF8#_$0Ov1RL;F|&>ccEZIq&Om-0YAmAzx4qpj#H zr!oD^_L#-~55BS3M(>2vrsIBtl66$;)! z)7cbyb<+!5tS^mto;u`6eoc_rwnCu|-t_~=tw9E{h;r*+WnW^iB%Z2Ja&#l{UgJt7 z*q6&wv*z;&CfXjw%t|FO>L=#(p`I7UL$ivTuO^;o^cHVXW?Mz2lEKefs-Ni>bM)W~ z$*EZGMeE5@sPj7cNn!xgz{Tm`G4g;tUJFeE-pE)j1YAENvd9Z=`d|DRmwF(1j{k1 z%`#S3DfG-^xQE3TjfjasCzWjKYp=dM!#44xLKjm;;dL`TGMZ*9|4}*TNeAgG#__v@ z>0I!qMt}7nFqNmvt|j&{uoHF%Mm9Xj_l-K5FWqi%NEM zIQ3~yf&!nXPB#>zj?G(6&$LL0K27bC~h#-IFIP z*}@s_BJG4^T1WC^CBxv&Z!lvGrf1WXY(9#PY&R9Ei9jt{+*D@r`uBLVSvPK$cbasQe%n-%)VkIL4nI_n?c;J4!Y!_4~ey(qmqjcs-S8 ziF>JkVAjSxsmwL;A%5C8<$oSOTt|Lvr|LA@zEG6e_4rb1ip1!QV0mI6qm!QO=f!-Z z^MIb`?Is$ynCat8)ZgPLqNKJWA7>~t?9p`(RGX13H#rjw{d7$O&}XYQIkO{Z5`)z> zL(FPLL5_2%FHsSTsgHJ0-`DY8z$R4Sn$`RawX4+1X^DCMLqr`Jnqls^=TIvnwN7^= z*t@3RpV}S#_=v^m9>7^@>k0{ILAG{AQvvpQX`hm5O2cw(vSZkAx`#IITRM!oe(0=k zp}wd>tZwbRPYY~~QTwk(BPzdZ&(3jIy|nShG@IVIy-~l{=9vFZZ z@MiXHaYpuZxZx;kq2BA1%8QIF!MvXRruMo^ELHh6<2?hdYiN=eQL(K_`RoST151;F zij6E=*iJ_YsV#lA*z?F}zWF8A%aj_vv-UJ&0PeFFE9+=PTspmiMi{-C-7#yDtF1k{ zPIex#(MCGvOYx$SCF(0#EY1L=3DkF9A18D%QLDmI=1Lp3%-8+st9cU_M;YAP_gq05Pw6B0n>u?w zeM$A!PY{y)=s5xD)FvuqMwrJ|v-YV0jB%+t3nK(BNYg^0_0RZOT@~U|W~q@)Jt6YE@Z7K zw|@3~$}4qW`Adb5e3(VLa?6Kh@O=d-_O=gA*VZ&DAB2H$&;Ue$NYD^80*yfwXabsoW*{0g2Q5HL5Cd9))*u$N z0c}A$K-<>#@OaQ3bO0SeCy)RVK@ziX4^L((C#d<~XCcy#>&YzG?s+4bmGQF%=$3|z z>~g;Lf=J^!)0-OA6`}{<-(M4_(@J_wNR3Ys8is1(YJOL|n#~Q+#I4VVZ;!c^%nrpg zZ^@>5(+OGa17Dgzqe)aplg`DfaVaS5CAL!dgReG8x9MweK_y9~FneWKDy!VAPvHg| z>GZgu=x{0{I)gOO1*C(npd088dVmbj6Z8VT!OP$k&4Di{DVK^Axoybj&~ z*&qiD1cSg}Fa!(*!@zJb0=x-Ef>B^JcniD@#(;OgyI?FB2i^nYK`wY7d;mTK6Tn0; z2}}kbfhk}rm;WPpMd3{ z2o!@)!3rRPm7oNy0;|CquokQX68H?P2OGdfunClcGO!tZ4z_@;;0y3K@Fmy=wu2qu z?_ej`1wpb{Jb-+}MJQSbve29AR& zZ~~kJ{{%mRQ{Xf>1I~hO1|gsx2nF>)7zhUqKm>>c4M8K&7({_4pebku zqCs=e0<;7%pcQBhVnG|w7PJF#ARe>_9Y9CW2_%3-kOY#!OCSZLg3cffbOGt0E9eHg zgB~CQ^aQ;?Z}2jB1@r-ZK|jzRyb1<@Oppa$1FwTOKsLw$1Hm9L7z_bJ!7wl!i~w(f zkzf=U4c-E8gE8P8@Gck&#)0?1c#sR;2OoeB!2~c7Oaha^M_>w=3Z{YSU6z+5m7%j)F5o`jbpbTsVpYwLw{qd%2{{vR{i7WsB diff --git a/N3OW/map_data/packed_heightmap.png b/N3OW/map_data/packed_heightmap.png index 5599a45b..68fb5662 100755 --- a/N3OW/map_data/packed_heightmap.png +++ b/N3OW/map_data/packed_heightmap.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:7fca988c98a857c910001dd152567f97b908f5618bc71c68d9f7bced80b3f19d -size 16355660 +oid sha256:6fec8034caff6c41720f122a078f922a29ab2743fbb1c5bc044e969a0f53975d +size 16368200 diff --git a/N3OW/map_data/provinces.png b/N3OW/map_data/provinces.png index 5f49ec11..8c5beea4 100644 --- a/N3OW/map_data/provinces.png +++ b/N3OW/map_data/provinces.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ff560b72955624e117db4bfd0e3104bd142ca1b955c7915b841a8a74d8dbf97f -size 2592158 +oid sha256:6ac021f004775b191f29cda84aebce324abad97d9d2a7171921e5d37ce0df7a2 +size 3428867 From bbb372f931968a0e86be7cda8edc2c02531d4d31 Mon Sep 17 00:00:00 2001 From: Magpie490 Date: Mon, 3 Nov 2025 23:17:54 +0000 Subject: [PATCH 08/20] city work --- .../governments/00_government_types.txt | 10 + N3OW/common/laws/00_succession_laws.txt | 19 - N3OW/common/laws/01_title_succession_laws.txt | 6 +- N3OW/common/on_action/game_start.txt | 23 + N3OW/common/on_action/yearly_on_actions.txt | 3491 +++++++++++++++++ .../07_dlc_ep3_scripted_effects.txt | 15 +- .../scripted_triggers/00_law_triggers.txt | 2 +- 7 files changed, 3539 insertions(+), 27 deletions(-) create mode 100644 N3OW/common/on_action/yearly_on_actions.txt diff --git a/N3OW/common/governments/00_government_types.txt b/N3OW/common/governments/00_government_types.txt index 614d4d20..0c712d26 100644 --- a/N3OW/common/governments/00_government_types.txt +++ b/N3OW/common/governments/00_government_types.txt @@ -57,9 +57,16 @@ republic_government = { landless_playable = yes replace_gold_cost_by_treasury = yes admin_allows_holding_multiple_primary_tier_titles = yes + sticky_government = yes + use_as_base_on_landed = yes + house_aspirations = yes + use_as_base_on_rank_up = yes } main_administrative_tier = county + min_appointment_tier = county + minimum_provincial_maa_tier = county + fallback = 2 vassal_contract_group = republic_vassal # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). @@ -67,8 +74,11 @@ republic_government = { government_is_special_republic government_is_special_administrative government_is_administrative + government_has_influence + government_has_powerful_families government_is_settled government_uses_domain_limit + government_has_treasury government_uses_domicile_but_not_adventurer government_has_house_blocs } diff --git a/N3OW/common/laws/00_succession_laws.txt b/N3OW/common/laws/00_succession_laws.txt index a48e719f..1c192a31 100644 --- a/N3OW/common/laws/00_succession_laws.txt +++ b/N3OW/common/laws/00_succession_laws.txt @@ -539,30 +539,18 @@ acclamation_succession_law = { can_keep = { can_keep_acclamation_succession_law_trigger = yes - NOT ={ - government_has_flag = government_is_special_republic - } } can_pass = { can_change_acclamation_succession_law_trigger = yes - NOT ={ - government_has_flag = government_is_special_republic - } } can_have = { NOT = { government_has_flag = government_is_nomadic } can_have_acclamation_succession_law_trigger = yes - NOT ={ - government_has_flag = government_is_special_republic - } } should_start_with = { has_ep3_dlc_trigger = yes has_title = title:e_byzantium government_allows = administrative - NOT ={ - government_has_flag = government_is_special_republic - } } succession = { order_of_succession = appointment @@ -595,9 +583,6 @@ appointment_succession_law = { can_keep = { can_keep_appointment_succession_law_trigger = yes - NOT ={ - government_has_flag = government_is_special_republic - } # Vassal Contract allows it custom_description = { text = succession_laws_must_not_be_forced_partition @@ -610,9 +595,6 @@ can_have = { NOT = { government_has_flag = government_is_nomadic } can_have_appointment_succession_law_trigger = yes - NOT ={ - government_has_flag = government_is_special_republic - } } can_pass = { can_change_appointment_succession_law_trigger = yes @@ -621,7 +603,6 @@ government_allows = administrative NOR = { government_has_flag = government_is_celestial - government_has_flag = government_is_special_republic government_has_flag = government_is_japan_administrative government_has_flag = government_is_meritocratic } diff --git a/N3OW/common/laws/01_title_succession_laws.txt b/N3OW/common/laws/01_title_succession_laws.txt index 385a2c2c..4c6b3c62 100644 --- a/N3OW/common/laws/01_title_succession_laws.txt +++ b/N3OW/common/laws/01_title_succession_laws.txt @@ -2,10 +2,7 @@ # Default Feudal Elective feudal_elective_succession_law = { can_have = { - OR = { - government_has_flag = government_is_feudal - government_has_flag = government_is_special_republic - } + government_has_flag = government_is_feudal highest_held_title_tier >= tier_county NOR = { #Cultures have their special flavor. culture = { has_cultural_parameter = witenagemot_succession_enabled } @@ -20,7 +17,6 @@ can_title_have_law_general_trigger = yes } should_start_with = { - government_has_flag = government_is_special_republic } succession = { order_of_succession = election diff --git a/N3OW/common/on_action/game_start.txt b/N3OW/common/on_action/game_start.txt index b210f62e..49b8bdb6 100644 --- a/N3OW/common/on_action/game_start.txt +++ b/N3OW/common/on_action/game_start.txt @@ -11,6 +11,29 @@ on_game_start = { effect = { ##NEOW + + if = { + limit = { + government_allows = administrative + is_house_head = yes + trigger_if = { + # This trigger is intentionally different from the similar effecy in on_title_gain up above. We want all direct vassals of the top liege to have a family title if they can + limit = { government_has_flag = government_has_county_tier_noble_families } + highest_held_title_tier >= tier_county + } + trigger_else = { highest_held_title_tier >= tier_duchy } + NOR = { + any_held_title = { is_noble_family_title = yes } + house = { + any_house_member = { + any_held_title = { is_noble_family_title = yes } + } + } + } + } + create_noble_family_effect = { GOVERNMENT_GIVER = this } + domicile ?= { set_up_domicile_estate_effect = yes } + } #Dynamic Titles character:benelux_oranje_nassau_weilburg_guillem = { if = { diff --git a/N3OW/common/on_action/yearly_on_actions.txt b/N3OW/common/on_action/yearly_on_actions.txt new file mode 100644 index 00000000..d8806568 --- /dev/null +++ b/N3OW/common/on_action/yearly_on_actions.txt @@ -0,0 +1,3491 @@ +# Called every Jan 1st +# Root does not exist +yearly_global_pulse = { + effect = { + + if = { + limit = { + government_allows = administrative + is_house_head = yes + trigger_if = { + # This trigger is intentionally different from the similar effecy in on_title_gain up above. We want all direct vassals of the top liege to have a family title if they can + limit = { government_has_flag = government_has_county_tier_noble_families } + highest_held_title_tier >= tier_county + } + trigger_else = { highest_held_title_tier >= tier_duchy } + NOR = { + any_held_title = { is_noble_family_title = yes } + house = { + any_house_member = { + any_held_title = { is_noble_family_title = yes } + } + } + } + } + create_noble_family_effect = { GOVERNMENT_GIVER = this } + domicile ?= { set_up_domicile_estate_effect = yes } + } + # Historical character spawner + if = { + limit = { + NOT = { + has_game_rule = no_historical_characters + } + } + spawn_historical_characters_effect = yes + } + # Visigothic culture split + ## Deprecated; to reenable, remove always = no line & decomment the trigger_event section. + if = { + limit = { + always = no + current_date <= 920.1.1 # No need to check this in later starts + NOT = { has_global_variable = visigothic_culture_split } + current_date >= 850.1.1 + } + random = { + chance = 0 # No chance the first year of play if starting in 867 + modifier = { + add = 10 + current_date >= 868.1.1 + } + modifier = { + add = 10 # 20% chance + current_date >= 875.1.1 + } + modifier = { + add = 10 # 30% chance + current_date >= 890.1.1 + } + set_global_variable = { + name = visigothic_culture_split + value = yes + } + #trigger_event = { + #id = global_culture.0001 + #days = { 60 300 } + #} + } + } + # Norse culture split. + if = { + limit = { + current_date < 990.1.1 + NOT = { has_global_variable = norse_culture_split } + current_date >= 950.1.1 + } + random = { + chance = 10 + modifier = { + add = 20 # 30% chance + current_date >= 960.1.1 + } + modifier = { + add = 30 # 60% chance + current_date >= 970.1.1 + } + modifier = { + add = 40 # 100% chance + current_date >= 980.1.1 + } + set_global_variable = { + name = norse_culture_split + value = yes + } + trigger_event = { + id = global_culture.0011 + days = { 60 300 } + } + } + } + # Anglo-Saxon -> Scottish Culture Shift + if = { + limit = { + current_date <= 1066.1.1 # No need to check this in later starts + NOT = { has_global_variable = scottish_culture_creation } + current_date >= 867.1.1 + } + random = { + chance = 0 # No chance the first year of play if starting in 867 + modifier = { + add = 2 # 2% chance per year + current_date >= 900.1.1 + } + modifier = { + add = 8 # 10% chance per year + current_date >= 950.1.1 + } + modifier = { + add = 15 # 25% chance per year + current_date >= 1000.1.1 + } + set_global_variable = { + name = scottish_culture_creation + value = yes + } + trigger_event = { + id = global_culture.0031 + days = { 60 300 } + } + } + } + # Mongol Invasion + if = { limit = { has_game_rule = never_mongol_invasion } } + else_if = { + limit = { + has_game_rule = random_mongol_invasion + NOT = { has_global_variable = mongols_have_appeared } + #Greatest of khans hasn't come along + NOT = { has_global_variable = greatest_of_khans_title } + #Someone's not currently trying to be greatest of khans + NOT = { has_global_variable = mpo_gok_war_ongoing } + #Temujin dying prevents Mongol invasion for at least 50 years + NOT = { + has_global_variable = temujin_failed + } + } + random = { + chance = temujin_appearance_base_chance + modifier = { + factor = 0.25 + current_date < 1180.1.1 + } + modifier = { + add = 3 + current_date > 1200.1.1 + } + modifier = { + add = 5 + current_date > 1220.1.1 + } + modifier = { + add = 5 + current_date > 1235.1.1 + } + set_global_variable = { + name = mongols_have_appeared + value = yes + } + debug_log = "Attempting to spawn mongol invasion within 240 days" + trigger_event = { + id = mongol_invasion.0001 + days = { 2 240 } + } + } + } + else = { + if = { + limit = { + current_date > 1180.1.1 + current_date < 1250.1.1 + NOT = { has_global_variable = mongols_have_appeared } + #Greatest of khans hasn't come along + NOT = { has_global_variable = greatest_of_khans_title } + #Someone's not currently trying to be greatest of khans + NOT = { has_global_variable = mpo_gok_war_ongoing } + trigger_if = { + limit = { + game_start_date = 1178.10.1 + } + years_from_game_start >= 20 + } + #Temujin dying prevents Mongol invasion for at least 50 years + NOT = { + has_global_variable = temujin_failed + } + } + debug_log = "Checking for chance of spawning mongols under historical settings" + random = { + chance = temujin_appearance_base_chance + modifier = { + add = 9 + current_date > 1200.1.1 + } + modifier = { + add = 10 + current_date > 1220.1.1 + } + modifier = { + add = 20 + current_date > 1235.1.1 + } + modifier = { + add = 30 + exists = character:125501 # TemĂĽjin + character:125501 = { + is_physically_able_ai_adult = yes + } + } + set_global_variable = { + name = mongols_have_appeared + value = yes + } + debug_log = "Attempting to spawn mongol invasion within 240 days" + trigger_event = { + id = mongol_invasion.0001 + days = { 2 240 } + } + } + } + } + # Almohad Invasion + if = { + limit = { + current_date >= 1110.1.1 + current_date < 1150.1.1 + NOT = { has_global_variable = spawned_almohads } + } + random = { + chance = almohad_appearance_base_chance + modifier = { + add = 3 + current_date >= 1130.1.1 + } + modifier = { + add = 3 + current_date >= 1140.1.1 + } + debug_log = "Attempting to spawn Almohads within 240 days" + trigger_event = { + id = almohad.0001 + days = { 2 240 } + } + } + } + # Jomsvikings form autonomously. + if = { + limit = { + # Do we have the correct flavour pack? + has_fp1_dlc_trigger = yes + # Must be within the 10th century. + current_date >= 900.1.1 + current_date < 1000.1.1 + # The Jomsvikings cannot have already formed for any reason & by any method. + fp1_jomsvikings_have_not_existed_trigger = yes + # Must be a valid target somewhere in the appropriate region. + any_county_in_region = { + region = dlc_fp1_region_non_scandinavian_southern_baltic + holder = { fp1_ruler_eligible_for_jomsviking_coup = yes } + } + } + random = { + # Low initial chance, to give the player time. + chance = 5 + # Add 5% every decade for the first half of the century. + modifier = { + add = 5 + current_date >= 910.1.1 + } + modifier = { + add = 5 + current_date >= 920.1.1 + } + modifier = { + add = 5 + current_date >= 930.1.1 + } + modifier = { + add = 5 + current_date >= 940.1.1 + } + modifier = { + add = 5 + current_date >= 950.1.1 + } + # And then add another 25% solid chance for the whole of the latter half of the century. + modifier = { + add = 25 + current_date >= 960.1.1 + } + # Fire the event. + trigger_event = { + id = fp1_jomsvikings.1011 + days = { 30 300 } + } + } + } + # A wandering French monk appears. + if = { + limit = { + # Do we have the correct flavour pack? + has_fp2_dlc_trigger = yes + # Must be before the monk would likely die. + current_date <= 880.1.1 + # The monk hasn't already tried to turn up somewhere. + NOT = { + is_target_in_global_variable_list = { + name = unavailable_unique_events + target = flag:lyonese_monk_event + } + } + } + # If there's a player in this region, we wait for one to become eligible. + if = { + limit = { + any_player = { + capital_province = { geographical_region = dlc_fp2_lyonese_monk_region } + } + } + if = { + limit = { + OR = { + any_player = { + capital_province = { geographical_region = dlc_fp2_lyonese_monk_region } + fp2_lyonese_monk_0002_valid_character_configuration_trigger = yes + } + current_date = 880.1.1 + } + } + # Fire the event. + trigger_event = { + id = fp2_lyonese_monk.0002 + days = { 30 90 } + } + } + } + # Otherwise, we roll randomly per year immediately. + else_if = { + limit = { + any_county_in_region = { + region = dlc_fp2_lyonese_monk_region + holder = { fp2_lyonese_monk_0002_valid_court_trigger = yes } + } + } + random = { + # Low initial chance, to give the player time. + chance = 5 + # Slowly ramp up the chance till *someone* is selected, assuming we have any valid candidates. + modifier = { + add = 20 + current_date >= 870.1.1 + } + modifier = { + add = 25 + current_date >= 873.1.1 + } + modifier = { + add = 25 + current_date >= 876.1.1 + } + modifier = { + add = 25 + current_date = 880.1.1 + } + # Fire the event. + trigger_event = { + id = fp2_lyonese_monk.0002 + days = { 30 90 } + } + } + } + } + + # Rabbinicism becomes Monogamous + if = { + limit = { + # Rabbi Gershom bans polygamy sometime in the 11th century + current_date > "1000.01.01" + # Make sure this hasn't happened already + faith:rabbinism = { + has_doctrine = doctrine_polygamy + NOT = { + has_variable = rabbinicism_accepted_monogamy + has_variable = rabbinicism_rejected_monogamy + } + } + } + religion:judaism_religion = { + every_faith = { + limit = { + has_doctrine = doctrine_polygamy + has_doctrine = temple_authority_rabbinic_doctrine + } + if = { + limit = { + exists = religious_head + } + if = { + limit = { + religious_head = { top_liege != this } + religious_head.top_liege.faith = this + } + religious_head.top_liege = { trigger_event = jewish_events.0001 } + } + else_if = { + limit = { + religious_head = { top_liege != this } + religious_head.liege.faith = this + } + religious_head.liege = { trigger_event = jewish_events.0001 } + } + else = { + religious_head = { trigger_event = jewish_events.0001 } + } + } + else_if = { + limit = { + any_player = { # Checking players is more performant than checking faith characters and limiting it to players + faith = prev + } + } + random_player = { + limit = { faith = prev } + trigger_event = jewish_events.0001 + } + } + else = { + random_faith_character = { + trigger_event = jewish_events.0001 + } + } + } + } + } + + # The Rise of the Seljuk + if = { limit = { has_game_rule = never_seljuk_invasion } } + else_if = { # Random Seljuk Invasion + limit = { + has_game_rule = random_seljuk_invasion + NOR = { + exists = global_var:seljuk_invasion_happened + exists = struggle:persian_struggle # We don't allow it during the struggle (not that it can happen in 930) + } + } + random = { + chance = fp3_seljuk_chance_of_appearance + modifier = { + add = 5 + current_date > 965.1.1 + } + modifier = { + add = 5 + current_date > 985.1.1 + } + modifier = { + add = 5 + current_date > 1005.1.1 + } + modifier = { + factor = 0.25 + OR = { + culture:turkish = { culture_number_of_counties = 0 } + faith:ashari = { has_followers_trigger = no } + } + } + set_global_variable = { + name = seljuk_invasion_happened + value = yes + } + debug_log = "Attempting to spawn seljuk invasion within 240 days" + trigger_event = { + id = fp3_story_cycle_seljuks_invasion_events.0001 + days = { 2 240 } + } + } + } + else_if = { # Historical Seljuk Invasion + limit = { + current_date < 1066.1.1 + current_date >= 945.1.1 + NOR = { + exists = global_var:seljuk_invasion_happened + exists = struggle:persian_struggle # We don't allow it during the struggle (not that it can happen in 930) + } + } + random = { + chance = fp3_seljuk_chance_of_appearance + modifier = { + add = 5 + current_date > 965.1.1 + } + modifier = { + add = 5 + current_date > 985.1.1 + } + modifier = { + add = 5 + current_date > 1005.1.1 + } + modifier = { + factor = 0.25 + OR = { + culture:turkish = { culture_number_of_counties = 0 } + faith:ashari = { has_followers_trigger = no } + } + } + set_global_variable = { + name = seljuk_invasion_happened + value = yes + } + debug_log = "Attempting to spawn seljuk invasion within 240 days" + trigger_event = { + id = fp3_story_cycle_seljuks_invasion_events.0001 + days = { 2 240 } + } + } + } + + # Zanj Rebellion + if = { + limit = { + current_date = 868.1.2 + NOT = { exists = global_var:zanj_rebellion_happened } + } + debug_log = "Zanj Rebellion Story Cycle Started" + trigger_event = { + id = fp3_story_cycle_zanj_rebellion_events.0001 + days = { 100 5000 } + } + set_global_variable = { + name = zanj_rebellion_happened + value = yes + } + } + #Grant latin emperor a de jure kingdom after 100 years, if they've failed to grab any de jure lands yet + if = { + limit = { + exists = global_var:byz_collapse_counter + current_year >= global_var:byz_collapse_counter + exists = title:e_latin_empire.holder + title:e_latin_empire.holder = { + is_alive = yes + primary_title = title:e_latin_empire + capital_county.kingdom = { + empire = title:e_byzantium + any_de_jure_county = { + percent >= 0.5 + holder.top_liege = { + this = title:e_latin_empire.holder + } + } + } + } + NOT = { + title:e_latin_empire = { + any_in_de_jure_hierarchy = { + tier <= tier_kingdom + } + } + } + } + title:e_latin_empire.holder = { + trigger_event = ep3_frankokratia_events.0140 + } + } + #Greek anarchy CB becomes unavailable when things are settled + if = { + limit = { + exists = global_var:byz_collapse_counter + current_year >= global_var:byz_collapse_counter + OR = { + NOT = { + exists = title:e_latin_empire.holder + } + title:e_latin_empire.holder ?= { + NOT = { + any_realm_county = { + OR = { + empire = title:e_latin_empire + empire = title:e_byzantium + } + } + } + } + title:e_latin_empire.holder ?= { + any_held_title = { + this = title:e_byzantium + } + } + } + } + remove_global_variable = byz_collapse_counter + + #Send notification out to everyone in de jure latin empire + if = { + limit = { + title:e_latin_empire = { + any_in_de_jure_hierarchy = { + holder ?= { + is_ai = no + } + } + } + } + title:e_latin_empire = { + every_in_de_jure_hierarchy = { + limit = { + holder ?= { + is_ai = no + } + } + if = { + limit = { + holder ?= { + NOT = { is_in_list = latin_byz_notify } + } + } + holder = { + add_to_list = latin_byz_notify + } + } + } + } + } + if = { + limit = { + title:e_byzantium = { + any_in_de_jure_hierarchy = { + holder ?= { + is_ai = no + } + } + } + } + title:e_byzantium = { + every_in_de_jure_hierarchy = { + limit = { + holder ?= { + is_ai = no + } + } + if = { + limit = { + holder = { + NOT = { is_in_list = latin_byz_notify } + } + } + holder = { + add_to_list = latin_byz_notify + } + } + } + } + } + title:e_latin_empire.holder = { + if = { + limit = { + is_ai = no + NOT = { is_in_list = latin_byz_notify } + } + add_to_list = latin_byz_notify + } + trigger_event = ep3_frankokratia_events.0081 + } + title:e_byzantium.holder = { + if = { + limit = { + is_ai = no + NOT = { is_in_list = latin_byz_notify } + } + add_to_list = latin_byz_notify + } + } + title:e_byzantium = { + save_scope_as = byzantium + } + if = { + limit = { + any_in_list = { + list = latin_byz_notify + count > 0 + } + } + every_in_list = { + list = latin_byz_notify + send_interface_message = { + type = msg_frankokratia_anarchy_end + title = msg_greek_anarchy_cb_loss.t + desc = msg_greek_anarchy_cb_loss.desc + right_icon = scope:byzantium + custom_tooltip = lose_greek_anarchy_cb_tt + } + } + } + } + # TGP House Relations tracking + every_active_dynasty = { + every_dynasty_house = { + every_house_relation = { + if = { + limit = { + has_variable = house_relation_duration_years + } + change_variable = { + name = house_relation_duration_years + add = 1 + } + } + else = { + set_variable = { + name = house_relation_duration_years + value = 1 + } + } + } + } + } + if = { + limit = { + title:h_china.holder ?= { + can_have_tributaries_trigger = yes + any_tributary = { + count < 20 # hol' up with this if China already has 20 tributaries or more + } + } + } + random_county_in_region = { + region = tgp_china_tributary_region + limit = { + holder.top_overlord = { + is_ai = yes + is_independent_ruler = yes + any_county_in_region = { + region = tgp_china_tributary_region + this = prev.primary_title + } + NOR = { + any_owned_story = { + OR = { + story_type = story_mongol_invasion + story_type = story_greatest_of_khans + } + } + mpo_has_gok_mongol_empire_trigger = yes + has_trait = conqueror + has_trait = greatest_of_khans + is_gurkhan = yes + } + } + } + holder.top_overlord = { + set_variable = { + name = wants_to_become_tributary_of_china + years = 10 # if they haven't completed a tribute mission within 10 years we stop trying + } + } + } + } + } + + on_actions = { + inspiration_maintenance_global_pulse + natural_disaster_maintenance_global_pulse + } +} + +# Called from code once a year for "playable" (count+) characters. +# Root is the character +yearly_playable_pulse = { + effect = { + ai_budget_manipulation_effect = yes + + #Mandala + if = { + limit = { + government_has_flag = government_is_mandala + primary_title.tier >= tier_county + has_mandala_aspect_trigger = yes + house.house_head ?= root + is_adult = yes + is_at_war = no + } + ai_chance_to_become_mandala_godking_effect = yes + # Mandala Contracts + if = { + limit = { + trigger_if = { + limit = { is_ai = yes } + is_available = yes + } + trigger_else = { always = yes } + } + if = { # Spawn up to three rituals + limit = { + trigger_if = { + limit = { exists = var:available_mandala_rituals } + var:available_mandala_rituals < mandala_max_available_rituals_value + } + trigger_else = { always = yes } + } + random = { + chance = { + value = 75 + if = { + limit = { + is_ai = no + capital_province = { + NOT = { + has_building_with_flag = mandala_capital_building + } + } + } + add = 25 + } + if = { + limit = { is_at_war = yes } + add = -50 + } + if = { + limit = { is_travelling = yes } + add = -50 + } + if = { + limit = { + is_ai = yes + OR = { + is_tributary = yes + top_liege != this + } + } + add = -50 + } + } + spawn_mandala_realm_task_contract_effect = yes + } + } + else_if = { + limit = { + is_travelling = no + is_at_war = no + is_ai = no + } + send_interface_message = { + type = msg_mandala_bad + title = mandala_followers_doubting + add_piety = { + value = mandala_contract_piety + multiply = -2.5 + } + add_piety_experience = { + value = mandala_contract_piety + multiply = -2.5 + } + add_legitimacy = { + value = mandala_contract_legitimacy + multiply = -2.5 + } + } + } + } + + } + # Mercenary cultrad + else_if = { + limit = { + government_has_flag = government_is_mercenary + culture = { + has_cultural_parameter = mercenary_courtiers_gain_extra_skills + } + } + knight_increase_prowess_chance_effect = yes + every_courtier = { + limit = { + is_knight = yes + } + knight_increase_prowess_chance_effect = yes + } + } + # Independent rulers + if = { + limit = { + this = top_liege + } + # Treasury update for governments with a treasury + if = { + limit = { + has_treasury = yes + } + trigger_event = tgp_china_ministry.0100 + } + # Border War Law + if = { + limit = { + has_realm_law_flag = top_liege_not_redirected_to_border_wars_law + primary_title = { + are_vassal_wars_redirected_to_holder = yes + } + } + primary_title = { + set_vassal_wars_are_redirected_to_holder = no + } + } + else_if = { + limit = { + has_realm_law_flag = top_liege_redirected_to_border_wars_law + primary_title = { + are_vassal_wars_redirected_to_holder = no + } + } + primary_title = { + set_vassal_wars_are_redirected_to_holder = yes + } + } + } + # Assign or level up court type trait for courtiers in a royal court + if = { + limit = { + has_royal_court = yes + has_dlc_feature = royal_court + } + assign_court_type_traits_to_courtiers_effect = yes + } + # Yurt domicile bonuses distribution + if = { + limit = { + government_has_flag = government_is_nomadic + exists = domicile + } + #Dynasty of Many Khans + mpo_yearly_dynasty_of_many_khans_effect = yes + + #Yearly yurt rewards + domicile ?= { + if = { + limit = { + OR = { + has_domicile_building_or_higher = family_yurt_01 + has_domicile_building_or_higher = mystical_yurt_01 + has_domicile_building_or_higher = court_yurt_01 + } + } + mpo_yearly_yurt_rewards_effect = yes + } + } + } + + # Yearly house head opinion update: to change into only one log maybe? + if = { + limit = { + government_has_flag = government_is_clan + exists = house + is_house_head = yes + } + save_scope_as = unity_target + if = { + limit = { + OR = { + has_character_flag = steer_unity_towards_harmonious_passive_gain + has_character_flag = steer_unity_towards_antagonistic_passive_loss + } + } + house = { + add_unity_value = { + value = { + if = { + limit = { root = { has_character_flag = steer_unity_towards_harmonious_passive_gain } } + add = medium_unity_gain + } + else = { + add = medium_unity_loss + } + } + character = root + desc = clan_unity_steer_direction_passive_change.desc + } + } + } + else = { + house = { + set_variable = { + name = house_opinion_unity_impact + value = 0 + } + every_house_member = { + limit = { + is_house_head = no + is_adult = yes + } + if = { + limit = { + opinion = { + target = scope:unity_target + value >= low_positive_opinion + } + } + prev = { + change_variable = { + name = house_opinion_unity_impact + add = miniscule_unity_value + } + } + if = { + limit = { + opinion = { + target = scope:unity_target + value >= high_positive_opinion + } + } + prev = { + change_variable = { + name = house_opinion_unity_impact + add = minor_unity_value + } + } + + } + } + else = { + prev = { + change_variable = { + name = house_opinion_unity_impact + subtract = miniscule_unity_value + } + } + + if = { + limit = { + opinion = { + target = scope:unity_target + value <= high_negative_opinion + } + } + prev = { + change_variable = { + name = house_opinion_unity_impact + subtract = minor_unity_value + } + } + } + } + } + if = { + limit = { var:house_opinion_unity_impact != 0 } + add_unity_value = { + value = { + if = { + limit = { var:house_opinion_unity_impact > 0 } + add = minor_unity_gain + } + else = { + add = minor_unity_loss + } + } + character = root + desc = clan_unity_generic_average_yearly_opinion_house_head.desc + } + } + } + } + } + + # ADMINISTRATIVE GOVERNMENT + # Governor contract generation + if = { + limit = { + is_governor = yes + trigger_if = { + limit = { is_ai = yes } + is_available = yes + } + NOT = { has_government = celestial_government } + } + random = { + chance = { + value = 70 + if = { + limit = { has_character_flag = admin_governance_frequency_cooldown } + subtract = 50 + } + } + spawn_governance_contract_effect = yes + } + } + + # CELESTIAL GOVERNMENT + if = { + limit = { + government_has_flag = government_is_celestial + } + + # Governor contract generation + if = { + limit = { + trigger_if = { + limit = { is_ai = no } + is_governor_or_admin_count = yes + } + trigger_else = { # The AI only gets contracts if available and of higher tiers + is_governor = yes + is_available = yes + } + } + random = { + chance = { + value = 75 + if = { + limit = { has_character_flag = admin_governance_frequency_cooldown } + subtract = 40 + } + } + spawn_celestial_governance_contract_effect = yes + } + } + + # Yearly check to see if the hegemon is above the limit for any administration types + if = { + limit = { + is_independent_ruler = yes + OR = { + any_vassal = { + count > celestial_province_protectorate_max_value + vassal_contract_has_flag = celestial_province_protectorate + } + any_vassal = { + count > celestial_province_metropolitan_max_value + vassal_contract_has_flag = celestial_province_metropolitan + } + } + } + + # If true, this will cost legitimacy + send_interface_message = { + type = msg_legitimacy_loss + title = celestial_province_above_limit_title + + left_icon = root + + add_legitimacy = minor_legitimacy_loss + } + } + if = { + limit = { + highest_held_title_tier >= tier_empire + is_independent_ruler = yes + allowed_concubines = yes + is_ai = yes + number_of_concubines < tgp_ai_concubine_soft_cap + } + create_character = { + template = tgp_concubine_template + location = root.location + save_scope_as = new_concubine + } + make_concubine = scope:new_concubine + } + } + + if = { # Is Admin + limit = { + government_has_flag = government_is_administrative + is_landed = yes + } + # Failsafe to ensure we don't get independent admin rulers of too low a rank (i.e. below king) + if = { + limit = { + # Is independent + liege = root + # Is less than King tier + administrative_tier_allows_independence = no + } + admin_change_government_effect = yes + } + # Failsafe to ensure we don't have a noble family holding land without other titles - Give any held land to liege + else_if = { + limit = { + # They are a Vassal + is_independent_ruler = no + # They have a Noble Family Title + any_held_title = { + is_noble_family_title = yes + save_temporary_scope_as = nf_title_temp + } + # And no other high tier Titles + trigger_if = { + limit = { has_government = japan_administrative_government } + NOT = { + any_held_title = { + tier >= tier_county + is_noble_family_title = no + is_landless_type_title = no + } + } + } + trigger_else = { + NOT = { + any_held_title = { + tier >= tier_duchy + is_noble_family_title = no + is_landless_type_title = no + } + } + } + } + create_title_and_vassal_change = { + type = stepped_down + save_scope_as = change + add_claim_on_loss = no + } + every_held_title = { + limit = { + is_landless_type_title = no + is_noble_family_title = no + } + add_to_list = revoked_titles + } + every_in_list = { + list = revoked_titles + change_title_holder_include_vassals = { + holder = root.liege + change = scope:change + } + } + resolve_title_and_vassal_change = scope:change + } + } + + if = { + limit = { + has_character_flag = tournament_ai_override + } + ai_attempt_to_host_activity = activity_tournament + } + else_if = { + limit = { + has_character_flag = feast_ai_override + } + ai_attempt_to_host_activity = activity_feast + } + else_if = { + limit = { + has_character_flag = examinations_ai_override + } + ai_attempt_to_host_activity = activity_imperial_examination + } + + # Scalable Modifiers which needs to be reapplied + hidden_effect = { + if = { + limit = { + has_character_modifier = church_investment_modifier + } + remove_character_modifier = church_investment_modifier + add_character_modifier = church_investment_modifier + } + } + if = { + limit = { + has_perk = learn_on_the_job_perk + has_government = landless_adventurer_government + } + every_courtier = { + limit = { + is_physically_able_adult = yes + NOT = { exists = inspiration } + } + random = { + chance = { + value = 0 + add = { + value = book_inspiration_average_skill_value + if = { + limit = { + has_trait = lazy + } + multiply = 0.5 + } + if = { + limit = { + root = { + any_courtier = { + exists = inspiration + } + } + } + multiply = 0.5 + } + } + } + create_inspiration = book_inspiration + save_scope_as = inspired_follower + root = { + send_interface_message = { + type = send_interface_message_good + title = adventurers_gather_inspiration_option.title + left_icon = scope:inspired_follower + scope:inspired_follower = { + custom_tooltip = { + text = adventurers_gather_inspiration_option.effect + } + } + } + } + } + } + } + # AI Adventurer contract logic setup + if = { + limit = { + ep3_adventurer_ai_logic_valid_trigger = yes + NOT = { owns_story_of_type = story_adventurer_ai } + } + create_story = { type = story_adventurer_ai } + } + if = { # If a player adventurer manages to glitch in place, save them by moving them to the domicile location + limit = { + is_ai = no + has_government = landless_adventurer_government + location != domicile.domicile_location + is_imprisoned = no + is_travelling = no + NOT = { + exists = involved_activity + } + num_taken_task_contracts <= 0 + is_commanding_army = no + } + set_location_to_default = yes + } + if = { + limit = { + NOT = { + top_liege ?= { + is_confederation_member = yes + } + } + has_character_modifier = mpo_confederation_member_modifier + } + remove_character_modifier = mpo_confederation_member_modifier + } + # Stray player Herders get turned into Nomads + if = { + limit = { + is_ai = no + government_has_flag = government_is_herder + } + every_held_title = { + limit = { + tier = tier_county + title_province = { + has_holding_type = herder_holding + } + } + title_province = { + set_holding_type = nomad_holding + } + } + change_government = nomad_government + } + + ###################### + # Various safeguarding against realm setups with landless participants + ###################### + if = { + limit = { + is_landed = no + } + + save_scope_as = scoped_ruler + + ###################### + # Fix Adventurers that end up with a Liege or Noble Family title + ###################### + + if = { + limit = { + government_has_flag = government_is_landless_adventurer + } + if = { + limit = { + this != top_liege + } + create_title_and_vassal_change = { + type = independency + save_scope_as = change + add_claim_on_loss = no + } + scope:scoped_ruler = { + becomes_independent = { change = scope:change } + } + resolve_title_and_vassal_change = scope:change + } + if = { + limit = { + any_held_title = { + is_noble_family_title = yes + } + } + every_held_title = { + limit = { + is_noble_family_title = yes + } + scope:scoped_ruler = { + destroy_title = prev + } + } + } + } + + ###################### + # Repair realms with Landless participants having vassals + ###################### + + if = { + limit = { + any_sub_realm_county = { + is_landless_type_title = no + } + } + + ###################### + # Landless Lieges with Landed Vassals should take a County from a Vassal + ###################### + + if = { + limit = { # Make sure we repair realms in the right order + OR = { + this = top_liege + liege ?= { + is_landed = yes + } + } + } + create_title_and_vassal_change = { + type = revoked + save_scope_as = change + } + random_sub_realm_county = { + limit = { + is_landless_type_title = no + } + weight = { + modifier = { + add = 100 + this = scope:scoped_ruler.primary_title.title_capital_county + } + modifier = { + add = -100 + holder = { + is_ai = no + } + } + } + change_title_holder = { + holder = scope:scoped_ruler + change = scope:change + } + } + resolve_title_and_vassal_change = scope:change + + ###################### + # Landless vassals with Landed vassals should take something and become landed + ###################### + + every_vassal = { + limit = { + is_landed = no + any_sub_realm_county = { + is_landless_type_title = no + } + } + save_scope_as = vassal_ruler + create_title_and_vassal_change = { + type = revoked + save_scope_as = change + } + random_sub_realm_county = { + limit = { + is_landless_type_title = no + } + weight = { + modifier = { + add = 100 + this = scope:vassal_ruler.primary_title.title_capital_county + } + modifier = { + add = -100 + holder = { + is_ai = no + } + } + } + change_title_holder = { + holder = scope:vassal_ruler + change = scope:change + } + } + resolve_title_and_vassal_change = scope:change + } + } + } + + ###################### + # Destroy the AI's landless nomad vassals, as they'll just bloat the game for no gain + ###################### + + else_if = { + limit = { + is_ai = yes + top_liege != this + government_has_flag = government_is_nomadic + is_landed = no + liege = { is_ai = yes } + } + every_held_title = { + limit = { + is_nomad_title = yes + } + scope:scoped_ruler = { + destroy_title = prev + } + } + } + # Players become independent so they can migrate + else_if = { + limit = { + is_ai = no + top_liege != this + government_has_flag = government_is_nomadic + is_landed = no + liege = { is_ai = yes } + } + create_title_and_vassal_change = { + type = independency + save_scope_as = change + add_claim_on_loss = no + } + becomes_independent = { change = scope:change } + resolve_title_and_vassal_change = scope:change + } + + ###################### + # AI's with a Nomadic Camp title that somehow end up with the wrong government and landless should be purged + ###################### + + if = { + limit = { + NOT = { government_has_flag = government_is_nomadic } + any_held_title = { + is_nomad_title = yes + } + } + save_scope_as = scoped_ruler + if = { + limit = { + is_ai = yes + } + every_held_title = { + limit = { + is_nomad_title = yes + } + scope:scoped_ruler = { + destroy_title = prev + } + } + } + # Players are saved + else_if = { + limit = { + is_ai = no + } + change_government = nomad_government + } + } + + ###################### + # Landless nomads outside any migration area? Cleanup. + ###################### + + if = { + limit = { + is_ai = yes + top_liege = this + NOT = { + any_character_situation = { + any_participant_group = { + participant_group_type = nomad_rulers_capital + participant_group_has_character = scope:scoped_ruler + } + } + } + any_held_title = { + is_nomad_title = yes + } + } + every_held_title = { + limit = { + is_nomad_title = yes + } + scope:scoped_ruler = { + destroy_title = prev + } + } + } + } + + # ACH AI vibe checks + if = { + limit = { + has_realm_law = uncrowned + is_ai = yes + } + # Why are you like this, get rid of the crowned variables + if = { + limit = { + has_variable = crowned_king_var + } + remove_variable = crowned_king_var + } + else_if = { + limit = { + has_variable = crowned_emperor_var + } + remove_variable = crowned_emperor_var + } + #Try removing them from their army to make them available + if = { + limit = { + is_in_army = yes + martial <= medium_skill_rating + location ?= { + any_army_in_location = { + is_army_in_combat = no + } + } + NOR = { + any_war_enemy = { + is_ai = no + } + any_war_ally = { + is_ai = no + } + } + } + location = { + random_army_in_location = { + limit = { + army_commander = root + } + remove_commander = yes + } + } + } + #Do you need an artifact? + if = { + limit = { + can_host_activity = activity_coronation + coronation_has_proper_artifact_trigger = no + } + random = { + chance = coronation_artifact_ai_instant_creation_chance + coronation_create_artifact_yearly_effect = yes + } + } + + #If you need to be anointed... + #First step is being un-excommunicated + if = { + limit = { + highest_held_title_tier >= tier_empire + has_trait = excommunicated + faith = { + has_doctrine = doctrine_spiritual_head + has_doctrine = doctrine_imperial_anointment + } + custom_tooltip = { + text = anointment_request_already_supported + NOT = { + is_target_in_variable_list = { + name = supported_anointments + target = scope:actor + } + } + } + is_character_interaction_valid = { + recipient = faith.religious_head + interaction = declaration_of_repentance_interaction + } + } + run_interaction = { + interaction = declaration_of_repentance_interaction + actor = this + recipient = faith.religious_head + execute_threshold = maybe + } + } + #Next step is getting approval + else_if = { + limit = { + exists = faith.religious_head + is_character_interaction_valid = { + recipient = faith.religious_head + interaction = coronation_anointment_request + } + faith = { + has_doctrine = doctrine_spiritual_head + has_doctrine = doctrine_imperial_anointment + } + } + run_interaction = { + interaction = coronation_anointment_request + actor = this + recipient = faith.religious_head + execute_threshold = maybe + } + } + #Next step is hosting the dang coronation + else = { + ai_attempt_to_host_activity = activity_coronation + debug_log = "AI attempted to host a coronation" + debug_log_scopes = yes + } + } + } + events = { + court_maintenance.0012 # Dynasty banner improves with renown + court_maintenance.0013 # Remove duplicate dynasty banners + } + on_actions = { + ai_character_pulse + delay = { days = 75 } + + pagan_conversion_pulse + } +} + +# Called from code once every three years for "playable" (count+) characters. +# Root is the character +three_year_playable_pulse = { + events = { + adultery.0001 #Suspected spouse/soulmate of cheating (increased chance when there is a lover, but can also trigger otherwise) + } + random_events = { + 800 = 0 + 200 = global_culture.3011 + 600 = global_culture.3012 + } + effect = { + if = { # Nomadic herd starves if you're landless + limit = { + is_landed = no + government_has_flag = government_is_nomadic + exists = domicile + is_migrating = no + is_at_war = no + } + if = { + limit = { + domicile.herd > 500 + } + change_current_weight = -25 + every_courtier = { + change_current_weight = -25 + } + send_interface_toast = { + type = event_toast_effect_bad + title = herd_starvation_title + left_icon = root + custom_tooltip = herd_starvation_custom_tooltip + domicile ?= { + change_herd = { + value = root.domicile.herd + divide = 3 + min = 500 + if = { + limit = { + root = { is_ai = yes } + } + min = 1000 + } + multiply = -1 + } + } + } + } + clean_up_ai_nomad_effect = yes + } + if = { # Various nomadic safeguards + limit = { + is_landed = yes + NOR = { + government_has_flag = government_is_nomadic + government_has_flag = government_is_herder + } + } + + save_scope_as = scoped_ruler + + ###################### + # Nomadic titles that end up with non-nomadic holders are destroyed + ###################### + if = { + limit = { + any_held_title = { + is_nomad_title = yes + } + } + every_held_title = { + limit = { + is_nomad_title = yes + } + scope:scoped_ruler = { + destroy_title = prev + } + } + } + + ###################### + # Anyone who *only* holds Nomadic lands should become Nomadic + ###################### + + if = { + limit = { + highest_held_title_tier >= tier_county + capital_province = { + OR = { + has_holding_type = nomad_holding + has_holding_type = herder_holding + } + } + NOT = { + any_held_title = { + tier = tier_county + is_landless_type_title = no + title_province = { + NOR = { + has_holding_type = nomad_holding + has_holding_type = herder_holding + } + } + } + } + } + every_held_title = { + limit = { + tier = tier_county + title_province = { + has_holding_type = herder_holding + } + } + title_province = { + set_holding_type = nomad_holding + } + } + change_government = nomad_government + + # We don't want overly-funky nomad camps to spring up, so set an appropriate culture/faith + if = { + limit = { + domicile.domicile_culture != capital_county.culture + } + domicile = { + set_domicile_culture = scope:scoped_ruler.capital_county.culture + } + } + if = { + limit = { + domicile.domicile_faith != capital_county.faith + } + domicile = { + set_domicile_faith = scope:scoped_ruler.capital_county.faith + } + } + } + } + else_if = { + limit = { + government_has_flag = government_is_nomadic + is_ruler = yes + } + + save_scope_as = scoped_ruler + + ###################### + # If you end up losing your Nomadic Capital, get a new one + ###################### + + if = { + limit = { + NOT = { + any_held_title = { + is_nomad_title = yes + } + } + } + create_nomad_title = { + name = nomad_title_name + holder = scope:scoped_ruler + government = nomad_government + save_scope_as = new_nomad_title + } + domicile ?= { + add_domicile_building = yurt_main_02 + add_domicile_building = yurt_main_03 + add_random_yurt_external_building_effect = yes + add_random_yurt_external_building_effect = yes + upgrade_random_yurt_external_building_effect = yes + upgrade_random_yurt_external_building_effect = yes + } + } + + ###################### + # If your nomadic capital domicile somehow gets lost, move it to your capital province + ###################### + + if = { + limit = { + is_at_war = no + exists = domicile + domicile.domicile_location != capital_province + } + domicile = { move_domicile = scope:scoped_ruler.capital_province } + } + } + if = { # Inspirations for courtiers of Advancement Movement rulers + limit = { + has_dlc_feature = all_under_heaven + top_participant_group:dynastic_cycle ?= { + participant_group_type = advancement_movement + } + any_courtier_or_guest = { + is_physically_able_adult = yes + ep1_is_valid_character_for_inspiration_trigger = yes + save_temporary_scope_as = inspired_courtier + } + } + grant_inspiration_to_character_no_court_artifacts_effect = { + CHARACTER = scope:inspired_courtier + } + send_interface_toast = { + type = msg_court_inspiration + left_icon = scope:inspired_courtier + title = courtier_inspired_message + desc = courtier_inspired_effect + } + } + } +} + +# Called from code once every five years for "playable" (count+) characters. +# Root is the character +five_year_playable_pulse = { + effect = { + ai_chance_to_become_conqueror_effect = yes + # Special Holy Seeds drops + if = { + limit = { + has_dlc_feature = legends + piety_level >= very_high_piety_level + NOT = { has_variable = saintly_deed_var } + NOR = { + has_game_rule = historical_legends_only + has_personal_legend_seed = holy + } + } + random = { + chance = 10 + send_interface_toast = { + title = holy_seed_toast_traits + left_icon = root + set_variable = saintly_deed_var + create_legend_seed = { + type = holy + quality = famed + chronicle = saintly_life + properties = { + religion = root.religion + } + } + } + } + } + chance_for_random_nickname_effect = yes + ai_chance_to_switch_to_travel_focus_effect = yes + if = { + limit = { + has_royal_court = yes + has_dlc_feature = royal_court + } + every_courtier = { + limit = { + is_available_ai = yes + age > 6 + NOT = { + knows_court_language_of = host + } + } + random = { + chance = { + value = -4 + add = learning + if = { + limit = { + is_adult = no + } + add = 4 + } + if = { + limit = { + host = { + employs_court_position = court_tutor_court_position + } + } + add = 2 + } + if = { + limit = { + host = { + employs_court_position = court_guru_court_position + } + } + add = 2 + } + if = { + limit = { + host = { + has_court_type = court_diplomatic + } + } + add = 2 + } + if = { + limit = { + host = { + has_court_type = court_scholarly + } + } + add = 4 + } + } + learn_court_language_of = host + } + } + if = { + limit = { + employs_court_position = court_poet_court_position + } + every_court_position_holder = { + type = court_poet_court_position + limit = { + is_physically_able_adult = yes + ep1_is_valid_character_for_inspiration_trigger = yes + } + random = { + chance = { + value = 5 + add = { + value = this.aptitude:court_poet_court_position + multiply = 5 + if = { + limit = { + has_trait = lazy + } + multiply = 0.5 + } + } + } + grant_inspiration_to_character_effect = { CHARACTER = this } + save_scope_as = inspired_poet + root = { + send_interface_toast = { + type = msg_court_inspiration + left_icon = scope:inspired_poet + title = poet_inspired_message + desc = poet_inspired_effect + } + } + } + } + } + if = { + limit = { + employs_court_position = court_artificer_court_position + } + every_court_position_holder = { + type = court_artificer_court_position + limit = { + is_physically_able_adult = yes + ep1_is_valid_character_for_inspiration_trigger = yes + NOT = { has_character_flag = regular_inspiration_block } + } + random = { + chance = { + value = 5 + add = { + value = this.aptitude:court_artificer_court_position + multiply = 5 + if = { + limit = { + has_trait = lazy + } + multiply = 0.5 + } + } + } + grant_inspiration_to_character_effect = { CHARACTER = this } + save_scope_as = artificer + root = { + send_interface_toast = { + type = msg_court_inspiration + left_icon = scope:artificer + title = poet_inspired_message + desc = court_artificer_inspired_effect + } + } + } + } + } + } + if = { + limit = { + cp:councillor_court_chaplain ?= { + is_theocratic_lessee = yes + NOT = { + knows_language_of_culture = root.culture + } + } + } + cp:councillor_court_chaplain = { + random_list = { + 10 = { + modifier = { + add = learning + } + learn_language_of_culture = root.culture + } + 5 = { + trigger = { + can_start_scheme = { type = learn_language target_character = root } + } + start_scheme = { + type = learn_language + target_character = root + } + } + } + } + } + + } + events = { + courtier_guest_management.3001 # Courtiers and guests getting relationships & secrets + game_rule.1 # De Jure Requirement Game Rule + game_rule.4 # Empire Obscurity Game Rule + culture_tradition_events.3000 # Bear Sightings + } + on_actions = { + delay = { days = { 45 75 } } + culture_hybridization_emergence_events + delay = { days = { 45 75 } } + culture_divergence_emergence_events + } +} + +# Called from code once a quarter for "playable" (count+) characters. +# Root is the character +# scope:quarter is which quarter it's for, from 1 to 4. Note that scope:quarter = 1 isn't necessarily in Q1 by calendar time +quarterly_playable_pulse = { + on_actions = { + realm_maintenance_quarterly_pulse + + # Event pools + stewardship_lifestyle_progress_pulse + intrigue_lifestyle_progress_pulse + diplomacy_lifestyle_progress_pulse + martial_lifestyle_progress_pulse + learning_lifestyle_progress_pulse + wanderer_lifestyle_progress_pulse + + # Relation pulses are spread out across the four quarterly pulses a year + lover_quarterly_pulse + friendship_quarterly_pulse + rival_quarterly_pulse + mentor_student_quarterly_pulse + + # EP1 maintenance pulses + inspiration_maintenance_quarterly_pulse + + # MPO + mpo_tributary_check_pulse + } + random_on_action = { + chance_to_happen = 75 + chance_of_no_event = { # Fewer events for the AI + value = 0 + if = { + limit = { + is_ai = yes + } + add = 95 + } + } + 100 = ep3_yearly_events_laamps + } +} + +# Called from code once a year for all "playable" characters, at a random point that year (individually for each character). Different time from the random_yearly_everyone_pulse (coincides by random 1 time out of 365) +# Root is the character +random_yearly_playable_pulse = { + trigger = { + basic_is_valid_for_yearly_events_trigger = yes + } + random_on_action = { + chance_of_no_event = { + value = 0 + if = { + limit = { + is_ai = yes + highest_held_title_tier >= tier_kingdom + } + add = 30 # No need to waste performance here + } + else_if = { + limit = { + is_ai = yes + highest_held_title_tier >= tier_duchy + } + add = 70 # No need to waste performance here + } + else_if = { + limit = { + is_ai = yes + } + add = 95 # AI counts aren't particularly important + } + } + 6 = on_yearly_events + 5 = fp1_yearly_events + 4 = fp2_yearly_events + 4 = fp3_yearly_events + 2 = bp1_yearly_events + 6 = ep3_yearly_events_byzantium + 6 = ep3_yearly_events_admin + 6 = tgp_japan_yearly_events + 6 = tgp_china_yearly_events + 6 = tgp_mandala_yearly_events + 6 = ongoing_house_feud_events + 10 = mpo_yearly_events_nomads + } + effect = { + # Special Holy Seeds drops + if = { + limit = { + has_dlc_feature = legends + OR = { + has_trait = theologian + has_trait = sayyid + } + NOR = { + has_game_rule = historical_legends_only + has_personal_legend_seed = holy + } + } + random = { + chance = 15 + send_interface_toast = { + type = msg_legend_seed_created + title = holy_seed_toast_traits + left_icon = root + create_legend_seed = { + type = holy + quality = famed + chronicle = saintly_life + properties = { + religion = root.religion + } + } + } + } + } + # Commander Trait Leveling for AI + if = { + limit = { + is_ai = yes + OR = { + has_commander_trait_trigger = yes + any_knight = { + has_commander_trait_trigger = yes + } + } + } + commander_trait_lvling_ai_effect = yes + every_knight = { + limit = { + is_ai = yes + has_commander_trait_trigger = yes + } + commander_trait_lvling_ai_effect = yes + } + } + if = { + limit = { has_tgp_dlc_trigger = yes } + develop_celestial_tributaries = yes + } + # Fallback for AI budgeting (primarily handled in `tgp_china_ministry.0100`) + if = { + limit = { + is_ai = yes + is_independent_ruler = yes + has_treasury = yes + OR = { + # In big treasury debt + treasury <= -200 + # We're due a budget + treasury_years_since_budget_enact_date > 3 + # We have a lot of new budget capacity + character_treasury_new_budget_capacity > { + value = character_treasury_budget_capacity + multiply = 2.0 + } + } + can_afford_enact_treasury_budget_costs = yes + } + enact_treasury_budgets = yes + } + } + on_actions = { + delay = { days = { 45 75 } } + on_yearly_common_events + delay = { days = { 50 80 } } + on_yearly_invisible_events + delay = { days = { 85 165 } } + bishop_ongoing + delay = { days = { 166 185 } } + wet_nurse_pulse + delay = { days = { 51 180 } } + childhood_ongoing + delay = { days = { 51 180 } } + hunt_sighting_on_action + delay = { days = { 181 240 } } + bp2_child_pulse + delay = { days = { 181 240 } } + bp2_parent_guardian_hostage_taker_pulse + delay = { days = { 241 290 } } + bp2_adult_followups + delay = { days = { 291 310 } } + court_scholar_ongoing + delay = { days = { 25 44 } } + clan_events_on_action + ep3_akolouthos_on_action + delay = { days = { 25 44 } } + mpo_migration_contract + delay = { days = { 1 180 } } + mpo_migration_contract + delay = { days = { 181 360 } } + mpo_de_jure_shift + delay = { days = { 1 30 } } + # on_yearly_tutorial_events # TODO[Ruler Objectives]: Make generally available once ready for it + } +} + +# Called from code once a year for all characters, at a random point that year (individually for each character) +# Root is the character +random_yearly_everyone_pulse = { + on_actions = { + yearly_health_pulse + stress_pulse + prison_maintenance_pulse + house_feud_ai_scheme_pulse + } + random_on_action = { + chance_of_no_event = { + value = 95 + } + 1 = assign_trait_events + } + events = { + holy_order.0206 #To increment the years passed since loan + marriage_interaction.0007 #One of the betrothed became part of clergy that doesn't allow marriage + tgp_silk_road_events.0100 #Culture adopts controlled Silk Road market innovation + } + random_events = { + 500 = 0 + 100 = holy_order.0202 #Holy order demands payment + } +} + +# Called from code once every five years for all characters. +# Root is the character +five_year_everyone_pulse = { + effect = { + # Herders may become Seasoned Pastoralists + root = { + if = { + limit = { + government_has_flag = government_is_herder + NOT = { has_trait = lifestyle_seasoned_pastor } + age >= 30 + } + random = { + chance = 20 + add_trait = lifestyle_seasoned_pastor + } + } + + if = { # Non-lowborn Barons should marry and produce a family + limit = { + primary_title.tier ?= tier_barony + is_adult = yes + is_married = no + is_lowborn = no + NOT = { + government_has_flag = government_is_republic + } + can_marry_trigger = yes + } + if = { + limit = { + exists = location + any_pool_character = { + province = root.location + can_have_children_with = { CHARACTER = root } + is_physically_able_adult = yes + age <= 40 + is_married = no + can_marry_trigger = yes + is_concubine = no + is_claimant = no + } + } + random_pool_character = { + province = root.location + limit = { + can_have_children_with = { CHARACTER = root } + is_physically_able_adult = yes + age <= 40 + is_married = no + can_marry_trigger = yes + is_concubine = no + is_claimant = no + } + save_temporary_scope_as = spouse + } + } + else = { + create_character = { + location = root.location + template = mediocre_spouse + save_temporary_scope_as = spouse + } + } + + if = { + limit = { + is_female = yes + scope:spouse = { + is_lowborn = yes + } + } + marry_matrilineal = scope:spouse + } + else = { + marry = scope:spouse + } + } + + } + + + if = { # Long term gold is pointless for Barons - add it to short term instead + limit = { + is_ai = yes + highest_held_title_tier = tier_barony + gold > 0 + long_term_gold > 0 + } + move_budget_gold = { gold = long_term_gold from = budget_long_term to = budget_short_term } + } + + # FP2 - Checks to start El Cid's Travels + if = { + limit = { # Am I El Cid? + has_fp2_dlc_trigger = yes + has_ep3_dlc_trigger = no + this = character:107590 + NOT = { has_character_flag = has_already_begun_travelling } # Separate first check, for performance + + NOT = { # Start date employer is either dead or gone + OR = { + top_liege = character:107500 + liege = character:107500 + employer = character:107500 + } + } + is_available_healthy_ai_adult = yes # Am I ready to go on an adventure? + } + trigger_event = fp2_struggle.2045 + } + #young nobodies getting castrated + if = { + limit = { + ep3_ai_castration_target_trigger = yes + } + trigger_event = ep3_yearly.3000 + } + } + on_actions = { + disease_outbreak_pulse # moved from health_on_actions.txt + } + events = { + murder_scheme_maintenance.1 # Murder schemes for the AI, including unlanded characters + } +} + +# Called from code once every 3 years for pool characters +# root = the character +three_year_pool_pulse = { + trigger = { + is_pool_character = yes # Can cease to be in the pool between it queuing and executing + } + events = { + courtier_guest_management.2001 #"Develops" the character and gives those without location a location + } + random_events = { + chance_to_happen = 25 + chance_of_no_event = { # throttle wanderer Adventurers because they're simply less interesting + if = { + limit = { + has_global_variable_list = laamps_tally + global_variable_list_size = { + name = laamps_tally + value > seventyfive_percent_of_max_desired_laamps_value + } + } + value = 100 + } + } + 100 = courtier_guest_management.4001 # Wanderer becomes an adventurer + } +} + +#Only triggered if you actually have prisoners +prison_maintenance_pulse = { + trigger = { + any_prisoner = { } + } + on_actions = { + #Set up quarterly pulses + delay = { days = 45 } + quarterly_prison_maintenance_pulse + delay = { days = 135 } + quarterly_prison_maintenance_pulse + delay = { days = 225 } + quarterly_prison_maintenance_pulse + delay = { days = 315 } + quarterly_prison_maintenance_pulse + } +} + + +#Pulse for various AI stuff +ai_character_pulse = { + trigger = { + is_ai = yes + } + random_events = { + chance_to_happen = 25 + 500 = 0 + 100 = learn_commander_trait.0001 + 100 = holy_order.0100 #Give pilgrim trait to holy order members + } +} + +culture_hybridization_emergence_events = { + random_events = { + 95 = 0 + 5 = culture_emergence_events.0001 # Create a hybrid culture with your capital culture + } +} + +culture_divergence_emergence_events = { + random_events = { + 199 = 0 + 1 = culture_emergence_events.0002 # Create a divergent culture + } +} + +on_yearly_common_events = { + random_events = { + chance_to_happen = 50 + 1000 = 0 + 300 = lover.0003 #Too many lovers - break up with one? + 90 = language_events.0001 #Too many known languages - forget one? + 10 = language_events.0010 #Owl version of Too many known languages - forget one? + 200 = parent.0001 #parent_meddling_value_effect decreases over time + 200 = childhood.2010 # Convince ward they owe you + 50 = relation_upgrade.3000 # Vengeful character gains a rival, also for Cultural Tradition more rivals + #Adultery events + 50 = adultery.2001 #Is the father suspicious of child or not? + 10 = adultery.3001 #Mother tells child the secret about them + 10 = culture_tradition_events.2000 # Vassal Gain Loyal Trait + 10 = culture_tradition_events.2001 # Vassal Gain Disloyal Trait + 100 = culture_tradition_events.2100 # Storytelling cultural tradition + } +} + +# Accolades yearly events +three_year_playable_pulse = { + events = { + ep2_accolade_events.0100 #Huntsmaster gives you or heir Hunter trait event + ep2_accolade_events.0200 #Blademaster gives you or heir Blademaster trait event + ep2_accolade_events.0300 #Master of Revels gives you or heir Reveler trait event + ach_maintenance_events.0002 # ACH Oath synergy culture rewards + } +} + +on_yearly_invisible_events = { + random_events = { + chance_to_happen = 5 + 150 = 0 + 100 = secrets.1004 #Courtier learns another courtier's minor secret + 50 = secrets.1005 #A Courtier learns another courtier's major secret + } +} + +on_yearly_events = { + random_events = { + chance_to_happen = 25 + 200 = 0 + + 50 = yearly.0001 #Skill Tutoring + 100 = yearly.0002 #Indiscreet Councillor + 10 = yearly.0003 #Forbidden Love + 25 = yearly.0011 #Comet Sighted! + + 75 = yearly.1001 #Someone else's spouse makes a move at you + 50 = yearly.1010 #Person you care about is abducted by rival + 15 = yearly.1020 #High-up ruler wants you to deal with pesky enemy + 100 = yearly.1030 #Someone you have hooked offers up other character's secret + 50 = yearly.1040 #Courtier is hiding a letter - surprise or secret? + 100 = yearly.1050 #Heir fancies themselves a duelist + 100 = yearly.1060 #The oldest joke in the book + 100 = yearly.1070 #Someone is your potential soulmate + 100 = yearly.1080 #You are being paranoid + 100 = yearly.1090 #Foreign guests + + 80 = yearly.3001 #Dedication to Loyalty + 100 = yearly.3011 #An Impression Twice Made + 100 = yearly.3021 #On Their Deathbed + 100 = yearly.3031 #Getting Ahead + 50 = yearly.3040 #A Good FaithPracticioner + 100 = yearly.3041 #Chafing Under Secular Laws + 100 = yearly.3051 #By Right + 50 = yearly.3061 #Cagots + 5 = yearly.3071 #A terrible nightmare + 5 = party_baron.0001 # Start the Party Baron story cycle + + 100 = yearly.4001 #A powerful vassal has angered neighboring ruler + 100 = yearly.4011 #Heir is spending a lot of time with one of your powerful vassals + 10 = yearly.4021 #Mamaaaa, just killed a child + 10 = yearly.4031 #Who keeps leaving dead bodies all around the castle?! + 20 = yearly.4051 #Get a gift from a neighboring ruler (triggered here so you can't know for sure if someone has a scheme towards you) + + 100 = yearly.5001 #Catching Lover and Spouse fighting. + 100 = yearly.5010 #Vassal shows compassion to stressed/sick ruler, incurs in the jealousy of another vassal + 100 = yearly.5020 #Councilor offers to teach heir + 100 = yearly.5030 #Powerful Vassal offers to reveal secret of other Powerful Vassal to liege. + 100 = yearly.5040 #Two unimportant courtiers caught talking about powerful vassal. + 100 = yearly.5050 #Spouse feels slighted by courtier. + + 10 = stress_trait_coping_decisions.2002 #Your stuff got stolen by a person in a brothel! + + 100 = yearly.7001 #Faction attempts a coup or kidnapping + + 10 = yearly.7010 #Opportunity to participate in a football game + + 10 = yearly.7050 #Foggy Hill + + 200 = major_decisions.2011 #Gain a scholar character if you have a University in your sub-realm + + #'Nice' events (positive effects) + 100 = yearly.8000 # Vassal offers liege a gift + 100 = yearly.8100 # The peasantry of a Domain province gives you a gift + 100 = yearly.8200 # Your realm priest offers you part of a large donation + 100 = yearly.8300 # A group of vassals collectively wish to contribute to your war effort + 20 = yearly.8400 # Discover a guest's Deviant secret (Strong Hook), and get the potential to send them to a rival's court + 300 = yearly.8500 # Your Head of Faith sends you a gift if you're fighting heathens + + #Ai value events + 100 = trait_specific_ongoing.2010 # Positive zeal: which god/saint is talking to me? + 100 = witch.4001 # Negative zeal: annoying clergy + + # Stress Events + 100 = stress_trait_ongoing.0501 # A relaxing evening with some hashish cakes. + 100 = stress_trait_ongoing.0506 # Self-medicating pain away with hashish. + 100 = stress_trait_ongoing.0511 # An elderly person laments the follies of hashish-consuming youth. + 100 = stress_trait_ongoing.0516 # You zone out whilst eating hashish in an important meeting. + 100 = stress_trait_ongoing.1501 # Rake fantasizes about courtier. + 100 = stress_trait_ongoing.4501 # Comfort Eater runs out of favorite food. + 100 = stress_trait_ongoing.4502 # Cannibal needs to satisfy their craving! + 100 = stress_trait_ongoing.5001 # Inappetetic has a important character prepare a feast for them. + + #Elephant events for India + 300 = yearly.9020 # A Mighty Elephant + + # Tribal events + 100 = tribal.1101 #Holmgang with a rival + 100 = tribal.1201 #Horse Racing + 100 = tribal.1301 #Crocodile Encounter + 100 = tribal.1303 #Irrigate Oasis + + #Clan events + 150 = clan.1001 #Powerful vassal requests marriage + 150 = clan.1011 #A vassal asks for a perk + 150 = clan.1101 #Vassal Resents Nepotism + 100 = clan.1201 #Culture seeks Representation + + #Muslim-specific events (mostly about Islamic centers of learning) + 200 = yearly.4061 #A wise man visits your court + 200 = yearly.4071 #You're very educated! + 200 = yearly.4081 #Sponsor the translation of a book from Greek + 200 = yearly.4091 #Your ward and you visit scholars + + # Saharan regional flavour events. + ## Marginally bumped some weightings for regional effect. + 500 = yearly_saharan.0001 # An organised faith's merchants try to convert a pagan county in your domain. + 500 = yearly_saharan.0021 # Desert nomads wish to move to one of your non-nomadic Saharan counties. + 300 = yearly_saharan.0031 # Local slave raids intensify (aggressor). + 300 = yearly_saharan.0032 # Local slave raids intensify (defender). + + # Persion regional flavor events + 400 = yearly_persian.1001 # Nowruz, or Persian New Year + 400 = yearly_persian.1101 # Shu'ubiyya, or Persian Nationalism (From the foreign side) + + # Varangian Guard + 400 = varangian.0001 # A Courtier wants to join the Varangian Guard + + #Pet story cycles + 20 = pet_animal.5001 # Rival has cat... + 20 = pet_animal.5002 # Rival has dog... + + #Holy Order + 100 = holy_order.2001 # Child wishes to join Holy Order + 100 = holy_order.2002 # Sibling wants to join a Holy Order + 200 = holy_order.2003 # Holy Order suggests you send them a child + 1000 = holy_order.2004 # Child returns to pick up the mantle + 100 = holy_order.2005 # A - Possibly Undesirable - Child Returns Home + 1000 = fp1_jomsvikings.0011 # FP1 - Jomsvikings terrorise their neighbours + + #Relationship Upgrade Events + 75 = relation_upgrade.0001 + 75 = relation_upgrade.1001 + 75 = relation_upgrade.2001 + 75 = relation_upgrade.2101 + + #lunatic + 100 = trait_specific_ongoing.1001 # You're developing 'glass delusion' + 100 = trait_specific_ongoing.1003 # Collecting animals + 100 = trait_specific_ongoing.1005 # Talk to dead people + 100 = trait_specific_ongoing.1007 # A lunatic dreams of glass (enables the lunatic_building_decision decision) + 50 = trait_specific_ongoing.1008 # You kill a friend :( + 100 = trait_specific_ongoing.1009 # Grandiose delusions + 100 = trait_specific_ongoing.1010 # You love your warhorse + 100 = trait_specific_ongoing.1011 # Force your court to be naked + 20 = trait_specific_ongoing.1012 # Ravings + 100 = trait_specific_ongoing.1015 # Paranoid delusions + #possessed + 100 = trait_specific_ongoing.2001 # Witchy or divine visions? + 100 = trait_specific_ongoing.2009 # Which god/saint is talking to me? + 100 = trait_specific_ongoing.2015 # Court physician wants to treat you + 100 = trait_specific_ongoing.2025 # Seizure surrounded by people + #depressed + 100 = trait_specific_ongoing.3001 # You bond with a fellow depressed character + 100 = trait_specific_ongoing.3002 # Your court physician tries to treat you + 100 = trait_specific_ongoing.3009 # You're exhausted + 100 = trait_specific_ongoing.3015 # Someone calls you lazy + #cannibal + 100 = trait_specific_ongoing.5001 # Private conversation with a vassal or courtier + 100 = trait_specific_ongoing.5003 # Eat someone from the staff + 100 = trait_specific_ongoing.5004 # Eat an old lady + 100 = trait_specific_ongoing.5005 # Eat a courtier + #deviant + 100 = trait_specific_ongoing.6001 # Convert a lover to the freaky side of things + 100 = trait_specific_ongoing.6002 # You walk in on your deviant liege + #drunkard + #100 = trait_specific_ongoing.7001 + #incestuous + #100 = trait_specific_ongoing.8001 + #Witch + 100 = witch.4000 #Annoying clergy + 100 = witch.4010 #Personal witch ritual + 100 = witch.4020 #Pray with potential friends + 25 = witch.4030 #Rare book + + # Friend Events + 10 = friendship.0003 #Friend might become Lover + 100 = friendship.1001 #Send Friend a gift + 500 = friendship.1006 # Receive wartime support from Friend + 100 = friendship.1008 #Send a good courtier to your Friend + 100 = friendship.2001 #Confess a secret to your Friend + 30 = friendship.2004 #Confess a Major secret to your Friend + 100 = friendship.2007 #Try to improve a character's impression of your Friend + 25 = friendship.3001 #Get along with your spouse's friend + 25 = friendship.3003 #You hate your spouse's friend + 100 = friendship.3006 #A Friend gets you a favor hook on one of your Councillors + 300 = friendship.3007 # Hanging out with your Friend reduces Stress + + # Rival Events + 200 = rivalry.2001 #Hinder the progress of rival's Befriend scheme + 100 = rivalry.1001 #Rival adds stress + 100 = rivalry.1010 #Spiteful Acts ( my rival's aggravating behavior has gone on long enough) + 100 = rivalry.1030 #Meddling in Marriage + 100 = rivalry.3001 #Rival insults you + 100 = rivalry.3002 #You like the Rival of a Friend less + 100 = rivalry.3004 #Decrease opinion of rival because of opposing personality trait + + # Vassal Events + 100 = vassal.1001 # Religious liege wants you to build temple + 100 = vassal.1101 # Religious vassal wants you to build temple + 100 = vassal.2001 # Vassal wants liege to educate their child + 100 = vassal.2101 # No feast in a while, vassal requests it + 200 = vassal.2201 # You lend money from a vassal + 400 = vassal.2205 # Vassal reminds you of the money you owe them + 100 = vassal.2301 # Highly skilled vassal progresses development in province + 100 = vassal.2401 # Vassal wants gold, offers territory/better Vassal Contract + 100 = vassal.2451 # Vassal wants better contract, offers territory/gold + 100 = vassal.2501 # Peaceful vassal complains about ongoing war + 100 = vassal.2601 # Warmongering vassal complains about peace + 100 = vassal.2701 # Ask vassal to teach you CT + 100 = vassal.2801 # Liege complains abut no province improvement + 100 = vassal.2901 # Vassal requesting land they have claim on + 100 = vassal.3001 # You have no heir, ask a vassal for help + 100 = vassal.5010 # Zealous vassal wants liege to fight religious enemies + 100 = vassal.5050 # Vassal wants liege to fight war over his claim + + # Spouse Events + 75 = spouse.0001 #Increase opinion of spouse because of common personality + 75 = spouse.0003 #Increase opinion of spouse because of common lifestyle or education + 75 = spouse.0005 #Decrease opinion of spouse because of opposite personality + 75 = spouse.0007 #Increase opinion of spouse because of common friend + 75 = spouse.1001 #Increase opinion of an ambivalent spouse + 75 = spouse.1003 #Decrease opinion of an ambivalent spouse + 75 = spouse.2001 #Lose stress thanks to a loving spouse + 75 = spouse.2002 #An opportunity to speak highly of your spouse! + 75 = spouse.2012 #Share a secret with spouse + 75 = spouse.2014 #You suspect a plot against your spouse + 75 = spouse.3001 #Spouse adds stress + 75 = spouse.3002 #Spread rumours about your spouse + 75 = spouse.3012 #Pretend there is a plot against your spouse + 100 = intrigue_scheme_ongoing.5021 #Spouse/parent is plotting against someone! + + # Parent Events + 75 = parent.1001 #Parent aids with Martial + 75 = parent.1002 #Parent aids with Diplomacy + 75 = parent.1003 #Parent aids with Intrigue + 75 = parent.1004 #Parent aids with Stewardship + 75 = parent.1005 #Parent aids with Learning + 50 = parent.1006 #Parent helps administrate one of your counties + 75 = parent.1007 #Parent helps with courtier opinion + 50 = parent.1009 #Parent gives you a new courtier + 75 = parent.1010 #Parent gives stress_loss + + # Secret Events + 100 = secrets.1001 #Randomly learn a courtier's secrets + 100 = secrets.1002 #Courtier randomly learns one of court owner's minor secrets + 50 = secrets.1003 #Courtier randomly learns one of court owner's major secrets + 300 = secrets.1011 #A Friend discovers your secret lover + 100 = secrets.1100 #Discover a sibling's Bastard secret + 200 = secrets.2001 #A Just or Compassionate relation does not like your murder secret + 150 = secrets.3001 #A close relation disrupts a Scheme against you + #Blackmail events + 100 = blackmail.1001 #Blackmailing a vassal causes Dread with the others + 100 = blackmail.1002 #Gain Stress from being under Blackmail + + # Lover Events + 50 = lover.1001 #A Lover shares someone's secret with you + 50 = lover.1002 #A Lover aids a diplomatic scheme + 100 = lover.3203 #Go to your spouse or your lover + 100 = lover.3206 #You're forced to wage war against your lover + 50 = lover.1003 #Lover helps you lose stress + 50 = lover.1004 #Travel somewhere with your lover + 200 = lover.1006 #Liege lover granting council position + 200 = lover.1007 #Liege lover granting better contract + 200 = lover.1008 #Liege lover granting county modifier + 100 = lover.2001 #Having a secret lover causes stress + 100 = lover.2002 #High stress damages your relationship to your Lover + 100 = lover.2004 #Question exclusive partner about spouse + 20 = lover.3002 #Start Love Letter chain + 50 = lover.0300 #Ask lover to be exclusive + 50 = lover.3201 #Leave lover_object_of_importance for lover to find + 100 = lover.3204 #Your lover is far far away + 100 = lover.3207 #Write letter to beloved! + 100 = lover.3211 # Send lover a painting + 100 = lover.3215 #Send a troubadour to lover's court + 100 = lover.3219 # Send a personal object to lover + 100 = lover.7001 #Chance that a good friend becomes a potential lover + 100 = lover.7003 #Chance that a rival becomes a potential lover + 50 = lover.7005 #Chance that a close family member becomes a potential lover + + #TGP Elder/Disciple events + 100 = chinese_students.001 #Rivalry between two students + 100 = chinese_students.010 #Disciple writes a scroll + 100 = chinese_students.020 #Disciple performs divination + 100 = chinese_students.030 #Disciple displays talent or requests improvement + + #FP1 Events (These ones do not explicitly need you to be norse, but should be more likely if you are - present in both this and fp1_yearly_events) + 200 = fp1_yearly.2100 # Two lovers duel for your love + 200 = fp1_yearly.0521 # Blood on the Snow - your child wishes to snowball fight. + 200 = fp1_yearly.0531 # [Dynasty] on Ice - your child wants to learn how to ice skate. + 200 = fp1_yearly.0591 # Raised Voices at the Thing - two of your counties are fighting at a regional thing. + 200 = fp1_yearly.0601 # The Hardest Part of Ruling - you're incredibly bored in a protracted thing session. + 200 = fp1_yearly.0651 # Leviathan - you spot a whale whilst sailing. + 200 = fp1_yearly.0661 # A Novel Challenge - a knight challenges you to skiing. + 200 = fp1_yearly.0671 # A Slippery Slope - your child wants to go sledding. + 200 = fp1_yearly.0071 # In the Deep Places of the World - locals in your Scandi capital report a troll. + 15 = fp1_yearly.2000 # A Child wants to run away to marry their beloved + + #EP1 Flavor Events + 50 = ep1_flavor.0001 # A neighbouring court has a secret child + 100 = ep1_flavor.0011 # Diplomats from nearby realms have trashed your favourite hall. + 100 = ep1_flavor.0021 # You compete with another realm that shares your court language for grandeur. + 100 = ep1_flavor.0031 # Several fresh young scholars are newly arrived at court & need guidance. + 100 = ep1_flavor.1000 # A visiting eunuch offers their services + 100 = ep1_flavor.1200 # A learned eunuch wishes to sell various tips & tricks + 25 = ep1_flavor.2000 # Invest in sports for your men-at-arms + 25 = ep1_flavor.2010 # Too many plots at court, which one is real?! + 25 = ep1_flavor.2020 # Two men-at-arms don't like each other + 25 = ep1_flavor.2030 # Rule on a dispute between two provincial characters + 100 = ep1_flavor.2041 # A trader offers an exotic weapon from a faraway land + 25 = ep1_flavor.2060 # Local merchant outed by local policeman + 25 = ep1_flavor.2070 # Interfere in a debate with a gifted visting scholar + 100 = language_events.0002 # Vassal who speak the language lauds your efforts + + #Flavor Events + 200 = yearly.9100 # Trouble in the Garden + 200 = yearly.9110 # The Flower Thief + 200 = yearly.9120 # The Seed Merchant + + #Artifact Modifiers + 50 = artifact.4000 # Cursed Rumors + 80 = artifact.4002 # A Dark Fame + 100 = artifact.4010 # A Killing Weapon of Fame + 100 = artifact.4020 # A Renowned Armor + 100 = artifact.4030 # The Crown of Our People + 80 = artifact.4040 # The Eye of the Expert + 100 = artifact.4050 # Anger Burst + 50 = artifact.4060 # The Blessed Sword of God + 100 = artifact.4070 # A Relic Desecrated + 100 = artifact.4080 # A Master Dueler's Weapon + 100 = artifact.4090 # A Relic and Weapon Combined + + #EP1 Courtly Events + 100 = court_yearly.1000 # Growing Debauchery + 100 = court_yearly.2001 # Competitive Cronying + 100 = court_yearly.6040 # Scrounger Life + 100 = court_yearly.1020 # Long Arm of the Law + 100 = court_yearly.5001 # Lonely Days + 100 = court_yearly.5010 # The Haunting + 100 = court_yearly.5020 # Pillow Talk + 100 = court_yearly.6030 # The Ballad of the Garlic King + 100 = court_yearly.7100 # Exotic Animal at Court + 100 = court_yearly.7200 # Loud and Proud + 100 = court_yearly.7030 # Foreign Merchants wish to establish a merchant quarter + 100 = court_yearly.7040 # Courtier on a pillar + 100 = court_yearly.4350 # Your caravans are attacked by rampaging Christian nobles! + 100 = court_yearly.4355 # one of our nobles attacked a trading caravan! + 100 = court_yearly.4800 # Spread Your Wings + 100 = court_yearly.0101 # Random Criminal Appears + 100 = court_yearly.0102 # Executioner feels lonely + 100 = court_yearly.0103 # Executioner selling items from prisoners + 100 = court_yearly.0104 # An Unhealthy Obsession + 100 = court_yearly.0106 # Dark Theatres for Dark Deeds + 100 = court_yearly.0110 # A Lecture on Lustfulness + 100 = court_yearly.8100 # Questionable Concoction + 100 = court_yearly.8120 # Novel Perspectives + + #Culture Events + ## Mendicant Mystics + 100 = culture_tradition_events.0101 # A mendicant mystic offers to teach your court's children for coin. + 100 = culture_tradition_events.0111 # A mendicant mystic seeks to teach you a lesson about HighGodName. + 100 = culture_tradition_events.0121 # A mendicant wishes to join your court. + 100 = culture_tradition_events.0131 # A mendicant is repulsed by your sins, and invokes the wrath of HighGodName against you. + 100 = culture_tradition_events.0141 # A mendicant of your culture, but not your faith, offers tutelage if you'll convert. + + #Trait Events + 100 = trait_specific.8501 # Someone mocks your lisp + + # FP2 - Fate of Iberia Events + 180 = fp2_yearly.2020 # Horchata colonialism event + 160 = fp2_yearly.8000 # Burning the Vineyards + 180 = fp2_yearly.8001 # Assembling the Cortes + 180 = fp2_yearly.8002 # A Dietary Dilemma + 180 = fp2_yearly.8003 # Flight of Fancy + 180 = fp2_yearly.8004 # Translation School + 180 = fp2_yearly.8005 # Under the Stone Pine + 180 = fp2_yearly.8006 # Saqaliba Settlers + 180 = fp2_struggle.1002 # Xenophilic Advancment + 160 = fp2_struggle.1050 # Dreams of Destruction + 150 = fp2_struggle.2000 # Disorderly Market + 140 = fp2_struggle.2008 # Misdeeds of the Councillor + 300 = fp2_struggle.2013 # The Secret to Freedom + 130 = fp2_struggle.2015 # Letter on the Back + 180 = fp2_yearly.2025 # Suffering from Success + 150 = fp2_yearly.4001 # You fancy a little siesta + 150 = fp2_yearly.4002 # A county is increasingly religiously intertwined + 150 = fp2_yearly.4003 # The road to Santiago is under threat from bandits + 150 = fp2_yearly.4007 # Finding a shell on the road to Santiago + 150 = fp2_yearly.4008 # Folk stories around the fireside + 300 = fp2_yearly.4009 # Visiting the Malato Tree + 150 = fp2_yearly.4010 # Finding a Verraco + 300 = fp2_yearly.3000 # Neighboring Muslims are growing rice, adopt the practice yourself? + 150 = fp2_yearly.3001 # Choosing your epitaph + 150 = fp2_yearly.3002 # And They Were Roommates + 150 = fp2_yearly.3003 # A Flavorful Evening + 180 = fp2_struggle.2003 # Band of Lost Birds + + #BP1 - Bontent Pack One Events + 100 = bp1_yearly.1000 # Best friend introduces you to a new hobby + 200 = bp1_yearly.1010 # A friend offers to mediate with your HoF who has excommunicated you + 500 = bp1_yearly.1020 # A friend visits you on your dying bed + 500 = bp1_yearly.1021 # You visit a friend on their dying bed + 500 = bp1_yearly.1030 # A rival visits you on your dying bed + 500 = bp1_yearly.1031 # You visit a rival on their dying bed + 100 = bp1_yearly.1040 # You make a new friend at the bathhouse + 50 = bp1_yearly.1050 # You make a new rival at the bathhouse + 100 = bp1_yearly.1060 # React to a superstitious friend + 150 = bp1_yearly.1061 # Make someone superstitious - hidden + 100 = bp1_yearly.1070 # Rival is superstitious - take advantage? + 100 = bp1_yearly.1080 # Married off relative writes home + 400 = bp1_yearly.1082 # Married off relative writes home to share a secret + 100 = bp1_yearly.2000 # Spoil your partner(s), learn a secret/hook followup + 400 = bp1_yearly.2010 # Two of your spouses/concubines are lovers! + 100 = bp1_yearly.2020 # A consort attempts to influence you into changing your heir + 100 = bp1_yearly.2030 # Mopey consort wants some guidance + 100 = bp1_yearly.2040 # Consort is upset with other consort + 100 = bp1_yearly.2050 # Friendly consorts wants to start a study circle + 200 = bp1_yearly.2060 # Friendly consorts want to tutor other consort's child + 100 = bp1_yearly.2070 # Childless older soulmate spouse ponders your relationship + 500 = bp1_yearly.3001 # Friend spots you some cash + 500 = bp1_yearly.3002 # You spot your friend some cash + 100 = bp1_yearly.3007 # Spouse's family member wants you to sponsor their inspiration + 100 = bp1_yearly.3100 # Your vassal/friend/family member offers you a skilled courtier + 20 = bp1_yearly.3101 # Friend offers to sell you a county you have a claim on + 100 = bp1_yearly.3201 #Fake feast invite from rival/nemesis + 100 = bp1_yearly.3300 # Remembering a pilgrimage + 200 = bp1_yearly.3301 # Remembering a pilgrimage w/ a friend + 100 = bp1_yearly.4000 # Reflect over a family memory + 100 = bp1_yearly.4010 # Spouse demands their child gets a better guardian + 100 = bp1_yearly.4020 # Friend writes poetry about a war memory + 250 = bp1_yearly.4030 # Rival nestles their way into marrying one of your vassals, turns them disloyal + 10 = bp1_yearly.4040 # Kindly grandmother won't stop feeding you snacks; suffer the consequences of overeating, or break her heart? + 50 = bp1_yearly.5301 # Your friend is concerned about your physique + 150 = bp1_yearly.5100 # Chadsplaining to a plain courtier + 150 = bp1_yearly.5701 # Your Friend's Spouse Is Keeping Them Away From You + 100 = bp1_yearly.5702 # You ask a friend for help with skill + 200 = bp1_yearly.5703 # Your lover/rival threatens you in bed + 100 = bp1_yearly.5704 # Your rival seems strangely... attractive? + 200 = bp1_yearly.5705 # Your friend tries to talk you out of a bad relationship + 100 = bp1_yearly.5706 # You sleep with your rival's offspring + 400 = bp1_yearly.5707 # Your rival catches you sleeping with their offspring + 200 = bp1_yearly.5708 #You empathise with a friend's faith + 100 = bp1_yearly.5709 #Tempers flare between you and your rival + 100 = bp1_yearly.5713 #Your lover asks for money + 100 = bp1_yearly.5715 #You and a friend argue about pronunciation + 100 = bp1_yearly.5716 #Your zealous wife burns books + 100 = bp1_yearly.5717 #Your rival and your friend get into a drunken brawl + 100 = bp1_yearly.5719 #Your disloyal vassal is trying to embezzle + 100 = bp1_yearly.5720 #You and your rival armwrestle + 200 = bp1_yearly.5722 #Your nemesis launches your pet out of a catapult + 100 = bp1_yearly.5725 #You search for Khutulun + 100 = bp1_yearly.5728 #Rival steals and burns one of your artifacts + 10 = bp1_yearly.5740 #Scrambling for Answers + 80 = bp1_yearly.5800 #You make a perfume + 125 = bp1_yearly.6000 #Attacked by Rival's Child / Family Feud + 100 = bp1_yearly.7000 #Go on a picnic + 100 = bp1_yearly.7001 #Go fishing + 10 = bp1_yearly.7002 #Throw chamberpot at rival + 25 = bp1_yearly.7003 #Orgy Tapestry + 100 = bp1_yearly.7004 #Friend offers to talk about bad memory + 100 = bp1_yearly.7010 #Loyalty test + 100 = bp1_yearly.7050 #Memory of a war + 100 = bp1_yearly.7051 #Memory of Battle + 100 = bp1_yearly.7052 #Telling a story of a memory + 100 = bp1_yearly.7053 #A memory of revenge + 100 = bp1_yearly.7054 #Forgetting a memory + 100 = bp1_yearly.7055 #Recording a memory + 100 = bp1_yearly.7056 #Intimidating someone + 150 = bp1_yearly.7057 #Yearning + 100 = bp1_yearly.7058 #Friend eats all your food + 100 = bp1_yearly.8000 #Claimant moving towards rivalry + 200 = bp1_yearly.8010 #Best friend offers you a negotiated alliance + 100 = bp1_yearly.8020 #Rival of your rival offers friendship + 100 = bp1_yearly.8040 #Friend with conflicting personality falls out with you + 25 = bp1_yearly.8100 #Sycophant/favoritism chain start + 100 = bp1_yearly.9001 #Bully/guardian destroys your favourite toy + 100 = bp1_yearly.9005 #You get revenge for your destroyed toy + 100 = bp1_yearly.9006 #Becoming friends over a common sin + 10 = bp1_yearly.9007 #You find a peasant who looks exactly like you + 50 = bp1_yearly.9016 #Uppity second-in-line wants the throne + 50 = bp1_yearly.9017 #Uppity child is insecure about culture + 200 = bp1_yearly.9018 #Illegitimate child feels excluded + 100 = bp1_yearly.9019 #Spouse proposes a gay threesome + 200 = bp1_yearly.9020 #Spouse wants to do something kinky + 100 = bp1_yearly.9021 #Rival spouse is good in the bedroom + 100 = bp1_yearly.9022 #Friend holds an intervention + 200 = bp1_yearly.9023 #You realise you don't speak the same language + 100 = bp1_yearly.9024 #A friend visits you while you're sick + 150 = bp1_yearly.9025 #You realise you hate your friend + 100 = bp1_yearly.9026 #You're haunted by an old friend who convinces you to make ammends before you die + 100 = bp1_yearly.9034 # You find a terrifying bog witch + 100 = bp1_yearly.9037 # You find a bog corpse + 100 = bp1_yearly.9040 # The ghost of your dead lover wants to have sex again + 100 = bp1_yearly.9042 # Your chaplain finds a dessert that looks like HealthGodName + 100 = bp1_yearly.9043 # Your chaplain admits to being a deviant and a cannibal who eats babies + 10 = bp1_yearly.9046 # Your child poops themselves during their baptism + 100 = bp1_yearly.9047 # Lover wants you to wear their hair + 100 = bp1_yearly.9048 # Nemesis wants to end your rivalry by wrestling + 100 = bp1_yearly.9050 # You and a friend share war stories + 20 = bp1_yearly.7100 # Excreta incident, gain Nemesis + + # Family Feud + 250 = bp1_house_feud.0001 # Consider starting feud against own rival's house + 250 = bp1_house_feud.0002 # Consider starting feud against house family member rivals + 250 = bp1_house_feud.0003 # Consider starting feud against house who killed close family + 250 = bp1_house_feud.0006 # Consider starting feud against house with competing claims + 250 = bp1_house_feud.0007 # Consider starting feud against house who imprisoned you a while + 250 = bp1_house_feud.0008 # Consider starting feud against house who imprisoned family a while + 250 = bp1_house_feud.0012 # Consider starting feud against house who cuckolded you + + # FP3 - Frontier Events + 250 = fp3_yearly.8000 # Ghazi Gone Bad + 250 = fp3_yearly.8001 # Frontier Fortress Benefactor + 250 = fp3_yearly.8002 # Faith at the Frontier + 350 = fp3_yearly.8003 # Exotic Espand + 350 = fp3_yearly.8004 # The Frontier Beckons + 350 = fp3_yearly.8009 # Caliphal Concerns + 250 = fp3_yearly.8010 # Abode of War + 250 = fp3_yearly.8014 # Secrets of the Teapot + 250 = fp3_yearly.8016 # Forgotten Stones & Hyrcanian Havoc + 500 = fp3_yearly.8018 # Heavenly Horses + 100 = fp3_yearly.8888 #A Grazing Grievance (start of the Nomads Story Cycle) + + # FP3 - Heritage Events + 250 = fp3_yearly.8019 # Refuge of Light + 250 = fp3_yearly.8020 # The Lady of the Land + 350 = fp3_yearly.8021 # An Acidic Accident + 500 = fp3_yearly.8024 # The Return to the Sky + 350 = fp3_yearly.8027 # Nine-Hundred Ninety Chapters of Gold + 250 = fp3_yearly.8033 # Frozen Delights + 550 = fp3_yearly.8034 # The Hephthalite Hoard + 250 = fp3_yearly.8035 # The Heart and the Creator + 250 = fp3_yearly.8036 # The City of the Mouthless + 500 = fp3_yearly.8037 # A Cure for Acedia (the Melancholia Chain) + 300 = fp3_scholarship.1000 # Request Indian mathematician courtiers + 200 = fp3_scholarship.8500 + 200 = fp3_scholarship.8600 + + #FP3 - Extra Yearly Events + 150 = fp3_yearly.8045 #The Mysterious Bundle (the Buzina Chain) + 500 = false_conversion.2000 # A Moment of Weakness + + # FP3 - Zoroastrian Events + 200 = fp3_yearly.8050 #The Fate of the Dead + 200 = fp3_yearly.8051 # The Purest Fire + + # Guardianship Events + 200 = childhood.2400 # Ward approaches guardian with theological doubts + + # Hunt + 50 = hunt.2000 # Dog salesman + 50 = hunt.2001 # Falcon salesman + + # Pilgrimage / Hajj + 50 = pilgrimage.0500 # Promise your dying religious relative to go on a Pilgrimage + 50 = hajj.0500 # Promise your dying Hajjaj relative to go on the Hajj + + #BP2 - Bontent Pack Two Events + 50 = pet_rock.0001 #You find a neat-looking rock + 10 = destiny_child.0001 #Destiny Child Story Cycle + + 100 = bp2_yearly_extra.0001 #My favorite councilor + + 200 = bp2_yearly.0601 # Ruling Rightly - Regent tries to teach you about state. + 100 = bp2_yearly.0611 # PrimaryTitle's Second Capital - Far away regent never seems to visit. + 200 = bp2_yearly.0621 # AuntUncle RegentFirstName - Nearby regents visits often. + 200 = bp2_yearly.0631 # Courtier-regent turns you against a rival for the regency. + 100 = bp2_yearly.0641 # Regent offers special present in exchange for your agreement on some documents. + 100 = bp2_yearly.0651 # Regent makes time for your interests, be they play or poetry. + 200 = bp2_yearly.0661 # Regent quarrels with your family about access to you. + + 100 = bp2_yearly.1000 # Parent/Guardian: Your child/ward walks in on you performing your stress trait + 100 = bp2_yearly.1005 # Child: You notice your parent/guardian performing a stress trait + 100 = bp2_yearly.1010 # Parent/Guardian: Your child gives you a hug + 100 = bp2_yearly.1015 # Parent/Guardian: Your child/ward found a pouch of gold while exploring + 100 = bp2_yearly.1020 # Parent/Guardian: Your child/ward has found a secret in court + 100 = bp2_yearly.1030 # Parent: Your child does not have the same educational orientation as you. Change? + 100 = bp2_yearly.1035 # Parent/Guardian: Your child/ward has a rock collection + 100 = bp2_yearly.1040 # Parent/Guardian: Your child/ward has a text about martial arts + 100 = bp2_yearly.1045 # Parent/Guardian: There is a brawl among some children + + 100 = bp2_yearly.2000 # You (a kid) learn about your house founder and can gain one of their traits (or the opposite) + 100 = bp2_yearly.2001 # You (a kid) learn about an ancestor and can gain one of their traits (or the opposite) + 100 = bp2_yearly.2100 # Build something with another child + # The following are upweighted for non-ai characters because we don't want the ai to start getting these traits at an inordinate rate + 10 = bp2_yearly.2110 # Gain Humble or Arrogant + 10 = bp2_yearly.2120 # Gain Temperate or Gluttonous + 10 = bp2_yearly.2130 # Gain Generous or Greedy + 10 = bp2_yearly.2140 # Gain Honest or Deceitful + 10 = bp2_yearly.2150 # Gain Loyal or Disloyal + 10 = bp2_yearly.2160 # Gain Compassionate or Sadistic + + 100 = bp2_yearly.3000 # Child bored of lesson + + 150 = bp2_yearly.5000 # You have a chance to imprison the young prince/ss + 300 = bp2_yearly.5009 # You promise? + 100 = bp2_yearly.5050 # You learn a language off a guest or courtier + 150 = bp2_yearly.5051 # Child interacts with baby sibling + 300 = bp2_yearly.5052 # Child spends time with their grandparent + 300 = bp2_yearly.5053 # Host's child gets jealous of ward + 300 = bp2_yearly.5054 # Hostage and child are becoming friends + 100 = bp2_yearly.6000 # a same-culture ward or hostage doesn't know how to behave like one of you + 100 = bp2_yearly.6010 # a ward or hostage is sad and wants their family to send monies + 100 = bp2_yearly.6020 # hostage might reveal a family secret to you + 100 = bp2_yearly.6130 # hostage and a family member are becoming friends + 100 = bp2_yearly.6140 # hostage and a family member are becoming rivals + 100 = bp2_yearly.6150 # hostage is reticent to keep taking their place next to you during court appearances + 100 = bp2_yearly.6160 # your kid and your hostage snuck out of the palace to see your capital + 150 = bp2_yearly.6170 # your family mad that you sent a hostage to an uncivilized court + + 100 = bp2_yearly.7000 # Wet nurse has a disease and can pass it down to a child + 100 = bp2_yearly.7001 # Spouse is jealous about wet nurse + 100 = bp2_yearly.7002 # Court Chaplain informs You that your marraige is incestuous, due to you having same wet nurse as your spouse + 10 = bp2_yearly.7003 # Wet Nurse informs you about first words of your child + 10 = bp2_yearly.7004 # Wet Nurse informs you about first steps of your child + 10 = bp2_yearly.7005 # Wet Nurse informs you about first fallen teeth of your child + 10 = bp2_yearly.7006 # Wet Nurse informs you about first independent dress up of your child + 500 = bp2_yearly.7029 # You, a tribal ruler after completing Rites of Passage, can enourage or not next child doing the rites + 500 = bp2_yearly.7014 # Child and Wet Nurse connect over same faith/culture + + 100 = bp2_yearly.8000 # Your hostage learns your court language! + 100 = bp2_yearly.8010 # A kid makes fun of your stupid accent + 100 = bp2_yearly.8020 # Childhood event, play with toys :D + 400 = bp2_yearly.8071 # 8070 follow-up - higher weight because it requires specific childhood event + 100 = bp2_yearly.8100 # You develop feelings for another kid, is this a crush? + 400 = bp2_yearly.8110 # Sacred childbirth, people want to pamper you + 200 = bp2_yearly.8120 # Sacred childbirth, offer to take care of your pregnant spouse + 50 = pet_rock.0001 #You find a neat-looking rock + 10 = destiny_child.0001 #Destiny Child Story Cycle + 25 = bp2_yearly.2010 # Imaginary Friend Story Cycle Start + + 100 = bp2_yearly_extra.0001 #My favorite councilor + + #FP3 - Clan Events + 250 = fp3_clan.8000 # Usury against Unity, by Ola Jentzsch + 250 = fp3_clan.8001 # Clan Quarrel, by Ola Jentzsch + 250 = fp3_clan.8002 # Bonds of Faith, by Ola Jentzsch + 250 = fp3_clan.8003 # The Power of a Name, by Ola Jentzsch + 250 = fp3_clan.8004 # Bonds of Fear, by Ola Jentzsch + 250 = fp3_clan.8005 # A Proper Position, by Ola Jentzsch + 250 = fp3_clan.8006 # Small Spies, by Ola Jentzsch + 250 = fp3_clan.8008 # Bleeding them Dry, by Ola Jentzsch + 250 = fp3_clan.8009 # Popular with the People, by Ola Jentzsch + 250 = fp3_clan.8010 # Competent Qadis / More Magistrates, by Ola Jentzsch + 250 = fp3_clan.8011 # A Proper Paymaster, by Ola Jentzsch + 250 = fp3_clan.8012 # Auspicious Avarice, by Ola Jentzsch + 240 = fp3_clan.8013 # The Burden of Tax Farming, by Ola Jentzsch + 250 = fp3_clan.8015 # Scandalous Scion, by Ola Jentzsch + 250 = fp3_clan.8016 # Hammam Havoc, by Ola Jentzsch + 250 = fp3_clan.8017 # A Questionable Position, by Ola Jentzsch + 175 = fp3_clan.3000 # Ravaged Tulips, by Hugo Cortell + + # FP3 - Eren Events + 250 = fp3_yearly.2000 # Daylight Censors + 250 = fp3_yearly.2001 # Public Intoxication + 100 = fp3_yearly.2011 # Maunds of Wheat no royal court + 250 = fp3_yearly.2020 # Set the Scale, Vassal Version + 250 = fp3_yearly.2021 # Set the Scale, Liege Version + 500 = fp3_yearly.2040 # Commander of the Faithful + + # EP3 - Byzantine Events + 500 = ep3_emperor_yearly.2010 # Courtiers grumble about you sending an imperial prince/princess to marry abroad among barbarians + 250 = ep3_emperor_yearly.2140 # Plunder imperial graves if in debt + 250 = ep3_emperor_yearly.2150 # Stylite saint: is he for real or just faking it? + 250 = ep3_emperor_yearly.2160 # Pressure from bordering nomads + 250 = ep3_emperor_yearly.2170 # Use or disband the tunnels from a low-control county? + 200 = ep3_emperor_yearly.2190 # Landowner (estate owner) has been hoarding grain + 250 = ep3_emperor_yearly.2200 # Governor can embezzle taxes + 250 = ep3_emperor_yearly.2210 # Landless vassal present a prophecy to increase succession score + 200 = ep3_emperor_yearly.2220 # Monks complain about roaming shepherds + 250 = ep3_emperor_yearly.2230 # Riots against foreign merchants + 250 = ep3_emperor_yearly.2240 # Annoying "scholar" keeps quoting the Classics out of place + 250 = ep3_emperor_yearly.2320 # HoF helps you change state faith + 250 = ep3_emperor_yearly.8000 # Shortage of people in imperial capital + 250 = ep3_emperor_yearly.8010 # Fake imperial letter of introduction + 250 = ep3_emperor_yearly.8020 # Selling purple rights + 25 = ep3_emperor_yearly.8030 # Porphyrios strikes back - rare + 150 = ep3_emperor_yearly.8040 # Embrace Iconoclasm + 250 = ep3_emperor_yearly.8050 # Northern raider ransom + 250 = ep3_emperor_yearly.8060 # Border governor defects + + # EP3 - Governor Events + 250 = ep3_governor_yearly.8010 # Governor wants to swap a favor with you + 250 = ep3_governor_yearly.8020 # Extort an estate in your province + 250 = ep3_governor_yearly.8030 # Estate brings unexpected local benefits + 250 = ep3_governor_yearly.8040 # Estate is taking too much of your time + 500 = ep3_governor_yearly.8050 # Offer liege help in war targeting your province + 250 = ep3_governor_yearly.8060 # Embezzle from provincial treasury + 50 = ep3_governor_yearly.8070 # Overwhelmed by provincial bureaucracy + 250 = ep3_governor_yearly.8080 # Local magistrate accused of corruption + 250 = ep3_governor_yearly.8090 # Family that governed your province is jealous + 250 = ep3_governor_yearly.8100 # Neighboring governor wants your province + 250 = ep3_governor_yearly.8110 # Two neighboring governors falling out + 250 = ep3_governor_yearly.8120 # Support disaster victims in your governorship + 250 = ep3_governor_yearly.8130 # Raise arbitrary taxes on your province + 250 = ep3_governor_yearly.8140 # Stand up to an estate in your province + 250 = ep3_governor_yearly.8150 # Response to rebels in your province + 250 = ep3_governor_yearly.8160 # Minority access to governor bureaucracy + 250 = ep3_governor_yearly.8170 # Prepare defense against nearby raiders + + # EP3 - Laamp Events + 250 = ep3_laamps.0050 # Close family members wants to become an adventurer + + # EP3 - Powerfam events + 250 = ep3_powerful_families.8000 + 250 = ep3_powerful_families.8010 + 250 = ep3_powerful_families.8030 + 250 = ep3_powerful_families.8040 + 250 = ep3_powerful_families.8060 + 250 = ep3_powerful_families.8070 + + # EP3 - Landless Admin Events + 250 = ep3_landless_admin.1000 # This guy could be a cool councillor + 250 = ep3_landless_admin.1010 # You have upgraded your estate a bunch, locals are impressed + 250 = ep3_landless_admin.1020 # Upgrade a building in your estate + 250 = ep3_landless_admin.1030 # You get offered a hook on your liege + 250 = ep3_landless_admin.1040 # Lie about a rival candidate + 250 = ep3_landless_admin.1050 # There's something in your basement + + # EP3 - Eparch events + 500 = ep3_eparch_event.0001 + 500 = ep3_eparch_event.0005 + 500 = ep3_eparch_event.0010 + 500 = ep3_eparch_event.0015 + 500 = ep3_eparch_event.0020 + + # MPO - Nomadic Rulers Events + 100 = nomad_events.0001 # Starts the Achmach Fanakiti event chain + 250 = mpo_nomad_events.1030 # You choose a sport for your son to tryhard + 200 = mpo_nomad_events.1020 # Your kin wants to break off from your tribe + 250 = court_astrologer_events.0002 # Your Astrologer suggest a better place to migrate to + 250 = nomad_events.0100 # Two vassals have a herd dispute + 250 = nomad_events.0120 # You take an evening ride with someone + 250 = nomad_events.0130 # A merchant offers you some herd + 150 = nomad_events.0140 # A foreign merchant passes by your capital and asks to stay + 250 = nomad_events.0150 # You share a drink with a courtier + 300 = nomad_events.0160 # Your spouse tells you they admire you + 300 = nomad_events.0170 # Your spouse is scared of your high dread + 250 = nomad_events.0180 # Random courtier laughs at your child low prowess + 250 = nomad_events.0190 # Reminisce of a past memory + 250 = nomad_events.0200 # Someone tells you of a dream they had + 250 = nomad_events.0220 # Spouse scolds you for your low Prowess + 250 = nomad_events.0230 # Spouse is feeling homesick + 250 = nomad_events.0240 # Neighbouring Nomad's herd shows up in your capital + 100 = nomad_events.0250 # Enthusiastic priest asks you to convert + 150 = nomad_events.0260 # Distant priest arrives at your court + 150 = mpo_nomad_events.1050 # A neighboring herder is salty at you + 300 = mpo_nomad_events.1060 # You trade with non-nomad neighbors + 100 = mpo_nomad_events.1070 #You wake up after having ridden off alone + 200 = mpo_nomad_events.1080 #Neighbor is intruding on your land hunting a criminal + 200 = mpo_nomad_events.1100 #You adapt your herds to the local terrain + 200 = mpo_nomad_events.1110 #Your capital is by a place you can fish + 250 = mpo_events_tova.0025 # You are invited to a knucklebone shooting game + 250 = mpo_events_tova.0030 # No astrologer? Someone comes to you with a vision + 250 = mpo_events_tova.0035 # Anda comes to you with marital concerns + 250 = mpo_events_tova.0045 # A Treasured Friend + 250 = nomad_events_oltner.0001 # Hunt sighting in your lands + 250 = nomad_events_oltner.0002 # Bird sighting in your lands + 250 = nomad_events_oltner.0003 # Dangerous Hunt sighting in your lands + 150 = nomad_events_oltner.0004 # Zud - Dangerous animals eat your herd + 250 = nomad_events_oltner.0005 # Good season! Animals aplenty. + 250 = nomad_events_oltner.0006 # You are offered a skilled Master of the Chase from a tributary + 250 = nomad_events_oltner.0007 # You are offered a falcon from a tributary + 50 = mpo_bb_events.0001 # blood brother comes by for a wrestling match + 100 = mpo_events_anna.0001 #Train Them Young - teach a child how to ride a horse + 250 = mpo_events_anna.0005 #Stories from the Past - choose a story to be told + 250 = mpo_events_anna.0010 #Whistle Like an Arrow - being taught how to whistle as a child + 250 = mpo_events_ariana.0001 # Nest Sighting + 50 = mpo_events_ariana.0010 # Your Heir wants to convert to a different faith + 250 = mpo_events_ariana.0020 # A spouse is suspicious of a councillor + 250 = mpo_events_ariana.0050 # A family member risks being branded + 150 = mpo_events_ariana.0060 # A child in your family spots an eagles nest with treasure + 250 = mpo_events_ariana.0080 # Someone tells you about a magical tree + 150 = pet_animal.3050 # Your rival has an eagle + 250 = mpo_events_ariana.0090 # Your child wants to be a herder + 250 = mpo_events_ariana.0100 # A non-martial gender family member is very skilled + 150 = mpo_events_ariana.0110 # Your court astrologer wants you to move your capital + + # MPO - Season Specific Events + 500 = mpo_nomads_season_events.0001 # Herders robbed during drought + 500 = mpo_nomads_season_events.0005 # A hungry neighbour asks for herd + 500 = mpo_nomads_season_events.0010 # A well-to-do neighbor offers herd + 500 = mpo_nomads_season_events.0015 # Two Kurultai members fight over food + 200 = nomad_events.0110 # A snow wolf attacks a child (weighted up during white zud/cold zud) + 500 = nomad_events.0210 # Spouse/Child is worried about low herd + 200 = mpo_nomad_events.1120 #It's winter. wolves are hungry for your herd (weighted up during white zud/cold zud) + + # MPO - Settled Rulers Events + 500 = mpo_flavor_events_settled.0010 # Horse Lord at your door + + # TGP - Movement Events + 200 = tgp_movement_events.0001 # Marshal urges you to prepare for Expansion + 200 = tgp_movement_events.0010 # Try to convince an undecided ruler to join your movement + 200 = tgp_movement_events.0020 # Another Advancement member wants to focus on innovations + 200 = tgp_movement_events.0030 # Movement member sends you a letter asking for support + 200 = tgp_movement_events.0040 # Hegemon sends envoy thanking you for being Pro-Song + 200 = tgp_movement_events.0050 # Elder takes interest in you + 200 = tgp_movement_events.0060 # Antagonize another movement + 200 = tgp_movement_events.0070 # Councillor of your highest skill helps you study + 200 = tgp_movement_events.0080 # Family member asks you to focus on your family + 200 = tgp_movement_events.0090 # Movement member wants to make amends + 200 = tgp_movement_events.0100 # Ask a Movement Leader to abandon their Movement + 200 = tgp_movement_events.0110 # Movement member sends you some books + # tgp_movement_events.0120 # Feast event - Movement member teaches you Confucianism + 200 = tgp_movement_events.0130 # Movement member teaches you the language of the capital + 200 = tgp_movement_events.0140 # Disciple brings you a gift + 200 = tgp_movement_events.0150 # Shinto visitor at court + 200 = tgp_movement_events.0160 # Promise Movement leader to not scheme against each other + + # TGP - Dynastic Cycle Events + 200 = tgp_dynastic_cycle_events.0001 # Tilt the scales towards Advancement + 200 = tgp_dynastic_cycle_events.0010 # Disciple has a mental breakdown in Instability + 200 = tgp_dynastic_cycle_events.0020 # Rowdy peasants steal food during Instability + 200 = tgp_dynastic_cycle_events.0030 # In this time of Expansion you should become a Military Governor + 200 = tgp_dynastic_cycle_events.0040 # Steward is interested in the Silk Road + 200 = tgp_dynastic_cycle_events.0050 # Debate the Favoured Movement and get ahead of them + + # TGP - Confucianism Events + 250 = tgp_china_yearly.0001 # Charitable Acts + 250 = tgp_china_yearly.0005 # Child mourns the loss of a father + 250 = tgp_china_yearly.0010 # Hack poet peddles "lucky" poems + 250 = tgp_china_yearly.0015 # Settle merchant dispute + 250 = tgp_china_yearly.0020 # County has unpaid back-taxes + + # TGP- Mandala Events + 100 = tgp_east_asia_mandala_events.9000 #Freak accident makes you seem inclined to divinity + 100 = devaraja.0002 + 100 = devaraja.0003 + 100 = devaraja.0004 + 100 = devaraja.0005 + 100 = devaraja.0006 + 100 = devaraja.0007 + 100 = devaraja.0008 + # Missionary no longer + 250 = devaraja.0009 + 250 = devaraja.0010 + + # ACH - yearly councillor events + 25 = ach_yearly_events.1001 + 25 = ach_yearly_events.1002 + 25 = ach_yearly_events.1003 + 25 = ach_yearly_events.1004 + + # TGP - Ceremonial Liege Events + 100 = tgp_ceremonial_liege_events.0001 # A councillor sends out documents with both seals (Liege/Regent) + 75 = tgp_ceremonial_liege_events.0010 # You are extremely stressed, a spouse mentions giving power to the regent (Liege) + 100 = tgp_ceremonial_liege_events.0020 # The liege/regent is in an activity which you were not invited to (Liege/Regent) + 50 = tgp_ceremonial_liege_events.0030 # A scholar writes about you two and the liege is clearly favored (Liege/Regent) + 75 = tgp_ceremonial_liege_events.0040 # Someone is questioning why you are even ruled over by your vassal at all (Regent) + } +} + +on_yearly_tutorial_events = { + trigger = { + always = no # TODO[Ruler Objectives]: Make generally available once ready for it + is_ai = no + has_global_variable = tutorial_completed + } + random_events = { + chance_to_happen = 100 + 1 = tutorial.1001 + } +} diff --git a/N3OW/common/scripted_effects/07_dlc_ep3_scripted_effects.txt b/N3OW/common/scripted_effects/07_dlc_ep3_scripted_effects.txt index c3d366be..ddd02b69 100644 --- a/N3OW/common/scripted_effects/07_dlc_ep3_scripted_effects.txt +++ b/N3OW/common/scripted_effects/07_dlc_ep3_scripted_effects.txt @@ -3218,11 +3218,22 @@ create_noble_family_effect = { } } } + republic_government = { # Steppe Admin has different government + scope:new_noble_family_holder = { + give_noble_family_title = { + name = noble_family_name + tier = county + article = DEFAULT_TITLE_NAME_ARTICLE + government = republic_government + save_scope_as = new_title + } + } + } fallback = { scope:new_noble_family_holder = { give_noble_family_title = { name = noble_family_name - tier = duchy + tier = county article = DEFAULT_TITLE_NAME_ARTICLE government = administrative_government save_scope_as = new_title @@ -3243,7 +3254,7 @@ create_noble_family_effect = { top_liege = scope:new_noble_family_holder.top_liege this != scope:new_noble_family_holder # China has hundreds of Noble Families, it gets spammy - NOT = { government_allows = merit } + NOT = { OR = { government_allows = merit government_has_flag = government_is_special_administrative } } } trigger_event = { id = ep3_emperor_yearly.2410 diff --git a/N3OW/common/scripted_triggers/00_law_triggers.txt b/N3OW/common/scripted_triggers/00_law_triggers.txt index a990a23e..675dcd51 100644 --- a/N3OW/common/scripted_triggers/00_law_triggers.txt +++ b/N3OW/common/scripted_triggers/00_law_triggers.txt @@ -367,7 +367,7 @@ is_temporal_head_of_faith_trigger = { } can_title_have_law_general_trigger = { - tier >= tier_duchy + tier >= tier_county is_temporal_head_of_faith_trigger = no } From 7537d1b934e1882201a6ad028e69636dc8798cef Mon Sep 17 00:00:00 2001 From: trashb0at Date: Mon, 3 Nov 2025 19:05:05 -0500 Subject: [PATCH 09/20] treasury fix --- N3OW/common/governments/00_government_types.txt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/N3OW/common/governments/00_government_types.txt b/N3OW/common/governments/00_government_types.txt index 0c712d26..33861688 100644 --- a/N3OW/common/governments/00_government_types.txt +++ b/N3OW/common/governments/00_government_types.txt @@ -69,6 +69,17 @@ republic_government = { fallback = 2 vassal_contract_group = republic_vassal + character_modifier = { + + # Vassals get Treasury income that is this percentage less than their taxes to their liege + monthly_treasury_from_liege_mult = -0.15 + } + + top_liege_character_modifier = { + # 85% of vassal income goes to the treasury + monthly_treasury_from_vassals = 0.85 + } + # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). flags = { government_is_special_republic From a825507485fde93e2ed407e90d86230d1497de5f Mon Sep 17 00:00:00 2001 From: Magpie490 Date: Tue, 4 Nov 2025 11:13:48 +0000 Subject: [PATCH 10/20] fixes --- N3OW/common/buildings/00_castle_buildings.txt | 2550 +++++----- N3OW/common/buildings/00_city_buildings.txt | 2481 ++++----- N3OW/common/buildings/00_common_buildings.txt | 96 +- .../buildings/00_duchy_capital_buildings.txt | 504 +- .../buildings/00_legendary_buildings.txt | 1 + .../common/buildings/00_special_buildings.txt | 4441 ++++++++++++++++- N3OW/common/buildings/00_special_mines.txt | 3584 ++++++++++++- .../00_standard_economy_buildings.txt | 3993 ++++++++++++--- .../00_standard_fortification_buildings.txt | 160 + .../00_standard_military_buildings.txt | 961 +++- N3OW/common/buildings/00_temple_buildings.txt | 2422 +++++---- N3OW/common/buildings/00_tribal_buildings.txt | 1173 ++++- N3OW/common/buildings/99_ach_buildings.txt | 389 ++ .../99_background_graphics_buildings.txt | 175 +- N3OW/common/buildings/_buildings.info | 403 +- .../buildings/ccp3_special_buildings.txt | 31 +- .../buildings/temple_citadel_buildings.txt | 3326 ++++++++++++ .../buildings/tgp_great_project_buildings.txt | 669 +++ .../governments/00_government_types.txt | 53 +- N3OW/common/holdings/00_holdings.txt | 94 +- 20 files changed, 23165 insertions(+), 4341 deletions(-) create mode 100644 N3OW/common/buildings/99_ach_buildings.txt create mode 100644 N3OW/common/buildings/temple_citadel_buildings.txt create mode 100644 N3OW/common/buildings/tgp_great_project_buildings.txt diff --git a/N3OW/common/buildings/00_castle_buildings.txt b/N3OW/common/buildings/00_castle_buildings.txt index 8c09faea..5cf669a3 100644 --- a/N3OW/common/buildings/00_castle_buildings.txt +++ b/N3OW/common/buildings/00_castle_buildings.txt @@ -1,6 +1,9 @@ @holding_illustration_western = "gfx/interface/illustrations/holding_types/castle_western.dds" @holding_illustration_mena = "gfx/interface/illustrations/holding_types/castle_mena.dds" @holding_illustration_india = "gfx/interface/illustrations/holding_types/castle_india.dds" +@holding_illustration_seasia = "gfx/interface/illustrations/holding_types/tgp_castle_se_asia.dds" +@holding_illustration_china = "gfx/interface/illustrations/holding_types/tgp_castle_china.dds" +@holding_illustration_japan = "gfx/interface/illustrations/holding_types/tgp_castle_japan.dds" @holding_illustration_mediterranean = "gfx/interface/illustrations/holding_types/castle_mediterranean.dds" @holding_illustration_norse = "gfx/interface/illustrations/holding_types/fp1_castle_norse.dds" @holding_illustration_iberian = "gfx/interface/illustrations/holding_types/fp2_castle_iberian.dds" @@ -11,314 +14,354 @@ castle_01 = { construction_time = slow_construction_time - ### WESTERN ### - asset = { - type = pdxmesh - names = { - "building_western_castle_01_mesh" - "building_western_castle_01_b_mesh" + #Meshes (Indented for readability) + ### WESTERN ### + asset = { + type = pdxmesh + names = { + "building_western_castle_01_mesh" + "building_western_castle_01_b_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 0 } } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 0 } } - } - asset = { - type = pdxmesh - names = { - "building_western_castle_01_mena_mesh" - "building_western_castle_01_b_mena_mesh" + asset = { + type = pdxmesh + names = { + "building_western_castle_01_mena_mesh" + "building_western_castle_01_b_mena_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 0 } } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 0 } } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_western_castle_01_mediterranean_mesh" - "building_western_castle_01_b_mediterranean_mesh" + asset = { + type = pdxmesh + names = { + "building_western_castle_01_mediterranean_mesh" + "building_western_castle_01_b_mediterranean_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 0 } } + graphical_regions = { graphical_mediterranean } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 0 } } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "building_western_castle_01_indian_mesh" - "building_western_castle_01_b_indian_mesh" + asset = { + type = pdxmesh + names = { + "building_western_castle_01_indian_mesh" + "building_western_castle_01_b_indian_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 0 } } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 0 } } - graphical_regions = { graphical_india } - } - ### INDIAN ### - asset = { - type = pdxmesh - name = "building_indian_castle_01_western_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { indian_building_gfx } - } - asset = { - type = pdxmesh - name = "building_indian_castle_01_mena_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_indian_castle_01_mediterranean_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "building_indian_castle_01_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_india } - } - - ### MENA ### - asset = { - type = pdxmesh - name = "building_mena_castle_01_western_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mena_building_gfx } - } - asset = { - type = pdxmesh - name = "building_mena_castle_01_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_mena_castle_01_mediterranean_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "building_mena_castle_01_indian_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_india } - } - - ### MEDITERRANEAN ### - asset = { - type = pdxmesh - name = "building_mediterranean_castle_01_western_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mediterranean_building_gfx } - } - asset = { - type = pdxmesh - name = "building_mediterranean_castle_01_mena_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_mediterranean_castle_01_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "building_mediterranean_castle_01_indian_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_india } - } - - ### FP1 Norse ### - asset = { - type = pdxmesh - name = "fp1_building_norse_castle_01_mesh" - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { norse_building_gfx } - } - asset = { - type = pdxmesh - name = "fp1_building_norse_castle_01_mena_mesh" - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "fp1_building_norse_castle_01_mediterranean_mesh" - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "fp1_building_norse_castle_01_indian_mesh" - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_india } - } - - ### FP2 Iberian ### - asset = { - type = pdxmesh - name = "fp2_building_iberian_castle_01_mesh" - requires_dlc_flag = the_fate_of_iberia - illustration = @holding_illustration_iberian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/iberian_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { iberian_building_gfx } - graphical_regions = { graphical_mediterranean } - } - - ### FP3 Iranian ### - asset = { - type = pdxmesh - name = "fp3_building_persian_castle_01_a_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "fp3_building_persian_castle_01_a_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - name = "building_mena_castle_01_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_indian_castle_01_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_india } - } - - ### EP3 Byzantine ### - asset = { - type = pdxmesh - name = "ep3_byzantine_castle_01_a_mesh" - requires_dlc_flag = roads_to_power - illustration = @holding_illustration_constantinople - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { byzantine_building_gfx } - provinces = { 496 } - } - asset = { - type = pdxmesh - name = "ep3_byzantine_castle_01_a_mesh" - requires_dlc_flag = roads_to_power - illustration = @holding_illustration_byzantine - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { byzantine_building_gfx } - graphical_regions = { graphical_mediterranean } - } - - #Steppe fallbacks - #For steppe - asset = { - type = pdxmesh - name = "building_mena_castle_01_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_siberia } - } - asset = { - type = pdxmesh - name = "building_mena_castle_01_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_steppe } - } - - #Elsewhere - asset = { - type = pdxmesh - names = { - "building_western_castle_01_mesh" - "building_western_castle_01_b_mesh" + ### INDIAN ### + asset = { + type = pdxmesh + name = "building_indian_castle_01_western_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { indian_building_gfx } + } + asset = { + type = pdxmesh + name = "building_indian_castle_01_mena_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_indian_castle_01_mediterranean_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "building_indian_castle_01_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_india } + } + + ### MENA ### + asset = { + type = pdxmesh + name = "building_mena_castle_01_western_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { mena_building_gfx } + } + asset = { + type = pdxmesh + name = "building_mena_castle_01_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_mena_castle_01_mediterranean_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "building_mena_castle_01_indian_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_india } + } + + ### MEDITERRANEAN ### + asset = { + type = pdxmesh + name = "building_mediterranean_castle_01_western_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { mediterranean_building_gfx } + } + asset = { + type = pdxmesh + name = "building_mediterranean_castle_01_mena_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_mediterranean_castle_01_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "building_mediterranean_castle_01_indian_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_india } + } + + ### FP1 Norse ### + asset = { + type = pdxmesh + name = "fp1_building_norse_castle_01_mesh" + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { norse_building_gfx } + } + asset = { + type = pdxmesh + name = "fp1_building_norse_castle_01_mena_mesh" + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "fp1_building_norse_castle_01_mediterranean_mesh" + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "fp1_building_norse_castle_01_indian_mesh" + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_india } + } + + ### FP2 Iberian ### + asset = { + type = pdxmesh + name = "fp2_building_iberian_castle_01_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @holding_illustration_iberian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/iberian_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + ### FP3 Iranian ### + asset = { + type = pdxmesh + name = "fp3_building_persian_castle_01_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "fp3_building_persian_castle_01_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_india } + } + asset = { + type = pdxmesh + name = "building_mena_castle_01_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_indian_castle_01_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_india } + } + + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_01_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_constantinople + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { byzantine_building_gfx } + provinces = { 496 } + } + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_01_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + #Steppe fallbacks + #For steppe + asset = { + type = pdxmesh + name = "building_mena_castle_01_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_siberia } + } + asset = { + type = pdxmesh + name = "building_mena_castle_01_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_steppe } + } + asset = { + type = pdxmesh + name = "tgp_building_chinese_castle_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_east_asia } + } + + #Elsewhere + asset = { + type = pdxmesh + names = { + "building_western_castle_01_mesh" + "building_western_castle_01_b_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 0 } } + graphical_regions = { graphical_western } + graphical_cultures = { steppe_building_gfx } + } + asset = { + type = pdxmesh + name = "building_indian_castle_01_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_india } + } + asset = { + type = pdxmesh + name = "building_mena_castle_01_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_mediterranean_castle_01_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_01_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_constantinople + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + provinces = { 496 } + } + # SOUTHEAST ASIA # + asset = { + type = pdxmesh + name = "tgp_building_se_asia_castle_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_seasia + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/sea_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + # China + asset = { + type = pdxmesh + name = "tgp_building_chinese_castle_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + # TGP Japan + asset = { + type = pdxmesh + name = "tgp_building_japanese_castle_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_japan + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/japanese_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 0 } } - graphical_regions = { graphical_western } - graphical_cultures = { steppe_building_gfx } - } - asset = { - type = pdxmesh - name = "building_indian_castle_01_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - name = "building_mena_castle_01_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_mediterranean_castle_01_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "ep3_byzantine_castle_01_a_mesh" - requires_dlc_flag = roads_to_power - illustration = @holding_illustration_constantinople - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { steppe_building_gfx } - provinces = { 496 } - } can_construct_potential = { barony_cannot_construct_holding = no @@ -328,6 +371,7 @@ castle_01 = { culture = { has_innovation = innovation_motte } + japan_castle_construction_trigger = yes } can_construct_showing_failures_only = { @@ -398,16 +442,14 @@ castle_01 = { if = { limit = { any_vassal = { - has_vassal_stance = parochial + vassal_stance = parochial } save_temporary_scope_as = holder_scope } custom_tooltip = parochial_vassal_approves_holding_construction hidden_effect = { every_vassal = { - limit = { - has_vassal_stance = parochial - } + vassal_stance = parochial add_opinion = { target = prev modifier = parochial_approves_holding_construction_opinion @@ -432,6 +474,22 @@ castle_01 = { } } } + #Mandala Creator Aspect + creator_mandala_built_regular_holding_piety_effect = yes + + # Building Oath + hidden_effect = { + if = { + limit = { + county.holder = { + has_character_modifier = oath_of_buildings + } + } + add_random_economic_building_effect = yes + add_random_military_building_effect = yes + add_random_fortification_building_effect = yes + } + } } ai_value = { @@ -445,6 +503,9 @@ castle_01 = { modifier = { add = 50 + scope:holder = { + NOT = { government_has_flag = government_is_mandala } + } county = { NOT = { any_county_province = { @@ -463,301 +524,341 @@ castle_01 = { castle_02 = { construction_time = slow_construction_time - ### WESTERN ### - asset = { - type = pdxmesh - name = "building_western_castle_02_mesh" - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 1 } } - } - asset = { - type = pdxmesh - name = "building_western_castle_02_mena_mesh" - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 1 } } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_western_castle_02_mediterranean_mesh" - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 1 } } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "building_western_castle_02_indian_mesh" - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 1 } } - graphical_regions = { graphical_india } - } + #Meshes (Indented for readability) + ### WESTERN ### + asset = { + type = pdxmesh + name = "building_western_castle_02_mesh" + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 1 } } + } + asset = { + type = pdxmesh + name = "building_western_castle_02_mena_mesh" + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 1 } } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_western_castle_02_mediterranean_mesh" + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 1 } } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "building_western_castle_02_indian_mesh" + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 1 } } + graphical_regions = { graphical_india } + } - ### MENA ### - asset = { - type = pdxmesh - name = "building_mena_castle_02_western_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mena_building_gfx } - } - asset = { - type = pdxmesh - name = "building_mena_castle_02_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_mena_castle_02_mediterranean_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "building_mena_castle_02_indian_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_india } - } + ### MENA ### + asset = { + type = pdxmesh + name = "building_mena_castle_02_western_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { mena_building_gfx } + } + asset = { + type = pdxmesh + name = "building_mena_castle_02_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_mena_castle_02_mediterranean_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "building_mena_castle_02_indian_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_india } + } - ### INDIAN ### - asset = { - type = pdxmesh - name = "building_indian_castle_02_western_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { indian_building_gfx } - } - asset = { - type = pdxmesh - name = "building_indian_castle_02_mena_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_indian_castle_02_mediterranean_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "building_indian_castle_02_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_india } - } + ### INDIAN ### + asset = { + type = pdxmesh + name = "building_indian_castle_02_western_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { indian_building_gfx } + } + asset = { + type = pdxmesh + name = "building_indian_castle_02_mena_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_indian_castle_02_mediterranean_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "building_indian_castle_02_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_india } + } - ### MEDITERRANEAN ### - asset = { - type = pdxmesh - name = "building_mediterranean_castle_02_western_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mediterranean_building_gfx } - } - asset = { - type = pdxmesh - name = "building_mediterranean_castle_02_mena_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_mediterranean_castle_02_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "building_mediterranean_castle_02_indian_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_india } - } + ### MEDITERRANEAN ### + asset = { + type = pdxmesh + name = "building_mediterranean_castle_02_western_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { mediterranean_building_gfx } + } + asset = { + type = pdxmesh + name = "building_mediterranean_castle_02_mena_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_mediterranean_castle_02_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "building_mediterranean_castle_02_indian_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_india } + } - ### FP1 Norse ### - asset = { - type = pdxmesh - name = "fp1_building_norse_castle_02_mesh" - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { norse_building_gfx } - } - asset = { - type = pdxmesh - name = "fp1_building_norse_castle_02_mena_mesh" - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "fp1_building_norse_castle_02_mediterranean_mesh" - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "fp1_building_norse_castle_02_indian_mesh" - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_india } - } + ### FP1 Norse ### + asset = { + type = pdxmesh + name = "fp1_building_norse_castle_02_mesh" + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { norse_building_gfx } + } + asset = { + type = pdxmesh + name = "fp1_building_norse_castle_02_mena_mesh" + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "fp1_building_norse_castle_02_mediterranean_mesh" + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "fp1_building_norse_castle_02_indian_mesh" + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_india } + } - ### FP2 Iberian ### - asset = { - type = pdxmesh - name = "fp2_building_iberian_castle_02_mesh" - requires_dlc_flag = the_fate_of_iberia - illustration = @holding_illustration_iberian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/iberian_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { iberian_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### FP2 Iberian ### + asset = { + type = pdxmesh + name = "fp2_building_iberian_castle_02_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @holding_illustration_iberian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/iberian_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } - ### FP3 Iranian ### - asset = { - type = pdxmesh - name = "fp3_building_persian_castle_02_a_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } + ### FP3 Iranian ### + asset = { + type = pdxmesh + name = "fp3_building_persian_castle_02_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } - asset = { - type = pdxmesh - name = "fp3_building_persian_castle_02_a_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - name = "building_mena_castle_02_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_indian_castle_02_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_india } - } + asset = { + type = pdxmesh + name = "fp3_building_persian_castle_02_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_india } + } + asset = { + type = pdxmesh + name = "building_mena_castle_02_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_indian_castle_02_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_india } + } - ### EP3 Byzantine ### - asset = { - type = pdxmesh - name = "ep3_byzantine_castle_02_a_mesh" - requires_dlc_flag = roads_to_power - illustration = @holding_illustration_constantinople - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { byzantine_building_gfx } - provinces = { 496 } - } - asset = { - type = pdxmesh - name = "ep3_byzantine_castle_02_a_mesh" - requires_dlc_flag = roads_to_power - illustration = @holding_illustration_byzantine - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { byzantine_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_02_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_constantinople + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { byzantine_building_gfx } + provinces = { 496 } + } + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_02_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mediterranean } + } - #Steppe fallbacks - #For steppe - asset = { - type = pdxmesh - name = "building_mena_castle_02_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_steppe } - } - asset = { - type = pdxmesh - name = "building_mena_castle_02_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_siberia } - } - #Elsewhere - ### WESTERN ### - asset = { - type = pdxmesh - name = "building_western_castle_02_mesh" - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 1 } } - graphical_regions = { graphical_western } - graphical_cultures = { steppe_building_gfx } - } - asset = { - type = pdxmesh - name = "building_mena_castle_02_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_indian_castle_02_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - name = "building_mediterranean_castle_02_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_mediterranean } - } - ### EP3 Byzantine ### - asset = { - type = pdxmesh - name = "ep3_byzantine_castle_02_a_mesh" - requires_dlc_flag = roads_to_power - illustration = @holding_illustration_constantinople - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } - graphical_cultures = { steppe_building_gfx } - provinces = { 496 } - } + #Steppe fallbacks + #For steppe + asset = { + type = pdxmesh + name = "building_mena_castle_02_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_steppe } + } + asset = { + type = pdxmesh + name = "building_mena_castle_02_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_siberia } + } + #Elsewhere + ### WESTERN ### + asset = { + type = pdxmesh + name = "building_western_castle_02_mesh" + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 1 } } + graphical_regions = { graphical_western } + graphical_cultures = { steppe_building_gfx } + } + asset = { + type = pdxmesh + name = "building_mena_castle_02_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_indian_castle_02_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_india } + } + asset = { + type = pdxmesh + name = "building_mediterranean_castle_02_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "tgp_building_chinese_castle_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_east_asia } + } + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_02_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_constantinople + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + provinces = { 496 } + } + # SOUTHEAST ASIA # + asset = { + type = pdxmesh + name = "tgp_building_se_asia_castle_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_seasia + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/sea_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_castle_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + # TGP Japan + asset = { + type = pdxmesh + name = "tgp_building_japanese_castle_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_japan + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/japanese_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } can_construct_potential = { building_requirement_tribal = no @@ -766,6 +867,7 @@ castle_02 = { culture = { has_innovation = innovation_battlements } + japan_castle_construction_trigger = yes } cost_gold = main_building_tier_2_cost @@ -825,16 +927,14 @@ castle_02 = { if = { limit = { any_vassal = { - has_vassal_stance = parochial + vassal_stance = parochial } save_temporary_scope_as = holder_scope } custom_tooltip = parochial_vassal_approves_holding_upgrade hidden_effect = { every_vassal = { - limit = { - has_vassal_stance = parochial - } + vassal_stance = parochial add_opinion = { target = prev modifier = parochial_approves_holding_upgrade_opinion @@ -843,6 +943,8 @@ castle_02 = { } } } + #Mandala Creator Aspect + creator_mandala_upgraded_regular_holding_piety_effect = yes } ai_value = { @@ -870,6 +972,7 @@ castle_02 = { combined_building_level <= 10 years_from_game_start >= 1 } + #Needed for the initial construction setup for the AI (to avoid the AI spending their free construction setup on upgrading all holdings instead of building buildings) modifier = { factor = 0.3 years_from_game_start <= 0.01 @@ -880,309 +983,349 @@ castle_02 = { castle_03 = { construction_time = slow_construction_time - ### WESTERN ### - asset = { - type = pdxmesh - name = "building_western_castle_03_mesh" - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 2 } } - } - asset = { - type = pdxmesh - name = "building_western_castle_03_mena_mesh" - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 2 } } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_western_castle_03_mediterranean_mesh" - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 2 } } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "building_western_castle_03_indian_mesh" - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 2 } } - graphical_regions = { graphical_india } - } + #Meshes (Indented for readability) + ### WESTERN ### + asset = { + type = pdxmesh + name = "building_western_castle_03_mesh" + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 2 } } + } + asset = { + type = pdxmesh + name = "building_western_castle_03_mena_mesh" + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 2 } } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_western_castle_03_mediterranean_mesh" + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 2 } } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "building_western_castle_03_indian_mesh" + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 2 } } + graphical_regions = { graphical_india } + } - ### MENA ### - asset = { - type = pdxmesh - name = "building_mena_castle_03_western_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } - } - asset = { - type = pdxmesh - name = "building_mena_castle_03_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_mena_castle_03_mediterranean_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "building_mena_castle_03_indian_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_india } - } + ### MENA ### + asset = { + type = pdxmesh + name = "building_mena_castle_03_western_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mena_building_gfx } + } + asset = { + type = pdxmesh + name = "building_mena_castle_03_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_mena_castle_03_mediterranean_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "building_mena_castle_03_indian_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_india } + } - ### INDIAN ### - asset = { - type = pdxmesh - name = "building_indian_castle_03_western_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } - } - asset = { - type = pdxmesh - name = "building_indian_castle_03_mena_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_indian_castle_03_mediterranean_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "building_indian_castle_03_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_india } - } + ### INDIAN ### + asset = { + type = pdxmesh + name = "building_indian_castle_03_western_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { indian_building_gfx } + } + asset = { + type = pdxmesh + name = "building_indian_castle_03_mena_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_indian_castle_03_mediterranean_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "building_indian_castle_03_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_india } + } - ### MEDITERRANEAN ### - asset = { - type = pdxmesh - name = "building_mediterranean_castle_03_western_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } - } - asset = { - type = pdxmesh - name = "building_mediterranean_castle_03_mena_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_mediterranean_castle_03_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "building_mediterranean_castle_03_indian_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_india } - } + ### MEDITERRANEAN ### + asset = { + type = pdxmesh + name = "building_mediterranean_castle_03_western_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mediterranean_building_gfx } + } + asset = { + type = pdxmesh + name = "building_mediterranean_castle_03_mena_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_mediterranean_castle_03_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "building_mediterranean_castle_03_indian_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_india } + } - ### FP1 Norse ### - asset = { - type = pdxmesh - name = "fp1_building_norse_castle_03_mesh" - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { norse_building_gfx } - } - asset = { - type = pdxmesh - name = "fp1_building_norse_castle_03_mena_mesh" - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "fp1_building_norse_castle_03_mediterranean_mesh" - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "fp1_building_norse_castle_03_indian_mesh" - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_india } - } + ### FP1 Norse ### + asset = { + type = pdxmesh + name = "fp1_building_norse_castle_03_mesh" + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { norse_building_gfx } + } + asset = { + type = pdxmesh + name = "fp1_building_norse_castle_03_mena_mesh" + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "fp1_building_norse_castle_03_mediterranean_mesh" + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "fp1_building_norse_castle_03_indian_mesh" + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_india } + } - ### FP2 Iberian ### - asset = { - type = pdxmesh - name = "fp2_building_iberian_castle_03_mesh" - requires_dlc_flag = the_fate_of_iberia - illustration = @holding_illustration_iberian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/iberian_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { iberian_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### FP2 Iberian ### + asset = { + type = pdxmesh + name = "fp2_building_iberian_castle_03_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @holding_illustration_iberian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/iberian_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } - ### FP3 Iranian ### - asset = { - type = pdxmesh - name = "fp3_building_persian_castle_03_a_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } + ### FP3 Iranian ### + asset = { + type = pdxmesh + name = "fp3_building_persian_castle_03_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } - asset = { - type = pdxmesh - name = "fp3_building_persian_castle_03_a_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - name = "building_mena_castle_03_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_indian_castle_03_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_india } - } + asset = { + type = pdxmesh + name = "fp3_building_persian_castle_03_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_india } + } + asset = { + type = pdxmesh + name = "building_mena_castle_03_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_indian_castle_03_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_india } + } - ### EP3 Byzantine ### - asset = { - type = pdxmesh - name = "ep3_byzantine_castle_03_a_mesh" - requires_dlc_flag = roads_to_power - illustration = @holding_illustration_constantinople - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { byzantine_building_gfx } - provinces = { 496 } - } - asset = { - type = pdxmesh - name = "ep3_byzantine_castle_03_a_mesh" - requires_dlc_flag = roads_to_power - illustration = @holding_illustration_byzantine - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { byzantine_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "ep3_byzantine_castle_03_a_mesh" - requires_dlc_flag = roads_to_power - illustration = @holding_illustration_byzantine - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { byzantine_building_gfx } - graphical_regions = { graphical_mena } - } + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_03_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_constantinople + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { byzantine_building_gfx } + provinces = { 496 } + } + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_03_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_03_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mena } + } - #Steppe fallbacks - #For steppe - asset = { - type = pdxmesh - name = "building_mena_castle_03_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_steppe } - } - asset = { - type = pdxmesh - name = "building_mena_castle_03_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_siberia } - } + #Steppe fallbacks + #For steppe + asset = { + type = pdxmesh + name = "building_mena_castle_03_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_steppe } + } + asset = { + type = pdxmesh + name = "building_mena_castle_03_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_siberia } + } - #Elsewhere - asset = { - type = pdxmesh - name = "building_western_castle_03_mesh" - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_western } - } - asset = { - type = pdxmesh - name = "building_mena_castle_03_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_indian_castle_03_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - name = "building_mediterranean_castle_03_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "ep3_byzantine_castle_03_a_mesh" - requires_dlc_flag = roads_to_power - illustration = @holding_illustration_constantinople - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - provinces = { 496 } - } + #Elsewhere + asset = { + type = pdxmesh + name = "building_western_castle_03_mesh" + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_western } + } + asset = { + type = pdxmesh + name = "building_mena_castle_03_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_indian_castle_03_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_india } + } + asset = { + type = pdxmesh + name = "building_mediterranean_castle_03_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "tgp_building_chinese_castle_03_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_east_asia } + } + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_03_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_constantinople + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + provinces = { 496 } + } + # SOUTHEAST ASIA # + asset = { + type = pdxmesh + name = "tgp_building_se_asia_castle_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_seasia + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/sea_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_castle_03_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan + asset = { + type = pdxmesh + name = "tgp_building_japanese_castle_03_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_japan + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/japanese_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } can_construct_potential = { building_requirement_tribal = no @@ -1191,6 +1334,7 @@ castle_03 = { culture = { has_innovation = innovation_hoardings } + japan_castle_construction_trigger = yes } cost_gold = main_building_tier_3_cost @@ -1250,16 +1394,14 @@ castle_03 = { if = { limit = { any_vassal = { - has_vassal_stance = parochial + vassal_stance = parochial } save_temporary_scope_as = holder_scope } custom_tooltip = parochial_vassal_approves_holding_upgrade hidden_effect = { every_vassal = { - limit = { - has_vassal_stance = parochial - } + vassal_stance = parochial add_opinion = { target = prev modifier = parochial_approves_holding_upgrade_opinion @@ -1268,6 +1410,10 @@ castle_03 = { } } } + scope:character = { + #Mandala Creator Aspect + creator_mandala_upgraded_regular_holding_piety_effect = yes + } } ai_value = { @@ -1296,300 +1442,339 @@ castle_03 = { castle_04 = { construction_time = slow_construction_time - ### WESTERN ### - asset = { - type = pdxmesh - name = "building_western_castle_04_mesh" - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 3 } } - } - asset = { - type = pdxmesh - name = "building_western_castle_04_mena_mesh" - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 3 } } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_western_castle_04_mediterranean_mesh" - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 3 } } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "building_western_castle_04_indian_mesh" - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 3 } } - graphical_regions = { graphical_india } - } + #Meshes (Indented for readability) + ### WESTERN ### + asset = { + type = pdxmesh + name = "building_western_castle_04_mesh" + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 3 } } + } + asset = { + type = pdxmesh + name = "building_western_castle_04_mena_mesh" + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 3 } } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_western_castle_04_mediterranean_mesh" + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 3 } } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "building_western_castle_04_indian_mesh" + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 3 } } + graphical_regions = { graphical_india } + } - ### MENA ### - asset = { - type = pdxmesh - name = "building_mena_castle_04_western_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { mena_building_gfx } - } - asset = { - type = pdxmesh - name = "building_mena_castle_04_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_mena_castle_04_mediterranean_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "building_mena_castle_04_indian_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_india } - } + ### MENA ### + asset = { + type = pdxmesh + name = "building_mena_castle_04_western_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { mena_building_gfx } + } + asset = { + type = pdxmesh + name = "building_mena_castle_04_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_mena_castle_04_mediterranean_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "building_mena_castle_04_indian_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_india } + } - ### INDIAN ### - asset = { - type = pdxmesh - name = "building_indian_castle_04_western_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { indian_building_gfx } - } - asset = { - type = pdxmesh - name = "building_indian_castle_04_mena_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_indian_castle_04_mediterranean_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "building_indian_castle_04_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_india } - } + ### INDIAN ### + asset = { + type = pdxmesh + name = "building_indian_castle_04_western_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { indian_building_gfx } + } + asset = { + type = pdxmesh + name = "building_indian_castle_04_mena_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_indian_castle_04_mediterranean_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "building_indian_castle_04_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_india } + } - ### MEDITERRANEAN ### - asset = { - type = pdxmesh - name = "building_mediterranean_castle_04_western_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { mediterranean_building_gfx } - } - asset = { - type = pdxmesh - name = "building_mediterranean_castle_04_mena_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_mediterranean_castle_04_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "building_mediterranean_castle_04_indian_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_india } - } + ### MEDITERRANEAN ### + asset = { + type = pdxmesh + name = "building_mediterranean_castle_04_western_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { mediterranean_building_gfx } + } + asset = { + type = pdxmesh + name = "building_mediterranean_castle_04_mena_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_mediterranean_castle_04_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "building_mediterranean_castle_04_indian_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_india } + } - ### FP1 Norse ### - asset = { - type = pdxmesh - name = "fp1_building_norse_castle_04_mesh" - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { norse_building_gfx } - } - asset = { - type = pdxmesh - name = "fp1_building_norse_castle_04_mena_mesh" - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "fp1_building_norse_castle_04_mediterranean_mesh" - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "fp1_building_norse_castle_04_indian_mesh" - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_india } - } + ### FP1 Norse ### + asset = { + type = pdxmesh + name = "fp1_building_norse_castle_04_mesh" + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { norse_building_gfx } + } + asset = { + type = pdxmesh + name = "fp1_building_norse_castle_04_mena_mesh" + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "fp1_building_norse_castle_04_mediterranean_mesh" + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "fp1_building_norse_castle_04_indian_mesh" + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_india } + } - ### FP2 Iberian ### - asset = { - type = pdxmesh - name = "fp2_building_iberian_castle_04_mesh" - requires_dlc_flag = the_fate_of_iberia - illustration = @holding_illustration_iberian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/iberian_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { iberian_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### FP2 Iberian ### + asset = { + type = pdxmesh + name = "fp2_building_iberian_castle_04_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @holding_illustration_iberian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/iberian_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } - ### FP3 Iranian ### - asset = { - type = pdxmesh - name = "fp3_building_persian_castle_04_a_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } + ### FP3 Iranian ### + asset = { + type = pdxmesh + name = "fp3_building_persian_castle_04_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } - asset = { - type = pdxmesh - name = "fp3_building_persian_castle_04_a_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - name = "building_mena_castle_04_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_indian_castle_04_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_india } - } + asset = { + type = pdxmesh + name = "fp3_building_persian_castle_04_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_india } + } + asset = { + type = pdxmesh + name = "building_mena_castle_04_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_indian_castle_04_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_india } + } - ### EP3 Byzantine ### - asset = { - type = pdxmesh - name = "ep3_byzantine_castle_04_a_mesh" - requires_dlc_flag = roads_to_power - illustration = @holding_illustration_constantinople - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { byzantine_building_gfx } - provinces = { 496 } - } - asset = { - type = pdxmesh - name = "ep3_byzantine_castle_04_a_mesh" - requires_dlc_flag = roads_to_power - illustration = @holding_illustration_byzantine - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { byzantine_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_04_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_constantinople + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { byzantine_building_gfx } + provinces = { 496 } + } + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_04_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mediterranean } + } - #Steppe fallbacks - #For steppe - asset = { - type = pdxmesh - name = "building_mena_castle_04_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_steppe } - } - asset = { - type = pdxmesh - name = "building_mena_castle_04_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_siberia } - } + #Steppe fallbacks + #For steppe + asset = { + type = pdxmesh + name = "building_mena_castle_04_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_steppe } + } + asset = { + type = pdxmesh + name = "building_mena_castle_04_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_siberia } + } - #Elsewhere - asset = { - type = pdxmesh - name = "building_western_castle_04_mesh" - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 3 } } - graphical_regions = { graphical_western } - graphical_cultures = { steppe_building_gfx } - } - asset = { - type = pdxmesh - name = "building_mena_castle_04_mesh" - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - name = "building_indian_castle_04_mesh" - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - name = "building_mediterranean_castle_04_mesh" - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - name = "ep3_byzantine_castle_04_a_mesh" - requires_dlc_flag = roads_to_power - illustration = @holding_illustration_constantinople - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } - graphical_cultures = { steppe_building_gfx } - provinces = { 496 } - } + #Elsewhere + asset = { + type = pdxmesh + name = "building_western_castle_04_mesh" + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 3 } } + graphical_regions = { graphical_western } + graphical_cultures = { steppe_building_gfx } + } + asset = { + type = pdxmesh + name = "building_mena_castle_04_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = pdxmesh + name = "building_indian_castle_04_mesh" + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_india } + } + asset = { + type = pdxmesh + name = "building_mediterranean_castle_04_mesh" + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "tgp_building_chinese_castle_04_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_east_asia } + } + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_04_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_constantinople + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { steppe_building_gfx } + provinces = { 496 } + } + # SOUTHEAST ASIA # + asset = { + type = pdxmesh + name = "tgp_building_se_asia_castle_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_seasia + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/sea_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + asset = { + type = pdxmesh + name = "tgp_building_chinese_castle_04_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan + asset = { + type = pdxmesh + name = "tgp_building_japanese_castle_04_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_japan + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/japanese_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } can_construct_potential = { building_requirement_tribal = no @@ -1598,6 +1783,7 @@ castle_04 = { culture = { has_innovation = innovation_machicolations } + japan_castle_construction_trigger = yes } cost_gold = main_building_tier_4_cost @@ -1656,16 +1842,14 @@ castle_04 = { if = { limit = { any_vassal = { - has_vassal_stance = parochial + vassal_stance = parochial } save_temporary_scope_as = holder_scope } custom_tooltip = parochial_vassal_approves_holding_upgrade hidden_effect = { every_vassal = { - limit = { - has_vassal_stance = parochial - } + vassal_stance = parochial add_opinion = { target = prev modifier = parochial_approves_holding_upgrade_opinion @@ -1674,6 +1858,10 @@ castle_04 = { } } } + scope:character = { + #Mandala Creator Aspect + creator_mandala_upgraded_regular_holding_piety_effect = yes + } } ai_value = { diff --git a/N3OW/common/buildings/00_city_buildings.txt b/N3OW/common/buildings/00_city_buildings.txt index 1b72725d..f5daa2a3 100644 --- a/N3OW/common/buildings/00_city_buildings.txt +++ b/N3OW/common/buildings/00_city_buildings.txt @@ -1,5 +1,8 @@ @holding_illustration_western = "gfx/interface/illustrations/holding_types/city_western.dds" @holding_illustration_india = "gfx/interface/illustrations/holding_types/city_india.dds" +@holding_illustration_seasia = "gfx/interface/illustrations/holding_types/tgp_tgp_city_se_asia.dds" +@holding_illustration_china = "gfx/interface/illustrations/holding_types/tgp_city_china.dds" +@holding_illustration_japan = "gfx/interface/illustrations/holding_types/tgp_city_japan.dds" @holding_illustration_mediterranean = "gfx/interface/illustrations/holding_types/city_mediterranean.dds" @holding_illustration_mena = "gfx/interface/illustrations/holding_types/city_mena.dds" @holding_illustration_norse = "gfx/interface/illustrations/holding_types/fp1_city_norse.dds" @@ -10,327 +13,367 @@ city_01 = { construction_time = slow_construction_time - asset = { - type = pdxmesh - names = { - "western_city_01_a_mesh" - "western_city_01_b_mesh" - "western_city_01_c_mesh" + #Meshes (Indented for readability) + asset = { + type = pdxmesh + names = { + "western_city_01_a_mesh" + "western_city_01_b_mesh" + "western_city_01_c_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 0 } } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 0 } } - } - asset = { - type = pdxmesh - names = { - "western_city_01_mena_a_mesh" - "western_city_01_mena_b_mesh" - "western_city_01_mena_c_mesh" + asset = { + type = pdxmesh + names = { + "western_city_01_mena_a_mesh" + "western_city_01_mena_b_mesh" + "western_city_01_mena_c_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 0 } } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 0 } } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "western_city_01_indian_a_mesh" - "western_city_01_indian_b_mesh" - "western_city_01_indian_c_mesh" + asset = { + type = pdxmesh + names = { + "western_city_01_indian_a_mesh" + "western_city_01_indian_b_mesh" + "western_city_01_indian_c_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 0 } } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 0 } } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "western_city_01_mediterranean_a_mesh" - "western_city_01_mediterranean_b_mesh" - "western_city_01_mediterranean_c_mesh" + asset = { + type = pdxmesh + names = { + "western_city_01_mediterranean_a_mesh" + "western_city_01_mediterranean_b_mesh" + "western_city_01_mediterranean_c_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 0 } } + graphical_regions = { graphical_mediterranean } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 0 } } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_01_western_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_01_western_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { mena_building_gfx } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mena_building_gfx } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_01_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_01_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_01_indian_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_01_indian_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_01_mediterranean_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_01_mediterranean_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_mediterranean } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "building_india_city_01_western_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_01_western_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { indian_building_gfx } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { indian_building_gfx } - } - asset = { - type = pdxmesh - names = { - "building_india_city_01_mena_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_01_mena_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_india_city_01_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_01_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_india_city_01_mediterranean_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_01_mediterranean_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_mediterranean } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_01_western_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_01_western_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { mediterranean_building_gfx } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mediterranean_building_gfx } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_01_mena_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_01_mena_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_01_indian_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_01_indian_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_01_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_01_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_mediterranean } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_mediterranean } - } - ### FP1 Norse ### - asset = { - type = pdxmesh - names = { - "fp1_building_norse_city_01_a_mesh" + ### FP1 Norse ### + asset = { + type = pdxmesh + names = { + "fp1_building_norse_city_01_a_mesh" + } + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" } + graphical_cultures = { norse_building_gfx } } - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" } - graphical_cultures = { norse_building_gfx } - } - asset = { - type = pdxmesh - names = { - "fp1_building_norse_city_01_mena_mesh" + asset = { + type = pdxmesh + names = { + "fp1_building_norse_city_01_mena_mesh" + } + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_mena } } - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "fp1_building_norse_city_01_mediterranean_mesh" + asset = { + type = pdxmesh + names = { + "fp1_building_norse_city_01_mediterranean_mesh" + } + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_mediterranean } } - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "fp1_building_norse_city_01_indian_mesh" + asset = { + type = pdxmesh + names = { + "fp1_building_norse_city_01_indian_mesh" + } + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_india } } - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_india } - } - ### FP2 Iberian ### - asset = { - type = pdxmesh - name = "fp2_building_iberian_city_01_mesh" - requires_dlc_flag = the_fate_of_iberia - illustration = @holding_illustration_iberian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/iberian_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { iberian_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### FP2 Iberian ### + asset = { + type = pdxmesh + name = "fp2_building_iberian_city_01_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @holding_illustration_iberian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/iberian_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } - ### FP3 Iranian ### - asset = { - type = pdxmesh - name = "fp3_building_persian_city_01_a_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } + ### FP3 Iranian ### + asset = { + type = pdxmesh + name = "fp3_building_persian_city_01_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } - asset = { - type = pdxmesh - name = "fp3_building_persian_city_01_a_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_india } - } + asset = { + type = pdxmesh + name = "fp3_building_persian_city_01_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_india } + } - ### EP3 Byzantine ### - asset = { - type = pdxmesh - name = "ep3_byzantine_city_01_mesh" - ### TODO Add DLC Check - illustration = @holding_illustration_byzantine - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { byzantine_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_city_01_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mediterranean } + } - #Steppe fallbacks - #In steppe - asset = { - type = pdxmesh - names = { - "building_mena_city_01_mesh" + #Steppe fallbacks + #In steppe + asset = { + type = pdxmesh + names = { + "building_mena_city_01_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_steppe } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_steppe } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_01_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_01_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_siberia } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_siberia } - } - #Elsewhere - asset = { - type = pdxmesh - names = { - "western_city_01_a_mesh" - "western_city_01_b_mesh" - "western_city_01_c_mesh" + #Elsewhere + asset = { + type = pdxmesh + names = { + "western_city_01_a_mesh" + "western_city_01_b_mesh" + "western_city_01_c_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 0 } } + graphical_regions = { graphical_western } + graphical_cultures = { steppe_building_gfx } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 0 } } - graphical_regions = { graphical_western } - graphical_cultures = { steppe_building_gfx } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_01_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_01_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_india_city_01_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_01_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_01_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_01_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "tgp_building_chinese_city_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_city_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + # TGP Southeast Asia + asset = { + type = pdxmesh + name = "tgp_building_se_asia_city_01_a_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_seasia + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/sea_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + # TGP Japan + asset = { + type = pdxmesh + name = "tgp_building_japanese_city_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_japan + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/japanese_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_mediterranean } - } can_construct_potential = { barony_cannot_construct_holding = no @@ -414,16 +457,14 @@ city_01 = { if = { limit = { any_vassal = { - has_vassal_stance = parochial + vassal_stance = parochial } save_temporary_scope_as = holder_scope } custom_tooltip = parochial_vassal_approves_holding_construction hidden_effect = { every_vassal = { - limit = { - has_vassal_stance = parochial - } + vassal_stance = parochial add_opinion = { target = prev modifier = parochial_approves_holding_construction_opinion @@ -432,6 +473,22 @@ city_01 = { } } } + #Mandala Creator Aspect + creator_mandala_built_regular_holding_piety_effect = yes + + # Building Oath + hidden_effect = { + if = { + limit = { + county.holder = { + has_character_modifier = oath_of_buildings + } + } + add_random_economic_building_effect = yes + add_random_military_building_effect = yes + add_random_fortification_building_effect = yes + } + } } ai_value = { @@ -468,326 +525,366 @@ city_01 = { city_02 = { construction_time = slow_construction_time - asset = { - type = pdxmesh - names = { - "western_city_01_a_mesh" - "western_city_01_b_mesh" - "western_city_01_c_mesh" + #Meshes (Indented for readability) + asset = { + type = pdxmesh + names = { + "western_city_01_a_mesh" + "western_city_01_b_mesh" + "western_city_01_c_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 1 } } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 1 } } - } - asset = { - type = pdxmesh - names = { - "western_city_01_mena_a_mesh" - "western_city_01_mena_b_mesh" - "western_city_01_mena_c_mesh" + asset = { + type = pdxmesh + names = { + "western_city_01_mena_a_mesh" + "western_city_01_mena_b_mesh" + "western_city_01_mena_c_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 1 } } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 1 } } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "western_city_01_indian_a_mesh" - "western_city_01_indian_b_mesh" - "western_city_01_indian_c_mesh" + asset = { + type = pdxmesh + names = { + "western_city_01_indian_a_mesh" + "western_city_01_indian_b_mesh" + "western_city_01_indian_c_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 1 } } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 1 } } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "western_city_01_mediterranean_a_mesh" - "western_city_01_mediterranean_b_mesh" - "western_city_01_mediterranean_c_mesh" + asset = { + type = pdxmesh + names = { + "western_city_01_mediterranean_a_mesh" + "western_city_01_mediterranean_b_mesh" + "western_city_01_mediterranean_c_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 1 } } + graphical_regions = { graphical_mediterranean } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 1 } } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_01_western_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_01_western_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { mena_building_gfx } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mena_building_gfx } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_01_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_01_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_01_indian_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_01_indian_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_01_mediterranean_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_01_mediterranean_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1} } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_mediterranean } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1} } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "building_india_city_01_western_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_01_western_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { indian_building_gfx } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { indian_building_gfx } - } - asset = { - type = pdxmesh - names = { - "building_india_city_01_mena_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_01_mena_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_india_city_01_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_01_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_india_city_01_mediterranean_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_01_mediterranean_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_mediterranean } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_01_western_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_01_western_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { mediterranean_building_gfx } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mediterranean_building_gfx } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_01_mena_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_01_mena_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_01_indian_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_01_indian_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_01_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_01_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { mediterranean_building_gfx } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mediterranean_building_gfx } - } - ### FP1 Norse ### - asset = { - type = pdxmesh - names = { - "fp1_building_norse_city_01_a_mesh" + ### FP1 Norse ### + asset = { + type = pdxmesh + names = { + "fp1_building_norse_city_01_a_mesh" + } + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { norse_building_gfx } } - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { norse_building_gfx } - } - asset = { - type = pdxmesh - names = { - "fp1_building_norse_city_01_mena_mesh" + asset = { + type = pdxmesh + names = { + "fp1_building_norse_city_01_mena_mesh" + } + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_mena } } - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "fp1_building_norse_city_01_mediterranean_mesh" + asset = { + type = pdxmesh + names = { + "fp1_building_norse_city_01_mediterranean_mesh" + } + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_mediterranean } } - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "fp1_building_norse_city_01_indian_mesh" + asset = { + type = pdxmesh + names = { + "fp1_building_norse_city_01_indian_mesh" + } + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_india } } - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_india } - } - ### FP2 Iberian ### - asset = { - type = pdxmesh - name = "fp2_building_iberian_city_01_mesh" - requires_dlc_flag = the_fate_of_iberia - illustration = @holding_illustration_iberian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/iberian_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { iberian_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### FP2 Iberian ### + asset = { + type = pdxmesh + name = "fp2_building_iberian_city_01_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @holding_illustration_iberian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/iberian_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } - ### FP3 Iranian ### - asset = { - type = pdxmesh - name = "fp3_building_persian_city_01_a_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } + ### FP3 Iranian ### + asset = { + type = pdxmesh + name = "fp3_building_persian_city_01_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } - asset = { - type = pdxmesh - name = "fp3_building_persian_city_01_a_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_india } - } + asset = { + type = pdxmesh + name = "fp3_building_persian_city_01_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_india } + } - ### EP3 Byzantine ### - asset = { - type = pdxmesh - name = "ep3_byzantine_city_01_mesh" - requires_dlc_flag = roads_to_power - illustration = @holding_illustration_byzantine - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { byzantine_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_city_01_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mediterranean } + } - #Steppe fallbacks - #steppe - asset = { - type = pdxmesh - names = { - "building_mena_city_01_mesh" + #Steppe fallbacks + #steppe + asset = { + type = pdxmesh + names = { + "building_mena_city_01_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_steppe } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_steppe } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_01_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_01_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_siberia } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_siberia } - } - #elsewhere - asset = { - type = pdxmesh - names = { - "western_city_01_a_mesh" - "western_city_01_b_mesh" - "western_city_01_c_mesh" + #elsewhere + asset = { + type = pdxmesh + names = { + "western_city_01_a_mesh" + "western_city_01_b_mesh" + "western_city_01_c_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_western } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_western } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_01_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_01_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_india_city_01_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_01_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_01_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_01_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "tgp_building_chinese_city_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_city_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Southeast Asia + asset = { + type = pdxmesh + name = "tgp_building_se_asia_city_01_a_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_seasia + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/sea_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + # TGP Japan + asset = { + type = pdxmesh + name = "tgp_building_japanese_city_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_japan + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/japanese_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_mediterranean } - } can_construct_potential = { building_requirement_tribal = no @@ -874,16 +971,14 @@ city_02 = { if = { limit = { any_vassal = { - has_vassal_stance = parochial + vassal_stance = parochial } save_temporary_scope_as = holder_scope } custom_tooltip = parochial_vassal_approves_holding_upgrade hidden_effect = { every_vassal = { - limit = { - has_vassal_stance = parochial - } + vassal_stance = parochial add_opinion = { target = prev modifier = parochial_approves_holding_upgrade_opinion @@ -892,6 +987,8 @@ city_02 = { } } } + #Mandala Creator Aspect + creator_mandala_upgraded_regular_holding_piety_effect = yes } ai_value = { base = 6 @@ -917,317 +1014,356 @@ city_02 = { city_03 = { construction_time = slow_construction_time - asset = { - type = pdxmesh - names = { - "building_western_city_02_mesh" + #Meshes (Indented for readability) + asset = { + type = pdxmesh + names = { + "building_western_city_02_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } - } - asset = { - type = pdxmesh - names = { - "building_western_city_02_mena_mesh" + asset = { + type = pdxmesh + names = { + "building_western_city_02_mena_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_western_city_02_indian_mesh" + asset = { + type = pdxmesh + names = { + "building_western_city_02_indian_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_western_city_02_mediterranean_mesh" + asset = { + type = pdxmesh + names = { + "building_western_city_02_mediterranean_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } + graphical_regions = { graphical_mediterranean } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_02_western_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_02_western_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mena_building_gfx } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_02_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_02_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_02_indian_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_02_indian_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_02_mediterranean_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_02_mediterranean_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_mediterranean } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "building_india_city_02_western_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_02_western_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { indian_building_gfx } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } - } - asset = { - type = pdxmesh - names = { - "building_india_city_02_mena_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_02_mena_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_india_city_02_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_02_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_india_city_02_mediterranean_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_02_mediterranean_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_mediterranean } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_02_western_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_02_western_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mediterranean_building_gfx } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_02_mena_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_02_mena_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_02_indian_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_02_indian_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_02_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_02_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_mediterranean } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_mediterranean } - } - ### FP1 Norse ### - asset = { - type = pdxmesh - names = { - "fp1_building_norse_city_02_a_mesh" + ### FP1 Norse ### + asset = { + type = pdxmesh + names = { + "fp1_building_norse_city_02_a_mesh" + } + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { norse_building_gfx } } - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { norse_building_gfx } - } - asset = { - type = pdxmesh - names = { - "fp1_building_norse_city_02_mena_mesh" + asset = { + type = pdxmesh + names = { + "fp1_building_norse_city_02_mena_mesh" + } + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_mena } } - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "fp1_building_norse_city_02_mediterranean_mesh" + asset = { + type = pdxmesh + names = { + "fp1_building_norse_city_02_mediterranean_mesh" + } + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_mediterranean } } - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "fp1_building_norse_city_02_indian_mesh" + asset = { + type = pdxmesh + names = { + "fp1_building_norse_city_02_indian_mesh" + } + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_india } } - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_india } - } - ### FP2 Iberian ### - asset = { - type = pdxmesh - name = "fp2_building_iberian_city_02_mesh" - requires_dlc_flag = the_fate_of_iberia - illustration = @holding_illustration_iberian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/iberian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { iberian_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### FP2 Iberian ### + asset = { + type = pdxmesh + name = "fp2_building_iberian_city_02_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @holding_illustration_iberian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/iberian_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } - ### FP3 Iranian ### - asset = { - type = pdxmesh - name = "fp3_building_persian_city_02_a_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } + ### FP3 Iranian ### + asset = { + type = pdxmesh + name = "fp3_building_persian_city_02_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } - asset = { - type = pdxmesh - name = "fp3_building_persian_city_02_a_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_india } - } + asset = { + type = pdxmesh + name = "fp3_building_persian_city_02_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_india } + } - ### EP3 Byzantine ### - asset = { - type = pdxmesh - name = "ep3_byzantine_city_02_mesh" - requires_dlc_flag = roads_to_power - illustration = @holding_illustration_byzantine - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { byzantine_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_city_02_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mediterranean } + } - #Steppe fallbacks - #in steppe - asset = { - type = pdxmesh - names = { - "building_mena_city_02_mesh" + #Steppe fallbacks + #in steppe + asset = { + type = pdxmesh + names = { + "building_mena_city_02_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_steppe } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_steppe } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_02_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_02_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_siberia } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_siberia } - } - #Elsewhere - asset = { - type = pdxmesh - names = { - "building_western_city_02_mesh" + #Elsewhere + asset = { + type = pdxmesh + names = { + "building_western_city_02_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_western } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_western } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_02_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_02_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_india_city_02_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_02_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_02_mesh" + asset = { + type = pdxmesh + name = "tgp_building_chinese_city_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_east_asia } + } + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_02_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_mediterranean } + } + # TGP Southeast Asia + asset = { + type = pdxmesh + name = "tgp_building_se_asia_city_02_a_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_seasia + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/sea_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + asset = { + type = pdxmesh + name = "tgp_building_chinese_city_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan + asset = { + type = pdxmesh + name = "tgp_building_japanese_city_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_japan + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/japanese_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_mediterranean } - } can_construct_potential = { building_requirement_tribal = no @@ -1317,16 +1453,14 @@ city_03 = { if = { limit = { any_vassal = { - has_vassal_stance = parochial + vassal_stance = parochial } save_temporary_scope_as = holder_scope } custom_tooltip = parochial_vassal_approves_holding_upgrade hidden_effect = { every_vassal = { - limit = { - has_vassal_stance = parochial - } + vassal_stance = parochial add_opinion = { target = prev modifier = parochial_approves_holding_upgrade_opinion @@ -1335,6 +1469,8 @@ city_03 = { } } } + #Mandala Creator Aspect + creator_mandala_upgraded_regular_holding_piety_effect = yes } ai_value = { base = 5 @@ -1352,316 +1488,355 @@ city_03 = { city_04 = { construction_time = slow_construction_time - asset = { - type = pdxmesh - names = { - "building_western_city_02_mesh" + #Meshes (Indented for readability) + asset = { + type = pdxmesh + names = { + "building_western_city_02_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } - } - asset = { - type = pdxmesh - names = { - "building_western_city_02_mena_mesh" + asset = { + type = pdxmesh + names = { + "building_western_city_02_mena_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_western_city_02_indian_mesh" + asset = { + type = pdxmesh + names = { + "building_western_city_02_indian_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_western_city_02_mediterranean_mesh" + asset = { + type = pdxmesh + names = { + "building_western_city_02_mediterranean_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } + graphical_regions = { graphical_mediterranean } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_02_western_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_02_western_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mena_building_gfx } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_02_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_02_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_02_indian_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_02_indian_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_02_mediterranean_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_02_mediterranean_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mena_building_gfx } + graphical_regions = { graphical_mediterranean } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "building_india_city_02_western_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_02_western_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { indian_building_gfx } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } - } - asset = { - type = pdxmesh - names = { - "building_india_city_02_mena_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_02_mena_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_india_city_02_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_02_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_india_city_02_mediterranean_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_02_mediterranean_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { indian_building_gfx } + graphical_regions = { graphical_mediterranean } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_02_western_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_02_western_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mediterranean_building_gfx } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_02_mena_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_02_mena_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_02_indian_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_02_indian_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mediterranean_building_gfx } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_02_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_02_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { mediterranean_building_gfx } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } - } - ### FP1 Norse ### - asset = { - type = pdxmesh - names = { - "fp1_building_norse_city_02_a_mesh" + ### FP1 Norse ### + asset = { + type = pdxmesh + names = { + "fp1_building_norse_city_02_a_mesh" + } + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { norse_building_gfx } } - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { norse_building_gfx } - } - asset = { - type = pdxmesh - names = { - "fp1_building_norse_city_02_mena_mesh" + asset = { + type = pdxmesh + names = { + "fp1_building_norse_city_02_mena_mesh" + } + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_mena } } - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "fp1_building_norse_city_02_mediterranean_mesh" + asset = { + type = pdxmesh + names = { + "fp1_building_norse_city_02_mediterranean_mesh" + } + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_mediterranean } } - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mediterranean } - } - asset = { - type = pdxmesh - names = { - "fp1_building_norse_city_02_indian_mesh" + asset = { + type = pdxmesh + names = { + "fp1_building_norse_city_02_indian_mesh" + } + requires_dlc_flag = the_northern_lords + illustration = @holding_illustration_norse + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { norse_building_gfx } + graphical_regions = { graphical_india } } - requires_dlc_flag = the_northern_lords - illustration = @holding_illustration_norse - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_india } - } - ### FP2 Iberian ### - asset = { - type = pdxmesh - name = "fp2_building_iberian_city_02_mesh" - requires_dlc_flag = the_fate_of_iberia - illustration = @holding_illustration_iberian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/iberian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { iberian_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### FP2 Iberian ### + asset = { + type = pdxmesh + name = "fp2_building_iberian_city_02_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @holding_illustration_iberian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/iberian_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } - ### FP3 Iranian ### - asset = { - type = pdxmesh - name = "fp3_building_persian_city_02_a_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } + ### FP3 Iranian ### + asset = { + type = pdxmesh + name = "fp3_building_persian_city_02_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } - asset = { - type = pdxmesh - name = "fp3_building_persian_city_02_a_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_india } - } + asset = { + type = pdxmesh + name = "fp3_building_persian_city_02_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_india } + } - ### EP3 Byzantine ### - asset = { - type = pdxmesh - name = "ep3_byzantine_city_02_mesh" - requires_dlc_flag = roads_to_power - illustration = @holding_illustration_byzantine - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { byzantine_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_city_02_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mediterranean } + } - #Steppe fallbacks - #In steppe - asset = { - type = pdxmesh - names = { - "building_mena_city_02_mesh" + #Steppe fallbacks + #In steppe + asset = { + type = pdxmesh + names = { + "building_mena_city_02_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 3 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_steppe } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 3 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_steppe } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_02_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_02_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 3 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_siberia } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 3 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_siberia } - } - #Elsewhere - asset = { - type = pdxmesh - names = { - "building_western_city_02_mesh" + #Elsewhere + asset = { + type = pdxmesh + names = { + "building_western_city_02_mesh" + } + illustration = @holding_illustration_western + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_western } } - illustration = @holding_illustration_western - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_western } - } - asset = { - type = pdxmesh - names = { - "building_mena_city_02_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_city_02_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_mena } } - illustration = @holding_illustration_mena - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = pdxmesh - names = { - "building_india_city_02_mesh" + asset = { + type = pdxmesh + names = { + "building_india_city_02_mesh" + } + illustration = @holding_illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_india } } - illustration = @holding_illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_india } - } - asset = { - type = pdxmesh - names = { - "building_mediterranean_city_02_mesh" + asset = { + type = pdxmesh + names = { + "building_mediterranean_city_02_mesh" + } + illustration = @holding_illustration_mediterranean + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_mediterranean } + } + asset = { + type = pdxmesh + name = "tgp_building_chinese_city_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 3 } } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Southeast Asia + asset = { + type = pdxmesh + name = "tgp_building_se_asia_city_02_a_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_seasia + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/sea_city" soundparameter = { "Tier" = 3 } } + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + asset = { + type = pdxmesh + name = "tgp_building_chinese_city_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 3 } } + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan + asset = { + type = pdxmesh + name = "tgp_building_japanese_city_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @holding_illustration_japan + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/japanese_city" soundparameter = { "Tier" = 3 } } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } } - illustration = @holding_illustration_mediterranean - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { steppe_building_gfx } - graphical_regions = { graphical_mediterranean } - } can_construct_potential = { building_requirement_tribal = no @@ -1749,16 +1924,14 @@ city_04 = { if = { limit = { any_vassal = { - has_vassal_stance = parochial + vassal_stance = parochial } save_temporary_scope_as = holder_scope } custom_tooltip = parochial_vassal_approves_holding_upgrade hidden_effect = { every_vassal = { - limit = { - has_vassal_stance = parochial - } + vassal_stance = parochial add_opinion = { target = prev modifier = parochial_approves_holding_upgrade_opinion @@ -1767,6 +1940,8 @@ city_04 = { } } } + #Mandala Creator Aspect + creator_mandala_upgraded_regular_holding_piety_effect = yes } ai_value = { base = 4 @@ -1806,6 +1981,11 @@ guild_halls_01 = { development_growth_factor = 0.05 } + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + next_building = guild_halls_02 type_icon = "icon_building_guild_halls.dds" @@ -1816,7 +1996,7 @@ guild_halls_01 = { modifier = { add = 500 scope:holder = { - government_has_flag = government_is_special_republic + government_has_flag = government_is_republic } } } @@ -1828,9 +2008,11 @@ guild_halls_02 = { can_construct_potential = { has_building_or_higher = city_01 culture = { - OR = { + trigger_if = { + limit = { + NOT = { has_cultural_parameter = next_level_guild_halls } + } has_innovation = innovation_crop_rotation - has_cultural_parameter = next_level_guild_halls } } } @@ -1848,13 +2030,18 @@ guild_halls_02 = { development_growth_factor = 0.1 } + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + next_building = guild_halls_03 ai_value = { base = 0 modifier = { add = 9 scope:holder = { - government_has_flag = government_is_special_republic + government_has_flag = government_is_republic } } } @@ -1901,13 +2088,18 @@ guild_halls_03 = { development_growth_factor = 0.15 } + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + next_building = guild_halls_04 ai_value = { base = 0 modifier = { add = 8 scope:holder = { - government_has_flag = government_is_special_republic + government_has_flag = government_is_republic } } } @@ -1955,13 +2147,18 @@ guild_halls_04 = { development_growth_factor = 0.2 } + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + next_building = guild_halls_05 ai_value = { base = 0 modifier = { add = 7 scope:holder = { - government_has_flag = government_is_special_republic + government_has_flag = government_is_republic } } } @@ -2008,13 +2205,18 @@ guild_halls_05 = { development_growth_factor = 0.25 } + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + next_building = guild_halls_06 ai_value = { base = 0 modifier = { add = 6 scope:holder = { - government_has_flag = government_is_special_republic + government_has_flag = government_is_republic } } } @@ -2061,13 +2263,18 @@ guild_halls_06 = { development_growth_factor = 0.3 } + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + next_building = guild_halls_07 ai_value = { base = 0 modifier = { add = 5 scope:holder = { - government_has_flag = government_is_special_republic + government_has_flag = government_is_republic } } } @@ -2114,13 +2321,18 @@ guild_halls_07 = { development_growth_factor = 0.35 } + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + next_building = guild_halls_08 ai_value = { base = 0 modifier = { add = 4 scope:holder = { - government_has_flag = government_is_special_republic + government_has_flag = government_is_republic } } } @@ -2167,12 +2379,17 @@ guild_halls_08 = { development_growth_factor = 0.4 } + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + ai_value = { base = 0 modifier = { add = 3 scope:holder = { - government_has_flag = government_is_special_republic + government_has_flag = government_is_republic } } } diff --git a/N3OW/common/buildings/00_common_buildings.txt b/N3OW/common/buildings/00_common_buildings.txt index 2f0779b7..b68ef267 100644 --- a/N3OW/common/buildings/00_common_buildings.txt +++ b/N3OW/common/buildings/00_common_buildings.txt @@ -20,6 +20,16 @@ hospices_01 = { monthly_income = poor_building_tax_tier_1 epidemic_resistance = 5 } + + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.01 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } next_building = hospices_02 @@ -29,6 +39,7 @@ hospices_01 = { base = 7 ai_tier_1_building_modifier = yes ai_tier_1_economical_building_preference_modifier = yes + ai_tier_1_pious_building_preference_modifier = yes ai_general_building_modifier = yes directive_to_build_economy_modifier = yes modifier = { @@ -96,6 +107,16 @@ hospices_02 = { monthly_income = poor_building_tax_tier_2 epidemic_resistance = 7 } + + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.01 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } next_building = hospices_03 ai_value = { @@ -103,6 +124,7 @@ hospices_02 = { ai_general_building_modifier = yes directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -135,12 +157,23 @@ hospices_03 = { epidemic_resistance = 10 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.02 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = hospices_04 ai_value = { base = 8 ai_general_building_modifier = yes directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -173,12 +206,23 @@ hospices_04 = { epidemic_resistance = 12 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.02 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = hospices_05 ai_value = { base = 7 ai_general_building_modifier = yes directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -212,12 +256,23 @@ hospices_05 = { epidemic_resistance = 15 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.03 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = hospices_06 ai_value = { - base = 7 + base = 6 ai_general_building_modifier = yes directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -251,12 +306,23 @@ hospices_06 = { epidemic_resistance = 17 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.03 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = hospices_07 ai_value = { - base = 7 + base = 5 ai_general_building_modifier = yes directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -290,12 +356,23 @@ hospices_07 = { epidemic_resistance = 20 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.04 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = hospices_08 ai_value = { - base = 7 + base = 4 ai_general_building_modifier = yes directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -329,11 +406,22 @@ hospices_08 = { epidemic_resistance = 25 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.04 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + ai_value = { - base = 7 + base = 3 ai_general_building_modifier = yes directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 diff --git a/N3OW/common/buildings/00_duchy_capital_buildings.txt b/N3OW/common/buildings/00_duchy_capital_buildings.txt index 451d9822..bc5139a9 100644 --- a/N3OW/common/buildings/00_duchy_capital_buildings.txt +++ b/N3OW/common/buildings/00_duchy_capital_buildings.txt @@ -8,6 +8,341 @@ # We place these at the top to make them more visible in the building interface. + +################### +### DRAGON KILN ### +################### +dragon_kiln_01 = { + construction_time = slow_construction_time + effect_desc = { + desc = unlocks_building_desc + desc = dragon_kiln_effect_desc + } + + can_construct_potential = { + building_requirement_castle_city_church = { LEVEL = 01 } + building_requirement_tribal = no + county.holder.culture = { has_cultural_parameter = unlock_dragon_kiln_buildings } + } + + can_construct_showing_failures_only = { + custom_tooltip = { + text = dragon_kiln_terrain_requirement_tt + OR = { + terrain = mountains + terrain = desert_mountains + terrain = hills + culture = { has_cultural_parameter = can_build_quarries_everywhere } + } + } + culture = { has_cultural_parameter = unlock_dragon_kiln_buildings } + } + + is_enabled = { + county.holder = { has_title = prev.duchy } + } + show_disabled = yes + + cost_gold = expensive_building_tier_3_cost + + character_modifier = { + court_grandeur_baseline_add = 4 + character_capital_county_monthly_development_growth_add = 0.2 + } + province_modifier = { + monthly_income = good_building_tax_tier_4 + } + + next_building = dragon_kiln_02 + + type_icon = "icon_building_dragon_kiln.dds" + + type = duchy_capital + + flag = duchy_building + + ai_value = { + base = 44 + modifier = { + factor = 2 + scope:holder.capital_province = this + } + modifier = { # Fill all building slots before going for duchy buildings + factor = 0 + free_building_slots > 0 + } + modifier = { # Less likely when the AI should build regular buildings first + factor = 0.1 + scope:holder = { ai_should_focus_on_building_in_their_capital = yes } + } + } +} + +dragon_kiln_02 = { + construction_time = slow_construction_time + effect_desc = { + desc = unlocks_building_desc + desc = dragon_kiln_effect_desc + } + + can_construct_potential = { + building_requirement_castle_city_church = { LEVEL = 01 } + building_requirement_tribal = no + county.holder.culture = { has_innovation = innovation_windmills } + } + + is_enabled = { + county.holder = { has_title = prev.duchy } + } + show_disabled = yes + + cost_gold = expensive_building_tier_4_cost + + character_modifier = { + court_grandeur_baseline_add = 8 + character_capital_county_monthly_development_growth_add = 0.4 + } + province_modifier = { + monthly_income = good_building_tax_tier_5 + } + + next_building = dragon_kiln_03 + + type = duchy_capital + + flag = duchy_building + + ai_value = { + base = 20 + modifier = { + factor = 2 + scope:holder.capital_province = this + } + } +} + +dragon_kiln_03 = { + construction_time = slow_construction_time + effect_desc = { + desc = unlocks_building_desc + desc = dragon_kiln_effect_desc + } + + can_construct_potential = { + building_requirement_castle_city_church = { LEVEL = 01 } + building_requirement_tribal = no + county.holder.culture = { has_innovation = innovation_cranes } + } + + is_enabled = { + county.holder = { has_title = prev.duchy } + } + show_disabled = yes + + cost_gold = expensive_building_tier_5_cost + + character_modifier = { + #Add a court grandeur bonus + court_grandeur_baseline_add = 12 + character_capital_county_monthly_development_growth_add = 0.6 + } + province_modifier = { + monthly_income = good_building_tax_tier_6 + } + + type = duchy_capital + + flag = duchy_building + flag = fully_upgraded_duchy_capital_building + + ai_value = { + base = 20 + modifier = { + factor = 2 + scope:holder.capital_province = this + } + } +} + +# Examination Hall + +examination_hall_01 = { + construction_time = slow_construction_time + effect_desc = examination_hall_effects_desc + + can_construct_potential = { + building_examination_hall_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 01 } + } + + is_enabled = { + scope:holder = { + government_has_flag = government_has_merit + } + } + show_disabled = yes + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + scope:holder = { + highest_held_title_tier >= tier_duchy + } + } + + cost_gold = expensive_building_tier_3_cost + + duchy_capital_county_modifier = { + development_growth_factor = 0.1 + } + + character_modifier = { + monthly_merit_mult = 0.15 + monthly_influence = 0.5 + monthly_lifestyle_xp_gain_mult = 0.04 + } + + type_icon = "icon_building_examination_hall.dds" + + next_building = examination_hall_02 + + type = duchy_capital + + flag = duchy_building + + ai_value = { + base = 22 + modifier = { + factor = 2 + scope:holder.capital_province = this + } + modifier = { + factor = 2 + OR = { + scope:holder.primary_title.tier >= tier_kingdom + scope:holder.learning >= 18 + } + } + modifier = { # Fill all building slots before going for duchy buildings + factor = 0 + free_building_slots > 0 + } + modifier = { # Less likely when the AI should build regular buildings first + factor = 0.1 + scope:holder = { ai_should_focus_on_building_in_their_capital = yes } + } + } +} + +examination_hall_02 = { + construction_time = slow_construction_time + effect_desc = examination_hall_effects_desc + + can_construct_potential = { + building_examination_hall_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 01 } + } + + is_enabled = { + scope:holder = { + government_has_flag = government_has_merit + } + } + show_disabled = yes + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + scope:holder = { + highest_held_title_tier >= tier_duchy + } + } + + cost_gold = expensive_building_tier_4_cost + + duchy_capital_county_modifier = { + development_growth_factor = 0.2 + } + + character_modifier = { + monthly_merit_mult = 0.15 + monthly_influence = 1 + monthly_lifestyle_xp_gain_mult = 0.08 + } + + next_building = examination_hall_03 + + type = duchy_capital + + flag = duchy_building + + ai_value = { + base = 20 + modifier = { + factor = 2 + scope:holder.capital_province = this + } + } +} + +examination_hall_03 = { + construction_time = slow_construction_time + effect_desc = examination_hall_effects_desc + + can_construct_potential = { + building_examination_hall_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 02 } + } + + is_enabled = { + scope:holder = { + government_has_flag = government_has_merit + } + } + show_disabled = yes + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + scope:holder = { + highest_held_title_tier >= tier_duchy + } + } + + cost_gold = expensive_building_tier_5_cost + + duchy_capital_county_modifier = { + development_growth_factor = 0.3 + } + + character_modifier = { + monthly_merit_mult = 0.15 + monthly_influence = 1.5 + monthly_lifestyle_xp_gain_mult = 0.12 + } + + type = duchy_capital + + flag = duchy_building + + ai_value = { + base = 20 + modifier = { + factor = 2 + scope:holder.capital_province = this + } + } +} + ################## # Tower of Silence ################## @@ -63,8 +398,14 @@ tower_of_silence_01 = { epidemic_resistance = 10 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + ai_value = { base = 100 + ai_pious_building_preference_modifier = yes # Fill all building slots before going for duchy buildings modifier = { factor = 0 @@ -73,11 +414,12 @@ tower_of_silence_01 = { modifier = { # Less likely when the AI should build regular buildings first factor = 0.1 scope:holder = { ai_should_focus_on_building_in_their_capital = yes } - } + } } type = duchy_capital + flag = duchy_building flag = fully_upgraded_duchy_capital_building } @@ -111,13 +453,23 @@ charnel_grounds_01 = { cost_gold = expensive_building_tier_3_cost duchy_capital_county_modifier = { + development_growth_factor = 0.1 county_opinion_add = 5 - epidemic_resistance = 10 + epidemic_resistance = 20 } character_modifier = { - monthly_piety = 0.1 + monthly_piety = 0.3 stress_gain_mult = -0.1 clergy_opinion = 5 + legitimacy_gain_mult = 0.1 + } + province_modifier = { + monthly_income = good_building_tax_tier_1 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t1_effect = yes } next_building = charnel_grounds_02 @@ -126,8 +478,11 @@ charnel_grounds_01 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 + ai_pious_building_preference_modifier = yes modifier = { factor = 2 scope:holder.capital_province = this @@ -165,22 +520,34 @@ charnel_grounds_02 = { cost_gold = expensive_building_tier_4_cost duchy_capital_county_modifier = { + development_growth_factor = 0.2 county_opinion_add = 10 - epidemic_resistance = 15 + epidemic_resistance = 30 } character_modifier = { - monthly_piety = 0.2 + monthly_piety = 0.5 stress_gain_mult = -0.15 - negate_health_penalty_add = 0.05 clergy_opinion = 10 + legitimacy_gain_mult = 0.15 + } + province_modifier = { + monthly_income = good_building_tax_tier_2 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t2_effect = yes } next_building = charnel_grounds_03 type = duchy_capital + flag = duchy_building + ai_value = { base = 20 + ai_pious_building_preference_modifier = yes modifier = { factor = 2 scope:holder.capital_province = this @@ -214,22 +581,33 @@ charnel_grounds_03 = { cost_gold = expensive_building_tier_5_cost duchy_capital_county_modifier = { + development_growth_factor = 0.3 county_opinion_add = 15 - epidemic_resistance = 20 + epidemic_resistance = 40 } character_modifier = { - monthly_piety = 0.3 + monthly_piety = 1 stress_gain_mult = -0.2 - negate_health_penalty_add = 0.1 clergy_opinion = 15 + legitimacy_gain_mult = 0.2 + } + province_modifier = { + monthly_income = good_building_tax_tier_3 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes } type = duchy_capital + flag = duchy_building flag = fully_upgraded_duchy_capital_building ai_value = { base = 20 + ai_pious_building_preference_modifier = yes modifier = { factor = 2 scope:holder.capital_province = this @@ -249,7 +627,7 @@ burial_site_01 = { can_construct_potential = { building_requirement_castle_city_church = { LEVEL = 01 } building_requirement_tribal = no - scope:holder = { has_dlc_feature = legends_of_the_dead } + has_dlc_feature = legends_of_the_dead } can_construct_showing_failures_only = { @@ -277,14 +655,22 @@ burial_site_01 = { epidemic_resistance = 20 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t1_effect = yes + } + next_building = burial_site_02 type_icon = "icon_building_graveyard.dds" type = duchy_capital + + flag = duchy_building ai_value = { base = 20 + ai_pious_building_preference_modifier = yes modifier = { factor = 2 scope:holder.capital_province = this @@ -306,7 +692,7 @@ burial_site_02 = { can_construct_potential = { building_requirement_castle_city_church = { LEVEL = 01 } building_requirement_tribal = no - scope:holder = { has_dlc_feature = legends_of_the_dead } + has_dlc_feature = legends_of_the_dead } can_construct_showing_failures_only = { @@ -334,12 +720,20 @@ burial_site_02 = { epidemic_resistance = 30 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t2_effect = yes + } + next_building = burial_site_03 type = duchy_capital + + flag = duchy_building ai_value = { base = 20 + ai_pious_building_preference_modifier = yes modifier = { factor = 2 scope:holder.capital_province = this @@ -353,7 +747,7 @@ burial_site_03 = { can_construct_potential = { building_requirement_castle_city_church = { LEVEL = 01 } building_requirement_tribal = no - scope:holder = { has_dlc_feature = legends_of_the_dead } + has_dlc_feature = legends_of_the_dead } can_construct_showing_failures_only = { @@ -381,12 +775,19 @@ burial_site_03 = { epidemic_resistance = 40 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + type = duchy_capital + flag = duchy_building flag = fully_upgraded_duchy_capital_building ai_value = { base = 20 + ai_pious_building_preference_modifier = yes modifier = { factor = 2 scope:holder.capital_province = this @@ -445,6 +846,8 @@ royal_garden_01 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -501,6 +904,8 @@ royal_garden_02 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -547,6 +952,7 @@ royal_garden_03 = { type = duchy_capital + flag = duchy_building flag = fully_upgraded_duchy_capital_building ai_value = { @@ -597,6 +1003,8 @@ military_academy_01 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -649,6 +1057,8 @@ military_academy_02 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -691,6 +1101,7 @@ military_academy_03 = { type = duchy_capital + flag = duchy_building flag = fully_upgraded_duchy_capital_building ai_value = { @@ -747,6 +1158,8 @@ march_01 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -808,6 +1221,8 @@ march_02 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -858,6 +1273,7 @@ march_03 = { type = duchy_capital flag = raid_protection_2 + flag = duchy_building flag = fully_upgraded_duchy_capital_building ai_value = { @@ -910,6 +1326,8 @@ siege_works_01 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -967,6 +1385,8 @@ siege_works_02 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -1015,6 +1435,7 @@ siege_works_03 = { type = duchy_capital + flag = duchy_building flag = fully_upgraded_duchy_capital_building ai_value = { @@ -1091,6 +1512,8 @@ royal_armory_01 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -1171,6 +1594,8 @@ royal_armory_02 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -1240,6 +1665,7 @@ royal_armory_03 = { type = duchy_capital + flag = duchy_building flag = fully_upgraded_duchy_capital_building ai_value = { @@ -1309,6 +1735,8 @@ jousting_lists_01 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 ai_anti_synergy_armored_infantry_modifier = yes @@ -1407,6 +1835,8 @@ jousting_lists_02 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -1470,6 +1900,7 @@ jousting_lists_03 = { type = duchy_capital + flag = duchy_building flag = fully_upgraded_duchy_capital_building ai_value = { @@ -1544,6 +1975,13 @@ blacksmiths_01 = { stationed_heavy_infantry_toughness_mult = normal_maa_toughness_tier_1 } + province_culture_modifier = { + parameter = coking_smith_bonuses + stationed_pikemen_damage_mult = normal_maa_damage_tier_1 + stationed_pikemen_toughness_mult = normal_maa_toughness_tier_1 + stationed_heavy_infantry_damage_mult = normal_maa_damage_tier_1 + stationed_heavy_infantry_toughness_mult = normal_maa_toughness_tier_1 + } next_building = blacksmiths_02 @@ -1551,6 +1989,8 @@ blacksmiths_01 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 ai_anti_synergy_cavalry_modifier = yes @@ -1630,6 +2070,14 @@ blacksmiths_02 = { stationed_heavy_infantry_damage_mult = normal_maa_damage_tier_2 stationed_heavy_infantry_toughness_mult = normal_maa_toughness_tier_2 } + + province_culture_modifier = { + parameter = coking_smith_bonuses + stationed_pikemen_damage_mult = normal_maa_damage_tier_2 + stationed_pikemen_toughness_mult = normal_maa_toughness_tier_2 + stationed_heavy_infantry_damage_mult = normal_maa_damage_tier_2 + stationed_heavy_infantry_toughness_mult = normal_maa_toughness_tier_2 + } is_enabled = { county.holder = { has_title = prev.duchy } @@ -1653,6 +2101,8 @@ blacksmiths_02 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -1725,9 +2175,18 @@ blacksmiths_03 = { stationed_heavy_infantry_damage_mult = normal_maa_damage_tier_3 stationed_heavy_infantry_toughness_mult = normal_maa_toughness_tier_3 } + + province_culture_modifier = { + parameter = coking_smith_bonuses + stationed_pikemen_damage_mult = normal_maa_damage_tier_3 + stationed_pikemen_toughness_mult = normal_maa_toughness_tier_3 + stationed_heavy_infantry_damage_mult = normal_maa_damage_tier_3 + stationed_heavy_infantry_toughness_mult = normal_maa_toughness_tier_3 + } type = duchy_capital + flag = duchy_building flag = fully_upgraded_duchy_capital_building ai_value = { @@ -1789,6 +2248,8 @@ archery_ranges_01 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 ai_anti_synergy_cavalry_modifier = yes @@ -1884,6 +2345,8 @@ archery_ranges_02 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -1939,6 +2402,7 @@ archery_ranges_03 = { type = duchy_capital + flag = duchy_building flag = fully_upgraded_duchy_capital_building ai_value = { @@ -1982,6 +2446,8 @@ tax_assessor_01 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -2044,6 +2510,8 @@ tax_assessor_02 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -2081,6 +2549,7 @@ tax_assessor_03 = { type = duchy_capital + flag = duchy_building flag = fully_upgraded_duchy_capital_building ai_value = { @@ -2133,6 +2602,8 @@ leisure_palace_01 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 10 @@ -2200,6 +2671,8 @@ leisure_palace_02 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -2246,6 +2719,7 @@ leisure_palace_03 = { type = duchy_capital + flag = duchy_building flag = fully_upgraded_duchy_capital_building ai_value = { @@ -2302,6 +2776,8 @@ royal_forest_01 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -2354,6 +2830,8 @@ royal_forest_02 = { type = duchy_capital + flag = duchy_building + ai_value = { base = 20 modifier = { @@ -2396,6 +2874,7 @@ royal_forest_03 = { type = duchy_capital + flag = duchy_building flag = fully_upgraded_duchy_capital_building ai_value = { @@ -2467,5 +2946,6 @@ great_megalith_01 = { type = duchy_capital + flag = duchy_building flag = fully_upgraded_duchy_capital_building } diff --git a/N3OW/common/buildings/00_legendary_buildings.txt b/N3OW/common/buildings/00_legendary_buildings.txt index ce650e3f..bc14e448 100644 --- a/N3OW/common/buildings/00_legendary_buildings.txt +++ b/N3OW/common/buildings/00_legendary_buildings.txt @@ -67,6 +67,7 @@ legendary_shrine = { 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 diff --git a/N3OW/common/buildings/00_special_buildings.txt b/N3OW/common/buildings/00_special_buildings.txt index 9a404cca..2a567d53 100644 --- a/N3OW/common/buildings/00_special_buildings.txt +++ b/N3OW/common/buildings/00_special_buildings.txt @@ -65,9 +65,15 @@ holy_site_cathedral_01 = { province_modifier = { monthly_income = 2 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -137,9 +143,15 @@ holy_site_mosque_01 = { province_modifier = { monthly_income = 2 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -215,9 +227,15 @@ holy_site_fire_temple_01 = { province_modifier = { monthly_income = 2 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -295,9 +313,15 @@ holy_site_pagan_grand_temple_01 = { province_modifier = { monthly_income = 1 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -373,9 +397,350 @@ holy_site_indian_grand_temple_01 = { province_modifier = { monthly_income = 2 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 +} + +holy_site_buddhist_grand_temple_01 = { + effect_desc = { + triggered_desc = { + trigger = { has_dlc_feature = legends_of_the_dead } + desc = building_funeral_effect_desc + } + } + + asset = { + type = pdxmesh + name = "tgp_building_special_chinese_pagoda_03_mesh" + graphical_cultures = { chinese_building_gfx } + } + asset = { + type = pdxmesh + name = "tgp_building_special_japanese_pagoda_03_mesh" + graphical_cultures = { japanese_building_gfx } + } + asset = { + type = pdxmesh + name = "building_special_brihadeeswarar_temple_mesh" + graphical_cultures = { indian_building_gfx } + } + + construction_time = very_slow_construction_time + + type_icon = "icon_structure_cathedral_buddhist.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + can_construct = { + custom_description = { + text = holy_site_building_trigger + barony = { + is_holy_site_of = scope:holder.faith + } + } + scope:holder = { + culture = { + has_innovation = innovation_crop_rotation + } + } + } + + is_enabled = { + custom_description = { + text = holy_site_building_trigger + barony = { + is_holy_site_of = scope:holder.faith + } + } + } + + cost_gold = 1000 + + character_modifier = { + monthly_piety = 0.25 + monthly_dynasty_prestige_mult = 0.05 + different_faith_opinion = 5 + different_faith_county_opinion_mult = -0.15 + monthly_county_control_growth_factor = 0.05 + } + + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + province_modifier = { + monthly_income = 2 + } + + on_complete = { + } + + 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 +} + +holy_site_japanese_temple_01 = { + effect_desc = { + triggered_desc = { + trigger = { has_dlc_feature = legends_of_the_dead } + desc = building_funeral_effect_desc + } + } + + asset = { + type = pdxmesh + name = "tgp_building_special_japanese_temple_03_mesh" + } + + construction_time = very_slow_construction_time + + type_icon = "icon_structure_torii_gate.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + can_construct = { + custom_description = { + text = holy_site_building_trigger + barony = { + is_holy_site_of = scope:holder.faith + } + } + scope:holder = { + culture = { + has_innovation = innovation_crop_rotation + } + } + } + + is_enabled = { + custom_description = { + text = holy_site_building_trigger + barony = { + is_holy_site_of = scope:holder.faith + } + } + } + + cost_gold = 1000 + + character_modifier = { + monthly_piety = 0.25 + monthly_dynasty_prestige_mult = 0.05 + different_faith_opinion = 5 + different_faith_county_opinion_mult = -0.15 + monthly_county_control_growth_factor = 0.05 + } + + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + province_modifier = { + monthly_income = 2 + } + + on_complete = { + } + + 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 +} + +holy_site_chinese_temple_01 = { + effect_desc = { + triggered_desc = { + trigger = { has_dlc_feature = legends_of_the_dead } + desc = building_funeral_effect_desc + } + } + + asset = { + type = pdxmesh + name = "tgp_building_special_chinese_temple_03_mesh" + } + + construction_time = very_slow_construction_time + + type_icon = "icon_structure_fogong_temple_pagoda.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + can_construct = { + custom_description = { + text = holy_site_building_trigger + barony = { + is_holy_site_of = scope:holder.faith + } + } + scope:holder = { + culture = { + has_innovation = innovation_crop_rotation + } + } + } + + is_enabled = { + custom_description = { + text = holy_site_building_trigger + barony = { + is_holy_site_of = scope:holder.faith + } + } + } + + cost_gold = 1000 + + character_modifier = { + monthly_piety = 0.25 + monthly_dynasty_prestige_mult = 0.05 + different_faith_opinion = 5 + different_faith_county_opinion_mult = -0.15 + monthly_county_control_growth_factor = 0.05 + } + + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + province_modifier = { + monthly_income = 2 + } + + on_complete = { + } + + 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 +} + +holy_site_se_asia_pagan_temple_01 = { + effect_desc = { + triggered_desc = { + trigger = { has_dlc_feature = legends_of_the_dead } + desc = building_funeral_effect_desc + } + } + + asset = { + type = pdxmesh + name = "tgp_building_special_se_asia_pagan_temple_03_mesh" + } + + construction_time = very_slow_construction_time + + type_icon = "icon_structure_po_klong_garai.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + can_construct = { + custom_description = { + text = holy_site_building_trigger + barony = { + is_holy_site_of = scope:holder.faith + } + } + scope:holder = { + culture = { + has_innovation = innovation_crop_rotation + } + } + } + + is_enabled = { + custom_description = { + text = holy_site_building_trigger + barony = { + is_holy_site_of = scope:holder.faith + } + } + } + + cost_gold = 1000 + + character_modifier = { + monthly_piety = 0.25 + monthly_dynasty_prestige_mult = 0.05 + different_faith_opinion = 5 + different_faith_county_opinion_mult = -0.15 + monthly_county_control_growth_factor = 0.05 + } + + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + province_modifier = { + monthly_income = 2 + } + + on_complete = { + } + + 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 @@ -450,9 +815,15 @@ holy_site_other_grand_temple_01 = { province_modifier = { monthly_income = 2 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -517,9 +888,15 @@ holy_site_mahabodhi_temple_01 = { province_modifier = { monthly_income = 3 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -580,9 +957,15 @@ holy_site_imam_ali_mosque_01 = { province_modifier = { monthly_income = 3 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -647,9 +1030,15 @@ holy_site_great_mosque_of_mecca_01 = { province_modifier = { monthly_income = 3 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -725,9 +1114,15 @@ holy_site_great_mosque_of_cordoba_01 = { province_modifier = { monthly_income = 3 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -811,9 +1206,15 @@ holy_site_great_mosque_of_djenne_01 = { development_growth_factor = 0.2 development_growth = 0.3 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -897,9 +1298,15 @@ holy_site_great_mosque_of_samarra_01 = { development_growth_factor = 0.2 development_growth = 0.3 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -987,9 +1394,15 @@ holy_site_cologne_cathedral_01 = { province_modifier = { monthly_income = 2 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -1081,11 +1494,17 @@ holy_site_canterbury_cathedral_01 = { province_modifier = { monthly_income = 3 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } next_building = holy_site_canterbury_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 @@ -1173,11 +1592,17 @@ holy_site_canterbury_cathedral_02 = { province_modifier = { monthly_income = 5 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } next_building = holy_site_canterbury_cathedral_03 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 @@ -1266,9 +1691,15 @@ holy_site_canterbury_cathedral_03 = { province_modifier = { monthly_income = 6 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -1349,9 +1780,15 @@ holy_site_prophetic_mosque_01 = { development_growth = 0.3 supply_limit_mult = 1 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -1382,7 +1819,7 @@ doges_palace_01 = { # Should technically be burnt down/rebuilt, but this is most custom_tooltip = { text = government_is_not_republic_or_admin_desc OR = { - government_has_flag = government_is_special_republic + government_has_flag = government_is_republic government_has_flag = government_is_administrative } } @@ -1838,9 +2275,15 @@ stonehenge_01 = { monthly_learning_lifestyle_xp_gain_mult = 0.15 faith_conversion_piety_cost_mult = -0.2 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -1995,9 +2438,15 @@ buddhas_of_bamian_01 = { development_growth = 0.3 development_growth_factor = 0.75 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -2249,6 +2698,7 @@ house_of_wisdom_01 = { type = special flag = travel_point_of_interest_learning + flag = special_university } ########## @@ -2331,14 +2781,9 @@ the_tower_of_london_01 = { london_bridge_01 = { - asset = { - type = pdxmesh - name = "building_special_tower_of_london_mesh" #TODO_CD_ERCC - } - construction_time = very_slow_construction_time - type_icon = "icon_structure_london_bridge.dds" #TODO_CD_ERCC + type_icon = "icon_structure_london_bridge.dds" can_construct_potential = { building_requirement_tribal = no @@ -2439,9 +2884,15 @@ notre_dame_01 = { province_modifier = { monthly_income = 2 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -2511,9 +2962,15 @@ brihadeeswarar_temple_01 = { development_growth_factor = 0.2 development_growth = 0.2 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -2574,9 +3031,15 @@ shwedagon_pagoda_01 = { development_growth_factor = 0.2 development_growth = 0.3 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -2637,9 +3100,15 @@ ananda_temple_01 = { development_growth_factor = 0.2 development_growth = 0.2 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } ai_value = { - base = 100 + base = 8 + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for special buildings factor = 0 free_building_slots > 0 @@ -2709,9 +3178,15 @@ the_friday_mosque_01 = { development_growth_factor = 0.25 development_growth = 0.3 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -2765,9 +3240,15 @@ khajuraho_01 = { development_growth_factor = 0.2 development_growth = 0.3 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -2877,9 +3358,15 @@ hagia_sophia_01 = { county_modifier = { development_growth_factor = 0.2 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -2950,9 +3437,15 @@ hagia_sophia_02 = { knight_effectiveness_mult = 0.2 monthly_dynasty_prestige_mult = 0.05 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } ai_value = { base = 100 + ai_pious_building_preference_modifier = yes } type = special @@ -3010,9 +3503,15 @@ dome_of_the_rock_01 = { province_modifier = { monthly_income = 3 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -3092,9 +3591,15 @@ temple_in_jerusalem_01 = { province_modifier = { monthly_income = 3 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -3334,7 +3839,7 @@ generic_university = { every_player = { limit = { - NOT = { this = scope:founder } + this != scope:founder is_within_diplo_range = { CHARACTER = scope:founder } } trigger_event = major_decisions.2002 @@ -3367,6 +3872,7 @@ generic_university = { type = special flag = travel_point_of_interest_learning + flag = special_university } al_azhar_university = { @@ -3422,6 +3928,7 @@ al_azhar_university = { type = special flag = travel_point_of_interest_learning + flag = special_university } sankore_university = { @@ -3478,6 +3985,7 @@ sankore_university = { type = special flag = travel_point_of_interest_learning + flag = special_university } siena_university = { @@ -3533,6 +4041,7 @@ siena_university = { type = special flag = travel_point_of_interest_learning + flag = special_university } nalanda_university = { @@ -3588,6 +4097,7 @@ nalanda_university = { type = special flag = travel_point_of_interest_learning + flag = special_university } ######## @@ -3799,9 +4309,15 @@ golden_gate_of_kiev_01 = { development_growth_factor = 0.1 tax_mult = 0.1 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } ai_value = { base = 100 + ai_pious_building_preference_modifier = yes culture_likely_to_fortify_modifier = yes modifier = { # Fill all building slots before going for special buildings factor = 0 @@ -3848,9 +4364,15 @@ heddal_stave_church_01 = { levy_size = 0.1 county_opinion_add = 10 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -3926,11 +4448,17 @@ temple_of_uppsala_01 = { levy_size = 0.1 development_growth_factor = 0.2 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } next_building = temple_of_uppsala_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 @@ -4003,9 +4531,15 @@ temple_of_uppsala_02 = { levy_size = 0.15 development_growth_factor = 0.25 } + + 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 @@ -4077,9 +4611,15 @@ lund_cathedral_01 = { development_growth_factor = 0.2 development_growth = 0.2 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -4219,6 +4759,7 @@ rock_of_gibraltar_01 = { type = special flag = travel_point_of_interest_natural_feature + flag = is_mountain } ########## @@ -4479,9 +5020,15 @@ holy_site_basilica_santiago_01 = { province_modifier = { monthly_income = 3 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -4553,8 +5100,14 @@ imam_reza_shrine_01 = { development_growth_factor = 0.55 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + 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 @@ -4607,8 +5160,14 @@ soltaniyeh_01 = { development_growth_factor = 0.1 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + ai_value = { base = 100 + ai_pious_building_preference_modifier = yes culture_likely_to_fortify_modifier = yes modifier = { # Fill all building slots before going for special buildings factor = 0 @@ -4686,7 +5245,7 @@ palace_of_ctesiphon_02 = { faith = faith:hellenic_pagan } highest_held_title_tier >= tier_kingdom - is_independent_ruler = yes + top_liege = this } } } @@ -4974,6 +5533,7 @@ rainbow_mountains_01 = { type = special flag = travel_point_of_interest_natural_feature # mountain + flag = is_mountain } ########## @@ -5029,6 +5589,7 @@ mount_damavand_01 = { type = special flag = travel_point_of_interest_natural_feature # mountain + flag = is_mountain } ########## @@ -5122,15 +5683,6 @@ ark_of_bukhara_01 = { development_growth = 0.1 hostile_raid_time = 0.25 } - - ai_value = { - base = 100 - culture_likely_to_fortify_modifier = yes - modifier = { # Fill all building slots before going for special buildings - factor = 0 - free_building_slots > 0 - } - } ai_value = { base = 100 @@ -5173,17 +5725,14 @@ shah_i_zinda_01 = { monthly_county_control_growth_add = 0.5 } - ai_value = { - base = 100 - culture_likely_to_fortify_modifier = yes - modifier = { # Fill all building slots before going for special buildings - factor = 0 - free_building_slots > 0 - } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t2_effect = yes } - + ai_value = { base = 100 + ai_pious_building_preference_modifier = yes culture_likely_to_fortify_modifier = yes modifier = { # Fill all building slots before going for special buildings factor = 0 @@ -5224,17 +5773,14 @@ shah_i_zinda_02 = { development_growth = 0.2 } - ai_value = { - base = 100 - culture_likely_to_fortify_modifier = yes - modifier = { # Fill all building slots before going for special buildings - factor = 0 - free_building_slots > 0 - } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes } ai_value = { base = 100 + ai_pious_building_preference_modifier = yes culture_likely_to_fortify_modifier = yes modifier = { # Fill all building slots before going for special buildings factor = 0 @@ -5283,9 +5829,15 @@ alamut_castle_01 = { monthly_county_control_growth_factor = 0.2 monthly_piety = 0.2 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } ai_value = { base = 100 + ai_pious_building_preference_modifier = yes culture_likely_to_fortify_modifier = yes modifier = { # Fill all building slots before going for special buildings factor = 0 @@ -5338,9 +5890,15 @@ alamut_castle_02 = { defender_holding_advantage = 4 monthly_county_control_growth_add = 1 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } ai_value = { base = 100 + ai_pious_building_preference_modifier = yes culture_likely_to_fortify_modifier = yes modifier = { # Fill all building slots before going for special buildings factor = 0 @@ -5385,9 +5943,15 @@ assassin_castle_01 = { defender_holding_advantage = 4 monthly_county_control_growth_add = 1 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } ai_value = { base = 100 + ai_pious_building_preference_modifier = yes culture_likely_to_fortify_modifier = yes modifier = { # Fill all building slots before going for special buildings factor = 0 @@ -5473,9 +6037,15 @@ church_of_the_theotokos = { travel_danger = -10 monthly_income = 1 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -5531,9 +6101,15 @@ parthenon = { travel_danger = -10 monthly_income = 1 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -5581,9 +6157,15 @@ hagios_demetrios = { province_modifier = { monthly_income = 0.5 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -5686,9 +6268,15 @@ saint_lazarus = { province_modifier = { monthly_income = 0.4 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -5740,10 +6328,16 @@ sumela_monastery_01 = { monthly_income = 0.2 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + next_building = sumela_monastery_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 @@ -5796,9 +6390,15 @@ sumela_monastery_02 = { province_modifier = { monthly_income = 0.4 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -6018,10 +6618,16 @@ meteora_01 = { monthly_income = 0.4 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + next_building = meteora_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 @@ -6074,9 +6680,15 @@ meteora_02 = { province_modifier = { monthly_income = 0.5 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } 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 @@ -6176,10 +6788,16 @@ mount_athos_02 = { monthly_income = 0.3 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + next_building = mount_athos_03 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 @@ -6232,8 +6850,14 @@ mount_athos_03 = { monthly_income = 0.4 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + 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 @@ -6286,8 +6910,14 @@ apollinare_nuovo = { monthly_income = 0.5 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + 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 @@ -6342,8 +6972,14 @@ saint_catherine = { fort_level = good_building_fort_level_tier_1 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + 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 @@ -6396,8 +7032,14 @@ jvari_monastery = { monthly_income = 1 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + 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 @@ -6451,8 +7093,14 @@ etchmiadzin_cathedral = { monthly_income = 1 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + 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 @@ -6505,8 +7153,14 @@ cattolica_stilo = { monthly_income = 0.2 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + 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 @@ -6556,8 +7210,14 @@ hosios_loukas = { monthly_income = 1 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + 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 @@ -6610,8 +7270,14 @@ sofia_ohrid = { monthly_income = 0.5 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + 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 @@ -6749,7 +7415,6 @@ pleasure_dome = { type = special } -########## # Burkhan Khaldun ########## @@ -6784,6 +7449,1079 @@ burkhan_khaldun_01 = { county_opinion_add = 5 mountains_fertility_growth_mult = 0.25 } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + + 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_natural_feature +} + +########## +# Swahili Ports +########## + +swahili_port_pemba = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_swahili_port.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + cost_gold = 1000 + + character_modifier = { + naval_movement_speed_mult = 0.25 + embarkation_cost_mult = -0.5 + } + + county_modifier = { + development_growth_factor = 0.1 + development_growth = 0.2 + hostile_raid_time = 0.5 + } + + province_modifier = { + garrison_size = 1 + fort_level = 1 + monthly_income = 3 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_economic +} + +swahili_port_zanzibar = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_swahili_port.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + cost_gold = 1000 + + character_modifier = { + naval_movement_speed_mult = 0.25 + embarkation_cost_mult = -0.5 + } + + county_modifier = { + development_growth_factor = 0.3 + development_growth = 0.5 + } + + province_modifier = { + levy_size = 1 + monthly_income = 4 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_economic +} + +swahili_port_mombasa = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_swahili_port.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + cost_gold = 1000 + + character_modifier = { + naval_movement_speed_mult = 0.25 + embarkation_cost_mult = -0.25 + } + + county_modifier = { + tax_mult = 0.1 + levy_size = 0.1 + defender_holding_advantage = 10 + development_growth_factor = 0.2 + development_growth = 0.2 + } + + province_modifier = { + garrison_size = 1 + fort_level = 2 + monthly_income = 2 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_economic +} + +swahili_port_pate = { # Early location of Swahili Coast development and site of early mosques + construction_time = very_slow_construction_time + + type_icon = "icon_structure_swahili_port.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + cost_gold = 1000 + + character_modifier = { + embarkation_cost_mult = -0.5 + monthly_piety = 0.25 + monthly_dynasty_prestige_mult = 0.05 + domain_tax_different_faith_mult = 0.15 + } + + county_modifier = { + tax_mult = 0.1 + levy_size = 0.1 + development_growth_factor = 0.2 + development_growth = 0.2 + } + + province_modifier = { + monthly_income = 3 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + + 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_economic +} + +swahili_port_lamu = { # Early location of Swahili Coast development and site of early trade good abundance + construction_time = very_slow_construction_time + + type_icon = "icon_structure_swahili_port.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + cost_gold = 1000 + + character_modifier = { + embarkation_cost_mult = -0.25 + diplomacy_per_piety_level = 1 + stewardship_per_prestige_level = 1 + different_culture_opinion = 10 + } + + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.2 + } + + province_modifier = { + monthly_income = 4 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_economic +} + +########## +# Wulingyuan +########## + +wulingyuan_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_wulingyuan.dds" + + can_construct_potential = { + } + + cost_gold = 1000 + + character_modifier = { + monthly_prestige = 1 + monthly_dynasty_prestige_mult = 0.1 + } + + county_modifier = { + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_natural_feature # mountains +} + +########## +# Leshan Giant Buddha +########## + +leshan_giant_buddha_01 = { + construction_time = very_slow_construction_time + + asset = { + type = pdxmesh + name = "tgp_building_special_leshan_buddha_mesh" + } + + type_icon = "icon_structure_leshan_giant_buddha.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + custom_description = { + text = buddhas_of_bamian_trigger + scope:holder = { + OR = { + religion = { is_in_family = rf_eastern } + religion = { is_in_family = rf_sinitic } + } + } + } + } + + cost_gold = 2000 + + character_modifier = { + monthly_piety_gain_mult = 0.1 + stress_loss_per_piety_level = 0.05 + } + county_modifier = { + tax_mult = 0.1 + county_opinion_add = 5 + travel_danger = -10 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + + 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 +} + +########## +# Yungang Grottoes +########## + +yungang_grottoes_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_yungang_grottoes.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + custom_description = { + text = buddhas_of_bamian_trigger + scope:holder = { + OR = { + religion = { is_in_family = rf_eastern } + religion = { is_in_family = rf_sinitic } + } + } + } + } + + cost_gold = 2000 + + character_modifier = { + monthly_piety_gain_mult = 0.1 + intrigue_per_piety_level = 1 + } + county_modifier = { + tax_mult = 0.1 + development_growth = 0.2 + development_growth_factor = 0.2 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + + 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 +} + +########## +# Wudang Mountain Temples +########## + +wudang_mountain_temples_01 = { + construction_time = very_slow_construction_time + + asset = { + type = pdxmesh + name = "tgp_building_special_wudang_mountains_mesh" + } + + type_icon = "icon_structure_wudang_mountain_temples.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + custom_description = { + text = buddhas_of_bamian_trigger + scope:holder = { + OR = { + religion = { is_in_family = rf_eastern } + religion = { is_in_family = rf_sinitic } + } + } + } + } + + cost_gold = 1000 + + character_modifier = { + monthly_piety_gain_per_court_position_mult = 0.03 + prowess_per_piety_level = 1 + } + county_modifier = { + tax_mult = 0.1 + development_growth_factor = 0.25 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_religious +} + +########## +# Shaolin Monastery +########## + +shaolin_monastery_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_shaolin_monastery.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + custom_description = { + text = buddhas_of_bamian_trigger + scope:holder = { + OR = { + religion = { is_in_family = rf_eastern } + religion = { is_in_family = rf_sinitic } + } + } + } + } + + cost_gold = 1000 + + character_modifier = { + monthly_piety = 0.5 + monthly_piety_from_buildings_mult = 0.3 + prowess_per_piety_level = 3 + buddhism_religion_opinion = 10 + } + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.2 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + + 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 +} + +########## +# Lingyin Temple +########## + +lingyin_temple_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_lingyin_temple.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + custom_description = { + text = buddhas_of_bamian_trigger + scope:holder = { + OR = { + religion = { is_in_family = rf_eastern } + religion = { is_in_family = rf_sinitic } + } + } + } + } + + cost_gold = 1000 + + character_modifier = { + monthly_piety_gain_mult = 0.15 + monthly_dynasty_prestige_mult = 0.05 + learning_per_merit_level = 0.5 + } + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.1 + } + province_modifier = { + monthly_income = 3 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + + 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 +} + +########## +# Giant Wild Goose Pagoda +########## + +giant_wild_goose_pagoda_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_giant_wild_goose_pagoda.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + custom_description = { + text = buddhas_of_bamian_trigger + scope:holder = { + OR = { + religion = { is_in_family = rf_eastern } + religion = { is_in_family = rf_sinitic } + } + } + } + } + + cost_gold = 1000 + + character_modifier = { + monthly_piety = 1 + monthly_piety_gain_per_happy_powerful_vassal_mult = 0.07 + same_heritage_county_advantage_add = 2 + faith_conversion_piety_cost_mult = -0.2 + learning = 1 + } + county_modifier = { + tax_mult = 0.1 + development_growth = 0.2 + } + province_modifier = { + monthly_income = 1 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + + 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 +} + +########## +# Kaifeng Imperial Palace +########## + +kaifeng_palace_01 = { + construction_time = very_slow_construction_time + + effect_desc = { + triggered_desc = { + trigger = { has_tgp_dlc_trigger = yes } + desc = unlocks_building_desc + } + triggered_desc = { + trigger = { has_tgp_dlc_trigger = yes } + desc = kaifeng_examination_cost_bonus_desc + } + } + + type_icon = "icon_structure_kaifeng_palace.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + } + + cost_gold = 1000 + + character_modifier = { + monthly_dynasty_prestige_mult = 0.1 + stewardship_per_influence_level = 1 + dynasty_house_opinion = 5 + monthly_influence_mult = 0.1 + } + county_modifier = { + tax_mult = 0.3 + development_growth_factor = 0.2 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_economic +} + +########## +# The Forbidden City +########## + +forbidden_city_01 = { + construction_time = very_slow_construction_time + + effect_desc = { + triggered_desc = { + trigger = { + OR = { + has_tgp_dlc_trigger = yes + has_ep3_dlc_trigger = yes + } + } + desc = unlocks_building_desc + } + triggered_desc = { + trigger = { + OR = { + has_tgp_dlc_trigger = yes + has_ep3_dlc_trigger = yes + } + } + desc = beijing_palace_bonus_desc + } + } + + type_icon = "icon_structure_forbidden_city.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + scope:holder.capital_province = root + } + + cost_gold = 1000 + + character_modifier = { + court_grandeur_baseline_add = 10 + monthly_dynasty_prestige_mult = 0.1 + diplomacy_per_influence_level = 1 + courtly_opinion = 5 + monthly_influence_mult = 0.1 + } + county_modifier = { + tax_mult = 0.3 + development_growth_factor = 0.2 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_diplomatic +} + +########## +# Qianling Mausoleum +########## + +qianling_mausoleum_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_qianling_mausoleum.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + } + + cost_gold = 1000 + + character_modifier = { + monthly_dynasty_prestige_mult = 0.1 + } + county_modifier = { + monthly_county_control_growth_add = 1 + levy_size = 0.1 + build_gold_cost = -0.05 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_religious # religious tomb +} + +########## +# Quanzhou Seaport +########## + +quanzhou_seaport_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_quanzhou_seaport.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + } + + cost_gold = 1000 + + character_modifier = { + naval_movement_speed_mult = 0.25 + cultural_head_acceptance_gain_mult = 0.2 + different_culture_opinion = 5 + } + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.2 + } + province_modifier = { + monthly_income = 4 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_economic +} + +########## +# Angkor Wat +########## + +angkor_wat_01 = { + construction_time = very_slow_construction_time + + asset = { + type = pdxmesh + name = "tgp_building_special_angkorwat_mesh" + } + + type_icon = "icon_structure_angkor_wat.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + custom_description = { + text = buddhas_of_bamian_trigger + scope:holder = { + religion = { is_in_family = rf_eastern } + } + } + } + + cost_gold = 2000 + + character_modifier = { + monthly_piety_gain_mult = 0.2 + negate_learning_penalty_add = 4 + clergy_opinion = 10 + monthly_learning_lifestyle_xp_gain_mult = 0.2 + monthly_dynasty_prestige_mult = 0.05 + } + county_modifier = { + development_growth_factor = 0.2 + development_growth = 0.2 + monthly_county_control_growth_add = 0.2 + } + province_modifier = { + monthly_income = 3 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + + ai_value = { + base = 8 + 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 +} + +########## +# Imperial Citadel of Thang Long +########## + +citadel_thang_long_01 = { + construction_time = very_slow_construction_time + + asset = { + type = pdxmesh + name = "tgp_building_special_thang_long_palace_mesh" + } + + type_icon = "icon_structure_citadel_thang_long.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + } + + cost_gold = 750 + + character_modifier = { + monthly_prestige_gain_mult = 0.05 + knight_effectiveness_per_martial = 0.01 + } + county_modifier = { + hostile_raid_time = 0.25 + } + province_modifier = { + fort_level = 2 + defender_holding_advantage = 5 + stationed_maa_damage_mult = normal_maa_damage_tier_1 + } + + next_building = citadel_thang_long_02 + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_martial +} + +citadel_thang_long_02 = { + construction_time = very_slow_construction_time + + asset = { + type = pdxmesh + name = "tgp_building_special_thang_long_palace_mesh" + } + + type_icon = "icon_structure_citadel_thang_long.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + } + + cost_gold = 1000 + + character_modifier = { + monthly_prestige_gain_per_legitimacy_level_mult = 0.05 + knight_effectiveness_per_martial = 0.03 + monthly_dynasty_prestige_mult = 0.1 + legitimacy_gain_mult = 0.1 + } + county_modifier = { + hostile_raid_time = 0.5 + development_growth_factor = 0.1 + } + province_modifier = { + fort_level = 4 + defender_holding_advantage = 10 + stationed_maa_damage_mult = normal_maa_damage_tier_2 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_martial +} + +########## +# Po Klong Garai Temple +########## + +po_klong_garai_01 = { + construction_time = very_slow_construction_time + + asset = { + type = pdxmesh + name = "tgp_building_special_po_klong_temple_mesh" + } + + type_icon = "icon_structure_po_klong_garai.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + custom_description = { + text = buddhas_of_bamian_trigger + scope:holder = { + religion = { is_in_family = rf_eastern } + } + } + } + + cost_gold = 1000 + + character_modifier = { + monthly_piety_gain_per_legitimacy_level_mult = 0.04 + learning = 1 + } + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + monthly_county_control_growth_factor = 0.2 + epidemic_resistance = 10 + } + province_modifier = { + monthly_income = 2 + } + + ai_value = { + base = 8 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_religious +} + +########## +# Krakatoa +########## + +krakatoa_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_krakatoa.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + } + + cost_gold = 1000 + + character_modifier = { + stress_loss_mult = 0.1 + dread_baseline_add = 10 + monthly_dynasty_prestige_mult = 0.05 + } + county_modifier = { + development_growth = 0.1 + } + province_modifier = { + travel_danger = 5 + } ai_value = { base = 100 @@ -6797,3 +8535,2636 @@ burkhan_khaldun_01 = { flag = travel_point_of_interest_natural_feature } + +########## +# Borobudur +########## + +borobudur_01 = { + construction_time = very_slow_construction_time + + asset = { + type = pdxmesh + name = "tgp_building_special_borudur_mesh" + } + + type_icon = "icon_structure_borobudur.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + custom_description = { + text = buddhas_of_bamian_trigger + scope:holder = { + religion = { is_in_family = rf_eastern } + } + } + } + + cost_gold = 1000 + + character_modifier = { + monthly_piety_gain_mult = 0.2 + monthly_dynasty_prestige_mult = 0.1 + different_faith_opinion = 5 + } + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + build_speed = -0.1 + } + province_modifier = { + monthly_income = 2 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + + 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 +} + +########## +# HĹŤshi Ryokan +########## + +hoshi_ryokan_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_hoshi_ryokan.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + } + + cost_gold = 500 + + character_modifier = { + stress_loss_mult = 0.2 + dynasty_house_opinion = 10 + } + county_modifier = { + tax_mult = 0.05 + development_growth = 0.05 + } + province_modifier = { + monthly_income = 1 + travel_danger = -10 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_stress_relief +} + +########## +# Herat Bazaar +########## + +herat_bazaar_01 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + scope:holder = { + any_character_situation = { situation_type = silk_road_situation } + } + } + + cost_gold = 400 + + province_modifier = { + monthly_income = 2 + travel_danger = -10 + } + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + next_building = herat_bazaar_02 + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic +} + +herat_bazaar_02 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + scope:holder = { + any_character_situation = { situation_type = silk_road_situation } + } + } + + can_construct = { + } + + cost_gold = 800 + + + province_modifier = { + travel_danger = -15 + monthly_income = 2 + } + county_modifier = { + development_growth = 0.25 + development_growth_factor = 0.15 + tax_mult = 0.2 + } + character_modifier = { + cultural_head_fascination_mult = 0.05 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic +} + +########## +# Shuka of Dvin +########## + +dvin_shuka_01 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + scope:holder = { + any_character_situation = { situation_type = silk_road_situation } + } + } + + cost_gold = 400 + + province_modifier = { + monthly_income = 2 + travel_danger = -10 + } + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + next_building = dvin_shuka_02 + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic + flag = silk_road_node +} + +dvin_shuka_02 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + + } + + can_construct = { + } + + cost_gold = 800 + + province_modifier = { + travel_danger = -15 + monthly_income = 2 + } + county_modifier = { + development_growth = 0.25 + development_growth_factor = 0.15 + tax_mult = 0.2 + } + character_modifier = { + cultural_head_fascination_mult = 0.05 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic + flag = silk_road_node +} + +########## +# Khrom of Lhasa +########## + +lhasa_market_01 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + scope:holder = { + any_character_situation = { situation_type = silk_road_situation } + } + } + + cost_gold = 400 + + province_modifier = { + monthly_income = 2 + travel_danger = -10 + } + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + next_building = lhasa_market_02 + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic + flag = silk_road_node +} + +lhasa_market_02 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + scope:holder = { + any_character_situation = { situation_type = silk_road_situation } + } + } + + can_construct = { + } + + cost_gold = 800 + + province_modifier = { + travel_danger = -15 + monthly_income = 2 + } + county_modifier = { + development_growth = 0.25 + development_growth_factor = 0.15 + tax_mult = 0.2 + } + character_modifier = { + cultural_head_fascination_mult = 0.05 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic + flag = silk_road_node +} + +########## +# Bazaar of Khiva +########## + +khiva_bazaar_01 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + scope:holder = { + any_character_situation = { situation_type = silk_road_situation } + } + } + + cost_gold = 400 + + province_modifier = { + monthly_income = 2 + travel_danger = -10 + } + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + next_building = khiva_bazaar_02 + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic + flag = silk_road_node +} + +khiva_bazaar_02 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + scope:holder = { + any_character_situation = { situation_type = silk_road_situation } + } + } + + can_construct = { + } + + cost_gold = 800 + + province_modifier = { + travel_danger = -15 + monthly_income = 2 + } + county_modifier = { + development_growth = 0.25 + development_growth_factor = 0.15 + tax_mult = 0.2 + } + character_modifier = { + cultural_head_fascination_mult = 0.05 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic + flag = silk_road_node +} + +########## +# Market of Chang'an +########## + +changan_market_01 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + + } + + cost_gold = 400 + + province_modifier = { + travel_danger = -15 + monthly_income = 2 + } + county_modifier = { + development_growth = 0.25 + development_growth_factor = 0.15 + tax_mult = 0.2 + } + character_modifier = { + cultural_head_fascination_mult = 0.05 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + next_building = changan_market_02 + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic + flag = silk_road_node +} + +changan_market_02 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + + } + + can_construct = { + } + + cost_gold = 800 + + character_modifier = { + monthly_prestige_gain_mult = 0.10 + monthly_dynasty_prestige_mult = 0.10 + character_travel_speed_mult = 0.10 + } + county_modifier = { + development_growth = 0.25 + tax_mult = 0.15 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic + flag = silk_road_node +} + +########## +# Bazaar of Lahur (Lahore) +########## + +lahur_bazaar_01 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + + } + + cost_gold = 400 + + province_modifier = { + monthly_income = 2 + travel_danger = -10 + } + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + next_building = lahur_bazaar_02 + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic + flag = silk_road_node +} + +lahur_bazaar_02 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + + } + + can_construct = { + } + + cost_gold = 800 + + province_modifier = { + travel_danger = -15 + monthly_income = 2 + } + county_modifier = { + development_growth = 0.25 + development_growth_factor = 0.15 + tax_mult = 0.2 + } + character_modifier = { + cultural_head_fascination_mult = 0.05 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic + flag = silk_road_node +} + +########## +# Hamadan Bazaar +########## + +hamadan_bazaar_01 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + + } + + can_construct = { + + } + + cost_gold = 400 + + province_modifier = { + monthly_income = 2 + travel_danger = -10 + } + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + next_building = hamadan_bazaar_02 + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic +} + +hamadan_bazaar_02 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + + } + + can_construct = { + } + + cost_gold = 800 + + province_modifier = { + travel_danger = -15 + monthly_income = 2 + } + county_modifier = { + development_growth = 0.25 + development_growth_factor = 0.15 + tax_mult = 0.2 + } + character_modifier = { + cultural_head_fascination_mult = 0.05 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic +} + +########## +# Market of Dunhuang +########## + +dunhuang_market_01 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + + } + + cost_gold = 400 + + province_modifier = { + monthly_income = 2 + travel_danger = -10 + } + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + next_building = dunhuang_market_02 + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic + flag = silk_road_node +} + +dunhuang_market_02 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + + } + + can_construct = { + } + + cost_gold = 800 + + province_modifier = { + travel_danger = -15 + monthly_income = 2 + } + county_modifier = { + development_growth = 0.25 + development_growth_factor = 0.15 + tax_mult = 0.2 + } + character_modifier = { + cultural_head_fascination_mult = 0.05 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic + flag = silk_road_node +} + +########## +# Sunday Bazaar of Kashgar +########## + +sunday_bazaar_01 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + + } + + cost_gold = 400 + + province_modifier = { + monthly_income = 2 + travel_danger = -10 + } + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + next_building = sunday_bazaar_02 + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic +} + +sunday_bazaar_02 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_special_silk_road_market.dds" + + can_construct_potential = { + + } + + can_construct = { + } + + cost_gold = 800 + + province_modifier = { + travel_danger = -15 + monthly_income = 2 + } + county_modifier = { + development_growth = 0.25 + development_growth_factor = 0.15 + tax_mult = 0.2 + } + character_modifier = { + cultural_head_fascination_mult = 0.05 + } + + on_complete = { + tgp_silk_road_market_built_effect = yes + } + + ai_value = { + base = 12 + + directive_to_build_economy_modifier = yes + + modifier = { + factor = 3 + scope:holder.capital_province = this + } + } + + type = special + + flag = travel_point_of_interest_economic +} + +########## +# Mount Fuji +########## + +mount_fuji_01 = { + asset = { + type = pdxmesh + name = "tgp_building_special_mt_fuji_mesh" + } + + construction_time = very_slow_construction_time + + type_icon = "icon_structure_mount_apo.dds" + + is_enabled = { + custom_description = { + text = holy_site_shinto_or_holy_site_trigger + OR = { + scope:holder.religion = religion:shintoism_religion + custom_description = { + text = holy_site_building_trigger + barony = { is_holy_site_of = scope:holder.faith } + } + scope:holder.faith = { has_doctrine = special_doctrine_immaterial_harmony } + } + } + } + + show_disabled = yes + + cost_gold = 1000 + + character_modifier = { + monthly_piety = 0.25 + monthly_dynasty_prestige_mult = 0.05 + stress_loss_mult = 0.1 + } + + county_modifier = { + tax_mult = 0.15 + travel_danger = -30 + } + + province_modifier = { + monthly_income = 2 + } + + type = special + + flag = travel_point_of_interest_religious + flag = is_mountain +} + +########## +# Itsukushima-jinja +########## + +itsukushima_jinja_01 = { + asset = { + type = pdxmesh + name = "tgp_building_special_itsukushima_mesh" + } + + construction_time = very_slow_construction_time + + type_icon = "icon_structure_torii_gate.dds" + + next_building = itsukushima_jinja_02 + + is_enabled = { + custom_description = { + text = holy_site_shinto_or_holy_site_trigger + OR = { + scope:holder.religion = religion:shintoism_religion + custom_description = { + text = holy_site_building_trigger + barony = { is_holy_site_of = scope:holder.faith } + } + scope:holder.faith = { has_doctrine = special_doctrine_immaterial_harmony } + } + } + } + + show_disabled = yes + + cost_gold = 1000 + + character_modifier = { + monthly_piety = 0.25 + monthly_dynasty_prestige_mult = 0.05 + embarkation_cost_mult = -0.1 + } + + county_modifier = { + tax_mult = 0.1 + development_growth_factor = 0.1 + development_growth = 0.1 + } + + province_modifier = { + monthly_income = 1 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + + ai_value = { + base = 100 + ai_pious_building_preference_modifier = yes + culture_likely_to_fortify_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 +} + +itsukushima_jinja_02 = { + asset = { + type = pdxmesh + name = "tgp_building_special_itsukushima_mesh" + } + + construction_time = very_slow_construction_time + + type_icon = "icon_structure_torii_gate.dds" + + is_enabled = { + custom_description = { + text = holy_site_shinto_or_holy_site_trigger + OR = { + scope:holder.religion = religion:shintoism_religion + custom_description = { + text = holy_site_building_trigger + barony = { is_holy_site_of = scope:holder.faith } + } + scope:holder.faith = { has_doctrine = special_doctrine_immaterial_harmony } + } + } + } + + show_disabled = yes + + cost_gold = 1000 + + character_modifier = { + monthly_piety = 0.5 + monthly_dynasty_prestige_mult = 0.1 + embarkation_cost_mult = -0.2 + } + + county_modifier = { + tax_mult = 0.3 + development_growth_factor = 0.3 + development_growth = 0.2 + } + + province_modifier = { + monthly_income = 2 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + + ai_value = { + base = 100 + ai_pious_building_preference_modifier = yes + culture_likely_to_fortify_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 +} + +########## +# Heian Palace +########## + +heian_palace_01 = { + asset = { + type = pdxmesh + name = "tgp_building_special_heian_kyo_mesh" + } + + construction_time = very_slow_construction_time + + type_icon = "icon_structure_heian_palace.dds" + + show_disabled = yes + + cost_gold = 1000 + + character_modifier = { + court_grandeur_baseline_add = 10 + monthly_dynasty_prestige_mult = 0.1 + diplomacy_per_influence_level = 1 + courtly_opinion = 5 + monthly_influence_mult = 0.05 + } + county_modifier = { + tax_mult = 0.3 + development_growth_factor = 0.2 + } + levy = 2000 + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_diplomatic +} + +########## +# Ise Jingu +########## + +ise_jingu_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_torii_gate.dds" + + show_disabled = yes + + cost_gold = 1000 + + character_modifier = { + monthly_piety = 0.25 + monthly_dynasty_prestige_mult = 0.05 + character_travel_speed_mult = 0.05 + } + + county_modifier = { + tax_mult = 0.1 + development_growth_factor = 0.1 + development_growth = 0.1 + } + + province_modifier = { + monthly_income = 1 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_religious +} + +########## +# Kofuku-ji +########## + +kofuku_ji_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_torii_gate.dds" + + show_disabled = yes + + cost_gold = 1000 + + character_modifier = { + monthly_piety = 0.25 + monthly_dynasty_prestige_mult = 0.05 + faith_creation_piety_cost_mult = -0.1 + } + + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + province_modifier = { + monthly_income = 2 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_religious +} + +########## +# Enryaku-ji (延暦寺) +########## + +enryaku_ji_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_torii_gate.dds" + + show_disabled = yes + + cost_gold = 1000 + + character_modifier = { + monthly_piety = 0.25 + monthly_dynasty_prestige_mult = 0.05 + faith_creation_piety_cost_mult = -0.1 + } + + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + province_modifier = { + monthly_income = 2 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_religious +} + +########## +# Dazaifu +########## + +dazaifu_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_torii_gate.dds" + + show_disabled = yes + + cost_gold = 1000 + + character_modifier = { + monthly_prestige = 0.25 + monthly_county_control_growth_factor = 0.1 + build_speed = -0.1 + diplomacy_per_influence_level = 1 + } + + character_government_modifier = { + parameter = government_is_administrative + monthly_influence = 0.5 + } + + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + province_modifier = { + fort_level = 2 + monthly_income = 2 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_economic +} + +########## +# Chinjufu +########## + +chinjufu_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_torii_gate.dds" + + show_disabled = yes + + cost_gold = 1000 + + character_modifier = { + monthly_prestige = 0.1 + glory_hound_opinion = 5 + vassal_limit = 1 + defender_advantage = 4 + } + + county_modifier = { + hostile_raid_time = 0.5 + levy_size = 0.2 + development_growth_factor = 0.1 + } + + province_modifier = { + fort_level = 2 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_martial +} + +########## +# Hakata Port +########## + +hakata_port_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_quanzhou_seaport.dds" + + show_disabled = yes + + cost_gold = 1000 + + next_building = hakata_port_02 + + character_modifier = { + monthly_income = 1 + parochial_opinion = 5 + naval_movement_speed_mult = 0.1 + embarkation_cost_mult = -0.1 + } + + county_modifier = { + tax_mult = 0.15 + development_growth_factor = 0.15 + development_growth = 0.1 + } + + province_modifier = { + monthly_income = 2 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_economic +} + +hakata_port_02 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_quanzhou_seaport.dds" + + show_disabled = yes + + cost_gold = 1000 + + character_modifier = { + monthly_income = 2 + parochial_opinion = 10 + naval_movement_speed_mult = 0.2 + embarkation_cost_mult = -0.2 + } + + county_modifier = { + tax_mult = 0.3 + development_growth_factor = 0.3 + development_growth = 0.2 + } + + province_modifier = { + monthly_income = 4 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_economic +} + +########## +# Hwangnyongsa +########## + +hwangnyongsa_01 = { + asset = { + type = pdxmesh + name = "tgp_building_special_hwangnyongsa_mesh" + } + + construction_time = very_slow_construction_time + + type_icon = "icon_structure_shaolin_monastery.dds" + + show_disabled = yes + + cost_gold = 1000 + + character_modifier = { + monthly_piety = 0.25 + monthly_dynasty_prestige_mult = 0.05 + levy_reinforcement_rate_same_faith = 0.15 + monthly_county_control_growth_factor = 0.05 + } + + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + province_modifier = { + monthly_income = 2 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_religious +} + +########## +# Byeok-ran Port - 碧瀾渡 (벽란도) +########## + +byeokran_port_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_quanzhou_seaport.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + cost_gold = 1000 + + character_modifier = { + monthly_income = 1 + parochial_opinion = 5 + naval_movement_speed_mult = 0.1 + embarkation_cost_mult = -0.1 + } + + county_modifier = { + tax_mult = 0.15 + development_growth_factor = 0.15 + development_growth = 0.1 + } + + province_modifier = { + monthly_income = 2 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_economic +} + +########## +# Mount Baekdu +########## + +mount_baekdu_01 = { + + construction_time = very_slow_construction_time + + type_icon = "icon_structure_mount_apo.dds" + + is_enabled = { + custom_description = { + text = holy_site_building_trigger + barony = { is_holy_site_of = scope:holder.faith } + } + } + + show_disabled = yes + + cost_gold = 1000 + + character_modifier = { + monthly_piety = 0.25 + monthly_dynasty_prestige_mult = 0.05 + stress_loss_mult = 0.1 + } + + county_modifier = { + county_opinion_add = 5 + tax_mult = 0.1 + } + + province_modifier = { + fort_level = 2 + defender_holding_advantage = 6 + } + + type = special + + flag = travel_point_of_interest_religious + flag = travel_point_of_interest_stress_relief + flag = travel_point_of_interest_natural_feature # mountain + flag = is_mountain +} + +########## +# Dâu Temple +########## + +dau_temple_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_dau.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + + } + + cost_gold = 1000 + + character_modifier = { + learning_per_piety_level = 1 + health = 0.10 + } + + county_holder_character_modifier = { + buddhism_religion_opinion = 5 + } + + county_modifier = { + tax_mult = 0.1 + development_growth = 0.10 + epidemic_resistance = 10 + } + province_modifier = { + monthly_income = 2 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_religious +} + +########## +# Liuhe Pagoda +########## + +liuhe_pagoda_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_liuhe_pagoda.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + + } + + cost_gold = 1250 + + character_modifier = { + monthly_county_control_growth_factor = 0.15 + monthly_piety_gain_mult = 0.10 + monthly_prestige_gain_mult = 0.05 + clergy_opinion = 5 + } + county_modifier = { + tax_mult = 0.15 + development_growth = 0.10 + travel_danger = -10 + } + province_modifier = { + monthly_income = 2 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_religious +} + +########## +# Muaro Jambi Temple Compounds +########## + +muaro_jambi_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_mauro_jambi.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + + } + + cost_gold = 1000 + + character_modifier = { + monthly_county_control_growth_factor = 0.10 + martial_per_piety_level = 1 + direct_vassal_opinion = 5 + } + county_modifier = { + tax_mult = 0.10 + } + province_modifier = { + monthly_income = 1 + fort_level = 2 + levy_size = 0.1 + travel_danger = -20 + } + + ai_value = { + base = 100 + 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 = travel_point_of_interest_martial +} + +########## +# Hanging Temple +########## + +hanging_temple_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_hanging_temple.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + + } + + cost_gold = 2000 + + character_modifier = { + piety_level_impact_mult = 0.1 + monthly_piety_gain_per_legitimacy_level_mult = 0.05 + taoism_religion_opinion = 15 + buddhism_religion_opinion = 15 + confucianism_religion_opinion = 15 + } + + province_modifier = { + monthly_income = 1 + } + + county_modifier = { + tax_mult = 0.1 + development_growth = 0.1 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_religious +} + +########## +# Pagoda of Fogong Temple +########## + +pagoda_of_fogong_temple_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_fogong_temple_pagoda.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + + } + + cost_gold = 2000 + + character_modifier = { + monthly_piety_from_buildings_mult = 0.1 + monthly_piety_gain_per_legitimacy_level_mult = 0.05 + buddhism_religion_opinion = 5 + zealot_opinion = 5 + monthly_dynasty_prestige_mult = 0.1 + } + + province_modifier = { + monthly_income = 1.5 + artifact_decay_reduction_mult = -0.15 + } + + county_modifier = { + tax_mult = 0.1 + development_growth = 0.1 + county_opinion_add = 5 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_religious +} + +########## +# Plain of Jars +########## + +plain_of_jars_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_plain_of_jars.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + + } + + cost_gold = 2000 + + character_modifier = { + stress_loss_per_piety_level = 0.1 + diplomatic_range_mult = 0.20 + intrigue_per_piety_level = 1 + levy_reinforcement_rate_same_faith = 0.1 + } + + province_modifier = { + monthly_income = 1 + } + + county_modifier = { + travel_danger = -20 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_religious +} + +########## +# Dieng Plateau +########## + +dieng_plateau_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_dieng_pleateau.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + + } + + cost_gold = 2000 + + character_modifier = { + stress_loss_per_piety_level = 0.1 + dread_gain_mult = 0.15 + intrigue = 1 + monthly_piety_gain_per_dread_mult = 0.05 + learning = 1 + } + + province_modifier = { + + } + + county_modifier = { + monthly_county_control_decline_add = 0.5 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_religious +} + +########## +# Mount Apo +########## + +mount_apo_01 = { + + construction_time = very_slow_construction_time + + type_icon = "icon_structure_mount_apo.dds" + + is_enabled = { + + } + + show_disabled = yes + + cost_gold = 1000 + + character_modifier = { + piety_level_impact_mult = 0.25 + faith_creation_piety_cost_mult = -0.15 + stress_loss_mult = 0.05 + realm_priest_opinion = 10 + } + + county_modifier = { + monthly_county_control_growth_factor = 0.1 + } + + province_modifier = { + monthly_income = 1 + } + + type = special + + flag = travel_point_of_interest_religious + flag = travel_point_of_interest_stress_relief + flag = travel_point_of_interest_natural_feature # mountain + flag = is_mountain +} + +########## +# Besakih Temple +########## + +besakih_temple_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_besakih.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + + is_enabled = { + + } + + cost_gold = 2000 + + character_modifier = { + monthly_piety_gain_per_knight_mult = 0.03 + hinduism_religion_opinion = 10 + monthly_dynasty_prestige_mult = 0.1 + learning = 1 + legitimacy_gain_mult = 0.1 + } + + province_modifier = { + monthly_income = 2 + } + + county_modifier = { + tax_mult = 0.15 + development_growth = 0.15 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t3_effect = yes + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_religious +} + +########## +# Gongsanseong Fortress +########## + +gongsanseong_fortress_01 = { + construction_time = slow_construction_time + + type_icon = "icon_structure_gongsanseong_fortress.dds" + + can_construct_potential = { + } + + cost_gold = 1500 + + max_garrison = good_building_max_garrison_tier_2 + + character_modifier = { + monthly_dynasty_prestige_mult = 0.1 + monthly_county_control_growth_add = 0.5 + } + + province_modifier = { + defender_holding_advantage = normal_building_advantage_tier_1 + fort_level = good_building_fort_level_tier_2 + stationed_maa_damage_mult = normal_maa_damage_tier_1 + stationed_maa_toughness_mult = normal_maa_toughness_tier_2 + stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_1 + travel_danger = -20 + } + + ai_value = { + base = 100 + culture_likely_to_fortify_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_martial +} + +########## +# White Deer Grotto Academy +########## + +white_deer_grotto_academy_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_shaolin_monastery.dds" + + can_construct_potential = { + building_requirement_tribal = no + building_university_requirement = yes + } + + can_construct = { + scope:holder = { + highest_held_title_tier >= tier_duchy + prestige_level >= 4 + } + county = { + development_level >= 30 + } + } + + show_disabled = yes + + cost_gold = 1000 + + effect_desc = { + desc = unlocks_building_desc + triggered_desc = { + trigger = { has_dlc_feature = tours_and_tournaments } + desc = university_toto_effect_desc + } + triggered_desc = { + trigger = { has_dlc_feature = royal_court } + desc = university_roco_effect_desc + } + desc = university_effect_desc + } + + county_holder_character_modifier = { + learning = 2 + monthly_lifestyle_xp_gain_mult = 0.1 + cultural_head_fascination_mult = 0.05 + } + + county_modifier = { + development_growth_factor = 0.2 + development_growth = 0.2 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_learning + flag = special_university +} + +########## +# Shigu Academy +########## + +shigu_academy_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_shaolin_monastery.dds" + + can_construct_potential = { + building_requirement_tribal = no + building_university_requirement = yes + } + + can_construct = { + scope:holder = { + highest_held_title_tier >= tier_duchy + prestige_level >= 4 + } + county = { + development_level >= 30 + } + } + + show_disabled = yes + + cost_gold = 1000 + + effect_desc = { + desc = unlocks_building_desc + triggered_desc = { + trigger = { has_dlc_feature = tours_and_tournaments } + desc = university_toto_effect_desc + } + triggered_desc = { + trigger = { has_dlc_feature = royal_court } + desc = university_roco_effect_desc + } + desc = university_effect_desc + } + + county_holder_character_modifier = { + learning_per_prestige_level = 1 + monthly_lifestyle_xp_gain_mult = 0.1 + monthly_dynasty_prestige = 0.1 + } + + county_modifier = { + development_growth_factor = 0.2 + development_growth = 0.2 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_learning + flag = special_university +} + +########## +# Culai Academy +########## + +culai_academy_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_shaolin_monastery.dds" + + can_construct_potential = { + building_requirement_tribal = no + building_university_requirement = yes + } + + can_construct = { + scope:holder = { + highest_held_title_tier >= tier_duchy + prestige_level >= 4 + } + county = { + development_level >= 30 + } + } + + show_disabled = yes + + cost_gold = 1000 + + effect_desc = { + desc = unlocks_building_desc + triggered_desc = { + trigger = { has_dlc_feature = tours_and_tournaments } + desc = university_toto_effect_desc + } + triggered_desc = { + trigger = { has_dlc_feature = royal_court } + desc = university_roco_effect_desc + } + desc = university_effect_desc + } + + county_holder_character_modifier = { + learning_per_piety_level = 1 + monthly_lifestyle_xp_gain_mult = 0.1 + monthly_prestige = 0.05 + } + + county_modifier = { + development_growth_factor = 0.2 + development_growth = 0.2 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_learning + flag = special_university +} + +########## +# Lize Academy +########## + +lize_academy_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_shaolin_monastery.dds" + + can_construct_potential = { + building_requirement_tribal = no + building_university_requirement = yes + } + + can_construct = { + scope:holder = { + highest_held_title_tier >= tier_duchy + prestige_level >= 4 + } + county = { + development_level >= 30 + } + } + + show_disabled = yes + + cost_gold = 1000 + + effect_desc = { + desc = unlocks_building_desc + triggered_desc = { + trigger = { has_dlc_feature = tours_and_tournaments } + desc = university_toto_effect_desc + } + triggered_desc = { + trigger = { has_dlc_feature = royal_court } + desc = university_roco_effect_desc + } + desc = university_effect_desc + } + + county_holder_character_modifier = { + learning_per_merit_level = 1 + monthly_lifestyle_xp_gain_mult = 0.1 + prestige_level_impact_mult = 0.15 + } + + county_modifier = { + development_growth_factor = 0.2 + development_growth = 0.2 + } + + ai_value = { + base = 100 + modifier = { # Fill all building slots before going for special buildings + factor = 0 + free_building_slots > 0 + } + } + + type = special + + flag = travel_point_of_interest_learning + flag = special_university +} + +########## +# Maoshan Academy +########## + +maoshan_academy_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_shaolin_monastery.dds" + + show_disabled = yes + + cost_gold = 1000 + + effect_desc = { + desc = unlocks_building_desc + triggered_desc = { + trigger = { has_dlc_feature = tours_and_tournaments } + desc = university_toto_effect_desc + } + triggered_desc = { + trigger = { has_dlc_feature = royal_court } + desc = university_roco_effect_desc + } + desc = university_effect_desc + } + + character_modifier = { + monthly_piety = 0.25 + monthly_dynasty_prestige_mult = 0.05 + faith_creation_piety_cost_mult = -0.1 + } + + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.2 + development_growth = 0.15 + } + + province_modifier = { + monthly_income = 2 + } + + ai_value = { + base = 100 + 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 = travel_point_of_interest_learning + flag = special_university +} + +########## +# Tiantai Monasteries +########## + +tiantai_monasteries_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_shaolin_monastery.dds" + + show_disabled = yes + + cost_gold = 1000 + + effect_desc = { + desc = unlocks_building_desc + triggered_desc = { + trigger = { has_dlc_feature = tours_and_tournaments } + desc = university_toto_effect_desc + } + triggered_desc = { + trigger = { has_dlc_feature = royal_court } + desc = university_roco_effect_desc + } + desc = university_effect_desc + } + + character_modifier = { + monthly_piety = 0.20 + faith_creation_piety_cost_mult = -0.05 + } + + county_modifier = { + tax_mult = 0.1 + development_growth_factor = 0.15 + development_growth = 0.1 + } + + province_modifier = { + monthly_income = 1.5 + } + + ai_value = { + base = 100 + 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 = travel_point_of_interest_learning + flag = special_university +} + +########## +# Jizu Shan Temples +########## + +jizu_shan_temples_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_shaolin_monastery.dds" + + show_disabled = yes + + cost_gold = 1000 + + effect_desc = { + desc = unlocks_building_desc + triggered_desc = { + trigger = { has_dlc_feature = tours_and_tournaments } + desc = university_toto_effect_desc + } + triggered_desc = { + trigger = { has_dlc_feature = royal_court } + desc = university_roco_effect_desc + } + desc = university_effect_desc + } + + character_modifier = { + monthly_piety = 0.20 + faith_creation_piety_cost_mult = -0.05 + } + + county_modifier = { + tax_mult = 0.1 + development_growth_factor = 0.15 + development_growth = 0.1 + } + + province_modifier = { + monthly_income = 1.5 + } + + ai_value = { + base = 100 + 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 = travel_point_of_interest_learning + flag = special_university +} + +########## +# Nanhua Temple +########## + +nanhua_temple_01 = { + construction_time = very_slow_construction_time + + type_icon = "icon_structure_shaolin_monastery.dds" + + show_disabled = yes + + cost_gold = 1000 + + effect_desc = { + desc = unlocks_building_desc + triggered_desc = { + trigger = { has_dlc_feature = tours_and_tournaments } + desc = university_toto_effect_desc + } + triggered_desc = { + trigger = { has_dlc_feature = royal_court } + desc = university_roco_effect_desc + } + desc = university_effect_desc + } + + character_modifier = { + monthly_piety = 0.20 + faith_creation_piety_cost_mult = -0.05 + } + + county_modifier = { + tax_mult = 0.1 + development_growth_factor = 0.15 + development_growth = 0.1 + } + + province_modifier = { + monthly_income = 1.5 + } + + ai_value = { + base = 100 + 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 = travel_point_of_interest_learning + flag = special_university +} diff --git a/N3OW/common/buildings/00_special_mines.txt b/N3OW/common/buildings/00_special_mines.txt index 80a61744..d00f489c 100644 --- a/N3OW/common/buildings/00_special_mines.txt +++ b/N3OW/common/buildings/00_special_mines.txt @@ -24,7 +24,7 @@ generic_copper_mines_01 = { } cost_gold = expensive_building_tier_3_cost - + province_modifier = { monthly_income = copper_mine_generic_building_tax_tier_1 stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_1 @@ -36,6 +36,11 @@ generic_copper_mines_01 = { next_building = generic_copper_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -81,6 +86,11 @@ generic_copper_mines_02 = { next_building = generic_copper_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -126,6 +136,11 @@ generic_copper_mines_03 = { next_building = generic_copper_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -169,6 +184,11 @@ generic_copper_mines_04 = { development_growth_factor = 0.15 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -212,6 +232,11 @@ generic_silver_mines_01 = { next_building = generic_silver_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -256,6 +281,11 @@ generic_silver_mines_02 = { next_building = generic_silver_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -301,6 +331,11 @@ generic_silver_mines_03 = { next_building = generic_silver_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -344,6 +379,11 @@ generic_silver_mines_04 = { development_growth_factor = 0.16 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -387,6 +427,11 @@ generic_gold_mines_01 = { next_building = generic_gold_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -431,6 +476,11 @@ generic_gold_mines_02 = { next_building = generic_gold_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -476,6 +526,11 @@ generic_gold_mines_03 = { next_building = generic_gold_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -519,6 +574,11 @@ generic_gold_mines_04 = { development_growth_factor = 0.16 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -565,6 +625,11 @@ rammelsberg_mines_01 = { next_building = rammelsberg_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -572,6 +637,8 @@ rammelsberg_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } rammelsberg_mines_02 = { @@ -609,6 +676,11 @@ rammelsberg_mines_02 = { next_building = rammelsberg_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -616,6 +688,8 @@ rammelsberg_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } rammelsberg_mines_03 = { @@ -654,6 +728,11 @@ rammelsberg_mines_03 = { next_building = rammelsberg_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -661,6 +740,8 @@ rammelsberg_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } rammelsberg_mines_04 = { @@ -697,6 +778,11 @@ rammelsberg_mines_04 = { development_growth_factor = 0.2 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -704,6 +790,8 @@ rammelsberg_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } ########## @@ -744,6 +832,11 @@ kutna_hora_mines_01 = { next_building = kutna_hora_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -751,6 +844,8 @@ kutna_hora_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } kutna_hora_mines_02 = { @@ -789,6 +884,11 @@ kutna_hora_mines_02 = { next_building = kutna_hora_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -796,6 +896,8 @@ kutna_hora_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } kutna_hora_mines_03 = { @@ -834,6 +936,11 @@ kutna_hora_mines_03 = { next_building = kutna_hora_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -841,6 +948,8 @@ kutna_hora_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } kutna_hora_mines_04 = { @@ -877,6 +986,11 @@ kutna_hora_mines_04 = { development_growth_factor = 0.2 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -884,6 +998,8 @@ kutna_hora_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } ########## @@ -922,6 +1038,11 @@ kremnica_mines_01 = { next_building = kremnica_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -929,6 +1050,8 @@ kremnica_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } kremnica_mines_02 = { @@ -965,6 +1088,11 @@ kremnica_mines_02 = { next_building = kremnica_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -972,6 +1100,8 @@ kremnica_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } kremnica_mines_03 = { @@ -1008,6 +1138,11 @@ kremnica_mines_03 = { next_building = kremnica_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1015,6 +1150,8 @@ kremnica_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } kremnica_mines_04 = { @@ -1049,6 +1186,11 @@ kremnica_mines_04 = { development_growth_factor = 0.2 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1097,6 +1239,11 @@ falun_mines_01 = { next_building = falun_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1104,6 +1251,8 @@ falun_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper } falun_mines_02 = { @@ -1143,6 +1292,11 @@ falun_mines_02 = { next_building = falun_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1150,6 +1304,8 @@ falun_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper } falun_mines_03 = { @@ -1189,6 +1345,11 @@ falun_mines_03 = { next_building = falun_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1196,6 +1357,8 @@ falun_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper } falun_mines_04 = { @@ -1233,6 +1396,11 @@ falun_mines_04 = { development_growth_factor = 0.2 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1240,6 +1408,8 @@ falun_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper } ########## @@ -1279,6 +1449,11 @@ schwaz_mines_01 = { next_building = schwaz_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1286,6 +1461,8 @@ schwaz_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } schwaz_mines_02 = { @@ -1323,6 +1500,11 @@ schwaz_mines_02 = { next_building = schwaz_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1330,6 +1512,8 @@ schwaz_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } schwaz_mines_03 = { @@ -1367,6 +1551,11 @@ schwaz_mines_03 = { next_building = schwaz_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1374,6 +1563,8 @@ schwaz_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } schwaz_mines_04 = { @@ -1409,6 +1600,11 @@ schwaz_mines_04 = { development_growth_factor = 0.25 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1416,6 +1612,8 @@ schwaz_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } ########## @@ -1454,6 +1652,11 @@ argentiera_mines_01 = { next_building = argentiera_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1461,6 +1664,8 @@ argentiera_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } argentiera_mines_02 = { @@ -1497,6 +1702,11 @@ argentiera_mines_02 = { next_building = argentiera_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1504,6 +1714,8 @@ argentiera_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } argentiera_mines_03 = { @@ -1540,6 +1752,11 @@ argentiera_mines_03 = { next_building = argentiera_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1547,6 +1764,8 @@ argentiera_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } argentiera_mines_04 = { @@ -1581,6 +1800,11 @@ argentiera_mines_04 = { development_growth_factor = 0.25 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1588,6 +1812,8 @@ argentiera_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } ########## @@ -1627,6 +1853,11 @@ kollur_mines_01 = { next_building = kollur_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1634,6 +1865,8 @@ kollur_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems } kollur_mines_02 = { @@ -1671,6 +1904,11 @@ kollur_mines_02 = { next_building = kollur_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1678,6 +1916,8 @@ kollur_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems } kollur_mines_03 = { @@ -1715,6 +1955,11 @@ kollur_mines_03 = { next_building = kollur_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1722,6 +1967,8 @@ kollur_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems } kollur_mines_04 = { @@ -1757,6 +2004,11 @@ kollur_mines_04 = { development_growth_factor = 0.25 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1764,6 +2016,8 @@ kollur_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems } ########## @@ -1802,6 +2056,11 @@ siderokausia_mines_01 = { next_building = siderokausia_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1809,6 +2068,8 @@ siderokausia_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } siderokausia_mines_02 = { @@ -1845,6 +2106,11 @@ siderokausia_mines_02 = { next_building = siderokausia_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1852,6 +2118,8 @@ siderokausia_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } siderokausia_mines_03 = { @@ -1888,6 +2156,11 @@ siderokausia_mines_03 = { next_building = siderokausia_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1895,6 +2168,8 @@ siderokausia_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } siderokausia_mines_04 = { @@ -1929,6 +2204,11 @@ siderokausia_mines_04 = { development_growth_factor = 0.25 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1936,6 +2216,8 @@ siderokausia_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } ########## @@ -1974,6 +2256,11 @@ mali_mines_01 = { next_building = mali_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -1981,6 +2268,8 @@ mali_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } mali_mines_02 = { @@ -2018,6 +2307,11 @@ mali_mines_02 = { next_building = mali_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2025,6 +2319,8 @@ mali_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } mali_mines_03 = { @@ -2062,6 +2358,11 @@ mali_mines_03 = { next_building = mali_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2069,6 +2370,8 @@ mali_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } mali_mines_04 = { @@ -2104,6 +2407,11 @@ mali_mines_04 = { development_growth = 0.3 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2111,6 +2419,8 @@ mali_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } #Iron @@ -2155,6 +2465,11 @@ konasamudram_mines_01 = { next_building = konasamudram_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2162,6 +2477,8 @@ konasamudram_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_iron } konasamudram_mines_02 = { @@ -2202,6 +2519,11 @@ konasamudram_mines_02 = { next_building = konasamudram_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2209,6 +2531,8 @@ konasamudram_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_iron } konasamudram_mines_03 = { @@ -2248,6 +2572,11 @@ konasamudram_mines_03 = { next_building = konasamudram_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2255,6 +2584,8 @@ konasamudram_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_iron } konasamudram_mines_04 = { @@ -2292,6 +2623,11 @@ konasamudram_mines_04 = { development_growth_factor = 0.2 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2299,6 +2635,8 @@ konasamudram_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_iron } ############################## @@ -2343,6 +2681,11 @@ dean_mines_01 = { next_building = dean_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2350,6 +2693,8 @@ dean_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_iron } dean_mines_02 = { @@ -2392,6 +2737,11 @@ dean_mines_02 = { next_building = dean_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2399,6 +2749,8 @@ dean_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_iron } dean_mines_03 = { @@ -2441,6 +2793,11 @@ dean_mines_03 = { next_building = dean_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2448,6 +2805,8 @@ dean_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_iron } dean_mines_04 = { @@ -2488,6 +2847,11 @@ dean_mines_04 = { development_growth_factor = 0.2 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2495,6 +2859,220 @@ dean_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_iron +} + +############################## +# Phnom Dek Iron Mines +############################## + +phnom_dek_mines_01 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + + building_requirement_tribal = no + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_innovation = innovation_crop_rotation + } + } + + cost_gold = expensive_building_tier_3_cost + + province_modifier = { + monthly_income = copper_mine_building_tax_tier_1 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_1 + } + county_modifier = { + tax_mult = 0.05 + levy_size = 0.1 + development_growth_factor = 0.05 + } + + next_building = phnom_dek_mines_02 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_iron +} + +phnom_dek_mines_02 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_innovation = innovation_manorialism + } + } + + cost_gold = expensive_building_tier_4_cost + + province_modifier = { + monthly_income = copper_mine_building_tax_tier_2 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_2 + } + county_modifier = { + tax_mult = 0.1 + levy_size = 0.2 + development_growth_factor = 0.1 + } + + next_building = phnom_dek_mines_03 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_iron +} + +phnom_dek_mines_03 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_innovation = innovation_windmills + } + } + + cost_gold = expensive_building_tier_5_cost + + province_modifier = { + monthly_income = copper_mine_building_tax_tier_3 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_3 + } + county_modifier = { + tax_mult = 0.15 + levy_size = 0.3 + development_growth_factor = 0.15 + } + + next_building = phnom_dek_mines_04 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_iron +} + +phnom_dek_mines_04 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 04 } + culture = { + has_innovation = innovation_cranes + } + } + + cost_gold = expensive_building_tier_6_cost + + province_modifier = { + monthly_income = copper_mine_building_tax_tier_4 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_4 + } + county_modifier = { + tax_mult = 0.20 + levy_size = 0.4 + development_growth_factor = 0.2 + } + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_iron } #Copper & Zinc @@ -2535,6 +3113,11 @@ zawar_mines_01 = { next_building = zawar_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2542,6 +3125,8 @@ zawar_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper } zawar_mines_02 = { @@ -2578,6 +3163,11 @@ zawar_mines_02 = { next_building = zawar_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2585,6 +3175,8 @@ zawar_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper } zawar_mines_03 = { @@ -2621,6 +3213,11 @@ zawar_mines_03 = { next_building = zawar_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2628,6 +3225,8 @@ zawar_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper } zawar_mines_04 = { @@ -2662,6 +3261,11 @@ zawar_mines_04 = { development_growth_factor = 0.25 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2669,6 +3273,8 @@ zawar_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper } ############################## @@ -2709,6 +3315,11 @@ takkeda_mines_01 = { next_building = takkeda_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2716,6 +3327,8 @@ takkeda_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper } takkeda_mines_02 = { @@ -2754,6 +3367,11 @@ takkeda_mines_02 = { next_building = takkeda_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2761,6 +3379,8 @@ takkeda_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper } takkeda_mines_03 = { @@ -2799,6 +3419,11 @@ takkeda_mines_03 = { next_building = takkeda_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2806,6 +3431,8 @@ takkeda_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper } takkeda_mines_04 = { @@ -2842,6 +3469,11 @@ takkeda_mines_04 = { development_growth_factor = 0.2 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2849,6 +3481,8 @@ takkeda_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper } ############################## @@ -2889,6 +3523,11 @@ khetri_mines_01 = { next_building = khetri_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2896,6 +3535,8 @@ khetri_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper } khetri_mines_02 = { @@ -2934,6 +3575,11 @@ khetri_mines_02 = { next_building = khetri_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2941,6 +3587,8 @@ khetri_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper } khetri_mines_03 = { @@ -2979,6 +3627,11 @@ khetri_mines_03 = { next_building = khetri_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -2986,6 +3639,8 @@ khetri_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper } khetri_mines_04 = { @@ -3022,6 +3677,11 @@ khetri_mines_04 = { development_growth_factor = 0.2 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3029,6 +3689,8 @@ khetri_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper } #Salt @@ -3074,6 +3736,11 @@ taghaza_mines_01 = { next_building = taghaza_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3081,6 +3748,8 @@ taghaza_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_salt } taghaza_mines_02 = { @@ -3122,6 +3791,11 @@ taghaza_mines_02 = { next_building = taghaza_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3129,6 +3803,8 @@ taghaza_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_salt } taghaza_mines_03 = { @@ -3170,6 +3846,11 @@ taghaza_mines_03 = { next_building = taghaza_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3216,6 +3897,11 @@ taghaza_mines_04 = { supply_limit_mult = 0.2 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3223,6 +3909,8 @@ taghaza_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_salt } ############################## @@ -3266,6 +3954,11 @@ ijil_mines_01 = { next_building = ijil_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3273,6 +3966,8 @@ ijil_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_salt } ijil_mines_02 = { @@ -3314,6 +4009,11 @@ ijil_mines_02 = { next_building = ijil_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3321,6 +4021,8 @@ ijil_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_salt } ijil_mines_03 = { @@ -3362,6 +4064,11 @@ ijil_mines_03 = { next_building = ijil_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3369,6 +4076,8 @@ ijil_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_salt } ijil_mines_04 = { @@ -3408,6 +4117,11 @@ ijil_mines_04 = { supply_limit_mult = 0.2 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3415,6 +4129,8 @@ ijil_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_salt } ############################## @@ -3460,6 +4176,11 @@ turda_mines_01 = { next_building = turda_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3467,6 +4188,8 @@ turda_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_salt } turda_mines_02 = { @@ -3508,6 +4231,11 @@ turda_mines_02 = { next_building = turda_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3515,6 +4243,8 @@ turda_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_salt } turda_mines_03 = { @@ -3556,6 +4286,11 @@ turda_mines_03 = { next_building = turda_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3563,6 +4298,8 @@ turda_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_salt } turda_mines_04 = { @@ -3602,6 +4339,11 @@ turda_mines_04 = { supply_limit_mult = 0.2 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3609,6 +4351,8 @@ turda_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_salt } #Alum @@ -3651,6 +4395,11 @@ phocaea_mines_01 = { next_building = phocaea_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3658,6 +4407,8 @@ phocaea_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_alum } phocaea_mines_02 = { @@ -3696,6 +4447,11 @@ phocaea_mines_02 = { next_building = phocaea_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3703,6 +4459,8 @@ phocaea_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_alum } phocaea_mines_03 = { @@ -3741,6 +4499,11 @@ phocaea_mines_03 = { next_building = phocaea_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3748,6 +4511,8 @@ phocaea_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_alum } phocaea_mines_04 = { @@ -3784,6 +4549,11 @@ phocaea_mines_04 = { development_growth_factor = 0.2 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3791,6 +4561,8 @@ phocaea_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_alum } @@ -3832,6 +4604,11 @@ pansjhir_mines_01 = { next_building = pansjhir_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3839,6 +4616,8 @@ pansjhir_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } pansjhir_mines_02 = { @@ -3875,6 +4654,11 @@ pansjhir_mines_02 = { next_building = pansjhir_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3882,6 +4666,8 @@ pansjhir_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } pansjhir_mines_03 = { @@ -3918,6 +4704,11 @@ pansjhir_mines_03 = { next_building = pansjhir_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3925,6 +4716,8 @@ pansjhir_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } pansjhir_mines_04 = { @@ -3959,6 +4752,11 @@ pansjhir_mines_04 = { development_growth_factor = 0.25 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -3966,6 +4764,8 @@ pansjhir_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } #################### @@ -4004,6 +4804,11 @@ trepca_mines_01 = { next_building = trepca_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4011,6 +4816,8 @@ trepca_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } trepca_mines_02 = { @@ -4047,6 +4854,11 @@ trepca_mines_02 = { next_building = trepca_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4054,6 +4866,8 @@ trepca_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } trepca_mines_03 = { @@ -4090,6 +4904,11 @@ trepca_mines_03 = { next_building = trepca_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4097,6 +4916,8 @@ trepca_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } trepca_mines_04 = { @@ -4131,6 +4952,11 @@ trepca_mines_04 = { development_growth_factor = 0.25 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4138,6 +4964,8 @@ trepca_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } #################### @@ -4176,6 +5004,11 @@ rudnik_mines_01 = { next_building = rudnik_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4183,6 +5016,8 @@ rudnik_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } rudnik_mines_02 = { @@ -4219,6 +5054,11 @@ rudnik_mines_02 = { next_building = rudnik_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4226,6 +5066,8 @@ rudnik_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } rudnik_mines_03 = { @@ -4262,6 +5104,11 @@ rudnik_mines_03 = { next_building = rudnik_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4269,6 +5116,8 @@ rudnik_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } rudnik_mines_04 = { @@ -4303,6 +5152,11 @@ rudnik_mines_04 = { development_growth_factor = 0.25 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4310,6 +5164,8 @@ rudnik_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } @@ -4349,6 +5205,11 @@ cevennes_mines_01 = { next_building = cevennes_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4356,6 +5217,8 @@ cevennes_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } cevennes_mines_02 = { @@ -4392,6 +5255,11 @@ cevennes_mines_02 = { next_building = cevennes_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4399,6 +5267,8 @@ cevennes_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } cevennes_mines_03 = { @@ -4435,6 +5305,11 @@ cevennes_mines_03 = { next_building = cevennes_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4442,6 +5317,8 @@ cevennes_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } cevennes_mines_04 = { @@ -4476,6 +5353,11 @@ cevennes_mines_04 = { development_growth_factor = 0.25 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4483,8 +5365,1407 @@ cevennes_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } +#Jade +############################## +# Khotan Jade Mines +############################## +hetian_mines_01 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_innovation = innovation_crop_rotation + } + } + + cost_gold = expensive_building_tier_3_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_1 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_1 + } + county_modifier = { + development_growth_factor = 0.1 + } + + next_building = hetian_mines_02 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +hetian_mines_02 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_innovation = innovation_manorialism + } + } + + cost_gold = expensive_building_tier_4_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_2 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_2 + } + county_modifier = { + development_growth_factor = 0.15 + } + + next_building = hetian_mines_03 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +hetian_mines_03 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_innovation = innovation_windmills + } + } + + cost_gold = expensive_building_tier_5_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_3 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_3 + } + county_modifier = { + development_growth_factor = 0.2 + } + + next_building = hetian_mines_04 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +hetian_mines_04 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 04 } + culture = { + has_innovation = innovation_cranes + } + } + + cost_gold = expensive_building_tier_6_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_4 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_4 + } + county_modifier = { + development_growth_factor = 0.25 + } + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +############################## +# Dushan Jade Mines +############################## +dushan_mines_01 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_innovation = innovation_crop_rotation + } + } + + cost_gold = expensive_building_tier_3_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_1 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_1 + } + county_modifier = { + development_growth_factor = 0.1 + } + + next_building = dushan_mines_02 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +dushan_mines_02 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_innovation = innovation_manorialism + } + } + + cost_gold = expensive_building_tier_4_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_2 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_2 + } + county_modifier = { + development_growth_factor = 0.15 + } + + next_building = dushan_mines_03 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +dushan_mines_03 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_innovation = innovation_windmills + } + } + + cost_gold = expensive_building_tier_5_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_3 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_3 + } + county_modifier = { + development_growth_factor = 0.2 + } + + next_building = dushan_mines_04 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +dushan_mines_04 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 04 } + culture = { + has_innovation = innovation_cranes + } + } + + cost_gold = expensive_building_tier_6_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_4 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_4 + } + county_modifier = { + development_growth_factor = 0.25 + } + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +############################## +# Xiuyan Jade Mines +############################## +xiuyan_mines_01 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_innovation = innovation_crop_rotation + } + } + + cost_gold = expensive_building_tier_3_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_1 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_1 + } + county_modifier = { + development_growth_factor = 0.05 + } + character_modifier = { + monthly_dynasty_prestige_mult = 0.02 + } + + next_building = xiuyan_mines_02 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +xiuyan_mines_02 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_innovation = innovation_manorialism + } + } + + cost_gold = expensive_building_tier_4_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_2 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_2 + } + county_modifier = { + development_growth_factor = 0.1 + } + character_modifier = { + monthly_dynasty_prestige_mult = 0.04 + } + + next_building = xiuyan_mines_03 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +xiuyan_mines_03 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_innovation = innovation_windmills + } + } + + cost_gold = expensive_building_tier_5_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_3 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_3 + } + county_modifier = { + development_growth_factor = 0.15 + } + character_modifier = { + monthly_dynasty_prestige_mult = 0.06 + } + + next_building = xiuyan_mines_04 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +xiuyan_mines_04 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 04 } + culture = { + has_innovation = innovation_cranes + } + } + + cost_gold = expensive_building_tier_6_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_4 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_4 + } + county_modifier = { + development_growth_factor = 0.2 + } + character_modifier = { + monthly_dynasty_prestige_mult = 0.08 + } + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +############################## +# Itoigawa Jade Mines +############################## +itoigawa_mines_01 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_innovation = innovation_crop_rotation + } + } + + cost_gold = expensive_building_tier_3_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_1 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_1 + } + county_modifier = { + development_growth_factor = 0.05 + } + character_modifier = { + prestige_level_impact_mult = 0.03 + } + + next_building = itoigawa_mines_02 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +itoigawa_mines_02 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_innovation = innovation_manorialism + } + } + + cost_gold = expensive_building_tier_4_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_2 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_2 + } + county_modifier = { + development_growth_factor = 0.1 + } + character_modifier = { + prestige_level_impact_mult = 0.06 + } + + next_building = itoigawa_mines_03 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +itoigawa_mines_03 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_innovation = innovation_windmills + } + } + + cost_gold = expensive_building_tier_5_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_3 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_3 + } + county_modifier = { + development_growth_factor = 0.15 + } + character_modifier = { + prestige_level_impact_mult = 0.09 + } + + next_building = itoigawa_mines_04 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +itoigawa_mines_04 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 04 } + culture = { + has_innovation = innovation_cranes + } + } + + cost_gold = expensive_building_tier_6_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_4 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_4 + } + county_modifier = { + development_growth_factor = 0.2 + } + character_modifier = { + prestige_level_impact_mult = 0.12 + } + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +############################## +# Lantian Jade Mines +############################## +lantian_mines_01 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_innovation = innovation_crop_rotation + } + } + + cost_gold = expensive_building_tier_3_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_1 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_1 + } + county_modifier = { + development_growth_factor = 0.1 + } + + next_building = lantian_mines_02 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +lantian_mines_02 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_innovation = innovation_manorialism + } + } + + cost_gold = expensive_building_tier_4_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_2 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_2 + } + county_modifier = { + development_growth_factor = 0.15 + } + character_modifier = { + monthly_prestige_gain_per_legitimacy_level_mult = 0.03 + } + + next_building = lantian_mines_03 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +lantian_mines_03 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_innovation = innovation_windmills + } + } + + cost_gold = expensive_building_tier_5_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_3 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_3 + } + county_modifier = { + development_growth_factor = 0.2 + } + character_modifier = { + monthly_prestige_gain_per_legitimacy_level_mult = 0.06 + } + + next_building = lantian_mines_04 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +lantian_mines_04 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 04 } + culture = { + has_innovation = innovation_cranes + } + } + + cost_gold = expensive_building_tier_6_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_4 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_4 + } + county_modifier = { + development_growth_factor = 0.2 + } + character_modifier = { + monthly_prestige_gain_per_legitimacy_level_mult = 0.1 + } + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +############################## +# Fengtian Jade Mines +############################## +fengtian_mines_01 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_innovation = innovation_crop_rotation + } + } + + cost_gold = expensive_building_tier_3_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_1 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_1 + } + county_modifier = { + development_growth_factor = 0.1 + } + character_modifier = { + monthly_prestige_gain_mult = 0.03 + } + + next_building = fengtian_mines_02 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +fengtian_mines_02 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_innovation = innovation_manorialism + } + } + + cost_gold = expensive_building_tier_4_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_2 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_2 + } + county_modifier = { + development_growth_factor = 0.15 + } + character_modifier = { + monthly_prestige_gain_mult = 0.06 + } + + next_building = fengtian_mines_03 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +fengtian_mines_03 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_innovation = innovation_windmills + } + } + + cost_gold = expensive_building_tier_5_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_3 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_3 + } + county_modifier = { + development_growth_factor = 0.2 + } + character_modifier = { + monthly_prestige_gain_mult = 0.1 + } + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +############################## +# Hpakant Jade Mines +############################## +hpakant_mines_01 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_innovation = innovation_crop_rotation + } + } + + cost_gold = expensive_building_tier_3_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_1 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_1 + } + county_modifier = { + development_growth_factor = 0.1 + } + character_modifier = { + stress_loss_per_prestige_level = 0.02 + } + + next_building = hpakant_mines_02 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +hpakant_mines_02 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_innovation = innovation_manorialism + } + } + + cost_gold = expensive_building_tier_4_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_2 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_2 + } + county_modifier = { + development_growth_factor = 0.15 + } + character_modifier = { + stress_loss_per_prestige_level = 0.03 + } + + next_building = hpakant_mines_03 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +hpakant_mines_03 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_innovation = innovation_windmills + } + } + + cost_gold = expensive_building_tier_5_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_3 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_3 + } + county_modifier = { + development_growth_factor = 0.2 + } + character_modifier = { + stress_loss_per_prestige_level = 0.04 + } + + next_building = hpakant_mines_04 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} + +hpakant_mines_04 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 04 } + culture = { + has_innovation = innovation_cranes + } + } + + cost_gold = expensive_building_tier_6_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_4 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_4 + } + county_modifier = { + development_growth_factor = 0.25 + } + character_modifier = { + stress_loss_per_prestige_level = 0.05 + } + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_jade +} #Gold ############################## @@ -4523,6 +6804,11 @@ allaq_mines_01 = { next_building = allaq_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4530,6 +6816,8 @@ allaq_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } allaq_mines_02 = { @@ -4566,6 +6854,11 @@ allaq_mines_02 = { next_building = allaq_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4573,6 +6866,8 @@ allaq_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } allaq_mines_03 = { @@ -4609,6 +6904,11 @@ allaq_mines_03 = { next_building = allaq_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4616,6 +6916,8 @@ allaq_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } allaq_mines_04 = { @@ -4650,6 +6952,11 @@ allaq_mines_04 = { development_growth_factor = 0.25 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4657,6 +6964,8 @@ allaq_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } ############################## @@ -4697,6 +7006,11 @@ verespatak_mines_01 = { next_building = verespatak_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4704,6 +7018,8 @@ verespatak_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } verespatak_mines_02 = { @@ -4740,6 +7056,11 @@ verespatak_mines_02 = { next_building = verespatak_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4747,6 +7068,8 @@ verespatak_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } verespatak_mines_03 = { @@ -4783,6 +7106,11 @@ verespatak_mines_03 = { next_building = verespatak_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4790,6 +7118,8 @@ verespatak_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } verespatak_mines_04 = { @@ -4824,6 +7154,11 @@ verespatak_mines_04 = { development_growth_factor = 0.25 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4831,6 +7166,210 @@ verespatak_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold +} + +############################## +# Suvarnadvipa Gold Mines +############################## + +suvarnadvipa_mines_01 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + show_disabled = yes + + can_construct = { + building_requirement_tribal = no + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_innovation = innovation_currency_03 + } + } + + cost_gold = expensive_building_tier_3_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_1 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_1 + } + county_modifier = { + development_growth_factor = 0.1 + } + + next_building = suvarnadvipa_mines_02 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold +} + +suvarnadvipa_mines_02 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_innovation = innovation_currency_03 + } + } + + cost_gold = expensive_building_tier_4_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_2 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_2 + } + county_modifier = { + development_growth_factor = 0.15 + } + + next_building = suvarnadvipa_mines_03 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold +} + +suvarnadvipa_mines_03 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_innovation = innovation_cranes + } + } + + cost_gold = expensive_building_tier_5_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_3 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_3 + } + county_modifier = { + development_growth_factor = 0.2 + } + + next_building = suvarnadvipa_mines_04 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold +} + +suvarnadvipa_mines_04 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 04 } + culture = { + has_innovation = innovation_cranes + } + } + + cost_gold = expensive_building_tier_6_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_4 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_4 + } + county_modifier = { + development_growth_factor = 0.25 + } + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = 0.10 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold } @@ -4872,6 +7411,11 @@ nishapur_mines_01 = { next_building = nishapur_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4879,6 +7423,8 @@ nishapur_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems } nishapur_mines_02 = { @@ -4915,6 +7461,11 @@ nishapur_mines_02 = { next_building = nishapur_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4922,6 +7473,8 @@ nishapur_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems } nishapur_mines_03 = { @@ -4958,6 +7511,11 @@ nishapur_mines_03 = { next_building = nishapur_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -4965,6 +7523,8 @@ nishapur_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems } nishapur_mines_04 = { @@ -4999,6 +7559,11 @@ nishapur_mines_04 = { development_growth_factor = 0.25 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -5006,6 +7571,8 @@ nishapur_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems } @@ -5050,6 +7617,11 @@ srebrenica_mines_01 = { next_building = srebrenica_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -5057,6 +7629,8 @@ srebrenica_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } srebrenica_mines_02 = { @@ -5094,6 +7668,11 @@ srebrenica_mines_02 = { next_building = srebrenica_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -5101,6 +7680,8 @@ srebrenica_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } srebrenica_mines_03 = { @@ -5138,6 +7719,11 @@ srebrenica_mines_03 = { next_building = srebrenica_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -5145,6 +7731,8 @@ srebrenica_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } srebrenica_mines_04 = { @@ -5180,6 +7768,11 @@ srebrenica_mines_04 = { development_growth_factor = 0.25 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -5187,6 +7780,8 @@ srebrenica_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver } ############################## @@ -5226,6 +7821,11 @@ ratnapura_mines_01 = { next_building = ratnapura_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -5233,6 +7833,8 @@ ratnapura_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems } ratnapura_mines_02 = { @@ -5270,6 +7872,11 @@ ratnapura_mines_02 = { next_building = ratnapura_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -5277,6 +7884,8 @@ ratnapura_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems } ratnapura_mines_03 = { @@ -5314,6 +7923,11 @@ ratnapura_mines_03 = { next_building = ratnapura_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -5321,6 +7935,8 @@ ratnapura_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems } ratnapura_mines_04 = { @@ -5356,6 +7972,11 @@ ratnapura_mines_04 = { development_growth_factor = 0.25 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -5363,6 +7984,8 @@ ratnapura_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems } ####################### @@ -5402,6 +8025,11 @@ sar_i_sang_mines_01 = { next_building = sar_i_sang_mines_02 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -5409,6 +8037,8 @@ sar_i_sang_mines_01 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems } sar_i_sang_mines_02 = { @@ -5445,6 +8075,11 @@ sar_i_sang_mines_02 = { next_building = sar_i_sang_mines_03 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -5452,6 +8087,8 @@ sar_i_sang_mines_02 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems } sar_i_sang_mines_03 = { @@ -5488,6 +8125,11 @@ sar_i_sang_mines_03 = { next_building = sar_i_sang_mines_04 + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -5495,6 +8137,8 @@ sar_i_sang_mines_03 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems } sar_i_sang_mines_04 = { @@ -5529,6 +8173,11 @@ sar_i_sang_mines_04 = { development_growth_factor = 0.25 } + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + ai_value = { base = 100 } @@ -5536,5 +8185,938 @@ sar_i_sang_mines_04 = { type = special flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems } +############################## +# Mogok Valley Ruby Mines +############################## + +mogok_mines_01 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_innovation = innovation_crop_rotation + } + } + + cost_gold = expensive_building_tier_3_cost + + province_modifier = { + monthly_income = special_mine_building_tax_tier_1 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_1 + } + county_modifier = { + tax_mult = 0.2 + development_growth_factor = 0.1 + } + + next_building = mogok_mines_02 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems +} + +mogok_mines_02 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_innovation = innovation_manorialism + } + } + + cost_gold = expensive_building_tier_4_cost + + province_modifier = { + monthly_income = special_mine_building_tax_tier_2 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_2 + } + county_modifier = { + tax_mult = 0.25 + development_growth_factor = 0.15 + } + + next_building = mogok_mines_03 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems +} + +mogok_mines_03 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_innovation = innovation_windmills + } + } + + cost_gold = expensive_building_tier_5_cost + + province_modifier = { + monthly_income = special_mine_building_tax_tier_3 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_3 + } + county_modifier = { + tax_mult = 0.3 + development_growth_factor = 0.2 + } + + next_building = mogok_mines_04 + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems +} + +mogok_mines_04 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 04 } + culture = { + has_innovation = innovation_cranes + } + } + + cost_gold = expensive_building_tier_6_cost + + province_modifier = { + monthly_income = special_mine_building_tax_tier_4 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_4 + } + county_modifier = { + tax_mult = 0.35 + development_growth_factor = 0.25 + } + + province_culture_modifier = { + parameter = cupellation_mine_building_bonuses + tax_mult = innovation_cupellation_mine_tax_bonus_value + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gems +} + +######################################## +# Koganeyama Gold Mines +######################################## + +koganeyama_mines_01 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_innovation = innovation_crop_rotation + } + } + + cost_gold = expensive_building_tier_3_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_1 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_1 + } + county_modifier = { + development_growth_factor = 0.1 + } + + next_building = koganeyama_mines_02 + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold +} + +koganeyama_mines_02 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_innovation = innovation_manorialism + } + } + + cost_gold = expensive_building_tier_4_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_2 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_2 + } + county_modifier = { + development_growth_factor = 0.15 + } + + next_building = koganeyama_mines_03 + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold +} + +koganeyama_mines_03 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_innovation = innovation_windmills + } + } + + cost_gold = expensive_building_tier_5_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_3 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_3 + } + county_modifier = { + development_growth_factor = 0.2 + } + + next_building = koganeyama_mines_04 + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold +} + +koganeyama_mines_04 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 04 } + culture = { + has_innovation = innovation_cranes + } + } + + cost_gold = expensive_building_tier_6_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_4 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_4 + } + county_modifier = { + development_growth_factor = 0.25 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold +} + +######################################## +# Tsushima Silver Mines - 対馬銀山 +######################################## + +tsushima_mines_01 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_innovation = innovation_crop_rotation + } + } + + cost_gold = expensive_building_tier_3_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_1 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_1 + } + county_modifier = { + development_growth_factor = 0.1 + } + + next_building = tsushima_mines_02 + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver +} + +tsushima_mines_02 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_innovation = innovation_manorialism + } + } + + cost_gold = expensive_building_tier_4_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_2 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_2 + } + county_modifier = { + development_growth_factor = 0.15 + } + + next_building = tsushima_mines_03 + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver +} + +tsushima_mines_03 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_innovation = innovation_windmills + } + } + + cost_gold = expensive_building_tier_5_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_3 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_3 + } + county_modifier = { + development_growth_factor = 0.2 + } + + next_building = tsushima_mines_04 + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver +} + +tsushima_mines_04 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 04 } + culture = { + has_innovation = innovation_cranes + } + } + + cost_gold = expensive_building_tier_6_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_4 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_4 + } + county_modifier = { + development_growth_factor = 0.25 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_silver +} + +######################################## +# Sado Gold Mines - ä˝ć¸ˇé‡‘ĺ±± +######################################## + +sado_mines_01 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_innovation = innovation_crop_rotation + } + } + + cost_gold = expensive_building_tier_3_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_1 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_1 + } + county_modifier = { + development_growth_factor = 0.1 + } + + next_building = sado_mines_02 + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold +} + +sado_mines_02 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_innovation = innovation_manorialism + } + } + + cost_gold = expensive_building_tier_4_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_2 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_2 + } + county_modifier = { + development_growth_factor = 0.15 + } + + next_building = sado_mines_03 + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold +} + +sado_mines_03 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_innovation = innovation_windmills + } + } + + cost_gold = expensive_building_tier_5_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_3 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_3 + } + county_modifier = { + development_growth_factor = 0.2 + } + + next_building = sado_mines_04 + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold +} + +sado_mines_04 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 04 } + culture = { + has_innovation = innovation_cranes + } + } + + cost_gold = expensive_building_tier_6_cost + + province_modifier = { + monthly_income = silver_mine_building_tax_tier_4 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_4 + } + county_modifier = { + development_growth_factor = 0.25 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_gold +} + +######################################## +# Tada Copper Mines - ĺ¤šç”°éŠ€éŠ…ĺ±±éş +######################################## + +tada_mines_01 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + + building_requirement_tribal = no + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_innovation = innovation_crop_rotation + } + } + + cost_gold = expensive_building_tier_3_cost + + province_modifier = { + monthly_income = copper_mine_generic_building_tax_tier_1 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_1 + } + county_modifier = { + tax_mult = 0.04 + development_growth_factor = 0.025 + } + + next_building = tada_mines_02 + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper +} + +tada_mines_02 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_innovation = innovation_manorialism + } + } + + cost_gold = expensive_building_tier_4_cost + + province_modifier = { + monthly_income = copper_mine_generic_building_tax_tier_2 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_2 + } + county_modifier = { + tax_mult = 0.08 + development_growth_factor = 0.05 + } + + next_building = tada_mines_03 + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper +} + +tada_mines_03 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_innovation = innovation_windmills + } + } + + cost_gold = expensive_building_tier_5_cost + + province_modifier = { + monthly_income = copper_mine_generic_building_tax_tier_3 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_3 + } + county_modifier = { + tax_mult = 0.12 + development_growth_factor = 0.1 + } + + next_building = tada_mines_04 + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper +} + +tada_mines_04 = { + effect_desc = mines_effect_desc + + asset = { + type = pdxmesh + name = "building_special_mines_mesh" + } + + construction_time = slow_construction_time + + type_icon = "icon_structure_mines.dds" + + can_construct_potential = { + + building_requirement_tribal = no + } + can_construct = { + building_requirement_castle_city_church = { LEVEL = 04 } + culture = { + has_innovation = innovation_cranes + } + } + + cost_gold = expensive_building_tier_6_cost + + province_modifier = { + monthly_income = copper_mine_building_tax_tier_4 + stationed_siege_weapon_siege_value_mult = high_maa_siege_value_tier_4 + } + county_modifier = { + tax_mult = 0.16 + development_growth_factor = 0.15 + } + + ai_value = { + base = 100 + } + + type = special + + flag = travel_point_of_interest_economic + flag = special_mine + flag = special_mine_copper +} diff --git a/N3OW/common/buildings/00_standard_economy_buildings.txt b/N3OW/common/buildings/00_standard_economy_buildings.txt index b1463856..4bf85cc7 100644 --- a/N3OW/common/buildings/00_standard_economy_buildings.txt +++ b/N3OW/common/buildings/00_standard_economy_buildings.txt @@ -19,7 +19,7 @@ # Watermills - Late Game Building - Massive Tax, Supply Limit, Building and Holding construction cost reduction, Holding Taxes, Dev Growth % and flat value # Qanats - Cultural Building - Dev Growth % and flat value, Supply Limit, Travel bonus # Murex Farms - Mediterranean Building - Influence, Dev Growth % and flat value, Tax - +# Waterworks - is in India, Southeast Asia, or China, prov is county captain and terrain is NOT mountains or desert mountains ### caravanserai @@ -147,23 +147,24 @@ caravanserai_01 = { development_growth = normal_building_development_growth_tier_1 travel_danger = -1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = caravanserai_02 type_icon = "icon_building_caravanserai.dds" ai_value = { - base = 20 + base = 10 ai_tier_1_building_modifier = yes ai_tier_1_economical_building_preference_modifier = yes ai_general_building_modifier = yes directive_to_build_economy_modifier = yes modifier = { - factor = 2 - scope:holder.capital_province = this - } - modifier = { - factor = 2 + add = 2 AND = { building_watermills_requirement_terrain = yes building_windmills_requirement_terrain = yes @@ -221,6 +222,11 @@ caravanserai_02 = { men_at_arms_maintenance = normal_building_maa_maintenance_tier_2 mercenary_hire_cost_mult = normal_building_maa_maintenance_tier_2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = caravanserai_03 ai_value = { @@ -270,6 +276,11 @@ caravanserai_03 = { men_at_arms_maintenance = normal_building_maa_maintenance_tier_3 mercenary_hire_cost_mult = normal_building_maa_maintenance_tier_3 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = caravanserai_04 ai_value = { @@ -316,6 +327,11 @@ caravanserai_04 = { men_at_arms_maintenance = normal_building_maa_maintenance_tier_4 mercenary_hire_cost_mult = normal_building_maa_maintenance_tier_4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = caravanserai_05 ai_value = { @@ -362,6 +378,11 @@ caravanserai_05 = { men_at_arms_maintenance = normal_building_maa_maintenance_tier_5 mercenary_hire_cost_mult = normal_building_maa_maintenance_tier_5 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = caravanserai_06 ai_value = { @@ -409,6 +430,11 @@ caravanserai_06 = { mercenary_hire_cost_mult = normal_building_maa_maintenance_tier_6 #small artifact quality bonus if TIT-40761 gets implemented } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = caravanserai_07 ai_value = { @@ -456,6 +482,11 @@ caravanserai_07 = { men_at_arms_maintenance = normal_building_maa_maintenance_tier_7 mercenary_hire_cost_mult = normal_building_maa_maintenance_tier_7 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = caravanserai_08 ai_value = { @@ -503,6 +534,11 @@ caravanserai_08 = { men_at_arms_maintenance = normal_building_maa_maintenance_tier_8 mercenary_hire_cost_mult = normal_building_maa_maintenance_tier_8 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -530,7 +566,7 @@ watermills_01 = { building_requirement_castle_city_church = { LEVEL = 01 } trigger_if = { limit = { - NOT = { + NOR = { scope:holder.culture = { has_cultural_parameter = next_level_w_mills } @@ -545,6 +581,9 @@ watermills_01 = { } trigger_else = { OR = { + scope:holder.culture = { + has_innovation = innovation_windmills + } scope:holder.culture = { has_cultural_parameter = next_level_w_mills has_innovation = innovation_manorialism @@ -608,6 +647,11 @@ watermills_01 = { county_modifier = { development_growth = good_building_development_growth_tier_1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = watermills_02 @@ -698,6 +742,11 @@ watermills_02 = { county_modifier = { development_growth = good_building_development_growth_tier_2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = watermills_03 ai_value = { @@ -745,12 +794,10 @@ watermills_03 = { } trigger_else = { OR = { - AND = { - scope:holder.culture = { + scope:holder.culture = { has_cultural_parameter = next_level_w_mills has_innovation = innovation_windmills } - } AND = { has_building_or_higher = logging_camps_04 culture = { @@ -780,6 +827,11 @@ watermills_03 = { development_growth_factor = normal_building_development_growth_factor_tier_1 tax_mult = normal_building_tax_mult_tier_1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = watermills_04 ai_value = { @@ -823,12 +875,10 @@ watermills_04 = { } trigger_else = { OR = { - AND = { - scope:holder.culture = { + scope:holder.culture = { has_cultural_parameter = next_level_w_mills has_innovation = innovation_windmills } - } AND = { has_building_or_higher = logging_camps_04 culture = { @@ -858,6 +908,11 @@ watermills_04 = { development_growth = good_building_development_growth_tier_4 tax_mult = normal_building_tax_mult_tier_2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = watermills_05 ai_value = { @@ -914,6 +969,11 @@ watermills_05 = { development_growth = good_building_development_growth_tier_5 tax_mult = normal_building_tax_mult_tier_3 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = watermills_06 ai_value = { @@ -973,6 +1033,11 @@ watermills_06 = { development_growth = good_building_development_growth_tier_6 tax_mult = normal_building_tax_mult_tier_4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = watermills_07 ai_value = { @@ -1032,6 +1097,11 @@ watermills_07 = { development_growth = good_building_development_growth_tier_7 tax_mult = normal_building_tax_mult_tier_5 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = watermills_08 ai_value = { @@ -1091,6 +1161,11 @@ watermills_08 = { development_growth = good_building_development_growth_tier_8 tax_mult = normal_building_tax_mult_tier_6 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -1118,7 +1193,7 @@ windmills_01 = { building_requirement_castle_city_church = { LEVEL = 01 } trigger_if = { limit = { - NOT = { + NOR = { scope:holder.culture = { has_cultural_parameter = next_level_w_mills } @@ -1133,6 +1208,9 @@ windmills_01 = { } trigger_else = { OR = { + scope:holder.culture = { + has_innovation = innovation_windmills + } scope:holder.culture = { has_cultural_parameter = next_level_w_mills has_innovation = innovation_manorialism @@ -1196,6 +1274,11 @@ windmills_01 = { development_growth_factor = good_building_development_growth_factor_tier_1 development_growth = good_building_development_growth_tier_1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = windmills_02 @@ -1290,6 +1373,11 @@ windmills_02 = { development_growth_factor = good_building_development_growth_factor_tier_2 development_growth = good_building_development_growth_tier_2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = windmills_03 ai_value = { @@ -1366,6 +1454,11 @@ windmills_03 = { development_growth_factor = good_building_development_growth_factor_tier_3 development_growth = good_building_development_growth_tier_3 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = windmills_04 ai_value = { @@ -1436,6 +1529,11 @@ windmills_04 = { development_growth_factor = good_building_development_growth_factor_tier_4 development_growth = good_building_development_growth_tier_4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = windmills_05 ai_value = { @@ -1490,6 +1588,11 @@ windmills_05 = { development_growth_factor = good_building_development_growth_factor_tier_5 development_growth = good_building_development_growth_tier_5 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = windmills_06 ai_value = { @@ -1547,6 +1650,11 @@ windmills_06 = { development_growth_factor = good_building_development_growth_factor_tier_6 development_growth = good_building_development_growth_tier_6 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = windmills_07 ai_value = { @@ -1604,6 +1712,11 @@ windmills_07 = { development_growth_factor = good_building_development_growth_factor_tier_7 development_growth = good_building_development_growth_tier_7 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = windmills_08 ai_value = { @@ -1661,6 +1774,11 @@ windmills_08 = { development_growth_factor = good_building_development_growth_factor_tier_8 development_growth = good_building_development_growth_tier_8 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -1670,6 +1788,2471 @@ windmills_08 = { } } + + + +# Qanats + +qanats_01 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_qanats_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 01 } + } + + is_enabled = { + is_county_capital = yes + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + can_construct = { + } + + cost_gold = normal_building_tier_1_cost + + province_modifier = { + monthly_income = poor_building_tax_tier_1 + supply_limit = normal_building_supply_limit_tier_1 + } + + county_modifier = { + development_growth_factor = good_building_development_growth_factor_tier_1 + development_growth = good_building_development_growth_tier_1 + travel_danger = -1 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = qanats_02 + + type_icon = "icon_building_qanats.dds" + + ai_value = { + base = 20 + ai_tier_1_building_modifier = yes + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + modifier = { + factor = 2 + scope:holder.capital_province = this + } + } +} + +qanats_02 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_qanats_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 01 } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + can_construct = { + } + + cost_gold = normal_building_tier_2_cost + + province_modifier = { + monthly_income = poor_building_tax_tier_2 + supply_limit = normal_building_supply_limit_tier_2 + } + + county_modifier = { + development_growth_factor = good_building_development_growth_factor_tier_2 + development_growth = good_building_development_growth_tier_2 + travel_danger = -2 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = qanats_03 + + type_icon = "icon_building_qanats.dds" + + ai_value = { + base = 9 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + modifier = { + factor = 2 + scope:holder.capital_province = this + } + } +} + +qanats_03 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_qanats_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 02 } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + can_construct = { + } + + cost_gold = normal_building_tier_3_cost + + province_modifier = { + monthly_income = poor_building_tax_tier_3 + supply_limit = normal_building_supply_limit_tier_3 + build_speed = normal_building_build_speed_tier_3 + } + + county_modifier = { + development_growth_factor = good_building_development_growth_factor_tier_3 + development_growth = good_building_development_growth_tier_3 + travel_danger = -3 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = qanats_04 + + type_icon = "icon_building_qanats.dds" + + ai_value = { + base = 8 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + modifier = { + factor = 2 + scope:holder.capital_province = this + } + } +} + +qanats_04 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_qanats_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 02 } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + can_construct = { + } + + cost_gold = normal_building_tier_4_cost + + province_modifier = { + monthly_income = poor_building_tax_tier_4 + supply_limit = normal_building_supply_limit_tier_4 + build_speed = normal_building_build_speed_tier_4 + } + + county_modifier = { + development_growth_factor = good_building_development_growth_factor_tier_4 + development_growth = good_building_development_growth_tier_4 + travel_danger = -4 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = qanats_05 + + type_icon = "icon_building_qanats.dds" + + ai_value = { + base = 7 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + modifier = { + factor = 2 + scope:holder.capital_province = this + } + } +} + +qanats_05 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_qanats_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 03 } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + can_construct = { + } + + cost_gold = normal_building_tier_5_cost + + province_modifier = { + monthly_income = poor_building_tax_tier_5 + supply_limit = normal_building_supply_limit_tier_5 + build_speed = normal_building_build_speed_tier_5 + } + + county_modifier = { + development_growth_factor = good_building_development_growth_factor_tier_5 + development_growth = good_building_development_growth_tier_5 + travel_danger = -5 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + effect_desc = unlocks_cereal_fields_and_orchards + + next_building = qanats_06 + + type_icon = "icon_building_qanats.dds" + + ai_value = { + base = 6 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + modifier = { + factor = 2 + scope:holder.capital_province = this + } + } +} + +qanats_06 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_qanats_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 03 } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + can_construct = { + } + + cost_gold = normal_building_tier_6_cost + + province_modifier = { + monthly_income = poor_building_tax_tier_6 + supply_limit = normal_building_supply_limit_tier_6 + build_speed = normal_building_build_speed_tier_6 + } + + county_modifier = { + development_growth_factor = good_building_development_growth_factor_tier_6 + development_growth = good_building_development_growth_tier_6 + travel_danger = -6 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + effect_desc = unlocks_cereal_fields_and_orchards + + next_building = qanats_07 + + type_icon = "icon_building_qanats.dds" + + ai_value = { + base = 5 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + modifier = { + factor = 2 + scope:holder.capital_province = this + } + } +} + +qanats_07 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_qanats_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 04 } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + can_construct = { + } + + cost_gold = normal_building_tier_7_cost + + province_modifier = { + monthly_income = poor_building_tax_tier_7 + supply_limit = normal_building_supply_limit_tier_7 + build_speed = normal_building_build_speed_tier_7 + } + + character_modifier = { + negate_health_penalty_add = 0.1 + } + + county_modifier = { + development_growth_factor = good_building_development_growth_factor_tier_7 + development_growth = good_building_development_growth_tier_7 + travel_danger = -7 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + effect_desc = unlocks_cereal_fields_and_orchards + + next_building = qanats_08 + + type_icon = "icon_building_qanats.dds" + + ai_value = { + base = 4 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + modifier = { + factor = 2 + scope:holder.capital_province = this + } + } +} + +qanats_08 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_qanats_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 04 } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + can_construct = { + } + + cost_gold = normal_building_tier_8_cost + + province_modifier = { + monthly_income = poor_building_tax_tier_8 + supply_limit = normal_building_supply_limit_tier_8 + build_speed = normal_building_build_speed_tier_8 + } + + character_modifier = { + negate_health_penalty_add = 0.2 + } + + county_modifier = { + development_growth_factor = good_building_development_growth_factor_tier_8 + development_growth = good_building_development_growth_tier_8 + travel_danger = -8 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + effect_desc = unlocks_cereal_fields_and_orchards + + + type_icon = "icon_building_qanats.dds" + + ai_value = { + base = 3 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + modifier = { + factor = 2 + scope:holder.capital_province = this + } + } +} + +# Murex Farms + +murex_farm_01 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_murex_farm_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 01 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_1_cost + + province_modifier = { + monthly_income = normal_building_tax_tier_1 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_1 + development_growth = normal_building_development_growth_tier_1 + } + + character_modifier = { + monthly_influence = 0.1 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = murex_farm_02 + + type_icon = "icon_building_murex_farms.dds" + + ai_value = { + base = 14 + ai_tier_1_building_modifier = yes + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + modifier = { + factor = 2 + scope:holder.capital_province = this + } + modifier = { + factor = 2 + scope:holder = { + government_has_flag = government_is_administrative + } + } + } +} + +murex_farm_02 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_murex_farm_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 01 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_2_cost + + province_modifier = { + monthly_income = normal_building_tax_tier_2 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_2 + development_growth = normal_building_development_growth_tier_2 + } + + character_modifier = { + monthly_influence = 0.3 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = murex_farm_03 + + type_icon = "icon_building_murex_farms.dds" + + ai_value = { + base = 9 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +murex_farm_03 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_murex_farm_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 02 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_3_cost + + province_modifier = { + monthly_income = normal_building_tax_tier_3 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_3 + development_growth = normal_building_development_growth_tier_3 + } + + character_modifier = { + monthly_influence = 0.6 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = murex_farm_04 + + type_icon = "icon_building_murex_farms.dds" + + ai_value = { + base = 8 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +murex_farm_04 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_murex_farm_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 02 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_4_cost + + province_modifier = { + monthly_income = normal_building_tax_tier_4 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_4 + development_growth = normal_building_development_growth_tier_4 + } + + character_modifier = { + monthly_influence = 1 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = murex_farm_05 + + type_icon = "icon_building_murex_farms.dds" + + ai_value = { + base = 7 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +murex_farm_05 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_murex_farm_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 03 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_5_cost + + province_modifier = { + monthly_income = normal_building_tax_tier_5 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_5 + development_growth = normal_building_development_growth_tier_5 + } + + character_modifier = { + monthly_influence = 1.3 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = murex_farm_06 + + type_icon = "icon_building_murex_farms.dds" + + ai_value = { + base = 6 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +murex_farm_06 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_murex_farm_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 03 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_6_cost + + province_modifier = { + monthly_income = normal_building_tax_tier_6 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_6 + development_growth = normal_building_development_growth_tier_6 + } + + character_modifier = { + monthly_influence = 1.8 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = murex_farm_07 + + type_icon = "icon_building_murex_farms.dds" + + ai_value = { + base = 5 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +murex_farm_07 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_murex_farm_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 04 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_7_cost + + province_modifier = { + monthly_income = normal_building_tax_tier_7 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_7 + development_growth = normal_building_development_growth_tier_7 + } + + character_modifier = { + monthly_influence = 2.3 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = murex_farm_08 + + type_icon = "icon_building_murex_farms.dds" + + ai_value = { + base = 4 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +murex_farm_08 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_murex_farm_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 04 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_8_cost + + province_modifier = { + monthly_income = normal_building_tax_tier_8 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_8 + development_growth = normal_building_development_growth_tier_8 + } + + character_modifier = { + monthly_influence = 3 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + type_icon = "icon_building_murex_farms.dds" + + ai_value = { + base = 3 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +### paddy_fields + +paddy_fields_01 = { + construction_time = standard_construction_time + effect_desc = paddy_fields_effect_desc + + can_construct_potential = { + building_paddy_fields_requirement_terrain = yes + } + + can_construct = { + building_requirement_castle_city_church = { LEVEL = 01 } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_1_cost + + province_modifier = { + monthly_income = good_building_tax_tier_1 + } + province_terrain_modifier = { + terrain = terraced_hills + development_growth_factor = 0.02 + } + province_terrain_modifier = { + terrain = floodplains + development_growth_factor = 0.02 + } + + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = terraced_hills + tax_mult = innovation_champa_rice_tax_mult_value_1 + levy_size = innovation_champa_rice_levy_size_value_1 + } + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = wetlands + tax_mult = innovation_champa_rice_tax_mult_value_1 + levy_size = innovation_champa_rice_levy_size_value_1 + } + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = floodplains + tax_mult = innovation_champa_rice_tax_mult_value_1 + levy_size = innovation_champa_rice_levy_size_value_1 + } + + province_culture_modifier = { + parameter = collective_lands_farms_bonuses + stationed_maa_damage_mult = normal_maa_damage_tier_1 + stationed_maa_toughness_mult = normal_maa_toughness_tier_1 + } + province_culture_modifier = { + parameter = brewery_farming_bonus + county_opinion_add = 2 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = paddy_fields_02 + + type_icon = "building_rice.dds" + + ai_value = { + base = 15 # paddy fields should take priority when possible + ai_tier_1_building_modifier = yes + ai_tier_1_economical_building_preference_modifier = yes + ai_paddy_fields_improvement_from_culture_modifier = yes # Only on the level 1 to secure having pasture when the AI is from an appropriate culture + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + modifier = { + factor = 2 + scope:holder.capital_province = this + } + modifier = { + factor = 2 + scope:holder.culture = { has_innovation = innovation_champa_rice } + } + modifier = { + factor = 0 + scope:holder.culture = { has_innovation = innovation_champa_rice } # this also allows farm estates to be built in rice fields + NOT = { + has_building_or_higher = farm_estates_01 + } + } + modifier = { + factor = 0 + building_orchards_requirement_terrain = yes + NOT = { + has_building_or_higher = orchards_01 + } + } + } +} + +paddy_fields_02 = { + construction_time = standard_construction_time + effect_desc = paddy_fields_effect_desc + + can_construct_potential = { + building_paddy_fields_requirement_terrain = yes + } + + can_construct = { + building_requirement_castle_city_church = { LEVEL = 01 } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_2_cost + + province_modifier = { + monthly_income = good_building_tax_tier_2 + } + province_terrain_modifier = { + terrain = terraced_hills + development_growth_factor = 0.04 + } + + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = terraced_hills + tax_mult = innovation_champa_rice_tax_mult_value_1 + levy_size = innovation_champa_rice_levy_size_value_1 + } + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = wetlands + tax_mult = innovation_champa_rice_tax_mult_value_1 + levy_size = innovation_champa_rice_levy_size_value_1 + } + + province_culture_modifier = { + parameter = collective_lands_farms_bonuses + stationed_maa_damage_mult = normal_maa_damage_tier_2 + stationed_maa_toughness_mult = normal_maa_toughness_tier_2 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = paddy_fields_03 + + ai_value = { + base = 9 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +paddy_fields_03 = { + construction_time = standard_construction_time + effect_desc = paddy_fields_effect_desc + + can_construct_potential = { + building_paddy_fields_requirement_terrain = yes + } + + can_construct = { + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = rice_cultivators_next_level_paddy_fields + } + } + } + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_manorialism + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = rice_cultivators_next_level_paddy_fields + } + building_requirement_castle_city_church = { LEVEL = 01 } + } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_3_cost + + province_modifier = { + monthly_income = good_building_tax_tier_3 + } + province_terrain_modifier = { + terrain = terraced_hills + development_growth_factor = 0.06 + } + + county_modifier = { + supply_limit = 400 + } + + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = terraced_hills + tax_mult = innovation_champa_rice_tax_mult_value_2 + levy_size = innovation_champa_rice_levy_size_value_2 + development_growth_factor = innovation_champa_rice_development_growth_factor_value_2 + } + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = wetlands + tax_mult = innovation_champa_rice_tax_mult_value_2 + levy_size = innovation_champa_rice_levy_size_value_2 + development_growth_factor = innovation_champa_rice_development_growth_factor_value_2 + } + + province_culture_modifier = { + parameter = collective_lands_farms_bonuses + stationed_maa_damage_mult = normal_maa_damage_tier_3 + stationed_maa_toughness_mult = normal_maa_toughness_tier_3 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = paddy_fields_04 + + ai_value = { + base = 8 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + } +} + +paddy_fields_04 = { + construction_time = standard_construction_time + effect_desc = paddy_fields_effect_desc + + can_construct_potential = { + building_cereal_fields_requirement_terrain = yes + } + + can_construct = { + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = rice_cultivators_next_level_paddy_fields + } + } + } + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_manorialism + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = rice_cultivators_next_level_paddy_fields + } + building_requirement_castle_city_church = { LEVEL = 01 } + } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_4_cost + + province_modifier = { + monthly_income = good_building_tax_tier_4 + } + province_terrain_modifier = { + terrain = terraced_hills + development_growth_factor = 0.08 + } + + county_modifier = { + supply_limit = 400 + development_growth_factor = 0.05 + } + + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = terraced_hills + tax_mult = innovation_champa_rice_tax_mult_value_2 + levy_size = innovation_champa_rice_levy_size_value_2 + development_growth_factor = innovation_champa_rice_development_growth_factor_value_2 + } + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = wetlands + tax_mult = innovation_champa_rice_tax_mult_value_2 + levy_size = innovation_champa_rice_levy_size_value_2 + development_growth_factor = innovation_champa_rice_development_growth_factor_value_2 + } + + province_culture_modifier = { + parameter = collective_lands_farms_bonuses + stationed_maa_damage_mult = normal_maa_damage_tier_4 + stationed_maa_toughness_mult = normal_maa_toughness_tier_4 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = paddy_fields_05 + + ai_value = { + base = 7 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + } +} + +paddy_fields_05 = { + construction_time = standard_construction_time + effect_desc = paddy_fields_effect_desc + + can_construct_potential = { + building_paddy_fields_requirement_terrain = yes + } + + can_construct = { + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = rice_cultivators_next_level_paddy_fields + } + } + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_guilds + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + scope:holder.culture = { + has_innovation = innovation_manorialism + } + building_requirement_castle_city_church = { LEVEL = 02 } + } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_5_cost + + province_modifier = { + monthly_income = good_building_tax_tier_5 + } + province_terrain_modifier = { + terrain = terraced_hills + development_growth_factor = 0.12 + } + + county_modifier = { + supply_limit = 400 + development_growth_factor = 0.05 + supply_limit_mult = 0.05 + } + + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = terraced_hills + tax_mult = innovation_champa_rice_tax_mult_value_3 + levy_size = innovation_champa_rice_levy_size_value_3 + development_growth_factor = innovation_champa_rice_development_growth_factor_value_3 + } + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = wetlands + tax_mult = innovation_champa_rice_tax_mult_value_3 + levy_size = innovation_champa_rice_levy_size_value_3 + development_growth_factor = innovation_champa_rice_development_growth_factor_value_3 + } + + province_culture_modifier = { + parameter = collective_lands_farms_bonuses + stationed_maa_damage_mult = normal_maa_damage_tier_5 + stationed_maa_toughness_mult = normal_maa_toughness_tier_5 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = paddy_fields_06 + + ai_value = { + base = 6 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + } +} + +paddy_fields_06 = { + construction_time = standard_construction_time + effect_desc = paddy_fields_effect_desc + + can_construct_potential = { + building_paddy_fields_requirement_terrain = yes + } + + can_construct = { + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = rice_cultivators_next_level_paddy_fields + } + } + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_guilds + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + scope:holder.culture = { + has_innovation = innovation_manorialism + } + building_requirement_castle_city_church = { LEVEL = 02 } + } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_6_cost + + province_modifier = { + monthly_income = good_building_tax_tier_6 + } + province_terrain_modifier = { + terrain = terraced_hills + development_growth_factor = 0.16 + } + + county_modifier = { + supply_limit = 400 + development_growth_factor = 0.05 + supply_limit_mult = 0.05 + church_holding_build_gold_cost = -0.05 + } + + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = terraced_hills + tax_mult = innovation_champa_rice_tax_mult_value_3 + levy_size = innovation_champa_rice_levy_size_value_3 + development_growth_factor = innovation_champa_rice_development_growth_factor_value_3 + } + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = wetlands + tax_mult = innovation_champa_rice_tax_mult_value_3 + levy_size = innovation_champa_rice_levy_size_value_3 + development_growth_factor = innovation_champa_rice_development_growth_factor_value_3 + } + + province_culture_modifier = { + parameter = collective_lands_farms_bonuses + stationed_maa_damage_mult = normal_maa_damage_tier_6 + stationed_maa_toughness_mult = normal_maa_toughness_tier_6 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = paddy_fields_07 + + ai_value = { + base = 5 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + } +} + +paddy_fields_07 = { + construction_time = standard_construction_time + effect_desc = paddy_fields_effect_desc + + can_construct_potential = { + building_paddy_fields_requirement_terrain = yes + } + + can_construct = { + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = rice_cultivators_next_level_paddy_fields + } + } + } + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { + has_innovation = innovation_cranes + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + scope:holder.culture = { + has_innovation = innovation_guilds + } + building_requirement_castle_city_church = { LEVEL = 03 } + } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_7_cost + + province_modifier = { + monthly_income = good_building_tax_tier_7 + } + province_terrain_modifier = { + terrain = terraced_hills + development_growth_factor = 0.18 + } + + county_modifier = { + levy_reinforcement_rate = 0.05 + supply_limit = 400 + development_growth_factor = 0.05 + supply_limit_mult = 0.05 + city_holding_build_gold_cost = -0.05 + } + + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = terraced_hills + tax_mult = innovation_champa_rice_tax_mult_value_4 + levy_size = innovation_champa_rice_levy_size_value_4 + development_growth_factor = innovation_champa_rice_development_growth_factor_value_4 + } + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = wetlands + tax_mult = innovation_champa_rice_tax_mult_value_4 + levy_size = innovation_champa_rice_levy_size_value_4 + development_growth_factor = innovation_champa_rice_development_growth_factor_value_4 + } + + province_culture_modifier = { + parameter = collective_lands_farms_bonuses + stationed_maa_damage_mult = normal_maa_damage_tier_7 + stationed_maa_toughness_mult = normal_maa_toughness_tier_7 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = paddy_fields_08 + + ai_value = { + base = 4 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + } +} + +paddy_fields_08 = { + construction_time = standard_construction_time + effect_desc = paddy_fields_effect_desc + + can_construct_potential = { + building_paddy_fields_requirement_terrain = yes + } + + can_construct = { + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = rice_cultivators_next_level_paddy_fields + } + } + } + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { + has_innovation = innovation_cranes + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + scope:holder.culture = { + has_innovation = innovation_guilds + } + building_requirement_castle_city_church = { LEVEL = 03 } + } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_8_cost + + province_modifier = { + monthly_income = good_building_tax_tier_8 + } + province_terrain_modifier = { + terrain = terraced_hills + development_growth_factor = 0.20 + } + + county_modifier = { + levy_reinforcement_rate = 0.05 + supply_limit = 1600 + development_growth_factor = 0.05 + supply_limit_mult = 0.05 + city_holding_build_gold_cost = -0.05 + } + + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = terraced_hills + tax_mult = innovation_champa_rice_tax_mult_value_4 + levy_size = innovation_champa_rice_levy_size_value_4 + development_growth_factor = innovation_champa_rice_development_growth_factor_value_4 + } + province_terrain_modifier = { + parameter = champa_rice_building_bonuses + terrain = wetlands + tax_mult = innovation_champa_rice_tax_mult_value_4 + levy_size = innovation_champa_rice_levy_size_value_4 + development_growth_factor = innovation_champa_rice_development_growth_factor_value_4 + } + + province_culture_modifier = { + parameter = collective_lands_farms_bonuses + stationed_maa_damage_mult = normal_maa_damage_tier_8 + stationed_maa_toughness_mult = normal_maa_toughness_tier_8 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + ai_value = { + base = 3 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + } +} + +# Spice plantations + +spice_plantation_01 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_spice_plantation_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 01 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_1_cost + + character_modifier = { + monthly_prestige = 0.03 + } + + province_modifier = { + monthly_income = normal_building_tax_tier_1 + } + + character_government_modifier = { + parameter = government_has_influence + monthly_influence = 0.1 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = spice_plantation_02 + + type_icon = "icon_building_spice_plantation.dds" + + ai_value = { + base = 12 + ai_tier_1_building_modifier = yes + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + modifier = { + factor = 2 + scope:holder.capital_province = this + } + modifier = { + factor = 2 + scope:holder = { + government_has_flag = government_is_administrative + } + } + } +} + +spice_plantation_02 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_spice_plantation_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 01 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_2_cost + + character_modifier = { + monthly_prestige = 0.06 + } + + province_modifier = { + monthly_income = normal_building_tax_tier_2 + } + + character_government_modifier = { + parameter = government_has_influence + monthly_influence = 0.3 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = spice_plantation_03 + + type_icon = "icon_building_spice_plantation.dds" + + ai_value = { + base = 9 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +spice_plantation_03 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_spice_plantation_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 02 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_3_cost + + character_modifier = { + monthly_prestige = 0.09 + } + + province_modifier = { + monthly_income = normal_building_tax_tier_3 + } + + character_government_modifier = { + parameter = government_has_influence + monthly_influence = 0.6 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = spice_plantation_04 + + type_icon = "icon_building_spice_plantation.dds" + + ai_value = { + base = 8 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +spice_plantation_04 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_spice_plantation_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 02 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_4_cost + + character_modifier = { + monthly_prestige = 0.12 + legitimacy_gain_mult = 0.01 + } + + province_modifier = { + monthly_income = normal_building_tax_tier_4 + } + + character_government_modifier = { + parameter = government_has_influence + monthly_influence = 1 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = spice_plantation_05 + + type_icon = "icon_building_spice_plantation.dds" + + ai_value = { + base = 7 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +spice_plantation_05 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_spice_plantation_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 03 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_5_cost + + character_modifier = { + monthly_prestige = 0.15 + legitimacy_gain_mult = 0.02 + } + + province_modifier = { + monthly_income = normal_building_tax_tier_5 + } + + character_government_modifier = { + parameter = government_has_influence + monthly_influence = 1.3 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = spice_plantation_06 + + type_icon = "icon_building_spice_plantation.dds" + + ai_value = { + base = 6 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +spice_plantation_06 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_spice_plantation_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 03 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_6_cost + + character_modifier = { + monthly_prestige = 0.18 + legitimacy_gain_mult = 0.03 + } + + province_modifier = { + monthly_income = normal_building_tax_tier_6 + } + + character_government_modifier = { + parameter = government_has_influence + monthly_influence = 1.8 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = spice_plantation_07 + + type_icon = "icon_building_spice_plantation.dds" + + ai_value = { + base = 5 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +spice_plantation_07 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_spice_plantation_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 04 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_7_cost + + character_modifier = { + monthly_prestige = 0.21 + legitimacy_gain_mult = 0.04 + } + + province_modifier = { + monthly_income = normal_building_tax_tier_7 + } + + character_government_modifier = { + parameter = government_has_influence + monthly_influence = 2.3 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = spice_plantation_08 + + type_icon = "icon_building_spice_plantation.dds" + + ai_value = { + base = 4 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +spice_plantation_08 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_spice_plantation_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 04 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_8_cost + + character_modifier = { + monthly_prestige = 0.24 + legitimacy_gain_mult = 0.05 + } + + province_modifier = { + monthly_income = normal_building_tax_tier_8 + } + + character_government_modifier = { + parameter = government_has_influence + monthly_influence = 3 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + type_icon = "icon_building_spice_plantation.dds" + + ai_value = { + base = 3 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +# Waterworks +# building_waterworks_requirement_terrain = is in India, Southeast Asia, or China, prov is county captain and terrain is NOT mountains or desert mountains + +waterworks_01 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_waterworks_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 01 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_1_cost + + province_modifier = { + supply_limit_mult = 0.1 + tax_mult = low_building_tax_mult_tier_1 + levy_size = 0.02 + epidemic_resistance = 2 + } + + county_culture_modifier = { + parameter = waterworks_additional_bonuses + build_gold_cost = -0.01 + development_growth_factor = normal_building_development_growth_factor_tier_1 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_1 + } + + character_government_modifier = { + parameter = government_has_influence + monthly_influence = 0.1 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = waterworks_02 + + type_icon = "icon_building_waterworks.dds" + + ai_value = { + base = 10 + ai_tier_1_building_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + modifier = { + factor = 2 + scope:holder.capital_province = this + } + modifier = { + add = 2 + scope:holder = { + government_has_flag = government_is_administrative # infrastucture, babeyyy + } + } + modifier = { + factor = 0 + num_buildings < 5 + } + modifier = { + factor = 0 + NOR = { + has_building_or_higher = farm_estates_01 + has_building_or_higher = orchards_01 + has_building_or_higher = cereal_fields_01 + has_building_or_higher = paddy_fields_01 + num_buildings >= 8 + } + } + } +} + +waterworks_02 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_waterworks_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 01 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_2_cost + + province_modifier = { + supply_limit_mult = 0.2 + tax_mult = low_building_tax_mult_tier_2 + levy_size = 0.04 + epidemic_resistance = 4 + } + + county_culture_modifier = { + parameter = waterworks_additional_bonuses + build_gold_cost = -0.02 + development_growth_factor = normal_building_development_growth_factor_tier_2 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_2 + } + + character_government_modifier = { + parameter = government_has_influence + monthly_influence = 0.3 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = waterworks_03 + + type_icon = "icon_building_waterworks.dds" + + ai_value = { + base = 9 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +waterworks_03 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_waterworks_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 02 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_3_cost + + province_modifier = { + supply_limit_mult = 0.3 + tax_mult = low_building_tax_mult_tier_3 + levy_size = 0.06 + epidemic_resistance = 6 + } + + county_culture_modifier = { + parameter = waterworks_additional_bonuses + build_gold_cost = -0.03 + development_growth_factor = normal_building_development_growth_factor_tier_3 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_3 + } + + character_government_modifier = { + parameter = government_has_influence + monthly_influence = 0.6 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = waterworks_04 + + type_icon = "icon_building_waterworks.dds" + + ai_value = { + base = 8 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +waterworks_04 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_waterworks_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 02 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_4_cost + + province_modifier = { + supply_limit_mult = 0.4 + tax_mult = low_building_tax_mult_tier_4 + levy_size = 0.08 + epidemic_resistance = 8 + } + + county_culture_modifier = { + parameter = waterworks_additional_bonuses + build_gold_cost = -0.04 + development_growth_factor = normal_building_development_growth_factor_tier_4 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_4 + } + + character_government_modifier = { + parameter = government_has_influence + monthly_influence = 1 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = waterworks_05 + + type_icon = "icon_building_waterworks.dds" + + ai_value = { + base = 7 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +waterworks_05 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_waterworks_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 03 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_5_cost + + province_modifier = { + supply_limit_mult = 0.5 + tax_mult = low_building_tax_mult_tier_5 + levy_size = 0.1 + epidemic_resistance = 10 + } + + county_culture_modifier = { + parameter = waterworks_additional_bonuses + build_gold_cost = -0.05 + development_growth_factor = normal_building_development_growth_factor_tier_5 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_5 + } + + character_government_modifier = { + parameter = government_has_influence + monthly_influence = 1.3 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = waterworks_06 + + type_icon = "icon_building_waterworks.dds" + + ai_value = { + base = 6 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +waterworks_06 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_waterworks_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 03 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_6_cost + + province_modifier = { + supply_limit_mult = 0.6 + tax_mult = low_building_tax_mult_tier_6 + levy_size = 0.12 + epidemic_resistance = 12 + } + + county_culture_modifier = { + parameter = waterworks_additional_bonuses + build_gold_cost = -0.06 + development_growth_factor = normal_building_development_growth_factor_tier_6 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_6 + } + + character_government_modifier = { + parameter = government_has_influence + monthly_influence = 1.8 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = waterworks_07 + + type_icon = "icon_building_waterworks.dds" + + ai_value = { + base = 5 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +waterworks_07 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_waterworks_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 04 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_7_cost + + province_modifier = { + supply_limit_mult = 0.7 + tax_mult = low_building_tax_mult_tier_7 + levy_size = 0.14 + epidemic_resistance = 14 + } + + county_culture_modifier = { + parameter = waterworks_additional_bonuses + build_gold_cost = -0.07 + development_growth_factor = normal_building_development_growth_factor_tier_7 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_7 + } + + character_government_modifier = { + parameter = government_has_influence + monthly_influence = 2.3 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + next_building = waterworks_08 + + type_icon = "icon_building_waterworks.dds" + + ai_value = { + base = 4 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +waterworks_08 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_waterworks_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 04 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_8_cost + + province_modifier = { + supply_limit_mult = 1 + tax_mult = low_building_tax_mult_tier_8 + levy_size = 0.16 + epidemic_resistance = 16 + } + + county_culture_modifier = { + parameter = waterworks_additional_bonuses + build_gold_cost = -0.08 + development_growth_factor = normal_building_development_growth_factor_tier_8 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_8 + } + + character_government_modifier = { + parameter = government_has_influence + monthly_influence = 3 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + type_icon = "icon_building_waterworks.dds" + + ai_value = { + base = 3 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + ### Trade Port common_tradeport_01 = { @@ -1701,10 +4284,8 @@ common_tradeport_01 = { } - cost_gold = normal_building_tier_1_cost - province_modifier = { monthly_income = normal_building_tax_tier_1 } @@ -1725,6 +4306,11 @@ common_tradeport_01 = { stationed_maa_toughness_mult = normal_maa_toughness_tier_1 } + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + next_building = common_tradeport_02 type_icon = "icon_building_tradeport.dds" @@ -1808,16 +4394,14 @@ common_tradeport_02 = { } culture = { has_innovation = innovation_crop_rotation - } + } } trigger_else = { - culture = { - has_cultural_parameter = next_level_trade_ports + culture = { + has_cultural_parameter = next_level_trade_ports - } - + } } - } can_construct_showing_failures_only = { @@ -1845,6 +4429,11 @@ common_tradeport_02 = { parameter = trade_ports_stationed_maa_bonus stationed_maa_toughness_mult = normal_maa_toughness_tier_2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = common_tradeport_03 ai_value = { @@ -1919,6 +4508,11 @@ common_tradeport_03 = { parameter = trade_ports_stationed_maa_bonus stationed_maa_toughness_mult = normal_maa_toughness_tier_3 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = common_tradeport_04 ai_value = { @@ -1989,6 +4583,11 @@ common_tradeport_04 = { parameter = trade_ports_stationed_maa_bonus stationed_maa_toughness_mult = normal_maa_toughness_tier_4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = common_tradeport_05 ai_value = { @@ -2059,6 +4658,11 @@ common_tradeport_05 = { parameter = trade_ports_stationed_maa_bonus stationed_maa_toughness_mult = normal_maa_toughness_tier_5 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = common_tradeport_06 ai_value = { @@ -2129,6 +4733,11 @@ common_tradeport_06 = { parameter = trade_ports_stationed_maa_bonus stationed_maa_toughness_mult = normal_maa_toughness_tier_6 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = common_tradeport_07 ai_value = { @@ -2199,6 +4808,11 @@ common_tradeport_07 = { parameter = trade_ports_stationed_maa_bonus stationed_maa_toughness_mult = normal_maa_toughness_tier_7 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = common_tradeport_08 ai_value = { @@ -2269,6 +4883,11 @@ common_tradeport_08 = { parameter = trade_ports_stationed_maa_bonus stationed_maa_toughness_mult = normal_maa_toughness_tier_8 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -2317,6 +4936,11 @@ pastures_01 = { tax_mult = 0.01 levy_size = 0.01 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = pastures_02 @@ -2390,6 +5014,11 @@ pastures_02 = { tax_mult = 0.01 levy_size = 0.01 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = pastures_03 @@ -2447,6 +5076,11 @@ pastures_03 = { tax_mult = 0.02 levy_size = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = pastures_04 @@ -2503,6 +5137,11 @@ pastures_04 = { tax_mult = 0.02 levy_size = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = pastures_05 @@ -2560,6 +5199,11 @@ pastures_05 = { county_modifier = { development_growth_factor = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = pastures_06 @@ -2618,6 +5262,11 @@ pastures_06 = { tax_mult = 0.03 levy_size = 0.03 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = pastures_07 @@ -2676,6 +5325,11 @@ pastures_07 = { tax_mult = 0.04 levy_size = 0.04 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = pastures_08 @@ -2734,6 +5388,11 @@ pastures_08 = { tax_mult = 0.04 levy_size = 0.04 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -2798,6 +5457,11 @@ hunting_grounds_01 = { stationed_archers_damage_mult = low_maa_damage_tier_1 stationed_archers_toughness_mult = low_maa_toughness_tier_1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hunting_grounds_02 @@ -2820,7 +5484,7 @@ hunting_grounds_01 = { modifier = { factor = 0 scope:holder = { - government_has_flag = government_is_special_republic + government_has_flag = government_is_republic } NOT = { has_building_or_higher = guild_halls_01 @@ -2885,6 +5549,11 @@ hunting_grounds_02 = { stationed_archers_damage_mult = low_maa_damage_tier_2 stationed_archers_toughness_mult = low_maa_toughness_tier_2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hunting_grounds_03 @@ -2959,6 +5628,11 @@ hunting_grounds_03 = { stationed_archers_damage_mult = low_maa_damage_tier_3 stationed_archers_toughness_mult = low_maa_toughness_tier_3 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hunting_grounds_04 @@ -3029,6 +5703,11 @@ hunting_grounds_04 = { stationed_archers_damage_mult = low_maa_damage_tier_4 stationed_archers_toughness_mult = low_maa_toughness_tier_4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hunting_grounds_05 @@ -3104,6 +5783,10 @@ hunting_grounds_05 = { stationed_archers_toughness_mult = low_maa_toughness_tier_5 } + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hunting_grounds_06 @@ -3179,6 +5862,10 @@ hunting_grounds_06 = { stationed_archers_toughness_mult = low_maa_toughness_tier_6 } + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hunting_grounds_07 @@ -3254,10 +5941,14 @@ hunting_grounds_07 = { stationed_archers_toughness_mult = low_maa_toughness_tier_7 } - county_modifier = { development_growth_factor = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hunting_grounds_08 @@ -3333,10 +6024,14 @@ hunting_grounds_08 = { stationed_archers_toughness_mult = low_maa_toughness_tier_8 } - county_modifier = { development_growth_factor = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -3375,6 +6070,11 @@ orchards_01 = { is_coastal = yes tax_mult = 0.01 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = orchards_02 @@ -3434,6 +6134,11 @@ orchards_02 = { is_coastal = yes tax_mult = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = orchards_03 @@ -3485,6 +6190,11 @@ orchards_03 = { tax_mult = 0.03 supply_limit_mult = 0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = orchards_04 @@ -3532,6 +6242,11 @@ orchards_04 = { tax_mult = 0.04 supply_limit_mult = 0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = orchards_05 @@ -3580,6 +6295,11 @@ orchards_05 = { tax_mult = 0.05 supply_limit_mult = 0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = orchards_06 @@ -3629,6 +6349,11 @@ orchards_06 = { tax_mult = 0.06 supply_limit_mult = 0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = orchards_07 @@ -3681,6 +6406,11 @@ orchards_07 = { character_modifier = { monthly_prestige = 0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = orchards_08 @@ -3733,6 +6463,11 @@ orchards_08 = { character_modifier = { monthly_prestige = 0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -3760,6 +6495,11 @@ farm_estates_01 = { has_cultural_parameter = farm_estates_pastures_unlock } } + AND = { + building_paddy_fields_requirement_terrain = yes + scope:holder.culture = { has_innovation = innovation_champa_rice } + building_requirement_castle_city_church = { LEVEL = 01 } + } } } @@ -3781,6 +6521,11 @@ farm_estates_01 = { parameter = brewery_farming_bonus county_opinion_add = 2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = farm_estates_02 @@ -3822,6 +6567,11 @@ farm_estates_02 = { has_cultural_parameter = farm_estates_pastures_unlock } } + AND = { + building_paddy_fields_requirement_terrain = yes + scope:holder.culture = { has_innovation = innovation_champa_rice } + building_requirement_castle_city_church = { LEVEL = 01 } + } } } @@ -3847,6 +6597,11 @@ farm_estates_02 = { parameter = brewery_farming_bonus county_opinion_add = 4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = farm_estates_03 @@ -3882,6 +6637,14 @@ farm_estates_03 = { has_cultural_parameter = farm_estates_pastures_unlock } } + AND = { + building_paddy_fields_requirement_terrain = yes + scope:holder.culture = { + has_innovation = innovation_champa_rice + has_innovation = innovation_manorialism + } + building_requirement_castle_city_church = { LEVEL = 02 } + } } } @@ -3910,6 +6673,11 @@ farm_estates_03 = { parameter = brewery_farming_bonus county_opinion_add = 6 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = farm_estates_04 @@ -3941,6 +6709,14 @@ farm_estates_04 = { has_cultural_parameter = farm_estates_pastures_unlock } } + AND = { + building_paddy_fields_requirement_terrain = yes + scope:holder.culture = { + has_innovation = innovation_champa_rice + has_innovation = innovation_manorialism + } + building_requirement_castle_city_church = { LEVEL = 02 } + } } } @@ -3969,6 +6745,11 @@ farm_estates_04 = { parameter = brewery_farming_bonus county_opinion_add = 8 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = farm_estates_05 @@ -3985,7 +6766,15 @@ farm_estates_05 = { effect_desc = farm_estates_effect_desc can_construct_potential = { - building_farm_estates_requirement_terrain = yes + OR = { + building_farm_estates_requirement_terrain = yes + AND = { + building_paddy_fields_requirement_terrain = yes + scope:holder.culture = { + has_innovation = innovation_champa_rice + } + } + } } can_construct = { @@ -4026,6 +6815,11 @@ farm_estates_05 = { parameter = brewery_farming_bonus county_opinion_add = 10 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = farm_estates_06 @@ -4042,7 +6836,15 @@ farm_estates_06 = { effect_desc = farm_estates_effect_desc can_construct_potential = { - building_farm_estates_requirement_terrain = yes + OR = { + building_farm_estates_requirement_terrain = yes + AND = { + building_paddy_fields_requirement_terrain = yes + scope:holder.culture = { + has_innovation = innovation_champa_rice + } + } + } } can_construct = { @@ -4080,6 +6882,11 @@ farm_estates_06 = { parameter = brewery_farming_bonus county_opinion_add = 12 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = farm_estates_07 @@ -4096,7 +6903,15 @@ farm_estates_07 = { effect_desc = farm_estates_effect_desc can_construct_potential = { - building_farm_estates_requirement_terrain = yes + OR = { + building_farm_estates_requirement_terrain = yes + AND = { + building_paddy_fields_requirement_terrain = yes + scope:holder.culture = { + has_innovation = innovation_champa_rice + } + } + } } can_construct = { @@ -4135,6 +6950,11 @@ farm_estates_07 = { parameter = brewery_farming_bonus county_opinion_add = 14 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = farm_estates_08 @@ -4151,7 +6971,15 @@ farm_estates_08 = { effect_desc = farm_estates_effect_desc can_construct_potential = { - building_farm_estates_requirement_terrain = yes + OR = { + building_farm_estates_requirement_terrain = yes + AND = { + building_paddy_fields_requirement_terrain = yes + scope:holder.culture = { + has_innovation = innovation_champa_rice + } + } + } } can_construct = { @@ -4189,6 +7017,11 @@ farm_estates_08 = { parameter = brewery_farming_bonus county_opinion_add = 16 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -4232,6 +7065,11 @@ cereal_fields_01 = { parameter = brewery_farming_bonus county_opinion_add = 2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = cereal_fields_02 @@ -4241,6 +7079,7 @@ cereal_fields_01 = { base = 12 # A little bit higher than normal, they're just that good ai_tier_1_building_modifier = yes ai_tier_1_economical_building_preference_modifier = yes + ai_cereal_fields_improvement_from_culture_modifier = yes # Only on the level 1 to secure having pasture when the AI is from an appropriate culture ai_general_building_modifier = yes directive_to_build_economy_modifier = yes modifier = { @@ -4282,7 +7121,7 @@ cereal_fields_02 = { building_requirement_castle_city_church = { LEVEL = 01 } trigger_if = { limit = { - NOT = { + NOT = { scope:holder.culture = { has_cultural_parameter = vegetarian_next_level_cereal_fields } @@ -4297,7 +7136,6 @@ cereal_fields_02 = { has_cultural_parameter = vegetarian_next_level_cereal_fields } } - } can_construct_showing_failures_only = { @@ -4314,7 +7152,7 @@ cereal_fields_02 = { is_coastal = yes tax_mult = 0.03 } - + county_modifier = { tax_mult = 0.01 } @@ -4329,6 +7167,11 @@ cereal_fields_02 = { parameter = brewery_farming_bonus county_opinion_add = 4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = cereal_fields_03 @@ -4355,22 +7198,20 @@ cereal_fields_03 = { can_construct = { trigger_if = { limit = { - NOT = { + NOT = { scope:holder.culture = { has_cultural_parameter = vegetarian_next_level_cereal_fields } } } building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_manorialism + scope:holder.culture = { + has_innovation = innovation_manorialism } } trigger_else = { scope:holder.culture = { has_cultural_parameter = vegetarian_next_level_cereal_fields - } - scope:holder.culture = { has_innovation = innovation_crop_rotation } building_requirement_castle_city_church = { LEVEL = 01 } @@ -4391,7 +7232,7 @@ cereal_fields_03 = { is_coastal = yes tax_mult = 0.04 } - + county_modifier = { tax_mult = 0.01 supply_limit = 400 @@ -4407,6 +7248,11 @@ cereal_fields_03 = { parameter = brewery_farming_bonus county_opinion_add = 6 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = cereal_fields_04 @@ -4429,22 +7275,20 @@ cereal_fields_04 = { can_construct = { trigger_if = { limit = { - NOT = { + NOT = { scope:holder.culture = { has_cultural_parameter = vegetarian_next_level_cereal_fields } } } building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { + scope:holder.culture = { has_innovation = innovation_manorialism } } trigger_else = { scope:holder.culture = { has_cultural_parameter = vegetarian_next_level_cereal_fields - } - scope:holder.culture = { has_innovation = innovation_crop_rotation } building_requirement_castle_city_church = { LEVEL = 01 } @@ -4460,12 +7304,13 @@ cereal_fields_04 = { province_modifier = { monthly_income = good_building_tax_tier_4 } + province_terrain_modifier = { parameter = coastal_agriculture_building_bonuses is_coastal = yes tax_mult = 0.05 } - + county_modifier = { tax_mult = 0.01 supply_limit = 400 @@ -4482,6 +7327,11 @@ cereal_fields_04 = { parameter = brewery_farming_bonus county_opinion_add = 8 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = cereal_fields_05 @@ -4504,7 +7354,7 @@ cereal_fields_05 = { can_construct = { trigger_if = { limit = { - NOT = { + NOT = { scope:holder.culture = { has_cultural_parameter = vegetarian_next_level_cereal_fields } @@ -4518,8 +7368,6 @@ cereal_fields_05 = { trigger_else = { scope:holder.culture = { has_cultural_parameter = vegetarian_next_level_cereal_fields - } - scope:holder.culture = { has_innovation = innovation_manorialism } building_requirement_castle_city_church = { LEVEL = 02 } @@ -4540,7 +7388,7 @@ cereal_fields_05 = { is_coastal = yes tax_mult = 0.06 } - + county_modifier = { tax_mult = 0.01 supply_limit = 400 @@ -4558,6 +7406,11 @@ cereal_fields_05 = { parameter = brewery_farming_bonus county_opinion_add = 10 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = cereal_fields_06 @@ -4580,7 +7433,7 @@ cereal_fields_06 = { can_construct = { trigger_if = { limit = { - NOT = { + NOT = { scope:holder.culture = { has_cultural_parameter = vegetarian_next_level_cereal_fields } @@ -4594,8 +7447,6 @@ cereal_fields_06 = { trigger_else = { scope:holder.culture = { has_cultural_parameter = vegetarian_next_level_cereal_fields - } - scope:holder.culture = { has_innovation = innovation_manorialism } building_requirement_castle_city_church = { LEVEL = 02 } @@ -4616,7 +7467,7 @@ cereal_fields_06 = { is_coastal = yes tax_mult = 0.07 } - + county_modifier = { tax_mult = 0.01 supply_limit = 400 @@ -4635,6 +7486,11 @@ cereal_fields_06 = { parameter = brewery_farming_bonus county_opinion_add = 12 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = cereal_fields_07 @@ -4657,7 +7513,7 @@ cereal_fields_07 = { can_construct = { trigger_if = { limit = { - NOT = { + NOT = { scope:holder.culture = { has_cultural_parameter = vegetarian_next_level_cereal_fields } @@ -4671,8 +7527,6 @@ cereal_fields_07 = { trigger_else = { scope:holder.culture = { has_cultural_parameter = vegetarian_next_level_cereal_fields - } - scope:holder.culture = { has_innovation = innovation_guilds } building_requirement_castle_city_church = { LEVEL = 03 } @@ -4693,7 +7547,7 @@ cereal_fields_07 = { is_coastal = yes tax_mult = 0.08 } - + county_modifier = { levy_reinforcement_rate = 0.05 tax_mult = 0.01 @@ -4713,6 +7567,11 @@ cereal_fields_07 = { parameter = brewery_farming_bonus county_opinion_add = 14 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = cereal_fields_08 @@ -4735,7 +7594,7 @@ cereal_fields_08 = { can_construct = { trigger_if = { limit = { - NOT = { + NOT = { scope:holder.culture = { has_cultural_parameter = vegetarian_next_level_cereal_fields } @@ -4749,8 +7608,6 @@ cereal_fields_08 = { trigger_else = { scope:holder.culture = { has_cultural_parameter = vegetarian_next_level_cereal_fields - } - scope:holder.culture = { has_innovation = innovation_guilds } building_requirement_castle_city_church = { LEVEL = 03 } @@ -4791,6 +7648,11 @@ cereal_fields_08 = { parameter = brewery_farming_bonus county_opinion_add = 16 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -4831,6 +7693,11 @@ logging_camps_01 = { build_speed = -0.02 build_gold_cost = -0.01 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = logging_camps_02 @@ -4846,7 +7713,7 @@ logging_camps_01 = { modifier = { factor = 0 scope:holder = { - government_has_flag = government_is_special_republic + government_has_flag = government_is_republic } NOT = { has_building_or_higher = guild_halls_01 @@ -4896,6 +7763,11 @@ logging_camps_02 = { build_speed = -0.04 build_gold_cost = -0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = logging_camps_03 @@ -4960,6 +7832,11 @@ logging_camps_03 = { build_speed = -0.06 build_gold_cost = -0.03 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = logging_camps_04 @@ -5015,6 +7892,11 @@ logging_camps_04 = { build_speed = -0.08 build_gold_cost = -0.04 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = logging_camps_05 @@ -5071,6 +7953,11 @@ logging_camps_05 = { build_speed = -0.1 build_gold_cost = -0.05 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = logging_camps_06 @@ -5127,6 +8014,11 @@ logging_camps_06 = { build_speed = -0.12 build_gold_cost = -0.06 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = logging_camps_07 @@ -5183,6 +8075,11 @@ logging_camps_07 = { build_speed = -0.14 build_gold_cost = -0.07 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = logging_camps_08 @@ -5240,6 +8137,11 @@ logging_camps_08 = { build_speed = -0.16 build_gold_cost = -0.08 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -5279,6 +8181,11 @@ peat_quarries_01 = { build_speed = -0.02 build_gold_cost = -0.01 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = peat_quarries_02 @@ -5329,6 +8236,11 @@ peat_quarries_02 = { build_speed = -0.04 build_gold_cost = -0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = peat_quarries_03 @@ -5383,6 +8295,11 @@ peat_quarries_03 = { build_speed = -0.06 build_gold_cost = -0.03 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = peat_quarries_04 @@ -5434,6 +8351,11 @@ peat_quarries_04 = { build_speed = -0.08 build_gold_cost = -0.04 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = peat_quarries_05 @@ -5486,6 +8408,11 @@ peat_quarries_05 = { build_speed = -0.10 build_gold_cost = -0.05 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = peat_quarries_06 @@ -5539,6 +8466,11 @@ peat_quarries_06 = { build_speed = -0.12 build_gold_cost = -0.06 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = peat_quarries_07 @@ -5592,6 +8524,11 @@ peat_quarries_07 = { build_speed = -0.14 build_gold_cost = -0.07 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = peat_quarries_08 @@ -5645,6 +8582,11 @@ peat_quarries_08 = { build_speed = -0.16 build_gold_cost = -0.08 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -5686,6 +8628,11 @@ hill_farms_01 = { parameter = hill_farms_building_bonuses levy_size = 0.01 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hill_farms_02 @@ -5701,7 +8648,7 @@ hill_farms_01 = { modifier = { factor = 0 scope:holder = { - government_has_flag = government_is_special_republic + government_has_flag = government_is_republic } NOT = { has_building_or_higher = guild_halls_01 @@ -5751,6 +8698,11 @@ hill_farms_02 = { parameter = hill_farms_building_bonuses levy_size = 0.01 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hill_farms_03 @@ -5808,6 +8760,11 @@ hill_farms_03 = { parameter = hill_farms_building_bonuses levy_size = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hill_farms_04 @@ -5861,6 +8818,11 @@ hill_farms_04 = { parameter = hill_farms_building_bonuses levy_size = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hill_farms_05 @@ -5915,6 +8877,11 @@ hill_farms_05 = { parameter = hill_farms_building_bonuses levy_size = 0.03 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hill_farms_06 @@ -5970,6 +8937,11 @@ hill_farms_06 = { parameter = hill_farms_building_bonuses levy_size = 0.03 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hill_farms_07 @@ -6025,6 +8997,11 @@ hill_farms_07 = { parameter = hill_farms_building_bonuses levy_size = 0.04 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hill_farms_08 @@ -6080,6 +9057,11 @@ hill_farms_08 = { parameter = hill_farms_building_bonuses levy_size = 0.04 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -6122,6 +9104,11 @@ elephant_pens_01 = { parameter = elephant_pens_building_bonuses development_growth_factor = 0.05 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = elephant_pens_02 @@ -6170,6 +9157,11 @@ elephant_pens_02 = { parameter = elephant_pens_building_bonuses development_growth_factor = 0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = elephant_pens_03 @@ -6225,6 +9217,11 @@ elephant_pens_03 = { parameter = elephant_pens_building_bonuses development_growth_factor = 0.15 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = elephant_pens_04 @@ -6276,6 +9273,11 @@ elephant_pens_04 = { parameter = elephant_pens_building_bonuses development_growth_factor = 0.20 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = elephant_pens_05 @@ -6327,6 +9329,11 @@ elephant_pens_05 = { parameter = elephant_pens_building_bonuses development_growth_factor = 0.25 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = elephant_pens_06 @@ -6378,6 +9385,11 @@ elephant_pens_06 = { parameter = elephant_pens_building_bonuses development_growth_factor = 0.30 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = elephant_pens_07 @@ -6430,6 +9442,11 @@ elephant_pens_07 = { parameter = elephant_pens_building_bonuses development_growth_factor = 0.35 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = elephant_pens_08 @@ -6482,6 +9499,11 @@ elephant_pens_08 = { parameter = elephant_pens_building_bonuses development_growth_factor = 0.40 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -6522,6 +9544,11 @@ plantations_01 = { parameter = plantations_building_bonuses monthly_income = poor_building_extra_tax_tier_1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = plantations_02 @@ -6598,6 +9625,11 @@ plantations_02 = { parameter = plantations_building_bonuses monthly_income = poor_building_extra_tax_tier_2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = plantations_03 @@ -6650,6 +9682,11 @@ plantations_03 = { parameter = plantations_building_bonuses monthly_income = poor_building_extra_tax_tier_3 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = plantations_04 @@ -6698,6 +9735,11 @@ plantations_04 = { parameter = plantations_building_bonuses monthly_income = poor_building_extra_tax_tier_4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = plantations_05 @@ -6750,6 +9792,11 @@ plantations_05 = { parameter = plantations_building_bonuses monthly_income = poor_building_extra_tax_tier_5 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = plantations_06 @@ -6802,6 +9849,11 @@ plantations_06 = { parameter = plantations_building_bonuses monthly_income = poor_building_extra_tax_tier_6 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = plantations_07 @@ -6854,6 +9906,11 @@ plantations_07 = { parameter = plantations_building_bonuses monthly_income = poor_building_extra_tax_tier_7 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = plantations_08 @@ -6906,6 +9963,11 @@ plantations_08 = { parameter = plantations_building_bonuses monthly_income = poor_building_extra_tax_tier_8 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -6950,6 +10012,11 @@ quarries_01 = { parameter = ancient_miners_quarries_building_bonuses monthly_income = poor_building_tax_tier_1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = quarries_02 @@ -6965,7 +10032,7 @@ quarries_01 = { modifier = { factor = 0 scope:holder = { - government_has_flag = government_is_special_republic + government_has_flag = government_is_republic } NOT = { has_building_or_higher = guild_halls_01 @@ -7013,6 +10080,11 @@ quarries_02 = { parameter = ancient_miners_quarries_building_bonuses monthly_income = poor_building_tax_tier_2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = quarries_03 @@ -7073,6 +10145,11 @@ quarries_03 = { parameter = ancient_miners_quarries_building_bonuses monthly_income = poor_building_tax_tier_3 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = quarries_04 @@ -7130,6 +10207,11 @@ quarries_04 = { parameter = ancient_miners_quarries_building_bonuses monthly_income = poor_building_tax_tier_4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = quarries_05 @@ -7187,6 +10269,11 @@ quarries_05 = { parameter = ancient_miners_quarries_building_bonuses monthly_income = poor_building_tax_tier_5 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = quarries_06 @@ -7245,6 +10332,11 @@ quarries_06 = { parameter = ancient_miners_quarries_building_bonuses monthly_income = poor_building_tax_tier_6 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = quarries_07 @@ -7305,6 +10397,11 @@ quarries_07 = { parameter = ancient_miners_quarries_building_bonuses monthly_income = poor_building_tax_tier_7 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = quarries_08 @@ -7366,6 +10463,11 @@ quarries_08 = { parameter = ancient_miners_quarries_building_bonuses monthly_income = poor_building_tax_tier_8 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -7374,770 +10476,3 @@ quarries_08 = { ai_economical_building_preference_modifier = yes } } - - -# Qanats - -qanats_01 = { - construction_time = standard_construction_time - - can_construct_potential = { - building_qanats_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 01 } - } - - is_enabled = { - is_county_capital = yes - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - } - - can_construct = { - } - - cost_gold = normal_building_tier_1_cost - - province_modifier = { - monthly_income = poor_building_tax_tier_1 - supply_limit = normal_building_supply_limit_tier_1 - } - - county_modifier = { - development_growth_factor = good_building_development_growth_factor_tier_1 - development_growth = good_building_development_growth_tier_1 - travel_danger = -1 - } - - next_building = qanats_02 - - type_icon = "icon_building_qanats.dds" - - ai_value = { - base = 20 - ai_tier_1_building_modifier = yes - ai_tier_1_economical_building_preference_modifier = yes - ai_general_building_modifier = yes - directive_to_build_economy_modifier = yes - modifier = { - factor = 2 - scope:holder.capital_province = this - } - } -} - -qanats_02 = { - construction_time = standard_construction_time - - can_construct_potential = { - building_qanats_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 01 } - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - } - - can_construct = { - } - - cost_gold = normal_building_tier_2_cost - - province_modifier = { - monthly_income = poor_building_tax_tier_2 - supply_limit = normal_building_supply_limit_tier_2 - } - - - county_modifier = { - development_growth_factor = good_building_development_growth_factor_tier_2 - development_growth = good_building_development_growth_tier_2 - travel_danger = -2 - } - - next_building = qanats_03 - - type_icon = "icon_building_qanats.dds" - - ai_value = { - base = 9 - ai_general_building_modifier = yes - directive_to_build_economy_modifier = yes - ai_economical_building_preference_modifier = yes - modifier = { - factor = 2 - scope:holder.capital_province = this - } - } -} - -qanats_03 = { - construction_time = standard_construction_time - - can_construct_potential = { - building_qanats_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 02 } - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - } - - can_construct = { - } - - cost_gold = normal_building_tier_3_cost - - province_modifier = { - monthly_income = poor_building_tax_tier_3 - supply_limit = normal_building_supply_limit_tier_3 - build_speed = normal_building_build_speed_tier_3 - } - - - county_modifier = { - development_growth_factor = good_building_development_growth_factor_tier_3 - development_growth = good_building_development_growth_tier_3 - travel_danger = -3 - } - - next_building = qanats_04 - - type_icon = "icon_building_qanats.dds" - - ai_value = { - base = 8 - ai_general_building_modifier = yes - directive_to_build_economy_modifier = yes - ai_economical_building_preference_modifier = yes - modifier = { - factor = 2 - scope:holder.capital_province = this - } - } -} - -qanats_04 = { - construction_time = standard_construction_time - - can_construct_potential = { - building_qanats_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 02 } - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - } - - can_construct = { - } - - cost_gold = normal_building_tier_4_cost - - province_modifier = { - monthly_income = poor_building_tax_tier_4 - supply_limit = normal_building_supply_limit_tier_4 - build_speed = normal_building_build_speed_tier_4 - } - - - county_modifier = { - development_growth_factor = good_building_development_growth_factor_tier_4 - development_growth = good_building_development_growth_tier_4 - travel_danger = -4 - } - - next_building = qanats_05 - - type_icon = "icon_building_qanats.dds" - - ai_value = { - base = 7 - ai_general_building_modifier = yes - directive_to_build_economy_modifier = yes - ai_economical_building_preference_modifier = yes - modifier = { - factor = 2 - scope:holder.capital_province = this - } - } -} - -qanats_05 = { - construction_time = standard_construction_time - - can_construct_potential = { - building_qanats_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 03 } - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - } - - can_construct = { - } - - cost_gold = normal_building_tier_5_cost - - province_modifier = { - monthly_income = poor_building_tax_tier_5 - supply_limit = normal_building_supply_limit_tier_5 - build_speed = normal_building_build_speed_tier_5 - } - - - county_modifier = { - development_growth_factor = good_building_development_growth_factor_tier_5 - development_growth = good_building_development_growth_tier_5 - travel_danger = -5 - } - - effect_desc = unlocks_cereal_fields_and_orchards - - next_building = qanats_06 - - type_icon = "icon_building_qanats.dds" - - ai_value = { - base = 6 - ai_general_building_modifier = yes - directive_to_build_economy_modifier = yes - ai_economical_building_preference_modifier = yes - modifier = { - factor = 2 - scope:holder.capital_province = this - } - } -} - -qanats_06 = { - construction_time = standard_construction_time - - can_construct_potential = { - building_qanats_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 03 } - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - } - - can_construct = { - } - - cost_gold = normal_building_tier_6_cost - - province_modifier = { - monthly_income = poor_building_tax_tier_6 - supply_limit = normal_building_supply_limit_tier_6 - build_speed = normal_building_build_speed_tier_6 - } - - - county_modifier = { - development_growth_factor = good_building_development_growth_factor_tier_6 - development_growth = good_building_development_growth_tier_6 - travel_danger = -6 - } - - effect_desc = unlocks_cereal_fields_and_orchards - - next_building = qanats_07 - - type_icon = "icon_building_qanats.dds" - - ai_value = { - base = 5 - ai_general_building_modifier = yes - directive_to_build_economy_modifier = yes - ai_economical_building_preference_modifier = yes - modifier = { - factor = 2 - scope:holder.capital_province = this - } - } -} - -qanats_07 = { - construction_time = standard_construction_time - - can_construct_potential = { - building_qanats_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 04 } - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - } - - can_construct = { - } - - cost_gold = normal_building_tier_7_cost - - province_modifier = { - monthly_income = poor_building_tax_tier_7 - supply_limit = normal_building_supply_limit_tier_7 - build_speed = normal_building_build_speed_tier_7 - } - - character_modifier = { - negate_health_penalty_add = 0.1 - } - - county_modifier = { - development_growth_factor = good_building_development_growth_factor_tier_7 - development_growth = good_building_development_growth_tier_7 - travel_danger = -7 - } - - effect_desc = unlocks_cereal_fields_and_orchards - - next_building = qanats_08 - - type_icon = "icon_building_qanats.dds" - - ai_value = { - base = 4 - ai_general_building_modifier = yes - directive_to_build_economy_modifier = yes - ai_economical_building_preference_modifier = yes - modifier = { - factor = 2 - scope:holder.capital_province = this - } - } -} - -qanats_08 = { - construction_time = standard_construction_time - - can_construct_potential = { - building_qanats_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 04 } - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - } - - can_construct = { - } - - cost_gold = normal_building_tier_8_cost - - province_modifier = { - monthly_income = poor_building_tax_tier_8 - supply_limit = normal_building_supply_limit_tier_8 - build_speed = normal_building_build_speed_tier_8 - } - - character_modifier = { - negate_health_penalty_add = 0.2 - } - - county_modifier = { - development_growth_factor = good_building_development_growth_factor_tier_8 - development_growth = good_building_development_growth_tier_8 - travel_danger = -8 - } - - effect_desc = unlocks_cereal_fields_and_orchards - - - type_icon = "icon_building_qanats.dds" - - ai_value = { - base = 3 - ai_general_building_modifier = yes - directive_to_build_economy_modifier = yes - ai_economical_building_preference_modifier = yes - modifier = { - factor = 2 - scope:holder.capital_province = this - } - } -} - -# Murex Farms - -murex_farm_01 = { - construction_time = standard_construction_time - - can_construct_potential = { - building_murex_farm_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 01 } - } - - is_enabled = { - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - county = { NOT = { has_county_modifier = backwater_county_modifier } } - } - - can_construct = { - } - - cost_gold = normal_building_tier_1_cost - - province_modifier = { - monthly_income = normal_building_tax_tier_1 - } - - county_modifier = { - development_growth_factor = normal_building_development_growth_factor_tier_1 - development_growth = normal_building_development_growth_tier_1 - } - - character_modifier = { - monthly_influence = 0.1 - } - - next_building = murex_farm_02 - - type_icon = "icon_building_murex_farms.dds" - - ai_value = { - base = 14 - ai_tier_1_building_modifier = yes - ai_tier_1_economical_building_preference_modifier = yes - ai_general_building_modifier = yes - directive_to_build_economy_modifier = yes - modifier = { - factor = 2 - scope:holder.capital_province = this - } - modifier = { - factor = 2 - scope:holder = { - government_has_flag = government_is_administrative - } - } - } -} - -murex_farm_02 = { - construction_time = standard_construction_time - - can_construct_potential = { - building_murex_farm_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 01 } - } - - is_enabled = { - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - county = { NOT = { has_county_modifier = backwater_county_modifier } } - } - - can_construct = { - } - - cost_gold = normal_building_tier_2_cost - - province_modifier = { - monthly_income = normal_building_tax_tier_2 - } - - county_modifier = { - development_growth_factor = normal_building_development_growth_factor_tier_2 - development_growth = normal_building_development_growth_tier_2 - } - - character_modifier = { - monthly_influence = 0.3 - } - - next_building = murex_farm_03 - - type_icon = "icon_building_murex_farms.dds" - - ai_value = { - base = 9 - ai_tier_1_economical_building_preference_modifier = yes - ai_general_building_modifier = yes - directive_to_build_economy_modifier = yes - } -} - -murex_farm_03 = { - construction_time = standard_construction_time - - can_construct_potential = { - building_murex_farm_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 02 } - } - - is_enabled = { - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - county = { NOT = { has_county_modifier = backwater_county_modifier } } - } - - can_construct = { - } - - cost_gold = normal_building_tier_3_cost - - province_modifier = { - monthly_income = normal_building_tax_tier_3 - } - - county_modifier = { - development_growth_factor = normal_building_development_growth_factor_tier_3 - development_growth = normal_building_development_growth_tier_3 - } - - character_modifier = { - monthly_influence = 0.6 - } - - next_building = murex_farm_04 - - type_icon = "icon_building_murex_farms.dds" - - ai_value = { - base = 8 - ai_tier_1_economical_building_preference_modifier = yes - ai_general_building_modifier = yes - directive_to_build_economy_modifier = yes - } -} - -murex_farm_04 = { - construction_time = standard_construction_time - - can_construct_potential = { - building_murex_farm_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 02 } - } - - is_enabled = { - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - county = { NOT = { has_county_modifier = backwater_county_modifier } } - } - - can_construct = { - } - - cost_gold = normal_building_tier_4_cost - - province_modifier = { - monthly_income = normal_building_tax_tier_4 - } - - county_modifier = { - development_growth_factor = normal_building_development_growth_factor_tier_4 - development_growth = normal_building_development_growth_tier_4 - } - - character_modifier = { - monthly_influence = 1 - } - - next_building = murex_farm_05 - - type_icon = "icon_building_murex_farms.dds" - - ai_value = { - base = 7 - ai_tier_1_economical_building_preference_modifier = yes - ai_general_building_modifier = yes - directive_to_build_economy_modifier = yes - } -} - -murex_farm_05 = { - construction_time = standard_construction_time - - can_construct_potential = { - building_murex_farm_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 03 } - } - - is_enabled = { - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - county = { NOT = { has_county_modifier = backwater_county_modifier } } - } - - can_construct = { - } - - cost_gold = normal_building_tier_5_cost - - province_modifier = { - monthly_income = normal_building_tax_tier_5 - } - - county_modifier = { - development_growth_factor = normal_building_development_growth_factor_tier_5 - development_growth = normal_building_development_growth_tier_5 - } - - character_modifier = { - monthly_influence = 1.3 - } - - next_building = murex_farm_06 - - type_icon = "icon_building_murex_farms.dds" - - ai_value = { - base = 6 - ai_tier_1_economical_building_preference_modifier = yes - ai_general_building_modifier = yes - directive_to_build_economy_modifier = yes - } -} - -murex_farm_06 = { - construction_time = standard_construction_time - - can_construct_potential = { - building_murex_farm_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 03 } - } - - is_enabled = { - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - county = { NOT = { has_county_modifier = backwater_county_modifier } } - } - - can_construct = { - } - - cost_gold = normal_building_tier_6_cost - - province_modifier = { - monthly_income = normal_building_tax_tier_6 - } - - county_modifier = { - development_growth_factor = normal_building_development_growth_factor_tier_6 - development_growth = normal_building_development_growth_tier_6 - } - - character_modifier = { - monthly_influence = 1.8 - } - - next_building = murex_farm_07 - - type_icon = "icon_building_murex_farms.dds" - - ai_value = { - base = 5 - ai_tier_1_economical_building_preference_modifier = yes - ai_general_building_modifier = yes - directive_to_build_economy_modifier = yes - } -} - -murex_farm_07 = { - construction_time = standard_construction_time - - can_construct_potential = { - building_murex_farm_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 04 } - } - - is_enabled = { - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - county = { NOT = { has_county_modifier = backwater_county_modifier } } - } - - can_construct = { - } - - cost_gold = normal_building_tier_7_cost - - province_modifier = { - monthly_income = normal_building_tax_tier_7 - } - - county_modifier = { - development_growth_factor = normal_building_development_growth_factor_tier_7 - development_growth = normal_building_development_growth_tier_7 - } - - character_modifier = { - monthly_influence = 2.3 - } - - next_building = murex_farm_08 - - type_icon = "icon_building_murex_farms.dds" - - ai_value = { - base = 4 - ai_tier_1_economical_building_preference_modifier = yes - ai_general_building_modifier = yes - directive_to_build_economy_modifier = yes - } -} - -murex_farm_08 = { - construction_time = standard_construction_time - - can_construct_potential = { - building_murex_farm_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 04 } - } - - is_enabled = { - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - county = { NOT = { has_county_modifier = backwater_county_modifier } } - } - - can_construct = { - } - - cost_gold = normal_building_tier_8_cost - - province_modifier = { - monthly_income = normal_building_tax_tier_8 - } - - county_modifier = { - development_growth_factor = normal_building_development_growth_factor_tier_8 - development_growth = normal_building_development_growth_tier_8 - } - - character_modifier = { - monthly_influence = 3 - } - - type_icon = "icon_building_murex_farms.dds" - - ai_value = { - base = 3 - ai_tier_1_economical_building_preference_modifier = yes - ai_general_building_modifier = yes - directive_to_build_economy_modifier = yes - } -} - - diff --git a/N3OW/common/buildings/00_standard_fortification_buildings.txt b/N3OW/common/buildings/00_standard_fortification_buildings.txt index afe89c37..1903b1fa 100644 --- a/N3OW/common/buildings/00_standard_fortification_buildings.txt +++ b/N3OW/common/buildings/00_standard_fortification_buildings.txt @@ -32,6 +32,11 @@ ramparts_01 = { stationed_skirmishers_toughness_mult = normal_maa_toughness_tier_1 travel_danger = -1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = ramparts_02 @@ -100,6 +105,11 @@ ramparts_02 = { stationed_skirmishers_toughness_mult = normal_maa_toughness_tier_2 travel_danger = -2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = ramparts_03 @@ -171,6 +181,11 @@ ramparts_03 = { stationed_skirmishers_toughness_mult = normal_maa_toughness_tier_3 travel_danger = -3 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = ramparts_04 @@ -241,6 +256,11 @@ ramparts_04 = { county_modifier = { hostile_raid_time = 0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = ramparts_05 @@ -311,6 +331,11 @@ ramparts_05 = { county_modifier = { hostile_raid_time = 0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = ramparts_06 @@ -381,6 +406,11 @@ ramparts_06 = { county_modifier = { hostile_raid_time = 0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = ramparts_07 @@ -451,6 +481,11 @@ ramparts_07 = { county_modifier = { hostile_raid_time = 0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = ramparts_08 @@ -521,6 +556,11 @@ ramparts_08 = { county_modifier = { hostile_raid_time = 0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -561,6 +601,11 @@ curtain_walls_01 = { stationed_heavy_cavalry_toughness_mult = low_maa_toughness_tier_1 travel_danger = -1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = curtain_walls_02 @@ -639,6 +684,11 @@ curtain_walls_02 = { county_modifier = { supply_limit = 300 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = curtain_walls_03 @@ -712,6 +762,11 @@ curtain_walls_03 = { county_modifier = { supply_limit = 300 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = curtain_walls_04 @@ -781,6 +836,11 @@ curtain_walls_04 = { county_modifier = { supply_limit = 300 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = curtain_walls_05 @@ -851,6 +911,11 @@ curtain_walls_05 = { county_modifier = { supply_limit = 300 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = curtain_walls_06 @@ -922,6 +987,11 @@ curtain_walls_06 = { supply_limit = 300 supply_limit_mult = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = curtain_walls_07 @@ -993,6 +1063,11 @@ curtain_walls_07 = { supply_limit = 300 supply_limit_mult = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = curtain_walls_08 @@ -1064,6 +1139,11 @@ curtain_walls_08 = { supply_limit = 300 supply_limit_mult = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -1108,6 +1188,11 @@ watchtowers_01 = { stationed_light_cavalry_toughness_mult = low_maa_toughness_tier_1 travel_danger = -1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = watchtowers_02 @@ -1188,6 +1273,11 @@ watchtowers_02 = { county_modifier = { hostile_raid_time = 0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = watchtowers_03 @@ -1263,6 +1353,11 @@ watchtowers_03 = { county_modifier = { hostile_raid_time = 0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = watchtowers_04 @@ -1335,6 +1430,11 @@ watchtowers_04 = { county_modifier = { hostile_raid_time = 0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = watchtowers_05 @@ -1408,6 +1508,11 @@ watchtowers_05 = { county_modifier = { hostile_raid_time = 0.15 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = watchtowers_06 @@ -1482,6 +1587,11 @@ watchtowers_06 = { hostile_raid_time = 0.15 supply_limit_mult = 0.05 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = watchtowers_07 @@ -1556,6 +1666,11 @@ watchtowers_07 = { hostile_raid_time = 0.15 supply_limit_mult = 0.05 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = watchtowers_08 @@ -1630,6 +1745,11 @@ watchtowers_08 = { hostile_raid_time = 0.2 supply_limit_mult = 0.05 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -1672,6 +1792,11 @@ hill_forts_01 = { stationed_pikemen_toughness_mult = low_maa_toughness_tier_1 travel_danger = -1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hill_forts_02 @@ -1743,6 +1868,11 @@ hill_forts_02 = { monthly_county_control_growth_factor = 0.1 monthly_county_control_decline_factor = -0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hill_forts_03 @@ -1809,6 +1939,11 @@ hill_forts_03 = { monthly_county_control_growth_factor = 0.1 monthly_county_control_decline_factor = -0.1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hill_forts_04 @@ -1872,6 +2007,11 @@ hill_forts_04 = { monthly_county_control_decline_factor = -0.1 levy_size = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hill_forts_05 @@ -1935,6 +2075,11 @@ hill_forts_05 = { monthly_county_control_decline_factor = -0.15 levy_size = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hill_forts_06 @@ -1998,6 +2143,11 @@ hill_forts_06 = { monthly_county_control_decline_factor = -0.15 levy_size = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hill_forts_07 @@ -2061,6 +2211,11 @@ hill_forts_07 = { monthly_county_control_decline_factor = -0.15 levy_size = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hill_forts_08 @@ -2124,6 +2279,11 @@ hill_forts_08 = { monthly_county_control_decline_factor = -0.2 levy_size = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 diff --git a/N3OW/common/buildings/00_standard_military_buildings.txt b/N3OW/common/buildings/00_standard_military_buildings.txt index 30c55f7e..8a9af3ff 100644 --- a/N3OW/common/buildings/00_standard_military_buildings.txt +++ b/N3OW/common/buildings/00_standard_military_buildings.txt @@ -45,8 +45,10 @@ wind_furnace_01 = { stationed_maa_toughness_mult = high_maa_toughness_tier_1 monthly_income = good_building_tax_tier_1 } - character_modifier = { - #knight_effectiveness_mult = normal_knight_effectiveness_mult_tier_1 + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes } next_building = wind_furnace_02 @@ -92,8 +94,10 @@ wind_furnace_02 = { stationed_maa_toughness_mult = high_maa_toughness_tier_2 monthly_income = good_building_tax_tier_2 } - character_modifier = { - #knight_effectiveness_mult = normal_knight_effectiveness_mult_tier_2 + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes } next_building = wind_furnace_03 @@ -137,6 +141,11 @@ wind_furnace_03 = { character_modifier = { knight_effectiveness_mult = normal_knight_effectiveness_mult_tier_3 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = wind_furnace_04 @@ -176,6 +185,11 @@ wind_furnace_04 = { character_modifier = { knight_effectiveness_mult = normal_knight_effectiveness_mult_tier_4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = wind_furnace_05 @@ -215,6 +229,11 @@ wind_furnace_05 = { character_modifier = { knight_effectiveness_mult = normal_knight_effectiveness_mult_tier_5 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = wind_furnace_06 @@ -254,6 +273,11 @@ wind_furnace_06 = { character_modifier = { knight_effectiveness_mult = normal_knight_effectiveness_mult_tier_6 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = wind_furnace_07 @@ -293,6 +317,11 @@ wind_furnace_07 = { character_modifier = { knight_effectiveness_mult = normal_knight_effectiveness_mult_tier_7 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = wind_furnace_08 @@ -332,6 +361,358 @@ wind_furnace_08 = { character_modifier = { knight_effectiveness_mult = normal_knight_effectiveness_mult_tier_8 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + ai_value = { + base = 3 + ai_general_building_modifier = yes + directive_to_build_military_modifier = yes + } +} + +### Powder Magazines + +powder_magazine_01 = { + construction_time = standard_construction_time + effect_desc = powder_magazine_1_effect_desc + + can_construct_potential = { + building_requirement_castle_city_church = { LEVEL = 01 } + scope:holder.culture = { has_cultural_parameter = unlock_powder_magazines } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_1_cost + + province_modifier = { + stationed_gunpowder_damage_mult = high_maa_damage_tier_1 + stationed_gunpowder_toughness_mult = high_maa_toughness_tier_1 + stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_1 + stationed_maa_siege_value_add = 0.02 + } + character_modifier = { + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + type_icon = "icon_building_powder_magazine.dds" + + next_building = powder_magazine_02 + + ai_value = { + base = 12 + ai_tier_1_building_modifier = yes + ai_general_building_modifier = yes + directive_to_build_military_modifier = yes + modifier = { + factor = 0 + building_farm_estates_requirement_terrain = yes + NOT = { + has_building_or_higher = farm_estates_01 + } + } + modifier = { + factor = 0 + building_orchards_requirement_terrain = yes + NOT = { + has_building_or_higher = orchards_01 + } + } + modifier = { + factor = 0 + has_holding_type = city_holding + } + modifier = { + factor = 0 + has_holding_type = church_holding + } + } +} + +powder_magazine_02 = { + construction_time = standard_construction_time + effect_desc = powder_magazine_1_effect_desc + + can_construct_potential = { + building_requirement_castle_city_church = { LEVEL = 01 } + } + + can_construct_showing_failures_only = { + scope:holder.culture = { has_cultural_parameter = unlock_powder_magazines } + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_2_cost + + province_modifier = { + stationed_gunpowder_damage_mult = high_maa_damage_tier_2 + stationed_gunpowder_toughness_mult = high_maa_toughness_tier_2 + stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_2 + stationed_maa_siege_value_add = 0.04 + } + character_modifier = { + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + type_icon = "icon_building_powder_magazine.dds" + + next_building = powder_magazine_03 + + ai_value = { + base = 9 + ai_general_building_modifier = yes + directive_to_build_military_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +powder_magazine_03 = { + construction_time = standard_construction_time + effect_desc = powder_magazine_1_effect_desc + + can_construct_potential = { + building_requirement_castle_city_church = { LEVEL = 02 } + } + + can_construct_showing_failures_only = { + scope:holder.culture = { has_cultural_parameter = unlock_powder_magazines } + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_3_cost + + province_modifier = { + stationed_gunpowder_damage_mult = high_maa_damage_tier_3 + stationed_gunpowder_toughness_mult = high_maa_toughness_tier_3 + stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_3 + stationed_maa_siege_value_add = 0.06 + } + character_modifier = { + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + type_icon = "icon_building_powder_magazine.dds" + + next_building = powder_magazine_04 + + ai_value = { + base = 8 + ai_general_building_modifier = yes + directive_to_build_military_modifier = yes + } +} + +powder_magazine_04 = { + construction_time = standard_construction_time + effect_desc = powder_magazine_2_effect_desc + + can_construct_potential = { + building_requirement_castle_city_church = { LEVEL = 02 } + } + + can_construct_showing_failures_only = { + scope:holder.culture = { has_cultural_parameter = unlock_powder_magazines } + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_4_cost + + province_modifier = { + stationed_gunpowder_damage_mult = high_maa_damage_tier_4 + stationed_gunpowder_toughness_mult = high_maa_toughness_tier_4 + stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_4 + stationed_maa_siege_value_add = 0.08 + } + character_modifier = { + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + type_icon = "icon_building_powder_magazine.dds" + + next_building = powder_magazine_05 + + ai_value = { + base = 7 + ai_general_building_modifier = yes + directive_to_build_military_modifier = yes + } +} + +powder_magazine_05 = { + construction_time = standard_construction_time + effect_desc = powder_magazine_2_effect_desc + + can_construct_potential = { + building_requirement_castle_city_church = { LEVEL = 03 } + } + + can_construct_showing_failures_only = { + scope:holder.culture = { has_cultural_parameter = unlock_powder_magazines } + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_5_cost + + province_modifier = { + stationed_gunpowder_damage_mult = high_maa_damage_tier_5 + stationed_gunpowder_toughness_mult = high_maa_toughness_tier_5 + stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_5 + stationed_maa_siege_value_add = 0.1 + } + character_modifier = { + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + type_icon = "icon_building_powder_magazine.dds" + + next_building = powder_magazine_06 + + ai_value = { + base = 6 + ai_general_building_modifier = yes + directive_to_build_military_modifier = yes + } +} + +powder_magazine_06 = { + construction_time = standard_construction_time + effect_desc = powder_magazine_2_effect_desc + + can_construct_potential = { + building_requirement_castle_city_church = { LEVEL = 03 } + } + + can_construct_showing_failures_only = { + scope:holder.culture = { has_cultural_parameter = unlock_powder_magazines } + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_6_cost + + province_modifier = { + stationed_gunpowder_damage_mult = high_maa_damage_tier_6 + stationed_gunpowder_toughness_mult = high_maa_toughness_tier_6 + stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_6 + stationed_maa_siege_value_add = 0.12 + } + character_modifier = { + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + type_icon = "icon_building_powder_magazine.dds" + + next_building = powder_magazine_07 + + ai_value = { + base = 5 + ai_general_building_modifier = yes + directive_to_build_military_modifier = yes + } +} + +powder_magazine_07 = { + construction_time = standard_construction_time + effect_desc = powder_magazine_3_effect_desc + + can_construct_potential = { + building_requirement_castle_city_church = { LEVEL = 04 } + } + + can_construct_showing_failures_only = { + scope:holder.culture = { has_cultural_parameter = unlock_powder_magazines } + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_7_cost + + province_modifier = { + stationed_gunpowder_damage_mult = high_maa_damage_tier_7 + stationed_gunpowder_toughness_mult = high_maa_toughness_tier_7 + stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_7 + stationed_maa_siege_value_add = 0.14 + } + character_modifier = { + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + type_icon = "icon_building_powder_magazine.dds" + + next_building = powder_magazine_08 + + ai_value = { + base = 4 + ai_general_building_modifier = yes + directive_to_build_military_modifier = yes + } +} + +powder_magazine_08 = { + construction_time = standard_construction_time + effect_desc = powder_magazine_3_effect_desc + + can_construct_potential = { + building_requirement_castle_city_church = { LEVEL = 04 } + } + + can_construct_showing_failures_only = { + scope:holder.culture = { has_cultural_parameter = unlock_powder_magazines } + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_8_cost + + province_modifier = { + stationed_gunpowder_damage_mult = high_maa_damage_tier_8 + stationed_gunpowder_toughness_mult = high_maa_toughness_tier_8 + stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_8 + stationed_maa_siege_value_add = 0.16 + } + character_modifier = { + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + type_icon = "icon_building_powder_magazine.dds" ai_value = { base = 3 @@ -368,6 +749,11 @@ workshops_01 = { skirmishers_maintenance_mult = good_building_maa_maintenance_tier_1 archers_maintenance_mult = good_building_maa_maintenance_tier_1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = workshops_02 @@ -421,6 +807,11 @@ workshops_02 = { skirmishers_maintenance_mult = good_building_maa_maintenance_tier_2 archers_maintenance_mult = good_building_maa_maintenance_tier_2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = workshops_03 @@ -455,8 +846,6 @@ workshops_03 = { cost_gold = expensive_building_tier_3_cost - - province_modifier = { monthly_income = normal_building_tax_tier_3 stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_3 @@ -468,6 +857,11 @@ workshops_03 = { skirmishers_maintenance_mult = good_building_maa_maintenance_tier_3 archers_maintenance_mult = good_building_maa_maintenance_tier_3 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = workshops_04 @@ -498,8 +892,6 @@ workshops_04 = { cost_gold = expensive_building_tier_4_cost - - province_modifier = { monthly_income = normal_building_tax_tier_4 stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_4 @@ -511,6 +903,11 @@ workshops_04 = { skirmishers_maintenance_mult = good_building_maa_maintenance_tier_4 archers_maintenance_mult = good_building_maa_maintenance_tier_4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = workshops_05 @@ -541,8 +938,6 @@ workshops_05 = { cost_gold = expensive_building_tier_5_cost - - province_modifier = { monthly_income = normal_building_tax_tier_5 stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_5 @@ -555,6 +950,11 @@ workshops_05 = { archers_maintenance_mult = good_building_maa_maintenance_tier_5 cultural_head_fascination_mult = 0.05 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = workshops_06 @@ -585,8 +985,6 @@ workshops_06 = { cost_gold = expensive_building_tier_6_cost - - province_modifier = { monthly_income = normal_building_tax_tier_6 stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_6 @@ -599,6 +997,11 @@ workshops_06 = { archers_maintenance_mult = good_building_maa_maintenance_tier_6 cultural_head_fascination_mult = 0.10 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = workshops_07 @@ -629,8 +1032,6 @@ workshops_07 = { cost_gold = expensive_building_tier_7_cost - - province_modifier = { monthly_income = normal_building_tax_tier_7 stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_7 @@ -643,6 +1044,11 @@ workshops_07 = { archers_maintenance_mult = good_building_maa_maintenance_tier_7 cultural_head_fascination_mult = 0.15 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = workshops_08 @@ -673,8 +1079,6 @@ workshops_08 = { cost_gold = expensive_building_tier_8_cost - - province_modifier = { monthly_income = normal_building_tax_tier_8 stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_8 @@ -687,6 +1091,11 @@ workshops_08 = { archers_maintenance_mult = good_building_maa_maintenance_tier_8 cultural_head_fascination_mult = 0.20 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -724,6 +1133,11 @@ horse_pastures_01 = { stationed_archer_cavalry_screen_mult = normal_maa_screen_tier_1 stationed_archer_cavalry_pursuit_mult = normal_maa_pursuit_tier_1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = horse_pastures_02 @@ -811,6 +1225,11 @@ horse_pastures_02 = { stationed_archer_cavalry_screen_mult = normal_maa_screen_tier_2 stationed_archer_cavalry_pursuit_mult = normal_maa_pursuit_tier_2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = horse_pastures_03 @@ -860,6 +1279,11 @@ horse_pastures_03 = { stationed_archer_cavalry_screen_mult = normal_maa_screen_tier_3 stationed_archer_cavalry_pursuit_mult = normal_maa_pursuit_tier_3 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = horse_pastures_04 @@ -905,6 +1329,11 @@ horse_pastures_04 = { stationed_archer_cavalry_screen_mult = normal_maa_screen_tier_4 stationed_archer_cavalry_pursuit_mult = normal_maa_pursuit_tier_4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = horse_pastures_05 @@ -950,6 +1379,11 @@ horse_pastures_05 = { stationed_archer_cavalry_screen_mult = normal_maa_screen_tier_5 stationed_archer_cavalry_pursuit_mult = normal_maa_pursuit_tier_5 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = horse_pastures_06 @@ -995,6 +1429,11 @@ horse_pastures_06 = { stationed_archer_cavalry_screen_mult = normal_maa_screen_tier_6 stationed_archer_cavalry_pursuit_mult = normal_maa_pursuit_tier_6 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = horse_pastures_07 @@ -1040,6 +1479,11 @@ horse_pastures_07 = { stationed_archer_cavalry_screen_mult = normal_maa_screen_tier_7 stationed_archer_cavalry_pursuit_mult = normal_maa_pursuit_tier_7 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = horse_pastures_08 @@ -1085,6 +1529,11 @@ horse_pastures_08 = { stationed_archer_cavalry_screen_mult = normal_maa_screen_tier_8 stationed_archer_cavalry_pursuit_mult = normal_maa_pursuit_tier_8 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -1115,7 +1564,11 @@ hillside_grazing_01 = { stationed_heavy_cavalry_damage_mult = normal_maa_damage_tier_1 stationed_archer_cavalry_damage_mult = normal_maa_damage_tier_1 monthly_income = super_poor_building_tax_tier_1 + } + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes } next_building = hillside_grazing_02 @@ -1187,6 +1640,11 @@ hillside_grazing_02 = { stationed_archer_cavalry_damage_mult = normal_maa_damage_tier_2 monthly_income = super_poor_building_tax_tier_2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hillside_grazing_03 @@ -1233,6 +1691,11 @@ hillside_grazing_03 = { monthly_income = super_poor_building_tax_tier_3 stationed_maa_screen_add = 4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hillside_grazing_04 @@ -1275,6 +1738,11 @@ hillside_grazing_04 = { monthly_income = super_poor_building_tax_tier_4 stationed_maa_screen_add = 6 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hillside_grazing_05 @@ -1317,6 +1785,11 @@ hillside_grazing_05 = { monthly_income = super_poor_building_tax_tier_5 stationed_maa_screen_add = 8 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hillside_grazing_06 @@ -1359,6 +1832,11 @@ hillside_grazing_06 = { monthly_income = super_poor_building_tax_tier_6 stationed_maa_screen_add = 12 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hillside_grazing_07 @@ -1401,6 +1879,11 @@ hillside_grazing_07 = { monthly_income = super_poor_building_tax_tier_7 stationed_maa_screen_add = 16 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = hillside_grazing_08 @@ -1443,6 +1926,11 @@ hillside_grazing_08 = { monthly_income = super_poor_building_tax_tier_8 stationed_maa_screen_add = 20 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -1479,6 +1967,11 @@ warrior_lodges_01 = { stationed_heavy_infantry_damage_mult = normal_maa_damage_tier_1 travel_danger = -1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = warrior_lodges_02 @@ -1567,6 +2060,11 @@ warrior_lodges_02 = { stationed_heavy_infantry_damage_mult = normal_maa_damage_tier_2 travel_danger = -2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = warrior_lodges_03 @@ -1618,6 +2116,11 @@ warrior_lodges_03 = { stationed_maa_pursuit_add = 4 travel_danger = -3 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = warrior_lodges_04 @@ -1665,6 +2168,11 @@ warrior_lodges_04 = { stationed_maa_pursuit_add = 6 travel_danger = -4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = warrior_lodges_05 @@ -1712,6 +2220,11 @@ warrior_lodges_05 = { stationed_maa_pursuit_add = 8 travel_danger = -5 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = warrior_lodges_06 @@ -1759,6 +2272,11 @@ warrior_lodges_06 = { stationed_maa_pursuit_add = 12 travel_danger = -6 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = warrior_lodges_07 @@ -1806,6 +2324,11 @@ warrior_lodges_07 = { stationed_maa_pursuit_add = 16 travel_danger = -7 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = warrior_lodges_08 @@ -1853,6 +2376,11 @@ warrior_lodges_08 = { stationed_maa_pursuit_add = 20 travel_danger = -8 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -1890,6 +2418,11 @@ military_camps_01 = { stationed_skirmishers_pursuit_mult = high_maa_pursuit_tier_1 travel_danger = -1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = military_camps_02 @@ -2029,6 +2562,11 @@ military_camps_02 = { stationed_skirmishers_pursuit_mult = high_maa_pursuit_tier_2 travel_danger = -2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = military_camps_03 @@ -2094,6 +2632,11 @@ military_camps_03 = { stationed_skirmishers_toughness_mult = normal_maa_toughness_tier_1 travel_danger = -3 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = military_camps_04 @@ -2160,6 +2703,11 @@ military_camps_04 = { stationed_skirmishers_toughness_mult = normal_maa_toughness_tier_2 travel_danger = -4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = military_camps_05 @@ -2233,6 +2781,11 @@ military_camps_05 = { stationed_skirmishers_toughness_mult = normal_maa_toughness_tier_3 travel_danger = -5 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = military_camps_06 @@ -2306,6 +2859,11 @@ military_camps_06 = { stationed_skirmishers_toughness_mult = normal_maa_toughness_tier_4 travel_danger = -6 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = military_camps_07 @@ -2379,6 +2937,11 @@ military_camps_07 = { stationed_skirmishers_toughness_mult = normal_maa_toughness_tier_5 travel_danger = -7 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = military_camps_08 @@ -2452,6 +3015,11 @@ military_camps_08 = { stationed_skirmishers_toughness_mult = normal_maa_toughness_tier_6 travel_danger = -8 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -2495,6 +3063,11 @@ regimental_grounds_01 = { county_modifier = { levy_reinforcement_rate = high_levy_reinforcement_rate_tier_1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = regimental_grounds_02 @@ -2562,6 +3135,11 @@ regimental_grounds_02 = { levy_reinforcement_rate = high_levy_reinforcement_rate_tier_2 monthly_county_control_growth_factor = 0.05 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = regimental_grounds_03 @@ -2617,6 +3195,11 @@ regimental_grounds_03 = { levy_reinforcement_rate = high_levy_reinforcement_rate_tier_3 monthly_county_control_growth_factor = 0.05 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = regimental_grounds_04 @@ -2669,6 +3252,11 @@ regimental_grounds_04 = { monthly_county_control_growth_factor = 0.05 levy_size = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = regimental_grounds_05 @@ -2722,6 +3310,11 @@ regimental_grounds_05 = { monthly_county_control_growth_factor = 0.05 levy_size = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = regimental_grounds_06 @@ -2775,6 +3368,11 @@ regimental_grounds_06 = { monthly_county_control_growth_factor = 0.05 levy_size = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = regimental_grounds_07 @@ -2829,6 +3427,11 @@ regimental_grounds_07 = { monthly_county_control_growth_factor = 0.05 levy_size = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = regimental_grounds_08 @@ -2884,6 +3487,11 @@ regimental_grounds_08 = { monthly_county_control_growth_factor = 0.05 levy_size = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -2933,6 +3541,11 @@ outposts_01 = { monthly_income = super_poor_building_tax_tier_1 levy_size = 0.01 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = outposts_02 @@ -3041,6 +3654,11 @@ outposts_02 = { monthly_income = super_poor_building_tax_tier_2 levy_size = 0.02 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = outposts_03 @@ -3103,6 +3721,11 @@ outposts_03 = { monthly_income = super_poor_building_tax_tier_3 levy_size = 0.03 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = outposts_04 @@ -3161,6 +3784,11 @@ outposts_04 = { monthly_income = super_poor_building_tax_tier_4 levy_size = 0.04 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = outposts_05 @@ -3220,6 +3848,11 @@ outposts_05 = { monthly_income = super_poor_building_tax_tier_5 levy_size = 0.05 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = outposts_06 @@ -3279,6 +3912,11 @@ outposts_06 = { monthly_income = super_poor_building_tax_tier_6 levy_size = 0.06 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = outposts_07 @@ -3338,6 +3976,11 @@ outposts_07 = { monthly_income = super_poor_building_tax_tier_7 levy_size = 0.07 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = outposts_08 @@ -3398,6 +4041,11 @@ outposts_08 = { monthly_income = super_poor_building_tax_tier_8 levy_size = 0.08 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -3442,6 +4090,11 @@ barracks_01 = { stationed_pikemen_damage_mult = -0.20 stationed_maa_damage_mult = low_maa_damage_tier_1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = barracks_02 @@ -3475,6 +4128,13 @@ barracks_01 = { highest_held_title_tier <= tier_barony } } + modifier = { + add = 5 + scope:holder = { + ai_has_pious_builder_personality = yes + culture = { has_cultural_parameter = building_barracks_piety_bonuses } + } + } } } @@ -3533,6 +4193,11 @@ barracks_02 = { stationed_pikemen_damage_mult = -0.30 stationed_maa_damage_mult = low_maa_damage_tier_2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = barracks_03 @@ -3540,6 +4205,13 @@ barracks_02 = { base = 9 ai_general_building_modifier = yes directive_to_build_military_modifier = yes + modifier = { + add = 4 + scope:holder = { + ai_has_pious_builder_personality = yes + culture = { has_cultural_parameter = building_barracks_piety_bonuses } + } + } modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -3610,6 +4282,11 @@ barracks_03 = { stationed_pikemen_toughness_mult = -0.20 stationed_maa_damage_mult = low_maa_damage_tier_3 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = barracks_04 @@ -3617,6 +4294,13 @@ barracks_03 = { base = 8 ai_general_building_modifier = yes directive_to_build_military_modifier = yes + modifier = { + add = 3 + scope:holder = { + ai_has_pious_builder_personality = yes + culture = { has_cultural_parameter = building_barracks_piety_bonuses } + } + } } } @@ -3686,6 +4370,11 @@ barracks_04 = { stationed_pikemen_toughness_mult = -0.30 stationed_maa_damage_mult = low_maa_damage_tier_4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = barracks_05 @@ -3693,6 +4382,13 @@ barracks_04 = { base = 7 ai_general_building_modifier = yes directive_to_build_military_modifier = yes + modifier = { + add = 3 + scope:holder = { + ai_has_pious_builder_personality = yes + culture = { has_cultural_parameter = building_barracks_piety_bonuses } + } + } } } @@ -3767,6 +4463,11 @@ barracks_05 = { stationed_pikemen_toughness_mult = -0.40 stationed_maa_damage_mult = low_maa_damage_tier_5 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = barracks_06 @@ -3774,6 +4475,13 @@ barracks_05 = { base = 6 ai_general_building_modifier = yes directive_to_build_military_modifier = yes + modifier = { + add = 3 + scope:holder = { + ai_has_pious_builder_personality = yes + culture = { has_cultural_parameter = building_barracks_piety_bonuses } + } + } } } @@ -3848,6 +4556,11 @@ barracks_06 = { stationed_pikemen_toughness_mult = -0.50 stationed_maa_damage_mult = low_maa_damage_tier_6 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = barracks_07 @@ -3855,6 +4568,13 @@ barracks_06 = { base = 5 ai_general_building_modifier = yes directive_to_build_military_modifier = yes + modifier = { + add = 2 + scope:holder = { + ai_has_pious_builder_personality = yes + culture = { has_cultural_parameter = building_barracks_piety_bonuses } + } + } } } @@ -3929,6 +4649,11 @@ barracks_07 = { stationed_pikemen_toughness_mult = -0.60 stationed_maa_damage_mult = low_maa_damage_tier_7 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = barracks_08 @@ -3936,6 +4661,13 @@ barracks_07 = { base = 4 ai_general_building_modifier = yes directive_to_build_military_modifier = yes + modifier = { + add = 2 + scope:holder = { + ai_has_pious_builder_personality = yes + culture = { has_cultural_parameter = building_barracks_piety_bonuses } + } + } } } @@ -4010,11 +4742,23 @@ barracks_08 = { stationed_pikemen_toughness_mult = -0.70 stationed_maa_damage_mult = low_maa_damage_tier_7 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 ai_general_building_modifier = yes directive_to_build_military_modifier = yes + modifier = { + add = 2 + scope:holder = { + ai_has_pious_builder_personality = yes + culture = { has_cultural_parameter = building_barracks_piety_bonuses } + } + } } } @@ -4046,6 +4790,11 @@ camel_farms_01 = { stationed_light_cavalry_pursuit_mult = low_maa_pursuit_tier_1 monthly_income = super_poor_building_tax_tier_1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = camel_farms_02 @@ -4118,6 +4867,11 @@ camel_farms_02 = { county_modifier = { supply_limit = 200 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = camel_farms_03 @@ -4172,6 +4926,11 @@ camel_farms_03 = { county_modifier = { supply_limit = 200 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = camel_farms_04 @@ -4223,6 +4982,11 @@ camel_farms_04 = { county_modifier = { supply_limit = 200 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = camel_farms_05 @@ -4274,6 +5038,11 @@ camel_farms_05 = { county_modifier = { supply_limit = 200 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = camel_farms_06 @@ -4326,6 +5095,11 @@ camel_farms_06 = { county_modifier = { supply_limit = 200 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = camel_farms_07 @@ -4378,6 +5152,11 @@ camel_farms_07 = { county_modifier = { supply_limit = 200 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = camel_farms_08 @@ -4431,6 +5210,11 @@ camel_farms_08 = { supply_limit = 200 } + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + type_icon = "icon_building_camel_farms.dds" ai_value = { @@ -4470,6 +5254,11 @@ stables_01 = { stationed_heavy_cavalry_damage_mult = high_maa_damage_tier_1 stationed_light_cavalry_pursuit_mult = normal_maa_pursuit_tier_1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = stables_02 @@ -4604,6 +5393,11 @@ stables_02 = { stationed_heavy_cavalry_damage_mult = high_maa_damage_tier_2 stationed_light_cavalry_pursuit_mult = normal_maa_pursuit_tier_2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = stables_03 @@ -4668,6 +5462,11 @@ stables_03 = { stationed_light_cavalry_toughness_mult = high_maa_toughness_tier_1 stationed_heavy_cavalry_toughness_mult = high_maa_toughness_tier_1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = stables_04 @@ -4728,6 +5527,11 @@ stables_04 = { stationed_light_cavalry_toughness_mult = high_maa_toughness_tier_2 stationed_heavy_cavalry_toughness_mult = high_maa_toughness_tier_2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = stables_05 @@ -4794,6 +5598,11 @@ stables_05 = { stationed_heavy_cavalry_screen_mult = normal_maa_screen_tier_1 stationed_heavy_cavalry_pursuit_mult = normal_maa_pursuit_tier_1 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = stables_06 @@ -4860,6 +5669,11 @@ stables_06 = { stationed_heavy_cavalry_screen_mult = normal_maa_screen_tier_2 stationed_heavy_cavalry_pursuit_mult = normal_maa_pursuit_tier_2 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = stables_07 @@ -4926,6 +5740,11 @@ stables_07 = { stationed_heavy_cavalry_screen_mult = normal_maa_screen_tier_3 stationed_heavy_cavalry_pursuit_mult = normal_maa_pursuit_tier_3 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = stables_08 @@ -4992,6 +5811,11 @@ stables_08 = { stationed_heavy_cavalry_screen_mult = normal_maa_screen_tier_4 stationed_heavy_cavalry_pursuit_mult = normal_maa_pursuit_tier_4 } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 @@ -5039,6 +5863,19 @@ smiths_01 = { parameter = frugal_blacksmith_maa_size knight_limit = 1 } + province_culture_modifier = { + parameter = coking_smith_bonuses + stationed_maa_toughness_mult = normal_maa_toughness_tier_1 + } + county_culture_modifier = { + parameter = coking_smith_bonuses + development_growth = innovation_coking_development_growth_value_1 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = smiths_02 @@ -5185,6 +6022,19 @@ smiths_02 = { knight_limit = 1 men_at_arms_limit = 1 } + province_culture_modifier = { + parameter = coking_smith_bonuses + stationed_maa_toughness_mult = normal_maa_toughness_tier_2 + } + county_culture_modifier = { + parameter = coking_smith_bonuses + development_growth = innovation_coking_development_growth_value_1 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = smiths_03 @@ -5256,7 +6106,19 @@ smiths_03 = { knight_limit = 2 men_at_arms_limit = 1 } - + province_culture_modifier = { + parameter = coking_smith_bonuses + stationed_maa_toughness_mult = normal_maa_toughness_tier_3 + } + county_culture_modifier = { + parameter = coking_smith_bonuses + development_growth = innovation_coking_development_growth_value_2 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = smiths_04 @@ -5324,6 +6186,19 @@ smiths_04 = { knight_limit = 2 men_at_arms_limit = 1 } + province_culture_modifier = { + parameter = coking_smith_bonuses + stationed_maa_toughness_mult = normal_maa_toughness_tier_4 + } + county_culture_modifier = { + parameter = coking_smith_bonuses + development_growth = innovation_coking_development_growth_value_2 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = smiths_05 @@ -5390,6 +6265,19 @@ smiths_05 = { knight_limit = 3 men_at_arms_limit = 1 } + province_culture_modifier = { + parameter = coking_smith_bonuses + stationed_maa_toughness_mult = normal_maa_toughness_tier_5 + } + county_culture_modifier = { + parameter = coking_smith_bonuses + development_growth = innovation_coking_development_growth_value_3 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = smiths_06 @@ -5456,6 +6344,19 @@ smiths_06 = { knight_limit = 3 men_at_arms_limit = 2 } + province_culture_modifier = { + parameter = coking_smith_bonuses + stationed_maa_toughness_mult = normal_maa_toughness_tier_6 + } + county_culture_modifier = { + parameter = coking_smith_bonuses + development_growth = innovation_coking_development_growth_value_3 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = smiths_07 @@ -5522,6 +6423,19 @@ smiths_07 = { knight_limit = 4 men_at_arms_limit = 2 } + province_culture_modifier = { + parameter = coking_smith_bonuses + stationed_maa_toughness_mult = normal_maa_toughness_tier_7 + } + county_culture_modifier = { + parameter = coking_smith_bonuses + development_growth = innovation_coking_development_growth_value_4 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } next_building = smiths_08 @@ -5588,6 +6502,19 @@ smiths_08 = { knight_limit = 4 men_at_arms_limit = 3 } + province_culture_modifier = { + parameter = coking_smith_bonuses + stationed_maa_toughness_mult = normal_maa_toughness_tier_8 + } + county_culture_modifier = { + parameter = coking_smith_bonuses + development_growth = innovation_coking_development_growth_value_4 + } + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } ai_value = { base = 3 diff --git a/N3OW/common/buildings/00_temple_buildings.txt b/N3OW/common/buildings/00_temple_buildings.txt index 26010688..4bb0870f 100644 --- a/N3OW/common/buildings/00_temple_buildings.txt +++ b/N3OW/common/buildings/00_temple_buildings.txt @@ -9,236 +9,309 @@ @illustration_iberian_islamic = "gfx/interface/illustrations/holding_types/fp2_temple_iberian_islamic.dds" @illustration_iranian_zoroastrian = "gfx/interface/illustrations/holding_types/fp3_temple_iranian_zoroastrian.dds" @illustration_tengri = "gfx/interface/illustrations/holding_types/mpo_temple_steppe.dds" +@illustration_chinese = "gfx/interface/illustrations/holding_types/tgp_chinese_pagoda.dds" +@illustration_shinto = "gfx/interface/illustrations/holding_types/tgp_shinto_temple.dds" temple_01 = { construction_time = slow_construction_time - ### GENERIC ### - asset = { - type = pdxmesh - name = "building_western_temple_generic_01_mesh" - illustration = @illustration_generic_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_generic_01_mesh" - illustration = @illustration_generic_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_generic_01_mesh" - illustration = @illustration_generic_arid - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_generic_01_mesh" - illustration = @illustration_generic_arid - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } - graphical_regions = { "graphical_mena" } - } + #Meshes (Indented for readability) + ### GENERIC ### + asset = { + type = pdxmesh + name = "building_western_temple_generic_01_mesh" + illustration = @illustration_generic_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_generic_01_mesh" + illustration = @illustration_generic_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_generic_01_mesh" + illustration = @illustration_generic_arid + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_generic_01_mesh" + illustration = @illustration_generic_arid + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } + graphical_regions = { "graphical_mena" } + } - asset = { - type = pdxmesh - name = "building_western_temple_pagan_01_mesh" - illustration = @illustration_northern_pagan - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "pagan_gfx" } - } + asset = { + type = pdxmesh + name = "building_western_temple_pagan_01_mesh" + illustration = @illustration_northern_pagan + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "pagan_gfx" } + } - ### DHARMIC ### - asset = { - type = pdxmesh - name = "building_western_temple_dharmic_01_mesh" - illustration = @illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "dharmic_gfx" } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_dharmic_01_mesh" - illustration = @illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "dharmic_gfx" } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_dharmic_01_mesh" - illustration = @illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "dharmic_gfx" } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_dharmic_01_mesh" - illustration = @illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "dharmic_gfx" } - graphical_regions = { "graphical_mena" } - } + ### SOUTHEAST ASIA ### + asset = { + type = pdxmesh + name = "tgp_building_se_asia_temple_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/sea_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "dharmic_gfx" } + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } - ### ORTHODOX ### - asset = { - type = pdxmesh - name = "building_western_temple_orthodox_01_mesh" - illustration = @illustration_orthodox - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "orthodox_gfx" } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_orthodox_01_mesh" - illustration = @illustration_orthodox - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "orthodox_gfx" } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_orthodox_01_mesh" - illustration = @illustration_orthodox - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "orthodox_gfx" } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_orthodox_01_mesh" - illustration = @illustration_orthodox - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "orthodox_gfx" } - graphical_regions = { "graphical_mena" } - } + ### DHARMIC ### + asset = { + type = pdxmesh + name = "building_western_temple_dharmic_01_mesh" + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "dharmic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_dharmic_01_mesh" + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "dharmic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_dharmic_01_mesh" + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "dharmic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_dharmic_01_mesh" + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "dharmic_gfx" } + graphical_regions = { "graphical_mena" } + } - ### CATHOLIC ### - asset = { - type = pdxmesh - name = "building_western_temple_christian_01_mesh" - illustration = @illustration_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "catholic_gfx" } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_christian_01_mesh" - illustration = @illustration_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "catholic_gfx" } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_christian_01_mesh" - illustration = @illustration_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "catholic_gfx" } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_christian_01_mesh" - illustration = @illustration_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "catholic_gfx" } - graphical_regions = { "graphical_mena" } - } + ### ORTHODOX ### + asset = { + type = pdxmesh + name = "building_western_temple_orthodox_01_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "orthodox_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_orthodox_01_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_orthodox_01_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_orthodox_01_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_mena" } + } - ### ISLAMIC ### - asset = { - type = pdxmesh - name = "building_western_temple_islamic_01_mesh" - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "islamic_gfx" } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_islamic_01_mesh" - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "islamic_gfx" } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_islamic_01_mesh" - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "islamic_gfx" } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_islamic_01_mesh" - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "islamic_gfx" } - graphical_regions = { "graphical_mena" } - } + ### CATHOLIC ### + asset = { + type = pdxmesh + name = "building_western_temple_christian_01_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_christian_01_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_christian_01_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_christian_01_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_mena" } + } - # FP2 Catholic variant for Iberia - asset = { - type = pdxmesh - name = "fp2_building_iberian_christian_01_mesh" - requires_dlc_flag = the_fate_of_iberia - illustration = @illustration_iberian_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "catholic_gfx" } - graphical_cultures = { iberian_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### ISLAMIC ### + asset = { + type = pdxmesh + name = "building_western_temple_islamic_01_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_islamic_01_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_islamic_01_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_islamic_01_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_mena" } + } - # FP2 Islamic variant for Iberia - asset = { - type = pdxmesh - name = "fp2_building_iberian_mosque_01_mesh" - requires_dlc_flag = the_fate_of_iberia - illustration = @illustration_iberian_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "islamic_gfx" } - graphical_cultures = { iberian_building_gfx } - graphical_regions = { graphical_mediterranean } - } + # FP2 Catholic variant for Iberia + asset = { + type = pdxmesh + name = "fp2_building_iberian_christian_01_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @illustration_iberian_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } - # FP3 Zoroastrian - asset = { - type = pdxmesh - name = "building_mena_temple_islamic_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "islamic_gfx" } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = entity - name = "fp3_building_persian_temple_01_a_01_entity" - requires_dlc_flag = legacy_of_persia - illustration = @illustration_iranian_zoroastrian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } ##todo_cd_polish fix - graphical_faiths = { "zoroastrian_gfx" } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } + # FP2 Islamic variant for Iberia + asset = { + type = pdxmesh + name = "fp2_building_iberian_mosque_01_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @illustration_iberian_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } - # MPO Tengri - asset = { - type = entity - name = "mpo_mongol_temple_01_entity" - illustration = @illustration_tengri - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "tengrism_gfx" } - } + # FP3 Zoroastrian + asset = { + type = pdxmesh + name = "building_mena_temple_islamic_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = entity + name = "fp3_building_persian_temple_01_a_01_entity" + requires_dlc_flag = legacy_of_persia + illustration = @illustration_iranian_zoroastrian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "zoroastrian_gfx" } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + + # MPO Tengri + asset = { + type = entity + name = "mpo_mongol_temple_01_entity" + illustration = @illustration_tengri + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "tengrism_gfx" } + } + + ### SOUTHEAST ASIA ### + asset = { + type = pdxmesh + name = "tgp_building_se_asia_pagan_temple_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/sea_pagan_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { pagan_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_pagoda_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_chinese + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/chinese_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { dharmic_gfx } + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } #Chinese building gfx + india region = Dai Viet + } + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_temple_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_chinese + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/chinese_temple" soundparameter = { "Tier" = 0 } } + + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan Buddhist + asset = { + type = pdxmesh + name = "tgp_building_japanese_pagoda_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_chinese + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/japanese_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { dharmic_gfx } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan Shinto + asset = { + type = pdxmesh + name = "tgp_building_japanese_temple_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_shinto + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/japanese_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { shinto_gfx } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } can_construct_potential = { barony_cannot_construct_holding = no + scope:holder = { + NOT = { government_has_flag = government_is_mandala } + } } can_construct = { @@ -263,7 +336,6 @@ temple_01 = { } } } - } can_construct_showing_failures_only = { @@ -283,6 +355,7 @@ temple_01 = { has_cultural_parameter = tribals_can_into_temples } } + scope:holder = { NOT = { has_character_modifier = tgp_rebuilder_modifier } } building_requirement_nomad = no building_requirement_nomad_holding_in_county = yes building_requirement_herder = no @@ -319,6 +392,11 @@ temple_01 = { defender_holding_advantage = 2 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.01 + } + flag = temple type_icon = "icon_building_monastic_schools.dds" @@ -342,7 +420,7 @@ temple_01 = { county.holder = { add_piety = omega_piety_gain } } else = { - county.holder = { add_piety = massive_piety_gain } + county.holder ?= { add_piety = massive_piety_gain } } save_scope_as = temple_location if = { @@ -457,7 +535,7 @@ temple_01 = { exists = var:promised_to_build_temple OR = { var:promised_to_build_temple = { is_alive = no } - NOT = { faith = scope:owner_of_province.faith } + faith != scope:owner_of_province.faith } } remove_variable = promised_to_build_temple @@ -470,16 +548,14 @@ temple_01 = { if = { limit = { any_vassal = { - has_vassal_stance = parochial + vassal_stance = parochial } save_temporary_scope_as = holder_scope } custom_tooltip = parochial_vassal_approves_holding_construction hidden_effect = { every_vassal = { - limit = { - has_vassal_stance = parochial - } + vassal_stance = parochial add_opinion = { target = prev modifier = parochial_approves_holding_construction_opinion @@ -490,16 +566,14 @@ temple_01 = { if = { limit = { any_vassal = { - has_vassal_stance = zealot + vassal_stance = zealot } save_temporary_scope_as = holder_scope } custom_tooltip = zealot_vassal_approves_holding_construction hidden_effect = { every_vassal = { - limit = { - has_vassal_stance = zealot - } + vassal_stance = zealot add_opinion = { target = prev modifier = zealot_approves_temple_construction_opinion @@ -508,6 +582,20 @@ temple_01 = { } } } + + # Building Oath + hidden_effect = { + if = { + limit = { + county.holder = { + has_character_modifier = oath_of_buildings + } + } + add_random_economic_building_effect = yes + add_random_military_building_effect = yes + add_random_fortification_building_effect = yes + } + } } ai_value = { @@ -534,229 +622,297 @@ temple_01 = { temple_02 = { construction_time = slow_construction_time - ### GENERIC ### - asset = { - type = pdxmesh - name = "building_western_temple_generic_01_mesh" - illustration = @illustration_generic_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_generic_01_mesh" - illustration = @illustration_generic_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_generic_01_mesh" - illustration = @illustration_generic_arid - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_generic_01_mesh" - illustration = @illustration_generic_arid - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } - graphical_regions = { "graphical_mena" } - } + #Meshes (Indented for readability) + ### GENERIC ### + asset = { + type = pdxmesh + name = "building_western_temple_generic_01_mesh" + illustration = @illustration_generic_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_generic_01_mesh" + illustration = @illustration_generic_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_generic_01_mesh" + illustration = @illustration_generic_arid + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_generic_01_mesh" + illustration = @illustration_generic_arid + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } + graphical_regions = { "graphical_mena" } + } - asset = { - type = pdxmesh - name = "building_western_temple_pagan_01_mesh" - illustration = @illustration_northern_pagan - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "pagan_gfx" } - } + asset = { + type = pdxmesh + name = "building_western_temple_pagan_01_mesh" + illustration = @illustration_northern_pagan + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "pagan_gfx" } + } - ### DHARMIC ### - asset = { - type = pdxmesh - name = "building_western_temple_dharmic_01_mesh" - illustration = @illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "dharmic_gfx" } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_dharmic_01_mesh" - illustration = @illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "dharmic_gfx" } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_dharmic_01_mesh" - illustration = @illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "dharmic_gfx" } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_dharmic_01_mesh" - illustration = @illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "dharmic_gfx" } - graphical_regions = { "graphical_mena" } - } - ### ORTHODOX ### - asset = { - type = pdxmesh - name = "building_western_temple_orthodox_01_mesh" - illustration = @illustration_orthodox - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "orthodox_gfx" } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_orthodox_01_mesh" - illustration = @illustration_orthodox - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "orthodox_gfx" } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_orthodox_01_mesh" - illustration = @illustration_orthodox - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "orthodox_gfx" } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_orthodox_01_mesh" - illustration = @illustration_orthodox - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "orthodox_gfx" } - graphical_regions = { "graphical_mena" } - } + ### SOUTHEAST ASIA ### + asset = { + type = pdxmesh + name = "tgp_building_se_asia_temple_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/sea_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "dharmic_gfx" } + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } - ### CATHOLIC ### - asset = { - type = pdxmesh - name = "building_western_temple_christian_01_mesh" - illustration = @illustration_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "catholic_gfx" } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_christian_01_mesh" - illustration = @illustration_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "catholic_gfx" } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_christian_01_mesh" - illustration = @illustration_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "catholic_gfx" } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_christian_01_mesh" - illustration = @illustration_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "catholic_gfx" } - graphical_regions = { "graphical_mena" } - } + ### DHARMIC ### + asset = { + type = pdxmesh + name = "building_western_temple_dharmic_01_mesh" + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "dharmic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_dharmic_01_mesh" + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "dharmic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_dharmic_01_mesh" + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "dharmic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_dharmic_01_mesh" + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "dharmic_gfx" } + graphical_regions = { "graphical_mena" } + } - ### ISLAMIC ### - asset = { - type = pdxmesh - name = "building_western_temple_islamic_01_mesh" - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "islamic_gfx" } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_islamic_01_mesh" - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "islamic_gfx" } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_islamic_01_mesh" - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "islamic_gfx" } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_islamic_01_mesh" - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "islamic_gfx" } - graphical_regions = { "graphical_mena" } - } + ### ORTHODOX ### + asset = { + type = pdxmesh + name = "building_western_temple_orthodox_01_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "orthodox_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_orthodox_01_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_orthodox_01_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_orthodox_01_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_mena" } + } - # FP2 Catholic variant for Iberia - asset = { - type = pdxmesh - name = "fp2_building_iberian_christian_01_mesh" - requires_dlc_flag = the_fate_of_iberia - illustration = @illustration_iberian_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "catholic_gfx" } - graphical_cultures = { iberian_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### CATHOLIC ### + asset = { + type = pdxmesh + name = "building_western_temple_christian_01_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_christian_01_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_christian_01_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_christian_01_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_mena" } + } - # FP2 Islamic variant for Iberia - asset = { - type = pdxmesh - name = "fp2_building_iberian_mosque_01_mesh" - requires_dlc_flag = the_fate_of_iberia - illustration = @illustration_iberian_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "islamic_gfx" } - graphical_cultures = { iberian_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### ISLAMIC ### + asset = { + type = pdxmesh + name = "building_western_temple_islamic_01_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_islamic_01_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_islamic_01_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_islamic_01_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_mena" } + } - # FP3 Zoroastrian - asset = { - type = pdxmesh - name = "building_mena_temple_islamic_01_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "islamic_gfx" } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = entity - name = "fp3_building_persian_temple_01_a_01_entity" - requires_dlc_flag = legacy_of_persia - illustration = @illustration_iranian_zoroastrian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } ##todo_cd_polish fix - graphical_faiths = { "zoroastrian_gfx" } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } + # FP2 Catholic variant for Iberia + asset = { + type = pdxmesh + name = "fp2_building_iberian_christian_01_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @illustration_iberian_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } - # MPO Tengri - asset = { - type = entity - name = "mpo_mongol_temple_01_entity" - illustration = @illustration_tengri - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "tengrism_gfx" } - } + # FP2 Islamic variant for Iberia + asset = { + type = pdxmesh + name = "fp2_building_iberian_mosque_01_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @illustration_iberian_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + # FP3 Zoroastrian + asset = { + type = pdxmesh + name = "building_mena_temple_islamic_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = entity + name = "fp3_building_persian_temple_01_a_01_entity" + requires_dlc_flag = legacy_of_persia + illustration = @illustration_iranian_zoroastrian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "zoroastrian_gfx" } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + + # MPO Tengri + asset = { + type = entity + name = "mpo_mongol_temple_01_entity" + illustration = @illustration_tengri + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "tengrism_gfx" } + } + # TGP Asian Pagan + asset = { + type = pdxmesh + name = "tgp_building_se_asia_pagan_temple_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/sea_pagan_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { pagan_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_pagoda_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_chinese + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/chinese_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { dharmic_gfx } + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_temple_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_chinese + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/chinese_temple" soundparameter = { "Tier" = 1 } } + + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan Buddhist + asset = { + type = pdxmesh + name = "tgp_building_japanese_pagoda_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_chinese + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/japanese_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { dharmic_gfx } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan Shinto + asset = { + type = pdxmesh + name = "tgp_building_japanese_temple_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_shinto + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/japanese_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { shinto_gfx } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } can_construct_potential = { building_requirement_tribal = no @@ -781,6 +937,7 @@ temple_02 = { } } } + can_construct_showing_failures_only = { NOT = { scope:holder = { has_character_modifier = tgp_rebuilder_modifier } } } cost_gold = main_building_tier_2_cost next_building = temple_03 @@ -813,6 +970,11 @@ temple_02 = { defender_holding_advantage = 3 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.02 + } + flag = temple on_complete = { @@ -842,16 +1004,14 @@ temple_02 = { if = { limit = { any_vassal = { - has_vassal_stance = parochial + vassal_stance = parochial } save_temporary_scope_as = holder_scope } custom_tooltip = parochial_vassal_approves_holding_upgrade hidden_effect = { every_vassal = { - limit = { - has_vassal_stance = parochial - } + vassal_stance = parochial add_opinion = { target = prev modifier = parochial_approves_holding_upgrade_opinion @@ -862,16 +1022,14 @@ temple_02 = { if = { limit = { any_vassal = { - has_vassal_stance = zealot + vassal_stance = zealot } save_temporary_scope_as = holder_scope } custom_tooltip = zealot_vassal_approves_holding_upgrade hidden_effect = { every_vassal = { - limit = { - has_vassal_stance = zealot - } + vassal_stance = zealot add_opinion = { target = prev modifier = zealot_approves_temple_upgrade_opinion @@ -880,6 +1038,12 @@ temple_02 = { } } } + scope:character = { + if = { + limit = { government_has_flag = government_is_mandala } + mandala_upgraded_temple_holding_effect = yes + } + } } ai_value = { @@ -907,229 +1071,295 @@ temple_02 = { temple_03 = { construction_time = slow_construction_time - ### GENERIC ### - asset = { - type = pdxmesh - name = "building_western_temple_generic_02_mesh" - illustration = @illustration_generic_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_generic_02_mesh" - illustration = @illustration_generic_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_generic_02_mesh" - illustration = @illustration_generic_arid - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_generic_02_mesh" - illustration = @illustration_generic_arid - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } - graphical_regions = { "graphical_mena" } - } + #Meshes (Indented for readability) + ### GENERIC ### + asset = { + type = pdxmesh + name = "building_western_temple_generic_02_mesh" + illustration = @illustration_generic_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_generic_02_mesh" + illustration = @illustration_generic_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_generic_02_mesh" + illustration = @illustration_generic_arid + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_generic_02_mesh" + illustration = @illustration_generic_arid + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } + graphical_regions = { "graphical_mena" } + } - asset = { - type = pdxmesh - name = "building_western_temple_pagan_02_mesh" - illustration = @illustration_northern_pagan - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "pagan_gfx" } - } + asset = { + type = pdxmesh + name = "building_western_temple_pagan_02_mesh" + illustration = @illustration_northern_pagan + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "pagan_gfx" } + } + # SOUTHEAST ASIA # + asset = { + type = pdxmesh + name = "tgp_building_se_asia_temple_03_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/sea_temple" soundparameter = { "Tier" = 2 } } + graphical_faiths = { "dharmic_gfx" } + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } - ### DHARMIC ### - asset = { - type = pdxmesh - name = "building_western_temple_dharmic_02_mesh" - illustration = @illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "dharmic_gfx" } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_dharmic_02_mesh" - illustration = @illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "dharmic_gfx" } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_dharmic_02_mesh" - illustration = @illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "dharmic_gfx" } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_dharmic_02_mesh" - illustration = @illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "dharmic_gfx" } - graphical_regions = { "graphical_mena" } - } + ### DHARMIC ### + asset = { + type = pdxmesh + name = "building_western_temple_dharmic_02_mesh" + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "dharmic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_dharmic_02_mesh" + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "dharmic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_dharmic_02_mesh" + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "dharmic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_dharmic_02_mesh" + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "dharmic_gfx" } + graphical_regions = { "graphical_mena" } + } - ### ORTHODOX ### - asset = { - type = pdxmesh - name = "building_western_temple_orthodox_02_mesh" - illustration = @illustration_orthodox - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "orthodox_gfx" } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_orthodox_02_mesh" - illustration = @illustration_orthodox - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "orthodox_gfx" } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_orthodox_02_mesh" - illustration = @illustration_orthodox - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "orthodox_gfx" } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_orthodox_02_mesh" - illustration = @illustration_orthodox - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "orthodox_gfx" } - graphical_regions = { "graphical_mena" } - } + ### ORTHODOX ### + asset = { + type = pdxmesh + name = "building_western_temple_orthodox_02_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "orthodox_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_orthodox_02_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_orthodox_02_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_orthodox_02_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_mena" } + } - ### CATHOLIC ### - asset = { - type = pdxmesh - name = "building_western_temple_christian_02_mesh" - illustration = @illustration_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "catholic_gfx" } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_christian_02_mesh" - illustration = @illustration_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "catholic_gfx" } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_christian_02_mesh" - illustration = @illustration_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "catholic_gfx" } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_christian_02_mesh" - illustration = @illustration_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "catholic_gfx" } - graphical_regions = { "graphical_mena" } - } + ### CATHOLIC ### + asset = { + type = pdxmesh + name = "building_western_temple_christian_02_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_christian_02_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_christian_02_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_christian_02_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_mena" } + } - ### ISLAMIC ### - asset = { - type = pdxmesh - name = "building_western_temple_islamic_02_mesh" - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "islamic_gfx" } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_islamic_02_mesh" - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "islamic_gfx" } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_islamic_02_mesh" - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "islamic_gfx" } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_islamic_02_mesh" - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "islamic_gfx" } - graphical_regions = { "graphical_mena" } - } + ### ISLAMIC ### + asset = { + type = pdxmesh + name = "building_western_temple_islamic_02_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_islamic_02_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_islamic_02_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_islamic_02_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_mena" } + } - # FP2 Catholic variant for Iberia - asset = { - type = pdxmesh - name = "fp2_building_iberian_christian_02_mesh" - requires_dlc_flag = the_fate_of_iberia - illustration = @illustration_iberian_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "catholic_gfx" } - graphical_cultures = { iberian_building_gfx } - graphical_regions = { graphical_mediterranean } - } + # FP2 Catholic variant for Iberia + asset = { + type = pdxmesh + name = "fp2_building_iberian_christian_02_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @illustration_iberian_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } - # FP2 Islamic variant for Iberia - asset = { - type = pdxmesh - name = "fp2_building_iberian_mosque_02_mesh" - requires_dlc_flag = the_fate_of_iberia - illustration = @illustration_iberian_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "islamic_gfx" } - graphical_cultures = { iberian_building_gfx } - graphical_regions = { graphical_mediterranean } - } + # FP2 Islamic variant for Iberia + asset = { + type = pdxmesh + name = "fp2_building_iberian_mosque_02_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @illustration_iberian_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } - # FP3 Zoroastrian - asset = { - type = pdxmesh - name = "building_mena_temple_islamic_02_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "islamic_gfx" } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = entity - name = "fp3_building_persian_temple_02_a_01_entity" - requires_dlc_flag = legacy_of_persia - illustration = @illustration_iranian_zoroastrian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } ##todo_cd_polish fix - graphical_faiths = { "zoroastrian_gfx" } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } + # FP3 Zoroastrian + asset = { + type = pdxmesh + name = "building_mena_temple_islamic_02_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = entity + name = "fp3_building_persian_temple_02_a_01_entity" + requires_dlc_flag = legacy_of_persia + illustration = @illustration_iranian_zoroastrian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "zoroastrian_gfx" } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } - # MPO Tengri - asset = { - type = entity - name = "mpo_mongol_temple_01_entity" - illustration = @illustration_tengri - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "tengrism_gfx" } - } + # MPO Tengri + asset = { + type = entity + name = "mpo_mongol_temple_01_entity" + illustration = @illustration_tengri + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "tengrism_gfx" } + } + # TGP Asian Pagan + asset = { + type = pdxmesh + name = "tgp_building_se_asia_pagan_temple_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/sea_pagan_temple" soundparameter = { "Tier" = 2 } } + graphical_faiths = { pagan_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_pagoda_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_chinese + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/chinese_temple" soundparameter = { "Tier" = 2 } } + graphical_faiths = { dharmic_gfx } + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_temple_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_chinese + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/chinese_temple" soundparameter = { "Tier" = 2 } } + + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan Buddhist + asset = { + type = pdxmesh + name = "tgp_building_japanese_pagoda_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_chinese + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/japanese_temple" soundparameter = { "Tier" = 2 } } + graphical_faiths = { dharmic_gfx } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan Shinto + asset = { + type = pdxmesh + name = "tgp_building_japanese_temple_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_shinto + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/japanese_temple" soundparameter = { "Tier" = 2 } } + graphical_faiths = { shinto_gfx } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } can_construct_potential = { building_requirement_tribal = no @@ -1154,6 +1384,7 @@ temple_03 = { } } } + can_construct_showing_failures_only = { NOT = { scope:holder = { has_character_modifier = tgp_rebuilder_modifier } } } cost_gold = main_building_tier_3_cost next_building = temple_04 @@ -1185,6 +1416,11 @@ temple_03 = { defender_holding_advantage = 4 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.03 + } + flag = temple on_complete = { @@ -1214,16 +1450,14 @@ temple_03 = { if = { limit = { any_vassal = { - has_vassal_stance = parochial + vassal_stance = parochial } save_temporary_scope_as = holder_scope } custom_tooltip = parochial_vassal_approves_holding_upgrade hidden_effect = { every_vassal = { - limit = { - has_vassal_stance = parochial - } + vassal_stance = parochial add_opinion = { target = prev modifier = parochial_approves_holding_upgrade_opinion @@ -1234,16 +1468,14 @@ temple_03 = { if = { limit = { any_vassal = { - has_vassal_stance = zealot + vassal_stance = zealot } save_temporary_scope_as = holder_scope } custom_tooltip = zealot_vassal_approves_holding_upgrade hidden_effect = { every_vassal = { - limit = { - has_vassal_stance = zealot - } + vassal_stance = zealot add_opinion = { target = prev modifier = zealot_approves_temple_upgrade_opinion @@ -1252,6 +1484,12 @@ temple_03 = { } } } + scope:character = { + if = { + limit = { government_has_flag = government_is_mandala } + mandala_upgraded_temple_holding_effect = yes + } + } } ai_value = { @@ -1271,228 +1509,296 @@ temple_03 = { temple_04 = { construction_time = slow_construction_time - ### GENERIC ### - asset = { - type = pdxmesh - name = "building_western_temple_generic_02_mesh" - illustration = @illustration_generic_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_generic_02_mesh" - illustration = @illustration_generic_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_generic_02_mesh" - illustration = @illustration_generic_arid - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_generic_02_mesh" - illustration = @illustration_generic_arid - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } - graphical_regions = { "graphical_mena" } - } + #Meshes (Indented for readability) + ### GENERIC ### + asset = { + type = pdxmesh + name = "building_western_temple_generic_02_mesh" + illustration = @illustration_generic_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_generic_02_mesh" + illustration = @illustration_generic_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_generic_02_mesh" + illustration = @illustration_generic_arid + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_generic_02_mesh" + illustration = @illustration_generic_arid + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } + graphical_regions = { "graphical_mena" } + } - asset = { - type = pdxmesh - name = "building_western_temple_pagan_02_mesh" - illustration = @illustration_northern_pagan - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "pagan_gfx" } - } + asset = { + type = pdxmesh + name = "building_western_temple_pagan_02_mesh" + illustration = @illustration_northern_pagan + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "pagan_gfx" } + } - ### DHARMIC ### - asset = { - type = pdxmesh - name = "building_western_temple_dharmic_02_mesh" - illustration = @illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "dharmic_gfx" } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_dharmic_02_mesh" - illustration = @illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "dharmic_gfx" } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_dharmic_02_mesh" - illustration = @illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "dharmic_gfx" } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_dharmic_02_mesh" - illustration = @illustration_india - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "dharmic_gfx" } - graphical_regions = { "graphical_mena" } - } - ### ORTHODOX ### - asset = { - type = pdxmesh - name = "building_western_temple_orthodox_02_mesh" - illustration = @illustration_orthodox - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "orthodox_gfx" } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_orthodox_02_mesh" - illustration = @illustration_orthodox - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "orthodox_gfx" } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_orthodox_02_mesh" - illustration = @illustration_orthodox - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "orthodox_gfx" } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_orthodox_02_mesh" - illustration = @illustration_orthodox - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "orthodox_gfx" } - graphical_regions = { "graphical_mena" } - } + ### SOUTHEAST ASIA ### + asset = { + type = pdxmesh + name = "tgp_building_se_asia_temple_04_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/sea_temple" soundparameter = { "Tier" = 3 } } + graphical_faiths = { "dharmic_gfx" } + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } - ### CATHOLIC ### - asset = { - type = pdxmesh - name = "building_western_temple_christian_02_mesh" - illustration = @illustration_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "catholic_gfx" } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_christian_02_mesh" - illustration = @illustration_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "catholic_gfx" } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_christian_02_mesh" - illustration = @illustration_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "catholic_gfx" } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_christian_02_mesh" - illustration = @illustration_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "catholic_gfx" } - graphical_regions = { "graphical_mena" } - } + ### DHARMIC ### + asset = { + type = pdxmesh + name = "building_western_temple_dharmic_02_mesh" + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "dharmic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_dharmic_02_mesh" + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "dharmic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_dharmic_02_mesh" + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "dharmic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_dharmic_02_mesh" + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "dharmic_gfx" } + graphical_regions = { "graphical_mena" } + } - ### ISLAMIC ### - asset = { - type = pdxmesh - name = "building_western_temple_islamic_02_mesh" - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "islamic_gfx" } - } - asset = { - type = pdxmesh - name = "building_mediterranean_temple_islamic_02_mesh" - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "islamic_gfx" } - graphical_regions = { "graphical_mediterranean" } - } - asset = { - type = pdxmesh - name = "building_indian_temple_islamic_02_mesh" - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "islamic_gfx" } - graphical_regions = { "graphical_india" } - } - asset = { - type = pdxmesh - name = "building_mena_temple_islamic_02_mesh" - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "islamic_gfx" } - graphical_regions = { "graphical_mena" } - } - # FP2 Catholic variant for Iberia - asset = { - type = pdxmesh - name = "fp2_building_iberian_christian_02_mesh" - requires_dlc_flag = the_fate_of_iberia - illustration = @illustration_iberian_christian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "catholic_gfx" } - graphical_cultures = { iberian_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### ORTHODOX ### + asset = { + type = pdxmesh + name = "building_western_temple_orthodox_02_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "orthodox_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_orthodox_02_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_orthodox_02_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_orthodox_02_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_mena" } + } - # FP2 Islamic variant for Iberia - asset = { - type = pdxmesh - name = "fp2_building_iberian_mosque_02_mesh" - requires_dlc_flag = the_fate_of_iberia - illustration = @illustration_iberian_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "islamic_gfx" } - graphical_cultures = { iberian_building_gfx } - graphical_regions = { graphical_mediterranean } - } + ### CATHOLIC ### + asset = { + type = pdxmesh + name = "building_western_temple_christian_02_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_christian_02_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_christian_02_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_christian_02_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_mena" } + } - # FP3 Zoroastrian - asset = { - type = pdxmesh - name = "building_mena_temple_islamic_02_mesh" - requires_dlc_flag = legacy_of_persia - illustration = @illustration_islamic - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } - graphical_faiths = { "islamic_gfx" } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } - asset = { - type = entity - name = "fp3_building_persian_temple_02_a_01_entity" - requires_dlc_flag = legacy_of_persia - illustration = @illustration_iranian_zoroastrian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } ##todo_cd_polish fix - graphical_faiths = { "zoroastrian_gfx" } - graphical_cultures = { iranian_building_gfx } - graphical_regions = { graphical_mena } - } + ### ISLAMIC ### + asset = { + type = pdxmesh + name = "building_western_temple_islamic_02_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_islamic_02_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_islamic_02_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_islamic_02_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_mena" } + } + # FP2 Catholic variant for Iberia + asset = { + type = pdxmesh + name = "fp2_building_iberian_christian_02_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @illustration_iberian_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } - # MPO Tengri - asset = { - type = entity - name = "mpo_mongol_temple_01_entity" - illustration = @illustration_tengri - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } - graphical_faiths = { "tengrism_gfx" } - } + # FP2 Islamic variant for Iberia + asset = { + type = pdxmesh + name = "fp2_building_iberian_mosque_02_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @illustration_iberian_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + # FP3 Zoroastrian + asset = { + type = pdxmesh + name = "building_mena_temple_islamic_02_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = entity + name = "fp3_building_persian_temple_02_a_01_entity" + requires_dlc_flag = legacy_of_persia + illustration = @illustration_iranian_zoroastrian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "zoroastrian_gfx" } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + + # MPO Tengri + asset = { + type = entity + name = "mpo_mongol_temple_01_entity" + illustration = @illustration_tengri + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "tengrism_gfx" } + } + # TGP Asian Pagan + asset = { + type = pdxmesh + name = "tgp_building_se_asia_pagan_temple_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_india + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/sea_pagan_temple" soundparameter = { "Tier" = 3 } } + graphical_faiths = { pagan_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_pagoda_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_chinese + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/chinese_temple" soundparameter = { "Tier" = 3 } } + graphical_faiths = { dharmic_gfx } + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_temple_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_chinese + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/chinese_temple" soundparameter = { "Tier" = 3 } } + + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan Buddhist + asset = { + type = pdxmesh + name = "tgp_building_japanese_pagoda_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_chinese + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/japanese_temple" soundparameter = { "Tier" = 3 } } + graphical_faiths = { dharmic_gfx } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan Shinto + asset = { + type = pdxmesh + name = "tgp_building_japanese_temple_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_shinto + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/japanese_temple" soundparameter = { "Tier" = 3 } } + graphical_faiths = { shinto_gfx } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } can_construct_potential = { building_requirement_tribal = no @@ -1517,6 +1823,7 @@ temple_04 = { } } } + can_construct_showing_failures_only = { NOT = { scope:holder = { has_character_modifier = tgp_rebuilder_modifier } } } cost_gold = main_building_tier_4_cost levy = poor_building_levy_tier_7 @@ -1547,6 +1854,11 @@ temple_04 = { defender_holding_advantage = 5 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.05 + } + flag = temple on_complete = { @@ -1576,16 +1888,14 @@ temple_04 = { if = { limit = { any_vassal = { - has_vassal_stance = parochial + vassal_stance = parochial } save_temporary_scope_as = holder_scope } custom_tooltip = parochial_vassal_approves_holding_upgrade hidden_effect = { every_vassal = { - limit = { - has_vassal_stance = parochial - } + vassal_stance = parochial add_opinion = { target = prev modifier = parochial_approves_holding_upgrade_opinion @@ -1596,7 +1906,7 @@ temple_04 = { if = { limit = { any_vassal = { - has_vassal_stance = zealot + vassal_stance = zealot } save_temporary_scope_as = holder_scope } @@ -1604,9 +1914,7 @@ temple_04 = { hidden_effect = { every_vassal = { - limit = { - has_vassal_stance = zealot - } + vassal_stance = zealot add_opinion = { target = prev modifier = zealot_approves_temple_upgrade_opinion @@ -1615,6 +1923,12 @@ temple_04 = { } } } + scope:character = { + if = { + limit = { government_has_flag = government_is_mandala } + mandala_upgraded_temple_holding_effect = yes + } + } } ai_value = { @@ -1644,7 +1958,7 @@ scriptorium_01 = { can_construct_potential = { has_building_or_higher = temple_01 - scope:holder = { has_dlc_feature = legends } + has_dlc_feature = legends } can_construct_showing_failures_only = { @@ -1665,6 +1979,21 @@ scriptorium_01 = { monthly_county_control_growth_add = 0.1 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.01 + } + county_culture_modifier = { + parameter = block_printing_scriptorium_bonuses + monthly_county_control_growth_add = innovation_block_printing_control_growth_value_1 + development_growth = innovation_block_printing_development_growth_value_1 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = scriptorium_02 type_icon = "icon_building_library.dds" @@ -1672,6 +2001,7 @@ scriptorium_01 = { ai_value = { base = 10 ai_tier_1_building_modifier = yes + ai_tier_1_pious_building_preference_modifier = yes modifier = { add = 250 scope:holder = { @@ -1717,7 +2047,7 @@ scriptorium_02 = { culture = { has_innovation = innovation_city_planning } - scope:holder = { has_dlc_feature = legends } + has_dlc_feature = legends } can_construct_showing_failures_only = { @@ -1730,6 +2060,11 @@ scriptorium_02 = { owned_legend_spread_mult = 0.1 legitimacy_gain_mult = 0.02 } + county_culture_modifier = { + parameter = block_printing_scriptorium_bonuses + monthly_county_control_growth_add = innovation_block_printing_control_growth_value_1 + development_growth = innovation_block_printing_development_growth_value_1 + } character_modifier = { monthly_piety = 0.2 @@ -1738,11 +2073,22 @@ scriptorium_02 = { monthly_county_control_growth_add = 0.2 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.01 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = scriptorium_03 ai_value = { base = 9 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -1758,7 +2104,7 @@ scriptorium_03 = { culture = { has_innovation = innovation_manorialism } - scope:holder = { has_dlc_feature = legends } + has_dlc_feature = legends } can_construct_showing_failures_only = { @@ -1771,6 +2117,11 @@ scriptorium_03 = { owned_legend_spread_mult = 0.15 legitimacy_gain_mult = 0.03 } + county_culture_modifier = { + parameter = block_printing_scriptorium_bonuses + monthly_county_control_growth_add = innovation_block_printing_control_growth_value_2 + development_growth = innovation_block_printing_development_growth_value_2 + } character_modifier = { monthly_piety = 0.3 @@ -1779,11 +2130,22 @@ scriptorium_03 = { monthly_county_control_growth_add = 0.3 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.02 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = scriptorium_04 ai_value = { base = 8 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -1799,7 +2161,7 @@ scriptorium_04 = { culture = { has_innovation = innovation_manorialism } - scope:holder = { has_dlc_feature = legends } + has_dlc_feature = legends } can_construct_showing_failures_only = { @@ -1812,6 +2174,11 @@ scriptorium_04 = { owned_legend_spread_mult = 0.2 legitimacy_gain_mult = 0.04 } + county_culture_modifier = { + parameter = block_printing_scriptorium_bonuses + monthly_county_control_growth_add = innovation_block_printing_control_growth_value_2 + development_growth = innovation_block_printing_development_growth_value_2 + } character_modifier = { monthly_piety = 0.4 @@ -1820,11 +2187,22 @@ scriptorium_04 = { monthly_county_control_growth_add = 0.4 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.02 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = scriptorium_05 ai_value = { base = 7 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -1840,7 +2218,7 @@ scriptorium_05 = { culture = { has_innovation = innovation_windmills } - scope:holder = { has_dlc_feature = legends } + has_dlc_feature = legends } can_construct_showing_failures_only = { @@ -1853,6 +2231,11 @@ scriptorium_05 = { owned_legend_spread_mult = 0.25 legitimacy_gain_mult = 0.05 } + county_culture_modifier = { + parameter = block_printing_scriptorium_bonuses + monthly_county_control_growth_add = innovation_block_printing_control_growth_value_3 + development_growth = innovation_block_printing_development_growth_value_3 + } character_modifier = { monthly_piety = 0.5 @@ -1861,11 +2244,22 @@ scriptorium_05 = { monthly_county_control_growth_add = 0.5 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.03 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = scriptorium_06 ai_value = { base = 7 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -1881,7 +2275,7 @@ scriptorium_06 = { culture = { has_innovation = innovation_windmills } - scope:holder = { has_dlc_feature = legends } + has_dlc_feature = legends } can_construct_showing_failures_only = { @@ -1901,12 +2295,27 @@ scriptorium_06 = { county_modifier = { monthly_county_control_growth_add = 0.6 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.03 + } + county_culture_modifier = { + parameter = block_printing_scriptorium_bonuses + monthly_county_control_growth_add = innovation_block_printing_control_growth_value_3 + development_growth = innovation_block_printing_development_growth_value_3 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } next_building = scriptorium_07 ai_value = { base = 7 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -1922,7 +2331,7 @@ scriptorium_07 = { culture = { has_innovation = innovation_cranes } - scope:holder = { has_dlc_feature = legends } + has_dlc_feature = legends } can_construct_showing_failures_only = { @@ -1943,11 +2352,27 @@ scriptorium_07 = { monthly_county_control_growth_add = 0.7 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.04 + } + county_culture_modifier = { + parameter = block_printing_scriptorium_bonuses + monthly_county_control_growth_add = innovation_block_printing_control_growth_value_4 + development_growth = innovation_block_printing_development_growth_value_4 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = scriptorium_08 ai_value = { base = 7 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -1963,7 +2388,7 @@ scriptorium_08 = { culture = { has_innovation = innovation_cranes } - scope:holder = { has_dlc_feature = legends } + has_dlc_feature = legends } can_construct_showing_failures_only = { @@ -1984,10 +2409,26 @@ scriptorium_08 = { monthly_county_control_growth_add = 0.8 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.04 + } + county_culture_modifier = { + parameter = block_printing_scriptorium_bonuses + monthly_county_control_growth_add = innovation_block_printing_control_growth_value_4 + development_growth = innovation_block_printing_development_growth_value_4 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + ai_value = { base = 7 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -2001,7 +2442,10 @@ monastic_schools_01 = { construction_time = standard_construction_time can_construct_potential = { - has_building_or_higher = temple_01 + OR = { + has_building_or_higher = temple_01 + scope:holder.faith = { has_doctrine_parameter = monastic_schools_allowed_in_every_holding_type } + } } can_construct_showing_failures_only = { @@ -2031,6 +2475,16 @@ monastic_schools_01 = { prowess = 1 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.01 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = monastic_schools_02 type_icon = "icon_building_monastic_schools.dds" @@ -2038,6 +2492,7 @@ monastic_schools_01 = { ai_value = { base = 10 ai_tier_1_building_modifier = yes + ai_tier_1_pious_building_preference_modifier = yes directive_to_build_economy_modifier = yes modifier = { add = 500 @@ -2045,6 +2500,7 @@ monastic_schools_01 = { OR = { highest_held_title_tier = tier_barony government_has_flag = government_is_theocracy + government_has_flag = government_is_mandala is_theocratic_lessee = yes } } @@ -2098,12 +2554,23 @@ monastic_schools_02 = { martial = 1 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.01 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = monastic_schools_03 ai_value = { base = 9 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes directive_to_build_economy_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -2168,12 +2635,23 @@ monastic_schools_03 = { martial = 1 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.02 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = monastic_schools_04 ai_value = { base = 8 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes directive_to_build_economy_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -2238,12 +2716,23 @@ monastic_schools_04 = { martial = 2 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.02 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = monastic_schools_05 ai_value = { base = 7 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes directive_to_build_economy_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -2308,12 +2797,23 @@ monastic_schools_05 = { martial = 2 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.03 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = monastic_schools_06 ai_value = { base = 6 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes directive_to_build_economy_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -2378,12 +2878,23 @@ monastic_schools_06 = { martial = 3 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.03 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = monastic_schools_07 ai_value = { base = 5 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes directive_to_build_economy_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -2448,12 +2959,23 @@ monastic_schools_07 = { martial = 3 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.04 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + next_building = monastic_schools_08 ai_value = { base = 4 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes directive_to_build_economy_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -2518,11 +3040,22 @@ monastic_schools_08 = { martial = 4 } + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.04 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + ai_value = { base = 3 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes directive_to_build_economy_modifier = yes + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -2564,7 +3097,15 @@ megalith_01 = { development_growth_factor = 0.02 county_opinion_add = 2 } - province_modifier = { + + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.01 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes } next_building = megalith_02 @@ -2574,6 +3115,7 @@ megalith_01 = { ai_value = { base = 10 ai_tier_1_building_modifier = yes + ai_tier_1_pious_building_preference_modifier = yes directive_to_build_economy_modifier = yes modifier = { add = 500 @@ -2581,6 +3123,7 @@ megalith_01 = { OR = { highest_held_title_tier = tier_barony government_has_flag = government_is_theocracy + government_has_flag = government_is_mandala is_theocratic_lessee = yes } } @@ -2622,13 +3165,22 @@ megalith_02 = { development_growth_factor = 0.05 county_opinion_add = 2 } - province_modifier = { + + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.01 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes } next_building = megalith_03 ai_value = { base = 9 directive_to_build_economy_modifier = yes + ai_pious_building_preference_modifier = yes } } @@ -2665,13 +3217,22 @@ megalith_03 = { development_growth_factor = 0.1 county_opinion_add = 4 } - province_modifier = { + + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.02 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes } next_building = megalith_04 ai_value = { base = 8 directive_to_build_economy_modifier = yes + ai_pious_building_preference_modifier = yes } } @@ -2709,13 +3270,22 @@ megalith_04 = { county_opinion_add = 4 development_growth = 0.025 } - province_modifier = { + + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.02 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes } next_building = megalith_05 ai_value = { base = 7 directive_to_build_economy_modifier = yes + ai_pious_building_preference_modifier = yes } } @@ -2754,13 +3324,22 @@ megalith_05 = { county_opinion_add = 6 development_growth = 0.025 } - province_modifier = { + + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.03 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes } next_building = megalith_06 ai_value = { base = 6 directive_to_build_economy_modifier = yes + ai_pious_building_preference_modifier = yes } } @@ -2799,13 +3378,22 @@ megalith_06 = { county_opinion_add = 6 development_growth = 0.05 } - province_modifier = { + + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.03 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes } next_building = megalith_07 ai_value = { base = 5 directive_to_build_economy_modifier = yes + ai_pious_building_preference_modifier = yes } } @@ -2844,13 +3432,22 @@ megalith_07 = { county_opinion_add = 8 development_growth = 0.05 } - province_modifier = { + + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.04 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes } next_building = megalith_08 ai_value = { base = 4 directive_to_build_economy_modifier = yes + ai_pious_building_preference_modifier = yes } } @@ -2889,12 +3486,21 @@ megalith_08 = { county_opinion_add = 8 development_growth = 0.075 } - province_modifier = { + + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.04 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes } ai_value = { base = 3 directive_to_build_economy_modifier = yes + ai_pious_building_preference_modifier = yes } } diff --git a/N3OW/common/buildings/00_tribal_buildings.txt b/N3OW/common/buildings/00_tribal_buildings.txt index ac59357e..8bc764bf 100644 --- a/N3OW/common/buildings/00_tribal_buildings.txt +++ b/N3OW/common/buildings/00_tribal_buildings.txt @@ -1,64 +1,77 @@ @holding_illustration_arid = "gfx/interface/illustrations/holding_types/tribe_arid.dds" @holding_illustration_grass = "gfx/interface/illustrations/holding_types/tribe_grass.dds" +@holding_illustration_seasia = "gfx/interface/illustrations/holding_types/tgp_temple_pagan_se_asia.dds" # Tribal Hold tribe_01 = { construction_time = slow_construction_time - asset = { - type = pdxmesh - names = { - building_western_tribal_01_a_mesh + #Meshes (Indented for readability) + ### GENERIC ### + asset = { + type = pdxmesh + names = { + building_western_tribal_01_a_mesh + } + illustration = @holding_illustration_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } } - illustration = @holding_illustration_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } - } - asset = { - type = pdxmesh - names = { - "building_mena_tribal_01_a_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_tribal_01_a_mesh" + } + graphical_cultures = { arabic_group_building_gfx berber_group_building_gfx } + illustration = @holding_illustration_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } } - graphical_cultures = { arabic_group_building_gfx berber_group_building_gfx } - illustration = @holding_illustration_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } - } - asset = { - type = pdxmesh - names = { - "building_steppe_tribal_01_a_mesh" + asset = { + type = pdxmesh + names = { + "building_steppe_tribal_01_a_mesh" + } + graphical_cultures = { steppe_building_gfx } + illustration = @holding_illustration_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } } - graphical_cultures = { steppe_building_gfx } - illustration = @holding_illustration_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } - } - asset = { - type = pdxmesh - names = { - "building_india_tribal_01_a_mesh" + asset = { + type = pdxmesh + names = { + "building_india_tribal_01_a_mesh" + } + graphical_cultures = { indian_building_gfx } + illustration = @holding_illustration_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } } - graphical_cultures = { indian_building_gfx } - illustration = @holding_illustration_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } - } - asset = { - type = pdxmesh - names = { - "building_african_tribal_01_a_mesh" + asset = { + type = pdxmesh + names = { + "building_african_tribal_01_a_mesh" + } + graphical_cultures = { african_building_gfx } + illustration = @holding_illustration_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } } - graphical_cultures = { african_building_gfx } - illustration = @holding_illustration_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } - } - asset = { - type = pdxmesh - names = { - "fp1_building_norse_tribal_mesh" + asset = { + type = pdxmesh + names = { + "fp1_building_norse_tribal_mesh" + } + requires_dlc_flag = the_northern_lords + graphical_cultures = { norse_building_gfx } + illustration = @holding_illustration_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } + } + # TGP Southeast Asia + asset = { + type = pdxmesh + names = { + "tgp_building_se_asia_tribal_01_mesh" + } + graphical_cultures = { southeast_asian_building_gfx } + illustration = @holding_illustration_seasia + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } } - requires_dlc_flag = the_northern_lords - graphical_cultures = { norse_building_gfx } - illustration = @holding_illustration_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } - } is_enabled = { building_requirement_tribal = yes @@ -75,11 +88,22 @@ tribe_01 = { max_garrison = good_building_max_garrison_tier_1 garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_1 province_modifier = { - monthly_income = poor_building_tax_tier_1 fort_level = 1 stationed_maa_damage_mult = normal_maa_damage_tier_2 stationed_maa_toughness_mult = normal_maa_toughness_tier_2 } + + province_government_modifier = { + parameter = government_is_tribal_excluding_wanua + monthly_income = poor_building_tax_tier_1 + } + + province_government_modifier = { + parameter = government_is_wanua + monthly_income = poor_building_tax_halved_tier_1 + monthly_barter_goods = 1 + building_slot_add = 2 + } province_terrain_modifier = { parameter = tribal_holding_fort_level_in_jungle_bonus @@ -98,6 +122,12 @@ tribe_01 = { stationed_maa_damage_mult = normal_maa_damage_tier_1 stationed_maa_toughness_mult = normal_maa_toughness_tier_1 } + + province_terrain_modifier = { + parameter = coastal_tribe_bonuses + is_coastal = yes + stationed_maa_damage_mult = normal_maa_damage_tier_1 + } character_modifier = { county_fertility_growth_mult = 0.35 @@ -116,60 +146,72 @@ tribe_01 = { tribe_02 = { construction_time = slow_construction_time - asset = { - type = pdxmesh - names = { - building_western_tribal_01_a_mesh + #Meshes (Indented for readability) + ### GENERIC ### + asset = { + type = pdxmesh + names = { + building_western_tribal_01_a_mesh + } + illustration = @holding_illustration_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } } - illustration = @holding_illustration_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } - } - asset = { - type = pdxmesh - names = { - "building_mena_tribal_01_a_mesh" + asset = { + type = pdxmesh + names = { + "building_mena_tribal_01_a_mesh" + } + graphical_cultures = { arabic_group_building_gfx berber_group_building_gfx } + illustration = @holding_illustration_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } } - graphical_cultures = { arabic_group_building_gfx berber_group_building_gfx } - illustration = @holding_illustration_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } - } - asset = { - type = pdxmesh - names = { - "building_steppe_tribal_01_a_mesh" + asset = { + type = pdxmesh + names = { + "building_steppe_tribal_01_a_mesh" + } + graphical_cultures = { steppe_building_gfx } + illustration = @holding_illustration_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } } - graphical_cultures = { steppe_building_gfx } - illustration = @holding_illustration_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } - } - asset = { - type = pdxmesh - names = { - "building_india_tribal_01_a_mesh" + asset = { + type = pdxmesh + names = { + "building_india_tribal_01_a_mesh" + } + graphical_cultures = { indian_building_gfx } + illustration = @holding_illustration_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } } - graphical_cultures = { indian_building_gfx } - illustration = @holding_illustration_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } - } - asset = { - type = pdxmesh - names = { - "building_african_tribal_01_a_mesh" + asset = { + type = pdxmesh + names = { + "building_african_tribal_01_a_mesh" + } + graphical_cultures = { african_building_gfx } + illustration = @holding_illustration_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } } - graphical_cultures = { african_building_gfx } - illustration = @holding_illustration_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } - } - asset = { - type = pdxmesh - names = { - "fp1_building_norse_tribal_mesh" + asset = { + type = pdxmesh + names = { + "fp1_building_norse_tribal_mesh" + } + requires_dlc_flag = the_northern_lords + graphical_cultures = { norse_building_gfx } + illustration = @holding_illustration_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } + } + # TGP Southeast Asia + asset = { + type = pdxmesh + names = { + "tgp_building_se_asia_tribal_01_mesh" + } + graphical_cultures = { southeast_asian_building_gfx } + illustration = @holding_illustration_seasia + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } } - requires_dlc_flag = the_northern_lords - graphical_cultures = { norse_building_gfx } - illustration = @holding_illustration_grass - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/tribal_city" soundparameter = { "Tier" = 0 } } - } is_enabled = { building_requirement_tribal = yes @@ -192,11 +234,22 @@ tribe_02 = { max_garrison = good_building_max_garrison_tier_2 garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_2 province_modifier = { - monthly_income = poor_building_tax_tier_3 fort_level = 2 stationed_maa_damage_mult = normal_maa_damage_tier_4 stationed_maa_toughness_mult = normal_maa_toughness_tier_4 } + + province_government_modifier = { + parameter = government_is_tribal_excluding_wanua + monthly_income = poor_building_tax_tier_3 + } + + province_government_modifier = { + parameter = government_is_wanua + monthly_income = poor_building_tax_halved_tier_3 + monthly_barter_goods = 2 + building_slot_add = 2 + } province_terrain_modifier = { parameter = tribal_holding_fort_level_in_jungle_bonus @@ -215,6 +268,12 @@ tribe_02 = { stationed_maa_damage_mult = normal_maa_damage_tier_2 stationed_maa_toughness_mult = normal_maa_toughness_tier_2 } + + province_terrain_modifier = { + parameter = coastal_tribe_bonuses + is_coastal = yes + stationed_maa_damage_mult = normal_maa_damage_tier_2 + } character_modifier = { county_fertility_growth_mult = 0.35 @@ -234,6 +293,7 @@ longhouses_01 = { } can_construct_potential = { has_building_or_higher = tribe_01 + scope:holder = { NOT = { government_has_flag = government_is_wanua } } } cost_prestige = expensive_building_tier_1_cost @@ -268,6 +328,7 @@ longhouses_02 = { } can_construct_potential = { has_building_or_higher = tribe_01 + scope:holder = { NOT = { government_has_flag = government_is_wanua } } } can_construct_showing_failures_only = { OR = { @@ -307,6 +368,7 @@ war_camps_01 = { } can_construct_potential = { has_building_or_higher = tribe_01 + scope:holder = { NOT = { government_has_flag = government_is_wanua } } } cost_prestige = expensive_building_tier_1_cost @@ -327,6 +389,12 @@ war_camps_01 = { stationed_archer_cavalry_damage_mult = high_maa_damage_tier_1 stationed_archer_cavalry_toughness_mult = normal_maa_toughness_tier_1 } + + province_terrain_modifier = { + parameter = coastal_tribe_bonuses + is_coastal = yes + stationed_maa_toughness_mult = normal_maa_toughness_tier_1 + } next_building = war_camps_02 @@ -348,6 +416,7 @@ war_camps_02 = { } can_construct_potential = { has_building_or_higher = tribe_01 + scope:holder = { NOT = { government_has_flag = government_is_wanua } } } can_construct_showing_failures_only = { OR = { @@ -377,6 +446,12 @@ war_camps_02 = { stationed_archer_cavalry_toughness_mult = normal_maa_toughness_tier_2 } + province_terrain_modifier = { + parameter = coastal_tribe_bonuses + is_coastal = yes + stationed_maa_toughness_mult = normal_maa_toughness_tier_2 + } + character_culture_modifier = { parameter = strength_in_numbers_maa_limit_bonus men_at_arms_limit = 1 @@ -398,6 +473,7 @@ palisades_01 = { } can_construct_potential = { has_building_or_higher = tribe_01 + scope:holder = { NOT = { government_has_flag = government_is_wanua } } } cost_prestige = expensive_building_tier_1_cost @@ -416,6 +492,7 @@ palisades_01 = { stationed_pikemen_damage_mult = high_maa_damage_tier_1 stationed_pikemen_toughness_mult = normal_maa_toughness_tier_1 } + next_building = palisades_02 @@ -436,6 +513,7 @@ palisades_02 = { } can_construct_potential = { has_building_or_higher = tribe_01 + scope:holder = { NOT = { government_has_flag = government_is_wanua } } } can_construct_showing_failures_only = { OR = { @@ -479,6 +557,7 @@ market_villages_01 = { } can_construct_potential = { has_building_or_higher = tribe_01 + scope:holder = { NOT = { government_has_flag = government_is_wanua } } } cost_prestige = expensive_building_tier_1_cost @@ -488,6 +567,12 @@ market_villages_01 = { monthly_income = poor_building_tax_tier_2 supply_limit = 500 } + + province_terrain_modifier = { + parameter = coastal_tribe_bonuses + is_coastal = yes + levy_size = 0.02 + } next_building = market_villages_02 @@ -508,6 +593,7 @@ market_villages_02 = { } can_construct_potential = { has_building_or_higher = tribe_01 + scope:holder = { NOT = { government_has_flag = government_is_wanua } } } can_construct_showing_failures_only = { OR = { @@ -517,6 +603,11 @@ market_villages_02 = { } } } + province_terrain_modifier = { + parameter = coastal_tribe_bonuses + is_coastal = yes + levy_size = 0.03 + } cost_prestige = expensive_building_tier_2_cost cost_gold = tribal_building_tier_2_cost @@ -531,3 +622,889 @@ market_villages_02 = { directive_to_build_economy_modifier = yes } } + +# Wanua buildings + +# Idjang Forts + +idjang_forts_01 = { + construction_time = standard_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_1_cost + + levy = normal_building_levy_tier_1 + max_garrison = normal_building_max_garrison_tier_1 + province_modifier = { + defender_holding_advantage = normal_building_advantage_tier_1 + fort_level = normal_building_fort_level_tier_1 + } + + province_modifier = { + monthly_barter_goods = 0.15 + monthly_barter_goods_mult = 0.1 + hostile_raid_time = 0.25 + stationed_archers_toughness_mult = normal_maa_toughness_tier_1 + stationed_pikemen_toughness_mult = normal_maa_toughness_tier_1 + } + + next_building = idjang_forts_02 + + type_icon = "icon_structure_idjang_forts.dds" + + ai_value = { + base = 1 + ai_tier_1_building_modifier = yes + directive_to_fortify_modifier = yes + } +} + +idjang_forts_02 = { + construction_time = standard_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_2_cost + + levy = normal_building_levy_tier_2 + max_garrison = normal_building_max_garrison_tier_2 + province_modifier = { + defender_holding_advantage = normal_building_advantage_tier_2 + fort_level = normal_building_fort_level_tier_2 + } + + province_modifier = { + monthly_barter_goods = 0.3 + monthly_barter_goods_mult = 0.2 + hostile_raid_time = 0.5 + stationed_archers_toughness_mult = normal_maa_toughness_tier_2 + stationed_pikemen_toughness_mult = normal_maa_toughness_tier_2 + } + + next_building = idjang_forts_03 + + ai_value = { + base = 1 + directive_to_fortify_modifier = yes + } +} + +idjang_forts_03 = { + construction_time = standard_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_3_cost + + levy = normal_building_levy_tier_3 + max_garrison = normal_building_max_garrison_tier_3 + province_modifier = { + defender_holding_advantage = normal_building_advantage_tier_3 + fort_level = normal_building_fort_level_tier_3 + } + + province_modifier = { + monthly_barter_goods = 0.4 + monthly_barter_goods_mult = 0.3 + hostile_raid_time = 0.75 + stationed_archers_toughness_mult = normal_maa_toughness_tier_3 + stationed_pikemen_toughness_mult = normal_maa_toughness_tier_3 + } + character_government_modifier = { + parameter = government_is_wanua + domain_limit_max = 1 + } + + next_building = idjang_forts_04 + + ai_value = { + base = 1 + directive_to_fortify_modifier = yes + } +} + +idjang_forts_04 = { + construction_time = standard_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_4_cost + + levy = normal_building_levy_tier_4 + max_garrison = normal_building_max_garrison_tier_4 + province_modifier = { + defender_holding_advantage = normal_building_advantage_tier_4 + fort_level = normal_building_fort_level_tier_4 + } + + province_modifier = { + monthly_barter_goods = 0.5 + monthly_barter_goods_mult = 0.4 + hostile_raid_time = 1 + stationed_archers_toughness_mult = normal_maa_toughness_tier_4 + stationed_pikemen_toughness_mult = normal_maa_toughness_tier_4 + } + character_government_modifier = { + parameter = government_is_wanua + domain_limit_max = 1 + } + + ai_value = { + base = 1 + directive_to_fortify_modifier = yes + } +} + +# Wantilan + +wantilan_01 = { + construction_time = slow_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_1_cost + + levy = small_building_levy_tier_1 + + character_modifier = { + monthly_prestige = 0.1 + knight_effectiveness_mult = 0.05 + monthly_barter_goods_mult = 0.02 + } + county_modifier = { + monthly_county_control_growth_add = 0.1 + county_opinion_add = 3 + } + province_modifier = { + monthly_barter_goods = 0.15 + stationed_archers_damage_mult = normal_maa_damage_tier_1 + stationed_archers_toughness_mult = normal_maa_toughness_tier_1 + } + + next_building = wantilan_02 + + type_icon = "icon_structure_wantilan.dds" + + ai_value = { + base = 1 + ai_tier_1_building_modifier = yes + directive_to_build_military_modifier = yes + } +} + +wantilan_02 = { + construction_time = slow_construction_time + effect_desc = longhouses_effect_desc + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_2_cost + + levy = small_building_levy_tier_2 + + character_modifier = { + monthly_prestige = 0.2 + knight_effectiveness_mult = 0.1 + monthly_barter_goods_mult = 0.04 + } + county_modifier = { + monthly_county_control_growth_add = 0.2 + county_opinion_add = 6 + } + province_modifier = { + monthly_barter_goods = 0.3 + stationed_archers_damage_mult = normal_maa_damage_tier_2 + stationed_archers_toughness_mult = normal_maa_toughness_tier_2 + } + + next_building = wantilan_03 + + ai_value = { + base = 1 + directive_to_build_military_modifier = yes + } +} + +wantilan_03 = { + construction_time = slow_construction_time + effect_desc = longhouses_effect_desc + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_3_cost + + levy = small_building_levy_tier_3 + + character_modifier = { + monthly_prestige = 0.3 + knight_effectiveness_mult = 0.15 + monthly_barter_goods_mult = 0.06 + } + character_government_modifier = { + parameter = government_is_wanua + domain_limit_max = 1 + } + county_modifier = { + monthly_county_control_growth_add = 0.3 + county_opinion_add = 9 + } + province_modifier = { + monthly_barter_goods = 0.4 + stationed_archers_damage_mult = normal_maa_damage_tier_3 + stationed_archers_toughness_mult = normal_maa_toughness_tier_3 + } + + next_building = wantilan_04 + + ai_value = { + base = 1 + directive_to_build_military_modifier = yes + } +} + +wantilan_04 = { + construction_time = slow_construction_time + effect_desc = longhouses_effect_desc + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_4_cost + + levy = small_building_levy_tier_4 + + character_modifier = { + monthly_prestige = 0.4 + knight_effectiveness_mult = 0.2 + monthly_barter_goods_mult = 0.08 + } + character_government_modifier = { + parameter = government_is_wanua + domain_limit_max = 1 + } + county_modifier = { + monthly_county_control_growth_add = 0.4 + county_opinion_add = 12 + } + province_modifier = { + monthly_barter_goods = 0.5 + stationed_archers_damage_mult = normal_maa_damage_tier_4 + stationed_archers_toughness_mult = normal_maa_toughness_tier_4 + } + + ai_value = { + base = 1 + directive_to_build_military_modifier = yes + } +} + +# Kora-Kora Yards + +kora_kora_yards_01 = { + construction_time = slow_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + OR = { + is_coastal = yes + is_riverside_province = yes + } + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_1_cost + + levy = good_building_levy_tier_1 + + character_modifier = { + naval_movement_speed_mult = 0.1 + monthly_barter_goods_mult = 0.01 + raid_speed = 0.1 + } + + character_government_modifier = { + parameter = government_is_wanua + vassal_limit_max = 1 + } + + province_modifier = { + monthly_barter_goods = 0.25 + defender_holding_advantage = poor_building_advantage_tier_1 + stationed_skirmishers_damage_mult = high_maa_damage_tier_1 + stationed_skirmishers_toughness_mult = high_maa_toughness_tier_1 + stationed_archers_damage_mult = low_maa_damage_tier_1 + stationed_archers_toughness_mult = low_maa_toughness_tier_1 + } + + next_building = kora_kora_yards_02 + + type_icon = "icon_structure_kora_kora_yard.dds" + + ai_value = { + base = 1 + ai_tier_1_building_modifier = yes + directive_to_build_military_modifier = yes + } +} + +kora_kora_yards_02 = { + construction_time = slow_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_2_cost + + levy = good_building_levy_tier_2 + + character_modifier = { + naval_movement_speed_mult = 0.2 + monthly_barter_goods_mult = 0.02 + raid_speed = 0.2 + } + + character_government_modifier = { + parameter = government_is_wanua + vassal_limit_max = 1 + } + + province_modifier = { + monthly_barter_goods = 0.5 + defender_holding_advantage = poor_building_advantage_tier_2 + stationed_skirmishers_damage_mult = high_maa_damage_tier_2 + stationed_skirmishers_toughness_mult = high_maa_toughness_tier_2 + stationed_archers_damage_mult = low_maa_damage_tier_2 + stationed_archers_toughness_mult = low_maa_toughness_tier_2 + } + + next_building = kora_kora_yards_03 + + ai_value = { + base = 1 + directive_to_build_military_modifier = yes + } +} + +kora_kora_yards_03 = { + construction_time = slow_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_3_cost + + levy = good_building_levy_tier_3 + + character_modifier = { + naval_movement_speed_mult = 0.3 + monthly_barter_goods_mult = 0.03 + raid_speed = 0.3 + } + character_government_modifier = { + parameter = government_is_wanua + vassal_limit_max = 2 + } + province_modifier = { + monthly_barter_goods = 0.7 + defender_holding_advantage = poor_building_advantage_tier_3 + stationed_skirmishers_damage_mult = high_maa_damage_tier_3 + stationed_skirmishers_toughness_mult = high_maa_toughness_tier_3 + stationed_archers_damage_mult = low_maa_damage_tier_3 + stationed_archers_toughness_mult = low_maa_toughness_tier_3 + } + + next_building = kora_kora_yards_04 + + ai_value = { + base = 1 + directive_to_build_military_modifier = yes + } +} + +kora_kora_yards_04 = { + construction_time = slow_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_4_cost + + levy = good_building_levy_tier_4 + + character_modifier = { + naval_movement_speed_mult = 0.4 + monthly_barter_goods_mult = 0.04 + raid_speed = 0.4 + } + character_government_modifier = { + parameter = government_is_wanua + vassal_limit_max = 2 + } + province_modifier = { + monthly_barter_goods = 0.9 + defender_holding_advantage = poor_building_advantage_tier_4 + stationed_skirmishers_damage_mult = high_maa_damage_tier_4 + stationed_skirmishers_toughness_mult = high_maa_toughness_tier_4 + stationed_archers_damage_mult = low_maa_damage_tier_4 + stationed_archers_toughness_mult = low_maa_toughness_tier_4 + } + + ai_value = { + base = 1 + directive_to_build_military_modifier = yes + } +} + +# Water Temples + +water_temples_01 = { + construction_time = slow_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_1_cost + + levy = poor_building_levy_tier_1 + + character_modifier = { + monthly_piety = 0.15 + } + + character_government_modifier = { + parameter = government_is_wanua + vassal_limit_max = 1 + } + + county_modifier = { + supply_limit_mult = 0.2 + } + province_modifier = { + monthly_barter_goods = 0.2 + monthly_income = 0.1 + stationed_pikemen_damage_mult = normal_maa_damage_tier_1 + stationed_pikemen_toughness_mult = normal_maa_toughness_tier_1 + stationed_skirmishers_damage_mult = normal_maa_damage_tier_1 + stationed_skirmishers_toughness_mult = normal_maa_toughness_tier_1 + } + + next_building = water_temples_02 + + type_icon = "icon_structure_water_temples.dds" + + ai_value = { + base = 1 + ai_tier_1_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +water_temples_02 = { + construction_time = slow_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_2_cost + + levy = poor_building_levy_tier_2 + + character_modifier = { + monthly_piety = 0.3 + } + + character_government_modifier = { + parameter = government_is_wanua + vassal_limit_max = 1 + } + + county_modifier = { + supply_limit_mult = 0.4 + } + province_modifier = { + monthly_barter_goods = 0.4 + monthly_income = 0.2 + stationed_pikemen_damage_mult = normal_maa_damage_tier_2 + stationed_pikemen_toughness_mult = normal_maa_toughness_tier_2 + stationed_skirmishers_damage_mult = normal_maa_damage_tier_2 + stationed_skirmishers_toughness_mult = normal_maa_toughness_tier_2 + } + + next_building = water_temples_03 + + ai_value = { + base = 1 + directive_to_build_economy_modifier = yes + } +} + +water_temples_03 = { + construction_time = slow_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_3_cost + + levy = poor_building_levy_tier_3 + + character_modifier = { + monthly_piety = 0.45 + } + character_government_modifier = { + parameter = government_is_wanua + vassal_limit_max = 2 + } + county_modifier = { + supply_limit_mult = 0.6 + } + province_modifier = { + monthly_barter_goods = 0.55 + monthly_income = 0.3 + stationed_pikemen_damage_mult = normal_maa_damage_tier_3 + stationed_pikemen_toughness_mult = normal_maa_toughness_tier_3 + stationed_skirmishers_damage_mult = normal_maa_damage_tier_3 + stationed_skirmishers_toughness_mult = normal_maa_toughness_tier_3 + } + + next_building = water_temples_04 + + ai_value = { + base = 1 + directive_to_build_economy_modifier = yes + } +} + +water_temples_04 = { + construction_time = slow_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_4_cost + + levy = poor_building_levy_tier_4 + + character_modifier = { + monthly_piety = 0.6 + } + character_government_modifier = { + parameter = government_is_wanua + vassal_limit_max = 2 + } + county_modifier = { + supply_limit_mult = 0.8 + } + province_modifier = { + monthly_barter_goods = 0.7 + monthly_income = 0.4 + stationed_pikemen_damage_mult = normal_maa_damage_tier_4 + stationed_pikemen_toughness_mult = normal_maa_toughness_tier_4 + stationed_skirmishers_damage_mult = normal_maa_damage_tier_4 + stationed_skirmishers_toughness_mult = normal_maa_toughness_tier_4 + } + + ai_value = { + base = 1 + directive_to_build_economy_modifier = yes + } +} + +# Stilted Granaries + +stilted_granaries_01 = { + construction_time = quick_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_1_cost + + character_modifier = { + supply_capacity_mult = 0.1 + } + + character_government_modifier = { + parameter = government_is_wanua + vassal_limit_max = 1 + } + + county_modifier = { + epidemic_resistance = 5 + } + + province_modifier = { + monthly_barter_goods = 0.25 + monthly_income = 0.1 + supply_limit = 250 + levy_size = 0.1 + stationed_skirmishers_damage_mult = low_maa_damage_tier_1 + stationed_skirmishers_toughness_mult = low_maa_toughness_tier_1 + } + + next_building = stilted_granaries_02 + + type_icon = "icon_structure_stilted_granaries.dds" + + ai_value = { + base = 1 + ai_tier_1_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +stilted_granaries_02 = { + construction_time = quick_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_2_cost + + character_modifier = { + supply_capacity_mult = 0.2 + } + + character_government_modifier = { + parameter = government_is_wanua + vassal_limit_max = 1 + } + + county_modifier = { + epidemic_resistance = 10 + } + + province_modifier = { + monthly_barter_goods = 0.5 + monthly_income = 0.2 + supply_limit = 500 + levy_size = 0.2 + stationed_skirmishers_damage_mult = low_maa_damage_tier_2 + stationed_skirmishers_toughness_mult = low_maa_toughness_tier_2 + } + + next_building = stilted_granaries_03 + + ai_value = { + base = 1 + directive_to_build_economy_modifier = yes + } +} + +stilted_granaries_03 = { + construction_time = quick_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_2_cost + + character_modifier = { + supply_capacity_mult = 0.3 + } + character_government_modifier = { + parameter = government_is_wanua + vassal_limit_max = 2 + } + + county_modifier = { + epidemic_resistance = 15 + } + + province_modifier = { + monthly_barter_goods = 0.7 + monthly_income = 0.3 + supply_limit = 750 + levy_size = 0.3 + stationed_skirmishers_damage_mult = low_maa_damage_tier_3 + stationed_skirmishers_toughness_mult = low_maa_toughness_tier_3 + } + + next_building = stilted_granaries_04 + + ai_value = { + base = 1 + directive_to_build_economy_modifier = yes + } +} + +stilted_granaries_04 = { + construction_time = quick_construction_time + + is_enabled = { + building_requirement_wanua = yes + } + can_construct_potential = { + has_building_or_higher = tribe_01 + scope:holder ?= { + government_has_flag = government_is_wanua + } + } + + cost_gold = tribal_building_tier_4_cost + + character_modifier = { + supply_capacity_mult = 0.4 + } + character_government_modifier = { + parameter = government_is_wanua + vassal_limit_max = 2 + } + + county_modifier = { + epidemic_resistance = 20 + } + + province_modifier = { + monthly_barter_goods = 0.9 + monthly_income = 0.4 + supply_limit = 1000 + levy_size = 0.4 + stationed_skirmishers_damage_mult = low_maa_damage_tier_4 + stationed_skirmishers_toughness_mult = low_maa_toughness_tier_4 + } + + ai_value = { + base = 1 + directive_to_build_economy_modifier = yes + } +} diff --git a/N3OW/common/buildings/99_ach_buildings.txt b/N3OW/common/buildings/99_ach_buildings.txt new file mode 100644 index 00000000..db6e5980 --- /dev/null +++ b/N3OW/common/buildings/99_ach_buildings.txt @@ -0,0 +1,389 @@ +oath_warriors_building_01 = { + construction_time = standard_construction_time + + can_construct_potential = { + scope:holder = { + has_variable = provide_for_the_warriors_oath + } + } + + cost = { + gold = cheap_building_tier_1_cost + prestige = 125 + } + + character_modifier = { + knight_limit = 1 + knight_effectiveness_mult = 0.1 + } + province_modifier = { + stationed_maa_damage_mult = 0.1 + stationed_maa_toughness_mult = 0.05 + } + + next_building = oath_warriors_building_02 + + type_icon = "oath_warriors_building.dds" + + ai_value = { + base = 1000 + modifier = { + factor = 0 + scope:holder = { + any_directly_owned_province = { + count >= 3 + has_building_or_higher = oath_warriors_building_01 + } + } + } + } +} + +oath_warriors_building_02 = { + + cost = { + gold = cheap_building_tier_2_cost + prestige = 250 + } + construction_time = standard_construction_time + + character_modifier = { + knight_limit = 1 + knight_effectiveness_mult = 0.1 + men_at_arms_maintenance = -0.01 + } + + province_modifier = { + stationed_maa_damage_mult = 0.15 + stationed_maa_toughness_mult = 0.07 + } + + next_building = oath_warriors_building_03 + type_icon = "oath_warriors_building.dds" + + ai_value = { + base = 1000 + } +} + +oath_warriors_building_03 = { + + cost = { + gold = cheap_building_tier_3_cost + prestige = 375 + } + construction_time = standard_construction_time + + character_modifier = { + knight_limit = 1 + knight_effectiveness_mult = 0.1 + men_at_arms_maintenance = -0.03 + } + + province_modifier = { + stationed_maa_damage_mult = 0.2 + stationed_maa_toughness_mult = 0.1 + stationed_maa_siege_value_add = 0.1 + } + + type_icon = "oath_warriors_building.dds" + next_building = oath_warriors_building_04 + + ai_value = { + base = 100 + } +} + +oath_warriors_building_04 = { + + can_construct_showing_failures_only = { + custom_tooltip = { + text = oath_warriors_building_04_tooltip + has_province_modifier = oath_provide_for_the_warriors_province + } + } + + cost = { + gold = cheap_building_tier_4_cost + prestige = 500 + } + construction_time = standard_construction_time + + province_modifier = { + stationed_maa_damage_mult = 0.3 + stationed_maa_toughness_mult = 0.2 + stationed_maa_siege_value_add = 0.2 + } + + character_modifier = { + men_at_arms_maintenance = -0.05 + knight_limit = 1 + knight_effectiveness_mult = 0.15 + } + + type_icon = "oath_warriors_building.dds" + + ai_value = { + base = 100 + } +} + +oath_faithful_building_01 = { + + can_construct_potential = { + scope:holder = { + has_variable = provide_for_the_faithful_oath + } + } + + is_enabled = { + faith = scope:holder.faith + } + + can_construct_showing_failures_only = { + faith = scope:holder.faith + } + + cost = { + gold = cheap_building_tier_1_cost + piety = 100 + } + construction_time = standard_construction_time + + character_modifier = { + monthly_piety_gain_mult = 0.025 + } + + province_modifier ={ + monthly_income = poor_building_tax_tier_1 + } + + next_building = oath_faithful_building_02 + + type_icon = "oath_faithful_building.dds" + + ai_value = { + base = 1000 + modifier = { + factor = 0 + scope:holder = { + any_directly_owned_province = { + count >= 3 + has_building_or_higher = oath_faithful_building_01 + } + } + } + } +} + +oath_faithful_building_02 = { + + is_enabled = { + faith = scope:holder.faith + } + + can_construct_showing_failures_only = { + faith = scope:holder.faith + } + + cost = { + gold = cheap_building_tier_2_cost + piety = 200 + } + construction_time = standard_construction_time + + character_modifier = { + monthly_piety_gain_mult = 0.05 + } + + province_modifier ={ + monthly_income = poor_building_tax_tier_2 + epidemic_resistance = 4 + } + + next_building = oath_faithful_building_03 + + type_icon = "oath_faithful_building.dds" + + ai_value = { + base = 100 + } +} + +oath_faithful_building_03 = { + + is_enabled = { + faith = scope:holder.faith + } + + next_building = oath_faithful_building_04 + + can_construct_showing_failures_only = { + faith = scope:holder.faith + } + + cost = { + gold = cheap_building_tier_3_cost + piety = 300 + } + construction_time = standard_construction_time + + character_modifier = { + monthly_piety_gain_mult = 0.075 + } + + province_modifier = { + monthly_income = poor_building_tax_tier_3 + epidemic_resistance = 8 + } + + type_icon = "oath_faithful_building.dds" + + ai_value = { + base = 100 + } +} + +oath_faithful_building_04 = { + + is_enabled = { + faith = scope:holder.faith + } + + can_construct_showing_failures_only = { + faith = scope:holder.faith + custom_tooltip = { + text = oath_faithful_building_04_tooltip + has_province_modifier = oath_provide_for_the_faithful_province + } + } + + cost = { + gold = cheap_building_tier_4_cost + piety = 400 + } + construction_time = standard_construction_time + + character_modifier = { + monthly_piety_gain_mult = 0.1 + monthly_piety = 0.1 + clergy_opinion = 4 + } + + province_modifier = { + monthly_income = poor_building_tax_tier_4 + epidemic_resistance = 12 + } + + type_icon = "oath_faithful_building.dds" + + ai_value = { + base = 100 + } +} + +oath_poor_building_01 = { + + can_construct_potential = { + scope:holder = { + has_variable = provide_for_the_poor_oath + } + } + + cost = { + gold = cheap_building_tier_1_cost + prestige = 125 + } + construction_time = standard_construction_time + + county_modifier = { + tax_mult = -0.05 + development_growth = 0.05 + county_opinion_add = 10 + } + + next_building = oath_poor_building_02 + + type_icon = "oath_poor_building.dds" + + ai_value = { + base = 1000 + } +} + +oath_poor_building_02 = { + + cost = { + gold = cheap_building_tier_2_cost + prestige = 250 + } + construction_time = standard_construction_time + + county_modifier = { + tax_mult = -0.1 + development_growth_factor = 0.05 + development_growth = 0.1 + county_opinion_add = 15 + } + + next_building = oath_poor_building_03 + + type_icon = "oath_poor_building.dds" + + ai_value = { + base = 100 + } +} + +oath_poor_building_03 = { + + cost = { + gold = cheap_building_tier_3_cost + prestige = 375 + } + construction_time = standard_construction_time + + county_modifier = { + tax_mult = -0.2 + development_growth_factor = 0.15 + development_growth = 0.2 + county_opinion_add = 20 + } + + next_building = oath_poor_building_04 + + type_icon = "oath_poor_building.dds" + + ai_value = { + base = 100 + } +} + +oath_poor_building_04 = { + + can_construct_showing_failures_only = { + custom_tooltip = { + text = oath_poor_building_04_tooltip + has_province_modifier = oath_provide_for_the_poor_province + } + } + + cost = { + gold = cheap_building_tier_4_cost + prestige = 500 + } + construction_time = standard_construction_time + + county_modifier = { + tax_mult = -0.3 + development_growth_factor = 0.2 + development_growth = 0.3 + county_opinion_add = 30 + } + + type_icon = "oath_poor_building.dds" + + ai_value = { + base = 100 + } +} diff --git a/N3OW/common/buildings/99_background_graphics_buildings.txt b/N3OW/common/buildings/99_background_graphics_buildings.txt index b70033de..7e1a0c26 100644 --- a/N3OW/common/buildings/99_background_graphics_buildings.txt +++ b/N3OW/common/buildings/99_background_graphics_buildings.txt @@ -51,6 +51,7 @@ walls_01_tribal = { has_building_or_higher = "hill_forts_01" has_building_or_higher = "ramparts_01" has_building_or_higher = "watchtowers_01" + has_building_or_higher = "temple_citadel_01" has_building_or_higher = "theodosian_walls_01" has_building_or_higher = "walls_of_benin_01" has_building_or_higher = "walls_of_genoa_01" @@ -66,6 +67,7 @@ walls_01_tribal = { # Here the Fort Level building chains take control of the visuals walls_01 = { is_graphical_background = yes + asset = { type = pdxmesh names = { @@ -74,6 +76,7 @@ walls_01 = { } graphical_regions = { graphical_western graphical_mediterranean graphical_india } } + asset = { type = pdxmesh names = { @@ -83,6 +86,7 @@ walls_01 = { } graphical_regions = { graphical_mena graphical_steppe } } + asset = { type = pdxmesh requires_dlc_flag = the_northern_lords @@ -121,6 +125,47 @@ walls_01 = { "fp3_building_persian_walls_01_a_01_mesh" } } + + # TGP Southeast Asia + asset = { + type = pdxmesh + requires_dlc_flag = all_under_heaven + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + names = { + "tgp_building_se_asia_wall_01_mesh" + } + } + # TGP China + asset = { + type = pdxmesh + requires_dlc_flag = all_under_heaven + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia graphical_steppe } + names = { + "tgp_building_chinese_wall_01_mesh" + } + } + # TGP Japan + asset = { + type = pdxmesh + requires_dlc_flag = all_under_heaven + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia graphical_steppe } + names = { + "tgp_building_japanese_wall_01_mesh" + } + } + asset = { + type = pdxmesh + requires_dlc_flag = all_under_heaven + graphical_cultures = { steppe_building_gfx } + governments = { steppe_admin_government celestial_government meritocratic_government } + graphical_regions = { graphical_east_asia graphical_steppe } + names = { + "tgp_building_chinese_wall_01_mesh" + } + } asset = { type = pdxmesh requires_dlc_flag = khans_of_the_steppe @@ -130,7 +175,6 @@ walls_01 = { names = { "mpo_mongol_wall_01_mesh" } - } is_enabled = { @@ -141,6 +185,7 @@ walls_01 = { has_building_or_higher = "hill_forts_01" has_building_or_higher = "ramparts_01" has_building_or_higher = "watchtowers_01" + has_building_or_higher = "temple_citadel_01" scope:holder = { government_has_flag = government_is_nomadic root = { fort_level = 1 } @@ -153,6 +198,7 @@ walls_01 = { has_building_or_higher = "hill_forts_02" has_building_or_higher = "ramparts_02" has_building_or_higher = "watchtowers_02" + has_building_or_higher = "temple_citadel_02" has_building_or_higher = "theodosian_walls_01" has_building_or_higher = "walls_of_benin_01" has_building_or_higher = "walls_of_genoa_01" @@ -232,7 +278,46 @@ walls_02 = { "ep3_byzantine_walls_02_mesh" } } - + # TGP Southeast Asia + asset = { + type = pdxmesh + requires_dlc_flag = all_under_heaven + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + names = { + "tgp_building_se_asia_wall_02_mesh" + } + } + # TGP China + asset = { + type = pdxmesh + requires_dlc_flag = all_under_heaven + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia graphical_steppe } + names = { + "tgp_building_chinese_wall_02_mesh" + } + } + # TGP Japan + asset = { + type = pdxmesh + requires_dlc_flag = all_under_heaven + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia graphical_steppe } + names = { + "tgp_building_japanese_wall_02_mesh" + } + } + asset = { + type = pdxmesh + requires_dlc_flag = all_under_heaven + governments = { steppe_admin_government celestial_government meritocratic_government } + graphical_cultures = { steppe_building_gfx } + graphical_regions = { graphical_east_asia graphical_steppe } + names = { + "tgp_building_chinese_wall_02_mesh" + } + } asset = { type = pdxmesh requires_dlc_flag = khans_of_the_steppe @@ -252,6 +337,7 @@ walls_02 = { has_building_or_higher = "hill_forts_02" has_building_or_higher = "ramparts_02" has_building_or_higher = "watchtowers_02" + has_building_or_higher = "temple_citadel_02" scope:holder = { government_has_flag = government_is_nomadic root = { fort_level = 2 } @@ -263,6 +349,7 @@ walls_02 = { has_building_or_higher = "hill_forts_03" has_building_or_higher = "ramparts_03" has_building_or_higher = "watchtowers_03" + has_building_or_higher = "temple_citadel_03" has_building_or_higher = "theodosian_walls_01" has_building_or_higher = "walls_of_benin_01" has_building_or_higher = "walls_of_genoa_01" @@ -341,6 +428,46 @@ walls_03 = { "ep3_byzantine_walls_03_mesh" } } + # TGP Southeast Asia + asset = { + type = pdxmesh + requires_dlc_flag = all_under_heaven + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + names = { + "tgp_building_se_asia_wall_03_mesh" + } + } + # TGP China + asset = { + type = pdxmesh + requires_dlc_flag = all_under_heaven + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia graphical_steppe } + names = { + "tgp_building_chinese_wall_03_mesh" + } + } + # TGP Japan + asset = { + type = pdxmesh + requires_dlc_flag = all_under_heaven + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia graphical_steppe } + names = { + "tgp_building_japanese_wall_03_mesh" + } + } + asset = { + type = pdxmesh + requires_dlc_flag = all_under_heaven + graphical_cultures = { steppe_building_gfx } + governments = { steppe_admin_government celestial_government meritocratic_government } + graphical_regions = { graphical_east_asia } + names = { + "tgp_building_chinese_wall_03_mesh" + } + } asset = { type = pdxmesh @@ -363,6 +490,7 @@ walls_03 = { has_building_or_higher = "hill_forts_03" has_building_or_higher = "ramparts_03" has_building_or_higher = "watchtowers_03" + has_building_or_higher = "temple_citadel_03" has_building_or_higher = "walls_of_benin_01" has_building_or_higher = "walls_of_genoa_01" has_building_or_higher = "aurelian_walls_01" @@ -377,6 +505,7 @@ walls_03 = { has_building_or_higher = "hill_forts_06" has_building_or_higher = "ramparts_06" has_building_or_higher = "watchtowers_06" + has_building_or_higher = "temple_citadel_04" has_building_or_higher = "theodosian_walls_01" has_building_or_higher = "city_wall_of_toledo_01" has_building_or_higher = "roman_wall_of_lugo_01" @@ -452,7 +581,46 @@ walls_04 = { "ep3_byzantine_walls_04_mesh" } } - + # TGP Southeast Asia + asset = { + type = pdxmesh + requires_dlc_flag = all_under_heaven + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { graphical_east_asia graphical_india } + names = { + "tgp_building_se_asia_wall_04_mesh" + } + } + # TGP China + asset = { + type = pdxmesh + requires_dlc_flag = all_under_heaven + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia graphical_steppe } + names = { + "tgp_building_chinese_wall_04_mesh" + } + } + # TGP Japan + asset = { + type = pdxmesh + requires_dlc_flag = all_under_heaven + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia graphical_steppe } + names = { + "tgp_building_japanese_wall_04_mesh" + } + } + asset = { + type = pdxmesh + requires_dlc_flag = all_under_heaven + graphical_cultures = { steppe_building_gfx } + governments = { steppe_admin_government celestial_government meritocratic_government } + graphical_regions = { graphical_east_asia } + names = { + "tgp_building_chinese_wall_04_mesh" + } + } asset = { type = pdxmesh requires_dlc_flag = khans_of_the_steppe @@ -474,6 +642,7 @@ walls_04 = { has_building_or_higher = "hill_forts_06" has_building_or_higher = "ramparts_06" has_building_or_higher = "watchtowers_06" + has_building_or_higher = "temple_citadel_04" has_building_or_higher = "theodosian_walls_01" scope:holder = { government_has_flag = government_is_nomadic diff --git a/N3OW/common/buildings/_buildings.info b/N3OW/common/buildings/_buildings.info index 94827dac..e70e0eae 100644 --- a/N3OW/common/buildings/_buildings.info +++ b/N3OW/common/buildings/_buildings.info @@ -1,76 +1,152 @@ -You can define +You can define == Structure == name_of_the_building = { - - # How many levies does the building give + + # How many levies does the building give ( int or named value ) + # default = 0 + # levy = 200 - - # How much garrison does the building give + + # How much garrison does the building give ( int or named value ) + # default = 0 + # max_garrison = 100 - # How much garrison regains a percentage of its maximal garrison equal to the garrison reinforcement rate + # Garrison monthly refill rate ( fixed point or named value ) in the inverval of [0..1] + # Every month garrison increased by this fraction of max garrison + # default = 0 + # garrison_reinforcement_factor = 0.01 - - # How long does it take to construct the building + + # Number of days it takes to construct this building ( int or named value ) + # default = 0 + # construction_time = 720 - + type = regular/special/duchy_capital # Specifies whether this is a regular building, a special building, or a duchy capital building. Regular by default - + # Which asset does the building use + # asset = { - # 'pdxmesh' or 'entity', specifies wheter to use a mesh or an entity. Meshes are more performant and should be preferred. - type = pdxmesh - # The name of the mesh or the entity + + # specifies wheter to use a mesh or an entity. Meshes are more performant and should be preferred. + # + type = pdxmesh/entity + + # The name of the mesh or the entity ( string ) + # Can have multiple entries, combined with 'names' + # Note that they must all be entities, or all be meshes + # name = "western_castle_01_level_03_mesh" - # To randomize between multiple meshes/entities. Note that they must all be entities, or all be meshes: + name = "western_castle_01_level_04_mesh" + + # Names of meshes or entities ( array of strings ) + # To randomize between multiple meshes/entities + # Note that they must all be entities, or all be meshes + # Combined with 'name' + # names = { "western_castle_01_level_03a_mesh" "western_castle_01_level_03b_mesh" "western_castle_01_level_03c_mesh" } - # Path to illustration shown in the county view, texture can be accessed in GUI: "[Holding.GetIllustration]" + + # Path to illustration shown in the county view ( string ) + # Texture can be accessed in GUI: "[Holding.GetIllustration]" + # illustration = "path/to/image.dds" - # Associated sound effect and an optional parameter, can also be just soundeffect = "event:..." if no parameter is needed - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Generic/sfx_amb_3d_holdings_generic_castle" soundparameter = { "Tier" = 2.0 } } - # Graphical cultures that prefer this asset to be shown - graphical_cultures = { arabicgfx muslimgfx } - # Graphical faiths that prefer this asset to be shown (priority is faith > religion > family, so Catholic graphical_faith overrides Abrahamic graphical_faith) - graphical_faiths = { catholic_gfx orthodox_gfx } - # Graphical regions in which this asset is preferred, this is the most important criterion when selecting the asset, with the exception of government and province - graphical_regions = { western mena } - # Province IDs in which this asset is preferred. Has a higher priority than graphical region. - provinces = { 496 1000 } + + # Associated sound effect and an optional parameter + # Can also be just soundeffect = "event:..." if no parameter is needed + # Can have multiple sound effects + # + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Generic/sfx_amb_3d_holdings_generic_castle_01" soundparameter = { "Tier" = 2.0 } } + # Governments that prefer this asset to be shown governments = { tribal_government } + + # Province IDs in which this asset is preferred ( array of int ) + # Has a higher priority than graphical region + # + provinces = { 496 1000 } + + # Graphical regions in which this asset is preferred ( array of strings ) + # This is the most important criterion when selecting the asset, with the exception of government and province + # Should match entries in geographical regions database + # + graphical_regions = { graphical_mena graphical_mediterranean } + + # Graphical cultures that prefer this asset to be shown ( array of flags ) + # Should match 'building_gfx' in cultures database + # + graphical_cultures = { western_building_gfx mediterranean_building_gfx } + + # Graphical faiths that prefer this asset to be shown ( array of strings ) + # Priority is faith > religion > family, so Catholic graphical_faith overrides Abrahamic graphical_faith + # Should match 'graphical_faith' in religion database + # + graphical_faiths = { catholic_gfx orthodox_gfx } + + # Required DLC flag ( dlc flag ) + # Assets marked with a DLC flag require matching DLC to be enabled + # + requires_dlc_flag = the_northern_lords } - - # Is the building enabled? Else won't give any effects to holder, and not be constructible (see can_construct* below). + + # Trigger: is the building enabled? + # Else won't give any effects to holder, and not be constructible ( see can_construct* below ). # If is_graphical_background = yes, this controls whether the building can be shown in the province. - # scopes: root is the province; scope:holder is the holder of the province; county is the county title the province belongs to + # Scopes: + # root ( province ) province where building is located + # scope:holder ( character ) holder of the barony title + # scope:county ( title ) is the county title the province belongs to + # is_enabled = {} - - # Can the building be constructed. - # Use this instead of is_enabled if you want to allow rulers to "use" the building after getting the holding, but to disallow that they construct it. - # can_construct_potential controls whether the building appears in the build menu. For upgrades it is identical to can_construct_showing_failures_only. - # Note that is_enabled (see above) is added to can_construct_potential. + + # Trigger: can the building be repaired? + # Only Great Buildings can be ruined and repaired + # Scopes: + # root ( province ) province where building is located + # scope:holder ( character ) holder of the barony title + # scope:county ( title ) is the county title the province belongs to + # + can_rebuild = {} + + # Triggers can the building be constructed? + # Use this instead of is_enabled if you want to allow rulers to "use" the building + # after getting the holding, but to disallow that they construct it. + # Note that is_enabled (see above) is always called together with can_construct_potential. + # To be able to construct a building all 3 triggers must evaluate to true # Not used if is_graphical_background = yes # scopes: root is the province; scope:holder is the holder of the province; county is the county title the province belongs to - can_construct_potential = {} - can_construct_showing_failures_only = {} - can_construct = {} - show_disabled = yes/no # if set to yes, the building will show in the build menu even if disabled (will still use can_construct_potential). No by default - - # How much cost does the building cost + # + can_construct_potential = {} # Whether the building even appears in the build menu + # For upgrades it is identical to can_construct_showing_failures_only. + can_construct_showing_failures_only = {} # Trigger will show only failuers. Use for temporary effects player can overcome + can_construct = {} # Trigger will show both filled and missing requirements + + # Shall disabled building still show in the build menu. Will still use can_construct_potential ( bool ) + # default: no + # + show_disabled = yes/no # if set to yes, + + # How much cost does the building cost ( scripted cost ) + # cost = { gold = 500 ... } - - # The next building in chain unlocked by this building + + # The next upgrade for this building chain + # next_building = castle_02 - # Custom description for effects indirectly provided by building. - # The scope root refers to the buildings province. - effect_desc = - + # Custom description for effects indirectly provided by building ( dynamic description ) + # No scope is provided + # + effect_desc = dynamic_description + # A modifier applied to the owner of the holding + # character_modifier = { + modifier_name = modifier_value } + # Applied if the character's culture has the parameter character_culture_modifier = { parameter = culture param @@ -80,54 +156,122 @@ name_of_the_building = { parameter = faith param } - # A modifier applied if the holder's dynasty of the county has a specific perk + # A modifier applied to the owner of the province if the dynasty of the county holder has a specific perk + # characer_dynasty_modifier = { county_holder_dynasty_perk = fp2_urbanism_legacy_1 # The name of the perk - # The effect - monthly_prestige_gain_mult = 0.2 + modifier_name = modifier_value } - + # A modifier applied to the province + # province_modifier = { + modifier_name = modifier_value } + + # A modifier applied to the province only if province's county culture has this parameter + # province_culture_modifier = { - parameter = culture param + parameter = culture_param + modifier_name = modifier_value } + + # A modifier applied to the province only if province's county faith has this parameter + # province_faith_modifier = { - parameter = faith param + parameter = faith_param + modifier_name = modifier_value } + + # A modifier applied to the province only if it matches all listed criteria + # culture parameter (optional), terrain type, coastal or riverside province_terrain_modifier = { - parameter = required culture param (optional) - terrain = required province terrain (optional, default is all terrain types) - is_coastal = whether this modifier is applied on coastal or non-coastal provinces (optional, default is both coastal and non-coastal) - is_riverside = whether this modifier is only applied on provinces that are next to a big river or not (optional, default is both riverside and not) + + parameter = culture_param # (optional) + + terrain =terrain_type # From terrain database (optional, if empty - any terrait) + + is_coastal = yes/no # Apply modifier on coastal, non-coastal, or any province + # (optional, default is both coastal and non-coastal) + + is_riverside = yes/no # Apply modifier on provinces only next to a big river or not next to a riger province + # (optional, default is both riverside and not) } - # A modifier applied if the holder's dynasty of the county has a specific perk + # A modifier applied to the province if the dynasty of the county holder has a specific perk + # province_dynasty_modifier = { - county_holder_dynasty_perk = fp2_urbanism_legacy_1 # The name of the perk - # The effect - monthly_income = 0.2 + county_holder_dynasty_perk = fp2_urbanism_legacy_1 + modifier_name = modifier_value } - # A modifier applied to the county + # A modifier applied to the entire county + # All provinces in the county can stack the same county modifier together + # county_modifier = { + modifier_name = modifier_value } + + # A modifier applied to the county only if county culture has this parameter + # county_culture_modifier = { - parameter = culture param + parameter = culture_param + modifier_name = modifier_value } + + # A modifier applied to the county only if province's county faith has this parameter + # county_faith_modifier = { - parameter = faith param + parameter = faith_param + modifier_name = modifier_value } - - # A modifier applied to every de jure county in the duchy (if the county has the same de facto liege as this building's county). Can only be used (and only works) for duchy capital buildings. + + # A modifier applied to every de jure county in the duchy. Can only be used (and only works) for duchy capital buildings + # duchy_capital_county_modifier = { + modifier_name = modifier_value } + + # A modifier applied to the entire county if any situation the county is involved in has the specified parameter in its current phase. + # All provinces in the county can stack the same county modifier together + county_situation_modifier = { + parameter = situation_parameter + modifier_name = modifier_value + } + + # A modifier applied to the province if any situation the county is involved in has the specified parameter in its current phase. + province_situation_modifier = { + parameter = situation_parameter + modifier_name = modifier_value + } + + # A modifier applied to the owner of the holding if any situation the county is involved in has the specified parameter in its current phase. + character_situation_modifier = { + parameter = situation_parameter + modifier_name = modifier_value + } + + # A modifier applied to every de jure county in the duchy if any situation the county is involved in has the specified parameter in its current phase. + # Can only be used (and only works) for duchy capital buildings. + duchy_capital_county_situation_modifier = { + parameter = situation_parameter + modifier_name = modifier_value + } + + # A modifier applied to every de jure county in the duchy if county culture has specified parameter + # Can only be used (and only works) for duchy capital buildings + # duchy_capital_county_culture_modifier = { - parameter = culture param + parameter = culture_param + modifier_name = modifier_value } + + # A modifier applied to every de jure county in the duchy if county faith has specified parameter + # Can only be used (and only works) for duchy capital buildings + # duchy_capital_county_faith_modifier = { - parameter = faith param + parameter = faith_param + modifier_name = modifier_value } # A special modifier applied to every holding of specified type in the county @@ -136,45 +280,124 @@ name_of_the_building = { income_mult = 1 } - # A modifier applied if the holder's dynasty of the county has a specific perk + # A modifier applied to the county if the dynasty of the county holder has a specific perk + # county_dynasty_modifier = { county_holder_dynasty_perk = fp2_urbanism_legacy_1 # The name of the perk - # The effect - development_growth_factor = 0.2 + modifier_name = modifier_value } # A modifier applied to the county holder + # county_holder_character_modifier = { - + modifier_name = modifier_value } - - # Building flags + + # A modifier applied to the province if the county holder's government has the specified parameter + # + province_government_modifier = { + parameter = government_param + modifier_name = modifier_value + } + + # A modifier applied to the county holder if their government has the specified parameter + # + character_government_modifier = { + parameter = government_param + modifier_name = modifier_value + } + + ## fallback: modifier collection + # Use this field to define an alternative set of modifiers that will be applied if the building is disabled. + # supported modifiers: + # - character_modifier + # - character_culture_modifier + # - character_faith_modifier + # - characer_dynasty_modifier + # - province_modifier + # - province_culture_modifier + # - province_faith_modifier + # - province_terrain_modifier + # - province_dynasty_modifier + # - county_modifier + # - county_culture_modifier + # - county_faith_modifier + # - duchy_capital_county_modifier + # - county_situation_modifier + # - province_situation_modifier + # - character_situation_modifier + # - duchy_capital_county_situation_modifier + # - duchy_capital_county_culture_modifier + # - duchy_capital_county_faith_modifier + # - county_holding_modifier + # - county_dynasty_modifier + # - county_holder_character_modifier + # - province_government_modifier + # - character_government_modifier + # + fallback = { + character_modifier = {} + + character_dynasty_modifier = {} + ... + } + + # Filename of building type icon in 'BUILDING_TYPE_ICON_PATH' folder ( string ) + # + type_icon = "icon_building_hospice.dds" + + # Building flags that can be checked in triggers. Can have multiple flags + # flag = castle - # Effects applied on building completion - # scopes: root refers to the buildings province - on_complete = { - - } - - # How desirable is the building for the AI + # How desirable is the building for the AI ( MTTH ) + # Shared priorities with domicile buildings if available + # See AI selection logic at the bottom of this doc to explain how the AI uses these! + # Scopes: + # root ( Province ) The province the construction took place in + # + # scope:character The character that paid for the construction, if available + # + # scope:holding holding type if this building is primary building for holding type scope. + # Like castle is primary building for a castle holding + # ai_value = { base = 100 } - - # If this is set to yes, the building will be used for figuring out which background asset (walls/no walls etc) should be shown + + # Shall the building be used for figuring out which background map asset (walls/no walls etc) should be shown + # AI skips all is_graphical_background = yes buildings + # is_graphical_background = no - ### Brief: on_start/on_cancelled/on_complete - # Effects that happen when construction of the building - # starts/cancels/finishes. - # - # Supported scopes: - # root (Province) - # The province the construction took place in. - # character - The character that paid for the construction, if available + ### on_start/on_cancelled/on_complete effects + # Effects that happen when construction of the building starts/cancels/finishes + # Scopes: + # root ( Province ) The province the construction took place in + # + # scope:character The character that paid for the construction, if available + # + # scope:holding holding type if this building is primary building for holding type scope. + # Like castle is primary building for a castle holding + # on_start = { ... } on_cancelled = { ... } on_complete = { ... } + + # which great_project_type is going to upgrade this great building + # when you're upgrading this great building via great project there will be no construction progress on the building slot itself, + # and it's the great project that progresses instead. + # use this field to allow the user to start planning the great project that will upgrade the building + # and to jump to the UI that shows the current upgrade status. + great_project_type = grand_building_project_this_tier } + +AI behavior: + +1. The AI puts all potential buildings (including domicile buildings, but excluding holdings, Great Projects, etc) in a list +2. It then computes all potential buildings' ai_value and sorts by it +3. Any building that does not score within 20% of the top building in this list are discarded +4. It selects a building randomly from the remaining ones +5. If it can afford this building it builds it; if not, it starts saving up gold for it + +Warning: a very expensive building with a high ai_value could lock an AI character into saving gold forever! Since it builds no buildings that could improve its ability to earn gold (investments), it might never build any buildings and never improve its economy. diff --git a/N3OW/common/buildings/ccp3_special_buildings.txt b/N3OW/common/buildings/ccp3_special_buildings.txt index 793d7d91..0f39a9a6 100644 --- a/N3OW/common/buildings/ccp3_special_buildings.txt +++ b/N3OW/common/buildings/ccp3_special_buildings.txt @@ -110,8 +110,13 @@ cluny_abbey_01 = { province_modifier = { monthly_income = 1.5 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t1_effect = yes + } 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 @@ -119,6 +124,7 @@ cluny_abbey_01 = { } type = special flag = travel_point_of_interest_religious + flag = special_university } cluny_abbey_02 = { asset = { @@ -161,8 +167,13 @@ cluny_abbey_02 = { province_modifier = { monthly_income = 3 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t2_effect = yes + } 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 @@ -240,8 +251,13 @@ damascus_mosque_01 = { province_modifier = { monthly_income = 2 } + on_complete = { + #Regular Mandala Boon + mandala_built_piety_duchy_building_t2_effect = yes + } 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 @@ -362,6 +378,7 @@ beta_giyorgis_01 = { } 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 @@ -407,6 +424,7 @@ holy_wisdom_01 = { } 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 @@ -495,6 +513,7 @@ somapura_university_01 = { } type = special flag = travel_point_of_interest_learning + flag = special_university } ########## # Duomo Florence @@ -531,6 +550,7 @@ duomo_florence_01 = { } 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 @@ -574,6 +594,7 @@ duomo_florence_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 @@ -619,6 +640,7 @@ duomo_florence_03 = { } 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 @@ -665,6 +687,7 @@ duomo_florence_04 = { } 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 @@ -701,7 +724,8 @@ konark_temple_01 = { monthly_income = 2 } ai_value = { - base = 100 + base = 8 + ai_pious_building_preference_modifier = yes modifier = { # Fill all building slots before going for special buildings factor = 0 free_building_slots > 0 @@ -753,6 +777,7 @@ al_qarawiyyin_university_01 = { } type = special flag = travel_point_of_interest_learning + flag = special_university } ########## # Kairouan basins @@ -911,6 +936,7 @@ wawel_cathedral_01 = { #Collegiate Church of St. Mary and St. Alexius } 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 @@ -964,6 +990,7 @@ wawel_cathedral_02 = { #Archcollegiate Church of St. Mary and St. Alexius } 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 @@ -1017,6 +1044,7 @@ wawel_cathedral_03 = { #Cathedral of St. Mary and St. Alexius - althistory upgra } 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 @@ -1050,6 +1078,7 @@ vatapi_caves_01 = { } 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 diff --git a/N3OW/common/buildings/temple_citadel_buildings.txt b/N3OW/common/buildings/temple_citadel_buildings.txt new file mode 100644 index 00000000..6a1218cc --- /dev/null +++ b/N3OW/common/buildings/temple_citadel_buildings.txt @@ -0,0 +1,3326 @@ +@illustration_christian = "gfx/interface/illustrations/holding_types/temple_christian.dds" +@illustration_generic_grass = "gfx/interface/illustrations/holding_types/temple_generic_grass.dds" +@illustration_generic_arid = "gfx/interface/illustrations/holding_types/temple_generic_arid.dds" +@illustration_india = "gfx/interface/illustrations/holding_types/temple_india.dds" +@illustration_china = "gfx/interface/illustrations/holding_types/tgp_chinese_pagoda.dds" +@illustration_shinto = "gfx/interface/illustrations/holding_types/tgp_shinto_temple.dds" +@illustration_seasia = "gfx/interface/illustrations/holding_types/tgp_castle_se_asia.dds" +@illustration_islamic = "gfx/interface/illustrations/holding_types/temple_islamic.dds" +@illustration_orthodox = "gfx/interface/illustrations/holding_types/temple_orthodox.dds" +@illustration_northern_pagan = "gfx/interface/illustrations/holding_types/temple_northern_pagan.dds" +@illustration_iberian_christian = "gfx/interface/illustrations/holding_types/fp2_temple_iberian_christian.dds" +@illustration_iberian_islamic = "gfx/interface/illustrations/holding_types/fp2_temple_iberian_islamic.dds" +@illustration_iranian_zoroastrian = "gfx/interface/illustrations/holding_types/fp3_temple_iranian_zoroastrian.dds" +@illustration_tengri = "gfx/interface/illustrations/holding_types/mpo_temple_steppe.dds" + +temple_citadel_01 = { + construction_time = slow_construction_time + + #Meshes (Indented for readability) + ### GENERIC ### + asset = { + type = pdxmesh + name = "building_western_temple_generic_01_mesh" + illustration = @illustration_generic_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_generic_01_mesh" + illustration = @illustration_generic_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_generic_01_mesh" + illustration = @illustration_generic_arid + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_generic_01_mesh" + illustration = @illustration_generic_arid + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } + graphical_regions = { "graphical_mena" } + } + + asset = { + type = pdxmesh + name = "building_western_temple_pagan_01_mesh" + illustration = @illustration_northern_pagan + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "pagan_gfx" } + } + + + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_pagoda_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/chinese_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { dharmic_gfx } + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_temple_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/chinese_temple" soundparameter = { "Tier" = 0 } } + + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan + asset = { + type = pdxmesh + name = "tgp_building_japanese_pagoda_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/japanese_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { dharmic_gfx } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan + asset = { + type = pdxmesh + name = "tgp_building_japanese_temple_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_shinto + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/japanese_temple" soundparameter = { "Tier" = 0 } } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } + + ### SOUTHEAST ASIA ### + asset = { + type = pdxmesh + name = "tgp_building_se_asia_temple_01_mesh" + illustration = @illustration_seasia + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 0 } } + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { "graphical_east_asia" "graphical_mediterranean" "graphical_india" "graphical_mena" } + } + + ### ORTHODOX ### + asset = { + type = pdxmesh + name = "building_western_temple_orthodox_01_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "orthodox_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_orthodox_01_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_orthodox_01_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_orthodox_01_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_mena" } + } + + ### CATHOLIC ### + asset = { + type = pdxmesh + name = "building_western_temple_christian_01_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_christian_01_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_christian_01_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_christian_01_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_mena" } + } + + ### ISLAMIC ### + asset = { + type = pdxmesh + name = "building_western_temple_islamic_01_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_islamic_01_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_islamic_01_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_islamic_01_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_mena" } + } + + # FP2 Catholic variant for Iberia + asset = { + type = pdxmesh + name = "fp2_building_iberian_christian_01_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @illustration_iberian_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + # FP2 Islamic variant for Iberia + asset = { + type = pdxmesh + name = "fp2_building_iberian_mosque_01_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @illustration_iberian_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + # FP3 Zoroastrian + asset = { + type = pdxmesh + name = "building_mena_temple_islamic_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = entity + name = "fp3_building_persian_temple_01_a_01_entity" + requires_dlc_flag = legacy_of_persia + illustration = @illustration_iranian_zoroastrian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "zoroastrian_gfx" } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + + # MPO Tengri + asset = { + type = entity + name = "mpo_mongol_temple_01_entity" + illustration = @illustration_tengri + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "tengrism_gfx" } + } + + # TGP Asian Pagan + asset = { + type = pdxmesh + name = "tgp_building_se_asia_pagan_temple_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/sea_pagan_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { pagan_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + + can_construct_potential = { + barony_cannot_construct_holding = no + scope:holder = { government_has_flag = government_is_mandala } + } + + can_construct = { + scope:holder = { government_has_flag = government_is_mandala } + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + building_requirement_tribal_holding_in_county = yes + building_requirement_nomad = no + building_requirement_nomad_holding_in_county = yes + building_requirement_herder = no + building_requirement_herder_holding_in_county = yes + } + cost_gold = main_building_tier_1_cost + next_building = temple_citadel_02 + + levy = normal_building_levy_tier_2 + max_garrison = good_building_max_garrison_tier_1 + garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_2 + province_modifier = { + monthly_income = super_poor_building_tax_tier_1 + tax_per_piety_level = super_poor_building_tax_tier_1 + fort_level = normal_building_fort_level_tier_1 + stationed_maa_damage_mult_per_piety_level = 0.01 + stationed_maa_toughness_mult_per_piety_level = 0.01 + travel_danger = -10 + } + province_terrain_modifier = { + parameter = coastal_holding_bonuses + is_coastal = yes + build_speed = -0.1 + } + + province_culture_modifier = { + parameter = temple_citadel_fort_level_bonus + fort_level = 1 + } + + county_culture_modifier = { + parameter = temple_citadel_control_bonus + monthly_county_control_growth_add = 0.1 + } + + province_culture_modifier = { + parameter = castle_fortifications_increase + defender_holding_advantage = 3 + } + + province_government_modifier = { + parameter = government_is_mandala + monthly_county_control_growth_factor = 0.05 + } + + character_culture_modifier = { + parameter = castle_grant_prestige + monthly_prestige = 0.02 + monthly_dynasty_prestige = 0.01 + } + + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.1 + } + + province_terrain_modifier = { + parameter = maritime_mercantilism_coastal_holdings + is_coastal = yes + tax_mult = maritime_mercantilism_coastal_holdings_value + } + + province_terrain_modifier = { + parameter = castle_holding_fort_level_in_jungle_bonus + terrain = jungle + additional_fort_level = castle_holding_fort_level_in_jungle_bonus_value + } + + province_terrain_modifier = { + parameter = coastal_holdings_give_defensive_bonus + is_coastal = yes + defender_holding_advantage = 2 + } + + flag = temple_citadel + + type_icon = "tgp_icon_building_mandala_capital_tier_02.dds" + + on_complete = { + county.holder = { + if = { + limit = { + culture = { + has_cultural_parameter = renown_from_temple_construction + } + exists = dynasty + } + dynasty = { add_dynasty_prestige = major_dynasty_prestige_value } + } + + if = { + limit = { + culture = { + has_cultural_parameter = extra_piety_from_temple_construction + } + } + add_piety = omega_piety_gain + } + else_if = { + limit = { government_has_flag = government_is_mandala } + mandala_built_temple_holding_effect = yes + } + else = { add_piety = massive_piety_gain } + save_scope_as = temple_location + + if = { + limit = { + culture = { has_cultural_parameter = more_fervor_on_church_construction } + } + faith = { + change_fervor = { + value = 5 + desc = fervor_gain_built_temple_holding + } + } + } + else = { + faith = { + change_fervor = { + value = 1 + desc = fervor_gain_built_temple_holding + } + } + } + + if = { + limit = { + culture = { has_cultural_parameter = prestige_from_temple_construction } + } + add_prestige = massive_prestige_gain + } + + #Holy Legend Seed drop + if = { + limit = { + has_dlc_feature = legends + NOR = { + has_game_rule = historical_legends_only + has_personal_legend_seed = holy + } + } + random = { + chance = { + value = 10 + if = { + limit = { piety_level >= high_piety_level } + add = 15 #25% + } + if = { + limit = { piety_level >= max_piety_level } + add = 25 #50% + } + } + send_interface_toast = { + type = msg_legend_seed_created + title = holy_seed_toast + left_icon = root.barony + create_legend_seed = { + type = holy + quality = famed + chronicle = saintly_building + properties = { + location = prev + religion = this.religion + faith = this.faith + } + } + } + } + } + + if = { + limit = { + any_vassal = { + has_vassal_stance = parochial + } + save_temporary_scope_as = holder_scope + } + custom_tooltip = parochial_vassal_approves_holding_construction + hidden_effect = { + every_vassal = { + limit = { + has_vassal_stance = parochial + } + add_opinion = { + target = prev + modifier = parochial_approves_holding_construction_opinion + } + } + } + } + if = { + limit = { + any_vassal = { + has_vassal_stance = zealot + } + save_temporary_scope_as = holder_scope + } + custom_tooltip = zealot_vassal_approves_holding_construction + hidden_effect = { + every_vassal = { + limit = { + has_vassal_stance = zealot + } + add_opinion = { + target = prev + modifier = zealot_approves_temple_construction_opinion + } + } + } + } + } + + county = { + if = { + limit = { + holder.culture = { has_cultural_parameter = warmonger_city_founders } + } + change_county_control = 100 + } + } + + #to give follow-up to the vassal.1001 event + hidden_effect = { + if = { + limit = { + exists = province_owner + } + province_owner = { + save_scope_as = owner_of_province + + scope:owner_of_province = { + if = { #Religious liege asked me to build a temple + limit = { + exists = var:promised_to_build_temple + var:promised_to_build_temple = { + is_alive = yes + faith = scope:owner_of_province.faith + } + has_character_flag = promised_liege_temple + } + trigger_event = vassal.1010 + } + if = { #Religious vassal asked me to build a temple + limit = { + exists = var:promised_to_build_temple + var:promised_to_build_temple = { + is_alive = yes + faith = scope:owner_of_province.faith + } + has_character_flag = promised_vassal_temple + } + trigger_event = vassal.1110 + } + + #To remove the variables if the character has died or someone has changed their faith + if = { + limit = { + exists = var:promised_to_build_temple + OR = { + var:promised_to_build_temple = { is_alive = no } + faith != scope:owner_of_province.faith + } + } + remove_variable = promised_to_build_temple + } + } + } + } + } + + } + + ai_value = { + base = 100 + modifier = { + factor = 0 + scope:holder = { + NOT = { government_has_flag = government_is_mandala } + } + } + } +} + +temple_citadel_02 = { + construction_time = slow_construction_time + + #Meshes (Indented for readability) + ### GENERIC ### + asset = { + type = pdxmesh + name = "building_western_temple_generic_01_mesh" + illustration = @illustration_generic_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_generic_01_mesh" + illustration = @illustration_generic_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_generic_01_mesh" + illustration = @illustration_generic_arid + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_generic_01_mesh" + illustration = @illustration_generic_arid + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 0 } } + graphical_regions = { "graphical_mena" } + } + + asset = { + type = pdxmesh + name = "building_western_temple_pagan_01_mesh" + illustration = @illustration_northern_pagan + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "pagan_gfx" } + } + + + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_pagoda_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/chinese_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { dharmic_gfx } + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_temple_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/chinese_temple" soundparameter = { "Tier" = 1 } } + + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan + asset = { + type = pdxmesh + name = "tgp_building_japanese_pagoda_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/japanese_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { dharmic_gfx } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan + asset = { + type = pdxmesh + name = "tgp_building_japanese_temple_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_shinto + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/japanese_temple" soundparameter = { "Tier" = 1 } } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } + + ### SOUTHEAST ASIA ### + asset = { + type = pdxmesh + name = "tgp_building_se_asia_temple_02_mesh" + illustration = @illustration_seasia + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 1 } } + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { "graphical_east_asia" "graphical_mediterranean" "graphical_india" "graphical_mena" } + } + + ### ORTHODOX ### + asset = { + type = pdxmesh + name = "building_western_temple_orthodox_01_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "orthodox_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_orthodox_01_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_orthodox_01_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_orthodox_01_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_mena" } + } + + ### CATHOLIC ### + asset = { + type = pdxmesh + name = "building_western_temple_christian_01_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_christian_01_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_christian_01_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_christian_01_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_mena" } + } + + ### ISLAMIC ### + asset = { + type = pdxmesh + name = "building_western_temple_islamic_01_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_islamic_01_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_islamic_01_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_islamic_01_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_mena" } + } + + # FP2 Catholic variant for Iberia + asset = { + type = pdxmesh + name = "fp2_building_iberian_christian_01_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @illustration_iberian_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "catholic_gfx" } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + # FP2 Islamic variant for Iberia + asset = { + type = pdxmesh + name = "fp2_building_iberian_mosque_01_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @illustration_iberian_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + # FP3 Zoroastrian + asset = { + type = pdxmesh + name = "building_mena_temple_islamic_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "islamic_gfx" } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = entity + name = "fp3_building_persian_temple_01_a_01_entity" + requires_dlc_flag = legacy_of_persia + illustration = @illustration_iranian_zoroastrian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "zoroastrian_gfx" } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + + # MPO Tengri + asset = { + type = entity + name = "mpo_mongol_temple_01_entity" + illustration = @illustration_tengri + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "tengrism_gfx" } + } + # TGP Asian Pagan + asset = { + type = pdxmesh + name = "tgp_building_se_asia_pagan_temple_01_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/sea_pagan_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { pagan_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = temple_next_level + } + } + } + scope:holder.culture = { + has_innovation = innovation_manorialism + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = temple_next_level + has_innovation = innovation_city_planning + } + } + } + cost_gold = main_building_tier_2_cost + next_building = temple_citadel_03 + + levy = normal_building_levy_tier_4 + max_garrison = good_building_max_garrison_tier_2 + garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_3 + province_modifier = { + monthly_income = super_poor_building_tax_tier_2 + tax_per_piety_level = super_poor_building_tax_tier_3 + fort_level = good_building_fort_level_tier_2 + stationed_maa_damage_mult_per_piety_level = 0.03 + stationed_maa_toughness_mult_per_piety_level = 0.03 + travel_danger = -12 + } + + province_terrain_modifier = { + parameter = coastal_holding_bonuses + is_coastal = yes + build_speed = -0.1 + } + + province_culture_modifier = { + parameter = temple_citadel_fort_level_bonus + fort_level = 2 + } + + county_culture_modifier = { + parameter = temple_citadel_control_bonus + monthly_county_control_growth_add = 0.2 + } + + province_culture_modifier = { + parameter = castle_fortifications_increase + defender_holding_advantage = 6 + } + + province_government_modifier = { + parameter = government_is_mandala + monthly_county_control_growth_factor = 0.1 + } + + character_culture_modifier = { + parameter = castle_grant_prestige + monthly_prestige = 0.03 + monthly_dynasty_prestige = 0.02 + } + + character_government_modifier = { + parameter = government_is_mandala + monthly_piety = 0.1 + } + + province_terrain_modifier = { + parameter = maritime_mercantilism_coastal_holdings + is_coastal = yes + tax_mult = maritime_mercantilism_coastal_holdings_value + } + + province_terrain_modifier = { + parameter = castle_holding_fort_level_in_jungle_bonus + terrain = jungle + additional_fort_level = castle_holding_fort_level_in_jungle_bonus_value + } + + province_terrain_modifier = { + parameter = coastal_holdings_give_defensive_bonus + is_coastal = yes + defender_holding_advantage = 3 + } + + flag = temple_citadel + + on_complete = { + county.holder = { + if = { + limit = { + culture = { + has_cultural_parameter = renown_from_temple_construction + } + exists = dynasty + } + dynasty = { add_dynasty_prestige = medium_dynasty_prestige_value } + } + if = { + limit = { + culture = { + has_cultural_parameter = more_fervor_on_church_construction + } + } + faith = { + change_fervor = { + value = 2 + desc = fervor_gain_upgraded_temple_holding_culture_parameter + } + } + } + } + barony.holder = { + if = { + limit = { + any_vassal = { + has_vassal_stance = parochial + } + save_temporary_scope_as = holder_scope + } + custom_tooltip = parochial_vassal_approves_holding_upgrade + hidden_effect = { + every_vassal = { + limit = { + has_vassal_stance = parochial + } + add_opinion = { + target = prev + modifier = parochial_approves_holding_upgrade_opinion + } + } + } + } + if = { + limit = { + any_vassal = { + has_vassal_stance = zealot + } + save_temporary_scope_as = holder_scope + } + custom_tooltip = zealot_vassal_approves_holding_upgrade + hidden_effect = { + every_vassal = { + limit = { + has_vassal_stance = zealot + } + add_opinion = { + target = prev + modifier = zealot_approves_temple_upgrade_opinion + } + } + } + } + } + scope:character = { + if = { + limit = { government_has_flag = government_is_mandala } + mandala_upgraded_temple_holding_effect = yes + } + } + } + + ai_value = { + base = 9 + ai_general_building_modifier = yes + modifier = { + add = 1 + scope:holder.culture = { has_cultural_parameter = ai_more_likely_to_castle } + } + modifier = { + add = 10 + scope:holder.culture = { has_cultural_era_or_later = culture_era_high_medieval } + } + modifier = { + factor = 3 + scope:holder.capital_province = this + } + modifier = { + factor = 0.1 + free_building_slots >= 1 + years_from_game_start >= 1 + } + modifier = { + factor = 0.1 + combined_building_level <= 10 + years_from_game_start >= 1 + } + #Needed for the initial construction setup for the AI (to avoid the AI spending their free construction setup on upgrading all holdings instead of building buildings) + modifier = { + factor = 0.3 + years_from_game_start <= 0.01 + } + } +} + +temple_citadel_03 = { + construction_time = slow_construction_time + + #Meshes (Indented for readability) + ### GENERIC ### + asset = { + type = pdxmesh + name = "building_western_temple_generic_02_mesh" + illustration = @illustration_generic_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_generic_02_mesh" + illustration = @illustration_generic_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_generic_02_mesh" + illustration = @illustration_generic_arid + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_generic_02_mesh" + illustration = @illustration_generic_arid + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } + graphical_regions = { "graphical_mena" } + } + + asset = { + type = pdxmesh + name = "building_western_temple_pagan_02_mesh" + illustration = @illustration_northern_pagan + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "pagan_gfx" } + } + + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_pagoda_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/chinese_temple" soundparameter = { "Tier" = 2 } } + graphical_faiths = { dharmic_gfx } + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_temple_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/chinese_temple" soundparameter = { "Tier" = 2 } } + + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan + asset = { + type = pdxmesh + name = "tgp_building_japanese_pagoda_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/japanese_temple" soundparameter = { "Tier" = 2 } } + graphical_faiths = { dharmic_gfx } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan + asset = { + type = pdxmesh + name = "tgp_building_japanese_temple_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_shinto + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/japanese_temple" soundparameter = { "Tier" = 2 } } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } + + ### SOUTHEAST ASIA ### + asset = { + type = pdxmesh + name = "tgp_building_se_asia_temple_03_mesh" + illustration = @illustration_seasia + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 2 } } + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { "graphical_east_asia" "graphical_mediterranean" "graphical_india" "graphical_mena" } + } + + ### ORTHODOX ### + asset = { + type = pdxmesh + name = "building_western_temple_orthodox_02_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "orthodox_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_orthodox_02_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_orthodox_02_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_orthodox_02_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_mena" } + } + + ### CATHOLIC ### + asset = { + type = pdxmesh + name = "building_western_temple_christian_02_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_christian_02_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_christian_02_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_christian_02_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_mena" } + } + + ### ISLAMIC ### + asset = { + type = pdxmesh + name = "building_western_temple_islamic_02_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_islamic_02_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_islamic_02_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_islamic_02_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_mena" } + } + + # FP2 Catholic variant for Iberia + asset = { + type = pdxmesh + name = "fp2_building_iberian_christian_02_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @illustration_iberian_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + # FP2 Islamic variant for Iberia + asset = { + type = pdxmesh + name = "fp2_building_iberian_mosque_02_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @illustration_iberian_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + # FP3 Zoroastrian + asset = { + type = pdxmesh + name = "building_mena_temple_islamic_02_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = entity + name = "fp3_building_persian_temple_02_a_01_entity" + requires_dlc_flag = legacy_of_persia + illustration = @illustration_iranian_zoroastrian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "zoroastrian_gfx" } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + + # MPO Tengri + asset = { + type = entity + name = "mpo_mongol_temple_01_entity" + illustration = @illustration_tengri + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "tengrism_gfx" } + } + # TGP Asian Pagan + asset = { + type = pdxmesh + name = "tgp_building_se_asia_pagan_temple_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/sea_pagan_temple" soundparameter = { "Tier" = 2 } } + graphical_faiths = { pagan_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = temple_next_level + } + } + } + scope:holder.culture = { + has_innovation = innovation_windmills + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = temple_next_level + has_innovation = innovation_manorialism + } + } + } + cost_gold = main_building_tier_3_cost + next_building = temple_citadel_04 + + levy = normal_building_levy_tier_6 + max_garrison = good_building_max_garrison_tier_4 + garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_5 + province_modifier = { + monthly_income = super_poor_building_tax_tier_3 + tax_per_piety_level = super_poor_building_tax_tier_5 + fort_level = good_building_fort_level_tier_3 + stationed_maa_damage_mult_per_piety_level = 0.05 + stationed_maa_toughness_mult_per_piety_level = 0.05 + travel_danger = -14 + } + province_terrain_modifier = { + parameter = coastal_holding_bonuses + is_coastal = yes + build_speed = -0.1 + } + + province_culture_modifier = { + parameter = temple_citadel_fort_level_bonus + fort_level = 3 + } + + county_culture_modifier = { + parameter = temple_citadel_control_bonus + monthly_county_control_growth_add = 0.3 + } + + province_culture_modifier = { + parameter = castle_fortifications_increase + defender_holding_advantage = 10 + } + + province_government_modifier = { + parameter = government_is_mandala + monthly_county_control_growth_factor = 0.15 + } + + character_culture_modifier = { + parameter = castle_grant_prestige + monthly_prestige = 0.04 + monthly_dynasty_prestige = 0.03 + } + + character_government_modifier = { + parameter = government_is_mandala + monthly_piety_from_buildings_mult = 0.1 + monthly_piety = 0.4 + } + + province_terrain_modifier = { + parameter = maritime_mercantilism_coastal_holdings + is_coastal = yes + tax_mult = maritime_mercantilism_coastal_holdings_value + } + + province_terrain_modifier = { + parameter = castle_holding_fort_level_in_jungle_bonus + terrain = jungle + additional_fort_level = castle_holding_fort_level_in_jungle_bonus_value + } + + province_terrain_modifier = { + parameter = coastal_holdings_give_defensive_bonus + is_coastal = yes + defender_holding_advantage = 4 + } + + flag = temple_citadel + + on_complete = { + county.holder = { + if = { + limit = { + culture = { + has_cultural_parameter = renown_from_temple_construction + } + exists = dynasty + } + dynasty = { add_dynasty_prestige = medium_dynasty_prestige_value } + } + if = { + limit = { + culture = { + has_cultural_parameter = more_fervor_on_church_construction + } + } + faith = { + change_fervor = { + value = 2 + desc = fervor_gain_upgraded_temple_holding_culture_parameter + } + } + } + } + barony.holder = { + if = { + limit = { + any_vassal = { + has_vassal_stance = parochial + } + save_temporary_scope_as = holder_scope + } + custom_tooltip = parochial_vassal_approves_holding_upgrade + hidden_effect = { + every_vassal = { + limit = { + has_vassal_stance = parochial + } + add_opinion = { + target = prev + modifier = parochial_approves_holding_upgrade_opinion + } + } + } + } + if = { + limit = { + any_vassal = { + has_vassal_stance = zealot + } + save_temporary_scope_as = holder_scope + } + custom_tooltip = zealot_vassal_approves_holding_upgrade + hidden_effect = { + every_vassal = { + limit = { + has_vassal_stance = zealot + } + add_opinion = { + target = prev + modifier = zealot_approves_temple_upgrade_opinion + } + } + } + } + } + scope:character = { + if = { + limit = { government_has_flag = government_is_mandala } + mandala_upgraded_temple_holding_effect = yes + } + } + } + + ai_value = { + base = 8 + ai_general_building_modifier = yes + modifier = { + add = 1 + scope:holder.culture = { has_cultural_parameter = ai_more_likely_to_castle } + } + modifier = { + add = 10 + scope:holder.culture = { has_cultural_era_or_later = culture_era_late_medieval } + } + modifier = { + factor = 3 + scope:holder.capital_province = this + } + modifier = { + factor = 0.2 + combined_building_level <= 20 + years_from_game_start >= 1 + } + } +} + +temple_citadel_04 = { + construction_time = slow_construction_time + + #Meshes (Indented for readability) + ### GENERIC ### + asset = { + type = pdxmesh + name = "building_western_temple_generic_02_mesh" + illustration = @illustration_generic_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_generic_02_mesh" + illustration = @illustration_generic_grass + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_generic_02_mesh" + illustration = @illustration_generic_arid + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_generic_02_mesh" + illustration = @illustration_generic_arid + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/generic_temple" soundparameter = { "Tier" = 1 } } + graphical_regions = { "graphical_mena" } + } + + asset = { + type = pdxmesh + name = "building_western_temple_pagan_02_mesh" + illustration = @illustration_northern_pagan + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "pagan_gfx" } + } + + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_pagoda_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/chinese_temple" soundparameter = { "Tier" = 3 } } + graphical_faiths = { dharmic_gfx } + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP China + asset = { + type = pdxmesh + name = "tgp_building_chinese_temple_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/chinese_temple" soundparameter = { "Tier" = 3 } } + + graphical_cultures = { chinese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan + asset = { + type = pdxmesh + name = "tgp_building_japanese_pagoda_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/japanese_temple" soundparameter = { "Tier" = 3 } } + graphical_faiths = { dharmic_gfx } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } + # TGP Japan + asset = { + type = pdxmesh + name = "tgp_building_japanese_temple_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_shinto + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/japanese_temple" soundparameter = { "Tier" = 3 } } + graphical_cultures = { japanese_building_gfx } + graphical_regions = { graphical_east_asia } + } + + ### SOUTHEAST ASIA ### + asset = { + type = pdxmesh + name = "tgp_building_se_asia_temple_04_mesh" + illustration = @illustration_seasia + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/dharmic_temple" soundparameter = { "Tier" = 3 } } + graphical_cultures = { southeast_asian_building_gfx } + graphical_regions = { "graphical_east_asia" "graphical_mediterranean" "graphical_india" "graphical_mena" } + } + + ### ORTHODOX ### + asset = { + type = pdxmesh + name = "building_western_temple_orthodox_02_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "orthodox_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_orthodox_02_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_orthodox_02_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_orthodox_02_mesh" + illustration = @illustration_orthodox + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/orthodox_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "orthodox_gfx" } + graphical_regions = { "graphical_mena" } + } + + ### CATHOLIC ### + asset = { + type = pdxmesh + name = "building_western_temple_christian_02_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_christian_02_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_christian_02_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_christian_02_mesh" + illustration = @illustration_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + graphical_regions = { "graphical_mena" } + } + + ### ISLAMIC ### + asset = { + type = pdxmesh + name = "building_western_temple_islamic_02_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + } + asset = { + type = pdxmesh + name = "building_mediterranean_temple_islamic_02_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_mediterranean" } + } + asset = { + type = pdxmesh + name = "building_indian_temple_islamic_02_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_india" } + } + asset = { + type = pdxmesh + name = "building_mena_temple_islamic_02_mesh" + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_regions = { "graphical_mena" } + } + # FP2 Catholic variant for Iberia + asset = { + type = pdxmesh + name = "fp2_building_iberian_christian_02_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @illustration_iberian_christian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/church_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "catholic_gfx" } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + # FP2 Islamic variant for Iberia + asset = { + type = pdxmesh + name = "fp2_building_iberian_mosque_02_mesh" + requires_dlc_flag = the_fate_of_iberia + illustration = @illustration_iberian_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_cultures = { iberian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + # FP3 Zoroastrian + asset = { + type = pdxmesh + name = "building_mena_temple_islamic_02_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @illustration_islamic + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "islamic_gfx" } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + asset = { + type = entity + name = "fp3_building_persian_temple_02_a_01_entity" + requires_dlc_flag = legacy_of_persia + illustration = @illustration_iranian_zoroastrian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/mosque_temple" soundparameter = { "Tier" = 1 } } + graphical_faiths = { "zoroastrian_gfx" } + graphical_cultures = { iranian_building_gfx } + graphical_regions = { graphical_mena } + } + + # MPO Tengri + asset = { + type = entity + name = "mpo_mongol_temple_01_entity" + illustration = @illustration_tengri + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/pagan_temple" soundparameter = { "Tier" = 0 } } + graphical_faiths = { "tengrism_gfx" } + } + # TGP Asian Pagan + asset = { + type = pdxmesh + name = "tgp_building_se_asia_pagan_temple_02_mesh" + requires_dlc_flag = all_under_heaven + illustration = @illustration_china + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Temples/sea_pagan_temple" soundparameter = { "Tier" = 3 } } + graphical_faiths = { pagan_gfx } + graphical_regions = { graphical_east_asia graphical_india } + } + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = temple_next_level + } + } + } + scope:holder.culture = { + has_innovation = innovation_cranes + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = temple_next_level + has_innovation = innovation_windmills + } + } + } + cost_gold = main_building_tier_4_cost + + levy = normal_building_levy_tier_8 + max_garrison = good_building_max_garrison_tier_6 + garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_7 + province_modifier = { + monthly_income = super_poor_building_tax_tier_4 + tax_per_piety_level = super_poor_building_tax_tier_7 + fort_level = good_building_fort_level_tier_4 + stationed_maa_damage_mult_per_piety_level = 0.07 + stationed_maa_toughness_mult_per_piety_level = 0.07 + travel_danger = -16 + } + province_terrain_modifier = { + parameter = coastal_holding_bonuses + is_coastal = yes + build_speed = -0.1 + } + + province_culture_modifier = { + parameter = temple_citadel_fort_level_bonus + fort_level = 4 + } + + county_culture_modifier = { + parameter = temple_citadel_control_bonus + monthly_county_control_growth_add = 0.4 + } + + province_culture_modifier = { + parameter = castle_fortifications_increase + defender_holding_advantage = 15 + } + + province_government_modifier = { + parameter = government_is_mandala + monthly_county_control_growth_factor = 0.2 + } + + character_culture_modifier = { + parameter = castle_grant_prestige + monthly_prestige = 0.05 + monthly_dynasty_prestige = 0.04 + } + + character_government_modifier = { + parameter = government_is_mandala + monthly_piety_from_buildings_mult = 0.2 + monthly_piety = 0.6 + } + + province_terrain_modifier = { + parameter = maritime_mercantilism_coastal_holdings + is_coastal = yes + tax_mult = maritime_mercantilism_coastal_holdings_value + } + + province_terrain_modifier = { + parameter = castle_holding_fort_level_in_jungle_bonus + terrain = jungle + additional_fort_level = castle_holding_fort_level_in_jungle_bonus_value + } + + province_terrain_modifier = { + parameter = coastal_holdings_give_defensive_bonus + is_coastal = yes + defender_holding_advantage = 5 + } + + flag = temple_citadel + + on_complete = { + county.holder = { + if = { + limit = { + culture = { + has_cultural_parameter = renown_from_temple_construction + } + exists = dynasty + } + dynasty = { add_dynasty_prestige = medium_dynasty_prestige_value } + } + if = { + limit = { + culture = { + has_cultural_parameter = more_fervor_on_church_construction + } + } + faith = { + change_fervor = { + value = 2 + desc = fervor_gain_upgraded_temple_holding_culture_parameter + } + } + } + } + barony.holder = { + if = { + limit = { + any_vassal = { + has_vassal_stance = parochial + } + save_temporary_scope_as = holder_scope + } + custom_tooltip = parochial_vassal_approves_holding_upgrade + hidden_effect = { + every_vassal = { + limit = { + has_vassal_stance = parochial + } + add_opinion = { + target = prev + modifier = parochial_approves_holding_upgrade_opinion + } + } + } + } + if = { + limit = { + any_vassal = { + has_vassal_stance = zealot + } + save_temporary_scope_as = holder_scope + } + custom_tooltip = zealot_vassal_approves_holding_upgrade + + hidden_effect = { + every_vassal = { + limit = { + has_vassal_stance = zealot + } + add_opinion = { + target = prev + modifier = zealot_approves_temple_upgrade_opinion + } + } + } + } + } + scope:character = { + if = { + limit = { government_has_flag = government_is_mandala } + mandala_upgraded_temple_holding_effect = yes + } + } + } + + ai_value = { + base = 17 + ai_general_building_modifier = yes + modifier = { + add = 1 + scope:holder.culture = { has_cultural_parameter = ai_more_likely_to_castle } + } + modifier = { + factor = 3 + scope:holder.capital_province = this + } + modifier = { + factor = 0.2 + combined_building_level <= 30 + years_from_game_start >= 1 + } + } +} + +#### +# +# Temple Citadel Buildings +# +#### + +### Citadel Shrine + +citadel_shrine_01 = { + construction_time = standard_construction_time + + can_construct_potential = { + has_building_or_higher = temple_citadel_01 + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_1_cost + + levy = normal_building_levy_tier_1 + + character_modifier = { + monthly_piety = 0.05 + monthly_prestige = 0.05 + } + + province_modifier = { + fort_level = normal_building_fort_level_tier_1 + stationed_maa_damage_mult_per_piety_level = 0.01 + stationed_maa_toughness_mult_per_piety_level = 0.01 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = citadel_shrine_02 + + type_icon = "icon_structure_citadel_shrine.dds" + + ai_value = { + base = 10 + ai_tier_1_building_modifier = yes + ai_tier_1_pious_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_fortify_modifier = yes + modifier = { + factor = 5 + free_building_slots <= 3 + scope:holder.capital_province = this + } + modifier = { + factor = 5 + free_building_slots <= 2 + } + modifier = { + factor = 5 + free_building_slots <= 1 + } + culture_likely_to_fortify_modifier = yes + } +} + +citadel_shrine_02 = { + construction_time = standard_construction_time + + can_construct_potential = { + has_building_or_higher = temple_citadel_01 + culture = { + has_innovation = innovation_city_planning + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_2_cost + + levy = normal_building_levy_tier_2 + + character_modifier = { + monthly_piety = 0.1 + monthly_prestige = 0.1 + } + + province_modifier = { + fort_level = normal_building_fort_level_tier_2 + stationed_maa_damage_mult_per_piety_level = 0.02 + stationed_maa_toughness_mult_per_piety_level = 0.02 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = citadel_shrine_03 + ai_value = { + base = 9 + ai_general_building_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +citadel_shrine_03 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_02 + culture = { + has_innovation = innovation_manorialism + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_3_cost + + levy = normal_building_levy_tier_3 + + character_modifier = { + monthly_piety = 0.15 + monthly_prestige = 0.15 + } + + province_modifier = { + fort_level = normal_building_fort_level_tier_3 + stationed_maa_damage_mult_per_piety_level = 0.04 + stationed_maa_toughness_mult_per_piety_level = 0.04 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = citadel_shrine_04 + ai_value = { + base = 8 + ai_general_building_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +citadel_shrine_04 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_02 + culture = { + has_innovation = innovation_manorialism + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_4_cost + + levy = normal_building_levy_tier_4 + + character_modifier = { + monthly_piety = 0.2 + monthly_prestige = 0.2 + } + + province_modifier = { + fort_level = normal_building_fort_level_tier_4 + stationed_maa_damage_mult_per_piety_level = 0.05 + stationed_maa_toughness_mult_per_piety_level = 0.05 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = citadel_shrine_05 + ai_value = { + base = 7 + ai_general_building_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +citadel_shrine_05 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_03 + culture = { + has_innovation = innovation_windmills + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_5_cost + + levy = normal_building_levy_tier_5 + + character_modifier = { + monthly_piety = 0.25 + monthly_prestige = 0.25 + } + + province_modifier = { + fort_level = normal_building_fort_level_tier_5 + stationed_maa_damage_mult_per_piety_level = 0.06 + stationed_maa_toughness_mult_per_piety_level = 0.06 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = citadel_shrine_06 + ai_value = { + base = 6 + ai_general_building_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +citadel_shrine_06 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_03 + culture = { + has_innovation = innovation_windmills + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_6_cost + + levy = normal_building_levy_tier_6 + + character_modifier = { + monthly_piety = 0.3 + monthly_prestige = 0.3 + } + + province_modifier = { + fort_level = normal_building_fort_level_tier_6 + stationed_maa_damage_mult_per_piety_level = 0.07 + stationed_maa_toughness_mult_per_piety_level = 0.07 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = citadel_shrine_07 + ai_value = { + base = 5 + ai_general_building_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +citadel_shrine_07 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_04 + culture = { + has_innovation = innovation_cranes + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_7_cost + + levy = normal_building_levy_tier_7 + + character_modifier = { + monthly_piety = 0.35 + monthly_prestige = 0.35 + } + + province_modifier = { + fort_level = normal_building_fort_level_tier_7 + stationed_maa_damage_mult_per_piety_level = 0.08 + stationed_maa_toughness_mult_per_piety_level = 0.08 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = citadel_shrine_08 + ai_value = { + base = 4 + ai_general_building_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +citadel_shrine_08 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_03 + culture = { + has_innovation = innovation_cranes + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_8_cost + + levy = normal_building_levy_tier_8 + + character_modifier = { + monthly_piety = 0.4 + monthly_prestige = 0.4 + } + + province_modifier = { + fort_level = normal_building_fort_level_tier_8 + stationed_maa_damage_mult_per_piety_level = 0.1 + stationed_maa_toughness_mult_per_piety_level = 0.1 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + ai_value = { + base = 3 + ai_general_building_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + + +### Sacred Pool + +sacred_pool_01 = { + construction_time = standard_construction_time + + can_construct_potential = { + has_building_or_higher = temple_citadel_01 + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_1_cost + + character_modifier = { + monthly_piety_gain_mult = 0.01 + } + + county_modifier = { + county_opinion_add = 5 + } + + province_modifier = { + defender_holding_advantage = poor_building_advantage_tier_1 + tax_per_piety_level = super_poor_building_tax_tier_1 + } + + county_culture_modifier = { + parameter = sacred_pool_additional_bonuses + build_gold_cost = -0.01 + development_growth_factor = normal_building_development_growth_factor_tier_1 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = sacred_pool_02 + + type_icon = "icon_structure_sacred_pool.dds" + + ai_value = { + base = 10 + ai_tier_1_building_modifier = yes + ai_tier_1_pious_building_preference_modifier = yes + modifier = { + factor = 2 + free_building_slots <= 1 + } + modifier = { + factor = 0 + building_farm_estates_requirement_terrain = yes + NOT = { + has_building_or_higher = farm_estates_01 + } + } + modifier = { + factor = 0 + building_cereal_fields_requirement_terrain = yes + NOT = { + has_building_or_higher = cereal_fields_01 + } + } + } +} + +sacred_pool_02 = { + construction_time = standard_construction_time + + can_construct_potential = { + has_building_or_higher = temple_citadel_01 + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = may_build_sacred_pools_ahead_of_time + } + } + } + scope:holder.culture = { + has_innovation = innovation_city_planning + } + } + trigger_else = { + culture = { + has_cultural_parameter = may_build_sacred_pools_ahead_of_time + } + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_2_cost + + character_modifier = { + monthly_piety_gain_mult = 0.02 + } + + county_modifier = { + county_opinion_add = 5 + } + + province_modifier = { + defender_holding_advantage = poor_building_advantage_tier_2 + tax_per_piety_level = super_poor_building_tax_tier_2 + } + + county_culture_modifier = { + parameter = sacred_pool_additional_bonuses + build_gold_cost = -0.02 + development_growth_factor = normal_building_development_growth_factor_tier_2 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = sacred_pool_03 + ai_value = { + base = 9 + ai_general_building_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +sacred_pool_03 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_02 + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = may_build_sacred_pools_ahead_of_time + } + } + } + culture = { + has_innovation = innovation_manorialism + } + } + trigger_else = { + culture = { + has_cultural_parameter = may_build_sacred_pools_ahead_of_time + } + scope:holder.culture = { + has_innovation = innovation_city_planning + } + } + + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_3_cost + + character_modifier = { + monthly_piety_gain_mult = 0.03 + } + + county_modifier = { + county_opinion_add = 10 + } + + province_modifier = { + defender_holding_advantage = poor_building_advantage_tier_3 + tax_per_piety_level = super_poor_building_tax_tier_3 + } + + county_culture_modifier = { + parameter = sacred_pool_additional_bonuses + build_gold_cost = -0.03 + development_growth_factor = normal_building_development_growth_factor_tier_3 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = sacred_pool_04 + ai_value = { + base = 8 + ai_general_building_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +sacred_pool_04 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_02 + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = may_build_sacred_pools_ahead_of_time + } + } + } + culture = { + has_innovation = innovation_manorialism + } + } + trigger_else = { + culture = { + has_cultural_parameter = may_build_sacred_pools_ahead_of_time + } + scope:holder.culture = { + has_innovation = innovation_city_planning + } + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_4_cost + + character_modifier = { + monthly_piety_gain_mult = 0.04 + } + + county_modifier = { + county_opinion_add = 10 + } + + province_modifier = { + defender_holding_advantage = poor_building_advantage_tier_4 + tax_per_piety_level = super_poor_building_tax_tier_4 + } + + county_culture_modifier = { + parameter = sacred_pool_additional_bonuses + build_gold_cost = -0.04 + development_growth_factor = normal_building_development_growth_factor_tier_4 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = sacred_pool_05 + ai_value = { + base = 7 + ai_general_building_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +sacred_pool_05 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_03 + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = may_build_sacred_pools_ahead_of_time + } + } + } + culture = { + has_innovation = innovation_windmills + } + } + trigger_else = { + culture = { + has_cultural_parameter = may_build_sacred_pools_ahead_of_time + } + scope:holder.culture = { + has_innovation = innovation_manorialism + } + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_5_cost + + character_modifier = { + monthly_piety_gain_mult = 0.05 + } + + county_modifier = { + county_opinion_add = 15 + } + + province_modifier = { + defender_holding_advantage = poor_building_advantage_tier_5 + tax_per_piety_level = super_poor_building_tax_tier_5 + } + + county_culture_modifier = { + parameter = sacred_pool_additional_bonuses + build_gold_cost = -0.05 + development_growth_factor = normal_building_development_growth_factor_tier_5 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = sacred_pool_06 + ai_value = { + base = 6 + ai_general_building_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +sacred_pool_06 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_03 + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = may_build_sacred_pools_ahead_of_time + } + } + } + culture = { + has_innovation = innovation_windmills + } + } + trigger_else = { + culture = { + has_cultural_parameter = may_build_sacred_pools_ahead_of_time + } + scope:holder.culture = { + has_innovation = innovation_manorialism + } + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_6_cost + + character_modifier = { + monthly_piety_gain_mult = 0.06 + } + + county_modifier = { + county_opinion_add = 15 + } + + province_modifier = { + defender_holding_advantage = poor_building_advantage_tier_6 + tax_per_piety_level = super_poor_building_tax_tier_6 + } + + county_culture_modifier = { + parameter = sacred_pool_additional_bonuses + build_gold_cost = -0.06 + development_growth_factor = normal_building_development_growth_factor_tier_6 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = sacred_pool_07 + ai_value = { + base = 5 + ai_general_building_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +sacred_pool_07 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_04 + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = may_build_sacred_pools_ahead_of_time + } + } + } + culture = { + has_innovation = innovation_cranes + } + } + trigger_else = { + culture = { + has_cultural_parameter = may_build_sacred_pools_ahead_of_time + } + scope:holder.culture = { + has_innovation = innovation_windmills + } + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_7_cost + + character_modifier = { + monthly_piety_gain_mult = 0.07 + } + + county_modifier = { + county_opinion_add = 20 + } + + province_modifier = { + defender_holding_advantage = poor_building_advantage_tier_7 + tax_per_piety_level = super_poor_building_tax_tier_7 + } + + county_culture_modifier = { + parameter = sacred_pool_additional_bonuses + build_gold_cost = -0.07 + development_growth_factor = normal_building_development_growth_factor_tier_7 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = sacred_pool_08 + ai_value = { + base = 4 + ai_general_building_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +sacred_pool_08 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_03 + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = may_build_sacred_pools_ahead_of_time + } + } + } + culture = { + has_innovation = innovation_cranes + } + } + trigger_else = { + culture = { + has_cultural_parameter = may_build_sacred_pools_ahead_of_time + } + scope:holder.culture = { + has_innovation = innovation_windmills + } + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_8_cost + + character_modifier = { + monthly_piety_gain_mult = 0.08 + } + + county_modifier = { + county_opinion_add = 20 + } + + province_modifier = { + defender_holding_advantage = poor_building_advantage_tier_8 + tax_per_piety_level = super_poor_building_tax_tier_8 + } + + county_culture_modifier = { + parameter = sacred_pool_additional_bonuses + build_gold_cost = -0.08 + development_growth_factor = normal_building_development_growth_factor_tier_8 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + ai_value = { + base = 3 + ai_general_building_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + + +### Vihara Halls + +vihara_halls_01 = { + construction_time = standard_construction_time + + can_construct_potential = { + has_building_or_higher = temple_citadel_01 + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_1_cost + + levy = small_building_levy_tier_1 + + county_holder_character_modifier = { + owned_legend_spread_mult = 0.05 + legitimacy_gain_mult = 0.01 + } + + county_modifier = { + monthly_county_control_growth_add = 0.1 + development_growth = low_building_development_growth_tier_1 + } + + character_modifier = { + monthly_piety = 0.1 + monthly_dynasty_prestige = 0.01 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = vihara_halls_02 + + type_icon = "icon_structure_vihara_halls.dds" + + ai_value = { + base = 10 + ai_tier_1_building_modifier = yes + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_tier_1_pious_building_preference_modifier = yes + modifier = { + factor = 2 + free_building_slots <= 1 + } + modifier = { + factor = 0 + building_farm_estates_requirement_terrain = yes + NOT = { + has_building_or_higher = farm_estates_01 + } + } + modifier = { + factor = 0 + building_cereal_fields_requirement_terrain = yes + NOT = { + has_building_or_higher = cereal_fields_01 + } + } + } +} + +vihara_halls_02 = { + construction_time = standard_construction_time + + can_construct_potential = { + has_building_or_higher = temple_citadel_01 + culture = { + has_innovation = innovation_city_planning + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_2_cost + + levy = small_building_levy_tier_2 + + county_holder_character_modifier = { + owned_legend_spread_mult = 0.1 + legitimacy_gain_mult = 0.02 + } + + character_modifier = { + monthly_piety = 0.2 + monthly_dynasty_prestige = 0.02 + } + + county_modifier = { + monthly_county_control_growth_add = 0.2 + development_growth = low_building_development_growth_tier_2 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = vihara_halls_03 + ai_value = { + base = 9 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +vihara_halls_03 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_02 + culture = { + has_innovation = innovation_manorialism + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_3_cost + + levy = small_building_levy_tier_3 + + county_holder_character_modifier = { + owned_legend_spread_mult = 0.15 + legitimacy_gain_mult = 0.03 + } + + character_modifier = { + monthly_piety = 0.3 + monthly_dynasty_prestige = 0.03 + } + + county_modifier = { + monthly_county_control_growth_add = 0.3 + development_growth = low_building_development_growth_tier_3 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = vihara_halls_04 + ai_value = { + base = 8 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +vihara_halls_04 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_02 + culture = { + has_innovation = innovation_manorialism + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_4_cost + + levy = small_building_levy_tier_4 + + county_holder_character_modifier = { + owned_legend_spread_mult = 0.2 + legitimacy_gain_mult = 0.04 + } + + character_modifier = { + monthly_piety = 0.4 + monthly_dynasty_prestige = 0.04 + } + + county_modifier = { + monthly_county_control_growth_add = 0.4 + development_growth = low_building_development_growth_tier_4 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = vihara_halls_05 + ai_value = { + base = 7 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +vihara_halls_05 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_03 + culture = { + has_innovation = innovation_windmills + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_5_cost + + levy = small_building_levy_tier_5 + + county_holder_character_modifier = { + owned_legend_spread_mult = 0.25 + legitimacy_gain_mult = 0.05 + } + + character_modifier = { + monthly_piety = 0.5 + monthly_dynasty_prestige = 0.05 + } + + county_modifier = { + monthly_county_control_growth_add = 0.5 + development_growth = low_building_development_growth_tier_5 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = vihara_halls_06 + ai_value = { + base = 6 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +vihara_halls_06 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_03 + culture = { + has_innovation = innovation_windmills + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_6_cost + + levy = small_building_levy_tier_6 + + county_holder_character_modifier = { + owned_legend_spread_mult = 0.3 + legitimacy_gain_mult = 0.06 + } + + character_modifier = { + monthly_piety = 0.6 + monthly_dynasty_prestige = 0.06 + } + + county_modifier = { + monthly_county_control_growth_add = 0.6 + development_growth = low_building_development_growth_tier_6 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = vihara_halls_07 + ai_value = { + base = 5 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +vihara_halls_07 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_04 + culture = { + has_innovation = innovation_cranes + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_7_cost + + levy = small_building_levy_tier_7 + + county_holder_character_modifier = { + owned_legend_spread_mult = 0.35 + legitimacy_gain_mult = 0.07 + } + + character_modifier = { + monthly_piety = 0.7 + monthly_dynasty_prestige = 0.07 + } + + county_modifier = { + monthly_county_control_growth_add = 0.7 + development_growth = low_building_development_growth_tier_7 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + next_building = vihara_halls_08 + ai_value = { + base = 4 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} + +vihara_halls_08 = { + construction_time = standard_construction_time + + can_construct = { + has_building_or_higher = temple_citadel_03 + culture = { + has_innovation = innovation_cranes + } + has_dlc = "All Under Heaven" + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + cost_gold = normal_building_tier_8_cost + + levy = small_building_levy_tier_8 + + county_holder_character_modifier = { + owned_legend_spread_mult = 0.4 + legitimacy_gain_mult = 0.08 + } + + character_modifier = { + monthly_piety = 0.8 + monthly_dynasty_prestige = 0.08 + } + + county_modifier = { + monthly_county_control_growth_add = 0.8 + development_growth = low_building_development_growth_tier_8 + } + + on_complete = { + #Regular Mandala Boon + mandala_built_piety_building_effect = yes + } + + ai_value = { + base = 3 + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + ai_economical_building_preference_modifier = yes + ai_pious_building_preference_modifier = yes + modifier = { # Fill all building slots before going for upgrades + factor = 0 + free_building_slots > 0 + } + } +} diff --git a/N3OW/common/buildings/tgp_great_project_buildings.txt b/N3OW/common/buildings/tgp_great_project_buildings.txt new file mode 100644 index 00000000..425b19e9 --- /dev/null +++ b/N3OW/common/buildings/tgp_great_project_buildings.txt @@ -0,0 +1,669 @@ +################## +# Mandala Capital (Temple Complex) +################## + +# USED IN CODE, DO NOT RENAME OR REMOVE +mandala_capital_01 = { + + type_icon = "tgp_icon_building_mandala_capital_tier_01.dds" + + #We only build this through Decision -> Great Projects + can_construct_potential = { + always = no #This should never show up + } + + asset = { + type = entity + name = "tgp_great_building_mandala_capital_01_entity" + } + + is_enabled = { + #It needs to be your capital + scope:county.holder = { + government_has_flag = government_is_mandala + capital_province = root #The province + } + } + + show_disabled = yes + + rebuild_cost = { + gold = { + if = { + limit = { is_ai = yes } + value = ai_rebuild_value + } + else = { value = standard_rebuild_value } + } + piety = { + if = { + limit = { is_ai = yes } + value = ai_rebuild_value + } + else = { value = standard_rebuild_value } + } + } + + can_rebuild = { + scope:county.holder = { + custom_tooltip = { + text = not_already_full_on_mandala_capitals + less_than_max_amount_of_mandala_capitals_trigger = yes + } + } + } + + character_modifier = { + domain_limit = 1 + court_grandeur_baseline_add = 1 #Most likely you don't have a court yet + vassal_limit_max = 1 #Added to the base for Mandala of 3 Max + domain_limit_max = 1 + monthly_county_control_growth_add = 0.1 + } + + province_modifier = { + stationed_maa_damage_mult = 0.1 + levy_size = 0.15 + garrison_size = 0.15 + monthly_income = 0.2 + } + + county_modifier = { + development_growth = 0.1 + tax_mult = 0.1 + } + + fallback = { + province_modifier = { + monthly_income = 0.1 + } + } + + next_building = mandala_capital_02 + + type = great_building + is_mandala_capital = yes + + flag = mandala_capital_building + flag = first_tier_mandala_capital_building + +} + +mandala_capital_02 = { + + type_icon = "tgp_icon_building_mandala_capital_tier_02.dds" + + #We only build this through Decision -> Great Projects + can_construct_potential = { + scope:holder.capital_province = { has_building_with_flag = first_tier_mandala_capital_building } + } + + asset = { + type = entity + name = "tgp_great_building_mandala_capital_02_entity" + } + + is_enabled = { + #It needs to be your capital + scope:holder = { + government_has_flag = government_is_mandala + capital_province = root #The province + } + } + can_rebuild = { + scope:county.holder = { + custom_tooltip = { + text = not_already_full_on_mandala_capitals + less_than_max_amount_of_mandala_capitals_trigger = yes + } + } + } + + show_disabled = yes + + rebuild_cost = { + gold = { + if = { + limit = { is_ai = yes } + value = ai_rebuild_value + } + else = { + value = { + add = standard_rebuild_value + multiply = 1.25 + } + } + } + piety = { + if = { + limit = { is_ai = yes } + value = ai_rebuild_value + } + else = { + value = { + add = standard_rebuild_value + multiply = 1.25 + } + } + } + } + + character_modifier = { + domain_limit = 1 + court_grandeur_baseline_add = 3 + vassal_limit_max = 2 #Added to the base for Mandala of 4 Max + monthly_county_control_growth_add = 0.15 + domain_limit_max = 2 + } + + province_modifier = { + stationed_maa_damage_mult = 0.1 + levy_size = 0.25 + garrison_size = 0.25 + monthly_income = 0.4 + } + + county_modifier = { + development_growth = 0.15 + tax_mult = 0.2 + } + + fallback = { + province_modifier = { + monthly_income = 0.1 + } + } + + next_building = mandala_capital_03 + great_project_type = mandala_capital_02 + is_mandala_capital = yes + + type = great_building + + flag = mandala_capital_building + flag = second_tier_mandala_capital_building + +} + +mandala_capital_03 = { + + type_icon = "tgp_icon_building_mandala_capital_tier_03.dds" + + #We only build this through Decision -> Great Projects + can_construct_potential = { + scope:holder.capital_province = { has_building_with_flag = second_tier_mandala_capital_building } + } + + asset = { + type = entity + name = "tgp_great_building_mandala_capital_03_entity" + } + + is_enabled = { + #It needs to be your capital + scope:holder = { + government_has_flag = government_is_mandala + capital_province = root #The province + } + } + can_rebuild = { + scope:county.holder = { + custom_tooltip = { + text = not_already_full_on_mandala_capitals + less_than_max_amount_of_mandala_capitals_trigger = yes + } + } + } + + show_disabled = yes + + rebuild_cost = { + gold = { + if = { + limit = { is_ai = yes } + value = ai_rebuild_value + } + else = { + value = { + add = standard_rebuild_value + multiply = 1.5 + } + } + } + piety = { + if = { + limit = { is_ai = yes } + value = ai_rebuild_value + } + else = { + value = { + add = standard_rebuild_value + multiply = 1.5 + } + } + } + } + + character_modifier = { + domain_limit = 2 + court_grandeur_baseline_add = 5 + vassal_limit_max = 8 #Added to the base for Mandala of 10 Max + monthly_county_control_growth_add = 0.2 + diplomatic_range_mult = 0.15 + domain_limit_max = 3 + } + + province_modifier = { + stationed_maa_damage_mult = 0.1 + levy_size = 0.35 + garrison_size = 0.35 + monthly_income = 0.5 + } + + county_modifier = { + development_growth = 0.2 + tax_mult = 0.25 + } + + fallback = { + province_modifier = { + monthly_income = 0.1 + } + } + + next_building = mandala_capital_04 + great_project_type = mandala_capital_03 + is_mandala_capital = yes + + type = great_building + + flag = mandala_capital_building + flag = third_tier_mandala_capital_building + +} + +mandala_capital_04 = { + + type_icon = "tgp_icon_building_mandala_capital_tier_04.dds" + + #We only build this through Decision -> Great Projects + can_construct_potential = { + scope:holder.capital_province = { has_building_with_flag = third_tier_mandala_capital_building } + } + + asset = { + type = entity + name = "tgp_great_building_mandala_capital_04_entity" + } + + is_enabled = { + #It needs to be your capital + scope:holder = { + government_has_flag = government_is_mandala + capital_province = root #The province + } + } + can_rebuild = { + scope:county.holder = { + custom_tooltip = { + text = not_already_full_on_mandala_capitals + less_than_max_amount_of_mandala_capitals_trigger = yes + } + } + } + + show_disabled = yes + + rebuild_cost = { + gold = { + if = { + limit = { is_ai = yes } + value = ai_rebuild_value + } + else = { + value = { + add = standard_rebuild_value + multiply = 1.75 + } + } + } + piety = { + if = { + limit = { is_ai = yes } + value = ai_rebuild_value + } + else = { + value = { + add = standard_rebuild_value + multiply = 1.75 + } + } + } + } + + character_modifier = { + domain_limit = 3 + court_grandeur_baseline_add = 7 + vassal_limit_max = 16 #Added to the base for Mandala of 18 Max + monthly_county_control_growth_add = 0.25 + diplomatic_range_mult = 0.25 + diplomatic_range_mult = 0.2 + domain_limit_max = 5 + } + + province_modifier = { + stationed_maa_damage_mult = 0.1 + levy_size = 0.4 + garrison_size = 0.5 + monthly_income = 0.5 + } + + county_modifier = { + development_growth = 0.3 + tax_mult = 0.3 + } + + fallback = { + province_modifier = { + monthly_income = 0.1 + } + } + + next_building = mandala_capital_05 + great_project_type = mandala_capital_04 + is_mandala_capital = yes + + type = great_building + + flag = mandala_capital_building + flag = fourth_tier_mandala_capital_building + +} + +mandala_capital_05 = { + + type_icon = "tgp_icon_building_mandala_capital_tier_05.dds" + + #We only build this through Decision -> Great Projects + can_construct_potential = { + scope:holder.capital_province = { has_building_with_flag = fourth_tier_mandala_capital_building } + } + + asset = { + type = entity + name = "tgp_great_building_mandala_capital_05_entity" + } + + is_enabled = { + #It needs to be your capital + scope:holder = { + government_has_flag = government_is_mandala + capital_province = root #The province + } + } + can_rebuild = { + scope:county.holder = { + custom_tooltip = { + text = not_already_full_on_mandala_capitals + less_than_max_amount_of_mandala_capitals_trigger = yes + } + } + } + + show_disabled = yes + + rebuild_cost = { + gold = { + if = { + limit = { is_ai = yes } + value = ai_rebuild_value + } + else = { + value = { + add = standard_rebuild_value + multiply = 2 + } + } + } + piety = { + if = { + limit = { is_ai = yes } + value = ai_rebuild_value + } + else = { + value = { + add = standard_rebuild_value + multiply = 2 + } + } + } + } + + character_modifier = { + domain_limit = 4 + court_grandeur_baseline_add = 10 + vassal_limit_max = 28 #Added to the base for Mandala of 30 Max + monthly_county_control_growth_add = 0.35 + diplomatic_range_mult = 0.3 + domain_limit_max = 7 + } + + province_modifier = { + stationed_maa_damage_mult = 0.1 + monthly_income = 0.75 + } + + county_modifier = { + development_growth = 0.4 + tax_mult = 0.35 + levy_size = 0.5 + garrison_size = 0.5 + } + + fallback = { + province_modifier = { + monthly_income = 0.1 + } + } + + great_project_type = mandala_capital_05 + is_mandala_capital = yes + + type = great_building + + flag = mandala_capital_building + flag = final_tier_mandala_capital_building + +} + +# Great Barracks +celestial_great_barracks_01 = { + effect_desc = { + desc = unlocks_building_desc + desc = celestial_great_barracks_effect_desc + } + + type_icon = "icon_structure_celestial_great_barracks.dds" + + can_construct_potential = { + always = no # This building is the result of a great project + } + + # Only enabled for military governors - Viable for all admin types though + is_enabled = { + county.holder = { + has_title = prev.duchy + custom_tooltip = { + text = celestial_great_barracks_enabled_desc + OR = { + vassal_contract_has_flag = celestial_military_appointment # Only for celestial military governors + government_has_flag = government_is_administrative # All regular admin types are eligible + is_independent_ruler = yes # The top liege can always use it + } + } + } + } + + show_disabled = yes + + cost_gold = expensive_building_tier_2_cost + + character_modifier = { + monthly_influence_mult = 0.05 + men_at_arms_title_limit = 1 + men_at_arms_title_cap = 1 + men_at_arms_recruitment_cost = -0.1 + men_at_arms_maintenance = -0.12 + } + + duchy_capital_county_modifier = { + supply_limit_mult = 1 + garrison_size = 1.5 + hostile_raid_time = 0.5 + defender_holding_advantage = 15 + additional_fort_level = normal_building_fort_level_tier_6 + travel_danger = -30 + monthly_county_control_growth_add = 0.2 + } + + type = duchy_capital +} + +# The Great Wall - Qin Era +the_great_wall_01 = { + type_icon = "icon_structure_the_great_wall.dds" + + can_construct_potential = { + } + + is_enabled = { + } + + show_disabled = yes + + province_modifier = { + fort_level = 1 + hostile_raid_time = 0.1 + defender_holding_advantage = 2 + } + + type = great_building +} + +# The Great Wall - Han Era +the_great_wall_02 = { + type_icon = "icon_structure_the_great_wall.dds" + + can_construct_potential = { + } + + is_enabled = { + } + + show_disabled = yes + + province_modifier = { + fort_level = 2 + hostile_raid_time = 0.2 + stationed_maa_toughness_mult = 0.05 + defender_holding_advantage = 4 + } + + type = great_building +} + +# The Great Wall - Northern Wei/Qi/Sui Era (we bundle these together since they overlap somewhat) +the_great_wall_03 = { + type_icon = "icon_structure_the_great_wall.dds" + + can_construct_potential = { + } + + is_enabled = { + } + + show_disabled = yes + + province_modifier = { + fort_level = 3 + hostile_raid_time = 0.3 + stationed_maa_toughness_mult = 0.05 + defender_holding_advantage = 6 + } + + type = great_building +} + +# The Great Wall - Ming Era (this is also what you can build in-game) +the_great_wall_04 = { + type_icon = "icon_structure_the_great_wall.dds" + + can_construct_potential = { + } + + is_enabled = { + } + + show_disabled = yes + + province_modifier = { + fort_level = 5 + hostile_raid_time = 0.5 + stationed_maa_toughness_mult = 0.05 + defender_holding_advantage = 8 + } + + type = great_building +} + +the_great_wall_shanhai_pass = { + asset = { + type = pdxmesh + name = "tgp_great_wall_04_mesh" + } + + type_icon = "icon_structure_the_great_wall.dds" + + can_construct_potential = { + } + + is_enabled = { + } + + show_disabled = yes + + province_modifier = { + fort_level = 5 + hostile_raid_time = 0.5 + stationed_maa_toughness_mult = 0.05 + defender_holding_advantage = 8 + } + + type = great_building +} + +the_great_wall_liaodong = { + asset = { + type = pdxmesh + name = "tgp_great_wall_05_mesh" + } + + type_icon = "icon_structure_the_great_wall.dds" + + can_construct_potential = { + } + + is_enabled = { + } + + show_disabled = yes + + province_modifier = { + fort_level = 5 + hostile_raid_time = 0.5 + stationed_maa_toughness_mult = 0.05 + defender_holding_advantage = 8 + } + + type = great_building +} diff --git a/N3OW/common/governments/00_government_types.txt b/N3OW/common/governments/00_government_types.txt index 33861688..b3297961 100644 --- a/N3OW/common/governments/00_government_types.txt +++ b/N3OW/common/governments/00_government_types.txt @@ -42,60 +42,69 @@ feudal_government = { } republic_government = { - primary_holding = city_holding - valid_holdings = { castle_holding } - required_county_holdings = { city_holding castle_holding church_holding } - government_rules = { - inherit_from_dynastic_government = no create_cadet_branches = yes - legitimacy = yes - inherit_from_dynastic_government = no - noble_families = yes - treasury = yes - administrative = yes + rulers_should_have_dynasty = yes + dynasty_named_realms = no landless_playable = yes - replace_gold_cost_by_treasury = yes - admin_allows_holding_multiple_primary_tier_titles = yes - sticky_government = yes + legitimacy = yes + administrative = yes use_as_base_on_landed = yes - house_aspirations = yes use_as_base_on_rank_up = yes + inherit_from_dynastic_government = no + sticky_government = yes + house_aspirations = yes + noble_families = yes + admin_allows_holding_multiple_primary_tier_titles = yes + treasury = yes + replace_gold_cost_by_treasury = yes } + + + domicile_type = estate main_administrative_tier = county min_appointment_tier = county minimum_provincial_maa_tier = county - fallback = 2 + fallback = 3 + + primary_holding = city_holding + valid_holdings = { castle_holding temple_citadel_holding } + required_county_holdings = { city_holding castle_holding church_holding } + vassal_contract_group = republic_vassal character_modifier = { - # Vassals get Treasury income that is this percentage less than their taxes to their liege monthly_treasury_from_liege_mult = -0.15 + men_at_arms_maintenance = 0.75 + men_at_arms_recruitment_cost = 0.75 } top_liege_character_modifier = { # 85% of vassal income goes to the treasury monthly_treasury_from_vassals = 0.85 + men_at_arms_maintenance = 0.75 + men_at_arms_recruitment_cost = 0.75 } # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). flags = { - government_is_special_republic - government_is_special_administrative government_is_administrative + + # These flags only exist for loc and in-game descriptions government_has_influence + government_has_treasury + government_is_special_administrative + government_has_title_men_at_arms government_has_powerful_families government_is_settled - government_uses_domain_limit - government_has_treasury government_uses_domicile_but_not_adventurer + government_uses_domain_limit government_has_house_blocs } - + mechanic_type = administrative - domicile_type = estate color = hsv{ 0.00 1.00 0.98 } realm_mask_offset = { 0.0 -0.01 } realm_mask_scale = { 1 1 } diff --git a/N3OW/common/holdings/00_holdings.txt b/N3OW/common/holdings/00_holdings.txt index afd557b6..93b43899 100644 --- a/N3OW/common/holdings/00_holdings.txt +++ b/N3OW/common/holdings/00_holdings.txt @@ -11,6 +11,7 @@ ramparts_01 farm_estates_01 cereal_fields_01 + paddy_fields_01 pastures_01 peat_quarries_01 hill_farms_01 @@ -34,16 +35,19 @@ caravanserai_01 workshops_01 wind_furnace_01 - + powder_magazine_01 common_tradeport_01 hall_of_heroes_01 special_sicilian_parliament_01 special_greenhouse_01 qanats_01 murex_farm_01 - - #NEOW - tell_mines_01 + waterworks_01 + spice_plantation_01 + oath_warriors_building_01 + oath_faithful_building_01 + oath_poor_building_01 + monastic_schools_01 # only for the monastic_schools_allowed_in_every_holding_type faith tenet } } @@ -56,11 +60,23 @@ tribal_holding = { longhouses_01 market_villages_01 + idjang_forts_01 + wantilan_01 + kora_kora_yards_01 + water_temples_01 + stilted_granaries_01 + hillside_grazing_01 warrior_lodges_01 horse_pastures_01 common_tradeport_01 # only for trade_ports_enabled_for_tribals culture parameter + + oath_warriors_building_01 + oath_faithful_building_01 + oath_poor_building_01 + + monastic_schools_01 # only for the monastic_schools_allowed_in_every_holding_type faith tenet } } @@ -71,6 +87,7 @@ city_holding = { outposts_01 farm_estates_01 cereal_fields_01 + paddy_fields_01 pastures_01 peat_quarries_01 hill_farms_01 @@ -100,11 +117,16 @@ city_holding = { common_tradeport_01 qanats_01 murex_farm_01 + waterworks_01 + spice_plantation_01 breweries_01 + + oath_warriors_building_01 + oath_faithful_building_01 + oath_poor_building_01 - #NEOW - tell_mines_01 + monastic_schools_01 # only for the monastic_schools_allowed_in_every_holding_type faith tenet } can_be_inherited = yes @@ -118,6 +140,7 @@ church_holding = { outposts_01 farm_estates_01 cereal_fields_01 + paddy_fields_01 pastures_01 peat_quarries_01 hill_farms_01 @@ -148,11 +171,13 @@ church_holding = { common_tradeport_01 hall_of_heroes_01 qanats_01 + waterworks_01 breweries_01 - #NEOW - tell_mines_01 + oath_warriors_building_01 + oath_faithful_building_01 + oath_poor_building_01 } can_be_inherited = yes @@ -186,3 +211,56 @@ herder_holding = { county_fertility } } + +temple_citadel_holding = { + primary_building = temple_citadel_01 + buildings = { + citadel_shrine_01 + sacred_pool_01 + vihara_halls_01 + waterworks_01 + spice_plantation_01 + + capital_bureau_01 + + scriptorium_01 + monastic_schools_01 + megalith_01 + + hospices_01 + farm_estates_01 + cereal_fields_01 + paddy_fields_01 + pastures_01 + peat_quarries_01 + hill_farms_01 + logging_camps_01 + plantations_01 + quarries_01 + orchards_01 + elephant_pens_01 + regimental_grounds_01 + barracks_01 + military_camps_01 + camel_farms_01 + stables_01 + smiths_01 + hillside_grazing_01 + warrior_lodges_01 + horse_pastures_01 + windmills_01 + watermills_01 + caravanserai_01 + workshops_01 + wind_furnace_01 + powder_magazine_01 + + common_tradeport_01 + hall_of_heroes_01 + qanats_01 + + breweries_01 + } + + can_be_inherited = yes +} From 1cef62d28850ab12a74011f9f4ff9852dc38427a Mon Sep 17 00:00:00 2001 From: Magpie490 Date: Tue, 4 Nov 2025 12:37:46 +0000 Subject: [PATCH 11/20] odd --- N3OW/common/landed_titles/noble_families.txt | 29 +++++++++ N3OW/history/titles/NEOW_admin_titles.txt | 50 ++++++++------- .../localization/english/titles_l_english.yml | 61 ++++++++++--------- 3 files changed, 90 insertions(+), 50 deletions(-) diff --git a/N3OW/common/landed_titles/noble_families.txt b/N3OW/common/landed_titles/noble_families.txt index e69de29b..97a9ccd8 100644 --- a/N3OW/common/landed_titles/noble_families.txt +++ b/N3OW/common/landed_titles/noble_families.txt @@ -0,0 +1,29 @@ + +c_nf_barabino = { + color = { 100 100 100 } + capital = c_genoa + + definite_form = yes + landless = yes + ruler_uses_title_name = no + always_follows_primary_heir = yes + no_automatic_claims = yes + noble_family = yes + destroy_if_invalid_heir = yes + + ai_primary_priority = { add = @never_primary_score } +} +c_nf_cyflymarhyan = { # Cyflymarhyan (Quicksilver) + color = { 100 100 100 } + capital = c_london + + definite_form = yes + landless = yes + ruler_uses_title_name = no + always_follows_primary_heir = yes + no_automatic_claims = yes + noble_family = yes + destroy_if_invalid_heir = yes + + ai_primary_priority = { add = @never_primary_score } +} \ No newline at end of file diff --git a/N3OW/history/titles/NEOW_admin_titles.txt b/N3OW/history/titles/NEOW_admin_titles.txt index c0bb02a3..0a213f7e 100644 --- a/N3OW/history/titles/NEOW_admin_titles.txt +++ b/N3OW/history/titles/NEOW_admin_titles.txt @@ -1,4 +1,4 @@ -d_nf_spatstony = { # Spatstony +c_nf_spatstony = { # Spatstony 2505.1.1 = { liege = e_britannia holder = france0014 # Jamys Spatstony @@ -13,7 +13,15 @@ } } -d_nf_cyflymarhyan = { # Cyflymarhyan (Quicksilver) +c_nf_barabino = { # Barabino + 2554.1.1 = { + liege = c_genoa + holder = italy0021 + government = republic_government + succession_laws = { noble_family_succession_law } + } +} +c_nf_cyflymarhyan = { # Cyflymarhyan (Quicksilver) 2530.1.1 = { liege = e_britannia holder = britannia_cyflymarhyan_frydyryk #Freddy Mercury @@ -22,7 +30,7 @@ d_nf_cyflymarhyan = { # Cyflymarhyan (Quicksilver) } } -d_nf_said = { # Al-Said +c_nf_said = { # Al-Said 2536.1.1 = { liege = e_britannia holder = britannia_said_palamedes #Palamedes Al-Said @@ -31,7 +39,7 @@ d_nf_said = { # Al-Said } } -d_nf_starr = { # Starr +c_nf_starr = { # Starr 2499.1.1 = { liege = e_britannia holder = britannia_starr_cory #Cory Starr @@ -40,7 +48,7 @@ d_nf_starr = { # Starr } } -d_nf_giray = { # Giray +c_nf_giray = { # Giray 2540.1.1 = { liege = e_britannia holder = britannia_giray_basenzhabu #Mohamydd Giray @@ -49,7 +57,7 @@ d_nf_giray = { # Giray } } -d_nf_flamank = { # Flamank +c_nf_flamank = { # Flamank 2554.1.1 = { liege = e_britannia holder = britannia_flamank_tristan #Tristan Flamank @@ -58,7 +66,7 @@ d_nf_flamank = { # Flamank } } -d_nf_tudorh = { # Tudorh +c_nf_tudorh = { # Tudorh 2536.1.1 = { liege = e_britannia holder = britannia_tudorh_hynrhy #Hynrhy Tudorh @@ -67,7 +75,7 @@ d_nf_tudorh = { # Tudorh } } -d_nf_elgarh = { # Elgarh +c_nf_elgarh = { # Elgarh 2526.1.1 = { liege = e_britannia holder = britannia_elgarh_robyrt #Robert Elgarh @@ -76,7 +84,7 @@ d_nf_elgarh = { # Elgarh } } -d_nf_wall = { # Wall +c_nf_wall = { # Wall 2540.1.1 = { liege = e_britannia holder = britannia_wall_williaim #Williaim Wall @@ -85,7 +93,7 @@ d_nf_wall = { # Wall } } -d_nf_rholls_rhoycy = { # Rolls-Rhoycy +c_nf_rholls_rhoycy = { # Rolls-Rhoycy 2551.1.1 = { liege = e_britannia holder = britannia_rholls_rhoycy_bynjamyn #Bynjamyn Rolls-Rhoycy @@ -94,7 +102,7 @@ d_nf_rholls_rhoycy = { # Rolls-Rhoycy } } -d_nf_nelson = { # Nelson +c_nf_nelson = { # Nelson 2547.1.1 = { liege = e_britannia holder = britannia_nelson_boudica #Boudica Nelson @@ -103,7 +111,7 @@ d_nf_nelson = { # Nelson } } -d_nf_solomonid = { # Solomonid +c_nf_solomonid = { # Solomonid 2540.1.1 = { liege = e_britannia holder = britannia_solomonid_arthur #Arthur Solomonid @@ -112,7 +120,7 @@ d_nf_solomonid = { # Solomonid } } -d_nf_windsor = { # Windsor +c_nf_windsor = { # Windsor 2549.1.1 = { liege = e_britannia holder = britannia_windsor_george #George Windsor @@ -121,7 +129,7 @@ d_nf_windsor = { # Windsor } } -d_nf_gibb = { # Gibb +c_nf_gibb = { # Gibb 2544.1.1 = { liege = e_britannia holder = britannia_gibb_illiam #Illiam Gibb @@ -130,7 +138,7 @@ d_nf_gibb = { # Gibb } } -d_nf_newton = { # Newton +c_nf_newton = { # Newton 2544.1.1 = { liege = e_britannia holder = britannia_newton_margaret #Magaret Newton @@ -139,7 +147,7 @@ d_nf_newton = { # Newton } } -d_nf_hendderswn= { # Newton +c_nf_hendderswn= { # Newton 2544.1.1 = { liege = e_britannia holder = britannia_hendderswn_ddaiwyis #Magaret Newton @@ -148,7 +156,7 @@ d_nf_hendderswn= { # Newton } } -d_nf_jacob = { # Solomonid +c_nf_jacob = { # Solomonid 2540.1.1 = { liege = e_britannia holder = britannia_jacob_colin #Arthur Solomonid @@ -157,7 +165,7 @@ d_nf_jacob = { # Solomonid } } -d_nf_squyrhys = { # Solomonid +c_nf_squyrhys = { # Solomonid 2540.1.1 = { liege = e_britannia holder = britannia_squyrhys_grhufydd #Arthur Solomonid @@ -166,7 +174,7 @@ d_nf_squyrhys = { # Solomonid } } -d_nf_squyrhys = { # Solomonid +c_nf_squyrhys = { # Solomonid 2540.1.1 = { liege = e_britannia holder = britannia_squyrhys_grhufydd #Arthur Solomonid @@ -175,7 +183,7 @@ d_nf_squyrhys = { # Solomonid } } -d_nf_fitsosbern= { # FitsOsbern de Normandy +c_nf_fitsosbern= { # FitsOsbern de Normandy 2550.8.5 = { liege = e_britannia holder = britannia_fitsosbern_horatio #Horatio de Normandy @@ -184,7 +192,7 @@ d_nf_fitsosbern= { # FitsOsbern de Normandy } } -d_nf_wellesley = { # Wellesley +c_nf_wellesley = { # Wellesley 2540.1.1 = { liege = e_britannia holder = britannia_wellesley_oliver #Arthur Solomonid diff --git a/N3OW/localization/english/titles_l_english.yml b/N3OW/localization/english/titles_l_english.yml index 592927ad..bb0d4235 100644 --- a/N3OW/localization/english/titles_l_english.yml +++ b/N3OW/localization/english/titles_l_english.yml @@ -24557,35 +24557,38 @@ k_vasconia_adj: "Vasconian" # Noble families - d_nf_gibb: "$dynn_gibb$ Family" - d_nf_gibb: "$DEFAULT_TITLE_NAME_ARTICLE$" - d_nf_windsor: "$dynn_windsor$ Family" - d_nf_windsor: "$DEFAULT_TITLE_NAME_ARTICLE$" - d_nf_solomonid: "$dynn_solomonid$ Family" - d_nf_solomonid_article: "$DEFAULT_TITLE_NAME_ARTICLE$" - d_nf_nelson: "$dynn_nelson$ Family" - d_nf_nelson_article: "$DEFAULT_TITLE_NAME_ARTICLE$" - d_nf_rholls_rhoycy: "$dynn_rholls_rhoycy$ Family" - d_nf_rholls_rhoycy_article: "$DEFAULT_TITLE_NAME_ARTICLE$" - d_nf_wall: "$dynn_wall$ Family" - d_nf_wall_article: "$DEFAULT_TITLE_NAME_ARTICLE$" - d_nf_elgarh: "$dynn_elgarh$ Family" - d_nf_elgarh_article: "$DEFAULT_TITLE_NAME_ARTICLE$" - d_nf_todorh: "$dynn_tudorh$ Family" - d_nf_todorh_article: "$DEFAULT_TITLE_NAME_ARTICLE$" - d_nf_flamank: "$dynn_flamank$ Family" - d_nf_flamank_article: "$DEFAULT_TITLE_NAME_ARTICLE$" - d_nf_giray: "$dynn_giray$ Family" - d_nf_giray_article: "$DEFAULT_TITLE_NAME_ARTICLE$" - d_nf_starr: "$dynn_starr$ Family" - d_nf_starr_article: "$DEFAULT_TITLE_NAME_ARTICLE$" - d_nf_fitsosbern: "$dynn_fitsosbern$ Family" - d_nf_fitsosbern_article: "$DEFAULT_TITLE_NAME_ARTICLE$" - d_nf_said: "$dynn_said$ Family" - d_nf_spatstony: "$dynn_spatstony$ Family" - d_nf_spatstony_article: "$DEFAULT_TITLE_NAME_ARTICLE$" - d_nf_cyflymarhyan: "$dynn_cyflymarhyan$ Family" - d_nf_cyflymarhyan_article: "$DEFAULT_TITLE_NAME_ARTICLE$" + c_nf_gibb: "$dynn_gibb$ Family" + c_nf_gibb: "$DEFAULT_TITLE_NAME_ARTICLE$" + c_nf_windsor: "$dynn_windsor$ Family" + c_nf_windsor: "$DEFAULT_TITLE_NAME_ARTICLE$" + c_nf_solomonid: "$dynn_solomonid$ Family" + c_nf_solomonid_article: "$DEFAULT_TITLE_NAME_ARTICLE$" + c_nf_nelson: "$dynn_nelson$ Family" + c_nf_nelson_article: "$DEFAULT_TITLE_NAME_ARTICLE$" + c_nf_rholls_rhoycy: "$dynn_rholls_rhoycy$ Family" + c_nf_rholls_rhoycy_article: "$DEFAULT_TITLE_NAME_ARTICLE$" + c_nf_wall: "$dynn_wall$ Family" + c_nf_wall_article: "$DEFAULT_TITLE_NAME_ARTICLE$" + c_nf_elgarh: "$dynn_elgarh$ Family" + c_nf_elgarh_article: "$DEFAULT_TITLE_NAME_ARTICLE$" + c_nf_todorh: "$dynn_tudorh$ Family" + c_nf_todorh_article: "$DEFAULT_TITLE_NAME_ARTICLE$" + c_nf_flamank: "$dynn_flamank$ Family" + c_nf_flamank_article: "$DEFAULT_TITLE_NAME_ARTICLE$" + c_nf_giray: "$dynn_giray$ Family" + c_nf_giray_article: "$DEFAULT_TITLE_NAME_ARTICLE$" + c_nf_starr: "$dynn_starr$ Family" + c_nf_starr_article: "$DEFAULT_TITLE_NAME_ARTICLE$" + c_nf_fitsosbern: "$dynn_fitsosbern$ Family" + c_nf_fitsosbern_article: "$DEFAULT_TITLE_NAME_ARTICLE$" + c_nf_said: "$dynn_said$ Family" + c_nf_said_article: "$DEFAULT_TITLE_NAME_ARTICLE$" + c_nf_spatstony: "$dynn_spatstony$ Family" + c_nf_spatstony_article: "$DEFAULT_TITLE_NAME_ARTICLE$" + c_nf_cyflymarhyan: "$dynn_cyflymarhyan$ Family" + c_nf_cyflymarhyan_article: "$DEFAULT_TITLE_NAME_ARTICLE$" + c_nf_barabino: "$dynn_barabino$ Family" + c_nf_barabino_article: "$DEFAULT_TITLE_NAME_ARTICLE$" d_nf_ampelas: "$dynn_Ampelas$ Family" d_nf_ampelas_article: "$DEFAULT_TITLE_NAME_ARTICLE$" d_nf_aplakes: "$dynn_Aplakes$ Family" From bfe6f38a9134ebd944fc5dc5174a1a10a7c0be9a Mon Sep 17 00:00:00 2001 From: Magpie490 Date: Tue, 4 Nov 2025 12:40:19 +0000 Subject: [PATCH 12/20] Update noble_families.txt --- N3OW/common/landed_titles/noble_families.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/N3OW/common/landed_titles/noble_families.txt b/N3OW/common/landed_titles/noble_families.txt index 97a9ccd8..28db3ead 100644 --- a/N3OW/common/landed_titles/noble_families.txt +++ b/N3OW/common/landed_titles/noble_families.txt @@ -1,3 +1,4 @@ +@never_primary_score = -1000 c_nf_barabino = { color = { 100 100 100 } From 6da9278b82385754a8a59d860a70bfc917fa9bdf Mon Sep 17 00:00:00 2001 From: Magpie490 Date: Tue, 4 Nov 2025 12:45:23 +0000 Subject: [PATCH 13/20] Update 00_government_types.txt --- N3OW/common/governments/00_government_types.txt | 2 ++ 1 file changed, 2 insertions(+) diff --git a/N3OW/common/governments/00_government_types.txt b/N3OW/common/governments/00_government_types.txt index b3297961..7f402a1f 100644 --- a/N3OW/common/governments/00_government_types.txt +++ b/N3OW/common/governments/00_government_types.txt @@ -95,6 +95,7 @@ republic_government = { # These flags only exist for loc and in-game descriptions government_has_influence government_has_treasury + government_has_county_tier_noble_families government_is_special_administrative government_has_title_men_at_arms government_has_powerful_families @@ -496,6 +497,7 @@ administrative_government = { # These flags only exist for loc and in-game descriptions government_has_influence government_has_treasury + government_has_county_tier_noble_families government_is_special_administrative government_has_title_men_at_arms government_has_powerful_families From cc05cc7657c86fba1ffd4588595d4666577803ff Mon Sep 17 00:00:00 2001 From: Magpie490 Date: Tue, 4 Nov 2025 13:04:51 +0000 Subject: [PATCH 14/20] Update 00_government_types.txt --- N3OW/common/governments/00_government_types.txt | 2 -- 1 file changed, 2 deletions(-) diff --git a/N3OW/common/governments/00_government_types.txt b/N3OW/common/governments/00_government_types.txt index 7f402a1f..64a0469f 100644 --- a/N3OW/common/governments/00_government_types.txt +++ b/N3OW/common/governments/00_government_types.txt @@ -102,7 +102,6 @@ republic_government = { government_is_settled government_uses_domicile_but_not_adventurer government_uses_domain_limit - government_has_house_blocs } mechanic_type = administrative @@ -505,7 +504,6 @@ administrative_government = { government_uses_domicile_but_not_adventurer government_uses_domain_limit government_uses_admin_province_obligations - government_has_house_blocs } mechanic_type = administrative From b173529c32cd6e34ebc0bce163fc36ef9c719217 Mon Sep 17 00:00:00 2001 From: Magpie490 Date: Tue, 4 Nov 2025 16:05:01 +0000 Subject: [PATCH 15/20] did it --- N3OW/common/governments/00_government_types.txt | 1 + N3OW/common/on_action/title_on_actions.txt | 9 +++++++++ .../scripted_effects/07_dlc_ep3_scripted_effects.txt | 8 ++++++++ N3OW/common/scripted_triggers/00_elective_triggers.txt | 1 - N3OW/common/scripted_triggers/00_law_triggers.txt | 4 ---- .../scripted_triggers/06_ce1_legitimacy_triggers.txt | 1 - N3OW/events/dlc/ep3/ep3_frankokratia_events.txt | 1 + 7 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 N3OW/events/dlc/ep3/ep3_frankokratia_events.txt diff --git a/N3OW/common/governments/00_government_types.txt b/N3OW/common/governments/00_government_types.txt index 64a0469f..ec7321b2 100644 --- a/N3OW/common/governments/00_government_types.txt +++ b/N3OW/common/governments/00_government_types.txt @@ -97,6 +97,7 @@ republic_government = { government_has_treasury government_has_county_tier_noble_families government_is_special_administrative + government_is_special_republic2 government_has_title_men_at_arms government_has_powerful_families government_is_settled diff --git a/N3OW/common/on_action/title_on_actions.txt b/N3OW/common/on_action/title_on_actions.txt index 9b6ce296..c54a4352 100644 --- a/N3OW/common/on_action/title_on_actions.txt +++ b/N3OW/common/on_action/title_on_actions.txt @@ -34,6 +34,9 @@ on_title_destroyed = { government_allows = administrative top_liege = this administrative_counts_can_be_independent = no + NOT = { + has_government_flag = government_is_special_republic2 + } NOT = { any_held_title = { title_tier >= kingdom @@ -3949,10 +3952,16 @@ on_vassal_change = { limit = { liege = root # I.e. root is independent government_has_flag = government_is_administrative + NOT = { + government_has_flag = government_is_special_republic2 + } } # And is not of a high enough rank, change government if = { limit = { + NOT = { + government_has_flag = government_is_special_republic2 + } administrative_tier_allows_independence = no } admin_change_government_effect = yes diff --git a/N3OW/common/scripted_effects/07_dlc_ep3_scripted_effects.txt b/N3OW/common/scripted_effects/07_dlc_ep3_scripted_effects.txt index ddd02b69..fb883e19 100644 --- a/N3OW/common/scripted_effects/07_dlc_ep3_scripted_effects.txt +++ b/N3OW/common/scripted_effects/07_dlc_ep3_scripted_effects.txt @@ -3795,12 +3795,20 @@ admin_change_government_effect = { } change_government = clan_government } + else_if = { + limit = { + government_has_flag = government_is_special_republic2 + } + } # If you're an independent ruler with anything else - Become feudal! else = { change_government = feudal_government } # Finally, let's double-check and see if there are any remaining family titles we should destroy if = { limit = { + NOT = { + government_has_flag = government_is_special_republic2 + } any_held_title = { is_noble_family_title = yes } diff --git a/N3OW/common/scripted_triggers/00_elective_triggers.txt b/N3OW/common/scripted_triggers/00_elective_triggers.txt index dffa4c3a..e31d0a1e 100644 --- a/N3OW/common/scripted_triggers/00_elective_triggers.txt +++ b/N3OW/common/scripted_triggers/00_elective_triggers.txt @@ -30,7 +30,6 @@ has_unelectable_trait_trigger = { has_unelectable_government_trigger = { OR = { - government_has_flag = government_is_special_republic government_has_flag = government_is_theocracy government_has_flag = government_is_mercenary government_has_flag = government_is_holy_order diff --git a/N3OW/common/scripted_triggers/00_law_triggers.txt b/N3OW/common/scripted_triggers/00_law_triggers.txt index 675dcd51..65d697bc 100644 --- a/N3OW/common/scripted_triggers/00_law_triggers.txt +++ b/N3OW/common/scripted_triggers/00_law_triggers.txt @@ -379,10 +379,6 @@ can_have_mercenary_succession_law_trigger = { government_has_flag = government_is_mercenary } -can_have_city_succession_law_trigger = { - government_has_flag = government_is_special_republic -} - can_have_herder_succession_law_trigger = { government_has_flag = government_is_herder } diff --git a/N3OW/common/scripted_triggers/06_ce1_legitimacy_triggers.txt b/N3OW/common/scripted_triggers/06_ce1_legitimacy_triggers.txt index 068e1c53..c99db03e 100644 --- a/N3OW/common/scripted_triggers/06_ce1_legitimacy_triggers.txt +++ b/N3OW/common/scripted_triggers/06_ce1_legitimacy_triggers.txt @@ -15,7 +15,6 @@ is_valid_for_legitimacy_change = { highest_held_title_tier >= tier_county NOR = { government_has_flag = government_is_theocracy - government_has_flag = government_is_special_republic } } diff --git a/N3OW/events/dlc/ep3/ep3_frankokratia_events.txt b/N3OW/events/dlc/ep3/ep3_frankokratia_events.txt new file mode 100644 index 00000000..d441ee50 --- /dev/null +++ b/N3OW/events/dlc/ep3/ep3_frankokratia_events.txt @@ -0,0 +1 @@ +namespace = ep3_frankokratia_events From b20835da40f0b2c8cd2c13c7fba8e28594b103d8 Mon Sep 17 00:00:00 2001 From: JulesFlammenkueche Date: Tue, 4 Nov 2025 17:19:25 +0100 Subject: [PATCH 16/20] Breton first names --- .../name_equivalency/00_NEOW_female_names.txt | 174 +++---- .../name_equivalency/00_NEOW_male_names.txt | 208 +++++---- .../common/culture/name_lists/NEOW_french.txt | 135 ++++++ .../names/NEOW_character_names_l_english.yml | 433 ++++++++++++++++++ 4 files changed, 775 insertions(+), 175 deletions(-) diff --git a/N3OW/common/culture/name_equivalency/00_NEOW_female_names.txt b/N3OW/common/culture/name_equivalency/00_NEOW_female_names.txt index e7fd29d1..098b2a2e 100644 --- a/N3OW/common/culture/name_equivalency/00_NEOW_female_names.txt +++ b/N3OW/common/culture/name_equivalency/00_NEOW_female_names.txt @@ -1,11 +1,11 @@ adela_female = { Ad_e_grv_lo } -adelaide_female = { Azala_i_uml_s } +adelaide_female = { Azylis Aziliz Azala_i_uml_s } adriana_female = { Adriano } agato_female = { Agato } -agnes_female = { Agn_e_grv_s } +agnes_female = { Oanell Agn_e_grv_s } albana_female = { Aubano } alberta_female = { Albertino_female } -alexandra_female = { Alessandrino_female Sandrino_female Alessandro_female } +alexandra_female = { Sandra Sandrine Alessandrino_female Sandrino_female Alessandro_female } alexia_female = { Alessio_female } alice_female = { Alis } alina_female = { Alino } @@ -14,21 +14,21 @@ amanda_female = { Amandino } amata_female = { Aimado } amelia_female = { Am_e_grv_li } anastasia_female = { Anastasi_e_act_ } -andrea_female = { Andriveto } -angela_female = { Ang_e_grv_lo_female } +andrea_female = { Andrea Andriveto } +angela_female = { Aelig Aelia Aela Ang_e_grv_lo_female } angelica_female = { Angelico_female } -anna_female = { Aneto Ana_i_uml_s Ano } +anna_female = { Naig Ana Annaig Annick Anna Aneto Ana_i_uml_s Ano } annaclara_female = { Ano-Claro } annalaura_female = { Ano-Lauro } annalisa_female = { Ano-Liso } -annamaria_female = { Ano-Mar_i_grv_o } +annamaria_female = { Anna-Vari Ano-Mar_i_grv_o } annasophia_female = { Ano-Souf_i_grv_o } antonia_female = { Tounieto T_o_grv_nio_female Antouneto } arlette_female = { Arleto } auda_female = { Aude } audrey_female = { Audr_e_act_ } augusta_female = { Agustino_female } -aurelia_female = { Aurel_i_grv_o_female } +aurelia_female = { Aur_e_act_lie Aurel_i_grv_o_female } aurora_female = { Auroro } apollonia_female = { Poul_o_grv_nio } april_female = { Abri_e_act_u } @@ -38,73 +38,75 @@ beatrice_female = { Beatris } benedicta_female = { Benedito_female } berengaria_female = { Berenguiero } berenice_female = { Bereni_c_ced_o } -bernarda_female = { Bernado Bernadeto } +bernarda_female = { Bernadette Bernado Bernadeto } bertha_female = { Berto_female } bertranda_female = { Bertrando } blanche_female = { Blanco_female } -bridget_female = { Bregido } +bridget_female = { Brec_pst_hed Bregido } camilla_female = { Camiho } -carla_female = { Carleno_female Carolo_female } +carla_female = { Carole Carleno_female Carolo_female } carmen_female = { Carmen } -carolina_female = { Caroulino } +carolina_female = { Caroline Caroulino } cassandra_female = { Cassandro } -catherine_female = { Catarino } +catherine_female = { Karine Catarino } cecilia_female = { Cecilo } celestina_female = { Celesto_female Celestino_female } celia_female = { Celi_a_grv_ } -celine_female = { Celino } +celine_female = { C_e_act_line Celino } charlotte_female = { Charloto } chloe_female = { Clou_e_grv_ } -christina_female = { Crestino } -claire_female = { Clarisso Claro_female } -claudia_female = { Glaudeto Glaudo_female Glaudino } +christelle_female = { Kristell } +christina_female = { Kristen Kristina Christiane Kristin Crestino } +claire_female = { Sklaerenn Klara Clarisso Claro_female } +claudia_female = { Klaodina Klaoda Glaudeto Glaudo_female Glaudino } clementia_female = { Clementino_female Clem_e_grv_nci } clotilda_female = { Cloutido } -colette_female = { Coul_e_grv_to } +colette_female = { Colette Coul_e_grv_to } constance_female = { Coustan_c_ced_o } coralie_female = { Coural_i_grv_o } -corinne_female = { Courino } +corinne_female = { Corinne Courino } cynthia_female = { Cynthia } -daniela_female = { Danielo_female } +daniela_female = { Danielle Danielo_female } daphne_female = { Daun_e_grv_ } debora_female = { Debora } -delphine_female = { D_o_act_ufino } -denise_female = { Daniso } +delphine_female = { Delphine D_o_act_ufino } +denise_female = { Deneza Daniso } diana_female = { Diano } -dominica_female = { Doumenico_female } +dominica_female = { Dominique_female Doumenico_female } dorothy_female = { Dourout_e_grv_io } edith_female = { Edito } -eleanor_female = { Leounoro Eliounor } +eleanor_female = { A_e_act_nor Leounoro Eliounor } eliana_female = { Eliano } -elisa_female = { Eliso } -elizabeth_female = { Bab_e_grv_u_female Eisab_e_grv_u } -elodie_female = { Eloud_i_grv_o } +elisa_female = { Liza Eliso } +elizabeth_female = { Liz Elesbed Bab_e_grv_u_female Eisab_e_grv_u } +elodie_female = { _E_act_lodie Eloud_i_grv_o } elsa_female = { Els_a_grv_ } emeline_female = { Emelino } emerald_female = { Esmeraudo } -emily_female = { Emiliano_female Emil_i_grv_o_female } +emily_female = { _E_act_milie Emiliano_female Emil_i_grv_o_female } emma_female = { Em_a_grv_ } -emmanuella_female = { Manuello Emanuelo_female } +emmanuella_female = { Emmanuelle Manuello Emanuelo_female } ernesta_female = { Ernestino } esther_female = { Est_e_grv_r } eugenia_female = { _E_act_ug_e_grv_nio } eulalia_female = { _E_act_ul_a_grv_lio } eva_female = { _E_grv_vo } evelyn_female = { Evelino } -fabiana_female = { Fabiano_female } +fabiana_female = { Fabienne Fabiano_female } faustina_female = { Faustino_female } felicia_female = { Feliso_female } felicity_female = { Felicita } ferdinanda_female = { Fernando_female } +fiona_female = { Fiona } flavia_female = { Fl_a_grv_vio_female } flora_female = { Flour Flourino Floro } -florence_female = { Flour_e_grv_n_c_ced_o } +florence_female = { Florence Flour_e_grv_n_c_ced_o } floriana_female = { Flouriano } france_female = { Fran_c_ced_o_female } -frances_female = { Francino Franceso Chichoueso } +frances_female = { Soizic Soazig Soizick Fra_n_tld_seza Francino Franceso Chichoueso } frederica_female = { Frederico_female } gabriela_female = { Gabrielo_female } -gael_female = { Ga_e_grv_lo } +gael_female = { Ga_e_uml_lle Ga_e_grv_lo } genevieve_female = { Gineto Genevivo } georgia_female = { Jourgeto } geralda_female = { Geraldino_female } @@ -113,35 +115,39 @@ gertrude_female = { Gertrudo } ghislaine_female = { Guisl_e_grv_no } gilberta_female = { Giliberto_female } gisela_female = { Gis_e_grv_lo } -helen_female = { Eleno } +gwen_female = { Gwenn Gwen } +gwendolyn_female = { Gwendoline } +helen_female = { Elen Lena Elena Eleno } henrietta_female = { Enrieto } -honorina_female = { Ounourino } +hermine_female = { Hermine } +honorina_female = { Enora Ounourino } hortensia_female = { Ourt_e_grv_nsi } huguette_female = { Ugueto } ida_female = { Ido } ingrid_female = { Ingrido } irene_female = { Ireno_female } irma_female = { Irm_a_grv_ } -isabella_female = { Eisabello } -iseult_female = { Is_e_grv_ut } -jacqueline_female = { Jaqueto Jaquelino } +isabella_female = { Izabel Eisabello } +iseult_female = { Yseult Is_e_grv_ut } +jacqueline_female = { Jakeza Jaqueto Jaquelino } jade_female = { Jade } jennifer_female = { Gueni_e_grv_vro } jessica_female = { Jessic_a_grv_ } -joan_female = { Janeto_female Jano_female } +joan_female = { Yanna Jeannick Chanig Janedig Janed Janeto_female Jano_female } joanamaria_female = { Jano-Mar_i_grv_o } jocelyn_female = { Joucelino_female } -joelle_female = { Jouelo_female } +joelle_female = { Jo_e_uml_lle Jouelo_female } josepha_female = { J_o_act_usefino } josette_female = { Jouseto_female } -josiane_female = { Jousiano } +josiane_female = { Josiane Jousiano } judith_female = { Judit } -julia_female = { J_u_grv_li_female } +julia_female = { Julie J_u_grv_li_female } juliana_female = { Juliano_female } juliet_female = { Julieto } justina_female = { Justino_female } laetitia_female = { Leticio } -laura_female = { Laureto Lauro_female } +laura_female = { Laure Laureto Lauro_female } +laurence_female = { Laurence Laur_e_grv_n_c_ced_o } lea_female = { Le_a_grv } leila_female = { Leila } leonie_female = { Leountino Leoun_i_grv_o } @@ -149,69 +155,71 @@ liliana_female = { Liliano } linda_female = { Lindo_female } lisa_female = { Liseto Liso_female } lorraine_female = { Lourreno } -louise_female = { Lou_i_uml_sono Lou_i_uml_so_female } +louise_female = { Lizig Zaig Lo_i_uml_za Louisa Loeiza Lou_i_uml_sono Lou_i_uml_so_female } lucia_female = { L_u_grv_ci } luciana_female = { Luciano_female } lucrezia_female = { Lucr_e_grv__c_ced_o } ludivina_female = { Ludivino } -lydia_female = { Lid_i_grv_o } -laurence_female = { Laur_e_grv_n_c_ced_o } -magdalena_female = { Magali Madaleno } +lydia_female = { Lydie Lid_i_grv_o } +maela_female = { Maelenn Maela Ma_e_uml_lig Ma_e_uml_lie Maeli } +magdalena_female = { Madalen Magali Madaleno } marcella_female = { Marcelino_female Marcello_female } -margaret_female = { Megano Marjour_i_grv_o Margot Margarido } -maria_female = { Mariama Manoun Marioun Mariso_female Mar_i_grv_o_female } +margaret_female = { Gaid Megano Marjour_i_grv_o Margot Margarido } +maria_female = { Maria Myriam Mari Mariama Manoun Marioun Mariso_female Mar_i_grv_o_female } mariaangel_female = { Mar_i_grv_o-Ange } -mariaanna_female = { Mar_i_grv_o-Ano } +mariaanna_female = { Mariannick Maryannick Marie-Annick Mar_i_grv_o-Ano } mariaantonia_female = { Mar_i_grv_o-Antouneto } mariacatherine_female = { Mar_i_grv_o-Catarino } -mariachristina_female = { Mar_i_grv_o-Crestino } -mariaclara_female = { Mar_i_grv_o-Claro } +mariachristina_female = { Maria-Kristina Mar_i_grv_o-Crestino } +mariaclara_female = { Marie-Claire Mar_i_grv_o-Claro } mariaclaudia_female = { Mar_i_grv_o-Glaudo } mariadominica_female = { Mar_i_grv_o-Doumenico } -mariafrance_female = { Mar_i_grv_o-Fran_c_ced_o } +mariafrance_female = { Marie-France Mar_i_grv_o-Fran_c_ced_o } mariafrancesca_female = { Mar_i_grv_o-Franceso } +mariagwen_female = { Maiwen Maewenn Ma_i_uml_wenn Mari-Gwenn Maiwenn } mariahelena_female = { Mar_i_grv_o-Eleno } mariajoanna_female = { Mar_i_grv_o-Jano } -mariajoseph_female = { Mar_i_grv_o-J_o_act_us_e_grv_ } +mariajoseph_female = { Mari-Jozeb Mar_i_grv_o-J_o_act_us_e_grv_ } marialaura_female = { Mar_i_grv_o-Lauro } -marialouisa_female = { Mar_i_grv_o-Louiso } +marialouisa_female = { Malou Mari-Loeiza Mar_i_grv_o-Louiso } mariamagdalena_female = { Mar_i_grv_o-Madaleno } -marianne_female = { Mariano_female } +marianne_female = { Mariana Mariano_female } marianoela_female = { Mar_i_grv_o-Nouelo } mariaodila_female = { Mar_i_grv_o-Oudilo } mariapaula_female = { Mar_i_grv_o-Paulo } mariapeter_female = { Mar_i_grv_o-P_e_grv_ire } mariarosa_female = { Mar_i_grv_o-Roso } -mariatheresa_female = { Mar_i_grv_o-Ter_e_grv_so } -mariayvonne_female = { Marivono } +mariatheresa_female = { Maria-Tereza Mar_i_grv_o-Ter_e_grv_so } +mariayvonne_female = { Marivon Marivono } marilyn_female = { Maril_e_grv_no_female } -marina_female = { Marino_female } +marina_female = { Marina Marino_female } marlene_female = { Marl_e_grv_no } martha_female = { Marto_female } -martina_female = { Martino_female } +martina_female = { Martine Martino_female } mauricia_female = { Mauriceto_female } -melania_female = { Melan_i_grv_o } +melania_female = { M_e_act_lanie Melan_i_grv_o } melissa_female = { Melisso } -michelle_female = { Micheleto_female Michello_female } -mireille_female = { Mir_e_grv_io } -monica_female = { Mounico_female } -morgana_female = { Mourgano } +michelle_female = { Michelle Mikaela Micheleto_female Michello_female } +mireille_female = { Mireille Mir_e_grv_io } +monica_female = { Monique Mounico_female } +morgana_female = { Morgana Mourgano } muriel_female = { Murielo } -nadezhda_female = { Nad_e_grv_jo } +nadezhda_female = { Nadine Nad_e_grv_jo } naomi_female = { Nouen_i_grv_o } -nathalie_female = { Natach_a_grv_ Nadalo Natal_i_grv_o } -nicole_female = { Nicolo_female Nicleto } +nathalie_female = { Nathalie Natach_a_grv_ Nadalo Natal_i_grv_o } +nicole_female = { Nicole Nicolo_female Nicleto } noelle_female = { Nouelo_female } +nolwenn_female = { Nolwen Nolwenn Noalig } oceana_female = { Ouceano } octavia_female = { _O_act_ut_a_grv_vio } odette_female = { Oudeto } -odile_female = { Oudilo } +odile_female = { Odile Oudilo } olga_female = { Olg_a_grv_ } olympia_female = { Oulimpo_female } ophelia_female = { Ouf_e_act_l_i_grv_o } -pascala_female = { Pascaleto Pascalo_female } -patricia_female = { Patricio_female } -paula_female = { Paulino_female Paulo_female Pauleto_female } +pascala_female = { Pascale Pascaleto Pascalo_female } +patricia_female = { Patricia Patricio_female } +paula_female = { Paola Paulino_female Paulo_female Pauleto_female } petra_female = { Peirounello Peirouno Peireto } philippa_female = { Felipino } philomena_female = { Filoumeno } @@ -222,7 +230,7 @@ regina_female = { Regino_female R_e_grv_ino } renata_female = { Renato_female } rolanda_female = { Roulando_female } romana_female = { Roumano_female } -rosa_female = { Rousado Rousino Roso_female } +rosa_female = { Rozenn Rousado Rousino Roso_female } rosalia_female = { Rousal_i_grv_o } rosalyn_female = { Rousselino } rosamaria_female = { Roso-Mar_i_grv_o } @@ -236,25 +244,25 @@ severina_female = { Severino_female } sibylla_female = { Sibilo_female } sidonia_female = { Sidoun_i_grv_o } simona_female = { Simouno_female } -solange_female = { Soulanjo } +solange_female = { Solen Solenn Soulanjo } solene_female = { Soul_e_grv_no } -sophia_female = { Souf_i_grv_o } -stella_female = { Estello } -stephanie_female = { Fan_i_grv_ Esteveneto } -susan_female = { Susoun Susano_female } -sylvia_female = { Silv_i_grv_o_female } +sophia_female = { Sonia Sophie Souf_i_grv_o } +stella_female = { Steren Sterenn Estelle Estello } +stephanie_female = { St_e_act_phanie Fan_i_grv_ Esteveneto } +susan_female = { Suzana Susoun Susano_female } +sylvia_female = { Sylvie Silv_i_grv_o_female } theresa_female = { Ter_e_grv_so } ursula_female = { Oursulo } valentina_female = { Valentino_female } -valeria_female = { Valiero_female } +valeria_female = { Val_e_act_rie Valiero_female } vanessa_female = { Vanesso_female } -veronica_female = { Verounico } +veronica_female = { V_e_act_ronique Verounico } victoria_female = { Vitourino_female Vit_o_grv_ri_female Vent_u_grv_ri_female } violet_female = { Vi_o_act_uleto } virginia_female = { Viergino_female } vivian_female = { Viviano_female } yasmin_female = { Guisl_e_grv_no } yolanda_female = { Vi_o_act_ulando } -yvette_female = { Iveto_female } -yvonne_female = { Ivono_female } +yvette_female = { Youna Yuna Ivetig Iveto_female } +yvonne_female = { Ivona Ivono_female } zoe_female = { Zou_e_grv_ } \ No newline at end of file diff --git a/N3OW/common/culture/name_equivalency/00_NEOW_male_names.txt b/N3OW/common/culture/name_equivalency/00_NEOW_male_names.txt index cf893d6b..52de3d48 100644 --- a/N3OW/common/culture/name_equivalency/00_NEOW_male_names.txt +++ b/N3OW/common/culture/name_equivalency/00_NEOW_male_names.txt @@ -2,11 +2,11 @@ achilles_male = { Achile } adam_male = { Adam } adrian_male = { Adrian } -alan_male = { Alan } -albanus_male = { Auban } -albert_male = { Aubert } +alan_male = { Allan Alan } +albanus_male = { Alban Auban } +albert_male = { Alberzh Aubert } albinus_male = { Aubin } -alexander_male = { Aleissandre } +alexander_male = { Aleksandr Aleissandre } alexis_male = { Al_e_grv_ssi } alfonso_male = { Anfous } alfred_male = { Alfret } @@ -16,16 +16,16 @@ amalric_male = { Amaudri } amatus_male = { Amat } ambrosius_male = { Ambr_o_grv_si } amin_male = { Amine } -anatolius_male = { Anat_o_grv_li } +anatolius_male = { Anatol Anat_o_grv_li } andrew_male = { Andri_e_act_u } -angel_male = { Ange } +angel_male = { Ael Ange } anselm_male = { Ans_e_grv_ume } -anthony_male = { T_o_grv_ni Ant_o_grv_ni } +anthony_male = { Anton T_o_grv_ni Ant_o_grv_ni } antoninus_male = { Antounin } aristides_male = { Aristido } -arnold_male = { Arnaud } +arnold_male = { Arno Arnaud } arsenius_male = { Arsena } -arthur_male = { _A_grv_rtus } +arthur_male = { Arthur _A_grv_rtus } augustine_male = { Agustin } augustus_male = { Aguste } aurelian_male = { Aurelian } @@ -35,17 +35,18 @@ baptist_male = { Batisto } barnaby_male = { Barnab_e_grv_u } bartholomew_male = { Bartoumi_e_act_u } basil_male = { Basile } -benedict_male = { Benet Benezet } +benedict_male = { Benead Benet Benezet } benjamin_male = { Benjamin } berengar_male = { Berengui_e_act_ } -bernard_male = { Bernard Bernat } -bertrand_male = { Bertrand } +bernard_male = { Bernez Bernard Bernat } +bertrand_male = { Beltram Bertrand } blasius_male = { Bl_a_grv_si } boniface_male = { Bounif_a_grv_ci } -brendan_male = { Brand_a_grv_ni } +brendan_male = { Brendan Brand_a_grv_ni } brian_male = { Brian } brice_male = { Bres } -bruno_male = { Brunoun } +brieuc_male = { Briac Brieuc } +bruno_male = { Bruno Brunoun } caesar_male = { Cesar } caetano_male = { Gaietan } calixtus_male = { Calist } @@ -54,178 +55,201 @@ casimir_male = { Casim_e_grv_r } caspar_male = { Gaspard } cedric_male = { Cedric } celestine_male = { Celestin } -charles_male = { Charle Carle } +charles_male = { Charlez Charle Carle } charleshenry_male = { Carle-Enri } -christian_male = { Crestian } -christopher_male = { Crist_o_grv_u } -claudius_male = { Gl_a_grv_udi } +christian_male = { Kristian Crestian } +christopher_male = { Kristof Crist_o_grv_u } +claudius_male = { Klaod Glaoda Gl_a_grv_udi } clement_male = { Clem_e_grv_nt } clovis_male = { Clouvis } +conan_male = { Kenan } constantine_male = { Coustantin } constantius_male = { Coustant } corentin_male = { Courentin } cyprian_male = { Ciprian } -cyril_male = { Cerile } -damian_male = { Damian } +cyril_male = { Cyrille Cyril Cerile } +damian_male = { Damien Damian } daniel_male = { Dani_e_grv_ } -david_male = { D_a_grv_vi } -denis_male = { Danis } -desiderius_male = { Deidi_e_act_ } +david_male = { Dewi Davy Divi D_a_grv_vi } +denis_male = { Denez Danis } +desiderius_male = { Didier Deidi_e_act_ } dimitri_male = { Dem_e_grv_tri } -dominic_male = { Doumenge } +dominic_male = { Dominique_male Doumenge } dorian_male = { Dourian } edmund_male = { Edmound } edward_male = { Edouard Audouard } eligius_male = { Aloi } -elijah_male = { El_i_grv_o } +elijah_male = { Eliaz El_i_grv_o } +elouan_male = { Elouann Elouan } emeric_male = { Eimeri } -emil_male = { Emile } +emil_male = { Milio Emil Emile } emilian_male = { Emilian } -emmanuel_male = { Manu_e_grv_ Enmanu_e_grv_l } +emmanuel_male = { Emmanuel Manu_e_grv_ Enmanu_e_grv_l } ernest_male = { Ernest } -eugene_male = { _E_act_ug_e_grv_ni } -eric_male = { Eri } +eugene_male = { Eujen _E_act_ug_e_grv_ni } +eric_male = { Erik Eri } fabian_male = { Fabian } fabrice_male = { Fabrice } faustinus_male = { Faustin } felician_male = { Felician } -felix_male = { F_e_grv_lis } +felix_male = { F_e_act_lix F_e_grv_lis } ferdinand_male = { Fernand } firmin_male = { Fermin } flavian_male = { Flavian } florent_male = { Flour_e_grv_ns } florian_male = { Flourian } -francis_male = { Franc_e_act_s Francoun Chichoues } +francis_male = { Fra_n_tld_sez Frank Fa_n_tld_ch Franc_e_act_s Francoun Chichoues } francisxavier_male = { Franc_e_act_s-Savi_e_act_ } -frederick_male = { Frederi } -gabriel_male = { Gabri_e_act_u } -gael_male = { Ga_e_grv_l } +frederick_male = { Frederig Frederi } +gabriel_male = { Gabriel Gabri_e_act_u } +gael_male = { Gael Ga_e_uml_l Ga_e_grv_l } gaetan_male = { Gastoun } geoffrey_male = { Jaufret Gaufre } -george_male = { J_o_grv_rgi } +george_male = { Jorj Jord J_o_grv_rgi } gerald_male = { Giraud } gerard_male = { Girard } german_male = { German } -gilbert_male = { Gibert } -giles_male = { Gile } +gilbert_male = { Jilberzh Gilbert Gibert } +gildas_male = { Gweltaz Gildas } +giles_male = { Jil Jili Gile } +graham_male = { Graham } gregory_male = { Greg_o_grv_ri } gustav_male = { Gust_a_grv_vi } -guy_male = { Gui } -harvey_male = { Erv_e_act_ } +guy_male = { Guy Gui } +gwenael_male = { Gwena_e_uml_l Gwenn-A_e_uml_l Gu_e_act_na_e_uml_l } +gwenole_male = { Gu_e_act_nol_e_act_ Gw_e_act_nol_e_act_ Gwennole } +harvey_male = { Herve Erv_e_act_ } hector_male = { Eitor } -henry_male = { Enri } +henry_male = { Herri Enri } hermann_male = { Armand } -hieronymus_male = { Jirome } +hieronymus_male = { Yerom J_e_act_r_o_hat_me Jirome } hilarius_male = { Il_a_grv_ri } hippolyte_male = { Ipoulite } -hubert_male = { Ubert } +hubert_male = { Huberzh Ubert } hugh_male = { Ugue } humbert_male = { Umbert } hyacinth_male = { Jacint } +hywel_male = { Hoel Howel } irenaeus_male = { Ireni_e_act_u } -james_male = { Jaume Jaque } +james_male = { Jakez Jaume Jaque } jamesyves_male = { Jaque-Ives } jason_male = { Jasoun } jeremy_male = { Jerem_i_grv_a } joachim_male = { Jouachin } joel_male = { Jou_e_grv_l } -john_male = { Jan } -johnbaptist_male = { Jan-Batisto } +john_male = { Jaouen Jannick Yannig Janick Yoan Yohan Ian Yan Yohann Yoann Yannig Yannick Yann Jan } +johnbaptist_male = { Yann-Vadezour Jan-Batisto } johnbernard_male = { Jan-Bernat } -johncharles_male = { Jan-Carle } +johncharles_male = { Yann-Charlez Jan-Carle } johnchristopher_male = { Jan-Crist_o_grv_u } -johnclaudius_male = { Jan-Gl_a_grv_udi } -johnfrancis_male = { Jan-Franc_e_act_s } -johnjames_male = { Jan-Jaque } -johnlouis_male = { Jan-Lou_i_uml_s } -johnluke_male = { Jan-Lu } -johnmark_male = { Jan-Marc } -johnmary_male = { Jan-Mar_i_grv_o } -johnmichael_male = { Jan-Mich_e_grv_u } +johnclaudius_male = { Yann-Glaod Jan-Gl_a_grv_udi } +johnfrancis_male = { Yann-Fa_n_tld_ch Jan-Franc_e_act_s } +johnjames_male = { Yann-Jakez Jan-Jaque } +johnlouis_male = { Yann-Loeiz Jan-Lou_i_uml_s } +johnluke_male = { Yann-Luk Jan-Lu } +johnmark_male = { Yann-Vark Jan-Marc } +johnmary_male = { Yann-Vari Jan-Mar_i_grv_o } +johnmichael_male = { Yann-Vikael Jan-Mich_e_grv_u } johnnoel_male = { Jan-Calendau } johnpascal_male = { Jan-Pascau } -johnpaul_male = { Jan-Pau } +johnpaul_male = { Jean-Pol Yann-Baol Jan-Pau } johnpeter_male = { Jan-P_e_grv_ire } johnphilip_male = { Jan-Felip } -johnyves_male = { Jan-Ives } +johnyves_male = { Jean-Yvon Yann-Erwan Jan-Ives } jonathan_male = { Jounatan } jordan_male = { Jourdan } -joseph_male = { J_o_act_us_e_grv_ } +joseph_male = { Job_Joseph Jozeb J_o_act_us_e_grv_ } +josephmary_male = { Jozeb-Mari } +judicael_male = { Judikael Judica_e_uml_l } jules_male = { J_u_grv_li } -julian_male = { Julian } +julian_male = { Juluan Julian } justin_male = { Justin } -kevin_male = { Quevin } +kevin_male = { K_e_act_vin Quevin } kosmas_male = { Cosme } +kylian_male = { Kilyan Kyliann Kilian Kylian Kyllian } lambert_male = { Lambert } -lawrence_male = { Laur_e_grv_ns } -leo_male = { Leoun } +lawrence_male = { Laora_n_tld_s Laur_e_grv_ns } +lenaig_male = { L_e_act_na_i_uml_c Lenaig } +leo_male = { Leon Leoun } leonard_male = { Lienard } leopold_male = { Leoupold } -lionel_male = { Liounel } -louis_male = { Lou_i_uml_s } -lucian_male = { Lucian } +lionel_male = { Lionel Liounel } +louis_male = { Lo_i_uml_s Lo_i_uml_g Lo_i_uml_c Loeiz Lou_i_uml_s } +lucian_male = { Lucien Lucian } luke_male = { Lu Lucas } -marcel_male = { Marc_e_grv_u } +mael_male = { Ma_e_uml_lan Mael Ma_e_uml_l } +marcel_male = { Marsel Marcel Marc_e_grv_u } marius_male = { Marius M_a_grv_ri_male } -maurice_male = { Maurise } -mark_male = { Marc } +mark_male = { Mark Marc } martial_male = { Marciau } martin_male = { Martin } -matthew_male = { Matias Mati_e_act_u } +mathurin_male = { Matilin Mathurin } +matthew_male = { Maho Mah_e_act_ Mazhev Matias Mati_e_act_u } +maurice_male = { Maurise Maoris } maxentius_male = { Meiss_e_grv_ns } -maximus_male = { Mas Maime } -michael_male = { Miqu_e_grv_u Mich_e_grv_u } +maximus_male = { Maxime Mas Maime } +michael_male = { Micka_e_uml_l Mikael Miqu_e_grv_u Mich_e_grv_u } +morgan_male = { Morgann Morgan } nathan_male = { Natan } -nicholas_male = { Nicoulau } +nicholas_male = { Nikolaz Nicoulau } noah_male = { Nou_e_grv_ } noel_male = { Calendau } norbert_male = { Nourbert } octavius_male = { _O_act_ut_a_grv_vi } odysseus_male = { Ulisse } -oliver_male = { _O_act_ulivi_e_act_ } +oliver_male = { Olier _O_act_ulivi_e_act_ } oscar_male = { Ouscar } -peter_male = { P_e_grv_ire } +owen_male = { Owenn Owen } +pascal_male = { Pascau Paskal } +patrick_male = { Patrig Patrice Padrig } +paul_male = { Pol Paol Pau } +peter_male = { Peran Pierrick P_e_hat_r P_e_grv_ire } peteranthony_male = { P_e_grv_ire-Ant_o_grv_ni } +peterjames_male = { P_e_hat_r-Jakez } peterjohn_male = { P_e_grv_ire-Jan } -peteryves_male = { P_e_grv_ire-Ives } -philip_male = { Felip } +petermary_male = { P_e_hat_r-Vari } +peteryves_male = { P_e_hat_r-Erwan P_e_grv_ire-Ives } +philip_male = { Fulup Felip } prosper_male = { Prousp_e_grv_r } quentin_male = { Quentin } -rainer_male = { Reini_e_act_ } raphael_male = { Raf_e_grv_u } -raymond_male = { Ramoun } +raymond_male = { Remont Ramoun } reginald_male = { Reinaud } regis_male = { R_e_grv_gis } remigius_male = { Roumi_e_act_ } -richard_male = { Ricard } -robert_male = { Roubert } +renatus_male = { Reini_e_act_ Ren_e_act_ } +richard_male = { Richarzh Ricard } +robert_male = { Roparzh Roubert } roderick_male = { Roudrigo } -roger_male = { Rougi_e_act_ } -roland_male = { Rouland } -roman_male = { Rouman } +roger_male = { Roje Rougi_e_act_ } +roland_male = { Roland Rouland } +roman_male = { Roman Rouman } romuald_male = { Roumiaud } +ronan_male = { Renan Ronan } rudolf_male = { Roud_o_grv_u Ravous } salvador_male = { Sauvaire } samuel_male = { Samu_e_grv_l } sebastian_male = { Bastian Sebastian } -sergius_male = { S_e_grv_rgi } +sergius_male = { Serj S_e_grv_rgi } simon_male = { Simoun } stanislaus_male = { Estanislau } -stephen_male = { Est_e_grv_ve Estefan } -sylvain_male = { S_e_act_uvan } +stephen_male = { Steven Est_e_grv_ve Estefan } +sylvain_male = { Sylvain S_e_act_uvan } +tanguy_male = { Tangi Tanguy } theobald_male = { Tibaud } theodore_male = { Teoudor } -theodoric_male = { Terris } +theodoric_male = { Thierry Terris } theophilus_male = { Teoufile } -thomas_male = { Toumas } +thomas_male = { Tomaz Toumas } timothy_male = { Timouti_e_act_u } -tristan_male = { Tristan } +tristan_male = { Trystan Tristan } +tugdual_male = { Tudal Tugdual } valentin_male = { Valentin } valerius_male = { Val_e_grv_ri } victor_male = { Vitour } -vincent_male = { Vinc_e_grv_ns } +vincent_male = { Visant Vinc_e_grv_ns } walter_male = { Gauchi_e_act_ } -william_male = { Guih_e_grv_ume Guih_e_grv_n } -xavier_male = { Savi_e_act_ } -yves_male = { Ives } +william_male = { Lomig Gwillam Gwilherm Guih_e_grv_ume Guih_e_grv_n } +xavier_male = { Zavier Savi_e_act_ } +yves_male = { Youn Youen Youenn Yvonnick Yvonig Erwann Erwan Yvon Yves Ives } zachary_male = { Zacar_i_grv_o } \ No newline at end of file diff --git a/N3OW/common/culture/name_lists/NEOW_french.txt b/N3OW/common/culture/name_lists/NEOW_french.txt index 56dbcce8..efe4ee5c 100644 --- a/N3OW/common/culture/name_lists/NEOW_french.txt +++ b/N3OW/common/culture/name_lists/NEOW_french.txt @@ -417,6 +417,7 @@ name_list_NEOW_french = { Idéfix Imrahil Isildur + J_e_act_r_o_hat_me Jacques Jacques-Yves Jaspert @@ -636,6 +637,7 @@ name_list_NEOW_french = { Charlotte Chloé Christelle + Christiane Christine Cixi Claire @@ -1237,6 +1239,139 @@ name_list_NEOW_provencal = { + mercenary_names = { + } +} +name_list_NEOW_breton = { + + cadet_dynasty_names = { + } + + dynasty_names = { + } + + male_names = { + 20 = { + Adrian Alan Alban Alberzh Aleksandr Andrev Anton Armel Arno Arthur + Beltram Benead Bernez Bruno + Charlez Corentin Cyril Cyrille + Damien Daniel Denez Didier Divi Dominique_male + Eden Elouan Emil Emmanuel Erik Erwan Erwann Eujen Evan Ewen + Fa_n_tld_ch Fabian Fabrice Fra_n_tld_sez Frank Frederig Fulup + G_e_act_rard Ga_e_uml_l Gabriel Gildas Glaoda Goulven Guy Gwena_e_uml_l Gwendal Gwilherm Gwillam + Herri Herve Huberzh + Jakez Jilberzh Jili Joel Jorj Jozeb Juluan + K_e_act_vin Kristian Kristof Kylian + Laora_n_tld_s Lionel Lo_i_uml_c Lo_i_uml_g Loeiz Lucien + Mael Ma_e_uml_l Malo Maoris Mark Marsel Mathurin Maxime Mazhev Micka_e_uml_l Mikael Milo Morgan + Nikolaz + Olier + P_e_hat_r P_e_hat_r-Erwan P_e_hat_r-Vari Padrig Paol Paskal Patrig Pierrick + Remont Ren_e_act_ Richarzh Roje Roland Roman Ronan Roparzh + Sebastian Serj Steven Sylvain + Tanguy Thierry Tomaz Tristan + Visant + Yann Yann-B_e_hat_r Yann-Baol Yann-Charlez Yann-Erwan Yann-Fa_n_tld_ch Yann-Glaod Yann-Jakez Yann-Loeiz Yann-Luk Yann-Vadezour Yannick Yannig Yann-Vari Yann-Vark Yann-Vikael Yerom Yoann Yohann Youenn Yves Yvon Yvonnick + Zavier + } + 5 = { + Allan + Brendan Brieuc + Davy Dylan + Ernest Evann Ewan Ewenn + F_e_act_lix + Glenn Graham Gu_e_act_na_e_uml_l Gurvan Gw_e_act_nol_e_act_ + Ian + Janick Jannick Jean-Pol Jean-Yvon Jord + Kilian Kyllian + Leon Lo_i_uml_s + Mah_e_act_ Malone Melvyn Mewen + Pol + Renan + Tangi Tugdual + Vivien + Yan Yannig Yoan Yohan + } + 1 = { + Adraboran Ael Anatol Aodrenn Argan Avel + Brann Brewen Briac + Dewi Diwan + Edern Efflam Ehouarn Elowan Eliaz Elouann Elwen Envel Even Ewann + F_e_act_lix-Pol + Gael Galaad Gireg Goulwen Goustan Gu_e_act_nol_e_act_ Guillian Guirec Gurwan Gweltaz Gwenc_pst_hlan Gwenegan Gwenha_e_uml_l Gwenn-A_e_uml_l Gwennole Gwenvael + Hoel Hollsent Howel + Jaouen Jean-Mathurin Jil Job_Joseph Jozeb-Mari Judica_e_uml_l Judikael + Kenan Kerrian Kilyan Klaod Kyliann + L_e_act_na_i_uml_c Lancelot Laouen Lenaig Loen Logann Lomig + M_e_act_riadec Ma_e_uml_lan Maelann Maho Matilin Melen Meven Mewenn Milio Morgann + Neven Nomino_e_uml_ + Owenn + P_e_hat_r-Jakez Peran + Riwal Riwan + Servan + Trystan Tudi Tudal + Yann-Varc_pst_h Youen Youn Yvonig + } + } + female_names = { + 20 = { + _E_act_lodie _E_act_milie + Alexandra Anna Anna-Vari Annaig Annick Armelle Aur_e_act_lie + Bernadette Brec_pst_hed + C_e_act_line Carole Caroline Chanig Chantal Colette Corinne + Danielle Delphine Deneza Dominique_female + Elena Elesbed Emmanuelle Enora Estelle + Fabienne Florence Fra_n_tld_seza + Ga_e_uml_lle Gw_e_act_na_e_uml_lle Gwenola + Ivetig Ivona Izabel + Jakeza Janed Janedig Jo_e_uml_lle Josiane Julie + Karine Katell Klaoda Klaodina Klara Kristell Kristin Kristina + Laure Laurence Loeiza Lydie + M_e_act_lanie Maiwenn Madalen Maelys Magali Mari Maria Maria-Kristina Maria-Tereza Marie-Annick Marie-Claire Marie-France Mari-Jozeb Mari-Loeiza Marina Marivon Martine Michelle Mikaela Mireille Monique Morgana Myriam + Nadine Nathalie Nicole Nolwenn + Odile + Pascale Patricia + Rozenn + Sandra Sandrine Simone Soizic Solenn Sonia Sophie St_e_act_phanie Suzana Sylvie + V_e_act_ronique Val_e_act_rie + Youna Yuna Yveline + } + 5 = { + A_e_act_nor Aela Aelia Aelig Aina Alana Alwena Ana Andrea Anne-Ga_e_uml_lle Annwenn Aouregan Arwenn Awen Awena Awenn Azenor Aziliz Azylis + Bleuen Bleuenn + Diwezha + Elen Erell + Fiona + Gaid Garlonn Gwen Gwendoline Gwenn + Hermine + Jeannick + Ka_e_uml_lig Kelig Klervi Kristen + L_e_act_na_i_uml_g Lara Lena Lilwenn Liz Liza Lizenn Lizig Lo_i_uml_za Loeva Louisa + Ma_e_uml_lie Ma_e_uml_lig Ma_i_uml_wenn Maden Madenn Maela Maelenn Maeli Maelwenn Maewenn Mai Maina Maiwen Malou Mariana Mariannick Marie-Armelle Mari-Gwenn Maryannick Mevena Mona + Naig Nolwen Noalig + Oanell + Paola + Sklaerenn Soazig Soizick Solen Steren Sterenn + Tifenn Tina + Yael Yanna Yseult + Zaig + } + } + dynasty_of_location_prefix = "dynnp_de" + grammar_transform = french + + # Chance of male children being named after their paternal or maternal grandfather, or their father. Sum must not exceed 100. + pat_grf_name_chance = 60 + mat_grf_name_chance = 10 + father_name_chance = 10 + + # Chance of female children being named after their paternal or maternal grandmother, or their mother. Sum must not exceed 100. + pat_grm_name_chance = 10 + mat_grm_name_chance = 60 + mother_name_chance = 10 + + + mercenary_names = { } } \ No newline at end of file diff --git a/N3OW/localization/english/names/NEOW_character_names_l_english.yml b/N3OW/localization/english/names/NEOW_character_names_l_english.yml index ed570b14..4d47b5ab 100644 --- a/N3OW/localization/english/names/NEOW_character_names_l_english.yml +++ b/N3OW/localization/english/names/NEOW_character_names_l_english.yml @@ -10,6 +10,7 @@ Aubert:0 "Aubert" Benezet:0 "Benezet" Bernat:0 "Bernat" + Bruno:0 "Bruno" Brunoun:0 "Brunoun" Camihe:0 "Camihe" Carle:0 "Carle" @@ -56,6 +57,7 @@ Jaque:0 "Jaque" Jirome:0 "Jirome" Jou_e_grv_l:0 "Jouèl" + Julie:0 "Julie" Julian:0 "Julian" Laur_e_grv_ns:0 "Laurèns" Liounel:0 "Liounel" @@ -302,6 +304,7 @@ Lid_i_grv_o:0 "Lidìo" Liliano:0 "Liliano" Lou_i_uml_so_female:0 "Louïso" + Madalen:0 "Madalen" Madaleno:0 "Madaleno" Magali:0 "Magali" Mar_i_grv_o_female:0 "Marìo" @@ -454,6 +457,7 @@ Maril_e_grv_no_female:0 "Marilèno" Mariano:0 "Mariano_female" Marino_female:0 "Marino" + Marivon:0 "Marivon" Marivono:0 "Marivono" Marjour_i_grv_o:0 "Marjourìo" Marl_e_grv_no:0 "Marlèno" @@ -571,3 +575,432 @@ Tounieto:0 "Tounieto" Vitourino_female:0 "Vitourino" Zou_e_grv_:0 "Zouè" + Yann:0 "Yann" + Mikael:0 "Mikael" + Fa_n_tld_ch:0 "Fañch" + P_e_hat_r-Jakez:0 "Pêr-Jakez" + P_e_hat_r:0 "Pêr" + Jozeb:0 "Jozeb" + Fulup:0 "Fulup" + Andrev:0 "Andrev" + Mari:0 "Mari" + Yves:0 "Yves" + Bernez:0 "Bernez" + Daniel:0 "Daniel" + Padrig:0 "Padrig" + Loeiz:0 "Loeiz" + Ren_e_act_:0 "René" + Jakez:0 "Jakez" + Klaod:0 "Klaod" + Glaoda:0 "Glaoda" + Klaoda:0 "Klaoda" + Dominique_male:0 "Dominique" + Dominique_female:0 "Dominique" + Marcel:0 "Marcel" + Jozeb-Mari:0 "Jozeb-Mari" + Kristian:0 "Kristian" + Adraboran:0 "Adraboran" + Thierry:0 "Thierry" + Paskal:0 "Paskal" + Erik:0 "Erik" + Kristof:0 "Kristof" + Roje:0 "Roje" + Yann-Glaod:0 "Yann-Glaod" + Anna:0 "Anna" + Olier:0 "Olier" + Yann-Erwan:0 "Yann-Erwan" + Laorañs:0 "Laora_n_tld_s" + Izabel:0 "Izabel" + Roparzh:0 "Roparzh" + Katell:0 "Katell" + Divi:0 "Divi" + Nikolaz:0 "Nikolaz" + Guy:0 "Guy" + Nathalie:0 "Nathalie" + Herri:0 "Herri" + Didier:0 "Didier" + Sylvie:0 "Sylvie" + F_e_act_lix:0 "Félix" + F_e_act_lix-Pol:0 "Félix-Pol" + Paol:0 "Paol" + Pol:0 "Pol" + Monique:0 "Monique" + Visant:0 "Visant" + Kristin:0 "Kristin" + Steven:0 "Steven" + Serj:0 "Serj" + Mark:0 "Mark" + Marsel:0 "Marsel" + Yannick:0 "Yannick" + Remont:0 "Remont" + Jorj:0 "Jorj" + Jord:0 "Jord" + Jili:0 "Jili" + Jil:0 "Jil" + Juluan:0 "Juluan" + Maoris:0 "Maoris" + Yannig:0 "Yannig" + Yann-Baol:0 "Yann-Baol" + Martine:0 "Martine" + Frank:0 "Frank" + Val_e_act_rie:0 "Valérie" + Annick:0 "Annick" + Sophie:0 "Sophie" + Annaig:0 "Annaig" + Denez:0 "Denez" + Jakeza:0 "Jakeza" + Yann-Luk:0 "Yann-Luk" + Yvon:0 "Yvon" + Gwilherm:0 "Gwilherm" + Laurence:0 "Laurence" + Sandrine:0 "Sandrine" + Maria-Tereza:0 "Maria-Tereza" + Nicole:0 "Nicole" + Fra_n_tld_sez:0 "Frañsez" + Frederig:0 "Frederig" + Micka_e_uml_l:0 "Mickaël" + Alberzh:0 "Alberzh" + Anna-Vari:0 "Anna-Vari" + G_e_act_rard:0 "Gérard" + Arno:0 "Arno" + Sylvain:0 "Sylvain" + Brec_pst_hed:0 "Brec'hed" + Deneza:0 "Deneza" + Janed:0 "Janed" + Kristell:0 "Kristell" + Fra_n_tld_seza:0 "Frañseza" + Yann-Fa_n_tld_ch:0 "Yann-Fañch" + Ivetig:0 "Ivetig" + Patricia:0 "Patricia" + Benead:0 "Benead" + Gilbert:0 "Gilbert" + Christiane:0 "Christiane" + Yann-Loeiz:0 "Yann-Loeiz" + Karine:0 "Karine" + Herve:0 "Herve" + St_e_act_phanie:0 "Stéphanie" + Lo_i_uml_c:0 "Loïc" + Lucien:0 "Lucien" + Patrice:0 "Patrice" + Tomaz:0 "Tomaz" + Erwan:0 "Erwan" + Aur_e_act_lie:0 "Aurélie" + Charlez:0 "Charlez" + Roland:0 "Roland" + Janedig:0 "Janedig" + Lionel:0 "Lionel" + Yann-Vikael:0 "Yann-Vikael" + Delphine:0 "Delphine" + Klaodina:0 "Klaodina" + Yann-Varc_pst_h:0 "Yann-Varc'h" + Yann-Vark:0 "Yann-Vark" + Aleksandr:0 "Aleksandr" + C_e_act_line:0 "Céline" + Corinne:0 "Corinne" + Yann-Jakez:0 "Yann-Jakez" + V_e_act_ronique:0 "Véronique" + Anton:0 "Anton" + Mazhev:0 "Mazhev" + Klara:0 "Klara" + Caroline:0 "Caroline" + Huberzh:0 "Huberzh" + Yann-Vari:0 "Yann-Vari" + Jilberzh:0 "Jilberzh" + _E_act_milie:0 "Émilie" + Emmanuel:0 "Emmanuel" + Florence:0 "Florence" + Elena:0 "Elena" + Zavier:0 "Zavier" + Odile:0 "Odile" + Ivona:0 "Ivona" + J_e_act_r_o_hat_me:0 "Jérôme" + Colette:0 "Colette" + Mari-Loeiza:0 "Mari-Loeiza" + Richarzh:0 "Richarzh" + Gildas:0 "Gildas" + Josiane:0 "Josiane" + Loeiza:0 "Loeiza" + Beltram:0 "Beltram" + Lo_i_uml_g:0 "Loïg" + Ronan:0 "Ronan" + Myriam:0 "Myriam" + Mireille:0 "Mireille" + Armelle:0 "Armelle" + Sonia:0 "Sonia" + Sandra:0 "Sandra" + P_e_hat_r-Erwan:0 "Pêr-Erwan" + Emil:0 "Emil" + Maria:0 "Maria" + Cyril:0 "Cyril" + Bernadette:0 "Bernadette" + Marie-France:0 "Marie-France" + Maria-Kristina:0 "Maria-Kristina" + Nadine:0 "Nadine" + Eujen:0 "Eujen" + Kristina:0 "Kristina" + Fabienne:0 "Fabienne" + Mikaela:0 "Mikaela" + Danielle:0 "Danielle" + Elesbed:0 "Elesbed" + Roman:0 "Roman" + Jo_e_uml_lle:0 "Joëlle" + Alexandra:0 "Alexandra" + Marie-Claire:0 "Marie-Claire" + Cyrille:0 "Cyrille" + Maxime:0 "Maxime" + Lydie:0 "Lydie" + Marina:0 "Marina" + Gabriel:0 "Gabriel" + _E_act_lodie:0 "Élodie" + Damien:0 "Damien" + Chanig:0 "Chanig" + Michelle:0 "Michelle" + Patrig:0 "Patrig" + Mari-Jozeb:0 "Mari-Jozeb" + Estelle:0 "Estelle" + Laure:0 "Laure" + Gwillam:0 "Gwillam" + Emmanuelle:0 "Emmanuelle" + Suzana:0 "Suzana" + M_e_act_lanie:0 "Mélanie" + Marie-Annick:0 "Marie-Annick" + Pierrick:0 "Pierrick" + Yann-Vadezour:0 "Yann-Vadezour" + Yann-Charlez:0 "Yann-Charlez" + K_e_act_vin:0 "Kévin" + Ga_e_uml_lle:0 "Gaëlle" + Morgana:0 "Morgana" + Carole:0 "Carole" + Yoann:0 "Yoann" + Gw_e_act_na_e_uml_lle:0 "Gwénaëlle" + Ga_e_uml_l:0 "Gaël" + Gwena_e_uml_l:0 "Gwenaël" + Rozenn:0 "Rozenn" + Nolwenn:0 "Nolwenn" + Corentin:0 "Corentin" + Morgan:0 "Morgan" + Armel:0 "Armel" + Tanguy:0 "Tanguy" + Erwann:0 "Erwann" + Arthur:0 "Arthur" + Yohann:0 "Yohann" + Soizic:0 "Soizic" + Soazig:0 "Soazig" + Gwenola:0 "Gwenola" + Gwendal:0 "Gwendal" + P_e_hat_r-Vari:0 "Pêr-Vari" + Yveline:0 "Yveline" + Mathurin:0 "Mathurin" + Yvonnick:0 "Yvonnick" + Yvonig:0 "Yvonig" + Ma_e_uml_l:0 "Maël" + Gwenn-A_e_uml_l:0 "Gwenn-Aël" + Gwenha_e_uml_l:0 "Gwenhaël" + Jean-Yvon:0 "Jean-Yvon" + Goulven:0 "Goulven" + Anne-Ga_e_uml_lle:0 "Anne-Gaëlle" + Gwen:0 "Gwen" + Gwendoline:0 "Gwendoline" + Gwenn:0 "Gwenn" + Maryannick:0 "Maryannick" + Renan:0 "Renan" + Gurvan:0 "Gurvan" + Yohan:0 "Yohan" + Enora:0 "Enora" + Ian:0 "Ian" + Brendan:0 "Brendan" + Jeannick:0 "Jeannick" + Gu_e_act_na_e_uml_l:0 "Guénaël" + Mariannick:0 "Mariannick" + Tangi:0 "Tangi" + Fiona:0 "Fiona" + Yoan:0 "Yoan" + Davy:0 "Davy" + Marie-Armelle:0 "Marie-Armelle" + Tifenn:0 "Tifenn" + Youenn:0 "Youenn" + Glenn:0 "Glenn" + L_e_act_na_i_uml_c:0 "Lénaïc" + L_e_act_na_i_uml_g:0 "Lénaïg" + Allan:0 "Allan" + Brieuc:0 "Brieuc" + Ewen:0 "Ewen" + Tugdual:0 "Tugdual" + Janick:0 "Janick" + Vivien:0 "Vivien" + Jean-Pol:0 "Jean-Pol" + Yan:0 "Yan" + Ma_i_uml_wenn:0 "Maïwenn" + Mari-Gwenn:0 "Mari-Gwenn" + Graham:0 "Graham" + Soizick:0 "Soizick" + Dylan:0 "Dylan" + Yannig:0 "Yannig" + Gw_e_act_nol_e_act_:0 "Gwénolé" + Gu_e_act_nol_e_act_:0 "Guénolé" + Gwennole:0 "Gwennole" + Maela:0 "Maela" + Malo:0 "Malo" + Jannick:0 "Jannick" + Mael:0 "Mael" + Maelys:0 "Maelys" + Elouan:0 "Elouan" + Kylian:0 "Kylian" + Eden:0 "Eden" + Yuna:0 "Yuna" + Youna:0 "Youna" + Alban:0 "Alban" + Milo:0 "Milo" + Ewan:0 "Ewan" + Bleuenn:0 "Bleuenn" + Lilwenn:0 "Lilwenn" + Kilian:0 "Kilian" + Maiwenn:0 "Maiwenn" + Evan:0 "Evan" + Alwena:0 "Alwena" + Louisa:0 "Louisa" + Ewenn:0 "Ewenn" + Malone:0 "Malone" + Erell:0 "Erell" + Mewen:0 "Mewen" + Evann:0 "Evann" + Kyllian:0 "Kyllian" + Lo_i_uml_s:0 "Loïs" + Aziliz:0 "Aziliz" + Mah_e_act_:0 "Mahé" + Melvyn:0 "Melvyn" + Mona:0 "Mona" + Gael:0 "Gael" + Yael:0 "Yael" + Lena:0 "Lena" + Youen:0 "Youen" + Briac:0 "Briac" + Klervi:0 "Klervi" + Sterenn:0 "Sterenn" + Ana:0 "Ana" + Elouann:0 "Elouann" + Maina:0 "Maina" + Awen:0 "Awen" + Awena:0 "Awena" + Liza:0 "Liza" + Maewenn:0 "Maewenn" + Alana:0 "Alana" + Eliaz:0 "Eliaz" + Riwan:0 "Riwan" + Lenaig:0 "Lenaig" + Ma_e_uml_lie:0 "Maëlie" + Kenan:0 "Kenan" + Paola:0 "Paola" + Meven:0 "Meven" + Lara:0 "Lara" + Youn:0 "Youn" + Liz:0 "Liz" + Ma_e_uml_lan:0 "Maëlan" + Maiwen:0 "Maiwen" + Malou:0 "Malou" + Ka_e_uml_lig:0 "Kaëlig" + Aela:0 "Aela" + Brewen:0 "Brewen" + Andrea:0 "Andrea" + Kelig:0 "Kelig" + Tina:0 "Tina" + Maho:0 "Maho" + Hoel:0 "Hoel" + Ma_e_uml_lig:0 "Maëlig" + Gurwan:0 "Gurwan" + Maelenn:0 "Maelenn" + Ewann:0 "Ewann" + Aodrenn:0 "Aodrenn" + Ael:0 "Ael" + Loeva:0 "Loeva" + Edern:0 "Edern" + Efflam:0 "Efflam" + Maelann:0 "Maelann" + Nolwen:0 "Nolwen" + Neven:0 "Neven" + Envel:0 "Envel" + Kyliann:0 "Kyliann" + Madenn:0 "Madenn" + Maden:0 "Maden" + Lomig:0 "Lomig" + Arwenn:0 "Arwenn" + Even:0 "Even" + Trystan:0 "Trystan" + Aelia:0 "Aelia" + Guirec:0 "Guirec" + Kristen:0 "Kristen" + Elwen:0 "Elwen" + Aelig:0 "Aelig" + Annwenn:0 "Annwenn" + Maelwenn:0 "Maelwenn" + Goulwen:0 "Goulwen" + Riwal:0 "Riwal" + Gweltaz:0 "Gweltaz" + Kilyan:0 "Kilyan" + Lancelot:0 "Lancelot" + Yanna:0 "Yanna" + Kerrian:0 "Kerrian" + Azenor:0 "Azenor" + Naig:0 "Naig" + Elowan:0 "Elowan" + Loen:0 "Loen" + Milio:0 "Milio" + Melen:0 "Melen" + Diwan:0 "Diwan" + Logann:0 "Logann" + Owenn:0 "Owenn" + Oanell:0 "Oanell" + Galaad:0 "Galaad" + Lo_i_uml_za:0 "Loïza" + Maeli:0 "Maeli" + Azylis:0 "Azylis" + Matilin:0 "Matilin" + Jaouen:0 "Jaouen" + A_e_act_nor:0 "Aénor" + Solen:0 "Solen" + Lizenn:0 "Lizenn" + Gwenegan:0 "Gwenegan" + Gwenvael:0 "Gwenvael" + Gwenc_pst_hlan:0 "Gwenc'hlan" + Gaid:0 "Gaid" + Mewenn:0 "Mewenn" + Guillian:0 "Guillian" + Dewi:0 "Dewi" + Aina:0 "Aina" + Tudi:0 "Tudi" + Judikael:0 "Judikael" + Goustan:0 "Goustan" + Servan:0 "Servan" + Ehouarn:0 "Ehouarn" + Mai:0 "Mai" + Noalig:0 "Noalig" + Elen:0 "Elen" + Steren:0 "Steren" + Sklaerenn:0 "Sklaerenn" + Awenn:0 "Awenn" + Gireg:0 "Gireg" + Lizig:0 "Lizig" + Nomino_e_uml_:0 "Nominoë" + Aouregan:0 "Aouregan" + Tudal:0 "Tudal" + Mariana:0 "Mariana" + Laouen:0 "Laouen" + Peran:0 "Peran" + Job_Joseph:0 "Job" + Leon:0 "Leon" + Garlonn:0 "Garlonn" + Morgann:0 "Morgann" + Brann:0 "Brann" + Diwezha:0 "Diwezha" + Anatol:0 "Anatol" + Argan:0 "Argan" + Judica_e_uml_l:0 "Judicaël" + M_e_act_riadec:0 "Mériadec" + Mevena:0 "Mevena" + Bleuen:0 "Bleuen" + Avel:0 "Avel" + Zaig:0 "Zaig" + Jean-Mathurin:0 "Jean-Mathurin" + Yerom:0 "Yerom" + Yseult:0 "Yseult" + Hollsent:0 "Hollsent" From 20d7bf0de10099a3550e4c06921c85c9e62e7328 Mon Sep 17 00:00:00 2001 From: JulesFlammenkueche Date: Tue, 4 Nov 2025 18:06:20 +0100 Subject: [PATCH 17/20] Breton surnames --- .../name_equivalency/00_NEOW_male_names.txt | 6 +- .../common/culture/name_lists/NEOW_french.txt | 165 +++++++++++++++++- .../NEOW_dynasty_names_l_english.yml | 80 ++++++++- .../names/NEOW_character_names_l_english.yml | 5 + 4 files changed, 248 insertions(+), 8 deletions(-) diff --git a/N3OW/common/culture/name_equivalency/00_NEOW_male_names.txt b/N3OW/common/culture/name_equivalency/00_NEOW_male_names.txt index 52de3d48..be8914be 100644 --- a/N3OW/common/culture/name_equivalency/00_NEOW_male_names.txt +++ b/N3OW/common/culture/name_equivalency/00_NEOW_male_names.txt @@ -233,10 +233,10 @@ sebastian_male = { Bastian Sebastian } sergius_male = { Serj S_e_grv_rgi } simon_male = { Simoun } stanislaus_male = { Estanislau } -stephen_male = { Steven Est_e_grv_ve Estefan } +stephen_male = { Stefan Steven Est_e_grv_ve Estefan } sylvain_male = { Sylvain S_e_act_uvan } tanguy_male = { Tangi Tanguy } -theobald_male = { Tibaud } +theobald_male = { Tepot Tibaud } theodore_male = { Teoudor } theodoric_male = { Thierry Terris } theophilus_male = { Teoufile } @@ -251,5 +251,5 @@ vincent_male = { Visant Vinc_e_grv_ns } walter_male = { Gauchi_e_act_ } william_male = { Lomig Gwillam Gwilherm Guih_e_grv_ume Guih_e_grv_n } xavier_male = { Zavier Savi_e_act_ } -yves_male = { Youn Youen Youenn Yvonnick Yvonig Erwann Erwan Yvon Yves Ives } +yves_male = { Eozen Youn Youen Youenn Yvonnick Yvonig Erwann Erwan Yvon Yves Ives } zachary_male = { Zacar_i_grv_o } \ No newline at end of file diff --git a/N3OW/common/culture/name_lists/NEOW_french.txt b/N3OW/common/culture/name_lists/NEOW_french.txt index efe4ee5c..52016048 100644 --- a/N3OW/common/culture/name_lists/NEOW_french.txt +++ b/N3OW/common/culture/name_lists/NEOW_french.txt @@ -1245,9 +1245,165 @@ name_list_NEOW_provencal = { name_list_NEOW_breton = { cadet_dynasty_names = { + "dynn_Abyann" + "dynn_al_spc_Lae" + "dynn_an Amour" + "dynn_an_spc_Deunff" + "dynn_an_spc_Du" + "dynn_ar_spc_Berr" + "dynn_ar_spc_Besko" + "dynn_ar_spc_Bihan" + "dynn_ar_spc_Borgn" + "dynn_ar_spc_Braz" + "dynn_ar_spc_Brizh" + "dynn_ar_spc_C_pst_haer" + "dynn_ar_spc_Floc_pst_h" + "dynn_ar_spc_Fur" + "dynn_ar_spc_Gall" + "dynn_ar_spc_Garreg" + "dynn_ar_spc_Gov" + "dynn_ar_spc_Gwenn" + "dynn_ar_spc_Moal" + "dynn_ar_spc_Mogn" + "dynn_ar_spc_Penneg" + "dynn_ar_spc_Roc_pst_h" + "dynn_ar_spc_Rouz" + "dynn_ar_spc_Rouzig" + "dynn_ar_spc_Ruyet" + "dynn_ar_spc_Saoz" + "dynn_ar_spc_Strad" + "dynn_Arcou_e_uml_t" + "dynn_Bellec" + "dynn_Bihanig" + "dynn_Broudig" + "dynn_Castel" + "dynn_Denez" + "dynn_Duff" + "dynn_er_spc_Meliner" + "dynn_Ewen" + "dynn_Gargam" + "dynn_Gourcuff" + "dynn_Gourmelon" + "dynn_Gwegen" + "dynn_Gwezhenneg" + "dynn_Gwilhermig" + "dynn_Gwilhmod" + "dynn_Gwilho_u_grv_" + "dynn_Gwivarc_pst_h" + "dynn_Herry" + "dynn_Huon" + "dynn_Jaffre" + "dynn_Jaouen" + "dynn_Jegou" + "dynn_Jestin" + "dynn_Kadiou" + "dynn_Kalvez" + "dynn_Kemener" + "dynn_Kermoal" + "dynn_Kervella" + "dynn_Kombod" + "dynn_Laora_n_tld_s" + "dynn_Louarn" + "dynn_Louet" + "dynn_Marzin" + "dynn_Milin" + "dynn_Nedeleg" + "dynn_Olier" + "dynn_Pasco" + "dynn_Pellen" + "dynn_Perrot" + "dynn_Queff_e_act_lec" + "dynn_Riou" + "dynn_Robic" + "dynn_Roparzh" + "dynn_Rozeg" + "dynn_Salaun" + "dynn_Samzun" + "dynn_Serandour" + "dynn_Stephan" + "dynn_Taleg" + "dynn_Urvoas" } dynasty_names = { + "dynn_Abyann" + "dynn_al_spc_Lae" + "dynn_an Amour" + "dynn_an_spc_Deunff" + "dynn_an_spc_Du" + "dynn_ar_spc_Berr" + "dynn_ar_spc_Besko" + "dynn_ar_spc_Bihan" + "dynn_ar_spc_Borgn" + "dynn_ar_spc_Braz" + "dynn_ar_spc_Brizh" + "dynn_ar_spc_C_pst_haer" + "dynn_ar_spc_Floc_pst_h" + "dynn_ar_spc_Fur" + "dynn_ar_spc_Gall" + "dynn_ar_spc_Garreg" + "dynn_ar_spc_Gov" + "dynn_ar_spc_Gwenn" + "dynn_ar_spc_Moal" + "dynn_ar_spc_Mogn" + "dynn_ar_spc_Penneg" + "dynn_ar_spc_Roc_pst_h" + "dynn_ar_spc_Rouz" + "dynn_ar_spc_Rouzig" + "dynn_ar_spc_Ruyet" + "dynn_ar_spc_Saoz" + "dynn_ar_spc_Strad" + "dynn_Arcou_e_uml_t" + "dynn_Bellec" + "dynn_Bihanig" + "dynn_Broudig" + "dynn_Castel" + "dynn_Denez" + "dynn_Duff" + "dynn_er_spc_Meliner" + "dynn_Ewen" + "dynn_Gargam" + "dynn_Gourcuff" + "dynn_Gourmelon" + "dynn_Gwegen" + "dynn_Gwezhenneg" + "dynn_Gwilhermig" + "dynn_Gwilhmod" + "dynn_Gwilho_u_grv_" + "dynn_Gwivarc_pst_h" + "dynn_Herry" + "dynn_Huon" + "dynn_Jaffre" + "dynn_Jaouen" + "dynn_Jegou" + "dynn_Jestin" + "dynn_Kadiou" + "dynn_Kalvez" + "dynn_Kemener" + "dynn_Kermoal" + "dynn_Kervella" + "dynn_Kombod" + "dynn_Laora_n_tld_s" + "dynn_Louarn" + "dynn_Louet" + "dynn_Marzin" + "dynn_Milin" + "dynn_Nedeleg" + "dynn_Olier" + "dynn_Pasco" + "dynn_Pellen" + "dynn_Perrot" + "dynn_Queff_e_act_lec" + "dynn_Riou" + "dynn_Robic" + "dynn_Roparzh" + "dynn_Rozeg" + "dynn_Salaun" + "dynn_Samzun" + "dynn_Serandour" + "dynn_Stephan" + "dynn_Taleg" + "dynn_Urvoas" } male_names = { @@ -1288,7 +1444,7 @@ name_list_NEOW_breton = { Mah_e_act_ Malone Melvyn Mewen Pol Renan - Tangi Tugdual + Tangi Tepot Tugdual Vivien Yan Yannig Yoan Yohan } @@ -1296,9 +1452,9 @@ name_list_NEOW_breton = { Adraboran Ael Anatol Aodrenn Argan Avel Brann Brewen Briac Dewi Diwan - Edern Efflam Ehouarn Elowan Eliaz Elouann Elwen Envel Even Ewann + Edern Efflam Ehouarn Elowan Eliaz Elouann Elwen Envel Eozen Even Ewann F_e_act_lix-Pol - Gael Galaad Gireg Goulwen Goustan Gu_e_act_nol_e_act_ Guillian Guirec Gurwan Gweltaz Gwenc_pst_hlan Gwenegan Gwenha_e_uml_l Gwenn-A_e_uml_l Gwennole Gwenvael + Gael Galaad Gireg Goulc_pst_han Goulwen Goustan Gu_e_act_nol_e_act_ Guillian Guirec Gurwan Gweltaz Gwenc_pst_hlan Gwenegan Gwenha_e_uml_l Gwenn-A_e_uml_l Gwennole Gwenvael Hoel Hollsent Howel Jaouen Jean-Mathurin Jil Job_Joseph Jozeb-Mari Judica_e_uml_l Judikael Kenan Kerrian Kilyan Klaod Kyliann @@ -1308,7 +1464,7 @@ name_list_NEOW_breton = { Owenn P_e_hat_r-Jakez Peran Riwal Riwan - Servan + Servan Stefan Trystan Tudi Tudal Yann-Varc_pst_h Youen Youn Yvonig } @@ -1351,6 +1507,7 @@ name_list_NEOW_breton = { Naig Nolwen Noalig Oanell Paola + Riwanon Sklaerenn Soazig Soizick Solen Steren Sterenn Tifenn Tina Yael Yanna Yseult diff --git a/N3OW/localization/english/dynasties/NEOW_dynasty_names_l_english.yml b/N3OW/localization/english/dynasties/NEOW_dynasty_names_l_english.yml index 6badd8a2..dfbc16b6 100644 --- a/N3OW/localization/english/dynasties/NEOW_dynasty_names_l_english.yml +++ b/N3OW/localization/english/dynasties/NEOW_dynasty_names_l_english.yml @@ -231,4 +231,82 @@ dynn_Simon:0 "Simon" dynn_Thomas:0 "Thomas" dynn_Vidal:0 "Vidal" - dynn_Vincent:0 "Vincent" \ No newline at end of file + dynn_Vincent:0 "Vincent" + dynn_Abyann:0 "Abyann" + dynn_al_spc_Lae:0 "al Lae" + dynn_an Amour:0 "an Amour" + dynn_an_spc_Deunff:0 "an Deunff" + dynn_an_spc_Du:0 "an Du" + dynn_ar_spc_Berr:0 "ar Berr" + dynn_ar_spc_Besko:0 "ar Besko" + dynn_ar_spc_Bihan:0 "ar Bihan" + dynn_ar_spc_Borgn:0 "ar Borgn" + dynn_ar_spc_Braz:0 "ar Braz" + dynn_ar_spc_Brizh:0 "ar Brizh" + dynn_ar_spc_C_pst_haer:0 "ar C'haer" + dynn_ar_spc_Floc_pst_h:0 "ar Floc'h" + dynn_ar_spc_Fur:0 "ar Fur" + dynn_ar_spc_Gall:0 "ar Gall" + dynn_ar_spc_Garreg:0 "ar Garreg" + dynn_ar_spc_Gov:0 "ar Gov" + dynn_ar_spc_Gwenn:0 "ar Gwenn" + dynn_ar_spc_Moal:0 "ar Moal" + dynn_ar_spc_Mogn:0 "ar Mogn" + dynn_ar_spc_Penneg:0 "ar Penneg" + dynn_ar_spc_Roc_pst_h:0 "ar Roc'h" + dynn_ar_spc_Rouz:0 "ar Rouz" + dynn_ar_spc_Rouzig:0 "ar Rouzig" + dynn_ar_spc_Ruyet:0 "ar Ruyet" + dynn_ar_spc_Saoz:0 "ar Saoz" + dynn_ar_spc_Strad:0 "ar Strad" + dynn_Arcou_e_uml_t:0 "Arcouët" + dynn_Bellec:0 "Bellec" + dynn_Bihanig:0 "Bihanig" + dynn_Broudig:0 "Broudig" + dynn_Castel:0 "Castel" + dynn_Denez:0 "Denez" + dynn_Duff:0 "Duff" + dynn_er_spc_Meliner:0 "er Meliner" + dynn_Ewen:0 "Ewen" + dynn_Gargam:0 "Gargam" + dynn_Gourcuff:0 "Gourcuff" + dynn_Gourmelon:0 "Gourmelon" + dynn_Gwegen:0 "Gwegen" + dynn_Gwezhenneg:0 "Gwezhenneg" + dynn_Gwilhermig:0 "Gwilhermig" + dynn_Gwilhmod:0 "Gwilhmod" + dynn_Gwilho_u_grv_:0 "Gwilhoù" + dynn_Gwivarc_pst_h:0 "Gwivarc'h" + dynn_Herry:0 "Herry" + dynn_Huon:0 "Huon" + dynn_Jaffre:0 "Jaffre" + dynn_Jaouen:0 "Jaouen" + dynn_Jegou:0 "Jegou" + dynn_Jestin:0 "Jestin" + dynn_Kadiou:0 "Kadiou" + dynn_Kalvez:0 "Kalvez" + dynn_Kemener:0 "Kemener" + dynn_Kermoal:0 "Kermoal" + dynn_Kervella:0 "Kervella" + dynn_Kombod:0 "Kombod" + dynn_Laora_n_tld_s:0 "Laorañs" + dynn_Louarn:0 "Louarn" + dynn_Louet:0 "Louet" + dynn_Marzin:0 "Marzin" + dynn_Milin:0 "Milin" + dynn_Nedeleg:0 "Nedeleg" + dynn_Olier:0 "Olier" + dynn_Pasco:0 "Pasco" + dynn_Pellen:0 "Pellen" + dynn_Perrot:0 "Perrot" + dynn_Queff_e_act_lec:0 "Queffélec" + dynn_Riou:0 "Riou" + dynn_Robic:0 "Robic" + dynn_Roparzh:0 "Roparzh" + dynn_Rozeg:0 "Rozeg" + dynn_Salaun:0 "Salaun" + dynn_Samzun:0 "Samzun" + dynn_Serandour:0 "Serandour" + dynn_Stephan:0 "Stephan" + dynn_Taleg:0 "Taleg" + dynn_Urvoas:0 "Urvoas" \ No newline at end of file diff --git a/N3OW/localization/english/names/NEOW_character_names_l_english.yml b/N3OW/localization/english/names/NEOW_character_names_l_english.yml index 4d47b5ab..03112913 100644 --- a/N3OW/localization/english/names/NEOW_character_names_l_english.yml +++ b/N3OW/localization/english/names/NEOW_character_names_l_english.yml @@ -26,6 +26,7 @@ Enmanu_e_grv_l:0 "Enmanuèl" Enri:0 "Enri" Eri:0 "Eri" + Stefan:0 "Stefan" Estefan:0 "Estefan" Fabian:0 "Fabian" Fabrice:0 "Fabrice" @@ -1004,3 +1005,7 @@ Yerom:0 "Yerom" Yseult:0 "Yseult" Hollsent:0 "Hollsent" + Goulc_pst_han:0 "Goulc'han" + Eozen:0 "Eozen" + Riwanon:0 "Riwanon" + Tepot:0 "Tepot" From 7b923a0dd0b57f25575cdcb9ae8e4fa6d8fb3851 Mon Sep 17 00:00:00 2001 From: ProHunter1023 Date: Wed, 5 Nov 2025 14:58:59 +0800 Subject: [PATCH 18/20] Portugal Vassals --- N3OW/history/characters/NEOW_e_hispania.txt | 65 +++++++++++++++++++ N3OW/history/titles/k_portugal.txt | 36 ++++++++++ .../NEOW_dynasty_names_l_english.yml | 5 +- 3 files changed, 105 insertions(+), 1 deletion(-) diff --git a/N3OW/history/characters/NEOW_e_hispania.txt b/N3OW/history/characters/NEOW_e_hispania.txt index ea2b011c..2ff5cfaf 100644 --- a/N3OW/history/characters/NEOW_e_hispania.txt +++ b/N3OW/history/characters/NEOW_e_hispania.txt @@ -593,4 +593,69 @@ s_galicia_savaricu_estevez = { 2600.1.1 = { death = yes } +} +portugal_hermigo_coimbra = { + name = "Hermígo" + dynasty = coimbra_dynasty + religion = iberian + culture = portuguese + trait = forgiving + trait = diligent + trait = stubborn + trait = education_learning_4 + 2522.8.17 = { + birth = yes + } + 2600.1.1 = { + death = yes + } +} +portugal_bernardo_fogaca = { + name = "Bernardo" + dynasty = fogaca_dynasty + religion = iberian + culture = portuguese + trait = zealous + trait = shy + trait = trusting + trait = education_intrigue_3 + trait = scaly + 2520.8.19 = { + birth = yes + } + 2600.1.1 = { + death = yes + } +} +portugal_garcia_alvarenga = { + name = "Garcia" + dynasty = alvarenga_dynasty + religion = iberian + culture = portuguese + trait = fickle + trait = humble + trait = content + trait = education_diplomacy_1 + 2523.7.20 = { + birth = yes + } + 2600.1.1 = { + death = yes + } +} +portugal_vela_aboim = { + name = "Vela" + dynasty = aboim_dynasty + religion = iberian + culture = portuguese + trait = temperate + trait = paranoid + trait = patient + trait = education_intrigue_4 + 2520.4.19 = { + birth = yes + } + 2600.1.1 = { + death = yes + } } \ No newline at end of file diff --git a/N3OW/history/titles/k_portugal.txt b/N3OW/history/titles/k_portugal.txt index 2fb5d7f8..46c91106 100644 --- a/N3OW/history/titles/k_portugal.txt +++ b/N3OW/history/titles/k_portugal.txt @@ -21,4 +21,40 @@ d_algarve = { holder = hispania0019 liege = k_portugal } +} +d_porto = { + 2550.1.1 = { + holder = portugal_vela_aboim + liege = k_portugal + } +} +c_beja = { + 2550.1.1 = { + holder = portugal_hermigo_coimbra + liege = k_portugal + } +} +c_alcacer_do_sal = { + 2550.1.1 = { + holder = portugal_hermigo_coimbra + liege = k_portugal + } +} +c_elvas = { + 2550.1.1 = { + holder = portugal_bernardo_fogaca + liege = k_portugal + } +} +c_alto_alentejo = { + 2550.1.1 = { + holder = portugal_bernardo_fogaca + liege = k_portugal + } +} +c_viseu = { + 2550.1.1 = { + holder = portugal_garcia_alvarenga + liege = k_portugal + } } \ No newline at end of file diff --git a/N3OW/localization/english/replace/dynasties/NEOW_dynasty_names_l_english.yml b/N3OW/localization/english/replace/dynasties/NEOW_dynasty_names_l_english.yml index f47e8295..5ba743f4 100644 --- a/N3OW/localization/english/replace/dynasties/NEOW_dynasty_names_l_english.yml +++ b/N3OW/localization/english/replace/dynasties/NEOW_dynasty_names_l_english.yml @@ -329,7 +329,10 @@ dynn_alonso:0 "Alonso" dynn_melendez:0 "Meléndez" dynn_estevez:0 "Estévez" - + dynn_coimbra:0 "Coimbra" + dynn_fogaca:0 "Fogaça" + dynn_alvarenga:0 "Alvarenga" + dynn_aboim:0 "Aboim" #e_italia From 1f0f45aa267f5ee22bb2bbb37ccdfcd26c653ea4 Mon Sep 17 00:00:00 2001 From: JulesFlammenkueche Date: Thu, 6 Nov 2025 22:59:28 +0100 Subject: [PATCH 19/20] Beur names --- N3OW/common/culture/cultures/NEOW_berber.txt | 292 ++++++++++++++++++ .../name_equivalency/00_NEOW_female_names.txt | 179 ++++++----- .../name_equivalency/00_NEOW_male_names.txt | 278 +++++++++++------ .../common/culture/name_lists/NEOW_french.txt | 2 +- .../NEOW_dynasty_names_l_english.yml | 112 ++++++- .../names/NEOW_character_names_l_english.yml | 280 +++++++++++++++++ 6 files changed, 978 insertions(+), 165 deletions(-) create mode 100644 N3OW/common/culture/cultures/NEOW_berber.txt diff --git a/N3OW/common/culture/cultures/NEOW_berber.txt b/N3OW/common/culture/cultures/NEOW_berber.txt new file mode 100644 index 00000000..44ad4df5 --- /dev/null +++ b/N3OW/common/culture/cultures/NEOW_berber.txt @@ -0,0 +1,292 @@ +name_list_NEOW_beur = { + + cadet_dynasty_names = { + "dynn_A_i_uml_t_spc_Aattou" + "dynn_Abdelmoula" + "dynn_Abderrahmane" + "dynn_Aichaoui" + "dynn_Alakouch" + "dynn_Alassane" + "dynn_Ali" + "dynn_Ameur_dsh_Za_i_uml_meche" + "dynn_Attoumani" + "dynn_Ayouch" + "dynn_Azamoum" + "dynn_Aziza" + "dynn_Azizou" + "dynn_Bachtobji" + "dynn_Bajrafil" + "dynn_Barakrok" + "dynn_Behi" + "dynn_Bel_spc_Hadj" + "dynn_Bela_i_uml_d" + "dynn_Belghazouani" + "dynn_Belhassen" + "dynn_Belkhodja" + "dynn_Ben_spc_Ali" + "dynn_Ben_spc_Boina" + "dynn_Ben_spc_Sa_i_uml_d" + "dynn_Bencheikh" + "dynn_Benhabiles" + "dynn_Benmessaoud" + "dynn_Benmeziane" + "dynn_Bensadia" + "dynn_Bensalah" + "dynn_Bertin_dsh_d_pst_Avesnes" + "dynn_Bettaieb" + "dynn_Beziouen" + "dynn_Bouab" + "dynn_Boughachiche" + "dynn_Bouguerra" + "dynn_Boukhobza" + "dynn_Bouzaiene" + "dynn_Byar" + "dynn_Dhaouadi" + "dynn_Djailani" + "dynn_Djebali" + "dynn_Djellabi" + "dynn_Djemelbarek" + "dynn_Djoghlal" + "dynn_Doukara" + "dynn_Dridi" + "dynn_Ech_dsh_Chergui" + "dynn_El_dsh_Azzouzi" + "dynn_El_spc_Bekri" + "dynn_El_spc_Hany" + "dynn_El_spc_Moudane" + "dynn_Embarek" + "dynn_Fellahi" + "dynn_Fofana" + "dynn_Gassama" + "dynn_Gharzoul" + "dynn_Gtari" + "dynn_Guidileye" + "dynn_H_e_act_nin" + "dynn_Haddad" + "dynn_Haddou" + "dynn_Hadji" + "dynn_Hafsi" + "dynn_Hajoui" + "dynn_Hamdi" + "dynn_Harbaoui" + "dynn_Hatubou" + "dynn_Henni" + "dynn_Houissa" + "dynn_Idir" + "dynn_Jemili" + "dynn_Jol_e_act__spc_M_e_act_n_e_act_bhi" + "dynn_Kamara" + "dynn_Kechi" + "dynn_Kerroum" + "dynn_Kheder" + "dynn_Lahlou" + "dynn_Lamloum" + "dynn_Latifi" + "dynn_Loussaief" + "dynn_Maadour" + "dynn_Maaref" + "dynn_Maaskri" + "dynn_Madi" + "dynn_Malum" + "dynn_Mansoibou" + "dynn_Mezaache" + "dynn_Mokn_e_grv_che" + "dynn_N_pst_Diaye" + "dynn_Nabba" + "dynn_Omrani" + "dynn_Oubaali" + "dynn_Qasmi" + "dynn_Raguig" + "dynn_Rahilou" + "dynn_Salama" + "dynn_Salem" + "dynn_Samba" + "dynn_Sayad" + "dynn_Soudani" + "dynn_Soukhane" + "dynn_Soul_e_act_" + "dynn_Sy" + "dynn_Talhaoui" + "dynn_Tarkhani" + "dynn_Yachir" + "dynn_Yacoubi" + "dynn_Yahiaoui" + } + + dynasty_names = { + "dynn_A_i_uml_t_spc_Aattou" + "dynn_Abdelmoula" + "dynn_Abderrahmane" + "dynn_Aichaoui" + "dynn_Alakouch" + "dynn_Alassane" + "dynn_Ali" + "dynn_Ameur_dsh_Za_i_uml_meche" + "dynn_Attoumani" + "dynn_Ayouch" + "dynn_Azamoum" + "dynn_Aziza" + "dynn_Azizou" + "dynn_Bachtobji" + "dynn_Bajrafil" + "dynn_Barakrok" + "dynn_Behi" + "dynn_Bel_spc_Hadj" + "dynn_Bela_i_uml_d" + "dynn_Belghazouani" + "dynn_Belhassen" + "dynn_Belkhodja" + "dynn_Ben_spc_Ali" + "dynn_Ben_spc_Boina" + "dynn_Ben_spc_Sa_i_uml_d" + "dynn_Bencheikh" + "dynn_Benhabiles" + "dynn_Benmessaoud" + "dynn_Benmeziane" + "dynn_Bensadia" + "dynn_Bensalah" + "dynn_Bertin_dsh_d_pst_Avesnes" + "dynn_Bettaieb" + "dynn_Beziouen" + "dynn_Bouab" + "dynn_Boughachiche" + "dynn_Bouguerra" + "dynn_Boukhobza" + "dynn_Bouzaiene" + "dynn_Byar" + "dynn_Dhaouadi" + "dynn_Djailani" + "dynn_Djebali" + "dynn_Djellabi" + "dynn_Djemelbarek" + "dynn_Djoghlal" + "dynn_Doukara" + "dynn_Dridi" + "dynn_Ech_dsh_Chergui" + "dynn_El_dsh_Azzouzi" + "dynn_El_spc_Bekri" + "dynn_El_spc_Hany" + "dynn_El_spc_Moudane" + "dynn_Embarek" + "dynn_Fellahi" + "dynn_Fofana" + "dynn_Gassama" + "dynn_Gharzoul" + "dynn_Gtari" + "dynn_Guidileye" + "dynn_H_e_act_nin" + "dynn_Haddad" + "dynn_Haddou" + "dynn_Hadji" + "dynn_Hafsi" + "dynn_Hajoui" + "dynn_Hamdi" + "dynn_Harbaoui" + "dynn_Hatubou" + "dynn_Henni" + "dynn_Houissa" + "dynn_Idir" + "dynn_Jemili" + "dynn_Jol_e_act__spc_M_e_act_n_e_act_bhi" + "dynn_Kamara" + "dynn_Kechi" + "dynn_Kerroum" + "dynn_Kheder" + "dynn_Lahlou" + "dynn_Lamloum" + "dynn_Latifi" + "dynn_Loussaief" + "dynn_Maadour" + "dynn_Maaref" + "dynn_Maaskri" + "dynn_Madi" + "dynn_Malum" + "dynn_Mansoibou" + "dynn_Mezaache" + "dynn_Mokn_e_grv_che" + "dynn_N_pst_Diaye" + "dynn_Nabba" + "dynn_Omrani" + "dynn_Oubaali" + "dynn_Qasmi" + "dynn_Raguig" + "dynn_Rahilou" + "dynn_Salama" + "dynn_Salem" + "dynn_Samba" + "dynn_Sayad" + "dynn_Soudani" + "dynn_Soukhane" + "dynn_Soul_e_act_" + "dynn_Sy" + "dynn_Talhaoui" + "dynn_Tarkhani" + "dynn_Yachir" + "dynn_Yacoubi" + "dynn_Yahiaoui" + } + + male_names = { + Abdelaziz Abdelghafour Abdelhafid Abdelhakim Abdelkader Abdelkarim Abdelkrim Abdellatif Abdelmona_i_uml_m Abdelwahab Abderrahman Abderrahmane Aboubakeur Adam Adel Ahmad Ahmed Ali Amadou Amar Amine Amir Anouar Anziz Assa_a_hat_d Aymen Aziz Azzedine + B_e_act_chir Badroudine Bassem Belkacem Bilal Borhene Boualem Boubaker Boumedienne Brahim + Camel Chahir Cheikh Chems-Eddine + Daby Dalil Daysam Dehmaine Diallo Djamel Djeidi Driss + Elamine + Faouzi Far_e_grv_s Farid Fatsah Faudel Ferrid Fethi Foued Fu_pst_ad + Ghaleb + H_e_act_di H_e_act_ni Hachim Hakim Halifa Hamdi Hamed Hamidou Hamza Harouna Hassan Hassen Helmi Hicham Hichem Himad Hocine Home_i_uml_da Housni Houssam Houssen + Ibr_e_act_hima Ibrahima Idir Idriss Ilyes Isma_e_uml_l Isma_i_uml_l Issa Iteb + Jamel Jamel_spc_Eddine Jawad + K_e_act_vin Kamel Karim Kassim Kelyan Khaled Khalid Khalil Kylan + Lakdar Lassad Latuf Lotfi Lyes + Madjid Mahi Malek Malek-Eddine Mamadou Manoubi Marouane Marwan Medhi Medhi-Amar Mehdi Mehdi-Georges Miloud Mohamed Mohamed_spc_Ali Mohammed Moncef Mondhor Mouloud Mounir Moussa Mustapha + N_e_act_jib Na_i_uml_m Nabil Nacim Nadir Nadjim Naouirou Nasser Nassuf Nassur Nordine Noureddine + Okacha Ouassini Oumar + Rabah Rachid Rafik Raouf Rayan Rayanne Reda Redouane Riad Riadh Roschdy + Sa_i_uml_d Salim Sami Samir Selim Seufyann Slim Slimane Sofian Sofiane Soheib Soufian Souleymane + Taha Talal Tarek Tareq Tarik Tijani + Walid Wissam Wissem + Yacine Yanis Yannis Yassin Yassine Youn_e_grv_s Youssef Yunis + Zachary Zin_e_act_dine + } + female_names = { + Amina Amira Anissa Asma + Bouchra Bouraou_i_uml_a + C_e_act_lia Ch_e_act_rifa Cheikha Chourouk + Doria + Ella Erige + Farah Farida Fatiha Fatine Fatma Fawzia Fella Feriel Feta + Ghalya + Hachimiya Hajer Halida Halima Hanane Hania Henda Hind Houria Hourya + Ismahane + Jihane + Kahina Kalthoum Karima Kenza Kysha + La_i_uml_la Lamia Lamya Latifa Leila Leyla Lobna Lyna Lynda + M_e_act_linda Malika Manele Maryam Melaaz Mika Mounia Mounira Myriam + N_e_act_ziha Nabila Nadia Najat Nawel Nissrine Nora Nozha + Olfa Ouidad + Rachida Randa Rania Rayhana Rizlen + Sabbah Sabrina Safia Samia Saphia Sarah Sehryne Selma Seloua Shirine Sofia Sonia Sophia Souad + Tassadit Touria + Wafa Wassila + Yassmina Yta + Zahia Zahra Zakia Zineb Zohra + } + dynasty_of_location_prefix = "dynnp_de" + grammar_transform = french + + # Chance of male children being named after their paternal or maternal grandfather, or their father. Sum must not exceed 100. + pat_grf_name_chance = 60 + mat_grf_name_chance = 10 + father_name_chance = 10 + + # Chance of female children being named after their paternal or maternal grandmother, or their mother. Sum must not exceed 100. + pat_grm_name_chance = 10 + mat_grm_name_chance = 60 + mother_name_chance = 10 + + + + mercenary_names = { + } +} \ No newline at end of file diff --git a/N3OW/common/culture/name_equivalency/00_NEOW_female_names.txt b/N3OW/common/culture/name_equivalency/00_NEOW_female_names.txt index 098b2a2e..88ed42c6 100644 --- a/N3OW/common/culture/name_equivalency/00_NEOW_female_names.txt +++ b/N3OW/common/culture/name_equivalency/00_NEOW_female_names.txt @@ -1,11 +1,11 @@ adela_female = { Ad_e_grv_lo } -adelaide_female = { Azylis Aziliz Azala_i_uml_s } +adelaide_female = { Azala_i_uml_s Aziliz Azylis } adriana_female = { Adriano } agato_female = { Agato } -agnes_female = { Oanell Agn_e_grv_s } +agnes_female = { Agn_e_grv_s In_e_grv_s Oanell } albana_female = { Aubano } alberta_female = { Albertino_female } -alexandra_female = { Sandra Sandrine Alessandrino_female Sandrino_female Alessandro_female } +alexandra_female = { Alessandrino_female Alessandro_female Sandra Sandrine Sandrino_female } alexia_female = { Alessio_female } alice_female = { Alis } alina_female = { Alino } @@ -13,17 +13,19 @@ alfonsa_female = { Anfounsino } amanda_female = { Amandino } amata_female = { Aimado } amelia_female = { Am_e_grv_li } +amina_female = { Amina } +amira_female = { Amira } anastasia_female = { Anastasi_e_act_ } andrea_female = { Andrea Andriveto } -angela_female = { Aelig Aelia Aela Ang_e_grv_lo_female } +angela_female = { Aela Aelia Aelig Ang_e_grv_lo_female } angelica_female = { Angelico_female } -anna_female = { Naig Ana Annaig Annick Anna Aneto Ana_i_uml_s Ano } +anna_female = { Ana Ana_i_uml_s Aneto Anna Annaig Annick Ano Naig } annaclara_female = { Ano-Claro } annalaura_female = { Ano-Lauro } annalisa_female = { Ano-Liso } annamaria_female = { Anna-Vari Ano-Mar_i_grv_o } annasophia_female = { Ano-Souf_i_grv_o } -antonia_female = { Tounieto T_o_grv_nio_female Antouneto } +antonia_female = { Antouneto T_o_grv_nio_female Tounieto } arlette_female = { Arleto } auda_female = { Aude } audrey_female = { Audr_e_act_ } @@ -32,34 +34,36 @@ aurelia_female = { Aur_e_act_lie Aurel_i_grv_o_female } aurora_female = { Auroro } apollonia_female = { Poul_o_grv_nio } april_female = { Abri_e_act_u } +asma_female = { Asma } baptista_female = { Batistino } barbara_female = { Barbo_female } beatrice_female = { Beatris } benedicta_female = { Benedito_female } berengaria_female = { Berenguiero } berenice_female = { Bereni_c_ced_o } -bernarda_female = { Bernadette Bernado Bernadeto } +bernarda_female = { Bernadeto Bernadette Bernado } bertha_female = { Berto_female } bertranda_female = { Bertrando } blanche_female = { Blanco_female } bridget_female = { Brec_pst_hed Bregido } +bushra_female = { Bouchra } camilla_female = { Camiho } -carla_female = { Carole Carleno_female Carolo_female } +carla_female = { Carleno_female Carole Carolo_female } carmen_female = { Carmen } carolina_female = { Caroline Caroulino } cassandra_female = { Cassandro } -catherine_female = { Karine Catarino } +catherine_female = { Catarino Karine Katell } cecilia_female = { Cecilo } -celestina_female = { Celesto_female Celestino_female } +celestina_female = { Celestino_female Celesto_female } celia_female = { Celi_a_grv_ } celine_female = { C_e_act_line Celino } charlotte_female = { Charloto } chloe_female = { Clou_e_grv_ } christelle_female = { Kristell } -christina_female = { Kristen Kristina Christiane Kristin Crestino } -claire_female = { Sklaerenn Klara Clarisso Claro_female } -claudia_female = { Klaodina Klaoda Glaudeto Glaudo_female Glaudino } -clementia_female = { Clementino_female Clem_e_grv_nci } +christina_female = { Christiane Crestino Kristen Kristin Kristina } +claire_female = { Clarisso Claro_female Klara Sklaerenn } +claudia_female = { Glaudeto Glaudino Glaudo_female Klaoda Klaodina } +clementia_female = { Clem_e_grv_nci Clementino_female } clotilda_female = { Cloutido } colette_female = { Colette Coul_e_grv_to } constance_female = { Coustan_c_ced_o } @@ -69,45 +73,51 @@ cynthia_female = { Cynthia } daniela_female = { Danielle Danielo_female } daphne_female = { Daun_e_grv_ } debora_female = { Debora } -delphine_female = { Delphine D_o_act_ufino } -denise_female = { Deneza Daniso } +delphine_female = { D_o_act_ufino Delphine } +denise_female = { Daniso Deneza } diana_female = { Diano } dominica_female = { Dominique_female Doumenico_female } dorothy_female = { Dourout_e_grv_io } edith_female = { Edito } -eleanor_female = { A_e_act_nor Leounoro Eliounor } +eleanor_female = { A_e_act_nor Eliounor Leounoro } eliana_female = { Eliano } -elisa_female = { Liza Eliso } -elizabeth_female = { Liz Elesbed Bab_e_grv_u_female Eisab_e_grv_u } +elisa_female = { Eliso Liza } +elizabeth_female = { Bab_e_grv_u_female Eisab_e_grv_u Elesbed Liz } elodie_female = { _E_act_lodie Eloud_i_grv_o } elsa_female = { Els_a_grv_ } emeline_female = { Emelino } emerald_female = { Esmeraudo } -emily_female = { _E_act_milie Emiliano_female Emil_i_grv_o_female } +emily_female = { _E_act_milie Emil_i_grv_o_female Emiliano_female } emma_female = { Em_a_grv_ } -emmanuella_female = { Emmanuelle Manuello Emanuelo_female } +emmanuella_female = { Emanuelo_female Emmanuelle Manuello } ernesta_female = { Ernestino } esther_female = { Est_e_grv_r } eugenia_female = { _E_act_ug_e_grv_nio } eulalia_female = { _E_act_ul_a_grv_lio } eva_female = { _E_grv_vo } evelyn_female = { Evelino } -fabiana_female = { Fabienne Fabiano_female } +fabiana_female = { Fabiano_female Fabienne } +farah_female = { Farah } +farida_female = { Farida } +fatiha_female = { Fatiha } +fatima_female = { Fatma } +fatina_female = { Fatine } faustina_female = { Faustino_female } +fawzia_female = { Fawzia } felicia_female = { Feliso_female } felicity_female = { Felicita } ferdinanda_female = { Fernando_female } fiona_female = { Fiona } flavia_female = { Fl_a_grv_vio_female } -flora_female = { Flour Flourino Floro } +flora_female = { Floro Flour Flourino } florence_female = { Florence Flour_e_grv_n_c_ced_o } floriana_female = { Flouriano } france_female = { Fran_c_ced_o_female } -frances_female = { Soizic Soazig Soizick Fra_n_tld_seza Francino Franceso Chichoueso } +frances_female = { Chichoueso Fra_n_tld_seza Franceso Francino Soazig Soizic Soizick } frederica_female = { Frederico_female } gabriela_female = { Gabrielo_female } -gael_female = { Ga_e_uml_lle Ga_e_grv_lo } -genevieve_female = { Gineto Genevivo } +gael_female = { Ga_e_grv_lo Ga_e_uml_lle } +genevieve_female = { Genevivo Gineto } georgia_female = { Jourgeto } geralda_female = { Geraldino_female } germana_female = { Germano_female } @@ -115,25 +125,31 @@ gertrude_female = { Gertrudo } ghislaine_female = { Guisl_e_grv_no } gilberta_female = { Giliberto_female } gisela_female = { Gis_e_grv_lo } -gwen_female = { Gwenn Gwen } +gwen_female = { Gwen Gwenn } gwendolyn_female = { Gwendoline } -helen_female = { Elen Lena Elena Eleno } +hajar_female = { Hajer } +halima_female = { Halima } +hanan_female = { Hanane } +helen_female = { Elen Elena Eleno Lena } henrietta_female = { Enrieto } hermine_female = { Hermine } +hind_female = { Henda Hind } honorina_female = { Enora Ounourino } hortensia_female = { Ourt_e_grv_nsi } huguette_female = { Ugueto } +hurriya_female = { Houria Hourya } ida_female = { Ido } ingrid_female = { Ingrido } irene_female = { Ireno_female } irma_female = { Irm_a_grv_ } -isabella_female = { Izabel Eisabello } -iseult_female = { Yseult Is_e_grv_ut } -jacqueline_female = { Jakeza Jaqueto Jaquelino } +isabella_female = { Eisabello Izabel } +iseult_female = { Is_e_grv_ut Yseult } +jacqueline_female = { Jakeza Jaquelino Jaqueto } jade_female = { Jade } +jahan_female = { Jihane } jennifer_female = { Gueni_e_grv_vro } jessica_female = { Jessic_a_grv_ } -joan_female = { Yanna Jeannick Chanig Janedig Janed Janeto_female Jano_female } +joan_female = { Chanig Janed Janedig Janeto_female Jano_female Jeannick Yanna } joanamaria_female = { Jano-Mar_i_grv_o } jocelyn_female = { Joucelino_female } joelle_female = { Jo_e_uml_lle Jouelo_female } @@ -141,47 +157,54 @@ josepha_female = { J_o_act_usefino } josette_female = { Jouseto_female } josiane_female = { Josiane Jousiano } judith_female = { Judit } -julia_female = { Julie J_u_grv_li_female } +julia_female = { J_u_grv_li_female Julie } juliana_female = { Juliano_female } juliet_female = { Julieto } justina_female = { Justino_female } +karima_female = { Karima } +khalida_female = { Halida } +kulthum_female = { Kalthoum } laetitia_female = { Leticio } +lamia_female = { Lamia Lamya } +latifa_female = { Latifa } laura_female = { Laure Laureto Lauro_female } -laurence_female = { Laurence Laur_e_grv_n_c_ced_o } +laurence_female = { Laur_e_grv_n_c_ced_o Laurence } +layla_female = { La_i_uml_la Leila Leyla } lea_female = { Le_a_grv } -leila_female = { Leila } -leonie_female = { Leountino Leoun_i_grv_o } +leonie_female = { Leoun_i_grv_o Leountino } liliana_female = { Liliano } -linda_female = { Lindo_female } +linda_female = { Lindo_female Lynda } lisa_female = { Liseto Liso_female } lorraine_female = { Lourreno } -louise_female = { Lizig Zaig Lo_i_uml_za Louisa Loeiza Lou_i_uml_sono Lou_i_uml_so_female } +louise_female = { Lizig Lo_i_uml_za Loeiza Lou_i_uml_so_female Lou_i_uml_sono Louisa Zaig } +lubna_female = { Lobna } lucia_female = { L_u_grv_ci } luciana_female = { Luciano_female } lucrezia_female = { Lucr_e_grv__c_ced_o } ludivina_female = { Ludivino } -lydia_female = { Lydie Lid_i_grv_o } -maela_female = { Maelenn Maela Ma_e_uml_lig Ma_e_uml_lie Maeli } -magdalena_female = { Madalen Magali Madaleno } +lydia_female = { Lid_i_grv_o Lydie } +maela_female = { Ma_e_uml_lie Ma_e_uml_lig Maela Maelenn Maeli } +magdalena_female = { Madalen Madaleno Magali } +malika_female = { Malika } marcella_female = { Marcelino_female Marcello_female } -margaret_female = { Gaid Megano Marjour_i_grv_o Margot Margarido } -maria_female = { Maria Myriam Mari Mariama Manoun Marioun Mariso_female Mar_i_grv_o_female } +margaret_female = { Gaid Margarido Margot Marjour_i_grv_o Megano } +maria_female = { Manoun Mar_i_grv_o_female Mari Maria Mariama Marioun Mariso_female Myriam } mariaangel_female = { Mar_i_grv_o-Ange } -mariaanna_female = { Mariannick Maryannick Marie-Annick Mar_i_grv_o-Ano } +mariaanna_female = { Mar_i_grv_o-Ano Mariannick Marie-Annick Maryannick } mariaantonia_female = { Mar_i_grv_o-Antouneto } mariacatherine_female = { Mar_i_grv_o-Catarino } -mariachristina_female = { Maria-Kristina Mar_i_grv_o-Crestino } -mariaclara_female = { Marie-Claire Mar_i_grv_o-Claro } +mariachristina_female = { Mar_i_grv_o-Crestino Maria-Kristina } +mariaclara_female = { Mar_i_grv_o-Claro Marie-Claire } mariaclaudia_female = { Mar_i_grv_o-Glaudo } mariadominica_female = { Mar_i_grv_o-Doumenico } -mariafrance_female = { Marie-France Mar_i_grv_o-Fran_c_ced_o } +mariafrance_female = { Mar_i_grv_o-Fran_c_ced_o Marie-France } mariafrancesca_female = { Mar_i_grv_o-Franceso } -mariagwen_female = { Maiwen Maewenn Ma_i_uml_wenn Mari-Gwenn Maiwenn } +mariagwen_female = { Ma_i_uml_wenn Maewenn Maiwen Maiwenn Mari-Gwenn } mariahelena_female = { Mar_i_grv_o-Eleno } mariajoanna_female = { Mar_i_grv_o-Jano } -mariajoseph_female = { Mari-Jozeb Mar_i_grv_o-J_o_act_us_e_grv_ } +mariajoseph_female = { Mar_i_grv_o-J_o_act_us_e_grv_ Mari-Jozeb } marialaura_female = { Mar_i_grv_o-Lauro } -marialouisa_female = { Malou Mari-Loeiza Mar_i_grv_o-Louiso } +marialouisa_female = { Malou Mar_i_grv_o-Louiso Mari-Loeiza } mariamagdalena_female = { Mar_i_grv_o-Madaleno } marianne_female = { Mariana Mariano_female } marianoela_female = { Mar_i_grv_o-Nouelo } @@ -189,7 +212,7 @@ mariaodila_female = { Mar_i_grv_o-Oudilo } mariapaula_female = { Mar_i_grv_o-Paulo } mariapeter_female = { Mar_i_grv_o-P_e_grv_ire } mariarosa_female = { Mar_i_grv_o-Roso } -mariatheresa_female = { Maria-Tereza Mar_i_grv_o-Ter_e_grv_so } +mariatheresa_female = { Mar_i_grv_o-Ter_e_grv_so Maria-Tereza } mariayvonne_female = { Marivon Marivono } marilyn_female = { Maril_e_grv_no_female } marina_female = { Marina Marino_female } @@ -198,18 +221,22 @@ martha_female = { Marto_female } martina_female = { Martine Martino_female } mauricia_female = { Mauriceto_female } melania_female = { M_e_act_lanie Melan_i_grv_o } +melinda_female = { M_e_act_linda } melissa_female = { Melisso } -michelle_female = { Michelle Mikaela Micheleto_female Michello_female } -mireille_female = { Mireille Mir_e_grv_io } +michelle_female = { Micheleto_female Michelle Michello_female Mikaela } +mireille_female = { Mir_e_grv_io Mireille } monica_female = { Monique Mounico_female } morgana_female = { Morgana Mourgano } muriel_female = { Murielo } -nadezhda_female = { Nadine Nad_e_grv_jo } +nadezhda_female = { Nad_e_grv_jo Nadine } +najat_female = { Najat } naomi_female = { Nouen_i_grv_o } -nathalie_female = { Nathalie Natach_a_grv_ Nadalo Natal_i_grv_o } -nicole_female = { Nicole Nicolo_female Nicleto } +nasrin_female = { Nesrine } +nathalie_female = { Nadalo Natach_a_grv_ Natal_i_grv_o Nathalie } +nawwal_female = { Nawel } +nicole_female = { Nicleto Nicole Nicolo_female } noelle_female = { Nouelo_female } -nolwenn_female = { Nolwen Nolwenn Noalig } +nolwenn_female = { Noalig Nolwen Nolwenn } oceana_female = { Ouceano } octavia_female = { _O_act_ut_a_grv_vio } odette_female = { Oudeto } @@ -219,50 +246,60 @@ olympia_female = { Oulimpo_female } ophelia_female = { Ouf_e_act_l_i_grv_o } pascala_female = { Pascale Pascaleto Pascalo_female } patricia_female = { Patricia Patricio_female } -paula_female = { Paola Paulino_female Paulo_female Pauleto_female } -petra_female = { Peirounello Peirouno Peireto } +paula_female = { Paola Pauleto_female Paulino_female Paulo_female } +petra_female = { Peireto Peirounello Peirouno } philippa_female = { Felipino } philomena_female = { Filoumeno } quitteria_female = { Quit_e_grv_ri } rachel_female = { Rach_e_grv_l } ramona_female = { Ramoundo_female } -regina_female = { Regino_female R_e_grv_ino } +rashida_female = { Rachida } +rayhan_female = { Rayhana } +regina_female = { R_e_grv_ino Regino_female } renata_female = { Renato_female } rolanda_female = { Roulando_female } romana_female = { Roumano_female } -rosa_female = { Rozenn Rousado Rousino Roso_female } +rosa_female = { Roso_female Rousado Rousino Rozenn } rosalia_female = { Rousal_i_grv_o } rosalyn_female = { Rousselino } rosamaria_female = { Roso-Mar_i_grv_o } ruth_female = { Rut } sabina_female = { Sabino_female } -sabrina_female = { Sabrino_female } +sabrina_female = { Sabrina Sabrino_female } +safia_female = { Safia Saphia } samantha_female = { Samanto } -sarah_female = { Saro_female } +samia_female = { Samia } +sarah_female = { Sarah Saro_female } segolene_female = { Sigouleno } severina_female = { Severino_female } +sharifa_female = { Ch_e_act_rifa } +shaykha_female = { Cheikha } +shirin_female = { Shirine } sibylla_female = { Sibilo_female } sidonia_female = { Sidoun_i_grv_o } simona_female = { Simouno_female } solange_female = { Solen Solenn Soulanjo } solene_female = { Soul_e_grv_no } -sophia_female = { Sonia Sophie Souf_i_grv_o } -stella_female = { Steren Sterenn Estelle Estello } -stephanie_female = { St_e_act_phanie Fan_i_grv_ Esteveneto } -susan_female = { Suzana Susoun Susano_female } -sylvia_female = { Sylvie Silv_i_grv_o_female } +sophia_female = { Sophia Sofia Sonia Sophie Souf_i_grv_o } +stella_female = { Estelle Estello Steren Sterenn } +stephanie_female = { Esteveneto Fan_i_grv_ St_e_act_phanie } +suad_female = { Souad } +susan_female = { Susano_female Susoun Suzana } +sylvia_female = { Silv_i_grv_o_female Sylvie } theresa_female = { Ter_e_grv_so } ursula_female = { Oursulo } valentina_female = { Valentino_female } valeria_female = { Val_e_act_rie Valiero_female } vanessa_female = { Vanesso_female } veronica_female = { V_e_act_ronique Verounico } -victoria_female = { Vitourino_female Vit_o_grv_ri_female Vent_u_grv_ri_female } +victoria_female = { Vent_u_grv_ri_female Vit_o_grv_ri_female Vitourino_female } violet_female = { Vi_o_act_uleto } virginia_female = { Viergino_female } vivian_female = { Viviano_female } -yasmin_female = { Guisl_e_grv_no } +yasmin_female = { Guisl_e_grv_no Yassmina } yolanda_female = { Vi_o_act_ulando } -yvette_female = { Youna Yuna Ivetig Iveto_female } +yvette_female = { Ivetig Iveto_female Youna Yuna } yvonne_female = { Ivona Ivono_female } +zahra_female = { Zahra Zohra } +zaynab_female = { Zineb } zoe_female = { Zou_e_grv_ } \ No newline at end of file diff --git a/N3OW/common/culture/name_equivalency/00_NEOW_male_names.txt b/N3OW/common/culture/name_equivalency/00_NEOW_male_names.txt index be8914be..22f9d731 100644 --- a/N3OW/common/culture/name_equivalency/00_NEOW_male_names.txt +++ b/N3OW/common/culture/name_equivalency/00_NEOW_male_names.txt @@ -1,52 +1,78 @@ -abel_male = { Ab_e_grv_l } +aaron_male = { Harouna } +abdulaziz_male = { Abdelaziz } +abdulghaffur_male = { Abdelghafour } +abdulhafiz_male = { Abdelhafid } +abdulhakim_male = { Abdelhakim } +abdulkarim_male = { Abdelkarim Abdelkrim } +abdullatif_male = { Abdellatif } +abdulmunim_male = { Abdelmona_i_uml_m } +abdulqadir_male = { Abdelkader } +abdulrahman_male = { Abderrahman Abderrahmane } +abdulwahhab_male = { Abdelwahab } +abel_male = { Ab_e_grv_l } +abraham_male = { Brahim Ibr_e_act_hima Ibrahima } +abubakr_male = { Aboubakeur Boubaker } +abulqasim_male = { Belkacem } achilles_male = { Achile } adam_male = { Adam } +adil_male = { Adel } adrian_male = { Adrian } -alan_male = { Allan Alan } +ahmad_male = { Ahmad Ahmed Amadou } +alan_male = { Alan Allan } albanus_male = { Alban Auban } albert_male = { Alberzh Aubert } albinus_male = { Aubin } -alexander_male = { Aleksandr Aleissandre } +alexander_male = { Aleissandre Aleksandr } alexis_male = { Al_e_grv_ssi } alfonso_male = { Anfous } alfred_male = { Alfret } +ali_male = { Ali } amabilus_male = { Amable } amadeus_male = { Amadi_e_act_u } amalric_male = { Amaudri } amatus_male = { Amat } ambrosius_male = { Ambr_o_grv_si } -amin_male = { Amine } -anatolius_male = { Anatol Anat_o_grv_li } +amin_male = { Amine Elamine } +amir_male = { Amir } +anatolius_male = { Anat_o_grv_li Anatol } andrew_male = { Andri_e_act_u } angel_male = { Ael Ange } anselm_male = { Ans_e_grv_ume } -anthony_male = { Anton T_o_grv_ni Ant_o_grv_ni } +anthony_male = { Ant_o_grv_ni Anton T_o_grv_ni } antoninus_male = { Antounin } +anwar_male = { Anouar } aristides_male = { Aristido } -arnold_male = { Arno Arnaud } +arnold_male = { Arnaud Arno } arsenius_male = { Arsena } -arthur_male = { Arthur _A_grv_rtus } +arthur_male = { _A_grv_rtus Arthur } augustine_male = { Agustin } augustus_male = { Aguste } aurelian_male = { Aurelian } axel_male = { Assel } -baldwin_male = { baldwin } +ayman_male = { Aymen } +aziz_male = { Anziz Aziz } +badruddin_male = { Badroudine } +baldwin_male = { Baudouin } baptist_male = { Batisto } barnaby_male = { Barnab_e_grv_u } bartholomew_male = { Bartoumi_e_act_u } +bashir_male = { B_e_act_chir } basil_male = { Basile } +bassam_male = { Bassem } benedict_male = { Benead Benet Benezet } benjamin_male = { Benjamin } berengar_male = { Berengui_e_act_ } -bernard_male = { Bernez Bernard Bernat } +bernard_male = { Bernard Bernat Bernez } bertrand_male = { Beltram Bertrand } +bilal_male = { Bilal } blasius_male = { Bl_a_grv_si } boniface_male = { Bounif_a_grv_ci } -brendan_male = { Brendan Brand_a_grv_ni } +brendan_male = { Brand_a_grv_ni Brendan } brian_male = { Brian } brice_male = { Bres } brieuc_male = { Briac Brieuc } bruno_male = { Bruno Brunoun } +burhan_male = { Borhene } caesar_male = { Cesar } caetano_male = { Gaietan } calixtus_male = { Calist } @@ -55,11 +81,11 @@ casimir_male = { Casim_e_grv_r } caspar_male = { Gaspard } cedric_male = { Cedric } celestine_male = { Celestin } -charles_male = { Charlez Charle Carle } +charles_male = { Carle Charle Charlez } charleshenry_male = { Carle-Enri } -christian_male = { Kristian Crestian } -christopher_male = { Kristof Crist_o_grv_u } -claudius_male = { Klaod Glaoda Gl_a_grv_udi } +christian_male = { Crestian Kristian } +christopher_male = { Crist_o_grv_u Kristof } +claudius_male = { Gl_a_grv_udi Glaoda Klaod } clement_male = { Clem_e_grv_nt } clovis_male = { Clouvis } conan_male = { Kenan } @@ -67,30 +93,34 @@ constantine_male = { Coustantin } constantius_male = { Coustant } corentin_male = { Courentin } cyprian_male = { Ciprian } -cyril_male = { Cyrille Cyril Cerile } -damian_male = { Damien Damian } +cyril_male = { Cerile Cyril Cyrille } +damian_male = { Damian Damien } daniel_male = { Dani_e_grv_ } -david_male = { Dewi Davy Divi D_a_grv_vi } -denis_male = { Denez Danis } -desiderius_male = { Didier Deidi_e_act_ } +david_male = { D_a_grv_vi Davy Dewi Divi } +denis_male = { Danis Denez } +desiderius_male = { Deidi_e_act_ Didier } dimitri_male = { Dem_e_grv_tri } dominic_male = { Dominique_male Doumenge } dorian_male = { Dourian } edmund_male = { Edmound } -edward_male = { Edouard Audouard } +edward_male = { Audouard Edouard } eligius_male = { Aloi } -elijah_male = { Eliaz El_i_grv_o } -elouan_male = { Elouann Elouan } +elijah_male = { El_i_grv_o Eliaz Ilyes Lyes } +elouan_male = { Elouan Elouann } emeric_male = { Eimeri } -emil_male = { Milio Emil Emile } +emil_male = { Emil Emile Milio } emilian_male = { Emilian } -emmanuel_male = { Emmanuel Manu_e_grv_ Enmanu_e_grv_l } +emmanuel_male = { Emmanuel Enmanu_e_grv_l Manu_e_grv_ } ernest_male = { Ernest } -eugene_male = { Eujen _E_act_ug_e_grv_ni } -eric_male = { Erik Eri } +eugene_male = { _E_act_ug_e_grv_ni Eujen } +eric_male = { Eri Erik } fabian_male = { Fabian } fabrice_male = { Fabrice } +farid_male = { Farid Ferrid } +faris_male = { Far_e_grv_s } +fathi_male = { Fethi } faustinus_male = { Faustin } +fawzi_male = { Faouzi } felician_male = { Felician } felix_male = { F_e_act_lix F_e_grv_lis } ferdinand_male = { Fernand } @@ -98,127 +128,177 @@ firmin_male = { Fermin } flavian_male = { Flavian } florent_male = { Flour_e_grv_ns } florian_male = { Flourian } -francis_male = { Fra_n_tld_sez Frank Fa_n_tld_ch Franc_e_act_s Francoun Chichoues } +francis_male = { Chichoues Fa_n_tld_ch Fra_n_tld_sez Franc_e_act_s Francoun Frank } francisxavier_male = { Franc_e_act_s-Savi_e_act_ } -frederick_male = { Frederig Frederi } -gabriel_male = { Gabriel Gabri_e_act_u } -gael_male = { Gael Ga_e_uml_l Ga_e_grv_l } +frederick_male = { Frederi Frederig } +fuad_male = { Foued Fu_pst_ad } +gabriel_male = { Gabri_e_act_u Gabriel } +gael_male = { Ga_e_grv_l Ga_e_uml_l Gael } gaetan_male = { Gastoun } -geoffrey_male = { Jaufret Gaufre } -george_male = { Jorj Jord J_o_grv_rgi } +geoffrey_male = { Gaufre Jaufret } +george_male = { J_o_grv_rgi Jord Jorj } gerald_male = { Giraud } gerard_male = { Girard } german_male = { German } -gilbert_male = { Jilberzh Gilbert Gibert } -gildas_male = { Gweltaz Gildas } -giles_male = { Jil Jili Gile } +gilbert_male = { Gibert Gilbert Jilberzh } +gildas_male = { Gildas Gweltaz } +giles_male = { Gile Jil Jili } graham_male = { Graham } gregory_male = { Greg_o_grv_ri } gustav_male = { Gust_a_grv_vi } -guy_male = { Guy Gui } -gwenael_male = { Gwena_e_uml_l Gwenn-A_e_uml_l Gu_e_act_na_e_uml_l } +guy_male = { Gui Guy } +gwenael_male = { Gu_e_act_na_e_uml_l Gwena_e_uml_l Gwenn-A_e_uml_l } gwenole_male = { Gu_e_act_nol_e_act_ Gw_e_act_nol_e_act_ Gwennole } -harvey_male = { Herve Erv_e_act_ } +hadi_male = { H_e_act_di } +hamed_male = { Hamed } +hamza_male = { Hamza } +harvey_male = { Erv_e_act_ Herve } +hashim_male = { Hachim } +hassan_male = { Hassan Hassen } hector_male = { Eitor } -henry_male = { Herri Enri } +henry_male = { Enri Herri } hermann_male = { Armand } -hieronymus_male = { Yerom J_e_act_r_o_hat_me Jirome } +hieronymus_male = { J_e_act_r_o_hat_me Jirome Yerom } hilarius_male = { Il_a_grv_ri } +hilmi_male = { Helmi } hippolyte_male = { Ipoulite } +hisham_male = { Hicham Hichem } hubert_male = { Huberzh Ubert } hugh_male = { Ugue } humbert_male = { Umbert } +husni_male = { Housni } +hussam_male = { Houssam } +hussein_male = { Hocine Houssen } hyacinth_male = { Jacint } hywel_male = { Hoel Howel } +idris_male = { Driss Idriss } irenaeus_male = { Ireni_e_act_u } -james_male = { Jakez Jaume Jaque } +ismail_male = { Isma_e_uml_l Isma_i_uml_l } +izzuddin_male = { Azzedine } +jamal_male = { Djamel Jamel } +jamaluddin_male = { Jamel_spc_Eddine } +james_male = { Jakez Jaque Jaume } jamesyves_male = { Jaque-Ives } jason_male = { Jasoun } +jawad_male = { Jawad } jeremy_male = { Jerem_i_grv_a } +jesus_male = { Issa } joachim_male = { Jouachin } joel_male = { Jou_e_grv_l } -john_male = { Jaouen Jannick Yannig Janick Yoan Yohan Ian Yan Yohann Yoann Yannig Yannick Yann Jan } -johnbaptist_male = { Yann-Vadezour Jan-Batisto } +john_male = { Ian Jan Janick Jannick Jaouen Yan Yann Yannick Yannig Yoan Yoann Yohan Yohann } +johnbaptist_male = { Jan-Batisto Yann-Vadezour } johnbernard_male = { Jan-Bernat } -johncharles_male = { Yann-Charlez Jan-Carle } +johncharles_male = { Jan-Carle Yann-Charlez } johnchristopher_male = { Jan-Crist_o_grv_u } -johnclaudius_male = { Yann-Glaod Jan-Gl_a_grv_udi } -johnfrancis_male = { Yann-Fa_n_tld_ch Jan-Franc_e_act_s } -johnjames_male = { Yann-Jakez Jan-Jaque } -johnlouis_male = { Yann-Loeiz Jan-Lou_i_uml_s } -johnluke_male = { Yann-Luk Jan-Lu } -johnmark_male = { Yann-Vark Jan-Marc } -johnmary_male = { Yann-Vari Jan-Mar_i_grv_o } -johnmichael_male = { Yann-Vikael Jan-Mich_e_grv_u } +johnclaudius_male = { Jan-Gl_a_grv_udi Yann-Glaod } +johnfrancis_male = { Jan-Franc_e_act_s Yann-Fa_n_tld_ch } +johnjames_male = { Jan-Jaque Yann-Jakez } +johnlouis_male = { Jan-Lou_i_uml_s Yann-Loeiz } +johnluke_male = { Jan-Lu Yann-Luk } +johnmark_male = { Jan-Marc Yann-Vark } +johnmary_male = { Jan-Mar_i_grv_o Yann-Vari } +johnmichael_male = { Jan-Mich_e_grv_u Yann-Vikael } johnnoel_male = { Jan-Calendau } johnpascal_male = { Jan-Pascau } -johnpaul_male = { Jean-Pol Yann-Baol Jan-Pau } +johnpaul_male = { Jan-Pau Jean-Pol Yann-Baol } johnpeter_male = { Jan-P_e_grv_ire } johnphilip_male = { Jan-Felip } -johnyves_male = { Jean-Yvon Yann-Erwan Jan-Ives } +johnyves_male = { Jan-Ives Jean-Yvon Yann-Erwan } +jonah_male = { Youn_e_grv_s Yunis } jonathan_male = { Jounatan } jordan_male = { Jourdan } -joseph_male = { Job_Joseph Jozeb J_o_act_us_e_grv_ } +joseph_male = { J_o_act_us_e_grv_ Job_Joseph Jozeb Youssef } josephmary_male = { Jozeb-Mari } -judicael_male = { Judikael Judica_e_uml_l } +judicael_male = { Judica_e_uml_l Judikael } jules_male = { J_u_grv_li } -julian_male = { Juluan Julian } +julian_male = { Julian Juluan } justin_male = { Justin } +kamil_male = { Camel Kamel } +karim_male = { Karim } kevin_male = { K_e_act_vin Quevin } +khalid_male = { Khaled Khalid } +khalifa_male = { Halifa } +khalil_male = { Khalil } kosmas_male = { Cosme } -kylian_male = { Kilyan Kyliann Kilian Kylian Kyllian } +kylian_male = { Kilian Kilyan Kylian Kyliann Kyllian } lambert_male = { Lambert } +latif_male = { Latuf } lawrence_male = { Laora_n_tld_s Laur_e_grv_ns } lenaig_male = { L_e_act_na_i_uml_c Lenaig } leo_male = { Leon Leoun } leonard_male = { Lienard } leopold_male = { Leoupold } lionel_male = { Lionel Liounel } -louis_male = { Lo_i_uml_s Lo_i_uml_g Lo_i_uml_c Loeiz Lou_i_uml_s } -lucian_male = { Lucien Lucian } +louis_male = { Lo_i_uml_c Lo_i_uml_g Lo_i_uml_s Loeiz Lou_i_uml_s } +lucian_male = { Lucian Lucien } luke_male = { Lu Lucas } -mael_male = { Ma_e_uml_lan Mael Ma_e_uml_l } -marcel_male = { Marsel Marcel Marc_e_grv_u } -marius_male = { Marius M_a_grv_ri_male } -mark_male = { Mark Marc } +lutfi_male = { Lotfi } +mael_male = { Ma_e_uml_l Ma_e_uml_lan Mael } +mahdi_male = { Medhi Mehdi } +majid_male = { Madjid } +malik_male = { Malek } +marcel_male = { Marc_e_grv_u Marcel Marsel } +marius_male = { M_a_grv_ri_male Marius } +mark_male = { Marc Mark } martial_male = { Marciau } martin_male = { Martin } -mathurin_male = { Matilin Mathurin } -matthew_male = { Maho Mah_e_act_ Mazhev Matias Mati_e_act_u } -maurice_male = { Maurise Maoris } +marwan_male = { Marouane Marwan } +mathurin_male = { Mathurin Matilin } +matthew_male = { Mah_e_act_ Maho Mati_e_act_u Matias Mazhev } +maurice_male = { Maoris Maurise } +mawlud_male = { Miloud Mouloud } maxentius_male = { Meiss_e_grv_ns } -maximus_male = { Maxime Mas Maime } -michael_male = { Micka_e_uml_l Mikael Miqu_e_grv_u Mich_e_grv_u } -morgan_male = { Morgann Morgan } +maximus_male = { Maime Mas Maxime } +michael_male = { Mich_e_grv_u Micka_e_uml_l Mikael Miqu_e_grv_u } +morgan_male = { Morgan Morgann } +moses_male = { Moussa } +muhammad_male = { Mamadou Mohamed Mohammed } +muhammadali_male = { Mohamed_spc_Ali } +munsif_male = { Moncef } +mustafa_male = { Mustapha } +nabil_male = { Nabil } +nadir_male = { Nadir } +naim_male = { Na_i_uml_m } +najib_male = { N_e_act_jib } +nasr_male = { Nasser Nassur } nathan_male = { Natan } -nicholas_male = { Nikolaz Nicoulau } +nicholas_male = { Nicoulau Nikolaz } noah_male = { Nou_e_grv_ } noel_male = { Calendau } norbert_male = { Nourbert } +nuruddin_male = { Nordine Noureddine } octavius_male = { _O_act_ut_a_grv_vi } odysseus_male = { Ulisse } -oliver_male = { Olier _O_act_ulivi_e_act_ } +oliver_male = { _O_act_ulivi_e_act_ Olier } oscar_male = { Ouscar } -owen_male = { Owenn Owen } +owen_male = { Owen Owenn } pascal_male = { Pascau Paskal } -patrick_male = { Patrig Patrice Padrig } -paul_male = { Pol Paol Pau } -peter_male = { Peran Pierrick P_e_hat_r P_e_grv_ire } +patrick_male = { Padrig Patrice Patrig } +paul_male = { Paol Pau Pol } +peter_male = { P_e_grv_ire P_e_hat_r Peran Pierrick } peteranthony_male = { P_e_grv_ire-Ant_o_grv_ni } peterjames_male = { P_e_hat_r-Jakez } peterjohn_male = { P_e_grv_ire-Jan } petermary_male = { P_e_hat_r-Vari } -peteryves_male = { P_e_hat_r-Erwan P_e_grv_ire-Ives } -philip_male = { Fulup Felip } +peteryves_male = { P_e_grv_ire-Ives P_e_hat_r-Erwan } +philip_male = { Felip Fulup } prosper_male = { Prousp_e_grv_r } +qasim_male = { Kassim } quentin_male = { Quentin } +rafiq_male = { Rafik } raphael_male = { Raf_e_grv_u } -raymond_male = { Remont Ramoun } +rashid_male = { Rachid } +rauf_male = { Raouf } +rayan_male = { Rayan Rayanne } +raymond_male = { Ramoun Remont } reginald_male = { Reinaud } regis_male = { R_e_grv_gis } remigius_male = { Roumi_e_act_ } renatus_male = { Reini_e_act_ Ren_e_act_ } -richard_male = { Richarzh Ricard } +reza_male = { Reda } +riad_male = { Riad Riadh } +richard_male = { Ricard Richarzh } +ridwan_male = { Redouane } robert_male = { Roparzh Roubert } roderick_male = { Roudrigo } roger_male = { Roje Rougi_e_act_ } @@ -226,30 +306,44 @@ roland_male = { Roland Rouland } roman_male = { Roman Rouman } romuald_male = { Roumiaud } ronan_male = { Renan Ronan } -rudolf_male = { Roud_o_grv_u Ravous } +rudolf_male = { Ravous Roud_o_grv_u } +said_male = { Sa_i_uml_d } +salim_male = { Salim Selim Slim } salvador_male = { Sauvaire } +samir_male = { Samir } samuel_male = { Samu_e_grv_l } sebastian_male = { Bastian Sebastian } -sergius_male = { Serj S_e_grv_rgi } +sergius_male = { S_e_grv_rgi Serj } +shamsuddin_male = { Chems-Eddine } +shaykh_male = { Cheikh } simon_male = { Simoun } +solomon_male = { Slimane Souleymane } stanislaus_male = { Estanislau } -stephen_male = { Stefan Steven Est_e_grv_ve Estefan } -sylvain_male = { Sylvain S_e_act_uvan } +stephen_male = { Est_e_grv_ve Estefan Stefan Steven } +sufyan_male = { Seufyann Sofian Sofiane Soufian } +sylvain_male = { S_e_act_uvan Sylvain } +talal_male = { Talal } tanguy_male = { Tangi Tanguy } +tariq_male = { Tarek Tareq Tarik } theobald_male = { Tepot Tibaud } theodore_male = { Teoudor } -theodoric_male = { Thierry Terris } +theodoric_male = { Terris Thierry } theophilus_male = { Teoufile } thomas_male = { Tomaz Toumas } timothy_male = { Timouti_e_act_u } -tristan_male = { Trystan Tristan } +tristan_male = { Tristan Trystan } tugdual_male = { Tudal Tugdual } +umar_male = { Oumar } valentin_male = { Valentin } valerius_male = { Val_e_grv_ri } victor_male = { Vitour } -vincent_male = { Visant Vinc_e_grv_ns } +vincent_male = { Vinc_e_grv_ns Visant } +walid_male = { Walid } walter_male = { Gauchi_e_act_ } -william_male = { Lomig Gwillam Gwilherm Guih_e_grv_ume Guih_e_grv_n } -xavier_male = { Zavier Savi_e_act_ } -yves_male = { Eozen Youn Youen Youenn Yvonnick Yvonig Erwann Erwan Yvon Yves Ives } -zachary_male = { Zacar_i_grv_o } \ No newline at end of file +william_male = { Lomig Guih_e_grv_n Guih_e_grv_ume Gwilherm Gwillam } +wissam_male = { Wissam Wissem } +xavier_male = { Savi_e_act_ Zavier } +yassin_male = { Yacine Yassin Yassine } +yves_male = { Eozen Erwan Erwann Ives Youen Youenn Youn Yves Yvon Yvonig Yvonnick } +zachary_male = { Zacar_i_grv_o Zachary } +zaynuddin_male = { Zin_e_act_dine } \ No newline at end of file diff --git a/N3OW/common/culture/name_lists/NEOW_french.txt b/N3OW/common/culture/name_lists/NEOW_french.txt index 52016048..4eb2d53f 100644 --- a/N3OW/common/culture/name_lists/NEOW_french.txt +++ b/N3OW/common/culture/name_lists/NEOW_french.txt @@ -1446,7 +1446,7 @@ name_list_NEOW_breton = { Renan Tangi Tepot Tugdual Vivien - Yan Yannig Yoan Yohan + Yan Yoan Yohan } 1 = { Adraboran Ael Anatol Aodrenn Argan Avel diff --git a/N3OW/localization/english/dynasties/NEOW_dynasty_names_l_english.yml b/N3OW/localization/english/dynasties/NEOW_dynasty_names_l_english.yml index dfbc16b6..ca32cce1 100644 --- a/N3OW/localization/english/dynasties/NEOW_dynasty_names_l_english.yml +++ b/N3OW/localization/english/dynasties/NEOW_dynasty_names_l_english.yml @@ -309,4 +309,114 @@ dynn_Serandour:0 "Serandour" dynn_Stephan:0 "Stephan" dynn_Taleg:0 "Taleg" - dynn_Urvoas:0 "Urvoas" \ No newline at end of file + dynn_Urvoas:0 "Urvoas" + dynn_Bensalah:0 "Bensalah" + dynn_Soukhane:0 "Soukhane" + dynn_Boughachiche:0 "Boughachiche" + dynn_Bensadia:0 "Bensadia" + dynn_Soudani:0 "Soudani" + dynn_Mokn_e_grv_che:0 "Moknèche" + dynn_Benhabiles:0 "Benhabiles" + dynn_Djoghlal:0 "Djoghlal" + dynn_Nabba:0 "Nabba" + dynn_Azamoum:0 "Azamoum" + dynn_Maaskri:0 "Maaskri" + dynn_Barakrok:0 "Barakrok" + dynn_Ameur_dsh_Za_i_uml_meche:0 "Ameur-Zaïmeche" + dynn_Salem:0 "Salem" + dynn_Henni:0 "Henni" + dynn_Boukhobza:0 "Boukhobza" + dynn_Mezaache:0 "Mezaache" + dynn_Beziouen:0 "Beziouen" + dynn_Ech_dsh_Chergui:0 "Ech-Chergui" + dynn_Hamdi:0 "Hamdi" + dynn_Yahiaoui:0 "Yahiaoui" + dynn_Djellabi:0 "Djellabi" + dynn_Yachir:0 "Yachir" + dynn_Aichaoui:0 "Aichaoui" + dynn_Embarek:0 "Embarek" + dynn_Kerroum:0 "Kerroum" + dynn_Omrani:0 "Omrani" + dynn_Fellahi:0 "Fellahi" + dynn_Abderrahmane:0 "Abderrahmane" + dynn_Bencheikh:0 "Bencheikh" + dynn_Djemelbarek:0 "Djemelbarek" + dynn_Ben_spc_Ali:0 "Ben Ali" + dynn_Hajoui:0 "Hajoui" + dynn_H_e_act_nin:0 "Hénin" + dynn_Rahilou:0 "Rahilou" + dynn_El_spc_Moudane:0 "El Moudane" + dynn_Belghazouani:0 "Belghazouani" + dynn_Benmessaoud:0 "Benmessaoud" + dynn_Alakouch:0 "Alakouch" + dynn_Bouab:0 "Bouab" + dynn_Oubaali:0 "Oubaali" + dynn_Maadour:0 "Maadour" + dynn_Jol_e_act__spc_M_e_act_n_e_act_bhi:0 "Jolé-Ménébhi" + dynn_Salama:0 "Salama" + dynn_Qasmi:0 "Qasmi" + dynn_Lahlou:0 "Lahlou" + dynn_Talhaoui:0 "Talhaoui" + dynn_Abdelmoula:0 "Abdelmoula" + dynn_Byar:0 "Byar" + dynn_Ayouch:0 "Ayouch" + dynn_Latifi:0 "Latifi" + dynn_Azizou:0 "Azizou" + dynn_El_spc_Bekri:0 "El Bekri" + dynn_El_spc_Hany:0 "El Hany" + dynn_Raguig:0 "Raguig" + dynn_Hadji:0 "Hadji" + dynn_Benmeziane:0 "Benmeziane" + dynn_Haddou:0 "Haddou" + dynn_El_dsh_Azzouzi:0 "El-Azzouzi" + dynn_A_i_uml_t_spc_Aattou:0 "Aït Aattou" + dynn_Dridi:0 "Dridi" + dynn_Idir:0 "Idir" + dynn_Sayad:0 "Sayad" + dynn_Djebali:0 "Djebali" + dynn_Ben_spc_Sa_i_uml_d:0 "Ben Saïd" + dynn_Bel_spc_Hadj:0 "Bel Hadj" + dynn_Bouzaiene:0 "Bouzaiene" + dynn_Dhaouadi:0 "Dhaouadi" + dynn_Bachtobji:0 "Bachtobji" + dynn_Belkhodja:0 "Belkhodja" + dynn_Haddad:0 "Haddad" + dynn_Kechi:0 "Kechi" + dynn_Hafsi:0 "Hafsi" + dynn_Harbaoui:0 "Harbaoui" + dynn_Loussaief:0 "Loussaief" + dynn_Jemili:0 "Jemili" + dynn_Bouguerra:0 "Bouguerra" + dynn_Behi:0 "Behi" + dynn_Lamloum:0 "Lamloum" + dynn_Kheder:0 "Kheder" + dynn_Gharzoul:0 "Gharzoul" + dynn_Aziza:0 "Aziza" + dynn_Maaref:0 "Maaref" + dynn_Belhassen:0 "Belhassen" + dynn_Gtari:0 "Gtari" + dynn_Bela_i_uml_d:0 "Belaïd" + dynn_Houissa:0 "Houissa" + dynn_Tarkhani:0 "Tarkhani" + dynn_Bettaieb:0 "Bettaieb" + dynn_Yacoubi:0 "Yacoubi" + dynn_Guidileye:0 "Guidileye" + dynn_Gassama:0 "Gassama" + dynn_Samba:0 "Samba" + dynn_N_pst_Diaye:0 "N'Diaye" + dynn_Alassane:0 "Alassane" + dynn_Kamara:0 "Kamara" + dynn_Fofana:0 "Fofana" + dynn_Sy:0 "Sy" + dynn_Malum:0 "Malum" + dynn_Ben_spc_Boina:0 "Ben Boina" + dynn_Bertin_dsh_d_pst_Avesnes:0 "Bertin d'Avesnes" + dynn_Doukara:0 "Doukara" + dynn_Mansoibou:0 "Mansoibou" + dynn_Soul_e_act_:0 "Soulé" + dynn_Ali:0 "Ali" + dynn_Bajrafil:0 "Bajrafil" + dynn_Hatubou:0 "Hatubou" + dynn_Madi:0 "Madi" + dynn_Djailani:0 "Djailani" + dynn_Attoumani:0 "Attoumani" diff --git a/N3OW/localization/english/names/NEOW_character_names_l_english.yml b/N3OW/localization/english/names/NEOW_character_names_l_english.yml index 03112913..f312788f 100644 --- a/N3OW/localization/english/names/NEOW_character_names_l_english.yml +++ b/N3OW/localization/english/names/NEOW_character_names_l_english.yml @@ -1008,4 +1008,284 @@ Goulc_pst_han:0 "Goulc'han" Eozen:0 "Eozen" Riwanon:0 "Riwanon" + Zin_e_act_dine:0 "Zinédine" + Dalil:0 "Dalil" + Henda:0 "Henda" + Kahina:0 "Kahina" + Camel:0 "Camel" + Soheib:0 "Soheib" + Ghaleb:0 "Ghaleb" + Aboubakeur:0 "Aboubakeur" + Malek:0 "Malek" + Boualem:0 "Boualem" + Hanane:0 "Hanane" + Rachida:0 "Rachida" + Taha:0 "Taha" Tepot:0 "Tepot" + Abdelkader:0 "Abdelkader" + Mohammed:0 "Mohammed" + Marwan:0 "Marwan" + Maryam:0 "Maryam" + Chems-Eddine:0 "Chems-Eddine" + Rachid:0 "Rachid" + Okacha:0 "Okacha" + Hassan:0 "Hassan" + Amar:0 "Amar" + Tareq:0 "Tareq" + Abdelmona_i_uml_m:0 "Abdelmonaïm" + In_e_grv_s:0 "Inès" + Belkacem:0 "Belkacem" + Abdelhakim:0 "Abdelhakim" + Nacim:0 "Nacim" + Isma_i_uml_l:0 "Ismaïl" + Farid:0 "Farid" + Himad:0 "Himad" + Houssen:0 "Houssen" + Yacine:0 "Yacine" + Nadjim:0 "Nadjim" + Djamel:0 "Djamel" + Madjid:0 "Madjid" + Redouane:0 "Redouane" + Karim:0 "Karim" + Kamel:0 "Kamel" + Mahi:0 "Mahi" + Abderrahmane:0 "Abderrahmane" + Abdelkrim:0 "Abdelkrim" + Mohamed:0 "Mohamed" + Riad:0 "Riad" + Nadir:0 "Nadir" + Tarik:0 "Tarik" + Hakim:0 "Hakim" + Lyes:0 "Lyes" + Salim:0 "Salim" + Samir:0 "Samir" + Rabah:0 "Rabah" + Yunis:0 "Yunis" + Foued:0 "Foued" + Fatiha:0 "Fatiha" + Faudel:0 "Faudel" + Moussa:0 "Moussa" + Mehdi:0 "Mehdi" + Mouloud:0 "Mouloud" + Malek-Eddine:0 "Malek-Eddine" + Reda:0 "Reda" + Lakdar:0 "Lakdar" + Nabil:0 "Nabil" + Miloud:0 "Miloud" + Medhi-Amar:0 "Medhi-Amar" + Idriss:0 "Idriss" + Noureddine:0 "Noureddine" + Abdelaziz:0 "Abdelaziz" + Abdelhafid:0 "Abdelhafid" + Sa_i_uml_d:0 "Saïd" + Kelyan:0 "Kelyan" + Yannis:0 "Yannis" + Medhi:0 "Medhi" + Nadia:0 "Nadia" + Bilal:0 "Bilal" + Ahmed:0 "Ahmed" + Ouassini:0 "Ouassini" + Fatsah:0 "Fatsah" + Sami:0 "Sami" + Idir:0 "Idir" + Jamel_spc_Eddine:0 "Jamel Eddine" + Slimane:0 "Slimane" + Abdelkarim:0 "Abdelkarim" + Boumedienne:0 "Boumedienne" + Kylan:0 "Kylan" + Tarek:0 "Tarek" + Yanis:0 "Yanis" + Youn_e_grv_s:0 "Younès" + Youssef:0 "Youssef" + Anouar:0 "Anouar" + Rayan:0 "Rayan" + Amine:0 "Amine" + Mustapha:0 "Mustapha" + Yassine:0 "Yassine" + Hamza:0 "Hamza" + Roschdy:0 "Roschdy" + Khalil:0 "Khalil" + Ali:0 "Ali" + Sofiane:0 "Sofiane" + Driss:0 "Driss" + Chahir:0 "Chahir" + Aziz:0 "Aziz" + Assa_a_hat_d:0 "Assaâd" + Nordine:0 "Nordine" + Sofian:0 "Sofian" + Hamidou:0 "Hamidou" + Abderrahman:0 "Abderrahman" + Khalid:0 "Khalid" + Mounir:0 "Mounir" + Mehdi-Georges:0 "Mehdi-Georges" + Isma_e_uml_l:0 "Ismaël" + Jamel:0 "Jamel" + Na_i_uml_m:0 "Naïm" + Hicham:0 "Hicham" + Zachary:0 "Zachary" + Nasser:0 "Nasser" + Talal:0 "Talal" + Seufyann:0 "Seufyann" + Houssam:0 "Houssam" + Fu_pst_ad:0 "Fu'ad" + Yassin:0 "Yassin" + Soufian:0 "Soufian" + Walid:0 "Walid" + Jawad:0 "Jawad" + Iteb:0 "Iteb" + Moncef:0 "Moncef" + Selim:0 "Selim" + Hamed:0 "Hamed" + Hocine:0 "Hocine" + Raouf:0 "Raouf" + Abdellatif:0 "Abdellatif" + Rayanne:0 "Rayanne" + B_e_act_chir:0 "Béchir" + Wissam:0 "Wissam" + H_e_act_ni:0 "Héni" + Manoubi:0 "Manoubi" + H_e_act_di:0 "Hédi" + Slim:0 "Slim" + Helmi:0 "Helmi" + Lotfi:0 "Lotfi" + Aymen:0 "Aymen" + Abdelwahab:0 "Abdelwahab" + Bassem:0 "Bassem" + Home_i_uml_da:0 "Homeïda" + Hichem:0 "Hichem" + Olfa:0 "Olfa" + Borhene:0 "Borhene" + Daysam:0 "Daysam" + Ilyes:0 "Ilyes" + Mohamed_spc_Ali:0 "Mohamed Ali" + Rafik:0 "Rafik" + Fethi:0 "Fethi" + Far_e_grv_s:0 "Farès" + Wissem:0 "Wissem" + Hassen:0 "Hassen" + Ferrid:0 "Ferrid" + Tijani:0 "Tijani" + Hamdi:0 "Hamdi" + Khaled:0 "Khaled" + Boubaker:0 "Boubaker" + Faouzi:0 "Faouzi" + N_e_act_jib:0 "Néjib" + Lassad:0 "Lassad" + Adel:0 "Adel" + Mondhor:0 "Mondhor" + Ibr_e_act_hima:0 "Ibréhima" + Brahim:0 "Brahim" + Diallo:0 "Diallo" + Djeidi:0 "Djeidi" + Issa:0 "Issa" + Amadou:0 "Amadou" + Oumar:0 "Oumar" + Daby:0 "Daby" + Ibrahima:0 "Ibrahima" + Cheikh:0 "Cheikh" + Mamadou:0 "Mamadou" + Harouna:0 "Harouna" + Souleymane:0 "Souleymane" + Naouirou:0 "Naouirou" + Badroudine:0 "Badroudine" + Elamine:0 "Elamine" + Housni:0 "Housni" + Halifa:0 "Halifa" + Anziz:0 "Anziz" + Amir:0 "Amir" + Hachim:0 "Hachim" + Latuf:0 "Latuf" + Nassuf:0 "Nassuf" + Dehmaine:0 "Dehmaine" + Nassur:0 "Nassur" + Kassim:0 "Kassim" + Feta:0 "Feta" + Hachimiya:0 "Hachimiya" + Kysha:0 "Kysha" + Ch_e_act_rifa:0 "Chérifa" + Kenza:0 "Kenza" + Lyna:0 "Lyna" + Samia:0 "Samia" + Houria:0 "Houria" + Sabbah:0 "Sabbah" + Sabbah:0 "Sabbah" + Farah:0 "Farah" + Sehryne:0 "Sehryne" + Souad:0 "Souad" + Yassmina:0 "Yassmina" + Lamya:0 "Lamya" + Malika:0 "Malika" + Shirine:0 "Shirine" + Cheikha:0 "Cheikha" + M_e_act_linda:0 "Mélinda" + Nora:0 "Nora" + Melaaz:0 "Melaaz" + Zahia:0 "Zahia" + Mounia:0 "Mounia" + Halima:0 "Halima" + Azzedine:0 "Azzedine" + Tassadit:0 "Tassadit" + Farida:0 "Farida" + Fella:0 "Fella" + Seloua:0 "Seloua" + Amira:0 "Amira" + Safia:0 "Safia" + Hania:0 "Hania" + Sabrina:0 "Sabrina" + Fatma:0 "Fatma" + Rayhana:0 "Rayhana" + Zineb:0 "Zineb" + Wassila:0 "Wassila" + Halida:0 "Halida" + Saphia:0 "Saphia" + Zahra:0 "Zahra" + Zohra:0 "Zohra" + Zakia:0 "Zakia" + Marouane:0 "Marouane" + Yta:0 "Yta" + Mounira:0 "Mounira" + La_i_uml_la:0 "Laïla" + Fatine:0 "Fatine" + C_e_act_lia:0 "Célia" + Nissrine:0 "Nissrine" + Rizlen:0 "Rizlen" + Latifa:0 "Latifa" + Sophia:0 "Sophia" + Jihane:0 "Jihane" + Touria:0 "Touria" + Hourya:0 "Hourya" + Bouchra:0 "Bouchra" + Lamia:0 "Lamia" + Chourouk:0 "Chourouk" + Karima:0 "Karima" + Amina:0 "Amina" + Ella:0 "Ella" + Najat:0 "Najat" + Abdelghafour:0 "Abdelghafour" + Sarah:0 "Sarah" + Rania:0 "Rania" + Ouidad:0 "Ouidad" + Randa:0 "Randa" + Lobna:0 "Lobna" + Doria:0 "Doria" + Ghalya:0 "Ghalya" + Kalthoum:0 "Kalthoum" + Manele:0 "Manele" + Nawel:0 "Nawel" + Fawzia:0 "Fawzia" + Wafa:0 "Wafa" + Mika:0 "Mika" + Bouraou_i_uml_a:0 "Bouraouïa" + Ismahane:0 "Ismahane" + Sonia:0 "Sonia" + Erige:0 "Erige" + Leyla:0 "Leyla" + Hajer:0 "Hajer" + Nozha:0 "Nozha" + Feriel:0 "Feriel" + Anissa:0 "Anissa" + N_e_act_ziha:0 "Néziha" + Selma:0 "Selma" + Nabila:0 "Nabila" + Hind:0 "Hind" + Asma:0 "Asma" From d061a4d5d941b29ec0de12b104e392b93b1a2924 Mon Sep 17 00:00:00 2001 From: JulesFlammenkueche Date: Fri, 7 Nov 2025 00:39:06 +0100 Subject: [PATCH 20/20] quick fix --- N3OW/common/culture/cultures/NEOW_french.txt | 2 +- N3OW/common/culture/{cultures => name_lists}/NEOW_berber.txt | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename N3OW/common/culture/{cultures => name_lists}/NEOW_berber.txt (100%) diff --git a/N3OW/common/culture/cultures/NEOW_french.txt b/N3OW/common/culture/cultures/NEOW_french.txt index 423fb5f7..dd7c1a03 100644 --- a/N3OW/common/culture/cultures/NEOW_french.txt +++ b/N3OW/common/culture/cultures/NEOW_french.txt @@ -389,7 +389,7 @@ beur = { tradition_diasporic } - name_list = name_list_maghrebi + name_list = name_list_NEOW_beur coa_gfx = { arabic_group_coa_gfx french_coa_gfx frankish_group_coa_gfx western_coa_gfx } building_gfx = { western_building_gfx } diff --git a/N3OW/common/culture/cultures/NEOW_berber.txt b/N3OW/common/culture/name_lists/NEOW_berber.txt similarity index 100% rename from N3OW/common/culture/cultures/NEOW_berber.txt rename to N3OW/common/culture/name_lists/NEOW_berber.txt