Professional Documents
Culture Documents
00 City Buildings
00 City Buildings
"gfx/interface/illustrations/holding_types/city_western.dds"
@holding_illustration_india =
"gfx/interface/illustrations/holding_types/city_india.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"
city_01 = {
construction_time = slow_construction_time
asset = {
type = pdxmesh
names = {
"western_city_01_a_mesh"
"western_city_01_b_mesh"
"western_city_01_c_mesh"
}
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 }
}
asset = {
type = pdxmesh
names = {
"building_mena_city_01_mesh"
}
illustration = @holding_illustration_mena
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter =
{ "Tier" = 0 } }
graphical_cultures = { mena_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
names = {
"building_mena_city_01_indian_mesh"
}
illustration = @holding_illustration_india
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter =
{ "Tier" = 0 } }
graphical_cultures = { mena_building_gfx }
graphical_regions = { graphical_india }
}
asset = {
type = pdxmesh
names = {
"building_mena_city_01_mediterranean_mesh"
}
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter =
{ "Tier" = 0 } }
graphical_cultures = { mena_building_gfx }
graphical_regions = { graphical_mediterranean }
}
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 }
}
asset = {
type = pdxmesh
names = {
"building_india_city_01_mena_mesh"
}
illustration = @holding_illustration_mena
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter =
{ "Tier" = 0 } }
graphical_cultures = { indian_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
names = {
"building_india_city_01_mesh"
}
illustration = @holding_illustration_india
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter =
{ "Tier" = 0 } }
graphical_cultures = { indian_building_gfx }
graphical_regions = { graphical_india }
}
asset = {
type = pdxmesh
names = {
"building_india_city_01_mediterranean_mesh"
}
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter =
{ "Tier" = 0 } }
graphical_cultures = { indian_building_gfx }
graphical_regions = { graphical_mediterranean }
}
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 }
}
asset = {
type = pdxmesh
names = {
"fp1_building_norse_city_01_mena_mesh"
}
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect =
"event:/DLC/FP1/SFX/Ambience/Urban/norse_city_tier_01" }
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:/DLC/FP1/SFX/Ambience/Urban/norse_city_tier_01" }
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:/DLC/FP1/SFX/Ambience/Urban/norse_city_tier_01" }
graphical_cultures = { norse_building_gfx }
graphical_regions = { graphical_india }
}
can_construct_potential = {
building_requirement_tribal = no
barony_cannot_construct_holding = no
}
can_construct = {
culture = {
has_innovation = innovation_city_planning
}
}
can_construct_showing_failures_only = {
# building_requirement_tribal_holding_in_county = no
}
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
}
county_culture_modifier = {
parameter = city_buildings_more_powerful
development_growth_factor = 0.05
}
county_culture_modifier = {
parameter = city_buildings_less_control
monthly_county_control_change_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
}
flag = city
next_building = city_02
type_icon = "icon_building_guild_halls.dds"
on_complete = {
county.holder = {
if = {
limit = {
any_vassal = {
has_vassal_stance = parochial
}
save_temporary_scope_as = holder_scope
}
custom_tooltip =
parochial_vassal_approves_holding_construction
hidden_effect = {
every_vassal = {
limit = {
has_vassal_stance = parochial
}
add_opinion = {
target = prev
modifier =
parochial_approves_holding_construction_opinion
}
}
}
}
}
}
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
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 }
}
asset = {
type = pdxmesh
names = {
"building_mena_city_01_mesh"
}
illustration = @holding_illustration_mena
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter =
{ "Tier" = 1 } }
graphical_cultures = { mena_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
names = {
"building_mena_city_01_indian_mesh"
}
illustration = @holding_illustration_india
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter =
{ "Tier" = 1 } }
graphical_cultures = { mena_building_gfx }
graphical_regions = { graphical_india }
}
asset = {
type = pdxmesh
names = {
"building_mena_city_01_mediterranean_mesh"
}
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter =
{ "Tier" = 1} }
graphical_cultures = { mena_building_gfx }
graphical_regions = { graphical_mediterranean }
}
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 }
}
asset = {
type = pdxmesh
names = {
"building_india_city_01_mena_mesh"
}
illustration = @holding_illustration_mena
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter =
{ "Tier" = 1 } }
graphical_cultures = { indian_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
names = {
"building_india_city_01_mesh"
}
illustration = @holding_illustration_india
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter =
{ "Tier" = 1 } }
graphical_cultures = { indian_building_gfx }
graphical_regions = { graphical_india }
}
asset = {
type = pdxmesh
names = {
"building_india_city_01_mediterranean_mesh"
}
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter =
{ "Tier" = 1 } }
graphical_cultures = { indian_building_gfx }
graphical_regions = { graphical_mediterranean }
}
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 }
}
asset = {
type = pdxmesh
names = {
"fp1_building_norse_city_01_mena_mesh"
}
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect =
"event:/DLC/FP1/SFX/Ambience/Urban/norse_city_tier_01" }
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:/DLC/FP1/SFX/Ambience/Urban/norse_city_tier_01" }
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:/DLC/FP1/SFX/Ambience/Urban/norse_city_tier_01" }
graphical_cultures = { norse_building_gfx }
graphical_regions = { graphical_india }
}
can_construct_potential = {
building_requirement_tribal = no
}
can_construct = {
culture = {
has_innovation = innovation_manorialism
}
}
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_change_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
}
flag = city
next_building = city_03
on_complete = {
barony.holder = {
if = {
limit = {
any_vassal = {
has_vassal_stance = parochial
}
save_temporary_scope_as = holder_scope
}
custom_tooltip = parochial_vassal_approves_holding_upgrade
hidden_effect = {
every_vassal = {
limit = {
has_vassal_stance = parochial
}
add_opinion = {
target = prev
modifier =
parochial_approves_holding_upgrade_opinion
}
}
}
}
}
}
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.2
free_building_slots >= 1
}
modifier = {
factor = 0.3
years_from_game_start <= 0.01
}
}
}
city_03 = {
construction_time = slow_construction_time
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 }
}
asset = {
type = pdxmesh
names = {
"building_mena_city_02_mesh"
}
illustration = @holding_illustration_mena
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter =
{ "Tier" = 2 } }
graphical_cultures = { mena_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
names = {
"building_mena_city_02_indian_mesh"
}
illustration = @holding_illustration_india
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter =
{ "Tier" = 2 } }
graphical_cultures = { mena_building_gfx }
graphical_regions = { graphical_india }
}
asset = {
type = pdxmesh
names = {
"building_mena_city_02_mediterranean_mesh"
}
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter =
{ "Tier" = 2 } }
graphical_cultures = { mena_building_gfx }
graphical_regions = { graphical_mediterranean }
}
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 }
}
asset = {
type = pdxmesh
names = {
"building_india_city_02_mena_mesh"
}
illustration = @holding_illustration_mena
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter =
{ "Tier" = 2 } }
graphical_cultures = { indian_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
names = {
"building_india_city_02_mesh"
}
illustration = @holding_illustration_india
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter =
{ "Tier" = 2 } }
graphical_cultures = { indian_building_gfx }
graphical_regions = { graphical_india }
}
asset = {
type = pdxmesh
names = {
"building_india_city_02_mediterranean_mesh"
}
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter =
{ "Tier" = 2 } }
graphical_cultures = { indian_building_gfx }
graphical_regions = { graphical_mediterranean }
}
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 }
}
asset = {
type = pdxmesh
names = {
"fp1_building_norse_city_02_mena_mesh"
}
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect =
"event:/DLC/FP1/SFX/Ambience/Urban/norse_city_tier_02" }
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:/DLC/FP1/SFX/Ambience/Urban/norse_city_tier_02" }
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:/DLC/FP1/SFX/Ambience/Urban/norse_city_tier_02" }
graphical_cultures = { norse_building_gfx }
graphical_regions = { graphical_india }
}
can_construct_potential = {
building_requirement_tribal = no
}
can_construct = {
culture = {
has_innovation = innovation_windmills
}
}
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_change_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
}
flag = city
on_complete = {
barony.holder = {
if = {
limit = {
any_vassal = {
has_vassal_stance = parochial
}
save_temporary_scope_as = holder_scope
}
custom_tooltip = parochial_vassal_approves_holding_upgrade
hidden_effect = {
every_vassal = {
limit = {
has_vassal_stance = parochial
}
add_opinion = {
target = prev
modifier =
parochial_approves_holding_upgrade_opinion
}
}
}
}
}
}
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
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 }
}
asset = {
type = pdxmesh
names = {
"building_mena_city_02_mesh"
}
illustration = @holding_illustration_mena
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter =
{ "Tier" = 2 } }
graphical_cultures = { mena_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
names = {
"building_mena_city_02_indian_mesh"
}
illustration = @holding_illustration_india
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter =
{ "Tier" = 2 } }
graphical_cultures = { mena_building_gfx }
graphical_regions = { graphical_india }
}
asset = {
type = pdxmesh
names = {
"building_mena_city_02_mediterranean_mesh"
}
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter =
{ "Tier" = 2 } }
graphical_cultures = { mena_building_gfx }
graphical_regions = { graphical_mediterranean }
}
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 }
}
asset = {
type = pdxmesh
names = {
"building_india_city_02_mena_mesh"
}
illustration = @holding_illustration_mena
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter =
{ "Tier" = 2 } }
graphical_cultures = { indian_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
names = {
"building_india_city_02_mesh"
}
illustration = @holding_illustration_india
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter =
{ "Tier" = 2 } }
graphical_cultures = { indian_building_gfx }
graphical_regions = { graphical_india }
}
asset = {
type = pdxmesh
names = {
"building_india_city_02_mediterranean_mesh"
}
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect =
"event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter =
{ "Tier" = 2 } }
graphical_cultures = { indian_building_gfx }
graphical_regions = { graphical_mediterranean }
}
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 }
}
asset = {
type = pdxmesh
names = {
"fp1_building_norse_city_02_mena_mesh"
}
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect =
"event:/DLC/FP1/SFX/Ambience/Urban/norse_city_tier_02" }
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:/DLC/FP1/SFX/Ambience/Urban/norse_city_tier_02" }
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:/DLC/FP1/SFX/Ambience/Urban/norse_city_tier_02" }
graphical_cultures = { norse_building_gfx }
graphical_regions = { graphical_india }
}
can_construct_potential = {
building_requirement_tribal = no
}
can_construct = {
culture = {
has_innovation = innovation_cranes
}
}
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_change_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
}
flag = city
on_complete = {
barony.holder = {
if = {
limit = {
any_vassal = {
has_vassal_stance = parochial
}
save_temporary_scope_as = holder_scope
}
custom_tooltip = parochial_vassal_approves_holding_upgrade
hidden_effect = {
every_vassal = {
limit = {
has_vassal_stance = parochial
}
add_opinion = {
target = prev
modifier =
parochial_approves_holding_upgrade_opinion
}
}
}
}
}
}
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_01 = {
construction_time = standard_construction_time
flag = mortal
is_enabled = {
NOT = { has_game_rule = world_of_monsters }
scope:holder = { has_trait = mortal }
}
can_construct_potential = {
has_building_or_higher = city_01
NOT = { has_game_rule = world_of_monsters }
scope:holder = { has_trait = mortal }
}
can_construct_showing_failures_only = {
building_requirement_tribal = no
}
cost_gold = normal_building_tier_1_cost
province_modifier = {
monthly_income = normal_building_tax_tier_1
}
county_modifier = {
development_growth_factor = 0.05
}
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
flag = mortal
is_enabled = {
NOT = { has_game_rule = world_of_monsters }
scope:holder = { has_trait = mortal }
}
can_construct_potential = {
has_building_or_higher = city_01
culture = {
OR = {
has_innovation = innovation_crop_rotation
has_cultural_parameter = next_level_guild_halls
}
}
NOT = { has_game_rule = world_of_monsters }
scope:holder = { has_trait = mortal }
}
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
}
next_building = guild_halls_03
ai_value = {
base = 0
modifier = {
add = 9
scope:holder = {
government_has_flag = government_is_republic
}
}
}
}
guild_halls_03 = {
construction_time = standard_construction_time
flag = mortal
is_enabled = {
NOT = { has_game_rule = world_of_monsters }
scope:holder = { has_trait = mortal }
}
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
}
NOT = { has_game_rule = world_of_monsters }
scope:holder = { has_trait = mortal }
}
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
}
next_building = guild_halls_04
ai_value = {
base = 0
modifier = {
add = 8
scope:holder = {
government_has_flag = government_is_republic
}
}
}
}
guild_halls_04 = {
construction_time = standard_construction_time
flag = mortal
is_enabled = {
NOT = { has_game_rule = world_of_monsters }
scope:holder = { has_trait = mortal }
}
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
}
NOT = { has_game_rule = world_of_monsters }
scope:holder = { has_trait = mortal }
}
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
}
next_building = guild_halls_05
ai_value = {
base = 0
modifier = {
add = 7
scope:holder = {
government_has_flag = government_is_republic
}
}
}
}
guild_halls_05 = {
construction_time = standard_construction_time
flag = mortal
is_enabled = {
NOT = { has_game_rule = world_of_monsters }
scope:holder = { has_trait = mortal }
}
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
}
NOT = { has_game_rule = world_of_monsters }
scope:holder = { has_trait = mortal }
}
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
}
next_building = guild_halls_06
ai_value = {
base = 0
modifier = {
add = 6
scope:holder = {
government_has_flag = government_is_republic
}
}
}
}
guild_halls_06 = {
construction_time = standard_construction_time
flag = mortal
is_enabled = {
NOT = { has_game_rule = world_of_monsters }
scope:holder = { has_trait = mortal }
}
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
}
NOT = { has_game_rule = world_of_monsters }
scope:holder = { has_trait = mortal }
}
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
}
next_building = guild_halls_07
ai_value = {
base = 0
modifier = {
add = 5
scope:holder = {
government_has_flag = government_is_republic
}
}
}
}
guild_halls_07 = {
construction_time = standard_construction_time
flag = mortal
is_enabled = {
NOT = { has_game_rule = world_of_monsters }
scope:holder = { has_trait = mortal }
}
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
}
NOT = { has_game_rule = world_of_monsters }
scope:holder = { has_trait = mortal }
}
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
}
next_building = guild_halls_08
ai_value = {
base = 0
modifier = {
add = 4
scope:holder = {
government_has_flag = government_is_republic
}
}
}
}
guild_halls_08 = {
construction_time = standard_construction_time
flag = mortal
is_enabled = {
NOT = { has_game_rule = world_of_monsters }
scope:holder = { has_trait = mortal }
}
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
}
NOT = { has_game_rule = world_of_monsters }
scope:holder = { has_trait = mortal }
}
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
}
ai_value = {
base = 0
modifier = {
add = 3
scope:holder = {
government_has_flag = government_is_republic
}
}
}
}