From e610b09a27ddcbdfee053f133a7e69ef6222e05a Mon Sep 17 00:00:00 2001 From: Fishedotjpg Date: Thu, 12 Mar 2026 21:46:17 +0000 Subject: [PATCH] more loc and graphics --- common/buildings/00_city_buildings.txt | 32 + common/buildings/00_monotown_buildings.txt | 1940 +++++++++++++++++ .../00_standard_economy_buildings.txt | 136 ++ .../N3OW_standard_economy_buildings.txt | 5 - .../00_government_custom_loc.txt | 20 + .../buildings/00_estate_buildings.txt | 372 ++-- .../domiciles/types/NEOW_domicile_types.txt | 918 ++++++++ common/game_concepts/neow_game_concepts.txt | 15 + common/governments/00_government_types.txt | 117 +- common/holdings/00_holdings.txt | 10 + common/laws/00_succession_laws.txt | 85 +- common/laws/01_title_succession_laws.txt | 57 +- common/legitimacy/00_legitimacy.txt | 1 + common/men_at_arms_types/NEOW_maa_types.txt | 44 + common/on_action/game_start.txt | 34 + common/on_action/title_on_actions.txt | 102 + common/on_action/yearly_on_actions.txt | 68 + .../00_available_for_events_triggers.txt | 1 + .../contracts/urban_republic_obligations.txt | 156 ++ .../groups/subject_contract_groups.txt | 11 + .../succession_election/04_saxon_elective.txt | 177 ++ .../coat_of_arms/Mural_crown_kingdom_115.dds | 3 + .../coat_of_arms/Mural_crown_kingdom_28.dds | 3 + .../coat_of_arms/Mural_crown_kingdom_44.dds | 3 + .../coat_of_arms/Mural_crown_kingdom_62.dds | 3 + .../coat_of_arms/Mural_crown_kingdom_86.dds | 3 + .../farmstead_main - Copy.dds | 3 + gfx/interface/icons/flat_icons/urbaner.dds | 3 + .../urbanrepublic_government.dds | 3 + .../holding_types_tab/monotown_holding.dds | 3 + gfx/interface/icons/icon_holding_monotown.dds | 3 + .../icons/map_icons/map_icon_urban.dds | 3 + gui/hud.gui | 2 +- gui/texticons.gui | 19 + history/provinces/e_italy.txt | 22 +- .../replace/council_tasks_l_english.yml | 15 + .../replace/urepublic_loc_l_english.yml | 59 + 37 files changed, 4206 insertions(+), 245 deletions(-) create mode 100644 common/buildings/00_monotown_buildings.txt create mode 100644 common/subject_contracts/contracts/urban_republic_obligations.txt create mode 100644 gfx/interface/coat_of_arms/Mural_crown_kingdom_115.dds create mode 100644 gfx/interface/coat_of_arms/Mural_crown_kingdom_28.dds create mode 100644 gfx/interface/coat_of_arms/Mural_crown_kingdom_44.dds create mode 100644 gfx/interface/coat_of_arms/Mural_crown_kingdom_62.dds create mode 100644 gfx/interface/coat_of_arms/Mural_crown_kingdom_86.dds create mode 100644 gfx/interface/icons/domicile_building/farmstead_main - Copy.dds create mode 100644 gfx/interface/icons/flat_icons/urbaner.dds create mode 100644 gfx/interface/icons/government_types/urbanrepublic_government.dds create mode 100644 gfx/interface/icons/holding_types_tab/monotown_holding.dds create mode 100644 gfx/interface/icons/icon_holding_monotown.dds create mode 100644 gfx/interface/icons/map_icons/map_icon_urban.dds create mode 100644 localization/english/replace/urepublic_loc_l_english.yml diff --git a/common/buildings/00_city_buildings.txt b/common/buildings/00_city_buildings.txt index bc5c3df8..0e4a6b1a 100644 --- a/common/buildings/00_city_buildings.txt +++ b/common/buildings/00_city_buildings.txt @@ -2023,6 +2023,10 @@ guild_halls_01 = { parameter = government_is_prepublic monthly_barter_goods = 0.1 } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.2 + } next_building = guild_halls_02 @@ -2077,6 +2081,10 @@ guild_halls_02 = { parameter = government_is_prepublic monthly_barter_goods = 0.2 } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.4 + } next_building = guild_halls_03 ai_value = { @@ -2135,6 +2143,10 @@ guild_halls_03 = { parameter = government_is_prepublic monthly_barter_goods = 0.3 } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.6 + } on_complete = { @@ -2200,6 +2212,10 @@ guild_halls_04 = { parameter = government_is_prepublic monthly_barter_goods = 0.4 } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.8 + } on_complete = { @@ -2264,6 +2280,10 @@ guild_halls_05 = { parameter = government_is_prepublic monthly_barter_goods = 0.5 } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 1 + } on_complete = { @@ -2328,6 +2348,10 @@ guild_halls_06 = { parameter = government_is_prepublic monthly_barter_goods = 0.6 } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 1.2 + } on_complete = { @@ -2392,6 +2416,10 @@ guild_halls_07 = { parameter = government_is_prepublic monthly_barter_goods = 0.7 } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 1.4 + } on_complete = { @@ -2456,6 +2484,10 @@ guild_halls_08 = { parameter = government_is_prepublic monthly_barter_goods = 0.8 } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 1.6 + } on_complete = { diff --git a/common/buildings/00_monotown_buildings.txt b/common/buildings/00_monotown_buildings.txt new file mode 100644 index 00000000..35867fb9 --- /dev/null +++ b/common/buildings/00_monotown_buildings.txt @@ -0,0 +1,1940 @@ +@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" +@holding_illustration_iberian = "gfx/interface/illustrations/holding_types/fp2_city_iberian.dds" +@holding_illustration_iranian = "gfx/interface/illustrations/holding_types/fp3_city_iranian.dds" +@holding_illustration_byzantine = "gfx/interface/illustrations/holding_types/ep3_city_byzantine.dds" + +monotown_01 = { + construction_time = slow_construction_time + effect_desc = city_1_effect_desc + + #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 } } + } + 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 } + } + 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 } + } + 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 } + } + + 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 arabic_group_building_gfx berber_group_building_gfx } + } + 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 arabic_group_building_gfx berber_group_building_gfx } + graphical_regions = { graphical_mena } + } + 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 arabic_group_building_gfx berber_group_building_gfx } + graphical_regions = { graphical_india } + } + 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 arabic_group_building_gfx berber_group_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + 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 tibetan_building_gfx } + } + 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 tibetan_building_gfx } + graphical_regions = { graphical_mena } + } + 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 tibetan_building_gfx } + graphical_regions = { graphical_india } + } + 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 tibetan_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + 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 } + } + 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 } + } + 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 } + } + 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 } + } + + ### 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 } + } + + 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 } + } + + 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 } + } + + 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 } + } + + ### 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 } + } + + 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" + 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 caucasian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + #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 } + } + 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 } + } + + #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 } + } + 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 } + } + 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 } + } + 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 } + } + + can_construct_potential = { + barony_cannot_construct_holding = no + } + + can_construct = { + culture = { + has_innovation = innovation_city_planning + } + government has_flag = government_is_urepublic + } + + 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 + + levy = poor_building_levy_tier_1 + max_garrison = normal_building_max_garrison_tier_1 + garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_1 + province_modifier = { + monthly_income = good_building_tax_tier_4 + travel_danger = -10 + monthly_barter_goods = 0.75 + } + county_modifier = { + development_growth_factor = 0.05 + } + + province_terrain_modifier = { + parameter = maritime_mercantilism_coastal_holdings + is_coastal = yes + tax_mult = maritime_mercantilism_coastal_holdings_value + } + + character_modifier = { + men_at_arms_cap = 1 + } + + province_terrain_modifier = { + parameter = coastal_holding_bonuses + is_coastal = yes + build_speed = -0.1 + } + + county_dynasty_modifier = { + county_holder_dynasty_perk = fp2_urbanism_legacy_1 # check if the dynasty of the county holder has a specific perk + development_growth_factor = fp2_urbanism_legacy_1_bonus_value + } + character_modifier = { + men_at_arms_cap = 1 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -1 + } + + flag = city + next_building = monotown_02 + + type_icon = "icon_building_blacksmiths.dds" + + on_complete = { + county.holder = { + if = { + limit = { + any_vassal = { + vassal_stance = parochial + } + save_temporary_scope_as = holder_scope + } + custom_tooltip = parochial_vassal_approves_holding_construction + hidden_effect = { + every_vassal = { + vassal_stance = parochial + add_opinion = { + target = prev + modifier = parochial_approves_holding_construction_opinion + } + } + } + } + } + #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 + } + } + county.holder = { save_scope_as = holder } + add_random_economic_building_effect = yes + add_random_military_building_effect = yes + add_random_fortification_building_effect = yes + } + } + } + + ai_value = { + base = 0 + modifier = { + add = 100 + scope:holder = { + domain_limit_available < 1 + } + } + modifier = { + factor = 0 + scope:holder = { + government_has_flag = government_is_theocracy + } + } + modifier = { + add = 50 + county = { + NOT = { + any_county_province = { + has_building_or_higher = monotown_01 + } + } + } + } + modifier = { + factor = 5 + scope:holder.culture = { has_cultural_parameter = ai_more_likely_to_city } + } + } +} + +monotown_02 = { + construction_time = slow_construction_time + + + #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 } } + } + 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 } + } + 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 } + } + 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 } + } + + 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 arabic_group_building_gfx berber_group_building_gfx } + } + 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 arabic_group_building_gfx berber_group_building_gfx } + graphical_regions = { graphical_mena } + } + 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 arabic_group_building_gfx berber_group_building_gfx } + graphical_regions = { graphical_india } + } + 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 arabic_group_building_gfx berber_group_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + 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 tibetan_building_gfx } + } + 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 tibetan_building_gfx } + graphical_regions = { graphical_mena } + } + 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 tibetan_building_gfx } + graphical_regions = { graphical_india } + } + 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 tibetan_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + 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 } + } + 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 } + } + 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 } + } + 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 } + } + + ### 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 } + } + + 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 } + } + + 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 } + } + + 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 } + } + + ### 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 } + } + + 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" + 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 caucasian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + #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 } + } + 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 } + } + + #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 } + } + 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 } + } + 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 } + } + 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 } + } + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_cities + } + } + } + culture = { + has_innovation = innovation_manorialism + } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_cities + } + } + government has_flag = government_is_urepublic + } + cost_gold = main_building_tier_2_cost + + levy = poor_building_levy_tier_1 + max_garrison = normal_building_max_garrison_tier_1 + garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_1 + province_modifier = { + monthly_income = good_building_tax_tier_5 + travel_danger = -12 + monthly_barter_goods = 1.5 + } + + province_terrain_modifier = { + parameter = maritime_mercantilism_coastal_holdings + is_coastal = yes + tax_mult = maritime_mercantilism_coastal_holdings_value + } + + county_modifier = { + development_growth_factor = 0.1 + } + + province_terrain_modifier = { + parameter = coastal_holding_bonuses + is_coastal = yes + build_speed = -0.1 + } + + county_dynasty_modifier = { + county_holder_dynasty_perk = fp2_urbanism_legacy_1 # check if the dynasty of the county holder has a specific perk + development_growth_factor = fp2_urbanism_legacy_1_bonus_value + } + + character_modifier = { + men_at_arms_cap = 1 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -2 + } + flag = city + next_building = monotown_03 + + on_complete = { + barony.holder = { + if = { + limit = { + any_vassal = { + vassal_stance = parochial + } + save_temporary_scope_as = holder_scope + } + custom_tooltip = parochial_vassal_approves_holding_upgrade + hidden_effect = { + every_vassal = { + vassal_stance = parochial + add_opinion = { + target = prev + modifier = parochial_approves_holding_upgrade_opinion + } + } + } + } + } + #Mandala Creator Aspect + creator_mandala_upgraded_regular_holding_piety_effect = yes + } + ai_value = { + base = 6 + modifier = { + add = 1 + scope:holder.culture = { has_cultural_parameter = ai_more_likely_to_city } + } + modifier = { + factor = 2 + scope:holder.capital_province = this + } + modifier = { + factor = 0.1 + free_building_slots >= 1 + } + modifier = { + factor = 0.3 + years_from_game_start <= 0.01 + } + } +} + +monotown_03 = { + construction_time = slow_construction_time + effect_desc = city_2_effect_desc + + #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 } } + } + 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 } + } + 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 } + } + 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 } + } + + 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 arabic_group_building_gfx berber_group_building_gfx } + } + 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 arabic_group_building_gfx berber_group_building_gfx } + graphical_regions = { graphical_mena } + } + 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 arabic_group_building_gfx berber_group_building_gfx } + graphical_regions = { graphical_india } + } + 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 arabic_group_building_gfx berber_group_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + 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 tibetan_building_gfx } + } + 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 tibetan_building_gfx } + graphical_regions = { graphical_mena } + } + 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 tibetan_building_gfx } + graphical_regions = { graphical_india } + } + 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 tibetan_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + 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 } + } + 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 } + } + 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 } + } + 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 } + } + + ### 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 } + } + + 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 } + } + + 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 } + } + + 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 } + } + + ### 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 } + } + + 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" + 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 caucasian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + #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 } + } + 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 } + } + + #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 } + } + 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 } + } + 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 } + } + 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 } + } + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_cities + } + } + } + culture = { + has_innovation = innovation_windmills + } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_cities + } + culture = { + has_innovation = innovation_manorialism + } + } + government has_flag = government_is_urepublic + } + cost_gold = main_building_tier_3_cost + next_building = monotown_04 + + levy = poor_building_levy_tier_1 + max_garrison = normal_building_max_garrison_tier_1 + garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_1 + province_modifier = { + monthly_income = good_building_tax_tier_6 + travel_danger = -14 + monthly_barter_goods = 2.25 + } + + + province_terrain_modifier = { + parameter = maritime_mercantilism_coastal_holdings + is_coastal = yes + tax_mult = maritime_mercantilism_coastal_holdings_value + } + + county_modifier = { + development_growth_factor = 0.15 + } + + county_culture_modifier = { + parameter = city_buildings_less_control + monthly_county_control_growth_factor = -0.25 + } + + province_terrain_modifier = { + parameter = coastal_holding_bonuses + is_coastal = yes + build_speed = -0.1 + } + + + county_dynasty_modifier = { + county_holder_dynasty_perk = fp2_urbanism_legacy_1 # check if the dynasty of the county holder has a specific perk + development_growth_factor = fp2_urbanism_legacy_1_bonus_value + } + + character_modifier = { + men_at_arms_cap = 1 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -3 + } + flag = city + + on_complete = { + barony.holder = { + if = { + limit = { + any_vassal = { + vassal_stance = parochial + } + save_temporary_scope_as = holder_scope + } + custom_tooltip = parochial_vassal_approves_holding_upgrade + hidden_effect = { + every_vassal = { + vassal_stance = parochial + add_opinion = { + target = prev + modifier = parochial_approves_holding_upgrade_opinion + } + } + } + } + } + #Mandala Creator Aspect + creator_mandala_upgraded_regular_holding_piety_effect = yes + } + ai_value = { + base = 5 + modifier = { + add = 1 + scope:holder.culture = { has_cultural_parameter = ai_more_likely_to_city } + } + modifier = { + factor = 2 + scope:holder.capital_province = this + } + } +} + +monotown_04 = { + construction_time = slow_construction_time + + #Meshes (Indented for readability) + + #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 } } + } + 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 } + } + 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 } + } + 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 } + } + + 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 arabic_group_building_gfx berber_group_building_gfx } + } + 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 arabic_group_building_gfx berber_group_building_gfx } + graphical_regions = { graphical_mena } + } + 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 arabic_group_building_gfx berber_group_building_gfx } + graphical_regions = { graphical_india } + } + 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 arabic_group_building_gfx berber_group_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + 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 tibetan_building_gfx } + } + 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 tibetan_building_gfx } + graphical_regions = { graphical_mena } + } + 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 tibetan_building_gfx } + graphical_regions = { graphical_india } + } + 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 tibetan_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + 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 } + } + 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 } + } + 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 } + } + 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 } + } + + ### 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 } + } + + 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 } + } + + 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 } + } + + 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 } + } + + ### 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 } + } + + 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" + 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 caucasian_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + #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 } + } + 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 } + } + + #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 } + } + 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 } + } + 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 } + } + 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 } + } + + can_construct_potential = { + building_requirement_tribal = no + } + can_construct = { + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_cities + } + } + } + culture = { + has_innovation = innovation_cranes + } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_cities + } + culture = { + has_innovation = innovation_windmills + } + } + government has_flag = government_is_urepublic + + } + cost_gold = main_building_tier_4_cost + + levy = poor_building_levy_tier_1 + max_garrison = normal_building_max_garrison_tier_1 + garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_1 + province_modifier = { + monthly_income = good_building_tax_tier_8 + travel_danger = -16 + monthly_barter_goods = 3 + } + + province_terrain_modifier = { + parameter = maritime_mercantilism_coastal_holdings + is_coastal = yes + tax_mult = maritime_mercantilism_coastal_holdings_value + } + + county_modifier = { + development_growth_factor = 0.2 + } + + province_terrain_modifier = { + parameter = coastal_holding_bonuses + is_coastal = yes + build_speed = -0.1 + } + + county_dynasty_modifier = { + county_holder_dynasty_perk = fp2_urbanism_legacy_1 # check if the dynasty of the county holder has a specific perk + development_growth_factor = fp2_urbanism_legacy_1_bonus_value + } + + character_modifier = { + men_at_arms_cap = 1 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -4 + } + flag = city + + on_complete = { + barony.holder = { + if = { + limit = { + any_vassal = { + vassal_stance = parochial + } + save_temporary_scope_as = holder_scope + } + custom_tooltip = parochial_vassal_approves_holding_upgrade + hidden_effect = { + every_vassal = { + vassal_stance = parochial + add_opinion = { + target = prev + modifier = parochial_approves_holding_upgrade_opinion + } + } + } + } + } + #Mandala Creator Aspect + creator_mandala_upgraded_regular_holding_piety_effect = yes + } + ai_value = { + base = 4 + modifier = { + add = 1 + scope:holder.culture = { has_cultural_parameter = ai_more_likely_to_city } + } + modifier = { + factor = 2 + scope:holder.capital_province = this + } + } +} diff --git a/common/buildings/00_standard_economy_buildings.txt b/common/buildings/00_standard_economy_buildings.txt index aa43afad..969d0d30 100644 --- a/common/buildings/00_standard_economy_buildings.txt +++ b/common/buildings/00_standard_economy_buildings.txt @@ -2281,6 +2281,10 @@ murex_farm_01 = { is_enabled = { } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.1 + } can_construct_showing_failures_only = { building_requirement_tribal = no county = { NOT = { has_county_modifier = backwater_county_modifier } } @@ -2343,6 +2347,10 @@ murex_farm_02 = { is_enabled = { } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.2 + } can_construct_showing_failures_only = { building_requirement_tribal = no county = { NOT = { has_county_modifier = backwater_county_modifier } } @@ -2394,6 +2402,10 @@ murex_farm_03 = { is_enabled = { } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.3 + } can_construct_showing_failures_only = { building_requirement_tribal = no county = { NOT = { has_county_modifier = backwater_county_modifier } } @@ -2445,6 +2457,10 @@ murex_farm_04 = { is_enabled = { } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.4 + } can_construct_showing_failures_only = { building_requirement_tribal = no county = { NOT = { has_county_modifier = backwater_county_modifier } } @@ -2496,6 +2512,10 @@ murex_farm_05 = { is_enabled = { } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.5 + } can_construct_showing_failures_only = { building_requirement_tribal = no county = { NOT = { has_county_modifier = backwater_county_modifier } } @@ -2547,6 +2567,10 @@ murex_farm_06 = { is_enabled = { } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.6 + } can_construct_showing_failures_only = { building_requirement_tribal = no county = { NOT = { has_county_modifier = backwater_county_modifier } } @@ -2598,6 +2622,10 @@ murex_farm_07 = { is_enabled = { } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.7 + } can_construct_showing_failures_only = { building_requirement_tribal = no county = { NOT = { has_county_modifier = backwater_county_modifier } } @@ -2649,6 +2677,10 @@ murex_farm_08 = { is_enabled = { } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.8 + } can_construct_showing_failures_only = { building_requirement_tribal = no county = { NOT = { has_county_modifier = backwater_county_modifier } } @@ -3536,6 +3568,10 @@ spice_plantation_01 = { is_enabled = { } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.1 + } can_construct_showing_failures_only = { building_requirement_tribal = no county = { NOT = { has_county_modifier = backwater_county_modifier } } @@ -3598,6 +3634,10 @@ spice_plantation_02 = { is_enabled = { } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.2 + } can_construct_showing_failures_only = { building_requirement_tribal = no county = { NOT = { has_county_modifier = backwater_county_modifier } } @@ -3649,6 +3689,10 @@ spice_plantation_03 = { is_enabled = { } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.3 + } can_construct_showing_failures_only = { building_requirement_tribal = no county = { NOT = { has_county_modifier = backwater_county_modifier } } @@ -3700,6 +3744,10 @@ spice_plantation_04 = { is_enabled = { } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.4 + } can_construct_showing_failures_only = { building_requirement_tribal = no county = { NOT = { has_county_modifier = backwater_county_modifier } } @@ -3752,6 +3800,10 @@ spice_plantation_05 = { is_enabled = { } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.5 + } can_construct_showing_failures_only = { building_requirement_tribal = no county = { NOT = { has_county_modifier = backwater_county_modifier } } @@ -3804,6 +3856,10 @@ spice_plantation_06 = { is_enabled = { } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.6 + } can_construct_showing_failures_only = { building_requirement_tribal = no county = { NOT = { has_county_modifier = backwater_county_modifier } } @@ -3856,6 +3912,10 @@ spice_plantation_07 = { is_enabled = { } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.7 + } can_construct_showing_failures_only = { building_requirement_tribal = no county = { NOT = { has_county_modifier = backwater_county_modifier } } @@ -3908,6 +3968,10 @@ spice_plantation_08 = { is_enabled = { } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = 0.8 + } can_construct_showing_failures_only = { building_requirement_tribal = no county = { NOT = { has_county_modifier = backwater_county_modifier } } @@ -4485,6 +4549,11 @@ common_tradeport_01 = { cost_gold = normal_building_tier_1_cost + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = -0.3 + monthly_income = 0.1 + } province_modifier = { monthly_income = normal_building_tax_tier_1 } @@ -4603,6 +4672,11 @@ common_tradeport_02 = { } } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = -0.6 + monthly_income = 0.2 + } can_construct_showing_failures_only = { # building_requirement_tribal = no } @@ -4678,6 +4752,11 @@ common_tradeport_03 = { } } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = -0.9 + monthly_income = 0.3 + } is_enabled = { building_requirement_tribal = no } @@ -4753,6 +4832,11 @@ common_tradeport_04 = { } } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = -1.2 + monthly_income = 0.4 + } can_construct_showing_failures_only = { building_requirement_tribal = no } @@ -4828,6 +4912,11 @@ common_tradeport_05 = { } } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = -1.5 + monthly_income = 0.5 + } can_construct_showing_failures_only = { building_requirement_tribal = no } @@ -4903,6 +4992,11 @@ common_tradeport_06 = { } } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = -1.8 + monthly_income = 0.6 + } can_construct_showing_failures_only = { building_requirement_tribal = no } @@ -4978,6 +5072,11 @@ common_tradeport_07 = { } } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = -2.1 + monthly_income = 0.7 + } can_construct_showing_failures_only = { building_requirement_tribal = no } @@ -5053,6 +5152,11 @@ common_tradeport_08 = { } } + province_government_modifier = { + parameter = government_is_urepublic + monthly_barter_goods = -2.4 + monthly_income = 0.8 + } can_construct_showing_failures_only = { building_requirement_tribal = no } @@ -10058,6 +10162,10 @@ plantations_01 = { cost_gold = cheap_building_tier_1_cost + province_government_modifier = { + parameter = government_is_urepublic + monthly_income = 0.1 + } province_modifier = { monthly_income = poor_building_tax_tier_1 } @@ -10140,6 +10248,10 @@ plantations_02 = { } } + province_government_modifier = { + parameter = government_is_urepublic + monthly_income = 0.2 + } can_construct_showing_failures_only = { building_requirement_tribal = no } @@ -10204,6 +10316,10 @@ plantations_03 = { } } + province_government_modifier = { + parameter = government_is_urepublic + monthly_income = 0.3 + } can_construct_showing_failures_only = { building_requirement_tribal = no } @@ -10270,6 +10386,10 @@ plantations_04 = { building_requirement_tribal = no } + province_government_modifier = { + parameter = government_is_urepublic + monthly_income = 0.4 + } cost_gold = cheap_building_tier_4_cost province_modifier = { @@ -10334,6 +10454,10 @@ plantations_05 = { cost_gold = cheap_building_tier_5_cost + province_government_modifier = { + parameter = government_is_urepublic + monthly_income = 0.5 + } province_modifier = { monthly_income = poor_building_tax_tier_5 tax_mult = 0.02 @@ -10399,6 +10523,10 @@ plantations_06 = { cost_gold = cheap_building_tier_6_cost + province_government_modifier = { + parameter = government_is_urepublic + monthly_income = 0.6 + } province_modifier = { monthly_income = poor_building_tax_tier_6 tax_mult = 0.02 @@ -10464,6 +10592,10 @@ plantations_07 = { cost_gold = cheap_building_tier_7_cost + province_government_modifier = { + parameter = government_is_urepublic + monthly_income = 0.7 + } province_modifier = { monthly_income = poor_building_tax_tier_7 tax_mult = 0.02 @@ -10529,6 +10661,10 @@ plantations_08 = { cost_gold = cheap_building_tier_8_cost + province_government_modifier = { + parameter = government_is_urepublic + monthly_income = 0.8 + } province_modifier = { monthly_income = poor_building_tax_tier_8 tax_mult = 0.02 diff --git a/common/buildings/N3OW_standard_economy_buildings.txt b/common/buildings/N3OW_standard_economy_buildings.txt index 5b311a6a..0d8cd242 100644 --- a/common/buildings/N3OW_standard_economy_buildings.txt +++ b/common/buildings/N3OW_standard_economy_buildings.txt @@ -1397,11 +1397,6 @@ potato_fields_04 = { stationed_maa_damage_mult = normal_maa_damage_tier_4 stationed_maa_toughness_mult = normal_maa_toughness_tier_4 } - province_government_modifier = { - parameter = government_is_prepublic - county_fertility_growth_add = 0.8 - monthly_barter_goods = 0.4 - } province_government_modifier = { parameter = government_is_prepublic monthly_barter_goods = 0.4 diff --git a/common/customizable_localization/00_government_custom_loc.txt b/common/customizable_localization/00_government_custom_loc.txt index 3c26706b..739a60c7 100644 --- a/common/customizable_localization/00_government_custom_loc.txt +++ b/common/customizable_localization/00_government_custom_loc.txt @@ -1146,6 +1146,26 @@ GetGovernmentIcon = { } localization_key = peasantrepublic_icon_concept } + text = { # Republic + trigger = { + trigger_if = { + limit = { + is_alive = no + } + has_government = urbanrepublic_government + } + trigger_else = { + trigger_if = { + limit = { is_ruler = yes } + government_has_flag = government_is_urepublic + } + trigger_else = { + liege ?= { government_has_flag = government_is_urepublic } + } + } + } + localization_key = urbanrepublic_icon_concept + } text = { # Theocracy trigger = { trigger_if = { diff --git a/common/domiciles/buildings/00_estate_buildings.txt b/common/domiciles/buildings/00_estate_buildings.txt index 9b57c94f..ef8b8ff5 100644 --- a/common/domiciles/buildings/00_estate_buildings.txt +++ b/common/domiciles/buildings/00_estate_buildings.txt @@ -11,7 +11,7 @@ estate_main_01 = { slot_type = main internal_slots = 2 construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } cost = { gold = estate_external_building_high_cost_tier_2_value @@ -85,7 +85,7 @@ estate_main_02 = { slot_type = main internal_slots = 4 construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = estate_main_01 can_construct = { @@ -169,7 +169,7 @@ estate_main_03 = { slot_type = main internal_slots = 6 construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = estate_main_02 can_construct = { @@ -254,7 +254,7 @@ estate_main_04 = { slot_type = main internal_slots = 8 construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = estate_main_03 can_construct = { @@ -339,7 +339,7 @@ estate_main_05 = { slot_type = main internal_slots = 10 construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = estate_main_04 can_construct = { @@ -425,7 +425,7 @@ estate_main_05 = { ### Diplomacy Upgrade living_quarters_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = estate_main_01 @@ -462,7 +462,7 @@ living_quarters_01 = { } living_quarters_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = living_quarters_01 @@ -501,7 +501,7 @@ living_quarters_02 = { } living_quarters_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = living_quarters_02 @@ -543,7 +543,7 @@ living_quarters_03 = { } living_quarters_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = living_quarters_03 @@ -588,7 +588,7 @@ living_quarters_04 = { ### Martial Upgrade trophy_room_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = estate_main_01 @@ -620,7 +620,7 @@ trophy_room_01 = { } trophy_room_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = trophy_room_01 @@ -653,7 +653,7 @@ trophy_room_02 = { } trophy_room_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = trophy_room_02 @@ -694,7 +694,7 @@ trophy_room_03 = { } trophy_room_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = trophy_room_03 @@ -738,7 +738,7 @@ trophy_room_04 = { ### Stewardship Upgrade office_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = estate_main_01 @@ -775,7 +775,7 @@ office_01 = { } office_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = office_01 @@ -813,7 +813,7 @@ office_02 = { } office_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = office_02 @@ -856,7 +856,7 @@ office_03 = { } office_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = office_03 @@ -902,7 +902,7 @@ office_04 = { ### Intrigue Upgrade servants_quarters_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = estate_main_01 @@ -935,7 +935,7 @@ servants_quarters_01 = { } servants_quarters_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = servants_quarters_01 @@ -971,7 +971,7 @@ servants_quarters_02 = { } servants_quarters_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = servants_quarters_02 @@ -1012,7 +1012,7 @@ servants_quarters_03 = { } servants_quarters_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = servants_quarters_03 @@ -1057,7 +1057,7 @@ servants_quarters_04 = { ### Learning Upgrade library_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = estate_main_01 @@ -1089,7 +1089,7 @@ library_01 = { } library_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = library_01 @@ -1127,7 +1127,7 @@ library_02 = { # Observatory sub-branch library_observatory_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = library_02 @@ -1168,7 +1168,7 @@ library_observatory_03 = { } library_observatory_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = library_observatory_03 @@ -1211,7 +1211,7 @@ library_observatory_04 = { # Education sub-branch library_education_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = library_02 @@ -1252,7 +1252,7 @@ library_education_03 = { } library_education_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = library_education_03 @@ -1297,7 +1297,7 @@ library_education_04 = { ### Bath bath_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = estate_main_01 @@ -1334,7 +1334,7 @@ bath_01 = { } bath_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = bath_01 @@ -1372,7 +1372,7 @@ bath_02 = { } bath_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = bath_02 @@ -1414,7 +1414,7 @@ bath_03 = { } bath_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = bath_03 @@ -1458,7 +1458,7 @@ bath_04 = { ### Guest Room guest_room_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = estate_main_01 @@ -1499,7 +1499,7 @@ guest_room_01 = { } guest_room_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = guest_room_01 @@ -1543,7 +1543,7 @@ guest_room_02 = { } guest_room_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = guest_room_02 @@ -1592,7 +1592,7 @@ guest_room_03 = { } guest_room_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = guest_room_03 @@ -1640,7 +1640,7 @@ guest_room_04 = { } guest_room_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = guest_room_04 @@ -1689,7 +1689,7 @@ guest_room_05 = { } guest_room_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = guest_room_05 @@ -1739,7 +1739,7 @@ guest_room_06 = { ### Wine Cellar wine_cellar_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = estate_main_01 @@ -1781,7 +1781,7 @@ wine_cellar_01 = { } wine_cellar_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = wine_cellar_01 @@ -1823,7 +1823,7 @@ wine_cellar_02 = { } wine_cellar_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = wine_cellar_02 @@ -1867,7 +1867,7 @@ wine_cellar_03 = { ### Courtyard courtyard_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = estate_main_01 @@ -1903,7 +1903,7 @@ courtyard_01 = { } courtyard_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = courtyard_01 @@ -1940,7 +1940,7 @@ courtyard_02 = { } courtyard_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = courtyard_02 @@ -1981,7 +1981,7 @@ courtyard_03 = { } courtyard_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = courtyard_03 @@ -2024,7 +2024,7 @@ courtyard_04 = { ### Prison prison_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = estate_main_01 @@ -2069,7 +2069,7 @@ prison_01 = { } prison_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = prison_01 @@ -2118,7 +2118,7 @@ prison_02 = { } prison_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = prison_02 @@ -2172,7 +2172,7 @@ prison_03 = { } prison_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = prison_03 @@ -2228,7 +2228,7 @@ prison_04 = { ### Reception Hall reception_hall_01 = { construction_time = 1000 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = estate_main_01 @@ -2270,7 +2270,7 @@ reception_hall_01 = { reception_hall_02 = { construction_time = 1000 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = reception_hall_01 @@ -2313,7 +2313,7 @@ reception_hall_02 = { reception_hall_03 = { construction_time = 1000 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = reception_hall_02 @@ -2357,7 +2357,7 @@ reception_hall_03 = { reception_hall_04 = { construction_time = 1000 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = reception_hall_03 @@ -2401,7 +2401,7 @@ reception_hall_04 = { reception_hall_05 = { construction_time = 1000 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = reception_hall_04 @@ -2446,7 +2446,7 @@ reception_hall_05 = { ### Cabinet of Curiosities cabinet_of_curiosities_01 = { construction_time = 1000 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = estate_main_01 @@ -2490,7 +2490,7 @@ cabinet_of_curiosities_01 = { cabinet_of_curiosities_02 = { construction_time = 1000 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = cabinet_of_curiosities_01 @@ -2544,7 +2544,7 @@ cabinet_of_curiosities_02 = { cabinet_of_curiosities_03 = { construction_time = 1000 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = cabinet_of_curiosities_02 @@ -2601,7 +2601,7 @@ cabinet_of_curiosities_03 = { #Grand Solar grand_solar_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = estate_main_01 @@ -2642,7 +2642,7 @@ grand_solar_01 = { grand_solar_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = grand_solar_01 @@ -2683,7 +2683,7 @@ grand_solar_02 = { grand_solar_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = grand_solar_02 @@ -2726,7 +2726,7 @@ grand_solar_03 = { grand_solar_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } slot_type = internal previous_building = grand_solar_03 @@ -2778,7 +2778,7 @@ grand_solar_04 = { ### Temple Building temple_small_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } can_construct = { NOT = { @@ -2918,7 +2918,7 @@ temple_small_01 = { } temple_small_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = temple_small_01 cost = { @@ -3053,7 +3053,7 @@ temple_small_02 = { } temple_small_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = temple_small_02 can_construct = { @@ -3194,7 +3194,7 @@ temple_small_03 = { # Crypt sub-branch temple_crypt_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = temple_small_03 can_construct = { @@ -3348,7 +3348,7 @@ temple_crypt_04 = { } temple_crypt_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = temple_crypt_04 can_construct = { @@ -3502,7 +3502,7 @@ temple_crypt_05 = { } temple_crypt_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = temple_crypt_05 can_construct = { @@ -3659,7 +3659,7 @@ temple_crypt_06 = { # Temple sub-branch temple_large_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = temple_small_03 can_construct = { @@ -3801,7 +3801,7 @@ temple_large_04 = { } temple_large_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = temple_large_04 can_construct = { @@ -3943,7 +3943,7 @@ temple_large_05 = { } temple_large_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = temple_large_05 can_construct = { @@ -4089,7 +4089,7 @@ temple_large_06 = { # Monastery sub-branch temple_monastery_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = temple_small_03 can_construct = { @@ -4234,7 +4234,7 @@ temple_monastery_04 = { } temple_monastery_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = temple_monastery_04 can_construct = { @@ -4379,7 +4379,7 @@ temple_monastery_05 = { } temple_monastery_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = temple_monastery_05 can_construct = { @@ -4526,7 +4526,7 @@ temple_monastery_06 = { ### Barracks barracks_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } cost = { gold = { @@ -4609,7 +4609,7 @@ barracks_01 = { } barracks_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = barracks_01 cost = { @@ -4697,7 +4697,7 @@ barracks_02 = { } barracks_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = barracks_02 can_construct = { @@ -4789,7 +4789,7 @@ barracks_03 = { } barracks_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = barracks_03 can_construct = { @@ -4881,7 +4881,7 @@ barracks_04 = { } barracks_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = barracks_04 can_construct = { @@ -4973,7 +4973,7 @@ barracks_05 = { } barracks_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = barracks_05 can_construct = { @@ -5067,7 +5067,7 @@ barracks_06 = { ### Watchtower watchtower_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } cost = { gold = { @@ -5148,7 +5148,7 @@ watchtower_01 = { } watchtower_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = watchtower_01 cost = { @@ -5232,7 +5232,7 @@ watchtower_02 = { } watchtower_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = watchtower_02 can_construct = { @@ -5320,7 +5320,7 @@ watchtower_03 = { } watchtower_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = watchtower_03 can_construct = { @@ -5409,7 +5409,7 @@ watchtower_04 = { } watchtower_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = watchtower_04 can_construct = { @@ -5498,7 +5498,7 @@ watchtower_05 = { } watchtower_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = watchtower_05 can_construct = { @@ -5590,7 +5590,7 @@ watchtower_06 = { ### Guardhouse guardhouse_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } cost = { gold = { @@ -5671,7 +5671,7 @@ guardhouse_01 = { } guardhouse_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = guardhouse_01 cost = { @@ -5754,7 +5754,7 @@ guardhouse_02 = { } guardhouse_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = guardhouse_02 can_construct = { @@ -5843,7 +5843,7 @@ guardhouse_03 = { } guardhouse_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = guardhouse_03 can_construct = { @@ -5934,7 +5934,7 @@ guardhouse_04 = { ### Garden garden_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } cost = { gold = { @@ -6054,7 +6054,7 @@ garden_01 = { } garden_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = garden_01 cost = { @@ -6175,7 +6175,7 @@ garden_02 = { } garden_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = garden_02 cost = { @@ -6298,7 +6298,7 @@ garden_03 = { # Leisure Garden sub-branch garden_leisure_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = garden_03 can_construct = { @@ -6425,7 +6425,7 @@ garden_leisure_04 = { } garden_leisure_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = garden_leisure_04 can_construct = { @@ -6552,7 +6552,7 @@ garden_leisure_05 = { } garden_leisure_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = garden_leisure_05 can_construct = { @@ -6681,7 +6681,7 @@ garden_leisure_06 = { # Fruit Garden sub-branch garden_fruit_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = garden_03 can_construct = { @@ -6807,7 +6807,7 @@ garden_fruit_04 = { } garden_fruit_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = garden_fruit_04 can_construct = { @@ -6933,7 +6933,7 @@ garden_fruit_05 = { } garden_fruit_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = garden_fruit_05 can_construct = { @@ -7060,7 +7060,7 @@ garden_fruit_06 = { ### Stable stable_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } cost = { gold = { @@ -7142,7 +7142,7 @@ stable_01 = { } stable_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = stable_01 cost = { @@ -7229,7 +7229,7 @@ stable_02 = { } stable_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = stable_02 cost = { @@ -7318,7 +7318,7 @@ stable_03 = { # Grand Stable sub-branch stable_grand_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = stable_03 can_construct = { @@ -7403,7 +7403,7 @@ stable_grand_04 = { } stable_grand_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = stable_grand_04 can_construct = { @@ -7489,7 +7489,7 @@ stable_grand_05 = { } stable_grand_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = stable_grand_05 can_construct = { @@ -7577,7 +7577,7 @@ stable_grand_06 = { # Kennel sub-branch stable_kennel_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = stable_03 can_construct = { @@ -7671,7 +7671,7 @@ stable_kennel_04 = { } stable_kennel_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = stable_kennel_04 can_construct = { @@ -7766,7 +7766,7 @@ stable_kennel_05 = { } stable_kennel_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = stable_kennel_05 can_construct = { @@ -7864,7 +7864,7 @@ stable_kennel_06 = { # Charioteer sub-branch (Byzantine unique upgrade) stable_chariot_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = stable_03 can_construct_potential = { @@ -7948,7 +7948,7 @@ stable_chariot_04 = { } stable_chariot_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = stable_chariot_04 can_construct = { @@ -8033,7 +8033,7 @@ stable_chariot_05 = { } stable_chariot_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = stable_chariot_05 can_construct = { @@ -8120,7 +8120,7 @@ stable_chariot_06 = { ### Workshop workshop_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } cost = { gold = { @@ -8195,7 +8195,7 @@ workshop_01 = { } workshop_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = workshop_01 cost = { @@ -8273,7 +8273,7 @@ workshop_02 = { # Carpenter sub-branch workshop_carpenter_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = workshop_02 can_construct = { @@ -8357,7 +8357,7 @@ workshop_carpenter_03 = { } workshop_carpenter_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = workshop_carpenter_03 can_construct = { @@ -8441,7 +8441,7 @@ workshop_carpenter_04 = { } workshop_carpenter_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = workshop_carpenter_04 can_construct = { @@ -8526,7 +8526,7 @@ workshop_carpenter_05 = { } workshop_carpenter_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = workshop_carpenter_05 can_construct = { @@ -8613,7 +8613,7 @@ workshop_carpenter_06 = { # Mason sub-branch workshop_mason_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = workshop_02 can_construct = { @@ -8695,7 +8695,7 @@ workshop_mason_03 = { } workshop_mason_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = workshop_mason_03 can_construct = { @@ -8777,7 +8777,7 @@ workshop_mason_04 = { } workshop_mason_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = workshop_mason_04 can_construct = { @@ -8861,7 +8861,7 @@ workshop_mason_05 = { } workshop_mason_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = workshop_mason_05 can_construct = { @@ -8947,7 +8947,7 @@ workshop_mason_06 = { # Textile sub-branch workshop_textile_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = workshop_02 can_construct = { @@ -9031,7 +9031,7 @@ workshop_textile_03 = { } workshop_textile_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = workshop_textile_03 can_construct = { @@ -9115,7 +9115,7 @@ workshop_textile_04 = { } workshop_textile_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = workshop_textile_04 can_construct = { @@ -9199,7 +9199,7 @@ workshop_textile_05 = { } workshop_textile_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = workshop_textile_05 can_construct = { @@ -9285,7 +9285,7 @@ workshop_textile_06 = { ### Storage storage_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } cost = { gold = { @@ -9369,7 +9369,7 @@ storage_01 = { } storage_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = storage_01 cost = { @@ -9456,7 +9456,7 @@ storage_02 = { # Warehouse sub-branch storage_warehouse_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = storage_02 can_construct = { @@ -9540,7 +9540,7 @@ storage_warehouse_03 = { } storage_warehouse_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = storage_warehouse_03 can_construct = { @@ -9626,7 +9626,7 @@ storage_warehouse_04 = { # Granary sub-branch storage_granary_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = storage_02 can_construct = { @@ -9713,7 +9713,7 @@ storage_granary_03 = { } storage_granary_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = storage_granary_03 can_construct = { @@ -9806,7 +9806,7 @@ storage_granary_04 = { ### Market market_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } cost = { gold = { @@ -9894,7 +9894,7 @@ market_01 = { } market_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = market_01 cost = { @@ -9974,7 +9974,7 @@ market_02 = { } market_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = market_02 can_construct = { @@ -10059,7 +10059,7 @@ market_03 = { } market_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = market_03 can_construct = { @@ -10144,7 +10144,7 @@ market_04 = { } market_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = market_04 can_construct = { @@ -10229,7 +10229,7 @@ market_05 = { } market_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = market_05 can_construct = { @@ -10316,7 +10316,7 @@ market_06 = { ### Grazing Lands grazing_land_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } cost = { gold = { @@ -10436,7 +10436,7 @@ grazing_land_01 = { } grazing_land_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = grazing_land_01 cost = { @@ -10557,7 +10557,7 @@ grazing_land_02 = { } grazing_land_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = grazing_land_02 cost = { @@ -10678,7 +10678,7 @@ grazing_land_03 = { } grazing_land_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = grazing_land_03 can_construct = { @@ -10790,7 +10790,7 @@ grazing_land_04 = { } grazing_land_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = grazing_land_04 can_construct = { @@ -10902,7 +10902,7 @@ grazing_land_05 = { } grazing_land_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = grazing_land_05 can_construct = { @@ -11016,7 +11016,7 @@ grazing_land_06 = { # Horse Archer sub-branch horse_pasture_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = grazing_land_03 can_construct = { @@ -11122,7 +11122,7 @@ horse_pasture_04 = { } horse_pasture_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = horse_pasture_04 can_construct = { @@ -11228,7 +11228,7 @@ horse_pasture_05 = { } horse_pasture_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = horse_pasture_05 can_construct = { @@ -11336,7 +11336,7 @@ horse_pasture_06 = { # Camel sub-branch camel_pasture_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = grazing_land_03 can_construct = { @@ -11442,7 +11442,7 @@ camel_pasture_04 = { } camel_pasture_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = camel_pasture_04 can_construct = { @@ -11548,7 +11548,7 @@ camel_pasture_05 = { } camel_pasture_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = camel_pasture_05 can_construct = { @@ -11656,7 +11656,7 @@ camel_pasture_06 = { # Elephant sub-branch elephant_pasture_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = grazing_land_03 can_construct = { @@ -11738,7 +11738,7 @@ elephant_pasture_04 = { } elephant_pasture_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = elephant_pasture_04 can_construct = { @@ -11820,7 +11820,7 @@ elephant_pasture_05 = { } elephant_pasture_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = elephant_pasture_05 can_construct = { @@ -11904,7 +11904,7 @@ elephant_pasture_06 = { ### Grain Fields grain_field_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } cost = { gold = { @@ -12037,7 +12037,7 @@ grain_field_01 = { } grain_field_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = grain_field_01 cost = { @@ -12160,7 +12160,7 @@ grain_field_02 = { } grain_field_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = grain_field_02 can_construct = { @@ -12288,7 +12288,7 @@ grain_field_03 = { } grain_field_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = grain_field_03 can_construct = { @@ -12416,7 +12416,7 @@ grain_field_04 = { } grain_field_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = grain_field_04 can_construct = { @@ -12544,7 +12544,7 @@ grain_field_05 = { } grain_field_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = grain_field_05 can_construct = { @@ -12674,7 +12674,7 @@ grain_field_06 = { ### Rice Fields rice_field_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } @@ -12748,7 +12748,7 @@ rice_field_01 = { rice_field_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = rice_field_01 cost = { @@ -12821,7 +12821,7 @@ rice_field_02 = { rice_field_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = rice_field_02 can_construct = { @@ -12898,7 +12898,7 @@ rice_field_03 = { rice_field_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = rice_field_03 can_construct = { @@ -12975,7 +12975,7 @@ rice_field_04 = { rice_field_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = rice_field_04 can_construct = { @@ -13052,7 +13052,7 @@ rice_field_05 = { rice_field_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = rice_field_05 can_construct = { @@ -13130,7 +13130,7 @@ rice_field_06 = { ### Vineyard vineyard_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } cost = { gold = { @@ -13242,7 +13242,7 @@ vineyard_01 = { } vineyard_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = vineyard_01 cost = { @@ -13345,7 +13345,7 @@ vineyard_02 = { } vineyard_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = vineyard_02 can_construct = { @@ -13451,7 +13451,7 @@ vineyard_03 = { } vineyard_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = vineyard_03 can_construct = { @@ -13557,7 +13557,7 @@ vineyard_04 = { } vineyard_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = vineyard_04 can_construct = { @@ -13663,7 +13663,7 @@ vineyard_05 = { } vineyard_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = vineyard_05 can_construct = { @@ -13771,7 +13771,7 @@ vineyard_06 = { ### Tea Plantation tea_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } can_construct_potential = { culture ?= { has_innovation = innovation_champa_rice } @@ -13853,7 +13853,7 @@ tea_01 = { } tea_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = tea_01 cost = { @@ -13929,7 +13929,7 @@ tea_02 = { } tea_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = tea_02 can_construct = { @@ -14008,7 +14008,7 @@ tea_03 = { } tea_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = tea_03 can_construct = { @@ -14083,7 +14083,7 @@ tea_04 = { } tea_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = tea_04 can_construct = { @@ -14158,7 +14158,7 @@ tea_05 = { } tea_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = tea_05 can_construct = { @@ -14235,7 +14235,7 @@ tea_06 = { ### Olive Plantation olive_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } cost = { gold = { @@ -14344,7 +14344,7 @@ olive_01 = { } olive_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = olive_01 cost = { @@ -14444,7 +14444,7 @@ olive_02 = { } olive_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = olive_02 can_construct = { @@ -14548,7 +14548,7 @@ olive_03 = { } olive_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = olive_03 can_construct = { @@ -14652,7 +14652,7 @@ olive_04 = { } olive_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = olive_04 can_construct = { @@ -14757,7 +14757,7 @@ olive_05 = { } olive_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = olive_05 can_construct = { @@ -14864,7 +14864,7 @@ olive_06 = { ### Silk Production - Byzantine exclusive silk_01 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } can_construct = { custom_tooltip = { @@ -14940,7 +14940,7 @@ silk_01 = { } silk_02 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = silk_01 can_construct = { @@ -15020,7 +15020,7 @@ silk_02 = { } silk_03 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = silk_02 can_construct = { @@ -15101,7 +15101,7 @@ silk_03 = { } silk_04 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = silk_03 can_construct = { @@ -15183,7 +15183,7 @@ silk_04 = { } silk_05 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = silk_04 can_construct = { @@ -15265,7 +15265,7 @@ silk_05 = { } silk_06 = { construction_time = 730 - allowed_domicile_types = { estate } + allowed_domicile_types = { estate palace } previous_building = silk_05 can_construct = { diff --git a/common/domiciles/types/NEOW_domicile_types.txt b/common/domiciles/types/NEOW_domicile_types.txt index 2d413efa..ebca1a15 100644 --- a/common/domiciles/types/NEOW_domicile_types.txt +++ b/common/domiciles/types/NEOW_domicile_types.txt @@ -1,4 +1,922 @@ +palace = { + + rename_window = house + + illustration = "gfx/interface/illustrations/event_scenes/ep3_medi_estate.dds" + icon = "gfx/interface/icons/flat_icons/estate.dds" + map_pin_texture = "gfx/interface/icons/map_icons/map_icon_estate.dds" + map_pin_anchor = left + map_pin_lobby = yes + + can_move_manually = yes + move_cooldown = { days = estate_move_cooldown_value } + move_cost = { + gold = { + value = { + value = 20 + format = "BASE_VALUE_FORMAT" + desc = "BASE_VALUE" + } + if = { + limit = { + domicile ?= { has_domicile_building_or_higher = estate_main_05 } + } + add = 80 + } + else_if = { + limit = { + domicile ?= { has_domicile_building_or_higher = estate_main_04 } + } + add = 60 + } + else_if = { + limit = { + domicile ?= { has_domicile_building_or_higher = estate_main_03 } + } + add = 40 + } + else_if = { + limit = { + domicile ?= { has_domicile_building_or_higher = estate_main_02 } + } + add = 20 + } + } + } + + base_external_slots = 2 + + domicile_building_slots = { + external_slot_1 = { + position = { 19.7% 5.5% } + size = { 15% 30% } + + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_01_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_jungle_empty_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_02_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_drylands_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = mountains + terrain = hills + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_rough_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_05_mask.png" + } + + + # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + + external_slot_4 = { + position = { 49.0% 2.5% } + size = { 15% 30% } + + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_04_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_jungle_empty_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_05_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_drylands_empty_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_03_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = mountains + terrain = hills + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_rough_empty_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_03_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_03_mask.png" + } + + + # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + + main_slot = { + slot_type = main + position = { 28.2% 13.2% } + size = { 28% 34.5% } + + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_01_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = hills + terrain = mountains + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + } + + # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_manor_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_manor_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_western_mask.png" + } + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_manor_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_byzantine_mask.png" + } + } + + external_slot_2 = { + position = { 4% 20% } + size = { 15% 30% } + + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_02_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_jungle_empty_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_06_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_drylands_empty_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_06_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = mountains + terrain = hills + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_rough_empty_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_06_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_06_mask.png" + } + + + # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + + external_slot_3 = { + position = { 14% 46% } + size = { 15% 30% } + + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_03_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_jungle_empty_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_04_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_drylands_empty_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_04_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = mountains + terrain = hills + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_rough_empty_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_04_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_04_mask.png" + } + + + # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + + external_slot_5 = { + position = { 64% 29% } + size = { 15% 30% } + + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_05_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_jungle_empty_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_03_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_drylands_empty_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_05_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = mountains + terrain = hills + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_rough_empty_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_02_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_02_mask.png" + } + + + # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + + external_slot_6 = { + position = { 43% 52% } + size = { 15% 30% } + + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_06_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_jungle_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_drylands_empty_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_02_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = mountains + terrain = hills + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_rough_empty_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_05_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_mask.png" + } + + + # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + } + + # Backgrounds + domicile_asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + background = "gfx/interface/window_domiciles/estate_background_steppe_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_steppe_terrain_foreground.dds" + ambience = "event:/DLC/CE2/Ambience/2D/Domicile/ce2_amb_2d_domicile_yurt" + } + + domicile_asset = { + trigger = { + domicile_location = { + this = root.owner.top_liege.capital_province + } + } + background = "gfx/interface/window_domiciles/estate_background_urban_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_urban_terrain_foreground.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_byzantine_urban" + } + + domicile_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + background = "gfx/interface/window_domiciles/estate_background_jungle_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_jungle_terrain_foreground.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_wetlands" + } + + domicile_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + background = "gfx/interface/window_domiciles/estate_background_dry_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_dry_terrain_foreground.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_dry_lands" + } + + domicile_asset = { + trigger = { + domicile_location = { + OR = { + terrain = tells + terrain = hills + terrain = mountains + terrain = terraced_hills + } + } + } + background = "gfx/interface/window_domiciles/estate_background_rough_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_rough_terrain_foreground.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_rough_lands" + } + + domicile_asset = { + background = "gfx/interface/window_domiciles/estate_background_green_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_green_terrain_foreground.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_green_lands" + } +} minority_community = { rename_window = primary_title diff --git a/common/game_concepts/neow_game_concepts.txt b/common/game_concepts/neow_game_concepts.txt index 63b01fe3..ff136535 100644 --- a/common/game_concepts/neow_game_concepts.txt +++ b/common/game_concepts/neow_game_concepts.txt @@ -35,4 +35,19 @@ peasantrepublic_government = { texture = "gfx/interface/icons/government_types/peasantrepublic_government.dds" alias = { peasantrepublic_government peasantrepublic_i } parent = government +} +palace = { + texture = "gfx/interface/icons/map_icons/map_icon_urban.dds" + alias = { palace palace_i } + parent = domicile +} +urbanrepublic_government = { + texture = "gfx/interface/icons/government_types/urbanrepublic_government.dds" + alias = { urbanrepublic_government urbanrepublic_i } + parent = government +} +monotown_holding = { + texture = "gfx/interface/icons/map_icons/onmap_holding_icon.dds" + parent = domicile + alias = { monotown_holdings } } \ No newline at end of file diff --git a/common/governments/00_government_types.txt b/common/governments/00_government_types.txt index c2d8d7ab..b79d88e5 100644 --- a/common/governments/00_government_types.txt +++ b/common/governments/00_government_types.txt @@ -24,7 +24,7 @@ feudal_government = { use_legends = yes } character_modifier = { - ai_war_cooldown = 1.5 + ai_war_cooldown = 2 ai_war_chance = -0.15 } # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). @@ -59,12 +59,23 @@ republic_government = { has_cultural_tradition = tradition_farmer_republics } faith = { - has_doctrine = tenet_communal_possessions + has_doctrine = tenet_egalite } liege = { has_government = peasantrepublic_government } } + NOR = { + culture = { + has_cultural_tradition = tradition_republican_legacy + } + faith = { + has_doctrine = tenet_egalite + } + liege = { + has_government = urbanrepublic_government + } + } } ai = { arrange_marriage = no @@ -193,7 +204,7 @@ clan_government = { } character_modifier = { - ai_war_cooldown = 1.5 + ai_war_cooldown = 2 ai_war_chance = -0.15 } # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). @@ -249,7 +260,7 @@ tribal_government = { character_travel_safety = 10 monthly_prestige = 0.2 - ai_war_cooldown = 1.5 + ai_war_cooldown = 2 ai_war_chance = -0.05 } @@ -311,7 +322,7 @@ wanua_government = { # "Wanua" domain_limit_max = 2 vassal_limit_max = 2 - ai_war_cooldown = 1.5 + ai_war_cooldown = 2 ai_war_chance = -0.55 } @@ -465,7 +476,7 @@ administrative_government = { # Vassals get Treasury income that is this percentage less than their taxes to their liege monthly_treasury_from_liege_mult = -0.15 - ai_war_cooldown = 1.5 + ai_war_cooldown = 2 ai_war_chance = -0.15 } @@ -655,6 +666,7 @@ peasantrepublic_government = { sticky_government = yes replenishes_county_fertility = yes regiments_use_barter_goods_as_gold = yes + inherit_from_dynastic_government = no } can_get_government = { @@ -669,6 +681,17 @@ peasantrepublic_government = { has_government = peasantrepublic_government } } + NOR = { + culture = { + has_cultural_tradition = tradition_republican_legacy + } + faith = { + has_doctrine = tenet_egalite + } + liege = { + has_government = urbanrepublic_government + } + } } domicile_type = farmstead character_modifier = { @@ -685,7 +708,7 @@ peasantrepublic_government = { mercenary_hire_cost_mult = 2 men_at_arms_maintenance = 1.5 vassal_limit = 5 - ai_war_cooldown = 1.5 + ai_war_cooldown = 2 ai_war_chance = -0.15 } vassal_contract_group = peasantrepublic_vassal @@ -709,6 +732,84 @@ peasantrepublic_government = { realm_mask_offset = { 0.0 -0.01 } realm_mask_scale = { 1 1 } } +urbanrepublic_government = { + primary_holding = city_holding + valid_holdings = { temple_citadel_holding monotown_holding } + required_county_holdings = { city_holding church_holding monotown_holding } + government_rules = { + create_cadet_branches = yes + court_generate_spouses = yes + council = yes + always_use_patronym = yes + rulers_should_have_dynasty = yes + landless_playable = yes + legitimacy = yes + barter = yes + mercenary = yes + use_as_base_on_landed = yes + allow_out_of_realm_inheritance = no + use_as_base_on_rank_up = yes + sticky_government = yes + inherit_from_dynastic_government = no + treasury = yes + replace_gold_cost_by_treasury = yes + regiments_use_barter_goods_as_gold = yes + } + + can_get_government = { + OR = { + culture = { + has_cultural_tradition = tradition_republican_legacy + } + faith = { + has_doctrine = tenet_egalite + } + liege = { + has_government = urbanrepublic_government + } + } + } + domicile_type = palace + character_modifier = { + feudal_government_tax_contribution_mult = -0.5 + feudal_government_levy_contribution_mult = -0.5 + clan_government_tax_contribution_mult = -0.5 + clan_government_levy_contribution_mult = -0.5 + ignore_negative_opinion_of_culture = yes + men_at_arms_cap = 2 + men_at_arms_limit = 2 + knight_limit = -4 + active_accolades = -1 + title_creation_cost_mult = 1.5 + mercenary_hire_cost_mult = -0.25 + men_at_arms_maintenance = 2 + vassal_limit = 5 + ai_war_cooldown = 2 + ai_war_chance = -0.15 + monthly_treasury_from_vassals = 0.85 + } + vassal_contract_group = urbanrepublic_vassal + + # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). + flags = { + government_has_influence + government_is_settled + government_has_treasury + may_elevate_co_monarch + government_uses_legitimacy + government_uses_domain_limit + government_uses_monotowns + government_is_barterer + government_is_urepublic + government_locked_to_elective + government_allows_nomad_domicile_titles + } + + mechanic_type = feudal + color = { 0 85 164 } + realm_mask_offset = { 0.0 -0.01 } + realm_mask_scale = { 1 1 } +} ### Brief: nomad_government # Default nomad government, used for the Steppe Region # @@ -911,7 +1012,7 @@ celestial_government = { # Vassals get Treasury income that is this percentage less than their taxes to their liege monthly_treasury_from_liege_mult = -0.25 - ai_war_cooldown = 1.5 + ai_war_cooldown = 2 ai_war_chance = -0.15 } diff --git a/common/holdings/00_holdings.txt b/common/holdings/00_holdings.txt index 72c1bd06..1ab65ced 100644 --- a/common/holdings/00_holdings.txt +++ b/common/holdings/00_holdings.txt @@ -204,6 +204,16 @@ church_holding = { can_be_inherited = yes } +monotown_holding = { + primary_building = monotown_01 + can_be_inherited = yes + required_heir_government_types = { urbanrepublic_government } + + parameters = { + no_buildings + } + can_be_inherited = yes +} nomad_holding = { primary_building = nomadic_camp_01 diff --git a/common/laws/00_succession_laws.txt b/common/laws/00_succession_laws.txt index e7e4abea..e53c1b25 100644 --- a/common/laws/00_succession_laws.txt +++ b/common/laws/00_succession_laws.txt @@ -40,8 +40,9 @@ } is_confederation_member = no } - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } should_start_with = { @@ -86,6 +87,7 @@ potential = { NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic government_has_flag = government_is_nomadic government_has_flag = government_is_clan government_has_flag = government_is_administrative @@ -130,8 +132,9 @@ is_confederation_member = yes } } - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } should_start_with = { @@ -177,6 +180,7 @@ potential = { NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic government_has_flag = government_is_nomadic government_has_flag = government_is_clan government_has_flag = government_is_administrative @@ -198,8 +202,9 @@ can_have = { NOT = { government_has_flag = government_is_nomadic } can_have_high_partition_succession_law_trigger = yes - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } should_start_with = { @@ -246,6 +251,7 @@ potential = { NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic government_has_flag = government_is_nomadic government_has_flag = government_is_clan government_has_flag = government_is_administrative @@ -274,11 +280,11 @@ NOT = { exists = var:administrative_ui_special_title.holder } } can_have = { - NOT = { government_has_flag = government_is_nomadic } - can_have_single_heir_succession_law_trigger = yes - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } + can_have_single_heir_succession_law_trigger = yes } can_pass = { can_change_succession_law_trigger = yes @@ -337,8 +343,9 @@ } potential = { - NOR = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic government_has_flag = government_is_nomadic government_has_flag = government_is_mandala } @@ -360,8 +367,9 @@ } can_have = { government_has_flag = government_is_nomadic - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } can_pass = { @@ -414,8 +422,9 @@ can_have = { NOT = { government_has_flag = government_is_nomadic } can_have_single_heir_youngest_succession_law_trigger = yes - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } can_pass = { @@ -497,8 +506,9 @@ can_have = { NOT = { government_has_flag = government_is_nomadic } can_have_single_heir_dynasty_house_trigger = yes - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } can_pass = { @@ -561,8 +571,9 @@ } potential = { - NOR = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic government_has_flag = government_is_administrative government_has_flag = government_is_nomadic government_has_flag = government_is_mandala @@ -580,8 +591,9 @@ can_have = { NOT = { government_has_flag = government_is_nomadic } can_have_acclamation_succession_law_trigger = yes - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } should_start_with = { @@ -616,6 +628,7 @@ is_independent_ruler = yes NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic government_has_flag = government_is_celestial government_has_flag = government_is_japan_administrative government_has_flag = government_is_meritocratic @@ -639,8 +652,9 @@ can_have = { NOT = { government_has_flag = government_is_nomadic } can_have_appointment_succession_law_trigger = yes - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } can_pass = { @@ -706,8 +720,9 @@ } can_have = { government_has_flag = government_is_landless_adventurer - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } can_pass = { @@ -740,14 +755,16 @@ bishop_theocratic_succession_law = { can_keep = { can_have_bishop_theocratic_succession_law_trigger = yes # same as can_have - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } can_have = { can_have_bishop_theocratic_succession_law_trigger = yes - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } should_start_with = { @@ -767,14 +784,16 @@ holy_order_succession_law = { can_keep = { can_have_holy_order_succession_law_trigger = yes # same as can_have - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } can_have = { can_have_holy_order_succession_law_trigger = yes - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } should_start_with = { @@ -814,14 +833,16 @@ city_succession_law = { can_keep = { can_have_city_succession_law_trigger = yes - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } can_have = { can_have_city_succession_law_trigger = yes - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } should_start_with = { @@ -855,8 +876,9 @@ house ?= { has_house_unity_stage = antagonistic } - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } @@ -915,8 +937,9 @@ house ?= { has_house_unity_stage = competitive } - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } should_start_with = { @@ -977,8 +1000,9 @@ house ?= { has_house_unity_stage = impassive } - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } should_start_with = { @@ -1038,8 +1062,9 @@ house ?= { has_house_unity_stage = friendly } - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } should_start_with = { @@ -1093,8 +1118,9 @@ house ?= { has_house_unity_stage = harmonious } - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } should_start_with = { @@ -1134,14 +1160,16 @@ herder_succession_law = { can_keep = { can_have_herder_succession_law_trigger = yes - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } can_have = { can_have_herder_succession_law_trigger = yes - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } should_start_with = { @@ -1180,8 +1208,9 @@ can_have = { government_allows = administrative is_independent_ruler = no - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } can_pass = { diff --git a/common/laws/01_title_succession_laws.txt b/common/laws/01_title_succession_laws.txt index c37630e8..4a294c1d 100644 --- a/common/laws/01_title_succession_laws.txt +++ b/common/laws/01_title_succession_laws.txt @@ -6,6 +6,7 @@ highest_held_title_tier >= tier_county NOR = { #Cultures have their special flavor. government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic culture = { has_cultural_parameter = witenagemot_succession_enabled } culture = { has_cultural_parameter = scandinavian_elective_enabled } culture = { has_cultural_parameter = tribal_elective_enabled } #FP3 addition @@ -38,8 +39,9 @@ government_has_flag = government_is_feudal government_has_flag = government_is_clan } - NOT = { + NOR = { #Cultures have their special flavor. government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } highest_held_title_tier = tier_empire } @@ -104,6 +106,40 @@ } } + urban_elective_succession_law = { + can_have = { + government_has_flag = government_is_urepublic + } + can_pass = { + can_change_title_law_trigger = yes + } + can_title_have = { + tier >= tier_county + is_temporal_head_of_faith_trigger = no + NOT = { + is_nomad_title = yes + } + } + succession = { + order_of_succession = election + election_type = urban_elective + } + should_start_with = { + government_has_flag = government_is_urepublic + } + flag = elective_succession_law + flag = titles_cannot_leave_realm_on_succession + title_allegiance_opinion = 5 + revoke_cost = { + prestige = change_title_succession_law_prestige_cost + } + pass_cost = { + prestige = change_title_succession_law_prestige_cost + } + potential = { + government_has_flag = government_is_urepublic + } + } # Thing scandinavian_elective_succession_law = { can_have = { @@ -112,8 +148,9 @@ government_has_flag = government_is_clan government_has_flag = government_is_tribal } - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } highest_held_title_tier >= tier_duchy } @@ -146,8 +183,9 @@ government_has_flag = government_is_clan government_has_flag = government_is_tribal } - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } highest_held_title_tier >= tier_duchy } @@ -186,8 +224,9 @@ government_has_flag = government_is_clan government_has_flag = government_is_tribal } - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } highest_held_title_tier >= tier_kingdom } @@ -240,6 +279,10 @@ is_nomad_title = yes government_has_flag = government_is_prepublic } + AND = { + is_nomad_title = yes + government_has_flag = government_is_urepublic + } } } should_show_for_title = { # Never show this in the UI, just apply it through script @@ -316,8 +359,9 @@ celestial_ministry_appointment_succession_law = { can_have = { government_has_flag = government_is_celestial - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } can_pass = { @@ -357,8 +401,9 @@ celestial_grand_marshal_appointment_succession_law = { can_have = { government_has_flag = government_is_celestial - NOT = { + NOR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic } } can_pass = { diff --git a/common/legitimacy/00_legitimacy.txt b/common/legitimacy/00_legitimacy.txt index 0ba484b1..c391389f 100644 --- a/common/legitimacy/00_legitimacy.txt +++ b/common/legitimacy/00_legitimacy.txt @@ -6,6 +6,7 @@ count_legitimacy = { is_valid = { highest_held_title_tier = tier_county government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic NOR = { government_allows = administrative government_has_flag = government_is_nomadic diff --git a/common/men_at_arms_types/NEOW_maa_types.txt b/common/men_at_arms_types/NEOW_maa_types.txt index 3f2c7b39..34226375 100644 --- a/common/men_at_arms_types/NEOW_maa_types.txt +++ b/common/men_at_arms_types/NEOW_maa_types.txt @@ -438,6 +438,50 @@ NEOW_militia = { icon = pikemen_militia } +NEOW_citizen_militia = { + type = peasant_militia + + damage = 15 + toughness = 18 + pursuit = 10 + screen = 4 + + terrain_bonus = { + mountains = { toughness = 8 } + desert_mountains = { toughness = 8 } + hills = { toughness = 4 } + farmlands = { toughness = 8 } + floodplains = { toughness = 8 } + terraced_hills = { toughness = 8 } + } + + counters = { + light_cavalry = 1 + heavy_cavalry = 0.5 + camel_cavalry = 1 + } + can_recruit = { + government_has_flag = government_is_urepublic + } + + buy_cost = { gold = militia_recruitment_cost } + low_maintenance_cost = { gold = skirmisher_low_maint_cost } + high_maintenance_cost = { gold = militia_high_maint_cost } + provision_cost = @provisions_cost_infantry_cheap + stack = 150 + ai_quality = { value = culture_ai_weight_skirmishers } + + illustration = { + trigger = { + should_use_asian_maa_graphics = yes + } + reference = pikemen_militia_asia + } + illustration = { + reference = pikemen_militia + } + icon = pikemen_militia +} carabineers = { type = gun_cavalry diff --git a/common/on_action/game_start.txt b/common/on_action/game_start.txt index 272a051b..7f63de6c 100644 --- a/common/on_action/game_start.txt +++ b/common/on_action/game_start.txt @@ -2718,6 +2718,40 @@ on_game_start_after_lobby = { add_title_law = saxon_elective_succession_law } } + if = { + limit = { + government_has_flag = government_is_urepublic + NOT = { + exists = domicile + } + } + save_scope_as = scoped_merchant + create_nomad_title = { + name = domicile_palace + holder = scope:scoped_merchant + government = urbanrepublic_government + save_scope_as = new_title + } + scope:new_title ?= { + add_title_law = noble_family_succession_law + } + } + if = { + limit = { + government_has_flag = government_is_urepublic + primary_title = { + NOT = { + has_title_law = urban_elective_succession_law + } + } + } + every_held_title = { + limit = { + title_tier > barony + } + add_title_law = urban_elective_succession_law + } + } # Extra Nomad Regions #Tibet diff --git a/common/on_action/title_on_actions.txt b/common/on_action/title_on_actions.txt index 394bc1fa..a6a88054 100644 --- a/common/on_action/title_on_actions.txt +++ b/common/on_action/title_on_actions.txt @@ -231,6 +231,40 @@ on_title_gain = { add_title_law = saxon_elective_succession_law } } + if = { + limit = { + government_has_flag = government_is_urepublic + NOT = { + exists = domicile + } + } + save_scope_as = scoped_merchant + create_nomad_title = { + name = domicile_palace + holder = scope:scoped_merchant + government = urbanrepublic_government + save_scope_as = new_title + } + scope:new_title ?= { + add_title_law = noble_family_succession_law + } + } + if = { + limit = { + government_has_flag = government_is_urepublic + primary_title = { + NOT = { + has_title_law = urban_elective_succession_law + } + } + } + every_held_title = { + limit = { + title_tier > barony + } + add_title_law = urban_elective_succession_law + } + } if = { limit = { scope:title.tier = tier_county @@ -2865,6 +2899,40 @@ on_title_gain_inheritance = { add_title_law = saxon_elective_succession_law } } + if = { + limit = { + government_has_flag = government_is_urepublic + NOT = { + exists = domicile + } + } + save_scope_as = scoped_merchant + create_nomad_title = { + name = domicile_palace + holder = scope:scoped_merchant + government = urbanrepublic_government + save_scope_as = new_title + } + scope:new_title ?= { + add_title_law = noble_family_succession_law + } + } + if = { + limit = { + government_has_flag = government_is_urepublic + primary_title = { + NOT = { + has_title_law = urban_elective_succession_law + } + } + } + every_held_title = { + limit = { + title_tier > barony + } + add_title_law = urban_elective_succession_law + } + } if = { limit = { government = landless_minority_government @@ -2949,6 +3017,40 @@ on_title_gain_usurpation = { add_title_law = saxon_elective_succession_law } } + if = { + limit = { + government_has_flag = government_is_urepublic + NOT = { + exists = domicile + } + } + save_scope_as = scoped_merchant + create_nomad_title = { + name = domicile_palace + holder = scope:scoped_merchant + government = urbanrepublic_government + save_scope_as = new_title + } + scope:new_title ?= { + add_title_law = noble_family_succession_law + } + } + if = { + limit = { + government_has_flag = government_is_urepublic + primary_title = { + NOT = { + has_title_law = urban_elective_succession_law + } + } + } + every_held_title = { + limit = { + title_tier > barony + } + add_title_law = urban_elective_succession_law + } + } if = { limit = { government = landless_minority_government diff --git a/common/on_action/yearly_on_actions.txt b/common/on_action/yearly_on_actions.txt index 683ade37..792c566b 100644 --- a/common/on_action/yearly_on_actions.txt +++ b/common/on_action/yearly_on_actions.txt @@ -789,6 +789,40 @@ yearly_playable_pulse = { add_title_law = saxon_elective_succession_law } } + if = { + limit = { + government_has_flag = government_is_urepublic + NOT = { + exists = domicile + } + } + save_scope_as = scoped_merchant + create_nomad_title = { + name = domicile_palace + holder = scope:scoped_merchant + government = urbanrepublic_government + save_scope_as = new_title + } + scope:new_title ?= { + add_title_law = noble_family_succession_law + } + } + if = { + limit = { + government_has_flag = government_is_urepublic + primary_title = { + NOT = { + has_title_law = urban_elective_succession_law + } + } + } + every_held_title = { + limit = { + title_tier > barony + } + add_title_law = urban_elective_succession_law + } + } if = { limit = { has_title = title:k_papal_state @@ -2742,6 +2776,40 @@ quarterly_playable_pulse = { add_title_law = saxon_elective_succession_law } } + if = { + limit = { + government_has_flag = government_is_urepublic + NOT = { + exists = domicile + } + } + save_scope_as = scoped_merchant + create_nomad_title = { + name = domicile_palace + holder = scope:scoped_merchant + government = urbanrepublic_government + save_scope_as = new_title + } + scope:new_title ?= { + add_title_law = noble_family_succession_law + } + } + if = { + limit = { + government_has_flag = government_is_urepublic + primary_title = { + NOT = { + has_title_law = urban_elective_succession_law + } + } + } + every_held_title = { + limit = { + title_tier > barony + } + add_title_law = urban_elective_succession_law + } + } } on_actions = { realm_maintenance_quarterly_pulse diff --git a/common/scripted_triggers/00_available_for_events_triggers.txt b/common/scripted_triggers/00_available_for_events_triggers.txt index 5fef1d0f..3301213f 100644 --- a/common/scripted_triggers/00_available_for_events_triggers.txt +++ b/common/scripted_triggers/00_available_for_events_triggers.txt @@ -908,6 +908,7 @@ is_landed_or_landless_administrative = { is_playable_character = { OR = { government_has_flag = government_is_prepublic + government_has_flag = government_is_urepublic is_landed = yes is_landless_administrative = yes is_landless_adventurer = yes diff --git a/common/subject_contracts/contracts/urban_republic_obligations.txt b/common/subject_contracts/contracts/urban_republic_obligations.txt new file mode 100644 index 00000000..e42ef42c --- /dev/null +++ b/common/subject_contracts/contracts/urban_republic_obligations.txt @@ -0,0 +1,156 @@ +urbanrepublic_obligations = { + uses_opinion_of_liege = yes + obligation_levels = { + default = { + levies = { + value = 0.1 + max = 1 + scope:liege = { + add = { + value = 0.1 + multiply = legitimacy_level + } + } + scope:liege = { + add = { + value = 0.1 + multiply = prestige_level + } + } + scope:liege = { + add = { + value = 0.1 + multiply = piety_level + } + } + scope:liege = { + add = { + value = 0.1 + multiply = dynasty_prestige_level + } + } + + if = { + limit = { OR = { scope:opinion_of_liege > 0 scope:opinion_of_liege < 0} } + add = { + value = { + add = scope:opinion_of_liege + divide = 100 + } + } + } + } + tax = { + value = 0.1 + max = 1 + scope:liege = { + add = { + value = 0.1 + multiply = legitimacy_level + } + } + scope:liege = { + add = { + value = 0.1 + multiply = prestige_level + } + } + scope:liege = { + add = { + value = 0.1 + multiply = piety_level + } + } + scope:liege = { + add = { + value = 0.1 + multiply = dynasty_prestige_level + } + } + if = { + limit = { OR = { scope:opinion_of_liege > 0 scope:opinion_of_liege < 0} } + add = { + value = { + add = scope:opinion_of_liege + divide = 100 + } + } + } + } + barter_goods = { + value = 0.1 + max = 1 + scope:liege = { + add = { + value = 0.1 + multiply = legitimacy_level + } + } + scope:liege = { + add = { + value = 0.1 + multiply = prestige_level + } + } + scope:liege = { + add = { + value = 0.1 + multiply = piety_level + } + } + scope:liege = { + add = { + value = 0.1 + multiply = dynasty_prestige_level + } + } + if = { + limit = { OR = { scope:opinion_of_liege > 0 scope:opinion_of_liege < 0} } + add = { + value = { + add = scope:opinion_of_liege + divide = 100 + } + } + } + } + herd = { + value = 0.1 + max = 1 + scope:liege = { + add = { + value = 0.1 + multiply = legitimacy_level + } + } + scope:liege = { + add = { + value = 0.1 + multiply = prestige_level + } + } + scope:liege = { + add = { + value = 0.1 + multiply = piety_level + } + } + scope:liege = { + add = { + value = 0.1 + multiply = dynasty_prestige_level + } + } + if = { + limit = { OR = { scope:opinion_of_liege > 0 scope:opinion_of_liege < 0} } + add = { + value = { + add = scope:opinion_of_liege + divide = 100 + } + } + } + } + } + } +} diff --git a/common/subject_contracts/groups/subject_contract_groups.txt b/common/subject_contracts/groups/subject_contract_groups.txt index 2f38ad5c..118b12c0 100644 --- a/common/subject_contracts/groups/subject_contract_groups.txt +++ b/common/subject_contracts/groups/subject_contract_groups.txt @@ -30,6 +30,17 @@ peasantrepublic_vassal = { coinage_rights } } +urbanrepublic_vassal = { + contracts = { + urbanrepublic_obligations + war_declaration_rights + council_rights + title_revocation_rights + religious_rights + fortification_rights + coinage_rights + } +} theocracy_vassal ={ diff --git a/common/succession_election/04_saxon_elective.txt b/common/succession_election/04_saxon_elective.txt index b720b69b..eb275e46 100644 --- a/common/succession_election/04_saxon_elective.txt +++ b/common/succession_election/04_saxon_elective.txt @@ -182,3 +182,180 @@ saxon_elective = { #Farmer Elective } } } + +urban_elective = { #Urban Elective + elector_vote_strength = { + base = 1 + modifier = { #Each voter is the "representative" of all the free men living in his domain. The larger the domain, the more voting power he has. + desc = tooltip_scandinavian_elective_development + is_landed_or_landless_administrative = yes + domain_size >= 1 + any_held_title = { + title_tier = county + development_level > 0 + target_is_de_jure_liege_or_above = scope:title + } + add = { + every_held_title = { + title_tier = county + limit = { + development_level > 0 + target_is_de_jure_liege_or_above = scope:title + } + add = { + value = this.development_level + if = { + limit = { + this.faith != root.faith + } + divide = 2 + } + if = { + limit = { + NOT = { this.culture = { has_same_culture_heritage = root.culture } } + } + divide = 2 + } + min = 1 + } + } + } + } + modifier = { #Further boost/reduction is given depending on capital county's opinion. + desc = tooltip_scandinavian_elective_capital_opinion + is_landed_or_landless_administrative = yes + exists = capital_county + OR = { + capital_county.county_opinion <= -5 + capital_county.county_opinion >= 5 + } + add = { + value = capital_county.county_opinion + multiply = 0.2 + } + } + min = 1 + } + + electors = { + add = holder + add = { + type = title_dejure_vassals + limit = { + is_vassal_of = scope:holder #All direct de jure vassals, no matter the tier. + is_adult = yes + NOT = { has_trait = incapable } + } + } + add = { + type = holder_council_members + limit = { + is_adult = yes + OR = { + is_courtier_of = scope:holder + is_vassal_of = scope:holder #All direct de jure vassals, no matter the tier. + } + NOT = { has_trait = incapable } + } + } + add = { + type = holder_direct_vassals + limit = { + is_vassal_of = scope:holder #All direct de jure vassals, no matter the tier. + is_adult = yes + NOT = { has_trait = incapable } + } + } + } + + candidate_score = { + base = 0 + ###################### Elector self-voting pattern ########################## + elector_self_voting_pattern_feudal_elective_modifier = yes + + ########################## Holder voting pattern ########################## + holder_voting_pattern_feudal_elective_modifier = yes + + ########################## Elector voting patterns (circumstances) ########################## + elector_voting_pattern_circumstances_feudal_elective_modifier = yes + elector_voting_pattern_circumstances_saxon_elective_modifier = yes + + ########################## Elector voting patterns (prestige/piety) ########################## + elector_voting_pattern_prestige_piety_feudal_elective_modifier = yes + + ########################## Elector voting patterns (traits) ########################## + elector_voting_pattern_traits_feudal_elective_modifier = yes + + ########################## Elector voting patterns (opinion) ########################## + elector_voting_pattern_opinion_feudal_elective_modifier = yes + + ########################## Elector voting patterns (misc) ########################## + elector_voting_pattern_circumstances_misc_elective_modifier = yes + } + + #scope:candidate = Candidate, scope:title = Title, scope:holder_candidate = Candidate currently selected by ruler. + candidates = { + add = { + type = title_dejure_vassals + limit = { + is_vassal_of = scope:holder #Only Powerful, direct, de jure vassals are potential candidates. + feudal_elective_potential_landed_candidate_trigger = yes + government_has_flag = government_is_urepublic + OR = { + culture = { + has_cultural_tradition = tradition_republican_legacy + } + faith = { + has_doctrine = tenet_egalite + } + } + } + } + add = { + type = holder_close_or_extended_family + limit = { + feudal_elective_potential_landless_dynastic_candidate_trigger = yes + OR = { + culture = { + has_cultural_tradition = tradition_republican_legacy + } + faith = { + has_doctrine = tenet_egalite + } + } + } + } + add = { + type = holder_direct_vassals + limit = { + is_vassal_of = scope:holder #Only Powerful, direct, de jure vassals are potential candidates. + government_has_flag = government_is_urepublic + OR = { + culture = { + has_cultural_tradition = tradition_republican_legacy + } + faith = { + has_doctrine = tenet_egalite + } + } + } + } + add = { + type = holder_council_members + limit = { + OR = { + is_courtier_of = scope:holder + is_vassal_of = scope:holder #All direct de jure vassals, no matter the tier. + } + OR = { + culture = { + has_cultural_tradition = tradition_republican_legacy + } + faith = { + has_doctrine = tenet_egalite + } + } + } + } + } +} diff --git a/gfx/interface/coat_of_arms/Mural_crown_kingdom_115.dds b/gfx/interface/coat_of_arms/Mural_crown_kingdom_115.dds new file mode 100644 index 00000000..00e8f6f4 --- /dev/null +++ b/gfx/interface/coat_of_arms/Mural_crown_kingdom_115.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fa0cbac3fb325057cf3e65f179c004f3ba387951a1c7d70eab914d66e9e9114a +size 5248 diff --git a/gfx/interface/coat_of_arms/Mural_crown_kingdom_28.dds b/gfx/interface/coat_of_arms/Mural_crown_kingdom_28.dds new file mode 100644 index 00000000..2073b6f1 --- /dev/null +++ b/gfx/interface/coat_of_arms/Mural_crown_kingdom_28.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:fe096468b7de636949c451602525eff1f1783619a1ba2e528e4a5642c7d01a29 +size 448 diff --git a/gfx/interface/coat_of_arms/Mural_crown_kingdom_44.dds b/gfx/interface/coat_of_arms/Mural_crown_kingdom_44.dds new file mode 100644 index 00000000..75bc5f5c --- /dev/null +++ b/gfx/interface/coat_of_arms/Mural_crown_kingdom_44.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0355960883474b06d8edfd0402f3d1ca01edf60c77608b97e3230856e9dd3168 +size 1064 diff --git a/gfx/interface/coat_of_arms/Mural_crown_kingdom_62.dds b/gfx/interface/coat_of_arms/Mural_crown_kingdom_62.dds new file mode 100644 index 00000000..68697cc1 --- /dev/null +++ b/gfx/interface/coat_of_arms/Mural_crown_kingdom_62.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:57d7912e5a3af99fa82a141326eb720ceb42e698466d279051bdb160300fccd7 +size 1408 diff --git a/gfx/interface/coat_of_arms/Mural_crown_kingdom_86.dds b/gfx/interface/coat_of_arms/Mural_crown_kingdom_86.dds new file mode 100644 index 00000000..e748ed0e --- /dev/null +++ b/gfx/interface/coat_of_arms/Mural_crown_kingdom_86.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8ccdcd11602fb17693c74a5c704392ed9c3e8f95ac5f3254978d1f515caa59e7 +size 3008 diff --git a/gfx/interface/icons/domicile_building/farmstead_main - Copy.dds b/gfx/interface/icons/domicile_building/farmstead_main - Copy.dds new file mode 100644 index 00000000..a50134a3 --- /dev/null +++ b/gfx/interface/icons/domicile_building/farmstead_main - Copy.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cda578d1fa3a6265fe602ebf27c202aaf633db83fdab0e92ea278b726751687b +size 21472 diff --git a/gfx/interface/icons/flat_icons/urbaner.dds b/gfx/interface/icons/flat_icons/urbaner.dds new file mode 100644 index 00000000..b35f020f --- /dev/null +++ b/gfx/interface/icons/flat_icons/urbaner.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:789d1c5f03886a071b1a66c7f322c43175fb699ef855137c35c1519b6bcc91a2 +size 5104 diff --git a/gfx/interface/icons/government_types/urbanrepublic_government.dds b/gfx/interface/icons/government_types/urbanrepublic_government.dds new file mode 100644 index 00000000..8079cace --- /dev/null +++ b/gfx/interface/icons/government_types/urbanrepublic_government.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cde2af598be2a9c7f3c02233845885f3b54c26800e2f22cf41126e00f837bc2e +size 7120 diff --git a/gfx/interface/icons/holding_types_tab/monotown_holding.dds b/gfx/interface/icons/holding_types_tab/monotown_holding.dds new file mode 100644 index 00000000..07824cd4 --- /dev/null +++ b/gfx/interface/icons/holding_types_tab/monotown_holding.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5261fb6884b503a514f2e45fa2765f4fad6acab6ad4796ecb413fa82fad6323f +size 6032 diff --git a/gfx/interface/icons/icon_holding_monotown.dds b/gfx/interface/icons/icon_holding_monotown.dds new file mode 100644 index 00000000..1e4ad0c2 --- /dev/null +++ b/gfx/interface/icons/icon_holding_monotown.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:88521d38895b462f73546c41e028da1d40daa7f62c855e919aea15089bf76e11 +size 5104 diff --git a/gfx/interface/icons/map_icons/map_icon_urban.dds b/gfx/interface/icons/map_icons/map_icon_urban.dds new file mode 100644 index 00000000..e96f01ca --- /dev/null +++ b/gfx/interface/icons/map_icons/map_icon_urban.dds @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:08433d74abc586ccf0cbce90a059425f399f37b6c7322797c45c91237d027cd2 +size 8768 diff --git a/gui/hud.gui b/gui/hud.gui index 5b219995..300e92eb 100644 --- a/gui/hud.gui +++ b/gui/hud.gui @@ -6476,7 +6476,7 @@ types HUD widget = { name = "influence" datacontext = "[InGameTopbar.GetInfluenceItem]" - visible = "[GetPlayer.GetGovernment.HasRule( 'administrative' )]" + visible = "[GetPlayer.GetGovernment.HasGovernmentFlag( 'government_has_influence')]" size = { 112 70 } widget = { diff --git a/gui/texticons.gui b/gui/texticons.gui index 687ede1f..b2bfc8d3 100644 --- a/gui/texticons.gui +++ b/gui/texticons.gui @@ -4643,6 +4643,25 @@ texticon = { fontsize = 16 } } + +texticon = { + icon = government_type_urbanrepublic + iconsize = { + texture = "gfx/interface/icons/government_types/urbanrepublic_government.dds" + size = { 28 28 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = domicile_palace_icon + iconsize = { + texture = "gfx/interface/icons/government_types/urbanrepublic_government.dds" + size = { 28 28 } + offset = { 0 6 } + fontsize = 16 + } +} texticon = { icon = government_type_celestial iconsize = { diff --git a/history/provinces/e_italy.txt b/history/provinces/e_italy.txt index ebe414ec..ef8acf5b 100644 --- a/history/provinces/e_italy.txt +++ b/history/provinces/e_italy.txt @@ -258,10 +258,10 @@ holding = castle_holding } 2533 = { - holding = none + holding = monotown_holding } 2490 = { - holding = none + holding = monotown_holding } ###c_ferrara 2527 = { @@ -672,7 +672,7 @@ 2543 = { culture = tuscan religion = roman_catholic - holding = castle_holding + holding = city_holding special_building = duomo_florence_n3ow_01 1066.1.1 = { buildings = { @@ -684,7 +684,7 @@ 2559 = { holding = none 1178.1.1 = { - holding = city_holding + holding = monotown_holding } } 2551 = { @@ -700,7 +700,7 @@ 2537 = { culture = tuscan religion = roman_catholic - holding = castle_holding + holding = city_holding } 2561 = { holding = church_holding @@ -709,7 +709,7 @@ 2554 = { culture = tuscan religion = roman_catholic - holding = castle_holding + holding = city_holding } 2564 = { holding = city_holding @@ -724,7 +724,7 @@ 2560 = { culture = tuscan religion = roman_catholic - holding = castle_holding + holding = city_holding special_building = siena_university_01 } 2565 = { @@ -741,13 +741,13 @@ } } 2558 = { - holding = castle_holding + holding = city_holding culture = tuscan religion = roman_catholic } ###c_pisa 2557 = { - holding = castle_holding + holding = city_holding culture = tuscan religion = roman_catholic } @@ -767,7 +767,7 @@ 2538 = { culture = tuscan religion = roman_catholic - holding = castle_holding + holding = city_holding } 2545 = { holding = none @@ -779,7 +779,7 @@ 2569 = { culture = tuscan religion = roman_catholic - holding = castle_holding + holding = city_holding } 2562 = { holding = none diff --git a/localization/english/replace/council_tasks_l_english.yml b/localization/english/replace/council_tasks_l_english.yml index 92e611df..202e13ec 100644 --- a/localization/english/replace/council_tasks_l_english.yml +++ b/localization/english/replace/council_tasks_l_english.yml @@ -338,10 +338,25 @@ DEVELOP_COUNTY_PERK_BONUS_VALUE:1 "$planned_cultivation_perk_name$" STEWARD_PROMOTE_CULTURE_COMMUNAL_IDENTITY_BONUS_MODIFIER:2 "[councillor_liege.GetFaith.GetName] — Communal Identity" STEWARD_PROMOTE_CULTURE_EASIER_TO_CONVERT_CULTURE_IN_SAME_FAITH_MOUNTAINS_BONUS:0 "[councillor_liege.GetFaith.GetName] — [GetFaithDoctrine('tenet_cthonic_redoubts').GetBaseName] in Mountains" + COURT_CHAPLAIN_CONVERSION_HARDER_TO_CONVERT_FAITH_AWAY_IN_HILLS_FORESTS_MALUS_MODIFIER:0 "[councillor_liege.GetFaith.GetName] — [GetFaithDoctrine('against_all_odds').GetBaseName] in Hills and Forests" STEWARD_PROMOTE_CULTURE_INNOVATION_BONUS_EAST_SETTLING:1 "[councillor_liege.GetCulture.GetName] — Ostsiedlung" STEWARD_PROMOTE_CULTURE_LOCAL_TRADITIONS_RESPECTED:1 "Local Traditions Respected" STEWARD_PROMOTE_CULTURE_SHUUBIYYA:0 "Shu'ubiyya" STEWARD_PROMOTE_CULTURE_DEVELOPMENT_PENALTY:1 "From [development|E]" + STEWARD_PROMOTE_CULTURE_LOW_CONTROL_PENALTY:0 "Low County Control Penalty" + STEWARD_PROMOTE_CULTURE_MEDIUM_CONTROL_PENALTY:0 "Medium County Control Penalty" + STEWARD_PROMOTE_CULTURE_HIGH_CONTROL_PENALTY:0 "High County Control Penalty" + STEWARD_PROMOTE_CULTURE_HIGH_CONTROL_BONUS:0 "Total County Control Bonus" + STEWARD_PROMOTE_CULTURE_ABSOLUTE_CONTROL_BONUS:0 "Absolute County Control Bonus" + STEWARD_PROMOTE_CULTURE_HIGH_TERRAIN_PENALTY:0 "Extreme Terrain Penalty" + STEWARD_PROMOTE_CULTURE_LOW_TERRAIN_PENALTY:0 "Difficult Terrain Penalty" + STEWARD_PROMOTE_CULTURE_LOW_FERVOUR_BONUS:0 "Low County Faith Fervour Bonus" + STEWARD_PROMOTE_FAITH_MEDIUM_FERVOUR_PENALTY:0 "Medium County Faith Fervour Penalty" + STEWARD_CONVERT_FAITH_HIGH_FERVOUR_PENALTY:0 "High County Faith Fervour Penalty" + STEWARD_CONVERT_FAITH_ZEALOT_FERVOUR_PENALTY:0 "Zealous County Faith Fervour Penalty" + STEWARD_PROMOTE_CULTURE_LOCAL_TRADITIONS_RESPECTED:1 "Local Traditions Respected" + STEWARD_PROMOTE_CULTURE_SHUUBIYYA:0 "Shu'ubiyya" + STEWARD_PROMOTE_CULTURE_DEVELOPMENT_PENALTY:1 "From [development|E]" DEVELOP_COUNTY_TRIBAL_PENALTY_VALUE:1 "Tribal Government" steward_develop_county_tribal_penalty_modifier:0 "Tribal Government" STEWARD_PROMOTE_CULTURE_RECLAIMING_BRITANNIA:0 "Reclaim Britannia" diff --git a/localization/english/replace/urepublic_loc_l_english.yml b/localization/english/replace/urepublic_loc_l_english.yml new file mode 100644 index 00000000..3d6fdf09 --- /dev/null +++ b/localization/english/replace/urepublic_loc_l_english.yml @@ -0,0 +1,59 @@ +l_english: + + urbanrepublic_government:0 "Urban Republic" + urbanrepublic_government_with_icon: "@government_type_urbanrepublic! $urbanrepublic_government$" + urbanrepublic_government_adjective:0 "Urban Republic" + urbanrepublic_government_realm:0 "Urban Republic" + urbanrepublic_government_desc:0 "\n$game_concept_urbanrepublic_government_desc$" + game_concept_urbanrepublic_government:0 "Urban Republic" + game_concept_urbanrepublic_government_desc:0 "A $Urban Republic$ is a region of land in which the Burghers control the reigns of government directing its efforts towards profits ." + game_concept_palace:0 "Palace" + game_concept_palace_desc:0 "A Grand Palatial Estate where a Burgher resides." + urbanrepublic_government_obligations:1 "Urban Republic [obligations|E]" + urbanrepublic_vassal: "Urban Republic" + urbanrepublic_vassal_desc: "$game_concept_urbanrepublic_government_desc$" + palace_main_01_domicile_building: "Palace" + palace_main_02_domicile_building: "Palace" + palace_main_03_domicile_building: "Palace" + palace_main_04_domicile_building: "Palace" + palace_main_05_domicile_building: "Palace" + urbanrepublic_icon_concept: "[urbanrepublic_i|E]" + game_concept_urbanrepublic_i: "@government_type_urbanrepublic!" + game_concept_palace_i: "@domicile_palace_icon!" + barony_urbanrepublic: "City" + baron_urbanrepublic_male: "Magistrate" + baron_urbanrepublic_female: "Magistrate" + county_urbanrepublic: "Judicate" + count_urbanrepublic_male: "Judge" + count_urbanrepublic_female: "Judge" + duchy_urbanrepublic: "Urban Republic" + duke_urbanrepublic_male: "Grand Judge" + duke_urbanrepublic_female: "Grand Judge" + kingdom_urbanrepublic: "Grand Urban Republic" + king_urbanrepublic_male: "High Judge" + king_urbanrepublic_female: "High Judge" + empire_urbanrepublic: "Majestic Urban Republic" + emperor_urbanrepublic_male: "Supreme Judge" + emperor_urbanrepublic_female: "Supreme Judge" + government_locked_to_elective:0 "Government is locked to Elective" + government_is_prepublic:0 "Has access to a [palace_i|E][palace|E]" + palace_domicile_title: "Palace" + palace_type: "Palace" + palace_type_tooltip: "[palace_i|E][palace|E]" + palace_domicile_type: "Palace" + palace_domicile_type_possessive: "Palace's" + palace_domicile_type_tooltip: "[palace_i|E][palace|E]" + palace: "Palace" + palace_BUILDINGS: "[palace_i|E][palace|E]" + monotown_holding: "Monotown" + monotown_holding_concept_key: "[monotown_holding|E]" + + building_type_monotown_01: "Monotown" + building_type_monotown_01_desc: "Monotown PLACEHOLDER" + + palace_CONCEPT: "[palace_i|E][palace|E]" + domicile_palace: "Palace of the [scoped_farmer.GetHouse.GetNameNoTooltip]'s" + + #culture_parameter_use_farmer_republics: "This Culture uses [urbanrepublic_i|E][urbanrepublic_government|E]s instead of Republics" + #tradition_farmer_republics_name:0 "Urban Freedom" + #tradition_farmer_republics_desc:0 "This culture has refused the return of feudalism and its farmers wont be subjegated by the noble." \ No newline at end of file