This commit is contained in:
Magpie490 2025-11-04 11:13:48 +00:00
parent 7537d1b934
commit a825507485
20 changed files with 23165 additions and 4341 deletions

View file

@ -1,6 +1,9 @@
@holding_illustration_western = "gfx/interface/illustrations/holding_types/castle_western.dds" @holding_illustration_western = "gfx/interface/illustrations/holding_types/castle_western.dds"
@holding_illustration_mena = "gfx/interface/illustrations/holding_types/castle_mena.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_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_mediterranean = "gfx/interface/illustrations/holding_types/castle_mediterranean.dds"
@holding_illustration_norse = "gfx/interface/illustrations/holding_types/fp1_castle_norse.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_iberian = "gfx/interface/illustrations/holding_types/fp2_castle_iberian.dds"
@ -11,6 +14,7 @@
castle_01 = { castle_01 = {
construction_time = slow_construction_time construction_time = slow_construction_time
#Meshes (Indented for readability)
### WESTERN ### ### WESTERN ###
asset = { asset = {
type = pdxmesh type = pdxmesh
@ -273,6 +277,15 @@ castle_01 = {
graphical_cultures = { steppe_building_gfx } graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_steppe } 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 #Elsewhere
asset = { asset = {
@ -319,6 +332,36 @@ castle_01 = {
graphical_cultures = { steppe_building_gfx } graphical_cultures = { steppe_building_gfx }
provinces = { 496 } 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 = { can_construct_potential = {
barony_cannot_construct_holding = no barony_cannot_construct_holding = no
@ -328,6 +371,7 @@ castle_01 = {
culture = { culture = {
has_innovation = innovation_motte has_innovation = innovation_motte
} }
japan_castle_construction_trigger = yes
} }
can_construct_showing_failures_only = { can_construct_showing_failures_only = {
@ -398,16 +442,14 @@ castle_01 = {
if = { if = {
limit = { limit = {
any_vassal = { any_vassal = {
has_vassal_stance = parochial vassal_stance = parochial
} }
save_temporary_scope_as = holder_scope save_temporary_scope_as = holder_scope
} }
custom_tooltip = parochial_vassal_approves_holding_construction custom_tooltip = parochial_vassal_approves_holding_construction
hidden_effect = { hidden_effect = {
every_vassal = { every_vassal = {
limit = { vassal_stance = parochial
has_vassal_stance = parochial
}
add_opinion = { add_opinion = {
target = prev target = prev
modifier = parochial_approves_holding_construction_opinion modifier = parochial_approves_holding_construction_opinion
@ -432,6 +474,22 @@ castle_01 = {
} }
} }
} }
#Mandala Creator Aspect
creator_mandala_built_regular_holding_piety_effect = yes
# Building Oath
hidden_effect = {
if = {
limit = {
county.holder = {
has_character_modifier = oath_of_buildings
}
}
add_random_economic_building_effect = yes
add_random_military_building_effect = yes
add_random_fortification_building_effect = yes
}
}
} }
ai_value = { ai_value = {
@ -445,6 +503,9 @@ castle_01 = {
modifier = { modifier = {
add = 50 add = 50
scope:holder = {
NOT = { government_has_flag = government_is_mandala }
}
county = { county = {
NOT = { NOT = {
any_county_province = { any_county_province = {
@ -463,6 +524,7 @@ castle_01 = {
castle_02 = { castle_02 = {
construction_time = slow_construction_time construction_time = slow_construction_time
#Meshes (Indented for readability)
### WESTERN ### ### WESTERN ###
asset = { asset = {
type = pdxmesh type = pdxmesh
@ -748,6 +810,15 @@ castle_02 = {
graphical_cultures = { steppe_building_gfx } graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_mediterranean } 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 ### ### EP3 Byzantine ###
asset = { asset = {
type = pdxmesh type = pdxmesh
@ -758,6 +829,36 @@ castle_02 = {
graphical_cultures = { steppe_building_gfx } graphical_cultures = { steppe_building_gfx }
provinces = { 496 } 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 = { can_construct_potential = {
building_requirement_tribal = no building_requirement_tribal = no
@ -766,6 +867,7 @@ castle_02 = {
culture = { culture = {
has_innovation = innovation_battlements has_innovation = innovation_battlements
} }
japan_castle_construction_trigger = yes
} }
cost_gold = main_building_tier_2_cost cost_gold = main_building_tier_2_cost
@ -825,16 +927,14 @@ castle_02 = {
if = { if = {
limit = { limit = {
any_vassal = { any_vassal = {
has_vassal_stance = parochial vassal_stance = parochial
} }
save_temporary_scope_as = holder_scope save_temporary_scope_as = holder_scope
} }
custom_tooltip = parochial_vassal_approves_holding_upgrade custom_tooltip = parochial_vassal_approves_holding_upgrade
hidden_effect = { hidden_effect = {
every_vassal = { every_vassal = {
limit = { vassal_stance = parochial
has_vassal_stance = parochial
}
add_opinion = { add_opinion = {
target = prev target = prev
modifier = parochial_approves_holding_upgrade_opinion modifier = parochial_approves_holding_upgrade_opinion
@ -843,6 +943,8 @@ castle_02 = {
} }
} }
} }
#Mandala Creator Aspect
creator_mandala_upgraded_regular_holding_piety_effect = yes
} }
ai_value = { ai_value = {
@ -870,6 +972,7 @@ castle_02 = {
combined_building_level <= 10 combined_building_level <= 10
years_from_game_start >= 1 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 = { modifier = {
factor = 0.3 factor = 0.3
years_from_game_start <= 0.01 years_from_game_start <= 0.01
@ -880,6 +983,7 @@ castle_02 = {
castle_03 = { castle_03 = {
construction_time = slow_construction_time construction_time = slow_construction_time
#Meshes (Indented for readability)
### WESTERN ### ### WESTERN ###
asset = { asset = {
type = pdxmesh type = pdxmesh
@ -1174,6 +1278,15 @@ castle_03 = {
graphical_cultures = { steppe_building_gfx } graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_mediterranean } 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 = { asset = {
type = pdxmesh type = pdxmesh
name = "ep3_byzantine_castle_03_a_mesh" name = "ep3_byzantine_castle_03_a_mesh"
@ -1183,6 +1296,36 @@ castle_03 = {
graphical_cultures = { steppe_building_gfx } graphical_cultures = { steppe_building_gfx }
provinces = { 496 } provinces = { 496 }
} }
# SOUTHEAST ASIA #
asset = {
type = pdxmesh
name = "tgp_building_se_asia_castle_02_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_seasia
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/sea_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { southeast_asian_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
}
# TGP China
asset = {
type = pdxmesh
name = "tgp_building_chinese_castle_03_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { chinese_building_gfx }
graphical_regions = { graphical_east_asia }
}
# TGP Japan
asset = {
type = pdxmesh
name = "tgp_building_japanese_castle_03_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_japan
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/japanese_castle" soundparameter = { "Tier" = 2 } }
graphical_cultures = { japanese_building_gfx }
graphical_regions = { graphical_east_asia }
}
can_construct_potential = { can_construct_potential = {
building_requirement_tribal = no building_requirement_tribal = no
@ -1191,6 +1334,7 @@ castle_03 = {
culture = { culture = {
has_innovation = innovation_hoardings has_innovation = innovation_hoardings
} }
japan_castle_construction_trigger = yes
} }
cost_gold = main_building_tier_3_cost cost_gold = main_building_tier_3_cost
@ -1250,16 +1394,14 @@ castle_03 = {
if = { if = {
limit = { limit = {
any_vassal = { any_vassal = {
has_vassal_stance = parochial vassal_stance = parochial
} }
save_temporary_scope_as = holder_scope save_temporary_scope_as = holder_scope
} }
custom_tooltip = parochial_vassal_approves_holding_upgrade custom_tooltip = parochial_vassal_approves_holding_upgrade
hidden_effect = { hidden_effect = {
every_vassal = { every_vassal = {
limit = { vassal_stance = parochial
has_vassal_stance = parochial
}
add_opinion = { add_opinion = {
target = prev target = prev
modifier = parochial_approves_holding_upgrade_opinion modifier = parochial_approves_holding_upgrade_opinion
@ -1268,6 +1410,10 @@ castle_03 = {
} }
} }
} }
scope:character = {
#Mandala Creator Aspect
creator_mandala_upgraded_regular_holding_piety_effect = yes
}
} }
ai_value = { ai_value = {
@ -1296,6 +1442,7 @@ castle_03 = {
castle_04 = { castle_04 = {
construction_time = slow_construction_time construction_time = slow_construction_time
#Meshes (Indented for readability)
### WESTERN ### ### WESTERN ###
asset = { asset = {
type = pdxmesh type = pdxmesh
@ -1581,6 +1728,15 @@ castle_04 = {
graphical_cultures = { steppe_building_gfx } graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_mediterranean } 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 = { asset = {
type = pdxmesh type = pdxmesh
name = "ep3_byzantine_castle_04_a_mesh" name = "ep3_byzantine_castle_04_a_mesh"
@ -1590,6 +1746,35 @@ castle_04 = {
graphical_cultures = { steppe_building_gfx } graphical_cultures = { steppe_building_gfx }
provinces = { 496 } provinces = { 496 }
} }
# SOUTHEAST ASIA #
asset = {
type = pdxmesh
name = "tgp_building_se_asia_castle_02_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_seasia
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/sea_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { southeast_asian_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
}
asset = {
type = pdxmesh
name = "tgp_building_chinese_castle_04_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/chinese_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { chinese_building_gfx }
graphical_regions = { graphical_east_asia }
}
# TGP Japan
asset = {
type = pdxmesh
name = "tgp_building_japanese_castle_04_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_japan
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/japanese_castle" soundparameter = { "Tier" = 3 } }
graphical_cultures = { japanese_building_gfx }
graphical_regions = { graphical_east_asia }
}
can_construct_potential = { can_construct_potential = {
building_requirement_tribal = no building_requirement_tribal = no
@ -1598,6 +1783,7 @@ castle_04 = {
culture = { culture = {
has_innovation = innovation_machicolations has_innovation = innovation_machicolations
} }
japan_castle_construction_trigger = yes
} }
cost_gold = main_building_tier_4_cost cost_gold = main_building_tier_4_cost
@ -1656,16 +1842,14 @@ castle_04 = {
if = { if = {
limit = { limit = {
any_vassal = { any_vassal = {
has_vassal_stance = parochial vassal_stance = parochial
} }
save_temporary_scope_as = holder_scope save_temporary_scope_as = holder_scope
} }
custom_tooltip = parochial_vassal_approves_holding_upgrade custom_tooltip = parochial_vassal_approves_holding_upgrade
hidden_effect = { hidden_effect = {
every_vassal = { every_vassal = {
limit = { vassal_stance = parochial
has_vassal_stance = parochial
}
add_opinion = { add_opinion = {
target = prev target = prev
modifier = parochial_approves_holding_upgrade_opinion modifier = parochial_approves_holding_upgrade_opinion
@ -1674,6 +1858,10 @@ castle_04 = {
} }
} }
} }
scope:character = {
#Mandala Creator Aspect
creator_mandala_upgraded_regular_holding_piety_effect = yes
}
} }
ai_value = { ai_value = {

View file

@ -1,5 +1,8 @@
@holding_illustration_western = "gfx/interface/illustrations/holding_types/city_western.dds" @holding_illustration_western = "gfx/interface/illustrations/holding_types/city_western.dds"
@holding_illustration_india = "gfx/interface/illustrations/holding_types/city_india.dds" @holding_illustration_india = "gfx/interface/illustrations/holding_types/city_india.dds"
@holding_illustration_seasia = "gfx/interface/illustrations/holding_types/tgp_tgp_city_se_asia.dds"
@holding_illustration_china = "gfx/interface/illustrations/holding_types/tgp_city_china.dds"
@holding_illustration_japan = "gfx/interface/illustrations/holding_types/tgp_city_japan.dds"
@holding_illustration_mediterranean = "gfx/interface/illustrations/holding_types/city_mediterranean.dds" @holding_illustration_mediterranean = "gfx/interface/illustrations/holding_types/city_mediterranean.dds"
@holding_illustration_mena = "gfx/interface/illustrations/holding_types/city_mena.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_norse = "gfx/interface/illustrations/holding_types/fp1_city_norse.dds"
@ -10,6 +13,7 @@
city_01 = { city_01 = {
construction_time = slow_construction_time construction_time = slow_construction_time
#Meshes (Indented for readability)
asset = { asset = {
type = pdxmesh type = pdxmesh
names = { names = {
@ -258,7 +262,7 @@ city_01 = {
asset = { asset = {
type = pdxmesh type = pdxmesh
name = "ep3_byzantine_city_01_mesh" name = "ep3_byzantine_city_01_mesh"
### TODO Add DLC Check requires_dlc_flag = roads_to_power
illustration = @holding_illustration_byzantine illustration = @holding_illustration_byzantine
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } }
graphical_cultures = { byzantine_building_gfx } graphical_cultures = { byzantine_building_gfx }
@ -331,6 +335,45 @@ city_01 = {
graphical_cultures = { steppe_building_gfx } graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_mediterranean } graphical_regions = { graphical_mediterranean }
} }
asset = {
type = pdxmesh
name = "tgp_building_chinese_city_01_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 0 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_east_asia }
}
# TGP China
asset = {
type = pdxmesh
name = "tgp_building_chinese_city_01_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 0 } }
graphical_cultures = { chinese_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
}
# TGP Southeast Asia
asset = {
type = pdxmesh
name = "tgp_building_se_asia_city_01_a_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_seasia
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/sea_city" soundparameter = { "Tier" = 0 } }
graphical_cultures = { southeast_asian_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
}
# TGP Japan
asset = {
type = pdxmesh
name = "tgp_building_japanese_city_01_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_japan
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/japanese_city" soundparameter = { "Tier" = 0 } }
graphical_cultures = { japanese_building_gfx }
graphical_regions = { graphical_east_asia }
}
can_construct_potential = { can_construct_potential = {
barony_cannot_construct_holding = no barony_cannot_construct_holding = no
@ -414,16 +457,14 @@ city_01 = {
if = { if = {
limit = { limit = {
any_vassal = { any_vassal = {
has_vassal_stance = parochial vassal_stance = parochial
} }
save_temporary_scope_as = holder_scope save_temporary_scope_as = holder_scope
} }
custom_tooltip = parochial_vassal_approves_holding_construction custom_tooltip = parochial_vassal_approves_holding_construction
hidden_effect = { hidden_effect = {
every_vassal = { every_vassal = {
limit = { vassal_stance = parochial
has_vassal_stance = parochial
}
add_opinion = { add_opinion = {
target = prev target = prev
modifier = parochial_approves_holding_construction_opinion modifier = parochial_approves_holding_construction_opinion
@ -432,6 +473,22 @@ city_01 = {
} }
} }
} }
#Mandala Creator Aspect
creator_mandala_built_regular_holding_piety_effect = yes
# Building Oath
hidden_effect = {
if = {
limit = {
county.holder = {
has_character_modifier = oath_of_buildings
}
}
add_random_economic_building_effect = yes
add_random_military_building_effect = yes
add_random_fortification_building_effect = yes
}
}
} }
ai_value = { ai_value = {
@ -468,6 +525,7 @@ city_01 = {
city_02 = { city_02 = {
construction_time = slow_construction_time construction_time = slow_construction_time
#Meshes (Indented for readability)
asset = { asset = {
type = pdxmesh type = pdxmesh
names = { names = {
@ -788,6 +846,45 @@ city_02 = {
graphical_cultures = { steppe_building_gfx } graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_mediterranean } graphical_regions = { graphical_mediterranean }
} }
asset = {
type = pdxmesh
name = "tgp_building_chinese_city_01_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 1 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_east_asia }
}
# TGP China
asset = {
type = pdxmesh
name = "tgp_building_chinese_city_01_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 1 } }
graphical_cultures = { chinese_building_gfx }
graphical_regions = { graphical_east_asia }
}
# TGP Southeast Asia
asset = {
type = pdxmesh
name = "tgp_building_se_asia_city_01_a_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_seasia
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/sea_city" soundparameter = { "Tier" = 1 } }
graphical_cultures = { southeast_asian_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
}
# TGP Japan
asset = {
type = pdxmesh
name = "tgp_building_japanese_city_01_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_japan
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/japanese_city" soundparameter = { "Tier" = 1 } }
graphical_cultures = { japanese_building_gfx }
graphical_regions = { graphical_east_asia }
}
can_construct_potential = { can_construct_potential = {
building_requirement_tribal = no building_requirement_tribal = no
@ -874,16 +971,14 @@ city_02 = {
if = { if = {
limit = { limit = {
any_vassal = { any_vassal = {
has_vassal_stance = parochial vassal_stance = parochial
} }
save_temporary_scope_as = holder_scope save_temporary_scope_as = holder_scope
} }
custom_tooltip = parochial_vassal_approves_holding_upgrade custom_tooltip = parochial_vassal_approves_holding_upgrade
hidden_effect = { hidden_effect = {
every_vassal = { every_vassal = {
limit = { vassal_stance = parochial
has_vassal_stance = parochial
}
add_opinion = { add_opinion = {
target = prev target = prev
modifier = parochial_approves_holding_upgrade_opinion modifier = parochial_approves_holding_upgrade_opinion
@ -892,6 +987,8 @@ city_02 = {
} }
} }
} }
#Mandala Creator Aspect
creator_mandala_upgraded_regular_holding_piety_effect = yes
} }
ai_value = { ai_value = {
base = 6 base = 6
@ -917,6 +1014,7 @@ city_02 = {
city_03 = { city_03 = {
construction_time = slow_construction_time construction_time = slow_construction_time
#Meshes (Indented for readability)
asset = { asset = {
type = pdxmesh type = pdxmesh
names = { names = {
@ -1218,6 +1316,15 @@ city_03 = {
graphical_cultures = { steppe_building_gfx } graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_india } graphical_regions = { graphical_india }
} }
asset = {
type = pdxmesh
name = "tgp_building_chinese_city_02_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 2 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_east_asia }
}
asset = { asset = {
type = pdxmesh type = pdxmesh
names = { names = {
@ -1228,6 +1335,35 @@ city_03 = {
graphical_cultures = { steppe_building_gfx } graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_mediterranean } graphical_regions = { graphical_mediterranean }
} }
# TGP Southeast Asia
asset = {
type = pdxmesh
name = "tgp_building_se_asia_city_02_a_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_seasia
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/sea_city" soundparameter = { "Tier" = 2 } }
graphical_cultures = { southeast_asian_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
}
asset = {
type = pdxmesh
name = "tgp_building_chinese_city_02_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 2 } }
graphical_cultures = { chinese_building_gfx }
graphical_regions = { graphical_east_asia }
}
# TGP Japan
asset = {
type = pdxmesh
name = "tgp_building_japanese_city_02_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_japan
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/japanese_city" soundparameter = { "Tier" = 2 } }
graphical_cultures = { japanese_building_gfx }
graphical_regions = { graphical_east_asia }
}
can_construct_potential = { can_construct_potential = {
building_requirement_tribal = no building_requirement_tribal = no
@ -1317,16 +1453,14 @@ city_03 = {
if = { if = {
limit = { limit = {
any_vassal = { any_vassal = {
has_vassal_stance = parochial vassal_stance = parochial
} }
save_temporary_scope_as = holder_scope save_temporary_scope_as = holder_scope
} }
custom_tooltip = parochial_vassal_approves_holding_upgrade custom_tooltip = parochial_vassal_approves_holding_upgrade
hidden_effect = { hidden_effect = {
every_vassal = { every_vassal = {
limit = { vassal_stance = parochial
has_vassal_stance = parochial
}
add_opinion = { add_opinion = {
target = prev target = prev
modifier = parochial_approves_holding_upgrade_opinion modifier = parochial_approves_holding_upgrade_opinion
@ -1335,6 +1469,8 @@ city_03 = {
} }
} }
} }
#Mandala Creator Aspect
creator_mandala_upgraded_regular_holding_piety_effect = yes
} }
ai_value = { ai_value = {
base = 5 base = 5
@ -1352,6 +1488,7 @@ city_03 = {
city_04 = { city_04 = {
construction_time = slow_construction_time construction_time = slow_construction_time
#Meshes (Indented for readability)
asset = { asset = {
type = pdxmesh type = pdxmesh
names = { names = {
@ -1662,6 +1799,44 @@ city_04 = {
graphical_cultures = { steppe_building_gfx } graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_mediterranean } graphical_regions = { graphical_mediterranean }
} }
asset = {
type = pdxmesh
name = "tgp_building_chinese_city_02_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 3 } }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_east_asia }
}
# TGP Southeast Asia
asset = {
type = pdxmesh
name = "tgp_building_se_asia_city_02_a_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_seasia
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/sea_city" soundparameter = { "Tier" = 3 } }
graphical_cultures = { southeast_asian_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
}
asset = {
type = pdxmesh
name = "tgp_building_chinese_city_02_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_china
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/chinese_city" soundparameter = { "Tier" = 3 } }
graphical_cultures = { chinese_building_gfx }
graphical_regions = { graphical_east_asia }
}
# TGP Japan
asset = {
type = pdxmesh
name = "tgp_building_japanese_city_02_mesh"
requires_dlc_flag = all_under_heaven
illustration = @holding_illustration_japan
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/japanese_city" soundparameter = { "Tier" = 3 } }
graphical_cultures = { japanese_building_gfx }
graphical_regions = { graphical_east_asia }
}
can_construct_potential = { can_construct_potential = {
building_requirement_tribal = no building_requirement_tribal = no
@ -1749,16 +1924,14 @@ city_04 = {
if = { if = {
limit = { limit = {
any_vassal = { any_vassal = {
has_vassal_stance = parochial vassal_stance = parochial
} }
save_temporary_scope_as = holder_scope save_temporary_scope_as = holder_scope
} }
custom_tooltip = parochial_vassal_approves_holding_upgrade custom_tooltip = parochial_vassal_approves_holding_upgrade
hidden_effect = { hidden_effect = {
every_vassal = { every_vassal = {
limit = { vassal_stance = parochial
has_vassal_stance = parochial
}
add_opinion = { add_opinion = {
target = prev target = prev
modifier = parochial_approves_holding_upgrade_opinion modifier = parochial_approves_holding_upgrade_opinion
@ -1767,6 +1940,8 @@ city_04 = {
} }
} }
} }
#Mandala Creator Aspect
creator_mandala_upgraded_regular_holding_piety_effect = yes
} }
ai_value = { ai_value = {
base = 4 base = 4
@ -1806,6 +1981,11 @@ guild_halls_01 = {
development_growth_factor = 0.05 development_growth_factor = 0.05
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = guild_halls_02 next_building = guild_halls_02
type_icon = "icon_building_guild_halls.dds" type_icon = "icon_building_guild_halls.dds"
@ -1816,7 +1996,7 @@ guild_halls_01 = {
modifier = { modifier = {
add = 500 add = 500
scope:holder = { scope:holder = {
government_has_flag = government_is_special_republic government_has_flag = government_is_republic
} }
} }
} }
@ -1828,9 +2008,11 @@ guild_halls_02 = {
can_construct_potential = { can_construct_potential = {
has_building_or_higher = city_01 has_building_or_higher = city_01
culture = { culture = {
OR = { trigger_if = {
limit = {
NOT = { has_cultural_parameter = next_level_guild_halls }
}
has_innovation = innovation_crop_rotation has_innovation = innovation_crop_rotation
has_cultural_parameter = next_level_guild_halls
} }
} }
} }
@ -1848,13 +2030,18 @@ guild_halls_02 = {
development_growth_factor = 0.1 development_growth_factor = 0.1
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = guild_halls_03 next_building = guild_halls_03
ai_value = { ai_value = {
base = 0 base = 0
modifier = { modifier = {
add = 9 add = 9
scope:holder = { scope:holder = {
government_has_flag = government_is_special_republic government_has_flag = government_is_republic
} }
} }
} }
@ -1901,13 +2088,18 @@ guild_halls_03 = {
development_growth_factor = 0.15 development_growth_factor = 0.15
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = guild_halls_04 next_building = guild_halls_04
ai_value = { ai_value = {
base = 0 base = 0
modifier = { modifier = {
add = 8 add = 8
scope:holder = { scope:holder = {
government_has_flag = government_is_special_republic government_has_flag = government_is_republic
} }
} }
} }
@ -1955,13 +2147,18 @@ guild_halls_04 = {
development_growth_factor = 0.2 development_growth_factor = 0.2
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = guild_halls_05 next_building = guild_halls_05
ai_value = { ai_value = {
base = 0 base = 0
modifier = { modifier = {
add = 7 add = 7
scope:holder = { scope:holder = {
government_has_flag = government_is_special_republic government_has_flag = government_is_republic
} }
} }
} }
@ -2008,13 +2205,18 @@ guild_halls_05 = {
development_growth_factor = 0.25 development_growth_factor = 0.25
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = guild_halls_06 next_building = guild_halls_06
ai_value = { ai_value = {
base = 0 base = 0
modifier = { modifier = {
add = 6 add = 6
scope:holder = { scope:holder = {
government_has_flag = government_is_special_republic government_has_flag = government_is_republic
} }
} }
} }
@ -2061,13 +2263,18 @@ guild_halls_06 = {
development_growth_factor = 0.3 development_growth_factor = 0.3
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = guild_halls_07 next_building = guild_halls_07
ai_value = { ai_value = {
base = 0 base = 0
modifier = { modifier = {
add = 5 add = 5
scope:holder = { scope:holder = {
government_has_flag = government_is_special_republic government_has_flag = government_is_republic
} }
} }
} }
@ -2114,13 +2321,18 @@ guild_halls_07 = {
development_growth_factor = 0.35 development_growth_factor = 0.35
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = guild_halls_08 next_building = guild_halls_08
ai_value = { ai_value = {
base = 0 base = 0
modifier = { modifier = {
add = 4 add = 4
scope:holder = { scope:holder = {
government_has_flag = government_is_special_republic government_has_flag = government_is_republic
} }
} }
} }
@ -2167,12 +2379,17 @@ guild_halls_08 = {
development_growth_factor = 0.4 development_growth_factor = 0.4
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
ai_value = { ai_value = {
base = 0 base = 0
modifier = { modifier = {
add = 3 add = 3
scope:holder = { scope:holder = {
government_has_flag = government_is_special_republic government_has_flag = government_is_republic
} }
} }
} }

View file

@ -21,6 +21,16 @@ hospices_01 = {
epidemic_resistance = 5 epidemic_resistance = 5
} }
character_government_modifier = {
parameter = government_is_mandala
monthly_piety = 0.01
}
on_complete = {
#Regular Mandala Boon
mandala_built_piety_building_effect = yes
}
next_building = hospices_02 next_building = hospices_02
type_icon = "icon_building_hospice.dds" type_icon = "icon_building_hospice.dds"
@ -29,6 +39,7 @@ hospices_01 = {
base = 7 base = 7
ai_tier_1_building_modifier = yes ai_tier_1_building_modifier = yes
ai_tier_1_economical_building_preference_modifier = yes ai_tier_1_economical_building_preference_modifier = yes
ai_tier_1_pious_building_preference_modifier = yes
ai_general_building_modifier = yes ai_general_building_modifier = yes
directive_to_build_economy_modifier = yes directive_to_build_economy_modifier = yes
modifier = { modifier = {
@ -97,12 +108,23 @@ hospices_02 = {
epidemic_resistance = 7 epidemic_resistance = 7
} }
character_government_modifier = {
parameter = government_is_mandala
monthly_piety = 0.01
}
on_complete = {
#Regular Mandala Boon
mandala_built_piety_building_effect = yes
}
next_building = hospices_03 next_building = hospices_03
ai_value = { ai_value = {
base = 9 base = 9
ai_general_building_modifier = yes ai_general_building_modifier = yes
directive_to_build_economy_modifier = yes directive_to_build_economy_modifier = yes
ai_economical_building_preference_modifier = yes ai_economical_building_preference_modifier = yes
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for upgrades modifier = { # Fill all building slots before going for upgrades
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -135,12 +157,23 @@ hospices_03 = {
epidemic_resistance = 10 epidemic_resistance = 10
} }
character_government_modifier = {
parameter = government_is_mandala
monthly_piety = 0.02
}
on_complete = {
#Regular Mandala Boon
mandala_built_piety_building_effect = yes
}
next_building = hospices_04 next_building = hospices_04
ai_value = { ai_value = {
base = 8 base = 8
ai_general_building_modifier = yes ai_general_building_modifier = yes
directive_to_build_economy_modifier = yes directive_to_build_economy_modifier = yes
ai_economical_building_preference_modifier = yes ai_economical_building_preference_modifier = yes
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for upgrades modifier = { # Fill all building slots before going for upgrades
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -173,12 +206,23 @@ hospices_04 = {
epidemic_resistance = 12 epidemic_resistance = 12
} }
character_government_modifier = {
parameter = government_is_mandala
monthly_piety = 0.02
}
on_complete = {
#Regular Mandala Boon
mandala_built_piety_building_effect = yes
}
next_building = hospices_05 next_building = hospices_05
ai_value = { ai_value = {
base = 7 base = 7
ai_general_building_modifier = yes ai_general_building_modifier = yes
directive_to_build_economy_modifier = yes directive_to_build_economy_modifier = yes
ai_economical_building_preference_modifier = yes ai_economical_building_preference_modifier = yes
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for upgrades modifier = { # Fill all building slots before going for upgrades
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -212,12 +256,23 @@ hospices_05 = {
epidemic_resistance = 15 epidemic_resistance = 15
} }
character_government_modifier = {
parameter = government_is_mandala
monthly_piety = 0.03
}
on_complete = {
#Regular Mandala Boon
mandala_built_piety_building_effect = yes
}
next_building = hospices_06 next_building = hospices_06
ai_value = { ai_value = {
base = 7 base = 6
ai_general_building_modifier = yes ai_general_building_modifier = yes
directive_to_build_economy_modifier = yes directive_to_build_economy_modifier = yes
ai_economical_building_preference_modifier = yes ai_economical_building_preference_modifier = yes
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for upgrades modifier = { # Fill all building slots before going for upgrades
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -251,12 +306,23 @@ hospices_06 = {
epidemic_resistance = 17 epidemic_resistance = 17
} }
character_government_modifier = {
parameter = government_is_mandala
monthly_piety = 0.03
}
on_complete = {
#Regular Mandala Boon
mandala_built_piety_building_effect = yes
}
next_building = hospices_07 next_building = hospices_07
ai_value = { ai_value = {
base = 7 base = 5
ai_general_building_modifier = yes ai_general_building_modifier = yes
directive_to_build_economy_modifier = yes directive_to_build_economy_modifier = yes
ai_economical_building_preference_modifier = yes ai_economical_building_preference_modifier = yes
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for upgrades modifier = { # Fill all building slots before going for upgrades
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -290,12 +356,23 @@ hospices_07 = {
epidemic_resistance = 20 epidemic_resistance = 20
} }
character_government_modifier = {
parameter = government_is_mandala
monthly_piety = 0.04
}
on_complete = {
#Regular Mandala Boon
mandala_built_piety_building_effect = yes
}
next_building = hospices_08 next_building = hospices_08
ai_value = { ai_value = {
base = 7 base = 4
ai_general_building_modifier = yes ai_general_building_modifier = yes
directive_to_build_economy_modifier = yes directive_to_build_economy_modifier = yes
ai_economical_building_preference_modifier = yes ai_economical_building_preference_modifier = yes
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for upgrades modifier = { # Fill all building slots before going for upgrades
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -329,11 +406,22 @@ hospices_08 = {
epidemic_resistance = 25 epidemic_resistance = 25
} }
character_government_modifier = {
parameter = government_is_mandala
monthly_piety = 0.04
}
on_complete = {
#Regular Mandala Boon
mandala_built_piety_building_effect = yes
}
ai_value = { ai_value = {
base = 7 base = 3
ai_general_building_modifier = yes ai_general_building_modifier = yes
directive_to_build_economy_modifier = yes directive_to_build_economy_modifier = yes
ai_economical_building_preference_modifier = yes ai_economical_building_preference_modifier = yes
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for upgrades modifier = { # Fill all building slots before going for upgrades
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0

View file

@ -8,6 +8,341 @@
# We place these at the top to make them more visible in the building interface. # We place these at the top to make them more visible in the building interface.
###################
### DRAGON KILN ###
###################
dragon_kiln_01 = {
construction_time = slow_construction_time
effect_desc = {
desc = unlocks_building_desc
desc = dragon_kiln_effect_desc
}
can_construct_potential = {
building_requirement_castle_city_church = { LEVEL = 01 }
building_requirement_tribal = no
county.holder.culture = { has_cultural_parameter = unlock_dragon_kiln_buildings }
}
can_construct_showing_failures_only = {
custom_tooltip = {
text = dragon_kiln_terrain_requirement_tt
OR = {
terrain = mountains
terrain = desert_mountains
terrain = hills
culture = { has_cultural_parameter = can_build_quarries_everywhere }
}
}
culture = { has_cultural_parameter = unlock_dragon_kiln_buildings }
}
is_enabled = {
county.holder = { has_title = prev.duchy }
}
show_disabled = yes
cost_gold = expensive_building_tier_3_cost
character_modifier = {
court_grandeur_baseline_add = 4
character_capital_county_monthly_development_growth_add = 0.2
}
province_modifier = {
monthly_income = good_building_tax_tier_4
}
next_building = dragon_kiln_02
type_icon = "icon_building_dragon_kiln.dds"
type = duchy_capital
flag = duchy_building
ai_value = {
base = 44
modifier = {
factor = 2
scope:holder.capital_province = this
}
modifier = { # Fill all building slots before going for duchy buildings
factor = 0
free_building_slots > 0
}
modifier = { # Less likely when the AI should build regular buildings first
factor = 0.1
scope:holder = { ai_should_focus_on_building_in_their_capital = yes }
}
}
}
dragon_kiln_02 = {
construction_time = slow_construction_time
effect_desc = {
desc = unlocks_building_desc
desc = dragon_kiln_effect_desc
}
can_construct_potential = {
building_requirement_castle_city_church = { LEVEL = 01 }
building_requirement_tribal = no
county.holder.culture = { has_innovation = innovation_windmills }
}
is_enabled = {
county.holder = { has_title = prev.duchy }
}
show_disabled = yes
cost_gold = expensive_building_tier_4_cost
character_modifier = {
court_grandeur_baseline_add = 8
character_capital_county_monthly_development_growth_add = 0.4
}
province_modifier = {
monthly_income = good_building_tax_tier_5
}
next_building = dragon_kiln_03
type = duchy_capital
flag = duchy_building
ai_value = {
base = 20
modifier = {
factor = 2
scope:holder.capital_province = this
}
}
}
dragon_kiln_03 = {
construction_time = slow_construction_time
effect_desc = {
desc = unlocks_building_desc
desc = dragon_kiln_effect_desc
}
can_construct_potential = {
building_requirement_castle_city_church = { LEVEL = 01 }
building_requirement_tribal = no
county.holder.culture = { has_innovation = innovation_cranes }
}
is_enabled = {
county.holder = { has_title = prev.duchy }
}
show_disabled = yes
cost_gold = expensive_building_tier_5_cost
character_modifier = {
#Add a court grandeur bonus
court_grandeur_baseline_add = 12
character_capital_county_monthly_development_growth_add = 0.6
}
province_modifier = {
monthly_income = good_building_tax_tier_6
}
type = duchy_capital
flag = duchy_building
flag = fully_upgraded_duchy_capital_building
ai_value = {
base = 20
modifier = {
factor = 2
scope:holder.capital_province = this
}
}
}
# Examination Hall
examination_hall_01 = {
construction_time = slow_construction_time
effect_desc = examination_hall_effects_desc
can_construct_potential = {
building_examination_hall_requirement_terrain = yes
building_requirement_castle_city_church = { LEVEL = 01 }
}
is_enabled = {
scope:holder = {
government_has_flag = government_has_merit
}
}
show_disabled = yes
can_construct_showing_failures_only = {
building_requirement_tribal = no
county = { NOT = { has_county_modifier = backwater_county_modifier } }
}
can_construct = {
scope:holder = {
highest_held_title_tier >= tier_duchy
}
}
cost_gold = expensive_building_tier_3_cost
duchy_capital_county_modifier = {
development_growth_factor = 0.1
}
character_modifier = {
monthly_merit_mult = 0.15
monthly_influence = 0.5
monthly_lifestyle_xp_gain_mult = 0.04
}
type_icon = "icon_building_examination_hall.dds"
next_building = examination_hall_02
type = duchy_capital
flag = duchy_building
ai_value = {
base = 22
modifier = {
factor = 2
scope:holder.capital_province = this
}
modifier = {
factor = 2
OR = {
scope:holder.primary_title.tier >= tier_kingdom
scope:holder.learning >= 18
}
}
modifier = { # Fill all building slots before going for duchy buildings
factor = 0
free_building_slots > 0
}
modifier = { # Less likely when the AI should build regular buildings first
factor = 0.1
scope:holder = { ai_should_focus_on_building_in_their_capital = yes }
}
}
}
examination_hall_02 = {
construction_time = slow_construction_time
effect_desc = examination_hall_effects_desc
can_construct_potential = {
building_examination_hall_requirement_terrain = yes
building_requirement_castle_city_church = { LEVEL = 01 }
}
is_enabled = {
scope:holder = {
government_has_flag = government_has_merit
}
}
show_disabled = yes
can_construct_showing_failures_only = {
building_requirement_tribal = no
county = { NOT = { has_county_modifier = backwater_county_modifier } }
}
can_construct = {
scope:holder = {
highest_held_title_tier >= tier_duchy
}
}
cost_gold = expensive_building_tier_4_cost
duchy_capital_county_modifier = {
development_growth_factor = 0.2
}
character_modifier = {
monthly_merit_mult = 0.15
monthly_influence = 1
monthly_lifestyle_xp_gain_mult = 0.08
}
next_building = examination_hall_03
type = duchy_capital
flag = duchy_building
ai_value = {
base = 20
modifier = {
factor = 2
scope:holder.capital_province = this
}
}
}
examination_hall_03 = {
construction_time = slow_construction_time
effect_desc = examination_hall_effects_desc
can_construct_potential = {
building_examination_hall_requirement_terrain = yes
building_requirement_castle_city_church = { LEVEL = 02 }
}
is_enabled = {
scope:holder = {
government_has_flag = government_has_merit
}
}
show_disabled = yes
can_construct_showing_failures_only = {
building_requirement_tribal = no
county = { NOT = { has_county_modifier = backwater_county_modifier } }
}
can_construct = {
scope:holder = {
highest_held_title_tier >= tier_duchy
}
}
cost_gold = expensive_building_tier_5_cost
duchy_capital_county_modifier = {
development_growth_factor = 0.3
}
character_modifier = {
monthly_merit_mult = 0.15
monthly_influence = 1.5
monthly_lifestyle_xp_gain_mult = 0.12
}
type = duchy_capital
flag = duchy_building
ai_value = {
base = 20
modifier = {
factor = 2
scope:holder.capital_province = this
}
}
}
################## ##################
# Tower of Silence # Tower of Silence
################## ##################
@ -63,8 +398,14 @@ tower_of_silence_01 = {
epidemic_resistance = 10 epidemic_resistance = 10
} }
on_complete = {
#Regular Mandala Boon
mandala_built_piety_duchy_building_t3_effect = yes
}
ai_value = { ai_value = {
base = 100 base = 100
ai_pious_building_preference_modifier = yes
# Fill all building slots before going for duchy buildings # Fill all building slots before going for duchy buildings
modifier = { modifier = {
factor = 0 factor = 0
@ -78,6 +419,7 @@ tower_of_silence_01 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
flag = fully_upgraded_duchy_capital_building flag = fully_upgraded_duchy_capital_building
} }
@ -111,13 +453,23 @@ charnel_grounds_01 = {
cost_gold = expensive_building_tier_3_cost cost_gold = expensive_building_tier_3_cost
duchy_capital_county_modifier = { duchy_capital_county_modifier = {
development_growth_factor = 0.1
county_opinion_add = 5 county_opinion_add = 5
epidemic_resistance = 10 epidemic_resistance = 20
} }
character_modifier = { character_modifier = {
monthly_piety = 0.1 monthly_piety = 0.3
stress_gain_mult = -0.1 stress_gain_mult = -0.1
clergy_opinion = 5 clergy_opinion = 5
legitimacy_gain_mult = 0.1
}
province_modifier = {
monthly_income = good_building_tax_tier_1
}
on_complete = {
#Regular Mandala Boon
mandala_built_piety_duchy_building_t1_effect = yes
} }
next_building = charnel_grounds_02 next_building = charnel_grounds_02
@ -126,8 +478,11 @@ charnel_grounds_01 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
ai_pious_building_preference_modifier = yes
modifier = { modifier = {
factor = 2 factor = 2
scope:holder.capital_province = this scope:holder.capital_province = this
@ -165,22 +520,34 @@ charnel_grounds_02 = {
cost_gold = expensive_building_tier_4_cost cost_gold = expensive_building_tier_4_cost
duchy_capital_county_modifier = { duchy_capital_county_modifier = {
development_growth_factor = 0.2
county_opinion_add = 10 county_opinion_add = 10
epidemic_resistance = 15 epidemic_resistance = 30
} }
character_modifier = { character_modifier = {
monthly_piety = 0.2 monthly_piety = 0.5
stress_gain_mult = -0.15 stress_gain_mult = -0.15
negate_health_penalty_add = 0.05
clergy_opinion = 10 clergy_opinion = 10
legitimacy_gain_mult = 0.15
}
province_modifier = {
monthly_income = good_building_tax_tier_2
}
on_complete = {
#Regular Mandala Boon
mandala_built_piety_duchy_building_t2_effect = yes
} }
next_building = charnel_grounds_03 next_building = charnel_grounds_03
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
ai_pious_building_preference_modifier = yes
modifier = { modifier = {
factor = 2 factor = 2
scope:holder.capital_province = this scope:holder.capital_province = this
@ -214,22 +581,33 @@ charnel_grounds_03 = {
cost_gold = expensive_building_tier_5_cost cost_gold = expensive_building_tier_5_cost
duchy_capital_county_modifier = { duchy_capital_county_modifier = {
development_growth_factor = 0.3
county_opinion_add = 15 county_opinion_add = 15
epidemic_resistance = 20 epidemic_resistance = 40
} }
character_modifier = { character_modifier = {
monthly_piety = 0.3 monthly_piety = 1
stress_gain_mult = -0.2 stress_gain_mult = -0.2
negate_health_penalty_add = 0.1
clergy_opinion = 15 clergy_opinion = 15
legitimacy_gain_mult = 0.2
}
province_modifier = {
monthly_income = good_building_tax_tier_3
}
on_complete = {
#Regular Mandala Boon
mandala_built_piety_duchy_building_t3_effect = yes
} }
type = duchy_capital type = duchy_capital
flag = duchy_building
flag = fully_upgraded_duchy_capital_building flag = fully_upgraded_duchy_capital_building
ai_value = { ai_value = {
base = 20 base = 20
ai_pious_building_preference_modifier = yes
modifier = { modifier = {
factor = 2 factor = 2
scope:holder.capital_province = this scope:holder.capital_province = this
@ -249,7 +627,7 @@ burial_site_01 = {
can_construct_potential = { can_construct_potential = {
building_requirement_castle_city_church = { LEVEL = 01 } building_requirement_castle_city_church = { LEVEL = 01 }
building_requirement_tribal = no building_requirement_tribal = no
scope:holder = { has_dlc_feature = legends_of_the_dead } has_dlc_feature = legends_of_the_dead
} }
can_construct_showing_failures_only = { can_construct_showing_failures_only = {
@ -277,14 +655,22 @@ burial_site_01 = {
epidemic_resistance = 20 epidemic_resistance = 20
} }
on_complete = {
#Regular Mandala Boon
mandala_built_piety_duchy_building_t1_effect = yes
}
next_building = burial_site_02 next_building = burial_site_02
type_icon = "icon_building_graveyard.dds" type_icon = "icon_building_graveyard.dds"
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
ai_pious_building_preference_modifier = yes
modifier = { modifier = {
factor = 2 factor = 2
scope:holder.capital_province = this scope:holder.capital_province = this
@ -306,7 +692,7 @@ burial_site_02 = {
can_construct_potential = { can_construct_potential = {
building_requirement_castle_city_church = { LEVEL = 01 } building_requirement_castle_city_church = { LEVEL = 01 }
building_requirement_tribal = no building_requirement_tribal = no
scope:holder = { has_dlc_feature = legends_of_the_dead } has_dlc_feature = legends_of_the_dead
} }
can_construct_showing_failures_only = { can_construct_showing_failures_only = {
@ -334,12 +720,20 @@ burial_site_02 = {
epidemic_resistance = 30 epidemic_resistance = 30
} }
on_complete = {
#Regular Mandala Boon
mandala_built_piety_duchy_building_t2_effect = yes
}
next_building = burial_site_03 next_building = burial_site_03
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
ai_pious_building_preference_modifier = yes
modifier = { modifier = {
factor = 2 factor = 2
scope:holder.capital_province = this scope:holder.capital_province = this
@ -353,7 +747,7 @@ burial_site_03 = {
can_construct_potential = { can_construct_potential = {
building_requirement_castle_city_church = { LEVEL = 01 } building_requirement_castle_city_church = { LEVEL = 01 }
building_requirement_tribal = no building_requirement_tribal = no
scope:holder = { has_dlc_feature = legends_of_the_dead } has_dlc_feature = legends_of_the_dead
} }
can_construct_showing_failures_only = { can_construct_showing_failures_only = {
@ -381,12 +775,19 @@ burial_site_03 = {
epidemic_resistance = 40 epidemic_resistance = 40
} }
on_complete = {
#Regular Mandala Boon
mandala_built_piety_duchy_building_t3_effect = yes
}
type = duchy_capital type = duchy_capital
flag = duchy_building
flag = fully_upgraded_duchy_capital_building flag = fully_upgraded_duchy_capital_building
ai_value = { ai_value = {
base = 20 base = 20
ai_pious_building_preference_modifier = yes
modifier = { modifier = {
factor = 2 factor = 2
scope:holder.capital_province = this scope:holder.capital_province = this
@ -445,6 +846,8 @@ royal_garden_01 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -501,6 +904,8 @@ royal_garden_02 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -547,6 +952,7 @@ royal_garden_03 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
flag = fully_upgraded_duchy_capital_building flag = fully_upgraded_duchy_capital_building
ai_value = { ai_value = {
@ -597,6 +1003,8 @@ military_academy_01 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -649,6 +1057,8 @@ military_academy_02 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -691,6 +1101,7 @@ military_academy_03 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
flag = fully_upgraded_duchy_capital_building flag = fully_upgraded_duchy_capital_building
ai_value = { ai_value = {
@ -747,6 +1158,8 @@ march_01 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -808,6 +1221,8 @@ march_02 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -858,6 +1273,7 @@ march_03 = {
type = duchy_capital type = duchy_capital
flag = raid_protection_2 flag = raid_protection_2
flag = duchy_building
flag = fully_upgraded_duchy_capital_building flag = fully_upgraded_duchy_capital_building
ai_value = { ai_value = {
@ -910,6 +1326,8 @@ siege_works_01 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -967,6 +1385,8 @@ siege_works_02 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -1015,6 +1435,7 @@ siege_works_03 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
flag = fully_upgraded_duchy_capital_building flag = fully_upgraded_duchy_capital_building
ai_value = { ai_value = {
@ -1091,6 +1512,8 @@ royal_armory_01 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -1171,6 +1594,8 @@ royal_armory_02 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -1240,6 +1665,7 @@ royal_armory_03 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
flag = fully_upgraded_duchy_capital_building flag = fully_upgraded_duchy_capital_building
ai_value = { ai_value = {
@ -1309,6 +1735,8 @@ jousting_lists_01 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
ai_anti_synergy_armored_infantry_modifier = yes ai_anti_synergy_armored_infantry_modifier = yes
@ -1407,6 +1835,8 @@ jousting_lists_02 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -1470,6 +1900,7 @@ jousting_lists_03 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
flag = fully_upgraded_duchy_capital_building flag = fully_upgraded_duchy_capital_building
ai_value = { ai_value = {
@ -1544,6 +1975,13 @@ blacksmiths_01 = {
stationed_heavy_infantry_toughness_mult = normal_maa_toughness_tier_1 stationed_heavy_infantry_toughness_mult = normal_maa_toughness_tier_1
} }
province_culture_modifier = {
parameter = coking_smith_bonuses
stationed_pikemen_damage_mult = normal_maa_damage_tier_1
stationed_pikemen_toughness_mult = normal_maa_toughness_tier_1
stationed_heavy_infantry_damage_mult = normal_maa_damage_tier_1
stationed_heavy_infantry_toughness_mult = normal_maa_toughness_tier_1
}
next_building = blacksmiths_02 next_building = blacksmiths_02
@ -1551,6 +1989,8 @@ blacksmiths_01 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
ai_anti_synergy_cavalry_modifier = yes ai_anti_synergy_cavalry_modifier = yes
@ -1631,6 +2071,14 @@ blacksmiths_02 = {
stationed_heavy_infantry_toughness_mult = normal_maa_toughness_tier_2 stationed_heavy_infantry_toughness_mult = normal_maa_toughness_tier_2
} }
province_culture_modifier = {
parameter = coking_smith_bonuses
stationed_pikemen_damage_mult = normal_maa_damage_tier_2
stationed_pikemen_toughness_mult = normal_maa_toughness_tier_2
stationed_heavy_infantry_damage_mult = normal_maa_damage_tier_2
stationed_heavy_infantry_toughness_mult = normal_maa_toughness_tier_2
}
is_enabled = { is_enabled = {
county.holder = { has_title = prev.duchy } county.holder = { has_title = prev.duchy }
} }
@ -1653,6 +2101,8 @@ blacksmiths_02 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -1726,8 +2176,17 @@ blacksmiths_03 = {
stationed_heavy_infantry_toughness_mult = normal_maa_toughness_tier_3 stationed_heavy_infantry_toughness_mult = normal_maa_toughness_tier_3
} }
province_culture_modifier = {
parameter = coking_smith_bonuses
stationed_pikemen_damage_mult = normal_maa_damage_tier_3
stationed_pikemen_toughness_mult = normal_maa_toughness_tier_3
stationed_heavy_infantry_damage_mult = normal_maa_damage_tier_3
stationed_heavy_infantry_toughness_mult = normal_maa_toughness_tier_3
}
type = duchy_capital type = duchy_capital
flag = duchy_building
flag = fully_upgraded_duchy_capital_building flag = fully_upgraded_duchy_capital_building
ai_value = { ai_value = {
@ -1789,6 +2248,8 @@ archery_ranges_01 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
ai_anti_synergy_cavalry_modifier = yes ai_anti_synergy_cavalry_modifier = yes
@ -1884,6 +2345,8 @@ archery_ranges_02 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -1939,6 +2402,7 @@ archery_ranges_03 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
flag = fully_upgraded_duchy_capital_building flag = fully_upgraded_duchy_capital_building
ai_value = { ai_value = {
@ -1982,6 +2446,8 @@ tax_assessor_01 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -2044,6 +2510,8 @@ tax_assessor_02 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -2081,6 +2549,7 @@ tax_assessor_03 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
flag = fully_upgraded_duchy_capital_building flag = fully_upgraded_duchy_capital_building
ai_value = { ai_value = {
@ -2133,6 +2602,8 @@ leisure_palace_01 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 10 base = 10
@ -2200,6 +2671,8 @@ leisure_palace_02 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -2246,6 +2719,7 @@ leisure_palace_03 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
flag = fully_upgraded_duchy_capital_building flag = fully_upgraded_duchy_capital_building
ai_value = { ai_value = {
@ -2302,6 +2776,8 @@ royal_forest_01 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -2354,6 +2830,8 @@ royal_forest_02 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
ai_value = { ai_value = {
base = 20 base = 20
modifier = { modifier = {
@ -2396,6 +2874,7 @@ royal_forest_03 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
flag = fully_upgraded_duchy_capital_building flag = fully_upgraded_duchy_capital_building
ai_value = { ai_value = {
@ -2467,5 +2946,6 @@ great_megalith_01 = {
type = duchy_capital type = duchy_capital
flag = duchy_building
flag = fully_upgraded_duchy_capital_building flag = fully_upgraded_duchy_capital_building
} }

View file

@ -67,6 +67,7 @@ legendary_shrine = {
ai_value = { ai_value = {
base = 100 base = 100
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for special buildings modifier = { # Fill all building slots before going for special buildings
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -33,6 +33,11 @@ ramparts_01 = {
travel_danger = -1 travel_danger = -1
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = ramparts_02 next_building = ramparts_02
type_icon = "icon_building_ramparts.dds" type_icon = "icon_building_ramparts.dds"
@ -101,6 +106,11 @@ ramparts_02 = {
travel_danger = -2 travel_danger = -2
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = ramparts_03 next_building = ramparts_03
ai_value = { ai_value = {
@ -172,6 +182,11 @@ ramparts_03 = {
travel_danger = -3 travel_danger = -3
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = ramparts_04 next_building = ramparts_04
ai_value = { ai_value = {
@ -242,6 +257,11 @@ ramparts_04 = {
hostile_raid_time = 0.1 hostile_raid_time = 0.1
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = ramparts_05 next_building = ramparts_05
ai_value = { ai_value = {
@ -312,6 +332,11 @@ ramparts_05 = {
hostile_raid_time = 0.1 hostile_raid_time = 0.1
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = ramparts_06 next_building = ramparts_06
ai_value = { ai_value = {
@ -382,6 +407,11 @@ ramparts_06 = {
hostile_raid_time = 0.1 hostile_raid_time = 0.1
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = ramparts_07 next_building = ramparts_07
ai_value = { ai_value = {
@ -452,6 +482,11 @@ ramparts_07 = {
hostile_raid_time = 0.1 hostile_raid_time = 0.1
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = ramparts_08 next_building = ramparts_08
ai_value = { ai_value = {
@ -522,6 +557,11 @@ ramparts_08 = {
hostile_raid_time = 0.1 hostile_raid_time = 0.1
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
ai_value = { ai_value = {
base = 3 base = 3
modifier = { modifier = {
@ -562,6 +602,11 @@ curtain_walls_01 = {
travel_danger = -1 travel_danger = -1
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = curtain_walls_02 next_building = curtain_walls_02
type_icon = "icon_building_curtain_walls.dds" type_icon = "icon_building_curtain_walls.dds"
@ -640,6 +685,11 @@ curtain_walls_02 = {
supply_limit = 300 supply_limit = 300
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = curtain_walls_03 next_building = curtain_walls_03
ai_value = { ai_value = {
@ -713,6 +763,11 @@ curtain_walls_03 = {
supply_limit = 300 supply_limit = 300
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = curtain_walls_04 next_building = curtain_walls_04
ai_value = { ai_value = {
@ -782,6 +837,11 @@ curtain_walls_04 = {
supply_limit = 300 supply_limit = 300
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = curtain_walls_05 next_building = curtain_walls_05
ai_value = { ai_value = {
@ -852,6 +912,11 @@ curtain_walls_05 = {
supply_limit = 300 supply_limit = 300
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = curtain_walls_06 next_building = curtain_walls_06
ai_value = { ai_value = {
@ -923,6 +988,11 @@ curtain_walls_06 = {
supply_limit_mult = 0.02 supply_limit_mult = 0.02
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = curtain_walls_07 next_building = curtain_walls_07
ai_value = { ai_value = {
@ -994,6 +1064,11 @@ curtain_walls_07 = {
supply_limit_mult = 0.02 supply_limit_mult = 0.02
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = curtain_walls_08 next_building = curtain_walls_08
ai_value = { ai_value = {
@ -1065,6 +1140,11 @@ curtain_walls_08 = {
supply_limit_mult = 0.02 supply_limit_mult = 0.02
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
ai_value = { ai_value = {
base = 3 base = 3
modifier = { modifier = {
@ -1109,6 +1189,11 @@ watchtowers_01 = {
travel_danger = -1 travel_danger = -1
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = watchtowers_02 next_building = watchtowers_02
type_icon = "icon_building_watchtowers.dds" type_icon = "icon_building_watchtowers.dds"
@ -1189,6 +1274,11 @@ watchtowers_02 = {
hostile_raid_time = 0.1 hostile_raid_time = 0.1
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = watchtowers_03 next_building = watchtowers_03
ai_value = { ai_value = {
@ -1264,6 +1354,11 @@ watchtowers_03 = {
hostile_raid_time = 0.1 hostile_raid_time = 0.1
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = watchtowers_04 next_building = watchtowers_04
ai_value = { ai_value = {
@ -1336,6 +1431,11 @@ watchtowers_04 = {
hostile_raid_time = 0.1 hostile_raid_time = 0.1
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = watchtowers_05 next_building = watchtowers_05
ai_value = { ai_value = {
@ -1409,6 +1509,11 @@ watchtowers_05 = {
hostile_raid_time = 0.15 hostile_raid_time = 0.15
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = watchtowers_06 next_building = watchtowers_06
ai_value = { ai_value = {
@ -1483,6 +1588,11 @@ watchtowers_06 = {
supply_limit_mult = 0.05 supply_limit_mult = 0.05
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = watchtowers_07 next_building = watchtowers_07
ai_value = { ai_value = {
@ -1557,6 +1667,11 @@ watchtowers_07 = {
supply_limit_mult = 0.05 supply_limit_mult = 0.05
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = watchtowers_08 next_building = watchtowers_08
ai_value = { ai_value = {
@ -1631,6 +1746,11 @@ watchtowers_08 = {
supply_limit_mult = 0.05 supply_limit_mult = 0.05
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
ai_value = { ai_value = {
base = 3 base = 3
modifier = { modifier = {
@ -1673,6 +1793,11 @@ hill_forts_01 = {
travel_danger = -1 travel_danger = -1
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = hill_forts_02 next_building = hill_forts_02
type_icon = "icon_building_hill_forts.dds" type_icon = "icon_building_hill_forts.dds"
@ -1744,6 +1869,11 @@ hill_forts_02 = {
monthly_county_control_decline_factor = -0.1 monthly_county_control_decline_factor = -0.1
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = hill_forts_03 next_building = hill_forts_03
ai_value = { ai_value = {
@ -1810,6 +1940,11 @@ hill_forts_03 = {
monthly_county_control_decline_factor = -0.1 monthly_county_control_decline_factor = -0.1
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = hill_forts_04 next_building = hill_forts_04
ai_value = { ai_value = {
@ -1873,6 +2008,11 @@ hill_forts_04 = {
levy_size = 0.02 levy_size = 0.02
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = hill_forts_05 next_building = hill_forts_05
ai_value = { ai_value = {
@ -1936,6 +2076,11 @@ hill_forts_05 = {
levy_size = 0.02 levy_size = 0.02
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = hill_forts_06 next_building = hill_forts_06
ai_value = { ai_value = {
@ -1999,6 +2144,11 @@ hill_forts_06 = {
levy_size = 0.02 levy_size = 0.02
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = hill_forts_07 next_building = hill_forts_07
ai_value = { ai_value = {
@ -2062,6 +2212,11 @@ hill_forts_07 = {
levy_size = 0.02 levy_size = 0.02
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
next_building = hill_forts_08 next_building = hill_forts_08
ai_value = { ai_value = {
@ -2125,6 +2280,11 @@ hill_forts_08 = {
levy_size = 0.02 levy_size = 0.02
} }
on_complete = {
#Mandala Creator Aspect
creator_mandala_built_regular_building_piety_effect = yes
}
ai_value = { ai_value = {
base = 3 base = 3
ai_general_building_modifier = yes ai_general_building_modifier = yes

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,389 @@
oath_warriors_building_01 = {
construction_time = standard_construction_time
can_construct_potential = {
scope:holder = {
has_variable = provide_for_the_warriors_oath
}
}
cost = {
gold = cheap_building_tier_1_cost
prestige = 125
}
character_modifier = {
knight_limit = 1
knight_effectiveness_mult = 0.1
}
province_modifier = {
stationed_maa_damage_mult = 0.1
stationed_maa_toughness_mult = 0.05
}
next_building = oath_warriors_building_02
type_icon = "oath_warriors_building.dds"
ai_value = {
base = 1000
modifier = {
factor = 0
scope:holder = {
any_directly_owned_province = {
count >= 3
has_building_or_higher = oath_warriors_building_01
}
}
}
}
}
oath_warriors_building_02 = {
cost = {
gold = cheap_building_tier_2_cost
prestige = 250
}
construction_time = standard_construction_time
character_modifier = {
knight_limit = 1
knight_effectiveness_mult = 0.1
men_at_arms_maintenance = -0.01
}
province_modifier = {
stationed_maa_damage_mult = 0.15
stationed_maa_toughness_mult = 0.07
}
next_building = oath_warriors_building_03
type_icon = "oath_warriors_building.dds"
ai_value = {
base = 1000
}
}
oath_warriors_building_03 = {
cost = {
gold = cheap_building_tier_3_cost
prestige = 375
}
construction_time = standard_construction_time
character_modifier = {
knight_limit = 1
knight_effectiveness_mult = 0.1
men_at_arms_maintenance = -0.03
}
province_modifier = {
stationed_maa_damage_mult = 0.2
stationed_maa_toughness_mult = 0.1
stationed_maa_siege_value_add = 0.1
}
type_icon = "oath_warriors_building.dds"
next_building = oath_warriors_building_04
ai_value = {
base = 100
}
}
oath_warriors_building_04 = {
can_construct_showing_failures_only = {
custom_tooltip = {
text = oath_warriors_building_04_tooltip
has_province_modifier = oath_provide_for_the_warriors_province
}
}
cost = {
gold = cheap_building_tier_4_cost
prestige = 500
}
construction_time = standard_construction_time
province_modifier = {
stationed_maa_damage_mult = 0.3
stationed_maa_toughness_mult = 0.2
stationed_maa_siege_value_add = 0.2
}
character_modifier = {
men_at_arms_maintenance = -0.05
knight_limit = 1
knight_effectiveness_mult = 0.15
}
type_icon = "oath_warriors_building.dds"
ai_value = {
base = 100
}
}
oath_faithful_building_01 = {
can_construct_potential = {
scope:holder = {
has_variable = provide_for_the_faithful_oath
}
}
is_enabled = {
faith = scope:holder.faith
}
can_construct_showing_failures_only = {
faith = scope:holder.faith
}
cost = {
gold = cheap_building_tier_1_cost
piety = 100
}
construction_time = standard_construction_time
character_modifier = {
monthly_piety_gain_mult = 0.025
}
province_modifier ={
monthly_income = poor_building_tax_tier_1
}
next_building = oath_faithful_building_02
type_icon = "oath_faithful_building.dds"
ai_value = {
base = 1000
modifier = {
factor = 0
scope:holder = {
any_directly_owned_province = {
count >= 3
has_building_or_higher = oath_faithful_building_01
}
}
}
}
}
oath_faithful_building_02 = {
is_enabled = {
faith = scope:holder.faith
}
can_construct_showing_failures_only = {
faith = scope:holder.faith
}
cost = {
gold = cheap_building_tier_2_cost
piety = 200
}
construction_time = standard_construction_time
character_modifier = {
monthly_piety_gain_mult = 0.05
}
province_modifier ={
monthly_income = poor_building_tax_tier_2
epidemic_resistance = 4
}
next_building = oath_faithful_building_03
type_icon = "oath_faithful_building.dds"
ai_value = {
base = 100
}
}
oath_faithful_building_03 = {
is_enabled = {
faith = scope:holder.faith
}
next_building = oath_faithful_building_04
can_construct_showing_failures_only = {
faith = scope:holder.faith
}
cost = {
gold = cheap_building_tier_3_cost
piety = 300
}
construction_time = standard_construction_time
character_modifier = {
monthly_piety_gain_mult = 0.075
}
province_modifier = {
monthly_income = poor_building_tax_tier_3
epidemic_resistance = 8
}
type_icon = "oath_faithful_building.dds"
ai_value = {
base = 100
}
}
oath_faithful_building_04 = {
is_enabled = {
faith = scope:holder.faith
}
can_construct_showing_failures_only = {
faith = scope:holder.faith
custom_tooltip = {
text = oath_faithful_building_04_tooltip
has_province_modifier = oath_provide_for_the_faithful_province
}
}
cost = {
gold = cheap_building_tier_4_cost
piety = 400
}
construction_time = standard_construction_time
character_modifier = {
monthly_piety_gain_mult = 0.1
monthly_piety = 0.1
clergy_opinion = 4
}
province_modifier = {
monthly_income = poor_building_tax_tier_4
epidemic_resistance = 12
}
type_icon = "oath_faithful_building.dds"
ai_value = {
base = 100
}
}
oath_poor_building_01 = {
can_construct_potential = {
scope:holder = {
has_variable = provide_for_the_poor_oath
}
}
cost = {
gold = cheap_building_tier_1_cost
prestige = 125
}
construction_time = standard_construction_time
county_modifier = {
tax_mult = -0.05
development_growth = 0.05
county_opinion_add = 10
}
next_building = oath_poor_building_02
type_icon = "oath_poor_building.dds"
ai_value = {
base = 1000
}
}
oath_poor_building_02 = {
cost = {
gold = cheap_building_tier_2_cost
prestige = 250
}
construction_time = standard_construction_time
county_modifier = {
tax_mult = -0.1
development_growth_factor = 0.05
development_growth = 0.1
county_opinion_add = 15
}
next_building = oath_poor_building_03
type_icon = "oath_poor_building.dds"
ai_value = {
base = 100
}
}
oath_poor_building_03 = {
cost = {
gold = cheap_building_tier_3_cost
prestige = 375
}
construction_time = standard_construction_time
county_modifier = {
tax_mult = -0.2
development_growth_factor = 0.15
development_growth = 0.2
county_opinion_add = 20
}
next_building = oath_poor_building_04
type_icon = "oath_poor_building.dds"
ai_value = {
base = 100
}
}
oath_poor_building_04 = {
can_construct_showing_failures_only = {
custom_tooltip = {
text = oath_poor_building_04_tooltip
has_province_modifier = oath_provide_for_the_poor_province
}
}
cost = {
gold = cheap_building_tier_4_cost
prestige = 500
}
construction_time = standard_construction_time
county_modifier = {
tax_mult = -0.3
development_growth_factor = 0.2
development_growth = 0.3
county_opinion_add = 30
}
type_icon = "oath_poor_building.dds"
ai_value = {
base = 100
}
}

View file

@ -51,6 +51,7 @@ walls_01_tribal = {
has_building_or_higher = "hill_forts_01" has_building_or_higher = "hill_forts_01"
has_building_or_higher = "ramparts_01" has_building_or_higher = "ramparts_01"
has_building_or_higher = "watchtowers_01" has_building_or_higher = "watchtowers_01"
has_building_or_higher = "temple_citadel_01"
has_building_or_higher = "theodosian_walls_01" has_building_or_higher = "theodosian_walls_01"
has_building_or_higher = "walls_of_benin_01" has_building_or_higher = "walls_of_benin_01"
has_building_or_higher = "walls_of_genoa_01" has_building_or_higher = "walls_of_genoa_01"
@ -66,6 +67,7 @@ walls_01_tribal = {
# Here the Fort Level building chains take control of the visuals # Here the Fort Level building chains take control of the visuals
walls_01 = { walls_01 = {
is_graphical_background = yes is_graphical_background = yes
asset = { asset = {
type = pdxmesh type = pdxmesh
names = { names = {
@ -74,6 +76,7 @@ walls_01 = {
} }
graphical_regions = { graphical_western graphical_mediterranean graphical_india } graphical_regions = { graphical_western graphical_mediterranean graphical_india }
} }
asset = { asset = {
type = pdxmesh type = pdxmesh
names = { names = {
@ -83,6 +86,7 @@ walls_01 = {
} }
graphical_regions = { graphical_mena graphical_steppe } graphical_regions = { graphical_mena graphical_steppe }
} }
asset = { asset = {
type = pdxmesh type = pdxmesh
requires_dlc_flag = the_northern_lords requires_dlc_flag = the_northern_lords
@ -121,6 +125,47 @@ walls_01 = {
"fp3_building_persian_walls_01_a_01_mesh" "fp3_building_persian_walls_01_a_01_mesh"
} }
} }
# TGP Southeast Asia
asset = {
type = pdxmesh
requires_dlc_flag = all_under_heaven
graphical_cultures = { southeast_asian_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
names = {
"tgp_building_se_asia_wall_01_mesh"
}
}
# TGP China
asset = {
type = pdxmesh
requires_dlc_flag = all_under_heaven
graphical_cultures = { chinese_building_gfx }
graphical_regions = { graphical_east_asia graphical_steppe }
names = {
"tgp_building_chinese_wall_01_mesh"
}
}
# TGP Japan
asset = {
type = pdxmesh
requires_dlc_flag = all_under_heaven
graphical_cultures = { japanese_building_gfx }
graphical_regions = { graphical_east_asia graphical_steppe }
names = {
"tgp_building_japanese_wall_01_mesh"
}
}
asset = {
type = pdxmesh
requires_dlc_flag = all_under_heaven
graphical_cultures = { steppe_building_gfx }
governments = { steppe_admin_government celestial_government meritocratic_government }
graphical_regions = { graphical_east_asia graphical_steppe }
names = {
"tgp_building_chinese_wall_01_mesh"
}
}
asset = { asset = {
type = pdxmesh type = pdxmesh
requires_dlc_flag = khans_of_the_steppe requires_dlc_flag = khans_of_the_steppe
@ -130,7 +175,6 @@ walls_01 = {
names = { names = {
"mpo_mongol_wall_01_mesh" "mpo_mongol_wall_01_mesh"
} }
} }
is_enabled = { is_enabled = {
@ -141,6 +185,7 @@ walls_01 = {
has_building_or_higher = "hill_forts_01" has_building_or_higher = "hill_forts_01"
has_building_or_higher = "ramparts_01" has_building_or_higher = "ramparts_01"
has_building_or_higher = "watchtowers_01" has_building_or_higher = "watchtowers_01"
has_building_or_higher = "temple_citadel_01"
scope:holder = { scope:holder = {
government_has_flag = government_is_nomadic government_has_flag = government_is_nomadic
root = { fort_level = 1 } root = { fort_level = 1 }
@ -153,6 +198,7 @@ walls_01 = {
has_building_or_higher = "hill_forts_02" has_building_or_higher = "hill_forts_02"
has_building_or_higher = "ramparts_02" has_building_or_higher = "ramparts_02"
has_building_or_higher = "watchtowers_02" has_building_or_higher = "watchtowers_02"
has_building_or_higher = "temple_citadel_02"
has_building_or_higher = "theodosian_walls_01" has_building_or_higher = "theodosian_walls_01"
has_building_or_higher = "walls_of_benin_01" has_building_or_higher = "walls_of_benin_01"
has_building_or_higher = "walls_of_genoa_01" has_building_or_higher = "walls_of_genoa_01"
@ -232,7 +278,46 @@ walls_02 = {
"ep3_byzantine_walls_02_mesh" "ep3_byzantine_walls_02_mesh"
} }
} }
# TGP Southeast Asia
asset = {
type = pdxmesh
requires_dlc_flag = all_under_heaven
graphical_cultures = { southeast_asian_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
names = {
"tgp_building_se_asia_wall_02_mesh"
}
}
# TGP China
asset = {
type = pdxmesh
requires_dlc_flag = all_under_heaven
graphical_cultures = { chinese_building_gfx }
graphical_regions = { graphical_east_asia graphical_steppe }
names = {
"tgp_building_chinese_wall_02_mesh"
}
}
# TGP Japan
asset = {
type = pdxmesh
requires_dlc_flag = all_under_heaven
graphical_cultures = { japanese_building_gfx }
graphical_regions = { graphical_east_asia graphical_steppe }
names = {
"tgp_building_japanese_wall_02_mesh"
}
}
asset = {
type = pdxmesh
requires_dlc_flag = all_under_heaven
governments = { steppe_admin_government celestial_government meritocratic_government }
graphical_cultures = { steppe_building_gfx }
graphical_regions = { graphical_east_asia graphical_steppe }
names = {
"tgp_building_chinese_wall_02_mesh"
}
}
asset = { asset = {
type = pdxmesh type = pdxmesh
requires_dlc_flag = khans_of_the_steppe requires_dlc_flag = khans_of_the_steppe
@ -252,6 +337,7 @@ walls_02 = {
has_building_or_higher = "hill_forts_02" has_building_or_higher = "hill_forts_02"
has_building_or_higher = "ramparts_02" has_building_or_higher = "ramparts_02"
has_building_or_higher = "watchtowers_02" has_building_or_higher = "watchtowers_02"
has_building_or_higher = "temple_citadel_02"
scope:holder = { scope:holder = {
government_has_flag = government_is_nomadic government_has_flag = government_is_nomadic
root = { fort_level = 2 } root = { fort_level = 2 }
@ -263,6 +349,7 @@ walls_02 = {
has_building_or_higher = "hill_forts_03" has_building_or_higher = "hill_forts_03"
has_building_or_higher = "ramparts_03" has_building_or_higher = "ramparts_03"
has_building_or_higher = "watchtowers_03" has_building_or_higher = "watchtowers_03"
has_building_or_higher = "temple_citadel_03"
has_building_or_higher = "theodosian_walls_01" has_building_or_higher = "theodosian_walls_01"
has_building_or_higher = "walls_of_benin_01" has_building_or_higher = "walls_of_benin_01"
has_building_or_higher = "walls_of_genoa_01" has_building_or_higher = "walls_of_genoa_01"
@ -341,6 +428,46 @@ walls_03 = {
"ep3_byzantine_walls_03_mesh" "ep3_byzantine_walls_03_mesh"
} }
} }
# TGP Southeast Asia
asset = {
type = pdxmesh
requires_dlc_flag = all_under_heaven
graphical_cultures = { southeast_asian_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
names = {
"tgp_building_se_asia_wall_03_mesh"
}
}
# TGP China
asset = {
type = pdxmesh
requires_dlc_flag = all_under_heaven
graphical_cultures = { chinese_building_gfx }
graphical_regions = { graphical_east_asia graphical_steppe }
names = {
"tgp_building_chinese_wall_03_mesh"
}
}
# TGP Japan
asset = {
type = pdxmesh
requires_dlc_flag = all_under_heaven
graphical_cultures = { japanese_building_gfx }
graphical_regions = { graphical_east_asia graphical_steppe }
names = {
"tgp_building_japanese_wall_03_mesh"
}
}
asset = {
type = pdxmesh
requires_dlc_flag = all_under_heaven
graphical_cultures = { steppe_building_gfx }
governments = { steppe_admin_government celestial_government meritocratic_government }
graphical_regions = { graphical_east_asia }
names = {
"tgp_building_chinese_wall_03_mesh"
}
}
asset = { asset = {
type = pdxmesh type = pdxmesh
@ -363,6 +490,7 @@ walls_03 = {
has_building_or_higher = "hill_forts_03" has_building_or_higher = "hill_forts_03"
has_building_or_higher = "ramparts_03" has_building_or_higher = "ramparts_03"
has_building_or_higher = "watchtowers_03" has_building_or_higher = "watchtowers_03"
has_building_or_higher = "temple_citadel_03"
has_building_or_higher = "walls_of_benin_01" has_building_or_higher = "walls_of_benin_01"
has_building_or_higher = "walls_of_genoa_01" has_building_or_higher = "walls_of_genoa_01"
has_building_or_higher = "aurelian_walls_01" has_building_or_higher = "aurelian_walls_01"
@ -377,6 +505,7 @@ walls_03 = {
has_building_or_higher = "hill_forts_06" has_building_or_higher = "hill_forts_06"
has_building_or_higher = "ramparts_06" has_building_or_higher = "ramparts_06"
has_building_or_higher = "watchtowers_06" has_building_or_higher = "watchtowers_06"
has_building_or_higher = "temple_citadel_04"
has_building_or_higher = "theodosian_walls_01" has_building_or_higher = "theodosian_walls_01"
has_building_or_higher = "city_wall_of_toledo_01" has_building_or_higher = "city_wall_of_toledo_01"
has_building_or_higher = "roman_wall_of_lugo_01" has_building_or_higher = "roman_wall_of_lugo_01"
@ -452,7 +581,46 @@ walls_04 = {
"ep3_byzantine_walls_04_mesh" "ep3_byzantine_walls_04_mesh"
} }
} }
# TGP Southeast Asia
asset = {
type = pdxmesh
requires_dlc_flag = all_under_heaven
graphical_cultures = { southeast_asian_building_gfx }
graphical_regions = { graphical_east_asia graphical_india }
names = {
"tgp_building_se_asia_wall_04_mesh"
}
}
# TGP China
asset = {
type = pdxmesh
requires_dlc_flag = all_under_heaven
graphical_cultures = { chinese_building_gfx }
graphical_regions = { graphical_east_asia graphical_steppe }
names = {
"tgp_building_chinese_wall_04_mesh"
}
}
# TGP Japan
asset = {
type = pdxmesh
requires_dlc_flag = all_under_heaven
graphical_cultures = { japanese_building_gfx }
graphical_regions = { graphical_east_asia graphical_steppe }
names = {
"tgp_building_japanese_wall_04_mesh"
}
}
asset = {
type = pdxmesh
requires_dlc_flag = all_under_heaven
graphical_cultures = { steppe_building_gfx }
governments = { steppe_admin_government celestial_government meritocratic_government }
graphical_regions = { graphical_east_asia }
names = {
"tgp_building_chinese_wall_04_mesh"
}
}
asset = { asset = {
type = pdxmesh type = pdxmesh
requires_dlc_flag = khans_of_the_steppe requires_dlc_flag = khans_of_the_steppe
@ -474,6 +642,7 @@ walls_04 = {
has_building_or_higher = "hill_forts_06" has_building_or_higher = "hill_forts_06"
has_building_or_higher = "ramparts_06" has_building_or_higher = "ramparts_06"
has_building_or_higher = "watchtowers_06" has_building_or_higher = "watchtowers_06"
has_building_or_higher = "temple_citadel_04"
has_building_or_higher = "theodosian_walls_01" has_building_or_higher = "theodosian_walls_01"
scope:holder = { scope:holder = {
government_has_flag = government_is_nomadic government_has_flag = government_is_nomadic

View file

@ -1,76 +1,152 @@
You can define You can define
== Structure == == Structure ==
name_of_the_building = { name_of_the_building = {
# How many levies does the building give # How many levies does the building give ( int or named value )
# default = 0
#
levy = 200 levy = 200
# How much garrison does the building give # How much garrison does the building give ( int or named value )
# default = 0
#
max_garrison = 100 max_garrison = 100
# How much garrison regains a percentage of its maximal garrison equal to the garrison reinforcement rate # Garrison monthly refill rate ( fixed point or named value ) in the inverval of [0..1]
# Every month garrison increased by this fraction of max garrison
# default = 0
#
garrison_reinforcement_factor = 0.01 garrison_reinforcement_factor = 0.01
# How long does it take to construct the building # Number of days it takes to construct this building ( int or named value )
# default = 0
#
construction_time = 720 construction_time = 720
type = regular/special/duchy_capital # Specifies whether this is a regular building, a special building, or a duchy capital building. Regular by default type = regular/special/duchy_capital # Specifies whether this is a regular building, a special building, or a duchy capital building. Regular by default
# Which asset does the building use # Which asset does the building use
#
asset = { asset = {
# 'pdxmesh' or 'entity', specifies wheter to use a mesh or an entity. Meshes are more performant and should be preferred.
type = pdxmesh # specifies wheter to use a mesh or an entity. Meshes are more performant and should be preferred.
# The name of the mesh or the entity #
type = pdxmesh/entity
# The name of the mesh or the entity ( string )
# Can have multiple entries, combined with 'names'
# Note that they must all be entities, or all be meshes
#
name = "western_castle_01_level_03_mesh" name = "western_castle_01_level_03_mesh"
# To randomize between multiple meshes/entities. Note that they must all be entities, or all be meshes: name = "western_castle_01_level_04_mesh"
# Names of meshes or entities ( array of strings )
# To randomize between multiple meshes/entities
# Note that they must all be entities, or all be meshes
# Combined with 'name'
#
names = { "western_castle_01_level_03a_mesh" "western_castle_01_level_03b_mesh" "western_castle_01_level_03c_mesh" } names = { "western_castle_01_level_03a_mesh" "western_castle_01_level_03b_mesh" "western_castle_01_level_03c_mesh" }
# Path to illustration shown in the county view, texture can be accessed in GUI: "[Holding.GetIllustration]"
# Path to illustration shown in the county view ( string )
# Texture can be accessed in GUI: "[Holding.GetIllustration]"
#
illustration = "path/to/image.dds" illustration = "path/to/image.dds"
# Associated sound effect and an optional parameter, can also be just soundeffect = "event:..." if no parameter is needed
soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Generic/sfx_amb_3d_holdings_generic_castle" soundparameter = { "Tier" = 2.0 } } # Associated sound effect and an optional parameter
# Graphical cultures that prefer this asset to be shown # Can also be just soundeffect = "event:..." if no parameter is needed
graphical_cultures = { arabicgfx muslimgfx } # Can have multiple sound effects
# Graphical faiths that prefer this asset to be shown (priority is faith > religion > family, so Catholic graphical_faith overrides Abrahamic graphical_faith) #
graphical_faiths = { catholic_gfx orthodox_gfx } soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Generic/sfx_amb_3d_holdings_generic_castle_01" soundparameter = { "Tier" = 2.0 } }
# Graphical regions in which this asset is preferred, this is the most important criterion when selecting the asset, with the exception of government and province
graphical_regions = { western mena }
# Province IDs in which this asset is preferred. Has a higher priority than graphical region.
provinces = { 496 1000 }
# Governments that prefer this asset to be shown # Governments that prefer this asset to be shown
governments = { tribal_government } governments = { tribal_government }
# Province IDs in which this asset is preferred ( array of int )
# Has a higher priority than graphical region
#
provinces = { 496 1000 }
# Graphical regions in which this asset is preferred ( array of strings )
# This is the most important criterion when selecting the asset, with the exception of government and province
# Should match entries in geographical regions database
#
graphical_regions = { graphical_mena graphical_mediterranean }
# Graphical cultures that prefer this asset to be shown ( array of flags )
# Should match 'building_gfx' in cultures database
#
graphical_cultures = { western_building_gfx mediterranean_building_gfx }
# Graphical faiths that prefer this asset to be shown ( array of strings )
# Priority is faith > religion > family, so Catholic graphical_faith overrides Abrahamic graphical_faith
# Should match 'graphical_faith' in religion database
#
graphical_faiths = { catholic_gfx orthodox_gfx }
# Required DLC flag ( dlc flag )
# Assets marked with a DLC flag require matching DLC to be enabled
#
requires_dlc_flag = the_northern_lords
} }
# Is the building enabled? Else won't give any effects to holder, and not be constructible (see can_construct* below). # Trigger: is the building enabled?
# Else won't give any effects to holder, and not be constructible ( see can_construct* below ).
# If is_graphical_background = yes, this controls whether the building can be shown in the province. # If is_graphical_background = yes, this controls whether the building can be shown in the province.
# scopes: root is the province; scope:holder is the holder of the province; county is the county title the province belongs to # Scopes:
# root ( province ) province where building is located
# scope:holder ( character ) holder of the barony title
# scope:county ( title ) is the county title the province belongs to
#
is_enabled = {} is_enabled = {}
# Can the building be constructed. # Trigger: can the building be repaired?
# Use this instead of is_enabled if you want to allow rulers to "use" the building after getting the holding, but to disallow that they construct it. # Only Great Buildings can be ruined and repaired
# can_construct_potential controls whether the building appears in the build menu. For upgrades it is identical to can_construct_showing_failures_only. # Scopes:
# Note that is_enabled (see above) is added to can_construct_potential. # root ( province ) province where building is located
# scope:holder ( character ) holder of the barony title
# scope:county ( title ) is the county title the province belongs to
#
can_rebuild = {}
# Triggers can the building be constructed?
# Use this instead of is_enabled if you want to allow rulers to "use" the building
# after getting the holding, but to disallow that they construct it.
# Note that is_enabled (see above) is always called together with can_construct_potential.
# To be able to construct a building all 3 triggers must evaluate to true
# Not used if is_graphical_background = yes # Not used if is_graphical_background = yes
# scopes: root is the province; scope:holder is the holder of the province; county is the county title the province belongs to # scopes: root is the province; scope:holder is the holder of the province; county is the county title the province belongs to
can_construct_potential = {} #
can_construct_showing_failures_only = {} can_construct_potential = {} # Whether the building even appears in the build menu
can_construct = {} # For upgrades it is identical to can_construct_showing_failures_only.
show_disabled = yes/no # if set to yes, the building will show in the build menu even if disabled (will still use can_construct_potential). No by default can_construct_showing_failures_only = {} # Trigger will show only failuers. Use for temporary effects player can overcome
can_construct = {} # Trigger will show both filled and missing requirements
# How much cost does the building cost # Shall disabled building still show in the build menu. Will still use can_construct_potential ( bool )
# default: no
#
show_disabled = yes/no # if set to yes,
# How much cost does the building cost ( scripted cost )
#
cost = { gold = 500 ... } cost = { gold = 500 ... }
# The next building in chain unlocked by this building # The next upgrade for this building chain
#
next_building = castle_02 next_building = castle_02
# Custom description for effects indirectly provided by building. # Custom description for effects indirectly provided by building ( dynamic description )
# The scope root refers to the buildings province. # No scope is provided
effect_desc = <loc key> #
effect_desc = dynamic_description
# A modifier applied to the owner of the holding # A modifier applied to the owner of the holding
#
character_modifier = { character_modifier = {
modifier_name = modifier_value
} }
# Applied if the character's culture has the parameter # Applied if the character's culture has the parameter
character_culture_modifier = { character_culture_modifier = {
parameter = culture param parameter = culture param
@ -80,54 +156,122 @@ name_of_the_building = {
parameter = faith param parameter = faith param
} }
# A modifier applied if the holder's dynasty of the county has a specific perk # A modifier applied to the owner of the province if the dynasty of the county holder has a specific perk
#
characer_dynasty_modifier = { characer_dynasty_modifier = {
county_holder_dynasty_perk = fp2_urbanism_legacy_1 # The name of the perk county_holder_dynasty_perk = fp2_urbanism_legacy_1 # The name of the perk
# The effect modifier_name = modifier_value
monthly_prestige_gain_mult = 0.2
} }
# A modifier applied to the province # A modifier applied to the province
#
province_modifier = { province_modifier = {
modifier_name = modifier_value
} }
# A modifier applied to the province only if province's county culture has this parameter
#
province_culture_modifier = { province_culture_modifier = {
parameter = culture param parameter = culture_param
modifier_name = modifier_value
} }
# A modifier applied to the province only if province's county faith has this parameter
#
province_faith_modifier = { province_faith_modifier = {
parameter = faith param parameter = faith_param
modifier_name = modifier_value
} }
# A modifier applied to the province only if it matches all listed criteria
# culture parameter (optional), terrain type, coastal or riverside
province_terrain_modifier = { province_terrain_modifier = {
parameter = required culture param (optional)
terrain = required province terrain (optional, default is all terrain types) parameter = culture_param # (optional)
is_coastal = whether this modifier is applied on coastal or non-coastal provinces (optional, default is both coastal and non-coastal)
is_riverside = whether this modifier is only applied on provinces that are next to a big river or not (optional, default is both riverside and not) terrain =terrain_type # From terrain database (optional, if empty - any terrait)
is_coastal = yes/no # Apply modifier on coastal, non-coastal, or any province
# (optional, default is both coastal and non-coastal)
is_riverside = yes/no # Apply modifier on provinces only next to a big river or not next to a riger province
# (optional, default is both riverside and not)
} }
# A modifier applied if the holder's dynasty of the county has a specific perk # A modifier applied to the province if the dynasty of the county holder has a specific perk
#
province_dynasty_modifier = { province_dynasty_modifier = {
county_holder_dynasty_perk = fp2_urbanism_legacy_1 # The name of the perk county_holder_dynasty_perk = fp2_urbanism_legacy_1
# The effect modifier_name = modifier_value
monthly_income = 0.2
} }
# A modifier applied to the county # A modifier applied to the entire county
# All provinces in the county can stack the same county modifier together
#
county_modifier = { county_modifier = {
} modifier_name = modifier_value
county_culture_modifier = {
parameter = culture param
}
county_faith_modifier = {
parameter = faith param
} }
# A modifier applied to every de jure county in the duchy (if the county has the same de facto liege as this building's county). Can only be used (and only works) for duchy capital buildings. # A modifier applied to the county only if county culture has this parameter
#
county_culture_modifier = {
parameter = culture_param
modifier_name = modifier_value
}
# A modifier applied to the county only if province's county faith has this parameter
#
county_faith_modifier = {
parameter = faith_param
modifier_name = modifier_value
}
# A modifier applied to every de jure county in the duchy. Can only be used (and only works) for duchy capital buildings
#
duchy_capital_county_modifier = { duchy_capital_county_modifier = {
modifier_name = modifier_value
} }
# A modifier applied to the entire county if any situation the county is involved in has the specified parameter in its current phase.
# All provinces in the county can stack the same county modifier together
county_situation_modifier = {
parameter = situation_parameter
modifier_name = modifier_value
}
# A modifier applied to the province if any situation the county is involved in has the specified parameter in its current phase.
province_situation_modifier = {
parameter = situation_parameter
modifier_name = modifier_value
}
# A modifier applied to the owner of the holding if any situation the county is involved in has the specified parameter in its current phase.
character_situation_modifier = {
parameter = situation_parameter
modifier_name = modifier_value
}
# A modifier applied to every de jure county in the duchy if any situation the county is involved in has the specified parameter in its current phase.
# Can only be used (and only works) for duchy capital buildings.
duchy_capital_county_situation_modifier = {
parameter = situation_parameter
modifier_name = modifier_value
}
# A modifier applied to every de jure county in the duchy if county culture has specified parameter
# Can only be used (and only works) for duchy capital buildings
#
duchy_capital_county_culture_modifier = { duchy_capital_county_culture_modifier = {
parameter = culture param parameter = culture_param
modifier_name = modifier_value
} }
# A modifier applied to every de jure county in the duchy if county faith has specified parameter
# Can only be used (and only works) for duchy capital buildings
#
duchy_capital_county_faith_modifier = { duchy_capital_county_faith_modifier = {
parameter = faith param parameter = faith_param
modifier_name = modifier_value
} }
# A special modifier applied to every holding of specified type in the county # A special modifier applied to every holding of specified type in the county
@ -136,45 +280,124 @@ name_of_the_building = {
income_mult = 1 income_mult = 1
} }
# A modifier applied if the holder's dynasty of the county has a specific perk # A modifier applied to the county if the dynasty of the county holder has a specific perk
#
county_dynasty_modifier = { county_dynasty_modifier = {
county_holder_dynasty_perk = fp2_urbanism_legacy_1 # The name of the perk county_holder_dynasty_perk = fp2_urbanism_legacy_1 # The name of the perk
# The effect modifier_name = modifier_value
development_growth_factor = 0.2
} }
# A modifier applied to the county holder # A modifier applied to the county holder
#
county_holder_character_modifier = { county_holder_character_modifier = {
modifier_name = modifier_value
} }
# Building flags # A modifier applied to the province if the county holder's government has the specified parameter
#
province_government_modifier = {
parameter = government_param
modifier_name = modifier_value
}
# A modifier applied to the county holder if their government has the specified parameter
#
character_government_modifier = {
parameter = government_param
modifier_name = modifier_value
}
## fallback: modifier collection
# Use this field to define an alternative set of modifiers that will be applied if the building is disabled.
# supported modifiers:
# - character_modifier
# - character_culture_modifier
# - character_faith_modifier
# - characer_dynasty_modifier
# - province_modifier
# - province_culture_modifier
# - province_faith_modifier
# - province_terrain_modifier
# - province_dynasty_modifier
# - county_modifier
# - county_culture_modifier
# - county_faith_modifier
# - duchy_capital_county_modifier
# - county_situation_modifier
# - province_situation_modifier
# - character_situation_modifier
# - duchy_capital_county_situation_modifier
# - duchy_capital_county_culture_modifier
# - duchy_capital_county_faith_modifier
# - county_holding_modifier
# - county_dynasty_modifier
# - county_holder_character_modifier
# - province_government_modifier
# - character_government_modifier
#
fallback = {
character_modifier = {}
character_dynasty_modifier = {}
...
}
# Filename of building type icon in 'BUILDING_TYPE_ICON_PATH' folder ( string )
#
type_icon = "icon_building_hospice.dds"
# Building flags that can be checked in triggers. Can have multiple flags
#
flag = castle flag = castle
# Effects applied on building completion # How desirable is the building for the AI ( MTTH )
# scopes: root refers to the buildings province # Shared priorities with domicile buildings if available
on_complete = { # See AI selection logic at the bottom of this doc to explain how the AI uses these!
<effects> # Scopes:
} # root ( Province ) The province the construction took place in
#
# How desirable is the building for the AI # scope:character The character that paid for the construction, if available
#
# scope:holding holding type if this building is primary building for holding type scope.
# Like castle is primary building for a castle holding
#
ai_value = { ai_value = {
base = 100 base = 100
} }
# If this is set to yes, the building will be used for figuring out which background asset (walls/no walls etc) should be shown # Shall the building be used for figuring out which background map asset (walls/no walls etc) should be shown
# AI skips all is_graphical_background = yes buildings
#
is_graphical_background = no is_graphical_background = no
### Brief: on_start/on_cancelled/on_complete ### on_start/on_cancelled/on_complete effects
# Effects that happen when construction of the building # Effects that happen when construction of the building starts/cancels/finishes
# starts/cancels/finishes. # Scopes:
# root ( Province ) The province the construction took place in
#
# scope:character The character that paid for the construction, if available
#
# scope:holding holding type if this building is primary building for holding type scope.
# Like castle is primary building for a castle holding
# #
# Supported scopes:
# root (Province)
# The province the construction took place in.
# character
The character that paid for the construction, if available
on_start = { ... } on_start = { ... }
on_cancelled = { ... } on_cancelled = { ... }
on_complete = { ... } on_complete = { ... }
# which great_project_type is going to upgrade this great building
# when you're upgrading this great building via great project there will be no construction progress on the building slot itself,
# and it's the great project that progresses instead.
# use this field to allow the user to start planning the great project that will upgrade the building
# and to jump to the UI that shows the current upgrade status.
great_project_type = grand_building_project_this_tier
} }
AI behavior:
1. The AI puts all potential buildings (including domicile buildings, but excluding holdings, Great Projects, etc) in a list
2. It then computes all potential buildings' ai_value and sorts by it
3. Any building that does not score within 20% of the top building in this list are discarded
4. It selects a building randomly from the remaining ones
5. If it can afford this building it builds it; if not, it starts saving up gold for it
Warning: a very expensive building with a high ai_value could lock an AI character into saving gold forever! Since it builds no buildings that could improve its ability to earn gold (investments), it might never build any buildings and never improve its economy.

View file

@ -110,8 +110,13 @@ cluny_abbey_01 = {
province_modifier = { province_modifier = {
monthly_income = 1.5 monthly_income = 1.5
} }
on_complete = {
#Regular Mandala Boon
mandala_built_piety_duchy_building_t1_effect = yes
}
ai_value = { ai_value = {
base = 100 base = 100
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for special buildings modifier = { # Fill all building slots before going for special buildings
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -119,6 +124,7 @@ cluny_abbey_01 = {
} }
type = special type = special
flag = travel_point_of_interest_religious flag = travel_point_of_interest_religious
flag = special_university
} }
cluny_abbey_02 = { cluny_abbey_02 = {
asset = { asset = {
@ -161,8 +167,13 @@ cluny_abbey_02 = {
province_modifier = { province_modifier = {
monthly_income = 3 monthly_income = 3
} }
on_complete = {
#Regular Mandala Boon
mandala_built_piety_duchy_building_t2_effect = yes
}
ai_value = { ai_value = {
base = 100 base = 100
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for special buildings modifier = { # Fill all building slots before going for special buildings
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -240,8 +251,13 @@ damascus_mosque_01 = {
province_modifier = { province_modifier = {
monthly_income = 2 monthly_income = 2
} }
on_complete = {
#Regular Mandala Boon
mandala_built_piety_duchy_building_t2_effect = yes
}
ai_value = { ai_value = {
base = 100 base = 100
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for special buildings modifier = { # Fill all building slots before going for special buildings
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -362,6 +378,7 @@ beta_giyorgis_01 = {
} }
ai_value = { ai_value = {
base = 100 base = 100
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for special buildings modifier = { # Fill all building slots before going for special buildings
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -407,6 +424,7 @@ holy_wisdom_01 = {
} }
ai_value = { ai_value = {
base = 100 base = 100
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for special buildings modifier = { # Fill all building slots before going for special buildings
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -495,6 +513,7 @@ somapura_university_01 = {
} }
type = special type = special
flag = travel_point_of_interest_learning flag = travel_point_of_interest_learning
flag = special_university
} }
########## ##########
# Duomo Florence # Duomo Florence
@ -531,6 +550,7 @@ duomo_florence_01 = {
} }
ai_value = { ai_value = {
base = 100 base = 100
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for special buildings modifier = { # Fill all building slots before going for special buildings
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -574,6 +594,7 @@ duomo_florence_02 = {
} }
ai_value = { ai_value = {
base = 100 base = 100
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for special buildings modifier = { # Fill all building slots before going for special buildings
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -619,6 +640,7 @@ duomo_florence_03 = {
} }
ai_value = { ai_value = {
base = 100 base = 100
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for special buildings modifier = { # Fill all building slots before going for special buildings
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -665,6 +687,7 @@ duomo_florence_04 = {
} }
ai_value = { ai_value = {
base = 100 base = 100
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for special buildings modifier = { # Fill all building slots before going for special buildings
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -701,7 +724,8 @@ konark_temple_01 = {
monthly_income = 2 monthly_income = 2
} }
ai_value = { ai_value = {
base = 100 base = 8
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for special buildings modifier = { # Fill all building slots before going for special buildings
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -753,6 +777,7 @@ al_qarawiyyin_university_01 = {
} }
type = special type = special
flag = travel_point_of_interest_learning flag = travel_point_of_interest_learning
flag = special_university
} }
########## ##########
# Kairouan basins # Kairouan basins
@ -911,6 +936,7 @@ wawel_cathedral_01 = { #Collegiate Church of St. Mary and St. Alexius
} }
ai_value = { ai_value = {
base = 100 base = 100
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for special buildings modifier = { # Fill all building slots before going for special buildings
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -964,6 +990,7 @@ wawel_cathedral_02 = { #Archcollegiate Church of St. Mary and St. Alexius
} }
ai_value = { ai_value = {
base = 100 base = 100
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for special buildings modifier = { # Fill all building slots before going for special buildings
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -1017,6 +1044,7 @@ wawel_cathedral_03 = { #Cathedral of St. Mary and St. Alexius - althistory upgra
} }
ai_value = { ai_value = {
base = 100 base = 100
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for special buildings modifier = { # Fill all building slots before going for special buildings
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0
@ -1050,6 +1078,7 @@ vatapi_caves_01 = {
} }
ai_value = { ai_value = {
base = 100 base = 100
ai_pious_building_preference_modifier = yes
modifier = { # Fill all building slots before going for special buildings modifier = { # Fill all building slots before going for special buildings
factor = 0 factor = 0
free_building_slots > 0 free_building_slots > 0

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,669 @@
##################
# Mandala Capital (Temple Complex)
##################
# USED IN CODE, DO NOT RENAME OR REMOVE
mandala_capital_01 = {
type_icon = "tgp_icon_building_mandala_capital_tier_01.dds"
#We only build this through Decision -> Great Projects
can_construct_potential = {
always = no #This should never show up
}
asset = {
type = entity
name = "tgp_great_building_mandala_capital_01_entity"
}
is_enabled = {
#It needs to be your capital
scope:county.holder = {
government_has_flag = government_is_mandala
capital_province = root #The province
}
}
show_disabled = yes
rebuild_cost = {
gold = {
if = {
limit = { is_ai = yes }
value = ai_rebuild_value
}
else = { value = standard_rebuild_value }
}
piety = {
if = {
limit = { is_ai = yes }
value = ai_rebuild_value
}
else = { value = standard_rebuild_value }
}
}
can_rebuild = {
scope:county.holder = {
custom_tooltip = {
text = not_already_full_on_mandala_capitals
less_than_max_amount_of_mandala_capitals_trigger = yes
}
}
}
character_modifier = {
domain_limit = 1
court_grandeur_baseline_add = 1 #Most likely you don't have a court yet
vassal_limit_max = 1 #Added to the base for Mandala of 3 Max
domain_limit_max = 1
monthly_county_control_growth_add = 0.1
}
province_modifier = {
stationed_maa_damage_mult = 0.1
levy_size = 0.15
garrison_size = 0.15
monthly_income = 0.2
}
county_modifier = {
development_growth = 0.1
tax_mult = 0.1
}
fallback = {
province_modifier = {
monthly_income = 0.1
}
}
next_building = mandala_capital_02
type = great_building
is_mandala_capital = yes
flag = mandala_capital_building
flag = first_tier_mandala_capital_building
}
mandala_capital_02 = {
type_icon = "tgp_icon_building_mandala_capital_tier_02.dds"
#We only build this through Decision -> Great Projects
can_construct_potential = {
scope:holder.capital_province = { has_building_with_flag = first_tier_mandala_capital_building }
}
asset = {
type = entity
name = "tgp_great_building_mandala_capital_02_entity"
}
is_enabled = {
#It needs to be your capital
scope:holder = {
government_has_flag = government_is_mandala
capital_province = root #The province
}
}
can_rebuild = {
scope:county.holder = {
custom_tooltip = {
text = not_already_full_on_mandala_capitals
less_than_max_amount_of_mandala_capitals_trigger = yes
}
}
}
show_disabled = yes
rebuild_cost = {
gold = {
if = {
limit = { is_ai = yes }
value = ai_rebuild_value
}
else = {
value = {
add = standard_rebuild_value
multiply = 1.25
}
}
}
piety = {
if = {
limit = { is_ai = yes }
value = ai_rebuild_value
}
else = {
value = {
add = standard_rebuild_value
multiply = 1.25
}
}
}
}
character_modifier = {
domain_limit = 1
court_grandeur_baseline_add = 3
vassal_limit_max = 2 #Added to the base for Mandala of 4 Max
monthly_county_control_growth_add = 0.15
domain_limit_max = 2
}
province_modifier = {
stationed_maa_damage_mult = 0.1
levy_size = 0.25
garrison_size = 0.25
monthly_income = 0.4
}
county_modifier = {
development_growth = 0.15
tax_mult = 0.2
}
fallback = {
province_modifier = {
monthly_income = 0.1
}
}
next_building = mandala_capital_03
great_project_type = mandala_capital_02
is_mandala_capital = yes
type = great_building
flag = mandala_capital_building
flag = second_tier_mandala_capital_building
}
mandala_capital_03 = {
type_icon = "tgp_icon_building_mandala_capital_tier_03.dds"
#We only build this through Decision -> Great Projects
can_construct_potential = {
scope:holder.capital_province = { has_building_with_flag = second_tier_mandala_capital_building }
}
asset = {
type = entity
name = "tgp_great_building_mandala_capital_03_entity"
}
is_enabled = {
#It needs to be your capital
scope:holder = {
government_has_flag = government_is_mandala
capital_province = root #The province
}
}
can_rebuild = {
scope:county.holder = {
custom_tooltip = {
text = not_already_full_on_mandala_capitals
less_than_max_amount_of_mandala_capitals_trigger = yes
}
}
}
show_disabled = yes
rebuild_cost = {
gold = {
if = {
limit = { is_ai = yes }
value = ai_rebuild_value
}
else = {
value = {
add = standard_rebuild_value
multiply = 1.5
}
}
}
piety = {
if = {
limit = { is_ai = yes }
value = ai_rebuild_value
}
else = {
value = {
add = standard_rebuild_value
multiply = 1.5
}
}
}
}
character_modifier = {
domain_limit = 2
court_grandeur_baseline_add = 5
vassal_limit_max = 8 #Added to the base for Mandala of 10 Max
monthly_county_control_growth_add = 0.2
diplomatic_range_mult = 0.15
domain_limit_max = 3
}
province_modifier = {
stationed_maa_damage_mult = 0.1
levy_size = 0.35
garrison_size = 0.35
monthly_income = 0.5
}
county_modifier = {
development_growth = 0.2
tax_mult = 0.25
}
fallback = {
province_modifier = {
monthly_income = 0.1
}
}
next_building = mandala_capital_04
great_project_type = mandala_capital_03
is_mandala_capital = yes
type = great_building
flag = mandala_capital_building
flag = third_tier_mandala_capital_building
}
mandala_capital_04 = {
type_icon = "tgp_icon_building_mandala_capital_tier_04.dds"
#We only build this through Decision -> Great Projects
can_construct_potential = {
scope:holder.capital_province = { has_building_with_flag = third_tier_mandala_capital_building }
}
asset = {
type = entity
name = "tgp_great_building_mandala_capital_04_entity"
}
is_enabled = {
#It needs to be your capital
scope:holder = {
government_has_flag = government_is_mandala
capital_province = root #The province
}
}
can_rebuild = {
scope:county.holder = {
custom_tooltip = {
text = not_already_full_on_mandala_capitals
less_than_max_amount_of_mandala_capitals_trigger = yes
}
}
}
show_disabled = yes
rebuild_cost = {
gold = {
if = {
limit = { is_ai = yes }
value = ai_rebuild_value
}
else = {
value = {
add = standard_rebuild_value
multiply = 1.75
}
}
}
piety = {
if = {
limit = { is_ai = yes }
value = ai_rebuild_value
}
else = {
value = {
add = standard_rebuild_value
multiply = 1.75
}
}
}
}
character_modifier = {
domain_limit = 3
court_grandeur_baseline_add = 7
vassal_limit_max = 16 #Added to the base for Mandala of 18 Max
monthly_county_control_growth_add = 0.25
diplomatic_range_mult = 0.25
diplomatic_range_mult = 0.2
domain_limit_max = 5
}
province_modifier = {
stationed_maa_damage_mult = 0.1
levy_size = 0.4
garrison_size = 0.5
monthly_income = 0.5
}
county_modifier = {
development_growth = 0.3
tax_mult = 0.3
}
fallback = {
province_modifier = {
monthly_income = 0.1
}
}
next_building = mandala_capital_05
great_project_type = mandala_capital_04
is_mandala_capital = yes
type = great_building
flag = mandala_capital_building
flag = fourth_tier_mandala_capital_building
}
mandala_capital_05 = {
type_icon = "tgp_icon_building_mandala_capital_tier_05.dds"
#We only build this through Decision -> Great Projects
can_construct_potential = {
scope:holder.capital_province = { has_building_with_flag = fourth_tier_mandala_capital_building }
}
asset = {
type = entity
name = "tgp_great_building_mandala_capital_05_entity"
}
is_enabled = {
#It needs to be your capital
scope:holder = {
government_has_flag = government_is_mandala
capital_province = root #The province
}
}
can_rebuild = {
scope:county.holder = {
custom_tooltip = {
text = not_already_full_on_mandala_capitals
less_than_max_amount_of_mandala_capitals_trigger = yes
}
}
}
show_disabled = yes
rebuild_cost = {
gold = {
if = {
limit = { is_ai = yes }
value = ai_rebuild_value
}
else = {
value = {
add = standard_rebuild_value
multiply = 2
}
}
}
piety = {
if = {
limit = { is_ai = yes }
value = ai_rebuild_value
}
else = {
value = {
add = standard_rebuild_value
multiply = 2
}
}
}
}
character_modifier = {
domain_limit = 4
court_grandeur_baseline_add = 10
vassal_limit_max = 28 #Added to the base for Mandala of 30 Max
monthly_county_control_growth_add = 0.35
diplomatic_range_mult = 0.3
domain_limit_max = 7
}
province_modifier = {
stationed_maa_damage_mult = 0.1
monthly_income = 0.75
}
county_modifier = {
development_growth = 0.4
tax_mult = 0.35
levy_size = 0.5
garrison_size = 0.5
}
fallback = {
province_modifier = {
monthly_income = 0.1
}
}
great_project_type = mandala_capital_05
is_mandala_capital = yes
type = great_building
flag = mandala_capital_building
flag = final_tier_mandala_capital_building
}
# Great Barracks
celestial_great_barracks_01 = {
effect_desc = {
desc = unlocks_building_desc
desc = celestial_great_barracks_effect_desc
}
type_icon = "icon_structure_celestial_great_barracks.dds"
can_construct_potential = {
always = no # This building is the result of a great project
}
# Only enabled for military governors - Viable for all admin types though
is_enabled = {
county.holder = {
has_title = prev.duchy
custom_tooltip = {
text = celestial_great_barracks_enabled_desc
OR = {
vassal_contract_has_flag = celestial_military_appointment # Only for celestial military governors
government_has_flag = government_is_administrative # All regular admin types are eligible
is_independent_ruler = yes # The top liege can always use it
}
}
}
}
show_disabled = yes
cost_gold = expensive_building_tier_2_cost
character_modifier = {
monthly_influence_mult = 0.05
men_at_arms_title_limit = 1
men_at_arms_title_cap = 1
men_at_arms_recruitment_cost = -0.1
men_at_arms_maintenance = -0.12
}
duchy_capital_county_modifier = {
supply_limit_mult = 1
garrison_size = 1.5
hostile_raid_time = 0.5
defender_holding_advantage = 15
additional_fort_level = normal_building_fort_level_tier_6
travel_danger = -30
monthly_county_control_growth_add = 0.2
}
type = duchy_capital
}
# The Great Wall - Qin Era
the_great_wall_01 = {
type_icon = "icon_structure_the_great_wall.dds"
can_construct_potential = {
}
is_enabled = {
}
show_disabled = yes
province_modifier = {
fort_level = 1
hostile_raid_time = 0.1
defender_holding_advantage = 2
}
type = great_building
}
# The Great Wall - Han Era
the_great_wall_02 = {
type_icon = "icon_structure_the_great_wall.dds"
can_construct_potential = {
}
is_enabled = {
}
show_disabled = yes
province_modifier = {
fort_level = 2
hostile_raid_time = 0.2
stationed_maa_toughness_mult = 0.05
defender_holding_advantage = 4
}
type = great_building
}
# The Great Wall - Northern Wei/Qi/Sui Era (we bundle these together since they overlap somewhat)
the_great_wall_03 = {
type_icon = "icon_structure_the_great_wall.dds"
can_construct_potential = {
}
is_enabled = {
}
show_disabled = yes
province_modifier = {
fort_level = 3
hostile_raid_time = 0.3
stationed_maa_toughness_mult = 0.05
defender_holding_advantage = 6
}
type = great_building
}
# The Great Wall - Ming Era (this is also what you can build in-game)
the_great_wall_04 = {
type_icon = "icon_structure_the_great_wall.dds"
can_construct_potential = {
}
is_enabled = {
}
show_disabled = yes
province_modifier = {
fort_level = 5
hostile_raid_time = 0.5
stationed_maa_toughness_mult = 0.05
defender_holding_advantage = 8
}
type = great_building
}
the_great_wall_shanhai_pass = {
asset = {
type = pdxmesh
name = "tgp_great_wall_04_mesh"
}
type_icon = "icon_structure_the_great_wall.dds"
can_construct_potential = {
}
is_enabled = {
}
show_disabled = yes
province_modifier = {
fort_level = 5
hostile_raid_time = 0.5
stationed_maa_toughness_mult = 0.05
defender_holding_advantage = 8
}
type = great_building
}
the_great_wall_liaodong = {
asset = {
type = pdxmesh
name = "tgp_great_wall_05_mesh"
}
type_icon = "icon_structure_the_great_wall.dds"
can_construct_potential = {
}
is_enabled = {
}
show_disabled = yes
province_modifier = {
fort_level = 5
hostile_raid_time = 0.5
stationed_maa_toughness_mult = 0.05
defender_holding_advantage = 8
}
type = great_building
}

View file

@ -42,60 +42,69 @@ feudal_government = {
} }
republic_government = { republic_government = {
primary_holding = city_holding
valid_holdings = { castle_holding }
required_county_holdings = { city_holding castle_holding church_holding }
government_rules = { government_rules = {
inherit_from_dynastic_government = no
create_cadet_branches = yes create_cadet_branches = yes
legitimacy = yes rulers_should_have_dynasty = yes
inherit_from_dynastic_government = no dynasty_named_realms = no
noble_families = yes
treasury = yes
administrative = yes
landless_playable = yes landless_playable = yes
replace_gold_cost_by_treasury = yes legitimacy = yes
admin_allows_holding_multiple_primary_tier_titles = yes administrative = yes
sticky_government = yes
use_as_base_on_landed = yes use_as_base_on_landed = yes
house_aspirations = yes
use_as_base_on_rank_up = yes use_as_base_on_rank_up = yes
inherit_from_dynastic_government = no
sticky_government = yes
house_aspirations = yes
noble_families = yes
admin_allows_holding_multiple_primary_tier_titles = yes
treasury = yes
replace_gold_cost_by_treasury = yes
} }
domicile_type = estate
main_administrative_tier = county main_administrative_tier = county
min_appointment_tier = county min_appointment_tier = county
minimum_provincial_maa_tier = county minimum_provincial_maa_tier = county
fallback = 2 fallback = 3
primary_holding = city_holding
valid_holdings = { castle_holding temple_citadel_holding }
required_county_holdings = { city_holding castle_holding church_holding }
vassal_contract_group = republic_vassal vassal_contract_group = republic_vassal
character_modifier = { character_modifier = {
# Vassals get Treasury income that is this percentage less than their taxes to their liege # Vassals get Treasury income that is this percentage less than their taxes to their liege
monthly_treasury_from_liege_mult = -0.15 monthly_treasury_from_liege_mult = -0.15
men_at_arms_maintenance = 0.75
men_at_arms_recruitment_cost = 0.75
} }
top_liege_character_modifier = { top_liege_character_modifier = {
# 85% of vassal income goes to the treasury # 85% of vassal income goes to the treasury
monthly_treasury_from_vassals = 0.85 monthly_treasury_from_vassals = 0.85
men_at_arms_maintenance = 0.75
men_at_arms_recruitment_cost = 0.75
} }
# Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player).
flags = { flags = {
government_is_special_republic
government_is_special_administrative
government_is_administrative government_is_administrative
# These flags only exist for loc and in-game descriptions
government_has_influence government_has_influence
government_has_treasury
government_is_special_administrative
government_has_title_men_at_arms
government_has_powerful_families government_has_powerful_families
government_is_settled government_is_settled
government_uses_domain_limit
government_has_treasury
government_uses_domicile_but_not_adventurer government_uses_domicile_but_not_adventurer
government_uses_domain_limit
government_has_house_blocs government_has_house_blocs
} }
mechanic_type = administrative mechanic_type = administrative
domicile_type = estate
color = hsv{ 0.00 1.00 0.98 } color = hsv{ 0.00 1.00 0.98 }
realm_mask_offset = { 0.0 -0.01 } realm_mask_offset = { 0.0 -0.01 }
realm_mask_scale = { 1 1 } realm_mask_scale = { 1 1 }

View file

@ -11,6 +11,7 @@
ramparts_01 ramparts_01
farm_estates_01 farm_estates_01
cereal_fields_01 cereal_fields_01
paddy_fields_01
pastures_01 pastures_01
peat_quarries_01 peat_quarries_01
hill_farms_01 hill_farms_01
@ -34,16 +35,19 @@
caravanserai_01 caravanserai_01
workshops_01 workshops_01
wind_furnace_01 wind_furnace_01
powder_magazine_01
common_tradeport_01 common_tradeport_01
hall_of_heroes_01 hall_of_heroes_01
special_sicilian_parliament_01 special_sicilian_parliament_01
special_greenhouse_01 special_greenhouse_01
qanats_01 qanats_01
murex_farm_01 murex_farm_01
waterworks_01
#NEOW spice_plantation_01
tell_mines_01 oath_warriors_building_01
oath_faithful_building_01
oath_poor_building_01
monastic_schools_01 # only for the monastic_schools_allowed_in_every_holding_type faith tenet
} }
} }
@ -56,11 +60,23 @@ tribal_holding = {
longhouses_01 longhouses_01
market_villages_01 market_villages_01
idjang_forts_01
wantilan_01
kora_kora_yards_01
water_temples_01
stilted_granaries_01
hillside_grazing_01 hillside_grazing_01
warrior_lodges_01 warrior_lodges_01
horse_pastures_01 horse_pastures_01
common_tradeport_01 # only for trade_ports_enabled_for_tribals culture parameter common_tradeport_01 # only for trade_ports_enabled_for_tribals culture parameter
oath_warriors_building_01
oath_faithful_building_01
oath_poor_building_01
monastic_schools_01 # only for the monastic_schools_allowed_in_every_holding_type faith tenet
} }
} }
@ -71,6 +87,7 @@ city_holding = {
outposts_01 outposts_01
farm_estates_01 farm_estates_01
cereal_fields_01 cereal_fields_01
paddy_fields_01
pastures_01 pastures_01
peat_quarries_01 peat_quarries_01
hill_farms_01 hill_farms_01
@ -100,11 +117,16 @@ city_holding = {
common_tradeport_01 common_tradeport_01
qanats_01 qanats_01
murex_farm_01 murex_farm_01
waterworks_01
spice_plantation_01
breweries_01 breweries_01
#NEOW oath_warriors_building_01
tell_mines_01 oath_faithful_building_01
oath_poor_building_01
monastic_schools_01 # only for the monastic_schools_allowed_in_every_holding_type faith tenet
} }
can_be_inherited = yes can_be_inherited = yes
@ -118,6 +140,7 @@ church_holding = {
outposts_01 outposts_01
farm_estates_01 farm_estates_01
cereal_fields_01 cereal_fields_01
paddy_fields_01
pastures_01 pastures_01
peat_quarries_01 peat_quarries_01
hill_farms_01 hill_farms_01
@ -148,11 +171,13 @@ church_holding = {
common_tradeport_01 common_tradeport_01
hall_of_heroes_01 hall_of_heroes_01
qanats_01 qanats_01
waterworks_01
breweries_01 breweries_01
#NEOW oath_warriors_building_01
tell_mines_01 oath_faithful_building_01
oath_poor_building_01
} }
can_be_inherited = yes can_be_inherited = yes
@ -186,3 +211,56 @@ herder_holding = {
county_fertility county_fertility
} }
} }
temple_citadel_holding = {
primary_building = temple_citadel_01
buildings = {
citadel_shrine_01
sacred_pool_01
vihara_halls_01
waterworks_01
spice_plantation_01
capital_bureau_01
scriptorium_01
monastic_schools_01
megalith_01
hospices_01
farm_estates_01
cereal_fields_01
paddy_fields_01
pastures_01
peat_quarries_01
hill_farms_01
logging_camps_01
plantations_01
quarries_01
orchards_01
elephant_pens_01
regimental_grounds_01
barracks_01
military_camps_01
camel_farms_01
stables_01
smiths_01
hillside_grazing_01
warrior_lodges_01
horse_pastures_01
windmills_01
watermills_01
caravanserai_01
workshops_01
wind_furnace_01
powder_magazine_01
common_tradeport_01
hall_of_heroes_01
qanats_01
breweries_01
}
can_be_inherited = yes
}