@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" city_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 } } 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_2 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_2 travel_danger = -10 } province_culture_modifier = { parameter = city_buildings_more_powerful levy_size = 0.25 tax_mult = 0.01 } county_culture_modifier = { parameter = city_buildings_more_county_opinion county_opinion_add = 5 } 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 } county_culture_modifier = { parameter = city_buildings_more_powerful development_growth_factor = 0.05 } 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 } province_terrain_modifier = { parameter = coastal_holdings_give_defensive_bonus is_coastal = yes defender_holding_advantage = 2 } 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 } county_culture_modifier = { parameter = use_farmer_republics county_fertility_decline_add = -1 } character_modifier = { men_at_arms_cap = 1 } flag = city next_building = city_02 type_icon = "icon_building_guild_halls.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 = city_01 } } } } modifier = { factor = 5 scope:holder.culture = { has_cultural_parameter = ai_more_likely_to_city } } } } city_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" = 1 } } } asset = { type = pdxmesh names = { "western_city_01_mena_a_mesh" "western_city_01_mena_b_mesh" "western_city_01_mena_c_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 1 } } graphical_regions = { graphical_mena } } asset = { type = pdxmesh names = { "western_city_01_indian_a_mesh" "western_city_01_indian_b_mesh" "western_city_01_indian_c_mesh" } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 1 } } graphical_regions = { graphical_india } } asset = { type = pdxmesh names = { "western_city_01_mediterranean_a_mesh" "western_city_01_mediterranean_b_mesh" "western_city_01_mediterranean_c_mesh" } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 1 } } graphical_regions = { graphical_mediterranean } } asset = { type = pdxmesh names = { "building_mena_city_01_western_mesh" } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { mena_building_gfx 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" = 1 } } 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" = 1 } } 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" = 1} } 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" = 1 } } 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" = 1 } } 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" = 1 } } 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" = 1 } } 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" = 1 } } 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" = 1 } } 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" = 1 } } 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" = 1 } } graphical_cultures = { mediterranean_building_gfx } } ### FP1 Norse ### asset = { type = pdxmesh names = { "fp1_building_norse_city_01_a_mesh" } requires_dlc_flag = the_northern_lords illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { norse_building_gfx } } asset = { type = pdxmesh names = { "fp1_building_norse_city_01_mena_mesh" } requires_dlc_flag = the_northern_lords illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { norse_building_gfx } graphical_regions = { graphical_mena } } asset = { type = pdxmesh names = { "fp1_building_norse_city_01_mediterranean_mesh" } requires_dlc_flag = the_northern_lords illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { norse_building_gfx } graphical_regions = { graphical_mediterranean } } asset = { type = pdxmesh names = { "fp1_building_norse_city_01_indian_mesh" } requires_dlc_flag = the_northern_lords illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { norse_building_gfx } graphical_regions = { graphical_india } } ### FP2 Iberian ### asset = { type = pdxmesh name = "fp2_building_iberian_city_01_mesh" requires_dlc_flag = the_fate_of_iberia illustration = @holding_illustration_iberian soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/iberian_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { iberian_building_gfx } graphical_regions = { graphical_mediterranean } } ### FP3 Iranian ### asset = { type = pdxmesh name = "fp3_building_persian_city_01_a_01_mesh" requires_dlc_flag = legacy_of_persia illustration = @holding_illustration_iranian soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { iranian_building_gfx } graphical_regions = { graphical_mena } } asset = { type = pdxmesh name = "fp3_building_persian_city_01_a_01_mesh" requires_dlc_flag = legacy_of_persia illustration = @holding_illustration_iranian soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { iranian_building_gfx } graphical_regions = { graphical_india } } ### EP3 Byzantine ### asset = { type = pdxmesh name = "ep3_byzantine_city_01_mesh" requires_dlc_flag = roads_to_power illustration = @holding_illustration_byzantine soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { byzantine_building_gfx caucasian_building_gfx } graphical_regions = { graphical_mediterranean } } #Steppe fallbacks ### Steppe ### asset = { type = pdxmesh names = { "building_mena_city_01_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_steppe } } asset = { type = pdxmesh names = { "building_mena_city_01_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_siberia } } #elsewhere asset = { type = pdxmesh names = { "western_city_01_a_mesh" "western_city_01_b_mesh" "western_city_01_c_mesh" } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_western } } asset = { type = pdxmesh names = { "building_mena_city_01_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_mena } } asset = { type = pdxmesh names = { "building_india_city_01_mesh" } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_india } } asset = { type = pdxmesh names = { "building_mediterranean_city_01_mesh" } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_mediterranean } } asset = { type = pdxmesh name = "tgp_building_chinese_city_01_mesh" requires_dlc_flag = all_under_heaven illustration = @holding_illustration_china soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_east_asia } } # TGP China asset = { type = pdxmesh name = "tgp_building_chinese_city_01_mesh" requires_dlc_flag = all_under_heaven illustration = @holding_illustration_china soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { chinese_building_gfx } graphical_regions = { graphical_east_asia 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" = 1 } } graphical_cultures = { southeast_asian_building_gfx } graphical_regions = { graphical_east_asia graphical_india } } # TGP Japan asset = { type = pdxmesh name = "tgp_building_japanese_city_01_mesh" requires_dlc_flag = all_under_heaven illustration = @holding_illustration_japan soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/japanese_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { japanese_building_gfx } graphical_regions = { graphical_east_asia } } 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 } } } cost_gold = main_building_tier_2_cost levy = poor_building_levy_tier_4 max_garrison = normal_building_max_garrison_tier_2 garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_2 province_modifier = { monthly_income = good_building_tax_tier_4 travel_danger = -12 } province_culture_modifier = { parameter = city_buildings_more_powerful levy_size = 0.5 tax_mult = 0.02 } county_culture_modifier = { parameter = city_buildings_more_county_opinion county_opinion_add = 10 } province_terrain_modifier = { parameter = maritime_mercantilism_coastal_holdings is_coastal = yes tax_mult = maritime_mercantilism_coastal_holdings_value } county_culture_modifier = { parameter = city_buildings_more_powerful development_growth_factor = 0.1 } 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 } province_terrain_modifier = { parameter = coastal_holdings_give_defensive_bonus is_coastal = yes defender_holding_advantage = 3 } 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 = city_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 } } } city_03 = { construction_time = slow_construction_time effect_desc = city_2_effect_desc #Meshes (Indented for readability) asset = { type = pdxmesh names = { "building_western_city_02_mesh" } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } } asset = { type = pdxmesh names = { "building_western_city_02_mena_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } graphical_regions = { graphical_mena } } asset = { type = pdxmesh names = { "building_western_city_02_indian_mesh" } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } graphical_regions = { graphical_india } } asset = { type = pdxmesh names = { "building_western_city_02_mediterranean_mesh" } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } graphical_regions = { graphical_mediterranean } } asset = { type = pdxmesh names = { "building_mena_city_02_western_mesh" } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx } } asset = { type = pdxmesh names = { "building_mena_city_02_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx } graphical_regions = { graphical_mena } } asset = { type = pdxmesh names = { "building_mena_city_02_indian_mesh" } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx } graphical_regions = { graphical_india } } asset = { type = pdxmesh names = { "building_mena_city_02_mediterranean_mesh" } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx } graphical_regions = { graphical_mediterranean } } asset = { type = pdxmesh names = { "building_india_city_02_western_mesh" } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { indian_building_gfx tibetan_building_gfx } } asset = { type = pdxmesh names = { "building_india_city_02_mena_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { indian_building_gfx tibetan_building_gfx } graphical_regions = { graphical_mena } } asset = { type = pdxmesh names = { "building_india_city_02_mesh" } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { indian_building_gfx tibetan_building_gfx } graphical_regions = { graphical_india } } asset = { type = pdxmesh names = { "building_india_city_02_mediterranean_mesh" } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { indian_building_gfx tibetan_building_gfx } graphical_regions = { graphical_mediterranean } } asset = { type = pdxmesh names = { "building_mediterranean_city_02_western_mesh" } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { mediterranean_building_gfx } } asset = { type = pdxmesh names = { "building_mediterranean_city_02_mena_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { mediterranean_building_gfx } graphical_regions = { graphical_mena } } asset = { type = pdxmesh names = { "building_mediterranean_city_02_indian_mesh" } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { mediterranean_building_gfx } graphical_regions = { graphical_india } } asset = { type = pdxmesh names = { "building_mediterranean_city_02_mesh" } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { mediterranean_building_gfx } graphical_regions = { graphical_mediterranean } } ### FP1 Norse ### asset = { type = pdxmesh names = { "fp1_building_norse_city_02_a_mesh" } requires_dlc_flag = the_northern_lords illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { norse_building_gfx } } asset = { type = pdxmesh names = { "fp1_building_norse_city_02_mena_mesh" } requires_dlc_flag = the_northern_lords illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { norse_building_gfx } graphical_regions = { graphical_mena } } asset = { type = pdxmesh names = { "fp1_building_norse_city_02_mediterranean_mesh" } requires_dlc_flag = the_northern_lords illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { norse_building_gfx } graphical_regions = { graphical_mediterranean } } asset = { type = pdxmesh names = { "fp1_building_norse_city_02_indian_mesh" } requires_dlc_flag = the_northern_lords illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { norse_building_gfx } graphical_regions = { graphical_india } } ### FP2 Iberian ### asset = { type = pdxmesh name = "fp2_building_iberian_city_02_mesh" requires_dlc_flag = the_fate_of_iberia illustration = @holding_illustration_iberian soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/iberian_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { iberian_building_gfx } graphical_regions = { graphical_mediterranean } } ### FP3 Iranian ### asset = { type = pdxmesh name = "fp3_building_persian_city_02_a_01_mesh" requires_dlc_flag = legacy_of_persia illustration = @holding_illustration_iranian soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { iranian_building_gfx } graphical_regions = { graphical_mena } } asset = { type = pdxmesh name = "fp3_building_persian_city_02_a_01_mesh" requires_dlc_flag = legacy_of_persia illustration = @holding_illustration_iranian soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { iranian_building_gfx } graphical_regions = { graphical_india } } ### EP3 Byzantine ### asset = { type = pdxmesh name = "ep3_byzantine_city_02_mesh" requires_dlc_flag = roads_to_power illustration = @holding_illustration_byzantine soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { byzantine_building_gfx caucasian_building_gfx } graphical_regions = { graphical_mediterranean } } #Steppe fallbacks #in steppe asset = { type = pdxmesh names = { "building_mena_city_02_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_steppe } } asset = { type = pdxmesh names = { "building_mena_city_02_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_siberia } } #Elsewhere asset = { type = pdxmesh names = { "building_western_city_02_mesh" } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_western } } asset = { type = pdxmesh names = { "building_mena_city_02_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_mena } } asset = { type = pdxmesh names = { "building_india_city_02_mesh" } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_india } } asset = { type = pdxmesh name = "tgp_building_chinese_city_02_mesh" requires_dlc_flag = all_under_heaven illustration = @holding_illustration_china soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_east_asia } } asset = { type = pdxmesh names = { "building_mediterranean_city_02_mesh" } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_mediterranean } } # TGP Southeast Asia asset = { type = pdxmesh name = "tgp_building_se_asia_city_02_a_mesh" requires_dlc_flag = all_under_heaven illustration = @holding_illustration_seasia soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/sea_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { southeast_asian_building_gfx } graphical_regions = { graphical_east_asia graphical_india } } asset = { type = pdxmesh name = "tgp_building_chinese_city_02_mesh" requires_dlc_flag = all_under_heaven illustration = @holding_illustration_china soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { chinese_building_gfx } graphical_regions = { graphical_east_asia graphical_india } } # TGP Japan asset = { type = pdxmesh name = "tgp_building_japanese_city_02_mesh" requires_dlc_flag = all_under_heaven illustration = @holding_illustration_japan soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/japanese_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { japanese_building_gfx } graphical_regions = { graphical_east_asia } } 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 } } } cost_gold = main_building_tier_3_cost next_building = city_04 levy = poor_building_levy_tier_6 max_garrison = normal_building_max_garrison_tier_3 garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_3 province_modifier = { monthly_income = good_building_tax_tier_6 travel_danger = -14 } province_culture_modifier = { parameter = city_buildings_more_powerful levy_size = 0.75 tax_mult = 0.03 } county_culture_modifier = { parameter = city_buildings_more_county_opinion county_opinion_add = 15 } province_terrain_modifier = { parameter = maritime_mercantilism_coastal_holdings is_coastal = yes tax_mult = maritime_mercantilism_coastal_holdings_value } county_culture_modifier = { parameter = city_buildings_more_powerful 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 } province_terrain_modifier = { parameter = coastal_holdings_give_defensive_bonus is_coastal = yes defender_holding_advantage = 4 } 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 } } } city_04 = { construction_time = slow_construction_time #Meshes (Indented for readability) asset = { type = pdxmesh names = { "building_western_city_02_mesh" } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } } asset = { type = pdxmesh names = { "building_western_city_02_mena_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } graphical_regions = { graphical_mena } } asset = { type = pdxmesh names = { "building_western_city_02_indian_mesh" } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } graphical_regions = { graphical_india } } asset = { type = pdxmesh names = { "building_western_city_02_mediterranean_mesh" } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } graphical_regions = { graphical_mediterranean } } asset = { type = pdxmesh names = { "building_mena_city_02_western_mesh" } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx } } asset = { type = pdxmesh names = { "building_mena_city_02_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx } graphical_regions = { graphical_mena } } asset = { type = pdxmesh names = { "building_mena_city_02_indian_mesh" } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx } graphical_regions = { graphical_india } } asset = { type = pdxmesh names = { "building_mena_city_02_mediterranean_mesh" } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx } graphical_regions = { graphical_mediterranean } } asset = { type = pdxmesh names = { "building_india_city_02_western_mesh" } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { indian_building_gfx tibetan_building_gfx } } asset = { type = pdxmesh names = { "building_india_city_02_mena_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { indian_building_gfx tibetan_building_gfx } graphical_regions = { graphical_mena } } asset = { type = pdxmesh names = { "building_india_city_02_mesh" } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { indian_building_gfx tibetan_building_gfx } graphical_regions = { graphical_india } } asset = { type = pdxmesh names = { "building_india_city_02_mediterranean_mesh" } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { indian_building_gfx tibetan_building_gfx } graphical_regions = { graphical_mediterranean } } asset = { type = pdxmesh names = { "building_mediterranean_city_02_western_mesh" } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { mediterranean_building_gfx } } asset = { type = pdxmesh names = { "building_mediterranean_city_02_mena_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { mediterranean_building_gfx } graphical_regions = { graphical_mena } } asset = { type = pdxmesh names = { "building_mediterranean_city_02_indian_mesh" } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { mediterranean_building_gfx } graphical_regions = { graphical_india } } asset = { type = pdxmesh names = { "building_mediterranean_city_02_mesh" } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { mediterranean_building_gfx } } ### FP1 Norse ### asset = { type = pdxmesh names = { "fp1_building_norse_city_02_a_mesh" } requires_dlc_flag = the_northern_lords illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { norse_building_gfx } } asset = { type = pdxmesh names = { "fp1_building_norse_city_02_mena_mesh" } requires_dlc_flag = the_northern_lords illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { norse_building_gfx } graphical_regions = { graphical_mena } } asset = { type = pdxmesh names = { "fp1_building_norse_city_02_mediterranean_mesh" } requires_dlc_flag = the_northern_lords illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { norse_building_gfx } graphical_regions = { graphical_mediterranean } } asset = { type = pdxmesh names = { "fp1_building_norse_city_02_indian_mesh" } requires_dlc_flag = the_northern_lords illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { norse_building_gfx } graphical_regions = { graphical_india } } ### FP2 Iberian ### asset = { type = pdxmesh name = "fp2_building_iberian_city_02_mesh" requires_dlc_flag = the_fate_of_iberia illustration = @holding_illustration_iberian soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/iberian_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { iberian_building_gfx } graphical_regions = { graphical_mediterranean } } ### FP3 Iranian ### asset = { type = pdxmesh name = "fp3_building_persian_city_02_a_01_mesh" requires_dlc_flag = legacy_of_persia illustration = @holding_illustration_iranian soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { iranian_building_gfx } graphical_regions = { graphical_mena } } asset = { type = pdxmesh name = "fp3_building_persian_city_02_a_01_mesh" requires_dlc_flag = legacy_of_persia illustration = @holding_illustration_iranian soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { iranian_building_gfx } graphical_regions = { graphical_india } } ### EP3 Byzantine ### asset = { type = pdxmesh name = "ep3_byzantine_city_02_mesh" requires_dlc_flag = roads_to_power illustration = @holding_illustration_byzantine soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { byzantine_building_gfx caucasian_building_gfx } graphical_regions = { graphical_mediterranean } } #Steppe fallbacks #In steppe asset = { type = pdxmesh names = { "building_mena_city_02_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 3 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_steppe } } asset = { type = pdxmesh names = { "building_mena_city_02_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 3 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_siberia } } #Elsewhere asset = { type = pdxmesh names = { "building_western_city_02_mesh" } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_western } } asset = { type = pdxmesh names = { "building_mena_city_02_mesh" } illustration = @holding_illustration_mena soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_mena } } asset = { type = pdxmesh names = { "building_india_city_02_mesh" } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_india } } asset = { type = pdxmesh names = { "building_mediterranean_city_02_mesh" } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_mediterranean } } asset = { type = pdxmesh name = "tgp_building_chinese_city_02_mesh" requires_dlc_flag = all_under_heaven illustration = @holding_illustration_china soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 3 } } graphical_cultures = { steppe_building_gfx } graphical_regions = { graphical_east_asia } } # TGP Southeast Asia asset = { type = pdxmesh name = "tgp_building_se_asia_city_02_a_mesh" requires_dlc_flag = all_under_heaven illustration = @holding_illustration_seasia soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/sea_city" soundparameter = { "Tier" = 3 } } graphical_cultures = { southeast_asian_building_gfx } graphical_regions = { graphical_east_asia graphical_india } } asset = { type = pdxmesh name = "tgp_building_chinese_city_02_mesh" requires_dlc_flag = all_under_heaven illustration = @holding_illustration_china soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 3 } } graphical_cultures = { chinese_building_gfx } graphical_regions = { graphical_east_asia graphical_india } } # TGP Japan asset = { type = pdxmesh name = "tgp_building_japanese_city_02_mesh" requires_dlc_flag = all_under_heaven illustration = @holding_illustration_japan soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/japanese_city" soundparameter = { "Tier" = 3 } } graphical_cultures = { japanese_building_gfx } graphical_regions = { graphical_east_asia } } 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 } } } cost_gold = main_building_tier_4_cost levy = poor_building_levy_tier_8 max_garrison = normal_building_max_garrison_tier_7 garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_4 province_modifier = { monthly_income = good_building_tax_tier_8 travel_danger = -16 } province_culture_modifier = { parameter = city_buildings_more_powerful levy_size = 1 tax_mult = 0.04 } county_culture_modifier = { parameter = city_buildings_more_county_opinion county_opinion_add = 20 } province_terrain_modifier = { parameter = maritime_mercantilism_coastal_holdings is_coastal = yes tax_mult = maritime_mercantilism_coastal_holdings_value } county_culture_modifier = { parameter = city_buildings_more_powerful development_growth_factor = 0.2 } 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 } province_terrain_modifier = { parameter = coastal_holdings_give_defensive_bonus is_coastal = yes defender_holding_advantage = 5 } 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 } } } #### # # City Buildings # #### ### Guild Halls guild_halls_01 = { construction_time = standard_construction_time can_construct_potential = { has_building_or_higher = city_01 } cost_gold = normal_building_tier_1_cost province_modifier = { monthly_income = normal_building_tax_tier_1 } county_modifier = { development_growth_factor = 0.05 } on_complete = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes } province_government_modifier = { 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 type_icon = "icon_building_guild_halls.dds" ai_value = { base = 500 ai_tier_1_building_modifier = yes modifier = { add = 500 scope:holder = { government_has_flag = government_is_republic } } } } guild_halls_02 = { construction_time = standard_construction_time can_construct_potential = { has_building_or_higher = city_01 culture = { trigger_if = { limit = { NOT = { has_cultural_parameter = next_level_guild_halls } } has_innovation = innovation_crop_rotation } } } can_construct_showing_failures_only = { building_requirement_tribal = no } cost_gold = normal_building_tier_2_cost province_modifier = { monthly_income = normal_building_tax_tier_2 } county_modifier = { development_growth_factor = 0.1 } on_complete = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes } province_government_modifier = { 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 = { base = 9 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes directive_to_build_economy_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 } } } guild_halls_03 = { construction_time = standard_construction_time can_construct = { trigger_if = { limit = { NOT = { culture = { has_cultural_parameter = next_level_guild_halls } } } culture = { has_innovation = innovation_manorialism } has_building_or_higher = city_02 } trigger_else = { culture = { has_innovation = innovation_crop_rotation } culture = { has_cultural_parameter = next_level_guild_halls } has_building_or_higher = city_01 } } can_construct_showing_failures_only = { building_requirement_tribal = no } cost_gold = normal_building_tier_3_cost province_modifier = { monthly_income = normal_building_tax_tier_3 } county_modifier = { development_growth_factor = 0.15 } province_government_modifier = { parameter = government_is_prepublic monthly_barter_goods = 0.3 } province_government_modifier = { parameter = government_is_urepublic monthly_barter_goods = 0.6 } on_complete = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes } next_building = guild_halls_04 ai_value = { base = 8 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes directive_to_build_economy_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 } } } guild_halls_04 = { construction_time = standard_construction_time can_construct = { trigger_if = { limit = { NOT = { culture = { has_cultural_parameter = next_level_guild_halls } } } culture = { has_innovation = innovation_manorialism } has_building_or_higher = city_02 } trigger_else = { culture = { has_innovation = innovation_crop_rotation } culture = { has_cultural_parameter = next_level_guild_halls } has_building_or_higher = city_01 } } can_construct_showing_failures_only = { building_requirement_tribal = no } cost_gold = normal_building_tier_4_cost province_modifier = { monthly_income = normal_building_tax_tier_4 } county_modifier = { development_growth_factor = 0.2 } province_government_modifier = { parameter = government_is_prepublic monthly_barter_goods = 0.4 } province_government_modifier = { parameter = government_is_urepublic monthly_barter_goods = 0.8 } on_complete = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes } next_building = guild_halls_05 ai_value = { base = 7 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes directive_to_build_economy_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 } } } guild_halls_05 = { construction_time = standard_construction_time can_construct = { trigger_if = { limit = { NOT = { culture = { has_cultural_parameter = next_level_guild_halls } } } culture = { has_innovation = innovation_guilds } has_building_or_higher = city_03 } trigger_else = { culture = { has_innovation = innovation_manorialism } culture = { has_cultural_parameter = next_level_guild_halls } has_building_or_higher = city_02 } } can_construct_showing_failures_only = { building_requirement_tribal = no } cost_gold = normal_building_tier_5_cost province_modifier = { monthly_income = normal_building_tax_tier_5 } county_modifier = { development_growth_factor = 0.25 } province_government_modifier = { parameter = government_is_prepublic monthly_barter_goods = 0.5 } province_government_modifier = { parameter = government_is_urepublic monthly_barter_goods = 1 } on_complete = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes } next_building = guild_halls_06 ai_value = { base = 6 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes directive_to_build_economy_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 } } } guild_halls_06 = { construction_time = standard_construction_time can_construct = { trigger_if = { limit = { NOT = { culture = { has_cultural_parameter = next_level_guild_halls } } } culture = { has_innovation = innovation_guilds } has_building_or_higher = city_03 } trigger_else = { culture = { has_innovation = innovation_manorialism } culture = { has_cultural_parameter = next_level_guild_halls } has_building_or_higher = city_02 } } can_construct_showing_failures_only = { building_requirement_tribal = no } cost_gold = normal_building_tier_6_cost province_modifier = { monthly_income = normal_building_tax_tier_6 } county_modifier = { development_growth_factor = 0.3 } province_government_modifier = { parameter = government_is_prepublic monthly_barter_goods = 0.6 } province_government_modifier = { parameter = government_is_urepublic monthly_barter_goods = 1.2 } on_complete = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes } next_building = guild_halls_07 ai_value = { base = 5 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes directive_to_build_economy_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 } } } guild_halls_07 = { construction_time = standard_construction_time can_construct = { trigger_if = { limit = { NOT = { culture = { has_cultural_parameter = next_level_guild_halls } } } culture = { has_innovation = innovation_cranes } has_building_or_higher = city_04 } trigger_else = { culture = { has_innovation = innovation_guilds } culture = { has_cultural_parameter = next_level_guild_halls } has_building_or_higher = city_03 } } can_construct_showing_failures_only = { building_requirement_tribal = no } cost_gold = normal_building_tier_7_cost province_modifier = { monthly_income = normal_building_tax_tier_7 } county_modifier = { development_growth_factor = 0.35 } province_government_modifier = { parameter = government_is_prepublic monthly_barter_goods = 0.7 } province_government_modifier = { parameter = government_is_urepublic monthly_barter_goods = 1.4 } on_complete = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes } next_building = guild_halls_08 ai_value = { base = 4 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes directive_to_build_economy_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 } } } guild_halls_08 = { construction_time = standard_construction_time can_construct = { trigger_if = { limit = { NOT = { culture = { has_cultural_parameter = next_level_guild_halls } } } culture = { has_innovation = innovation_cranes } has_building_or_higher = city_04 } trigger_else = { culture = { has_innovation = innovation_guilds } culture = { has_cultural_parameter = next_level_guild_halls } has_building_or_higher = city_03 } } can_construct_showing_failures_only = { building_requirement_tribal = no } cost_gold = normal_building_tier_8_cost province_modifier = { monthly_income = normal_building_tax_tier_8 } county_modifier = { development_growth_factor = 0.4 } province_government_modifier = { parameter = government_is_prepublic monthly_barter_goods = 0.8 } province_government_modifier = { parameter = government_is_urepublic monthly_barter_goods = 1.6 } on_complete = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes } ai_value = { base = 3 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes directive_to_build_economy_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 } } }