N3OW_Western_eastern_europe/common/buildings/00_castle_buildings.txt

1905 lines
70 KiB
Text
Raw Normal View History

2026-02-19 22:52:49 +00:00
@holding_illustration_western = "gfx/interface/illustrations/holding_types/castle_western.dds"
@holding_illustration_mena = "gfx/interface/illustrations/holding_types/castle_mena.dds"
@holding_illustration_india = "gfx/interface/illustrations/holding_types/castle_india.dds"
@holding_illustration_seasia = "gfx/interface/illustrations/holding_types/tgp_castle_se_asia.dds"
@holding_illustration_china = "gfx/interface/illustrations/holding_types/tgp_castle_china.dds"
@holding_illustration_japan = "gfx/interface/illustrations/holding_types/tgp_castle_japan.dds"
@holding_illustration_mediterranean = "gfx/interface/illustrations/holding_types/castle_mediterranean.dds"
@holding_illustration_norse = "gfx/interface/illustrations/holding_types/fp1_castle_norse.dds"
@holding_illustration_iberian = "gfx/interface/illustrations/holding_types/fp2_castle_iberian.dds"
@holding_illustration_iranian = "gfx/interface/illustrations/holding_types/fp3_castle_iranian.dds"
@holding_illustration_byzantine = "gfx/interface/illustrations/holding_types/ep3_castle_byzantine.dds"
@holding_illustration_constantinople = "gfx/interface/illustrations/holding_types/ep3_castle_constantinople.dds"
castle_01 = {
construction_time = slow_construction_time
#Meshes (Indented for readability)
### WESTERN ###
asset = {
type = pdxmesh
names = {
"building_western_castle_01_mesh"
"building_western_castle_01_b_mesh"
}
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 0 } }
}
asset = {
type = pdxmesh
names = {
"building_western_castle_01_mena_mesh"
"building_western_castle_01_b_mena_mesh"
}
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 0 } }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
names = {
"building_western_castle_01_mediterranean_mesh"
"building_western_castle_01_b_mediterranean_mesh"
}
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 0 } }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
names = {
"building_western_castle_01_indian_mesh"
"building_western_castle_01_b_indian_mesh"
}
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 0 } }
graphical_regions = { graphical_india }
}
### INDIAN ###
asset = {
type = pdxmesh
name = "building_indian_castle_01_western_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { indian_building_gfx tibetan_building_gfx }
}
asset = {
type = pdxmesh
name = "building_indian_castle_01_mena_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { indian_building_gfx tibetan_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_indian_castle_01_mediterranean_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { indian_building_gfx tibetan_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "building_indian_castle_01_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { indian_building_gfx tibetan_building_gfx }
graphical_regions = { graphical_india }
}
### MENA ###
asset = {
type = pdxmesh
name = "building_mena_castle_01_western_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx }
}
asset = {
type = pdxmesh
name = "building_mena_castle_01_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_mena_castle_01_mediterranean_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "building_mena_castle_01_indian_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { mena_building_gfx }
graphical_regions = { graphical_india }
}
### MEDITERRANEAN ###
asset = {
type = pdxmesh
name = "building_mediterranean_castle_01_western_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { mediterranean_building_gfx }
}
asset = {
type = pdxmesh
name = "building_mediterranean_castle_01_mena_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { mediterranean_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_mediterranean_castle_01_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { mediterranean_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "building_mediterranean_castle_01_indian_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { mediterranean_building_gfx }
graphical_regions = { graphical_india }
}
### FP1 Norse ###
asset = {
type = pdxmesh
name = "fp1_building_norse_castle_01_mesh"
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { norse_building_gfx }
}
asset = {
type = pdxmesh
name = "fp1_building_norse_castle_01_mena_mesh"
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { norse_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "fp1_building_norse_castle_01_mediterranean_mesh"
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { norse_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "fp1_building_norse_castle_01_indian_mesh"
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { norse_building_gfx }
graphical_regions = { graphical_india }
}
### FP2 Iberian ###
asset = {
type = pdxmesh
name = "fp2_building_iberian_castle_01_mesh"
requires_dlc_flag = the_fate_of_iberia
illustration = @holding_illustration_iberian
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/iberian_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { iberian_building_gfx }
graphical_regions = { graphical_mediterranean }
}
### FP3 Iranian ###
asset = {
type = pdxmesh
name = "fp3_building_persian_castle_01_a_01_mesh"
requires_dlc_flag = legacy_of_persia
illustration = @holding_illustration_iranian
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { iranian_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "fp3_building_persian_castle_01_a_01_mesh"
requires_dlc_flag = legacy_of_persia
illustration = @holding_illustration_iranian
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { iranian_building_gfx }
graphical_regions = { graphical_india }
}
asset = {
type = pdxmesh
name = "building_mena_castle_01_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { iranian_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_indian_castle_01_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { iranian_building_gfx }
graphical_regions = { graphical_india }
}
### EP3 Byzantine ###
asset = {
type = pdxmesh
name = "ep3_byzantine_castle_01_a_mesh"
requires_dlc_flag = roads_to_power
illustration = @holding_illustration_constantinople
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { byzantine_building_gfx }
provinces = { 496 }
}
asset = {
type = pdxmesh
name = "ep3_byzantine_castle_01_a_mesh"
requires_dlc_flag = roads_to_power
illustration = @holding_illustration_byzantine
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { byzantine_building_gfx caucasian_building_gfx }
graphical_regions = { graphical_mediterranean graphical_mena }
}
#Steppe fallbacks
#For steppe
asset = {
type = pdxmesh
name = "building_mena_castle_01_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_siberia }
}
asset = {
type = pdxmesh
name = "building_mena_castle_01_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_steppe }
}
asset = {
type = pdxmesh
name = "tgp_building_chinese_castle_01_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_east_asia }
}
#Elsewhere
asset = {
type = pdxmesh
names = {
"building_western_castle_01_mesh"
"building_western_castle_01_b_mesh"
}
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 0 } }
graphical_regions = { graphical_western }
graphical_cultures = { steppe_building_gfx }
}
asset = {
type = pdxmesh
name = "building_indian_castle_01_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_india }
}
asset = {
type = pdxmesh
name = "building_mena_castle_01_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_mediterranean_castle_01_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "ep3_byzantine_castle_01_a_mesh"
requires_dlc_flag = roads_to_power
illustration = @holding_illustration_constantinople
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { steppe_building_gfx }
provinces = { 496 }
}
# SOUTHEAST ASIA #
asset = {
type = pdxmesh
name = "tgp_building_se_asia_castle_01_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_seasia
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/sea_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { southeast_asian_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
}
# China
asset = {
type = pdxmesh
name = "tgp_building_chinese_castle_01_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { chinese_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
}
# TGP Japan
asset = {
type = pdxmesh
name = "tgp_building_japanese_castle_01_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_japan
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/japanese_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { japanese_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
}
can_construct_potential = {
barony_cannot_construct_holding = no
}
can_construct = {
culture = {
has_innovation = innovation_motte
}
japan_castle_construction_trigger = yes
}
can_construct_showing_failures_only = {
building_requirement_tribal = no
building_requirement_tribal_holding_in_county = yes
building_requirement_nomad = no
building_requirement_nomad_holding_in_county = yes
building_requirement_herder = no
building_requirement_herder_holding_in_county = yes
}
cost_gold = main_building_tier_1_cost
next_building = castle_02
levy = normal_building_levy_tier_2
max_garrison = good_building_max_garrison_tier_1
garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_2
province_modifier = {
monthly_income = poor_building_tax_tier_2
fort_level = great_building_fort_level_tier_1
stationed_maa_damage_mult = normal_maa_damage_tier_1
stationed_maa_toughness_mult = normal_maa_toughness_tier_1
stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_1
travel_danger = -10
}
province_terrain_modifier = {
parameter = coastal_holding_bonuses
is_coastal = yes
build_speed = -0.1
}
province_culture_modifier = {
parameter = castle_fortifications_increase
defender_holding_advantage = 5
}
character_modifier = {
men_at_arms_cap = 1
}
character_culture_modifier = {
parameter = castle_grant_prestige
monthly_prestige = 0.02
monthly_dynasty_prestige = 0.01
}
province_terrain_modifier = {
parameter = maritime_mercantilism_coastal_holdings
is_coastal = yes
tax_mult = maritime_mercantilism_coastal_holdings_value
}
province_terrain_modifier = {
parameter = castle_holding_fort_level_in_jungle_bonus
terrain = jungle
additional_fort_level = 1
}
province_terrain_modifier = {
parameter = coastal_holdings_give_defensive_bonus
is_coastal = yes
defender_holding_advantage = 2
}
2026-03-10 00:41:50 +00:00
county_culture_modifier = {
parameter = use_farmer_republics
county_fertility_decline_add = -1
}
2026-02-19 22:52:49 +00:00
flag = castle
type_icon = "icon_building_ramparts.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
}
}
}
}
# Harrying logic.
if = {
limit = {
character_is_valid_for_harrying_of_the_north_trigger = yes
is_important_or_vip_struggle_character = yes
}
global_var:harrying_of_the_north = { save_scope_as = story }
if = {
limit = { character_is_valid_norman_for_harrying_of_the_north_trigger = yes }
ep3_increase_pacification_effect = { AMOUNT = harrying_medium_increase_value }
}
else_if = {
limit = { character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes }
ep3_increase_resistance_effect = { AMOUNT = harrying_medium_increase_value }
}
}
}
#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 = 100
modifier = {
factor = 0
scope:holder = {
government_has_flag = government_is_theocracy
}
}
modifier = {
add = 50
scope:holder = {
NOT = { government_has_flag = government_is_mandala }
}
county = {
NOT = {
any_county_province = {
has_building_or_higher = castle_01
}
}
}
}
modifier = {
factor = 5
scope:holder.culture = { has_cultural_parameter = ai_more_likely_to_castle }
}
}
}
castle_02 = {
construction_time = slow_construction_time
#Meshes (Indented for readability)
### WESTERN ###
asset = {
type = pdxmesh
name = "building_western_castle_02_mesh"
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 1 } }
}
asset = {
type = pdxmesh
name = "building_western_castle_02_mena_mesh"
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 1 } }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_western_castle_02_mediterranean_mesh"
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 1 } }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "building_western_castle_02_indian_mesh"
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 1 } }
graphical_regions = { graphical_india }
}
### MENA ###
asset = {
type = pdxmesh
name = "building_mena_castle_02_western_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx }
}
asset = {
type = pdxmesh
name = "building_mena_castle_02_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_mena_castle_02_mediterranean_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "building_mena_castle_02_indian_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx }
graphical_regions = { graphical_india }
}
### INDIAN ###
asset = {
type = pdxmesh
name = "building_indian_castle_02_western_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { indian_building_gfx tibetan_building_gfx }
}
asset = {
type = pdxmesh
name = "building_indian_castle_02_mena_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { indian_building_gfx tibetan_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_indian_castle_02_mediterranean_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { indian_building_gfx tibetan_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "building_indian_castle_02_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { indian_building_gfx tibetan_building_gfx }
graphical_regions = { graphical_india }
}
### MEDITERRANEAN ###
asset = {
type = pdxmesh
name = "building_mediterranean_castle_02_western_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { mediterranean_building_gfx }
}
asset = {
type = pdxmesh
name = "building_mediterranean_castle_02_mena_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { mediterranean_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_mediterranean_castle_02_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { mediterranean_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "building_mediterranean_castle_02_indian_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { mediterranean_building_gfx }
graphical_regions = { graphical_india }
}
### FP1 Norse ###
asset = {
type = pdxmesh
name = "fp1_building_norse_castle_02_mesh"
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { norse_building_gfx }
}
asset = {
type = pdxmesh
name = "fp1_building_norse_castle_02_mena_mesh"
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { norse_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "fp1_building_norse_castle_02_mediterranean_mesh"
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { norse_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "fp1_building_norse_castle_02_indian_mesh"
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { norse_building_gfx }
graphical_regions = { graphical_india }
}
### FP2 Iberian ###
asset = {
type = pdxmesh
name = "fp2_building_iberian_castle_02_mesh"
requires_dlc_flag = the_fate_of_iberia
illustration = @holding_illustration_iberian
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/iberian_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { iberian_building_gfx }
graphical_regions = { graphical_mediterranean }
}
### FP3 Iranian ###
asset = {
type = pdxmesh
name = "fp3_building_persian_castle_02_a_01_mesh"
requires_dlc_flag = legacy_of_persia
illustration = @holding_illustration_iranian
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { iranian_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "fp3_building_persian_castle_02_a_01_mesh"
requires_dlc_flag = legacy_of_persia
illustration = @holding_illustration_iranian
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { iranian_building_gfx }
graphical_regions = { graphical_india }
}
asset = {
type = pdxmesh
name = "building_mena_castle_02_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { iranian_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_indian_castle_02_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { iranian_building_gfx }
graphical_regions = { graphical_india }
}
### EP3 Byzantine ###
asset = {
type = pdxmesh
name = "ep3_byzantine_castle_02_a_mesh"
requires_dlc_flag = roads_to_power
illustration = @holding_illustration_constantinople
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { byzantine_building_gfx }
provinces = { 496 }
}
asset = {
type = pdxmesh
name = "ep3_byzantine_castle_02_a_mesh"
requires_dlc_flag = roads_to_power
illustration = @holding_illustration_byzantine
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { byzantine_building_gfx caucasian_building_gfx }
graphical_regions = { graphical_mediterranean graphical_mena }
}
#Steppe fallbacks
#For steppe
asset = {
type = pdxmesh
name = "building_mena_castle_02_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_steppe }
}
asset = {
type = pdxmesh
name = "building_mena_castle_02_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_siberia }
}
#Elsewhere
### WESTERN ###
asset = {
type = pdxmesh
name = "building_western_castle_02_mesh"
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 1 } }
graphical_regions = { graphical_western }
graphical_cultures = { steppe_building_gfx }
}
asset = {
type = pdxmesh
name = "building_mena_castle_02_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_indian_castle_02_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_india }
}
asset = {
type = pdxmesh
name = "building_mediterranean_castle_02_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "tgp_building_chinese_castle_02_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_east_asia }
}
### EP3 Byzantine ###
asset = {
type = pdxmesh
name = "ep3_byzantine_castle_02_a_mesh"
requires_dlc_flag = roads_to_power
illustration = @holding_illustration_constantinople
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { steppe_building_gfx }
provinces = { 496 }
}
# SOUTHEAST ASIA #
asset = {
type = pdxmesh
name = "tgp_building_se_asia_castle_01_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_seasia
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/sea_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { southeast_asian_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
}
# TGP China
asset = {
type = pdxmesh
name = "tgp_building_chinese_castle_02_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { chinese_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
}
# TGP Japan
asset = {
type = pdxmesh
name = "tgp_building_japanese_castle_02_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_japan
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/japanese_castle" soundparameter = { "Tier" = 1 } }
graphical_cultures = { japanese_building_gfx }
graphical_regions = { graphical_east_asia }
}
can_construct_potential = {
building_requirement_tribal = no
}
can_construct = {
culture = {
has_innovation = innovation_battlements
}
japan_castle_construction_trigger = yes
}
cost_gold = main_building_tier_2_cost
next_building = castle_03
levy = normal_building_levy_tier_4
max_garrison = good_building_max_garrison_tier_3
garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_4
province_modifier = {
monthly_income = poor_building_tax_tier_4
fort_level = great_building_fort_level_tier_2
stationed_maa_damage_mult = normal_maa_damage_tier_2
stationed_maa_toughness_mult = normal_maa_toughness_tier_2
stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_2
travel_danger = -12
}
province_terrain_modifier = {
parameter = coastal_holding_bonuses
is_coastal = yes
build_speed = -0.1
}
province_culture_modifier = {
parameter = castle_fortifications_increase
defender_holding_advantage = 10
}
character_culture_modifier = {
parameter = castle_grant_prestige
monthly_prestige = 0.03
monthly_dynasty_prestige = 0.02
}
province_terrain_modifier = {
parameter = maritime_mercantilism_coastal_holdings
is_coastal = yes
tax_mult = maritime_mercantilism_coastal_holdings_value
}
province_terrain_modifier = {
parameter = castle_holding_fort_level_in_jungle_bonus
terrain = jungle
additional_fort_level = 2
}
province_terrain_modifier = {
parameter = coastal_holdings_give_defensive_bonus
is_coastal = yes
defender_holding_advantage = 3
}
2026-03-10 00:41:50 +00:00
county_culture_modifier = {
parameter = use_farmer_republics
county_fertility_decline_add = -2
}
2026-02-19 22:52:49 +00:00
character_modifier = {
men_at_arms_cap = 1
}
flag = castle
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 = 9
ai_general_building_modifier = yes
modifier = {
add = 1
scope:holder.culture = { has_cultural_parameter = ai_more_likely_to_castle }
}
modifier = {
add = 10
scope:holder.culture = { has_cultural_era_or_later = culture_era_high_medieval }
}
modifier = {
factor = 3
scope:holder.capital_province = this
}
modifier = {
factor = 0.1
free_building_slots >= 1
years_from_game_start >= 1
}
modifier = {
factor = 0.1
combined_building_level <= 10
years_from_game_start >= 1
}
#Needed for the initial construction setup for the AI (to avoid the AI spending their free construction setup on upgrading all holdings instead of building buildings)
modifier = {
factor = 0.3
years_from_game_start <= 0.01
}
}
}
castle_03 = {
construction_time = slow_construction_time
#Meshes (Indented for readability)
### WESTERN ###
asset = {
type = pdxmesh
name = "building_western_castle_03_mesh"
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 2 } }
}
asset = {
type = pdxmesh
name = "building_western_castle_03_mena_mesh"
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 2 } }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_western_castle_03_mediterranean_mesh"
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 2 } }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "building_western_castle_03_indian_mesh"
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 2 } }
graphical_regions = { graphical_india }
}
### MENA ###
asset = {
type = pdxmesh
name = "building_mena_castle_03_western_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx }
}
asset = {
type = pdxmesh
name = "building_mena_castle_03_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_mena_castle_03_mediterranean_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "building_mena_castle_03_indian_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx }
graphical_regions = { graphical_india }
}
### INDIAN ###
asset = {
type = pdxmesh
name = "building_indian_castle_03_western_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { indian_building_gfx tibetan_building_gfx }
}
asset = {
type = pdxmesh
name = "building_indian_castle_03_mena_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { indian_building_gfx tibetan_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_indian_castle_03_mediterranean_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { indian_building_gfx tibetan_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "building_indian_castle_03_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { indian_building_gfx tibetan_building_gfx }
graphical_regions = { graphical_india }
}
### MEDITERRANEAN ###
asset = {
type = pdxmesh
name = "building_mediterranean_castle_03_western_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { mediterranean_building_gfx }
}
asset = {
type = pdxmesh
name = "building_mediterranean_castle_03_mena_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { mediterranean_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_mediterranean_castle_03_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { mediterranean_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "building_mediterranean_castle_03_indian_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { mediterranean_building_gfx }
graphical_regions = { graphical_india }
}
### FP1 Norse ###
asset = {
type = pdxmesh
name = "fp1_building_norse_castle_03_mesh"
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { norse_building_gfx }
}
asset = {
type = pdxmesh
name = "fp1_building_norse_castle_03_mena_mesh"
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { norse_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "fp1_building_norse_castle_03_mediterranean_mesh"
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { norse_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "fp1_building_norse_castle_03_indian_mesh"
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { norse_building_gfx }
graphical_regions = { graphical_india }
}
### FP2 Iberian ###
asset = {
type = pdxmesh
name = "fp2_building_iberian_castle_03_mesh"
requires_dlc_flag = the_fate_of_iberia
illustration = @holding_illustration_iberian
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/iberian_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { iberian_building_gfx }
graphical_regions = { graphical_mediterranean }
}
### FP3 Iranian ###
asset = {
type = pdxmesh
name = "fp3_building_persian_castle_03_a_01_mesh"
requires_dlc_flag = legacy_of_persia
illustration = @holding_illustration_iranian
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { iranian_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "fp3_building_persian_castle_03_a_01_mesh"
requires_dlc_flag = legacy_of_persia
illustration = @holding_illustration_iranian
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { iranian_building_gfx }
graphical_regions = { graphical_india }
}
asset = {
type = pdxmesh
name = "building_mena_castle_03_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { iranian_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_indian_castle_03_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { iranian_building_gfx }
graphical_regions = { graphical_india }
}
### EP3 Byzantine ###
asset = {
type = pdxmesh
name = "ep3_byzantine_castle_03_a_mesh"
requires_dlc_flag = roads_to_power
illustration = @holding_illustration_constantinople
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { byzantine_building_gfx }
provinces = { 496 }
}
asset = {
type = pdxmesh
name = "ep3_byzantine_castle_03_a_mesh"
requires_dlc_flag = roads_to_power
illustration = @holding_illustration_byzantine
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { byzantine_building_gfx caucasian_building_gfx } #+2
graphical_regions = { graphical_mediterranean graphical_mena } #4
}
#Steppe fallbacks
#For steppe
asset = {
type = pdxmesh
name = "building_mena_castle_03_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_steppe }
}
asset = {
type = pdxmesh
name = "building_mena_castle_03_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_siberia }
}
#Elsewhere
asset = {
type = pdxmesh
name = "building_western_castle_03_mesh"
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_western }
}
asset = {
type = pdxmesh
name = "building_mena_castle_03_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_indian_castle_03_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_india }
}
asset = {
type = pdxmesh
name = "building_mediterranean_castle_03_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "tgp_building_chinese_castle_03_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_east_asia }
}
asset = {
type = pdxmesh
name = "ep3_byzantine_castle_03_a_mesh"
requires_dlc_flag = roads_to_power
illustration = @holding_illustration_constantinople
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { steppe_building_gfx }
provinces = { 496 }
}
# SOUTHEAST ASIA #
asset = {
type = pdxmesh
name = "tgp_building_se_asia_castle_02_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_seasia
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/sea_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { southeast_asian_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
}
# TGP China
asset = {
type = pdxmesh
name = "tgp_building_chinese_castle_03_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { chinese_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
}
# TGP Japan
asset = {
type = pdxmesh
name = "tgp_building_japanese_castle_03_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_japan
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/japanese_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { japanese_building_gfx }
graphical_regions = { graphical_east_asia }
}
can_construct_potential = {
building_requirement_tribal = no
}
can_construct = {
culture = {
has_innovation = innovation_hoardings
}
japan_castle_construction_trigger = yes
}
cost_gold = main_building_tier_3_cost
next_building = castle_04
levy = normal_building_levy_tier_6
max_garrison = good_building_max_garrison_tier_5
garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_6
province_modifier = {
monthly_income = poor_building_tax_tier_6
fort_level = great_building_fort_level_tier_3
stationed_maa_damage_mult = normal_maa_damage_tier_3
stationed_maa_toughness_mult = normal_maa_toughness_tier_3
stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_3
travel_danger = -14
}
province_terrain_modifier = {
parameter = coastal_holding_bonuses
is_coastal = yes
build_speed = -0.1
}
province_culture_modifier = {
parameter = castle_fortifications_increase
defender_holding_advantage = 15
}
character_culture_modifier = {
parameter = castle_grant_prestige
monthly_prestige = 0.04
monthly_dynasty_prestige = 0.03
}
province_terrain_modifier = {
parameter = maritime_mercantilism_coastal_holdings
is_coastal = yes
tax_mult = maritime_mercantilism_coastal_holdings_value
}
province_terrain_modifier = {
parameter = castle_holding_fort_level_in_jungle_bonus
terrain = jungle
additional_fort_level = 3
}
province_terrain_modifier = {
parameter = coastal_holdings_give_defensive_bonus
is_coastal = yes
defender_holding_advantage = 4
}
2026-03-10 00:41:50 +00:00
county_culture_modifier = {
parameter = use_farmer_republics
county_fertility_decline_add = -3
}
2026-02-19 22:52:49 +00:00
character_modifier = {
men_at_arms_cap = 1
}
flag = castle
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
}
}
}
}
}
scope:character = {
#Mandala Creator Aspect
creator_mandala_upgraded_regular_holding_piety_effect = yes
}
}
ai_value = {
base = 8
ai_general_building_modifier = yes
modifier = {
add = 1
scope:holder.culture = { has_cultural_parameter = ai_more_likely_to_castle }
}
modifier = {
add = 10
scope:holder.culture = { has_cultural_era_or_later = culture_era_late_medieval }
}
modifier = {
factor = 3
scope:holder.capital_province = this
}
modifier = {
factor = 0.2
combined_building_level <= 20
years_from_game_start >= 1
}
}
}
castle_04 = {
construction_time = slow_construction_time
#Meshes (Indented for readability)
### WESTERN ###
asset = {
type = pdxmesh
name = "building_western_castle_04_mesh"
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 3 } }
}
asset = {
type = pdxmesh
name = "building_western_castle_04_mena_mesh"
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 3 } }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_western_castle_04_mediterranean_mesh"
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 3 } }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "building_western_castle_04_indian_mesh"
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 3 } }
graphical_regions = { graphical_india }
}
### MENA ###
asset = {
type = pdxmesh
name = "building_mena_castle_04_western_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx }
}
asset = {
type = pdxmesh
name = "building_mena_castle_04_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_mena_castle_04_mediterranean_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "building_mena_castle_04_indian_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { mena_building_gfx arabic_group_building_gfx berber_group_building_gfx }
graphical_regions = { graphical_india }
}
### INDIAN ###
asset = {
type = pdxmesh
name = "building_indian_castle_04_western_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { indian_building_gfx tibetan_building_gfx }
}
asset = {
type = pdxmesh
name = "building_indian_castle_04_mena_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { indian_building_gfx tibetan_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_indian_castle_04_mediterranean_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { indian_building_gfx tibetan_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "building_indian_castle_04_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { indian_building_gfx tibetan_building_gfx }
graphical_regions = { graphical_india }
}
### MEDITERRANEAN ###
asset = {
type = pdxmesh
name = "building_mediterranean_castle_04_western_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { mediterranean_building_gfx }
}
asset = {
type = pdxmesh
name = "building_mediterranean_castle_04_mena_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { mediterranean_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_mediterranean_castle_04_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { mediterranean_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "building_mediterranean_castle_04_indian_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { mediterranean_building_gfx }
graphical_regions = { graphical_india }
}
### FP1 Norse ###
asset = {
type = pdxmesh
name = "fp1_building_norse_castle_04_mesh"
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { norse_building_gfx }
}
asset = {
type = pdxmesh
name = "fp1_building_norse_castle_04_mena_mesh"
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { norse_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "fp1_building_norse_castle_04_mediterranean_mesh"
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { norse_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "fp1_building_norse_castle_04_indian_mesh"
requires_dlc_flag = the_northern_lords
illustration = @holding_illustration_norse
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/nordic_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { norse_building_gfx }
graphical_regions = { graphical_india }
}
### FP2 Iberian ###
asset = {
type = pdxmesh
name = "fp2_building_iberian_castle_04_mesh"
requires_dlc_flag = the_fate_of_iberia
illustration = @holding_illustration_iberian
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/iberian_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { iberian_building_gfx }
graphical_regions = { graphical_mediterranean }
}
### FP3 Iranian ###
asset = {
type = pdxmesh
name = "fp3_building_persian_castle_04_a_01_mesh"
requires_dlc_flag = legacy_of_persia
illustration = @holding_illustration_iranian
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { iranian_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "fp3_building_persian_castle_04_a_01_mesh"
requires_dlc_flag = legacy_of_persia
illustration = @holding_illustration_iranian
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { iranian_building_gfx }
graphical_regions = { graphical_india }
}
asset = {
type = pdxmesh
name = "building_mena_castle_04_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { iranian_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_indian_castle_04_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } }
graphical_cultures = { iranian_building_gfx }
graphical_regions = { graphical_india }
}
### EP3 Byzantine ###
asset = {
type = pdxmesh
name = "ep3_byzantine_castle_04_a_mesh"
requires_dlc_flag = roads_to_power
illustration = @holding_illustration_constantinople
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { byzantine_building_gfx }
provinces = { 496 }
}
asset = {
type = pdxmesh
name = "ep3_byzantine_castle_04_a_mesh"
requires_dlc_flag = roads_to_power
illustration = @holding_illustration_byzantine
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { byzantine_building_gfx caucasian_building_gfx }
graphical_regions = { graphical_mediterranean graphical_mena }
}
#Steppe fallbacks
#For steppe
asset = {
type = pdxmesh
name = "building_mena_castle_04_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_steppe }
}
asset = {
type = pdxmesh
name = "building_mena_castle_04_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_siberia }
}
#Elsewhere
asset = {
type = pdxmesh
name = "building_western_castle_04_mesh"
illustration = @holding_illustration_western
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/western_castle" soundparameter = { "Tier" = 3 } }
graphical_regions = { graphical_western }
graphical_cultures = { steppe_building_gfx }
}
asset = {
type = pdxmesh
name = "building_mena_castle_04_mesh"
illustration = @holding_illustration_mena
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_mena }
}
asset = {
type = pdxmesh
name = "building_indian_castle_04_mesh"
illustration = @holding_illustration_india
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/indian_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_india }
}
asset = {
type = pdxmesh
name = "building_mediterranean_castle_04_mesh"
illustration = @holding_illustration_mediterranean
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_mediterranean }
}
asset = {
type = pdxmesh
name = "tgp_building_chinese_castle_04_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_east_asia }
}
asset = {
type = pdxmesh
name = "ep3_byzantine_castle_04_a_mesh"
requires_dlc_flag = roads_to_power
illustration = @holding_illustration_constantinople
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { steppe_building_gfx }
provinces = { 496 }
}
# SOUTHEAST ASIA #
asset = {
type = pdxmesh
name = "tgp_building_se_asia_castle_02_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_seasia
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/sea_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { southeast_asian_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
}
asset = {
type = pdxmesh
name = "tgp_building_chinese_castle_04_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { chinese_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
}
# TGP Japan
asset = {
type = pdxmesh
name = "tgp_building_japanese_castle_04_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_japan
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/japanese_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { japanese_building_gfx }
graphical_regions = { graphical_east_asia }
}
can_construct_potential = {
building_requirement_tribal = no
}
can_construct = {
culture = {
has_innovation = innovation_machicolations
}
japan_castle_construction_trigger = yes
}
cost_gold = main_building_tier_4_cost
levy = normal_building_levy_tier_8
max_garrison = good_building_max_garrison_tier_7
garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_8
province_modifier = {
monthly_income = poor_building_tax_tier_8
fort_level = great_building_fort_level_tier_4
stationed_maa_damage_mult = normal_maa_damage_tier_4
stationed_maa_toughness_mult = normal_maa_toughness_tier_4
stationed_siege_weapon_siege_value_mult = normal_maa_siege_value_tier_4
travel_danger = -16
}
province_terrain_modifier = {
parameter = coastal_holding_bonuses
is_coastal = yes
build_speed = -0.1
}
province_culture_modifier = {
parameter = castle_fortifications_increase
defender_holding_advantage = 20
}
character_culture_modifier = {
parameter = castle_grant_prestige
monthly_prestige = 0.05
monthly_dynasty_prestige = 0.04
}
province_terrain_modifier = {
parameter = maritime_mercantilism_coastal_holdings
is_coastal = yes
tax_mult = maritime_mercantilism_coastal_holdings_value
}
province_terrain_modifier = {
parameter = castle_holding_fort_level_in_jungle_bonus
terrain = jungle
additional_fort_level = 4
}
province_terrain_modifier = {
parameter = coastal_holdings_give_defensive_bonus
is_coastal = yes
defender_holding_advantage = 5
}
2026-03-10 00:41:50 +00:00
county_culture_modifier = {
parameter = use_farmer_republics
county_fertility_decline_add = -4
}
2026-02-19 22:52:49 +00:00
character_modifier = {
men_at_arms_cap = 1
}
flag = castle
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
}
}
}
}
}
scope:character = {
#Mandala Creator Aspect
creator_mandala_upgraded_regular_holding_piety_effect = yes
}
}
ai_value = {
base = 17
ai_general_building_modifier = yes
modifier = {
add = 1
scope:holder.culture = { has_cultural_parameter = ai_more_likely_to_castle }
}
modifier = {
factor = 3
scope:holder.capital_province = this
}
modifier = {
factor = 0.2
combined_building_level <= 30
years_from_game_start >= 1
}
}
}