diff --git a/common/buildings/00_castle_buildings.txt b/common/buildings/00_castle_buildings.txt index 38db27342a..615eb33a91 100644 --- a/common/buildings/00_castle_buildings.txt +++ b/common/buildings/00_castle_buildings.txt @@ -3,8 +3,10 @@ @holding_illustration_india = "gfx/interface/illustrations/holding_types/castle_india.dds" @holding_illustration_mediterranean = "gfx/interface/illustrations/holding_types/castle_mediterranean.dds" @holding_illustration_norse = "gfx/interface/illustrations/holding_types/fp1_castle_norse.dds" -@holding_illustration_iberian= "gfx/interface/illustrations/holding_types/fp2_castle_iberian.dds" -@holding_illustration_iranian = "gfx/interface/illustrations/holding_types/fp3_castle_iranian.dds" +@holding_illustration_iberian = "gfx/interface/illustrations/holding_types/fp2_castle_iberian.dds" +@holding_illustration_iranian = "gfx/interface/illustrations/holding_types/fp3_castle_iranian.dds" +@holding_illustration_byzantine = "gfx/interface/illustrations/holding_types/ep3_castle_byzantine.dds" +@holding_illustration_constantinople = "gfx/interface/illustrations/holding_types/ep3_castle_constantinople.dds" castle_01 = { construction_time = slow_construction_time @@ -232,6 +234,46 @@ castle_01 = { graphical_cultures = { iranian_building_gfx } graphical_regions = { graphical_india } } + + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_01_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_constantinople + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { byzantine_building_gfx } + provinces = { 496 } + } + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_01_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + #Steppe fallbacks + #Iranian + asset = { + type = pdxmesh + name = "fp3_building_persian_castle_01_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + } + #mena + asset = { + type = pdxmesh + name = "building_mena_castle_01_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + } + can_construct_potential = { barony_cannot_construct_holding = no } @@ -325,7 +367,7 @@ castle_01 = { } } } - + ai_value = { base = 100 modifier = { @@ -568,6 +610,45 @@ castle_02 = { graphical_regions = { graphical_india } } + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_02_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_constantinople + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { byzantine_building_gfx } + provinces = { 496 } + } + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_02_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + #Steppe fallbacks + #Iranian + asset = { + type = pdxmesh + name = "fp3_building_persian_castle_02_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + } + #mena + asset = { + type = pdxmesh + name = "building_mena_castle_02_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + } + can_construct_potential = { building_requirement_civilized = yes } @@ -576,10 +657,10 @@ castle_02 = { has_innovation = innovation_battlements } } - + cost_gold = main_building_tier_2_cost next_building = castle_03 - + levy = normal_building_levy_tier_4 max_garrison = good_building_max_garrison_tier_3 garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_4 @@ -653,7 +734,7 @@ castle_02 = { } } } - + ai_value = { base = 9 ai_general_building_modifier = yes @@ -670,12 +751,12 @@ castle_02 = { scope:holder.capital_province = this } modifier = { - factor = 0.2 + factor = 0.1 free_building_slots >= 1 years_from_game_start >= 1 } modifier = { - factor = 0.2 + factor = 0.1 combined_building_level <= 10 years_from_game_start >= 1 } @@ -902,6 +983,45 @@ castle_03 = { graphical_regions = { graphical_india } } + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_03_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_constantinople + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { byzantine_building_gfx } + provinces = { 496 } + } + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_03_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + #Steppe fallbacks + #Iranian + asset = { + type = pdxmesh + name = "fp3_building_persian_castle_03_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + } + #mena + asset = { + type = pdxmesh + name = "building_mena_castle_03_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + } + can_construct_potential = { building_requirement_civilized = yes } @@ -1227,6 +1347,45 @@ castle_04 = { graphical_regions = { graphical_india } } + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_04_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_constantinople + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { byzantine_building_gfx } + provinces = { 496 } + } + asset = { + type = pdxmesh + name = "ep3_byzantine_castle_04_a_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mediterranean_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + #Steppe fallbacks + #Iranian + asset = { + type = pdxmesh + name = "fp3_building_persian_castle_04_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { steppe_building_gfx } + } + #mena + asset = { + type = pdxmesh + name = "building_mena_castle_04_mesh" + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/Castle/mena_castle" soundparameter = { "Tier" = 3 } } + graphical_cultures = { steppe_building_gfx } + } + can_construct_potential = { building_requirement_civilized = yes } @@ -1311,7 +1470,7 @@ castle_04 = { } } } - + ai_value = { base = 17 ai_general_building_modifier = yes diff --git a/common/buildings/00_city_buildings.txt b/common/buildings/00_city_buildings.txt index 1db60c5e1b..440c8052cb 100644 --- a/common/buildings/00_city_buildings.txt +++ b/common/buildings/00_city_buildings.txt @@ -5,10 +5,11 @@ @holding_illustration_norse = "gfx/interface/illustrations/holding_types/fp1_city_norse.dds" @holding_illustration_iberian = "gfx/interface/illustrations/holding_types/fp2_city_iberian.dds" @holding_illustration_iranian = "gfx/interface/illustrations/holding_types/fp3_city_iranian.dds" +@holding_illustration_byzantine = "gfx/interface/illustrations/holding_types/ep3_city_byzantine.dds" city_01 = { construction_time = slow_construction_time - + asset = { type = pdxmesh names = { @@ -52,7 +53,7 @@ city_01 = { soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 0 } } graphical_regions = { graphical_mediterranean } } - + asset = { type = pdxmesh names = { @@ -60,7 +61,7 @@ city_01 = { } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mena_building_gfx } + graphical_cultures = { mena_building_gfx } } asset = { type = pdxmesh @@ -79,7 +80,7 @@ city_01 = { } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mena_building_gfx } + graphical_cultures = { mena_building_gfx } graphical_regions = { graphical_india } } asset = { @@ -89,7 +90,7 @@ city_01 = { } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mena_building_gfx } + graphical_cultures = { mena_building_gfx } graphical_regions = { graphical_mediterranean } } @@ -100,7 +101,7 @@ city_01 = { } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { indian_building_gfx } + graphical_cultures = { indian_building_gfx } } asset = { type = pdxmesh @@ -119,7 +120,7 @@ city_01 = { } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { indian_building_gfx } + graphical_cultures = { indian_building_gfx } graphical_regions = { graphical_india } } asset = { @@ -129,7 +130,7 @@ city_01 = { } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { indian_building_gfx } + graphical_cultures = { indian_building_gfx } graphical_regions = { graphical_mediterranean } } @@ -140,7 +141,7 @@ city_01 = { } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mediterranean_building_gfx } + graphical_cultures = { mediterranean_building_gfx } } asset = { type = pdxmesh @@ -159,7 +160,7 @@ city_01 = { } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mediterranean_building_gfx } + graphical_cultures = { mediterranean_building_gfx } graphical_regions = { graphical_india } } asset = { @@ -169,7 +170,7 @@ city_01 = { } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } - graphical_cultures = { mediterranean_building_gfx } + graphical_cultures = { mediterranean_building_gfx } graphical_regions = { graphical_mediterranean } } @@ -182,9 +183,9 @@ city_01 = { requires_dlc_flag = the_northern_lords illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" } - graphical_cultures = { norse_building_gfx } + graphical_cultures = { norse_building_gfx } } - + asset = { type = pdxmesh names = { @@ -194,7 +195,7 @@ city_01 = { illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 0 } } graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mena } + graphical_regions = { graphical_mena } } asset = { @@ -206,7 +207,7 @@ city_01 = { illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 0 } } graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mediterranean } + graphical_regions = { graphical_mediterranean } } asset = { @@ -218,7 +219,7 @@ city_01 = { illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 0 } } graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_india } + graphical_regions = { graphical_india } } ### FP2 Iberian ### @@ -252,23 +253,55 @@ city_01 = { graphical_cultures = { iranian_building_gfx } graphical_regions = { graphical_india } } - + + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_city_01_mesh" + ### TODO Add DLC Check + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + #Steppe fallbacks + #Iranian + asset = { + type = pdxmesh + name = "fp3_building_persian_city_01_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + } + #mena + asset = { + type = pdxmesh + names = { + "building_mena_city_01_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 0 } } + graphical_cultures = { steppe_building_gfx } + } + can_construct_potential = { barony_cannot_construct_holding = no } - + can_construct = { culture = { has_innovation = innovation_city_planning } } - + can_construct_showing_failures_only = { building_requirement_civilized = yes building_requirement_tribal_holding_in_county = yes } cost_gold = main_building_tier_1_cost - + levy = poor_building_levy_tier_2 max_garrison = normal_building_max_garrison_tier_1 garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_1 @@ -295,7 +328,7 @@ city_01 = { } county_culture_modifier = { - parameter = city_buildings_more_powerful + parameter = city_buildings_more_powerful development_growth_factor = 0.05 } @@ -303,7 +336,7 @@ city_01 = { parameter = city_buildings_less_control monthly_county_control_growth_factor = -0.25 } - + province_terrain_modifier = { parameter = coastal_holding_bonuses is_coastal = yes @@ -315,17 +348,17 @@ city_01 = { is_coastal = yes defender_holding_advantage = 2 } - + county_dynasty_modifier = { county_holder_dynasty_perk = fp2_urbanism_legacy_1 # check if the dynasty of the county holder has a specific perk - development_growth_factor = fp2_urbanism_legacy_1_bonus_value + development_growth_factor = fp2_urbanism_legacy_1_bonus_value } flag = city next_building = city_02 type_icon = "icon_building_guild_halls.dds" - + on_complete = { county.holder = { if = { @@ -350,7 +383,7 @@ city_01 = { } } } - + ai_value = { base = 0 modifier = { @@ -358,7 +391,7 @@ city_01 = { scope:holder = { domain_limit_available < 1 } - } + } modifier = { factor = 0 scope:holder = { @@ -384,7 +417,7 @@ city_01 = { city_02 = { construction_time = slow_construction_time - + asset = { type = pdxmesh names = { @@ -428,7 +461,7 @@ city_02 = { soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 1 } } graphical_regions = { graphical_mediterranean } } - + asset = { type = pdxmesh names = { @@ -436,7 +469,7 @@ city_02 = { } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mena_building_gfx } + graphical_cultures = { mena_building_gfx } } asset = { type = pdxmesh @@ -455,7 +488,7 @@ city_02 = { } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mena_building_gfx } + graphical_cultures = { mena_building_gfx } graphical_regions = { graphical_india } } asset = { @@ -465,7 +498,7 @@ city_02 = { } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1} } - graphical_cultures = { mena_building_gfx } + graphical_cultures = { mena_building_gfx } graphical_regions = { graphical_mediterranean } } @@ -476,7 +509,7 @@ city_02 = { } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { indian_building_gfx } + graphical_cultures = { indian_building_gfx } } asset = { type = pdxmesh @@ -495,7 +528,7 @@ city_02 = { } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { indian_building_gfx } + graphical_cultures = { indian_building_gfx } graphical_regions = { graphical_india } } asset = { @@ -505,7 +538,7 @@ city_02 = { } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { indian_building_gfx } + graphical_cultures = { indian_building_gfx } graphical_regions = { graphical_mediterranean } } @@ -516,7 +549,7 @@ city_02 = { } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mediterranean_building_gfx } + graphical_cultures = { mediterranean_building_gfx } } asset = { type = pdxmesh @@ -535,7 +568,7 @@ city_02 = { } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mediterranean_building_gfx } + graphical_cultures = { mediterranean_building_gfx } graphical_regions = { graphical_india } } asset = { @@ -545,7 +578,7 @@ city_02 = { } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { mediterranean_building_gfx } + graphical_cultures = { mediterranean_building_gfx } } ### FP1 Norse ### @@ -557,8 +590,8 @@ city_02 = { requires_dlc_flag = the_northern_lords illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 1 } } - graphical_cultures = { norse_building_gfx } - } + graphical_cultures = { norse_building_gfx } + } asset = { type = pdxmesh @@ -569,7 +602,7 @@ city_02 = { illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mena } + graphical_regions = { graphical_mena } } asset = { @@ -581,7 +614,7 @@ city_02 = { illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_mediterranean } + graphical_regions = { graphical_mediterranean } } asset = { @@ -593,7 +626,7 @@ city_02 = { illustration = @holding_illustration_norse soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/nordic_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { norse_building_gfx } - graphical_regions = { graphical_india } + graphical_regions = { graphical_india } } ### FP2 Iberian ### @@ -611,9 +644,9 @@ city_02 = { asset = { type = pdxmesh name = "fp3_building_persian_city_01_a_01_mesh" - requires_dlc_flag = legacy_of_persia + requires_dlc_flag = legacy_of_persia illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1} } + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { iranian_building_gfx } graphical_regions = { graphical_mena } } @@ -623,21 +656,68 @@ city_02 = { name = "fp3_building_persian_city_01_a_01_mesh" requires_dlc_flag = legacy_of_persia illustration = @holding_illustration_iranian - soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1} } + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } graphical_cultures = { iranian_building_gfx } graphical_regions = { graphical_india } } - + + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_city_01_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + #Steppe fallbacks + #Iranian + asset = { + type = pdxmesh + name = "fp3_building_persian_city_01_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + } + #mena + asset = { + type = pdxmesh + names = { + "building_mena_city_01_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 1 } } + graphical_cultures = { steppe_building_gfx } + } + can_construct_potential = { building_requirement_civilized = yes } can_construct = { - culture = { - has_innovation = innovation_manorialism + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_cities + } + } + } + culture = { + has_innovation = innovation_manorialism + } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_cities + } } + } cost_gold = main_building_tier_2_cost - + levy = poor_building_levy_tier_4 max_garrison = normal_building_max_garrison_tier_2 garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_2 @@ -667,12 +747,12 @@ city_02 = { parameter = city_buildings_more_powerful development_growth_factor = 0.1 } - + county_culture_modifier = { parameter = city_buildings_less_control monthly_county_control_growth_factor = -0.25 } - + province_terrain_modifier = { parameter = coastal_holding_bonuses is_coastal = yes @@ -687,12 +767,12 @@ city_02 = { county_dynasty_modifier = { county_holder_dynasty_perk = fp2_urbanism_legacy_1 # check if the dynasty of the county holder has a specific perk - development_growth_factor = fp2_urbanism_legacy_1_bonus_value + development_growth_factor = fp2_urbanism_legacy_1_bonus_value } - + flag = city next_building = city_03 - + on_complete = { barony.holder = { if = { @@ -722,13 +802,13 @@ city_02 = { modifier = { add = 1 scope:holder.culture = { has_cultural_parameter = ai_more_likely_to_city } - } + } modifier = { factor = 2 scope:holder.capital_province = this } modifier = { - factor = 0.2 + factor = 0.1 free_building_slots >= 1 } modifier = { @@ -776,7 +856,7 @@ city_03 = { soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } graphical_regions = { graphical_mediterranean } } - + asset = { type = pdxmesh names = { @@ -784,7 +864,7 @@ city_03 = { } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } + graphical_cultures = { mena_building_gfx } } asset = { type = pdxmesh @@ -803,7 +883,7 @@ city_03 = { } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } + graphical_cultures = { mena_building_gfx } graphical_regions = { graphical_india } } asset = { @@ -813,7 +893,7 @@ city_03 = { } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } + graphical_cultures = { mena_building_gfx } graphical_regions = { graphical_mediterranean } } @@ -824,7 +904,7 @@ city_03 = { } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } + graphical_cultures = { indian_building_gfx } } asset = { type = pdxmesh @@ -843,7 +923,7 @@ city_03 = { } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } + graphical_cultures = { indian_building_gfx } graphical_regions = { graphical_india } } asset = { @@ -853,7 +933,7 @@ city_03 = { } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } + graphical_cultures = { indian_building_gfx } graphical_regions = { graphical_mediterranean } } @@ -864,7 +944,7 @@ city_03 = { } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } + graphical_cultures = { mediterranean_building_gfx } } asset = { type = pdxmesh @@ -883,7 +963,7 @@ city_03 = { } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } + graphical_cultures = { mediterranean_building_gfx } graphical_regions = { graphical_india } } asset = { @@ -893,7 +973,7 @@ city_03 = { } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } + graphical_cultures = { mediterranean_building_gfx } graphical_regions = { graphical_mediterranean } } @@ -976,18 +1056,67 @@ city_03 = { graphical_cultures = { iranian_building_gfx } graphical_regions = { graphical_india } } - + + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_city_02_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + #Steppe fallbacks + #Iranian + asset = { + type = pdxmesh + name = "fp3_building_persian_city_02_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + } + #mena + asset = { + type = pdxmesh + names = { + "building_mena_city_02_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { steppe_building_gfx } + } + can_construct_potential = { building_requirement_civilized = yes } can_construct = { - culture = { - has_innovation = innovation_windmills + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_cities + } + } + } + culture = { + has_innovation = innovation_windmills + } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_cities + } + culture = { + has_innovation = innovation_manorialism + } } } cost_gold = main_building_tier_3_cost next_building = city_04 - + levy = poor_building_levy_tier_6 max_garrison = normal_building_max_garrison_tier_3 garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_3 @@ -1015,15 +1144,15 @@ city_03 = { } county_culture_modifier = { - parameter = city_buildings_more_powerful + parameter = city_buildings_more_powerful development_growth_factor = 0.15 } - + county_culture_modifier = { parameter = city_buildings_less_control monthly_county_control_growth_factor = -0.25 } - + province_terrain_modifier = { parameter = coastal_holding_bonuses is_coastal = yes @@ -1038,11 +1167,11 @@ city_03 = { county_dynasty_modifier = { county_holder_dynasty_perk = fp2_urbanism_legacy_1 # check if the dynasty of the county holder has a specific perk - development_growth_factor = fp2_urbanism_legacy_1_bonus_value + development_growth_factor = fp2_urbanism_legacy_1_bonus_value } - + flag = city - + on_complete = { barony.holder = { if = { @@ -1072,7 +1201,7 @@ city_03 = { modifier = { add = 1 scope:holder.culture = { has_cultural_parameter = ai_more_likely_to_city } - } + } modifier = { factor = 2 scope:holder.capital_province = this @@ -1082,7 +1211,7 @@ city_03 = { city_04 = { construction_time = slow_construction_time - + asset = { type = pdxmesh names = { @@ -1118,7 +1247,7 @@ city_04 = { soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/western_city" soundparameter = { "Tier" = 2 } } graphical_regions = { graphical_mediterranean } } - + asset = { type = pdxmesh names = { @@ -1126,7 +1255,7 @@ city_04 = { } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } + graphical_cultures = { mena_building_gfx } } asset = { type = pdxmesh @@ -1145,7 +1274,7 @@ city_04 = { } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } + graphical_cultures = { mena_building_gfx } graphical_regions = { graphical_india } } asset = { @@ -1155,7 +1284,7 @@ city_04 = { } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mena_building_gfx } + graphical_cultures = { mena_building_gfx } graphical_regions = { graphical_mediterranean } } @@ -1166,7 +1295,7 @@ city_04 = { } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } + graphical_cultures = { indian_building_gfx } } asset = { type = pdxmesh @@ -1185,7 +1314,7 @@ city_04 = { } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } + graphical_cultures = { indian_building_gfx } graphical_regions = { graphical_india } } asset = { @@ -1195,7 +1324,7 @@ city_04 = { } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/indian_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { indian_building_gfx } + graphical_cultures = { indian_building_gfx } graphical_regions = { graphical_mediterranean } } @@ -1206,7 +1335,7 @@ city_04 = { } illustration = @holding_illustration_western soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } + graphical_cultures = { mediterranean_building_gfx } } asset = { type = pdxmesh @@ -1225,7 +1354,7 @@ city_04 = { } illustration = @holding_illustration_india soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } + graphical_cultures = { mediterranean_building_gfx } graphical_regions = { graphical_india } } asset = { @@ -1235,7 +1364,7 @@ city_04 = { } illustration = @holding_illustration_mediterranean soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } - graphical_cultures = { mediterranean_building_gfx } + graphical_cultures = { mediterranean_building_gfx } } ### FP1 Norse ### @@ -1318,16 +1447,65 @@ city_04 = { graphical_regions = { graphical_india } } + ### EP3 Byzantine ### + asset = { + type = pdxmesh + name = "ep3_byzantine_city_02_mesh" + requires_dlc_flag = roads_to_power + illustration = @holding_illustration_byzantine + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mediterranean_city" soundparameter = { "Tier" = 2 } } + graphical_cultures = { byzantine_building_gfx } + graphical_regions = { graphical_mediterranean } + } + + #Steppe fallbacks + #Iranian + asset = { + type = pdxmesh + name = "fp3_building_persian_city_02_a_01_mesh" + requires_dlc_flag = legacy_of_persia + illustration = @holding_illustration_iranian + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 3 } } + graphical_cultures = { steppe_building_gfx } + } + #mena + asset = { + type = pdxmesh + names = { + "building_mena_city_02_mesh" + } + illustration = @holding_illustration_mena + soundeffect = { soundeffect = "event:/SFX/Ambience/3DMapEmitters/Holdings/City/mena_city" soundparameter = { "Tier" = 3 } } + graphical_cultures = { steppe_building_gfx } + } + can_construct_potential = { building_requirement_civilized = yes } can_construct = { - culture = { - has_innovation = innovation_cranes + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_cities + } + } + } + culture = { + has_innovation = innovation_cranes + } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_cities + } + culture = { + has_innovation = innovation_windmills + } } } cost_gold = main_building_tier_4_cost - + levy = poor_building_levy_tier_8 max_garrison = normal_building_max_garrison_tier_7 garrison_reinforcement_factor = building_garrison_reinforcement_factor_tier_4 @@ -1354,15 +1532,15 @@ city_04 = { } county_culture_modifier = { - parameter = city_buildings_more_powerful + parameter = city_buildings_more_powerful development_growth_factor = 0.2 } - + county_culture_modifier = { parameter = city_buildings_less_control monthly_county_control_growth_factor = -0.25 } - + province_terrain_modifier = { parameter = coastal_holding_bonuses is_coastal = yes @@ -1377,11 +1555,11 @@ city_04 = { county_dynasty_modifier = { county_holder_dynasty_perk = fp2_urbanism_legacy_1 # check if the dynasty of the county holder has a specific perk - development_growth_factor = fp2_urbanism_legacy_1_bonus_value + development_growth_factor = fp2_urbanism_legacy_1_bonus_value } - + flag = city - + on_complete = { barony.holder = { if = { @@ -1411,7 +1589,7 @@ city_04 = { modifier = { add = 1 scope:holder.culture = { has_cultural_parameter = ai_more_likely_to_city } - } + } modifier = { factor = 2 scope:holder.capital_province = this @@ -1435,23 +1613,19 @@ guild_halls_01 = { has_building_or_higher = city_01 } - can_construct_showing_failures_only = { - building_requirement_civilized = yes - } - cost_gold = normal_building_tier_1_cost - + province_modifier = { monthly_income = normal_building_tax_tier_1 } county_modifier = { development_growth_factor = 0.05 } - + next_building = guild_halls_02 type_icon = "icon_building_guild_halls.dds" - + ai_value = { base = 500 ai_tier_1_building_modifier = yes @@ -1482,14 +1656,14 @@ guild_halls_02 = { } cost_gold = normal_building_tier_2_cost - + province_modifier = { monthly_income = normal_building_tax_tier_2 } county_modifier = { development_growth_factor = 0.1 } - + next_building = guild_halls_03 ai_value = { base = 0 @@ -1535,14 +1709,14 @@ guild_halls_03 = { } cost_gold = normal_building_tier_3_cost - + province_modifier = { monthly_income = normal_building_tax_tier_3 } county_modifier = { development_growth_factor = 0.15 } - + next_building = guild_halls_04 ai_value = { base = 0 @@ -1589,14 +1763,14 @@ guild_halls_04 = { } cost_gold = normal_building_tier_4_cost - + province_modifier = { monthly_income = normal_building_tax_tier_4 } county_modifier = { development_growth_factor = 0.2 } - + next_building = guild_halls_05 ai_value = { base = 0 @@ -1642,14 +1816,14 @@ guild_halls_05 = { } cost_gold = normal_building_tier_5_cost - + province_modifier = { monthly_income = normal_building_tax_tier_5 } county_modifier = { development_growth_factor = 0.25 } - + next_building = guild_halls_06 ai_value = { base = 0 @@ -1695,14 +1869,14 @@ guild_halls_06 = { } cost_gold = normal_building_tier_6_cost - + province_modifier = { monthly_income = normal_building_tax_tier_6 } county_modifier = { development_growth_factor = 0.3 } - + next_building = guild_halls_07 ai_value = { base = 0 @@ -1748,14 +1922,14 @@ guild_halls_07 = { } cost_gold = normal_building_tier_7_cost - + province_modifier = { monthly_income = normal_building_tax_tier_7 } county_modifier = { development_growth_factor = 0.35 } - + next_building = guild_halls_08 ai_value = { base = 0 @@ -1799,16 +1973,16 @@ guild_halls_08 = { can_construct_showing_failures_only = { building_requirement_civilized = yes } - + cost_gold = normal_building_tier_8_cost - + province_modifier = { monthly_income = normal_building_tax_tier_8 } county_modifier = { development_growth_factor = 0.4 } - + ai_value = { base = 0 modifier = { diff --git a/common/buildings/00_common_buildings.txt b/common/buildings/00_common_buildings.txt deleted file mode 100644 index 3b7425100d..0000000000 --- a/common/buildings/00_common_buildings.txt +++ /dev/null @@ -1,334 +0,0 @@ -### Hospices - -hospices_01 = { - construction_time = standard_construction_time - - can_construct = { - building_requirement_castle_city_church = { LEVEL = 01 } - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - } - - cost_gold = normal_building_tier_1_cost - - character_modifier = { - monthly_piety = 0.1 - } - province_modifier = { - monthly_income = poor_building_tax_tier_1 - epidemic_resistance = 5 - } - - next_building = hospices_02 - - type_icon = "icon_building_hospice.dds" - - ai_value = { - base = 7 - ai_tier_1_building_modifier = yes - ai_tier_1_economical_building_preference_modifier = yes - ai_general_building_modifier = yes - modifier = { - add = 1 - county.development_level >= 10 - } - modifier = { - add = 1 - county.development_level >= 15 - } - modifier = { - add = 1 - county.development_level >= 20 - } - modifier = { - add = 1 - county.development_level >= 25 - } - modifier = { - add = 10 - scope:holder = { - OR = { - government_has_flag = government_is_theocracy - is_theocratic_lessee = yes - } - } - } - modifier = { - factor = 0 - building_farm_estates_requirement_terrain = yes - NOT = { - has_building_or_higher = farm_estates_01 - } - } - modifier = { - factor = 0 - building_cereal_fields_requirement_terrain = yes - NOT = { - has_building_or_higher = cereal_fields_01 - } - } - } -} - -hospices_02 = { - construction_time = standard_construction_time - - can_construct = { - building_requirement_castle_city_church = { LEVEL = 01 } - culture = { - has_innovation = innovation_city_planning - } - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - } - - cost_gold = normal_building_tier_2_cost - - character_modifier = { - monthly_piety = 0.2 - } - province_modifier = { - monthly_income = poor_building_tax_tier_2 - epidemic_resistance = 7 - } - - next_building = hospices_03 - ai_value = { - base = 9 - ai_general_building_modifier = yes - ai_economical_building_preference_modifier = yes - modifier = { # Fill all building slots before going for upgrades - factor = 0 - free_building_slots > 0 - } - } -} - -hospices_03 = { - construction_time = standard_construction_time - - can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - culture = { - has_innovation = innovation_manorialism - } - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - } - - cost_gold = normal_building_tier_3_cost - - character_modifier = { - monthly_piety = 0.3 - } - province_modifier = { - monthly_income = poor_building_tax_tier_3 - stationed_maa_toughness_mult = 0.01 - epidemic_resistance = 10 - } - - next_building = hospices_04 - ai_value = { - base = 8 - ai_general_building_modifier = yes - ai_economical_building_preference_modifier = yes - modifier = { # Fill all building slots before going for upgrades - factor = 0 - free_building_slots > 0 - } - } -} - -hospices_04 = { - construction_time = standard_construction_time - - can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - culture = { - has_innovation = innovation_manorialism - } - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - } - - cost_gold = normal_building_tier_4_cost - - character_modifier = { - monthly_piety = 0.4 - } - province_modifier = { - monthly_income = poor_building_tax_tier_4 - stationed_maa_toughness_mult = 0.02 - epidemic_resistance = 12 - } - - next_building = hospices_05 - ai_value = { - base = 7 - ai_general_building_modifier = yes - ai_economical_building_preference_modifier = yes - modifier = { # Fill all building slots before going for upgrades - factor = 0 - free_building_slots > 0 - } - } -} - -hospices_05 = { - construction_time = standard_construction_time - - can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - culture = { - has_innovation = innovation_windmills - } - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - } - - cost_gold = normal_building_tier_5_cost - - character_modifier = { - monthly_piety = 0.5 - legitimacy_gain_mult = 0.01 - } - province_modifier = { - monthly_income = poor_building_tax_tier_5 - stationed_maa_toughness_mult = 0.03 - epidemic_resistance = 15 - } - - next_building = hospices_06 - ai_value = { - base = 7 - ai_general_building_modifier = yes - ai_economical_building_preference_modifier = yes - modifier = { # Fill all building slots before going for upgrades - factor = 0 - free_building_slots > 0 - } - } -} - -hospices_06 = { - construction_time = standard_construction_time - - can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - culture = { - has_innovation = innovation_windmills - } - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - } - - cost_gold = normal_building_tier_6_cost - - character_modifier = { - monthly_piety = 0.6 - legitimacy_gain_mult = 0.02 - } - province_modifier = { - monthly_income = poor_building_tax_tier_6 - stationed_maa_toughness_mult = 0.04 - epidemic_resistance = 17 - } - - next_building = hospices_07 - ai_value = { - base = 7 - ai_general_building_modifier = yes - ai_economical_building_preference_modifier = yes - modifier = { # Fill all building slots before going for upgrades - factor = 0 - free_building_slots > 0 - } - } -} - -hospices_07 = { - construction_time = standard_construction_time - - can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - culture = { - has_innovation = innovation_cranes - } - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - } - - cost_gold = normal_building_tier_7_cost - - character_modifier = { - monthly_piety = 0.7 - legitimacy_gain_mult = 0.03 - } - province_modifier = { - monthly_income = poor_building_tax_tier_7 - stationed_maa_toughness_mult = 0.05 - epidemic_resistance = 20 - } - - next_building = hospices_08 - ai_value = { - base = 7 - ai_general_building_modifier = yes - ai_economical_building_preference_modifier = yes - modifier = { # Fill all building slots before going for upgrades - factor = 0 - free_building_slots > 0 - } - } -} - -hospices_08 = { - construction_time = standard_construction_time - - can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - culture = { - has_innovation = innovation_cranes - } - } - - can_construct_showing_failures_only = { - building_requirement_tribal = no - } - - cost_gold = normal_building_tier_8_cost - - character_modifier = { - monthly_piety = 0.8 - legitimacy_gain_mult = 0.04 - } - province_modifier = { - monthly_income = poor_building_tax_tier_8 - stationed_maa_toughness_mult = 0.06 - epidemic_resistance = 25 - } - - ai_value = { - base = 7 - ai_general_building_modifier = yes - ai_economical_building_preference_modifier = yes - modifier = { # Fill all building slots before going for upgrades - factor = 0 - free_building_slots > 0 - } - } -} diff --git a/common/buildings/00_duchy_capital_buildings.txt b/common/buildings/00_duchy_capital_buildings.txt index 7439c0d5f0..481ca99f28 100644 --- a/common/buildings/00_duchy_capital_buildings.txt +++ b/common/buildings/00_duchy_capital_buildings.txt @@ -63,6 +63,10 @@ burial_site_01 = { 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 } + } } } @@ -163,7 +167,6 @@ burial_site_03 = { ############### ### Regular ### ############### - royal_garden_01 = { construction_time = slow_construction_time effect_desc = royal_garden_effect_desc @@ -222,6 +225,10 @@ royal_garden_01 = { 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 } + } } } @@ -370,6 +377,10 @@ military_academy_01 = { 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 } + } } } @@ -513,6 +524,10 @@ march_01 = { 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 } + } } } @@ -666,6 +681,10 @@ siege_works_01 = { 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 } + } } } @@ -775,7 +794,7 @@ royal_armory_01 = { effect_desc = { triggered_desc = { trigger = { has_dlc_feature = tours_and_tournaments } - desc = tournament_activity_cost_max_discount_effect_desc + desc = tournament_melee_cost_discount_effect_toto_desc } } can_construct_potential = { @@ -821,6 +840,12 @@ royal_armory_01 = { build_gold_cost = -0.1 holding_build_gold_cost = -0.1 } + + province_culture_modifier = { + parameter = better_armory_buildings + stationed_maa_damage_mult = normal_maa_damage_tier_1 + stationed_maa_toughness_mult = normal_maa_toughness_tier_1 + } next_building = royal_armory_02 @@ -838,6 +863,10 @@ royal_armory_01 = { 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 } + } } } @@ -893,6 +922,12 @@ royal_armory_02 = { build_gold_cost = -0.15 holding_build_gold_cost = -0.15 } + + province_culture_modifier = { + parameter = better_armory_buildings + stationed_maa_damage_mult = normal_maa_damage_tier_2 + stationed_maa_toughness_mult = normal_maa_toughness_tier_2 + } next_building = royal_armory_03 @@ -947,6 +982,12 @@ royal_armory_03 = { stationed_maa_damage_mult = normal_maa_damage_tier_3 stationed_maa_toughness_mult = normal_maa_toughness_tier_3 } + + province_culture_modifier = { + parameter = better_armory_buildings + stationed_maa_damage_mult = normal_maa_damage_tier_3 + stationed_maa_toughness_mult = normal_maa_toughness_tier_3 + } is_enabled = { county.holder = { has_title = prev.duchy } @@ -1070,6 +1111,10 @@ jousting_lists_01 = { 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 } + } } } @@ -1263,9 +1308,6 @@ blacksmiths_01 = { character_culture_modifier = { parameter = better_blacksmith_buildings - pikemen_toughness_mult = 0.03 - heavy_infantry_toughness_mult = 0.03 - massive_infantry_toughness_mult = 0.03 prowess = 2 } @@ -1274,6 +1316,14 @@ blacksmiths_01 = { supply_limit_mult = 0.25 } + province_culture_modifier = { + parameter = better_blacksmith_buildings + 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 @@ -1312,6 +1362,10 @@ blacksmiths_01 = { 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 } + } } } @@ -1353,6 +1407,14 @@ blacksmiths_02 = { parameter = better_blacksmith_buildings supply_limit_mult = 0.5 } + + province_culture_modifier = { + parameter = better_blacksmith_buildings + 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 = { county.holder = { has_title = prev.duchy } @@ -1448,6 +1510,14 @@ blacksmiths_03 = { stationed_massive_infantry_toughness_mult = very_high_maa_toughness_tier_3 } + province_culture_modifier = { + parameter = better_blacksmith_buildings + 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 flag = fully_upgraded_duchy_capital_building @@ -1551,6 +1621,10 @@ archery_ranges_01 = { 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 } + } } } @@ -1725,6 +1799,10 @@ tax_assessor_01 = { 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 } + } } } @@ -1868,6 +1946,10 @@ leisure_palace_01 = { 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 } + } } } @@ -2022,6 +2104,10 @@ royal_forest_01 = { 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 } + } } } @@ -2165,6 +2251,10 @@ great_megalith_01 = { 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 } + } } type = duchy_capital @@ -2172,6 +2262,7 @@ great_megalith_01 = { flag = fully_upgraded_duchy_capital_building } + ################## # Tower of Silence ################## @@ -2231,165 +2322,13 @@ tower_of_silence_01 = { factor = 0 free_building_slots > 0 } - } - - type = duchy_capital - - flag = fully_upgraded_duchy_capital_building -} - -################### -# Charnel Grounds # -################### - -charnel_grounds_01 = { - construction_time = slow_construction_time - - can_construct_potential = { - building_requirement_castle_city_church = { LEVEL = 01 } - building_requirement_tribal = no - faith = { - has_doctrine_parameter = sky_burials_active - } - } - - can_construct_showing_failures_only = { - faith = { - has_doctrine_parameter = sky_burials_active - } - } - - is_enabled = { - county.holder = { has_title = prev.duchy } - } - - show_disabled = no - - cost_gold = expensive_building_tier_3_cost - - duchy_capital_county_modifier = { - county_opinion_add = 5 - epidemic_resistance = 10 - } - character_modifier = { - monthly_piety = 0.1 - stress_gain_mult = -0.1 - clergy_opinion = 5 - } - - next_building = charnel_grounds_02 - - type_icon = "icon_building_tower_of_silence_2.dds" - - type = duchy_capital - - ai_value = { - base = 20 - modifier = { - factor = 2 - scope:holder.capital_province = this - } - modifier = { # Fill all building slots before going for duchy buildings - factor = 0 - free_building_slots > 0 - } - } -} - -charnel_grounds_02 = { - construction_time = slow_construction_time - - can_construct_potential = { - building_requirement_castle_city_church = { LEVEL = 01 } - building_requirement_tribal = no - faith = { - has_doctrine_parameter = sky_burials_active - } - } - - can_construct_showing_failures_only = { - faith = { - has_doctrine_parameter = sky_burials_active + 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 } } } - - is_enabled = { - county.holder = { has_title = prev.duchy } - } - show_disabled = no - - cost_gold = expensive_building_tier_4_cost - - duchy_capital_county_modifier = { - county_opinion_add = 10 - epidemic_resistance = 15 - } - character_modifier = { - monthly_piety = 0.2 - stress_gain_mult = -0.15 - negate_health_penalty_add = 0.05 - clergy_opinion = 10 - } - - next_building = charnel_grounds_03 - type = duchy_capital - - ai_value = { - base = 20 - modifier = { - factor = 2 - scope:holder.capital_province = this - } - } -} -charnel_grounds_03 = { - construction_time = slow_construction_time - - can_construct_potential = { - building_requirement_castle_city_church = { LEVEL = 01 } - building_requirement_tribal = no - faith = { - has_doctrine_parameter = sky_burials_active - } - } - - can_construct_showing_failures_only = { - faith = { - has_doctrine_parameter = sky_burials_active - } - } - - is_enabled = { - county.holder = { has_title = prev.duchy } - } - - show_disabled = no - - cost_gold = expensive_building_tier_5_cost - - duchy_capital_county_modifier = { - county_opinion_add = 15 - epidemic_resistance = 20 - } - character_modifier = { - monthly_piety = 0.3 - stress_gain_mult = -0.2 - negate_health_penalty_add = 0.1 - clergy_opinion = 15 - } - - type = duchy_capital - flag = fully_upgraded_duchy_capital_building - - ai_value = { - base = 20 - modifier = { - factor = 2 - scope:holder.capital_province = this - } - } -} \ No newline at end of file +} diff --git a/common/buildings/00_standard_economy_buildings.txt b/common/buildings/00_standard_economy_buildings.txt index 28bdb64c99..5bca1b26ab 100644 --- a/common/buildings/00_standard_economy_buildings.txt +++ b/common/buildings/00_standard_economy_buildings.txt @@ -38,7 +38,91 @@ caravanserai_01 = { } is_enabled = { - is_county_capital = yes + trigger_if = { + limit = { + NOR = { + scope:holder.culture = { + has_cultural_parameter = watermills_windmills_cities + } + scope:holder.culture = { + has_cultural_parameter = second_caravanserai + } + } + } + is_county_capital = yes + } + trigger_else_if = { + limit = { + scope:holder.culture = { + has_cultural_parameter = watermills_windmills_cities + } + NOT = { + scope:holder.culture = { + has_cultural_parameter = second_caravanserai + } + } + } + OR = { + is_county_capital = yes + AND = { + NOR = { + has_building_or_higher = watermills_01 + has_building_or_higher = caravanserai_01 + } + has_building_or_higher = city_01 + } + } + } + trigger_else_if = { + limit = { + scope:holder.culture = { + has_cultural_parameter = second_caravanserai + } + NOT = { + scope:holder.culture = { + has_cultural_parameter = watermills_windmills_cities + } + } + } + OR = { + is_county_capital = yes + AND = { + county = { + any_county_province = { + count < 2 + has_building_or_higher = caravanserai_01 + } + } + } + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = watermills_windmills_cities + } + scope:holder.culture = { + has_cultural_parameter = second_caravanserai + } + OR = { + is_county_capital = yes + AND = { + NOR = { + has_building_or_higher = watermills_01 + has_building_or_higher = caravanserai_01 + } + has_building_or_higher = city_01 + } + AND = { + county = { + any_county_province = { + count < 2 + has_building_or_higher = caravanserai_01 + } + } + } + } + + } } show_disabled = yes @@ -72,6 +156,7 @@ caravanserai_01 = { ai_tier_1_building_modifier = yes ai_tier_1_economical_building_preference_modifier = yes ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes modifier = { factor = 2 scope:holder.capital_province = this @@ -140,10 +225,11 @@ caravanserai_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -188,6 +274,7 @@ caravanserai_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -233,6 +320,7 @@ caravanserai_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -278,6 +366,7 @@ caravanserai_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -324,6 +413,7 @@ caravanserai_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -370,6 +460,7 @@ caravanserai_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -415,6 +506,7 @@ caravanserai_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -425,10 +517,44 @@ watermills_01 = { construction_time = slow_construction_time can_construct_potential = { - building_watermills_requirement_terrain = yes + OR = { + building_watermills_requirement_terrain = yes + AND = { + has_building_or_higher = logging_camps_04 + culture = { + has_cultural_parameter = watermills_forestries_unlock + } + } + } building_requirement_castle_city_church = { LEVEL = 01 } - scope:holder.culture = { - has_innovation = innovation_windmills + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + culture = { + has_cultural_parameter = watermills_forestries_unlock + } + } + } + scope:holder.culture = { + has_innovation = innovation_windmills + } + } + trigger_else = { + OR = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + has_innovation = innovation_manorialism + } + AND = { + has_building_or_higher = logging_camps_04 + culture = { + has_cultural_parameter = watermills_forestries_unlock + } + } + } } } @@ -437,7 +563,32 @@ watermills_01 = { } is_enabled = { - is_county_capital = yes + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = watermills_windmills_cities + } + } + } + is_county_capital = yes + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = watermills_windmills_cities + } + OR = { + is_county_capital = yes + AND = { + NOR = { + has_building_or_higher = windmills_01 + has_building_or_higher = caravanserai_01 + } + has_building_or_higher = city_01 + } + + } + } } show_disabled = yes @@ -466,6 +617,7 @@ watermills_01 = { ai_tier_1_building_modifier = yes ai_tier_1_economical_building_preference_modifier = yes ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes modifier = { factor = 10 @@ -485,13 +637,47 @@ watermills_02 = { construction_time = slow_construction_time can_construct_potential = { - building_watermills_requirement_terrain = yes + OR = { + building_watermills_requirement_terrain = yes + AND = { + has_building_or_higher = logging_camps_04 + culture = { + has_cultural_parameter = watermills_forestries_unlock + } + } + } building_requirement_castle_city_church = { LEVEL = 01 } } can_construct = { - scope:holder.culture = { - has_innovation = innovation_windmills + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + culture = { + has_cultural_parameter = watermills_forestries_unlock + } + } + } + scope:holder.culture = { + has_innovation = innovation_windmills + } + } + trigger_else = { + OR = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + has_innovation = innovation_manorialism + } + AND = { + has_building_or_higher = logging_camps_04 + culture = { + has_cultural_parameter = watermills_forestries_unlock + } + } + } } } @@ -516,10 +702,11 @@ watermills_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -528,12 +715,49 @@ watermills_03 = { construction_time = slow_construction_time can_construct_potential = { - building_watermills_requirement_terrain = yes + OR = { + building_watermills_requirement_terrain = yes + AND = { + has_building_or_higher = logging_camps_04 + culture = { + has_cultural_parameter = watermills_forestries_unlock + } + } + } } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_windmills + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + culture = { + has_cultural_parameter = watermills_forestries_unlock + } + } + } + scope:holder.culture = { + has_innovation = innovation_windmills + } + building_requirement_castle_city_church = { LEVEL = 02 } + } + trigger_else = { + OR = { + AND = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + has_innovation = innovation_windmills + } + } + AND = { + has_building_or_higher = logging_camps_04 + culture = { + has_cultural_parameter = watermills_forestries_unlock + } + } + } + building_requirement_castle_city_church = { LEVEL = 01 } } } @@ -560,6 +784,7 @@ watermills_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -568,12 +793,49 @@ watermills_04 = { construction_time = slow_construction_time can_construct_potential = { - building_watermills_requirement_terrain = yes + OR = { + building_watermills_requirement_terrain = yes + AND = { + has_building_or_higher = logging_camps_04 + culture = { + has_cultural_parameter = watermills_forestries_unlock + } + } + } } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_windmills + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + culture = { + has_cultural_parameter = watermills_forestries_unlock + } + } + } + scope:holder.culture = { + has_innovation = innovation_windmills + } + building_requirement_castle_city_church = { LEVEL = 02 } + } + trigger_else = { + OR = { + AND = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + has_innovation = innovation_windmills + } + } + AND = { + has_building_or_higher = logging_camps_04 + culture = { + has_cultural_parameter = watermills_forestries_unlock + } + } + } + building_requirement_castle_city_church = { LEVEL = 01 } } } @@ -600,6 +862,7 @@ watermills_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -611,10 +874,25 @@ watermills_05 = { building_watermills_requirement_terrain = yes } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } scope:holder.culture = { has_innovation = innovation_windmills } + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + } + } + building_requirement_castle_city_church = { LEVEL = 03 } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + building_requirement_castle_city_church = { LEVEL = 02 } + } } can_construct_showing_failures_only = { @@ -640,6 +918,7 @@ watermills_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -651,9 +930,27 @@ watermills_06 = { building_watermills_requirement_terrain = yes } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + } + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { has_innovation = innovation_cranes + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_windmills + } } } @@ -680,6 +977,7 @@ watermills_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -691,9 +989,27 @@ watermills_07 = { building_watermills_requirement_terrain = yes } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + } + } + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { has_innovation = innovation_cranes + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_windmills + } } } @@ -720,6 +1036,7 @@ watermills_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -731,9 +1048,27 @@ watermills_08 = { building_watermills_requirement_terrain = yes } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + } + } + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { has_innovation = innovation_cranes + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_windmills + } } } @@ -759,6 +1094,7 @@ watermills_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -769,10 +1105,44 @@ windmills_01 = { construction_time = slow_construction_time can_construct_potential = { - building_windmills_requirement_terrain = yes + OR = { + building_windmills_requirement_terrain = yes + AND = { + has_building_or_higher = hill_farms_04 + culture = { + has_cultural_parameter = windmills_hill_farms_unlock + } + } + } building_requirement_castle_city_church = { LEVEL = 01 } - scope:holder.culture = { - has_innovation = innovation_windmills + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + culture = { + has_cultural_parameter = windmills_hill_farms_unlock + } + } + } + scope:holder.culture = { + has_innovation = innovation_windmills + } + } + trigger_else = { + OR = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + has_innovation = innovation_manorialism + } + AND = { + has_building_or_higher = hill_farms_04 + culture = { + has_cultural_parameter = windmills_hill_farms_unlock + } + } + } } } @@ -781,12 +1151,37 @@ windmills_01 = { } is_enabled = { - is_county_capital = yes - } - show_disabled = yes - - can_construct = { - } + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = watermills_windmills_cities + } + } + } + is_county_capital = yes + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = watermills_windmills_cities + } + OR = { + is_county_capital = yes + AND = { + NOR = { + has_building_or_higher = watermills_01 + has_building_or_higher = caravanserai_01 + } + has_building_or_higher = city_01 + } + + } + } + } + show_disabled = yes + + can_construct = { + } cost_gold = expensive_building_tier_1_cost @@ -810,6 +1205,7 @@ windmills_01 = { ai_tier_1_building_modifier = yes ai_tier_1_economical_building_preference_modifier = yes ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes modifier = { factor = 10 @@ -833,13 +1229,47 @@ windmills_02 = { construction_time = slow_construction_time can_construct_potential = { - building_windmills_requirement_terrain = yes + OR = { + building_windmills_requirement_terrain = yes + AND = { + has_building_or_higher = hill_farms_04 + culture = { + has_cultural_parameter = windmills_hill_farms_unlock + } + } + } building_requirement_castle_city_church = { LEVEL = 01 } } can_construct = { - scope:holder.culture = { - has_innovation = innovation_windmills + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + culture = { + has_cultural_parameter = windmills_hill_farms_unlock + } + } + } + scope:holder.culture = { + has_innovation = innovation_windmills + } + } + trigger_else = { + OR = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + has_innovation = innovation_manorialism + } + AND = { + has_building_or_higher = hill_farms_04 + culture = { + has_cultural_parameter = windmills_hill_farms_unlock + } + } + } } } @@ -864,10 +1294,11 @@ windmills_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -876,12 +1307,45 @@ windmills_03 = { construction_time = slow_construction_time can_construct_potential = { - building_windmills_requirement_terrain = yes + OR = { + building_windmills_requirement_terrain = yes + AND = { + has_building_or_higher = hill_farms_04 + culture = { + has_cultural_parameter = windmills_hill_farms_unlock + } + } + } } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_windmills + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + culture = { + has_cultural_parameter = windmills_hill_farms_unlock + } + } + } + scope:holder.culture = { + has_innovation = innovation_windmills + } + } + trigger_else = { + OR = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + has_innovation = innovation_windmills + } + AND = { + has_building_or_higher = hill_farms_04 + culture = { + has_cultural_parameter = windmills_hill_farms_unlock + } + } + } } } @@ -906,6 +1370,7 @@ windmills_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -914,12 +1379,43 @@ windmills_04 = { construction_time = slow_construction_time can_construct_potential = { - building_windmills_requirement_terrain = yes + OR = { + building_windmills_requirement_terrain = yes + AND = { + has_building_or_higher = hill_farms_04 + culture = { + has_cultural_parameter = windmills_hill_farms_unlock + } + } + } } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_windmills + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + culture = { + has_cultural_parameter = windmills_hill_farms_unlock + } + } + } + building_requirement_castle_city_church = { LEVEL = 02 } + } + trigger_else = { + OR = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + has_innovation = innovation_windmills + } + AND = { + has_building_or_higher = hill_farms_04 + culture = { + has_cultural_parameter = windmills_hill_farms_unlock + } + } + } } } @@ -944,6 +1440,7 @@ windmills_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -955,10 +1452,25 @@ windmills_05 = { building_windmills_requirement_terrain = yes } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } scope:holder.culture = { has_innovation = innovation_windmills } + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + } + } + building_requirement_castle_city_church = { LEVEL = 03 } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + building_requirement_castle_city_church = { LEVEL = 02 } + } } can_construct_showing_failures_only = { @@ -982,6 +1494,7 @@ windmills_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -993,9 +1506,27 @@ windmills_06 = { building_windmills_requirement_terrain = yes } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + } + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { has_innovation = innovation_cranes + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_windmills + } } } @@ -1020,6 +1551,7 @@ windmills_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -1031,9 +1563,27 @@ windmills_07 = { building_windmills_requirement_terrain = yes } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + } + } + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { has_innovation = innovation_cranes + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_windmills + } } } @@ -1058,6 +1608,7 @@ windmills_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -1069,9 +1620,27 @@ windmills_08 = { building_windmills_requirement_terrain = yes } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + } + } + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { has_innovation = innovation_cranes + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = next_level_w_mills + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_windmills + } } } @@ -1095,6 +1664,7 @@ windmills_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -1162,6 +1732,7 @@ common_tradeport_01 = { ai_tier_1_building_modifier = yes ai_tier_1_economical_building_preference_modifier = yes ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes modifier = { add = 5 @@ -1277,10 +1848,11 @@ common_tradeport_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -1350,6 +1922,7 @@ common_tradeport_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -1406,6 +1979,10 @@ common_tradeport_04 = { parameter = trade_ports_give_levies levy_size = 0.08 } + character_culture_modifier = { + parameter = trade_ports_give_levies + men_at_arms_limit = 1 + } province_culture_modifier = { parameter = trade_ports_stationed_maa_bonus stationed_maa_toughness_mult = normal_maa_toughness_tier_4 @@ -1415,6 +1992,7 @@ common_tradeport_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -1471,6 +2049,10 @@ common_tradeport_05 = { parameter = trade_ports_give_levies levy_size = 0.1 } + character_culture_modifier = { + parameter = trade_ports_give_levies + men_at_arms_limit = 1 + } province_culture_modifier = { parameter = trade_ports_stationed_maa_bonus stationed_maa_toughness_mult = normal_maa_toughness_tier_5 @@ -1480,6 +2062,7 @@ common_tradeport_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -1536,6 +2119,10 @@ common_tradeport_06 = { parameter = trade_ports_give_levies levy_size = 0.12 } + character_culture_modifier = { + parameter = trade_ports_give_levies + men_at_arms_limit = 2 + } province_culture_modifier = { parameter = trade_ports_stationed_maa_bonus stationed_maa_toughness_mult = normal_maa_toughness_tier_6 @@ -1545,6 +2132,7 @@ common_tradeport_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -1601,6 +2189,10 @@ common_tradeport_07 = { parameter = trade_ports_give_levies levy_size = 0.14 } + character_culture_modifier = { + parameter = trade_ports_give_levies + men_at_arms_limit = 2 + } province_culture_modifier = { parameter = trade_ports_stationed_maa_bonus stationed_maa_toughness_mult = normal_maa_toughness_tier_7 @@ -1610,6 +2202,7 @@ common_tradeport_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -1665,7 +2258,10 @@ common_tradeport_08 = { province_culture_modifier = { parameter = trade_ports_give_levies levy_size = 0.16 - + } + character_culture_modifier = { + parameter = trade_ports_give_levies + men_at_arms_limit = 3 } province_culture_modifier = { parameter = trade_ports_stationed_maa_bonus @@ -1675,6 +2271,7 @@ common_tradeport_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -1692,6 +2289,8 @@ pastures_01 = { can_construct_showing_failures_only = { building_requirement_civilized = yes # Warcraft } + + show_disabled = yes cost_gold = normal_building_tier_1_cost @@ -1728,6 +2327,7 @@ pastures_01 = { ai_tier_1_economical_building_preference_modifier = yes ai_pasture_improvement_from_culture_modifier = yes # Only on the level 1 to secure having pasture when the AI is from an appropriate culture ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes modifier = { factor = 0 building_farm_estates_requirement_terrain = yes @@ -1742,6 +2342,12 @@ pastures_01 = { has_building_or_higher = orchards_01 } } + modifier = { + factor = 4 + culture = { + has_cultural_parameter = farm_estates_pastures_unlock + } + } } } @@ -1790,10 +2396,11 @@ pastures_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -1847,6 +2454,7 @@ pastures_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -1903,6 +2511,7 @@ pastures_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -1960,6 +2569,7 @@ pastures_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -1986,7 +2596,7 @@ pastures_06 = { levy = small_building_levy_tier_6 province_modifier = { - monthly_income = poor_building_tax_tier_6 + monthly_income = normal_building_tax_tier_6 supply_limit = normal_building_supply_limit_tier_6 levy_reinforcement_rate = 0.1 garrison_size = 0.05 @@ -2018,6 +2628,7 @@ pastures_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -2076,6 +2687,7 @@ pastures_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -2132,6 +2744,7 @@ pastures_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -2145,11 +2758,31 @@ hunting_grounds_01 = { can_construct_potential = { building_hunting_grounds_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 01 } + scope:holder.culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } } can_construct_showing_failures_only = { building_requirement_civilized = yes # Warcraft } + + is_enabled = { + scope:holder.culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } + culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } + } + + show_disabled = yes cost_gold = cheap_building_tier_1_cost @@ -2182,6 +2815,7 @@ hunting_grounds_01 = { ai_tier_1_economical_building_preference_modifier = yes ai_hunting_grounds_improvement_from_culture_modifier = yes ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes modifier = { factor = 0 building_cereal_fields_requirement_terrain = yes @@ -2211,12 +2845,32 @@ hunting_grounds_02 = { scope:holder.culture = { has_innovation = innovation_crop_rotation } + scope:holder.culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } } can_construct_showing_failures_only = { building_requirement_civilized = yes # Warcraft } + is_enabled = { + scope:holder.culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } + culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } + } + + show_disabled = yes + cost_gold = cheap_building_tier_2_cost levy = poor_building_levy_tier_2 @@ -2243,10 +2897,11 @@ hunting_grounds_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -2264,12 +2919,32 @@ hunting_grounds_03 = { scope:holder.culture = { has_innovation = innovation_manorialism } + scope:holder.culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } } can_construct_showing_failures_only = { building_requirement_civilized = yes # Warcraft } + is_enabled = { + scope:holder.culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } + culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } + } + + show_disabled = yes + cost_gold = cheap_building_tier_3_cost levy = poor_building_levy_tier_3 @@ -2296,6 +2971,7 @@ hunting_grounds_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -2313,11 +2989,31 @@ hunting_grounds_04 = { scope:holder.culture = { has_innovation = innovation_manorialism } + scope:holder.culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } } - + can_construct_showing_failures_only = { building_requirement_civilized = yes # Warcraft } + + is_enabled = { + scope:holder.culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } + culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } + } + + show_disabled = yes cost_gold = cheap_building_tier_4_cost @@ -2345,6 +3041,7 @@ hunting_grounds_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -2362,11 +3059,31 @@ hunting_grounds_05 = { scope:holder.culture = { has_innovation = innovation_guilds } + scope:holder.culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } } - + can_construct_showing_failures_only = { building_requirement_civilized = yes # Warcraft } + + is_enabled = { + scope:holder.culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } + culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } + } + + show_disabled = yes cost_gold = cheap_building_tier_5_cost @@ -2399,6 +3116,7 @@ hunting_grounds_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -2416,11 +3134,31 @@ hunting_grounds_06 = { scope:holder.culture = { has_innovation = innovation_guilds } + scope:holder.culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } } - + can_construct_showing_failures_only = { building_requirement_civilized = yes # Warcraft } + + is_enabled = { + scope:holder.culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } + culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } + } + + show_disabled = yes cost_gold = cheap_building_tier_6_cost @@ -2453,6 +3191,7 @@ hunting_grounds_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -2470,11 +3209,31 @@ hunting_grounds_07 = { scope:holder.culture = { has_innovation = innovation_cranes } + scope:holder.culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } } - + can_construct_showing_failures_only = { building_requirement_civilized = yes # Warcraft } + + is_enabled = { + scope:holder.culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } + culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } + } + + show_disabled = yes cost_gold = cheap_building_tier_7_cost @@ -2511,6 +3270,7 @@ hunting_grounds_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -2528,11 +3288,31 @@ hunting_grounds_08 = { scope:holder.culture = { has_innovation = innovation_cranes } + scope:holder.culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } } - + can_construct_showing_failures_only = { building_requirement_civilized = yes # Warcraft } + + is_enabled = { + scope:holder.culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } + culture = { + NOT = { + has_cultural_parameter = vegetarian_building_ban + } + } + } + + show_disabled = yes cost_gold = cheap_building_tier_8_cost @@ -2567,6 +3347,7 @@ hunting_grounds_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -2611,6 +3392,7 @@ orchards_01 = { ai_tier_1_economical_building_preference_modifier = yes ai_orchard_improvement_from_culture_modifier = yes ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes modifier = { factor = 2 AND = { @@ -2618,6 +3400,12 @@ orchards_01 = { building_windmills_requirement_terrain = yes } } + modifier = { + factor = 2 + culture = { + has_cultural_parameter = vegetarian_fruit_orchard_allowed + } + } } } @@ -2658,10 +3446,11 @@ orchards_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -2708,6 +3497,7 @@ orchards_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -2754,6 +3544,7 @@ orchards_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -2801,6 +3592,7 @@ orchards_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -2849,6 +3641,7 @@ orchards_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -2900,6 +3693,7 @@ orchards_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -2949,6 +3743,7 @@ orchards_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -2960,8 +3755,18 @@ farm_estates_01 = { effect_desc = farm_estates_effect_desc can_construct_potential = { - building_farm_estates_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 01 } + OR = { + AND = { + building_farm_estates_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 01 } + } + AND = { + has_building_or_higher = pastures_04 + culture = { + has_cultural_parameter = farm_estates_pastures_unlock + } + } + } } can_construct_showing_failures_only = { @@ -2970,16 +3775,6 @@ farm_estates_01 = { cost_gold = normal_building_tier_1_cost - # cost_gold = { #TODO_CD_EP2_VERONICA - # value = expensive_building_tier_1_cost - # if = { - # limit = { - # owner = { has_modifier = modifier } - # } - # substract = 100 - # } - # } - province_modifier = { monthly_income = excellent_building_tax_tier_1 } @@ -2999,6 +3794,7 @@ farm_estates_01 = { ai_tier_1_economical_building_preference_modifier = yes ai_farm_estate_improvement_from_culture_modifier = yes ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes modifier = { factor = 2 AND = { @@ -3014,11 +3810,22 @@ farm_estates_02 = { effect_desc = farm_estates_effect_desc can_construct_potential = { - building_farm_estates_requirement_terrain = yes - building_requirement_castle_city_church = { LEVEL = 01 } - scope:holder.culture = { - has_innovation = innovation_crop_rotation + OR = { + AND = { + building_requirement_castle_city_church = { LEVEL = 01 } + scope:holder.culture = { + has_innovation = innovation_crop_rotation + } + building_farm_estates_requirement_terrain = yes + } + AND = { + has_building_or_higher = pastures_04 + culture = { + has_cultural_parameter = farm_estates_pastures_unlock + } + } } + } can_construct_showing_failures_only = { @@ -3043,10 +3850,11 @@ farm_estates_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -3056,13 +3864,21 @@ farm_estates_03 = { effect_desc = farm_estates_effect_desc can_construct_potential = { - building_farm_estates_requirement_terrain = yes - } - - can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_manorialism + OR = { + AND = { + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_manorialism + } + building_farm_estates_requirement_terrain = yes + } + + AND = { + has_building_or_higher = pastures_04 + culture = { + has_cultural_parameter = farm_estates_pastures_unlock + } + } } } @@ -3092,6 +3908,7 @@ farm_estates_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -3101,13 +3918,21 @@ farm_estates_04 = { effect_desc = farm_estates_effect_desc can_construct_potential = { - building_farm_estates_requirement_terrain = yes - } - - can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_manorialism + OR = { + AND = { + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_manorialism + } + building_farm_estates_requirement_terrain = yes + } + + AND = { + has_building_or_higher = pastures_04 + culture = { + has_cultural_parameter = farm_estates_pastures_unlock + } + } } } @@ -3137,6 +3962,7 @@ farm_estates_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -3158,6 +3984,11 @@ farm_estates_05 = { can_construct_showing_failures_only = { building_requirement_civilized = yes # Warcraft + custom_description = { + text = TERRAIN_NOT_FARMLANDS + terrain = farmlands + } + } cost_gold = normal_building_tier_5_cost @@ -3183,6 +4014,7 @@ farm_estates_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -3204,6 +4036,7 @@ farm_estates_06 = { can_construct_showing_failures_only = { building_requirement_civilized = yes # Warcraft + terrain = farmlands } cost_gold = normal_building_tier_6_cost @@ -3230,6 +4063,7 @@ farm_estates_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -3251,6 +4085,7 @@ farm_estates_07 = { can_construct_showing_failures_only = { building_requirement_civilized = yes # Warcraft + terrain = farmlands } cost_gold = normal_building_tier_7_cost @@ -3278,6 +4113,7 @@ farm_estates_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -3299,6 +4135,7 @@ farm_estates_08 = { can_construct_showing_failures_only = { building_requirement_civilized = yes # Warcraft + terrain = farmlands } cost_gold = normal_building_tier_8_cost @@ -3323,6 +4160,7 @@ farm_estates_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -3352,6 +4190,11 @@ cereal_fields_01 = { is_coastal = yes tax_mult = 0.02 } + province_culture_modifier = { + parameter = collective_lands_farms_bonuses + stationed_maa_damage_mult = normal_maa_damage_tier_1 + stationed_maa_toughness_mult = normal_maa_toughness_tier_1 + } next_building = cereal_fields_02 @@ -3362,6 +4205,7 @@ cereal_fields_01 = { ai_tier_1_building_modifier = yes ai_tier_1_economical_building_preference_modifier = yes ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes modifier = { add = 6 county = { @@ -3399,9 +4243,24 @@ cereal_fields_02 = { can_construct_potential = { building_cereal_fields_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 01 } - scope:holder.culture = { - has_innovation = innovation_crop_rotation + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + } + } + scope:holder.culture = { + has_innovation = innovation_crop_rotation + } } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + } + } can_construct_showing_failures_only = { @@ -3422,16 +4281,23 @@ cereal_fields_02 = { county_modifier = { tax_mult = 0.01 } + + province_culture_modifier = { + parameter = collective_lands_farms_bonuses + stationed_maa_damage_mult = normal_maa_damage_tier_2 + stationed_maa_toughness_mult = normal_maa_toughness_tier_2 + } next_building = cereal_fields_03 ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -3445,9 +4311,27 @@ cereal_fields_03 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_manorialism + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + } + } + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_manorialism + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + scope:holder.culture = { + has_innovation = innovation_crop_rotation + } + building_requirement_castle_city_church = { LEVEL = 01 } } } @@ -3470,12 +4354,19 @@ cereal_fields_03 = { tax_mult = 0.01 supply_limit = 400 } + + province_culture_modifier = { + parameter = collective_lands_farms_bonuses + stationed_maa_damage_mult = normal_maa_damage_tier_3 + stationed_maa_toughness_mult = normal_maa_toughness_tier_3 + } next_building = cereal_fields_04 ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -3489,9 +4380,27 @@ cereal_fields_04 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_manorialism + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + } + } + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_manorialism + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + scope:holder.culture = { + has_innovation = innovation_crop_rotation + } + building_requirement_castle_city_church = { LEVEL = 01 } } } @@ -3515,12 +4424,19 @@ cereal_fields_04 = { supply_limit = 400 development_growth_factor = 0.05 } + + province_culture_modifier = { + parameter = collective_lands_farms_bonuses + stationed_maa_damage_mult = normal_maa_damage_tier_4 + stationed_maa_toughness_mult = normal_maa_toughness_tier_4 + } next_building = cereal_fields_05 ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -3534,9 +4450,27 @@ cereal_fields_05 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_guilds + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + } + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_guilds + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + scope:holder.culture = { + has_innovation = innovation_manorialism + } + building_requirement_castle_city_church = { LEVEL = 02 } } } @@ -3561,12 +4495,19 @@ cereal_fields_05 = { development_growth_factor = 0.05 supply_limit_mult = 0.05 } + + province_culture_modifier = { + parameter = collective_lands_farms_bonuses + stationed_maa_damage_mult = normal_maa_damage_tier_5 + stationed_maa_toughness_mult = normal_maa_toughness_tier_5 + } next_building = cereal_fields_06 ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -3580,9 +4521,27 @@ cereal_fields_06 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_guilds + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + } + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_guilds + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + scope:holder.culture = { + has_innovation = innovation_manorialism + } + building_requirement_castle_city_church = { LEVEL = 02 } } } @@ -3608,12 +4567,19 @@ cereal_fields_06 = { supply_limit_mult = 0.05 church_holding_build_gold_cost = -0.05 } + + province_culture_modifier = { + parameter = collective_lands_farms_bonuses + stationed_maa_damage_mult = normal_maa_damage_tier_6 + stationed_maa_toughness_mult = normal_maa_toughness_tier_6 + } next_building = cereal_fields_07 ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -3627,9 +4593,27 @@ cereal_fields_07 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_cranes + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + } + } + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { + has_innovation = innovation_cranes + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + scope:holder.culture = { + has_innovation = innovation_guilds + } + building_requirement_castle_city_church = { LEVEL = 03 } } } @@ -3656,12 +4640,19 @@ cereal_fields_07 = { supply_limit_mult = 0.05 church_holding_build_gold_cost = -0.05 } + + province_culture_modifier = { + parameter = collective_lands_farms_bonuses + stationed_maa_damage_mult = normal_maa_damage_tier_7 + stationed_maa_toughness_mult = normal_maa_toughness_tier_7 + } + + next_building = cereal_fields_08 - next_building = cereal_fields_08 - ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -3675,9 +4666,27 @@ cereal_fields_08 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_cranes + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + } + } + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { + has_innovation = innovation_cranes + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = vegetarian_next_level_cereal_fields + } + scope:holder.culture = { + has_innovation = innovation_guilds + } + building_requirement_castle_city_church = { LEVEL = 03 } } } @@ -3704,10 +4713,17 @@ cereal_fields_08 = { supply_limit_mult = 0.05 church_holding_build_gold_cost = -0.05 } + + province_culture_modifier = { + parameter = collective_lands_farms_bonuses + stationed_maa_damage_mult = normal_maa_damage_tier_8 + stationed_maa_toughness_mult = normal_maa_toughness_tier_8 + } ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -3753,6 +4769,7 @@ logging_camps_01 = { ai_tier_1_building_modifier = yes ai_tier_1_economical_building_preference_modifier = yes ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_logging_camp_improvement_from_culture_modifier = yes modifier = { factor = 0 @@ -3763,6 +4780,12 @@ logging_camps_01 = { has_building_or_higher = guild_halls_01 } } + modifier = { + factor = 4 + scope:holder.culture = { + has_cultural_parameter = watermills_forestries_unlock + } + } } } @@ -3807,10 +4830,17 @@ logging_camps_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 + } + modifier = { + factor = 4 + scope:holder.culture = { + has_cultural_parameter = watermills_forestries_unlock + } } } } @@ -3864,6 +4894,7 @@ logging_camps_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -3918,6 +4949,7 @@ logging_camps_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -3973,6 +5005,7 @@ logging_camps_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -4028,6 +5061,7 @@ logging_camps_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -4083,6 +5117,7 @@ logging_camps_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -4137,6 +5172,7 @@ logging_camps_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -4181,6 +5217,7 @@ peat_quarries_01 = { ai_tier_1_building_modifier = yes ai_tier_1_economical_building_preference_modifier = yes ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_peat_quarries_improvement_from_culture_modifier = yes } } @@ -4226,10 +5263,11 @@ peat_quarries_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -4279,6 +5317,7 @@ peat_quarries_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -4329,6 +5368,7 @@ peat_quarries_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -4371,7 +5411,7 @@ peat_quarries_05 = { } county_culture_modifier = { parameter = peat_quarries_building_bonuses - build_speed = -0.010 + build_speed = -0.10 build_gold_cost = -0.05 } @@ -4380,6 +5420,7 @@ peat_quarries_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -4432,6 +5473,7 @@ peat_quarries_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -4484,6 +5526,7 @@ peat_quarries_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -4534,6 +5577,7 @@ peat_quarries_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -4580,14 +5624,23 @@ hill_farms_01 = { ai_tier_1_building_modifier = yes ai_tier_1_economical_building_preference_modifier = yes ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_hill_farms_improvement_from_culture_modifier = yes modifier = { factor = 0 - has_building_or_higher = city_01 + scope:holder = { + government_has_flag = government_is_republic + } NOT = { has_building_or_higher = guild_halls_01 } } + modifier = { + factor = 4 + culture = { + has_cultural_parameter = windmills_hill_farms_unlock + } + } } } @@ -4632,10 +5685,11 @@ hill_farms_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -4688,6 +5742,7 @@ hill_farms_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -4740,6 +5795,7 @@ hill_farms_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -4793,6 +5849,7 @@ hill_farms_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -4847,6 +5904,7 @@ hill_farms_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -4901,6 +5959,7 @@ hill_farms_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -4953,6 +6012,7 @@ hill_farms_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -5000,6 +6060,7 @@ elephant_pens_01 = { ai_tier_1_building_modifier = yes ai_tier_1_economical_building_preference_modifier = yes ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes } } @@ -5043,10 +6104,11 @@ elephant_pens_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -5097,6 +6159,7 @@ elephant_pens_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -5147,6 +6210,7 @@ elephant_pens_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -5197,6 +6261,7 @@ elephant_pens_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -5247,6 +6312,7 @@ elephant_pens_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -5298,6 +6364,7 @@ elephant_pens_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -5347,6 +6414,7 @@ elephant_pens_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -5392,6 +6460,7 @@ plantations_01 = { ai_tier_1_building_modifier = yes ai_tier_1_economical_building_preference_modifier = yes ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_plantations_improvement_from_culture_modifier = yes modifier = { factor = 0 @@ -5463,10 +6532,11 @@ plantations_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -5514,6 +6584,7 @@ plantations_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -5561,6 +6632,7 @@ plantations_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -5612,6 +6684,7 @@ plantations_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -5663,6 +6736,7 @@ plantations_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -5714,6 +6788,7 @@ plantations_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -5763,6 +6838,7 @@ plantations_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -5799,6 +6875,10 @@ quarries_01 = { parameter = quarries_building_bonuses levy_size = 0.01 } + province_culture_modifier = { + parameter = ancient_miners_quarries_building_bonuses + monthly_income = poor_building_tax_tier_1 + } next_building = quarries_02 @@ -5809,6 +6889,7 @@ quarries_01 = { ai_tier_1_building_modifier = yes ai_tier_1_economical_building_preference_modifier = yes ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_quarries_improvement_from_culture_modifier = yes modifier = { factor = 0 @@ -5858,16 +6939,21 @@ quarries_02 = { parameter = quarries_building_bonuses levy_size = 0.02 } + province_culture_modifier = { + parameter = ancient_miners_quarries_building_bonuses + monthly_income = poor_building_tax_tier_2 + } next_building = quarries_03 ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -5914,12 +7000,17 @@ quarries_03 = { parameter = quarries_building_bonuses levy_size = 0.03 } + province_culture_modifier = { + parameter = ancient_miners_quarries_building_bonuses + monthly_income = poor_building_tax_tier_3 + } next_building = quarries_04 ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -5967,12 +7058,17 @@ quarries_04 = { parameter = quarries_building_bonuses levy_size = 0.04 } + province_culture_modifier = { + parameter = ancient_miners_quarries_building_bonuses + monthly_income = poor_building_tax_tier_4 + } next_building = quarries_05 ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -6020,12 +7116,17 @@ quarries_05 = { parameter = quarries_building_bonuses levy_size = 0.05 } + province_culture_modifier = { + parameter = ancient_miners_quarries_building_bonuses + monthly_income = poor_building_tax_tier_5 + } next_building = quarries_06 ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -6074,12 +7175,17 @@ quarries_06 = { parameter = quarries_building_bonuses levy_size = 0.06 } + province_culture_modifier = { + parameter = ancient_miners_quarries_building_bonuses + monthly_income = poor_building_tax_tier_6 + } next_building = quarries_07 ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -6131,12 +7237,17 @@ quarries_07 = { parameter = quarries_building_bonuses levy_size = 0.07 } + province_culture_modifier = { + parameter = ancient_miners_quarries_building_bonuses + monthly_income = poor_building_tax_tier_7 + } next_building = quarries_08 ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -6189,10 +7300,15 @@ quarries_08 = { parameter = quarries_building_bonuses levy_size = 0.08 } + province_culture_modifier = { + parameter = ancient_miners_quarries_building_bonuses + monthly_income = poor_building_tax_tier_8 + } ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -6204,13 +7320,13 @@ qanats_01 = { construction_time = standard_construction_time can_construct_potential = { - building_qanat_requirement_terrain = yes + building_qanats_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 01 } - culture = { + scope:holder.culture = { has_cultural_parameter = unlocks_qanat_building } } - + is_enabled = { is_county_capital = yes } @@ -6225,7 +7341,7 @@ qanats_01 = { cost_gold = normal_building_tier_1_cost province_modifier = { - monthly_income = normal_building_tax_tier_1 + monthly_income = poor_building_tax_tier_1 supply_limit = normal_building_supply_limit_tier_1 } @@ -6244,6 +7360,7 @@ qanats_01 = { ai_tier_1_building_modifier = yes ai_tier_1_economical_building_preference_modifier = yes ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes modifier = { factor = 2 scope:holder.capital_province = this @@ -6255,8 +7372,11 @@ qanats_02 = { construction_time = standard_construction_time can_construct_potential = { - building_qanat_requirement_terrain = yes + building_qanats_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 01 } + scope:holder.culture = { + has_cultural_parameter = unlocks_qanat_building + } } can_construct_showing_failures_only = { @@ -6269,7 +7389,7 @@ qanats_02 = { cost_gold = normal_building_tier_2_cost province_modifier = { - monthly_income = normal_building_tax_tier_2 + monthly_income = poor_building_tax_tier_2 supply_limit = normal_building_supply_limit_tier_2 } @@ -6287,6 +7407,7 @@ qanats_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { factor = 2 @@ -6299,8 +7420,11 @@ qanats_03 = { construction_time = standard_construction_time can_construct_potential = { - building_qanat_requirement_terrain = yes + building_qanats_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_cultural_parameter = unlocks_qanat_building + } } can_construct_showing_failures_only = { @@ -6313,7 +7437,7 @@ qanats_03 = { cost_gold = normal_building_tier_3_cost province_modifier = { - monthly_income = normal_building_tax_tier_3 + monthly_income = poor_building_tax_tier_3 supply_limit = normal_building_supply_limit_tier_3 build_speed = normal_building_build_speed_tier_3 } @@ -6332,6 +7456,7 @@ qanats_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { factor = 2 @@ -6344,8 +7469,11 @@ qanats_04 = { construction_time = standard_construction_time can_construct_potential = { - building_qanat_requirement_terrain = yes + building_qanats_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_cultural_parameter = unlocks_qanat_building + } } can_construct_showing_failures_only = { @@ -6358,7 +7486,7 @@ qanats_04 = { cost_gold = normal_building_tier_4_cost province_modifier = { - monthly_income = normal_building_tax_tier_4 + monthly_income = poor_building_tax_tier_4 supply_limit = normal_building_supply_limit_tier_4 build_speed = normal_building_build_speed_tier_4 } @@ -6377,6 +7505,7 @@ qanats_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { factor = 2 @@ -6389,8 +7518,11 @@ qanats_05 = { construction_time = standard_construction_time can_construct_potential = { - building_qanat_requirement_terrain = yes + building_qanats_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_cultural_parameter = unlocks_qanat_building + } } can_construct_showing_failures_only = { @@ -6403,7 +7535,7 @@ qanats_05 = { cost_gold = normal_building_tier_5_cost province_modifier = { - monthly_income = normal_building_tax_tier_5 + monthly_income = poor_building_tax_tier_5 supply_limit = normal_building_supply_limit_tier_5 build_speed = normal_building_build_speed_tier_5 } @@ -6424,6 +7556,7 @@ qanats_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { factor = 2 @@ -6436,8 +7569,11 @@ qanats_06 = { construction_time = standard_construction_time can_construct_potential = { - building_qanat_requirement_terrain = yes + building_qanats_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_cultural_parameter = unlocks_qanat_building + } } can_construct_showing_failures_only = { @@ -6450,7 +7586,7 @@ qanats_06 = { cost_gold = normal_building_tier_6_cost province_modifier = { - monthly_income = normal_building_tax_tier_6 + monthly_income = poor_building_tax_tier_6 supply_limit = normal_building_supply_limit_tier_6 build_speed = normal_building_build_speed_tier_6 } @@ -6471,6 +7607,7 @@ qanats_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { factor = 2 @@ -6483,8 +7620,11 @@ qanats_07 = { construction_time = standard_construction_time can_construct_potential = { - building_qanat_requirement_terrain = yes + building_qanats_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { + has_cultural_parameter = unlocks_qanat_building + } } can_construct_showing_failures_only = { @@ -6497,7 +7637,7 @@ qanats_07 = { cost_gold = normal_building_tier_7_cost province_modifier = { - monthly_income = normal_building_tax_tier_7 + monthly_income = poor_building_tax_tier_7 supply_limit = normal_building_supply_limit_tier_7 build_speed = normal_building_build_speed_tier_7 } @@ -6521,6 +7661,7 @@ qanats_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { factor = 2 @@ -6533,8 +7674,11 @@ qanats_08 = { construction_time = standard_construction_time can_construct_potential = { - building_qanat_requirement_terrain = yes + building_qanats_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { + has_cultural_parameter = unlocks_qanat_building + } } can_construct_showing_failures_only = { @@ -6547,7 +7691,7 @@ qanats_08 = { cost_gold = normal_building_tier_8_cost province_modifier = { - monthly_income = normal_building_tax_tier_8 + monthly_income = poor_building_tax_tier_8 supply_limit = normal_building_supply_limit_tier_8 build_speed = normal_building_build_speed_tier_8 } @@ -6570,6 +7714,7 @@ qanats_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes ai_economical_building_preference_modifier = yes modifier = { factor = 2 @@ -6577,3 +7722,384 @@ qanats_08 = { } } } + +# Murex Farms + +murex_farm_01 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_murex_farm_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 01 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_civilized = yes # Warcraft + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_1_cost + + province_modifier = { + monthly_income = normal_building_tax_tier_1 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_1 + development_growth = normal_building_development_growth_tier_1 + } + + character_modifier = { + monthly_influence = 0.1 + } + + next_building = murex_farm_02 + + type_icon = "icon_building_murex_farms.dds" + + ai_value = { + base = 14 + ai_tier_1_building_modifier = yes + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + modifier = { + factor = 2 + scope:holder.capital_province = this + } + modifier = { + factor = 2 + scope:holder = { + government_has_flag = government_is_administrative + } + } + } +} + +murex_farm_02 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_murex_farm_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 01 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_civilized = yes # Warcraft + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_2_cost + + province_modifier = { + monthly_income = normal_building_tax_tier_2 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_2 + development_growth = normal_building_development_growth_tier_2 + } + + character_modifier = { + monthly_influence = 0.3 + } + + next_building = murex_farm_03 + + type_icon = "icon_building_murex_farms.dds" + + ai_value = { + base = 9 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +murex_farm_03 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_murex_farm_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 02 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_civilized = yes # Warcraft + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_3_cost + + province_modifier = { + monthly_income = normal_building_tax_tier_3 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_3 + development_growth = normal_building_development_growth_tier_3 + } + + character_modifier = { + monthly_influence = 0.6 + } + + next_building = murex_farm_04 + + type_icon = "icon_building_murex_farms.dds" + + ai_value = { + base = 8 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +murex_farm_04 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_murex_farm_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 02 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_civilized = yes # Warcraft + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_4_cost + + province_modifier = { + monthly_income = normal_building_tax_tier_4 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_4 + development_growth = normal_building_development_growth_tier_4 + } + + character_modifier = { + monthly_influence = 1 + } + + next_building = murex_farm_05 + + type_icon = "icon_building_murex_farms.dds" + + ai_value = { + base = 7 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +murex_farm_05 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_murex_farm_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 03 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_civilized = yes # Warcraft + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_5_cost + + province_modifier = { + monthly_income = normal_building_tax_tier_5 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_5 + development_growth = normal_building_development_growth_tier_5 + } + + character_modifier = { + monthly_influence = 1.3 + } + + next_building = murex_farm_06 + + type_icon = "icon_building_murex_farms.dds" + + ai_value = { + base = 6 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +murex_farm_06 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_murex_farm_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 03 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_civilized = yes # Warcraft + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_6_cost + + province_modifier = { + monthly_income = normal_building_tax_tier_6 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_6 + development_growth = normal_building_development_growth_tier_6 + } + + character_modifier = { + monthly_influence = 1.8 + } + + next_building = murex_farm_07 + + type_icon = "icon_building_murex_farms.dds" + + ai_value = { + base = 5 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +murex_farm_07 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_murex_farm_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 04 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_civilized = yes # Warcraft + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_7_cost + + province_modifier = { + monthly_income = normal_building_tax_tier_7 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_7 + development_growth = normal_building_development_growth_tier_7 + } + + character_modifier = { + monthly_influence = 2.3 + } + + next_building = murex_farm_08 + + type_icon = "icon_building_murex_farms.dds" + + ai_value = { + base = 4 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + +murex_farm_08 = { + construction_time = standard_construction_time + + can_construct_potential = { + building_murex_farm_requirement_terrain = yes + building_requirement_castle_city_church = { LEVEL = 04 } + } + + is_enabled = { + } + + can_construct_showing_failures_only = { + building_requirement_civilized = yes # Warcraft + county = { NOT = { has_county_modifier = backwater_county_modifier } } + } + + can_construct = { + } + + cost_gold = normal_building_tier_8_cost + + province_modifier = { + monthly_income = normal_building_tax_tier_8 + } + + county_modifier = { + development_growth_factor = normal_building_development_growth_factor_tier_8 + development_growth = normal_building_development_growth_tier_8 + } + + character_modifier = { + monthly_influence = 3 + } + + type_icon = "icon_building_murex_farms.dds" + + ai_value = { + base = 3 + ai_tier_1_economical_building_preference_modifier = yes + ai_general_building_modifier = yes + directive_to_build_economy_modifier = yes + } +} + + diff --git a/common/buildings/00_standard_fortification_buildings.txt b/common/buildings/00_standard_fortification_buildings.txt index ef5492e181..06d76820c3 100644 --- a/common/buildings/00_standard_fortification_buildings.txt +++ b/common/buildings/00_standard_fortification_buildings.txt @@ -42,18 +42,19 @@ ramparts_01 = { base = 10 ai_tier_1_building_modifier = yes ai_general_building_modifier = yes + directive_to_fortify_modifier = yes modifier = { factor = 5 - free_building_slots <= 3 years_from_game_start > 0.01 + free_building_slots <= 3 scope:holder.capital_province = this } modifier = { factor = 5 - free_building_slots <= 2 years_from_game_start > 0.01 + free_building_slots <= 2 } modifier = { factor = 5 - free_building_slots <= 1 years_from_game_start > 0.01 + free_building_slots <= 1 } culture_likely_to_fortify_modifier = yes } @@ -65,8 +66,22 @@ ramparts_02 = { can_construct_potential = { building_ramparts_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 01 } - scope:holder.culture = { - has_innovation = innovation_motte + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + scope:holder.culture = { + has_innovation = innovation_motte + } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_fortification + } } } @@ -101,9 +116,10 @@ ramparts_02 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -116,9 +132,27 @@ ramparts_03 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_battlements + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_battlements + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_motte + } } } @@ -154,6 +188,7 @@ ramparts_03 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } @@ -165,9 +200,27 @@ ramparts_04 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_battlements + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_battlements + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_motte + } } } @@ -206,6 +259,7 @@ ramparts_04 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } @@ -217,9 +271,27 @@ ramparts_05 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_hoardings + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_hoardings + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_battlements + } } } @@ -258,6 +330,7 @@ ramparts_05 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } @@ -269,9 +342,27 @@ ramparts_06 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_hoardings + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_hoardings + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_battlements + } } } @@ -321,9 +412,27 @@ ramparts_07 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_machicolations + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { + has_innovation = innovation_machicolations + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_hoardings + } } } @@ -362,6 +471,7 @@ ramparts_07 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } @@ -373,9 +483,27 @@ ramparts_08 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_machicolations + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { + has_innovation = innovation_machicolations + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_hoardings + } } } @@ -412,6 +540,7 @@ ramparts_08 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } @@ -459,18 +588,19 @@ curtain_walls_01 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes modifier = { factor = 5 - free_building_slots <= 3 years_from_game_start > 0.01 + free_building_slots <= 3 scope:holder.capital_province = this } modifier = { factor = 5 - free_building_slots <= 2 years_from_game_start > 0.01 + free_building_slots <= 2 } modifier = { factor = 5 - free_building_slots <= 1 years_from_game_start > 0.01 + free_building_slots <= 1 } } } @@ -481,8 +611,22 @@ curtain_walls_02 = { can_construct_potential = { building_curtain_walls_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 01 } - scope:holder.culture = { - has_innovation = innovation_motte + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + scope:holder.culture = { + has_innovation = innovation_motte + } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_fortification + } } } @@ -520,10 +664,11 @@ curtain_walls_02 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes ai_economical_building_preference_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -536,9 +681,27 @@ curtain_walls_03 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_battlements + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_battlements + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_motte + } } } @@ -576,6 +739,7 @@ curtain_walls_03 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -588,9 +752,27 @@ curtain_walls_04 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_battlements + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_battlements + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_motte + } } } @@ -628,6 +810,7 @@ curtain_walls_04 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -640,9 +823,27 @@ curtain_walls_05 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_hoardings + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_hoardings + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_battlements + } } } @@ -681,6 +882,7 @@ curtain_walls_05 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -693,9 +895,27 @@ curtain_walls_06 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_hoardings + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_hoardings + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_battlements + } } } @@ -735,6 +955,7 @@ curtain_walls_06 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -747,9 +968,27 @@ curtain_walls_07 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_machicolations + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { + has_innovation = innovation_machicolations + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_hoardings + } } } @@ -789,6 +1028,7 @@ curtain_walls_07 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -801,9 +1041,27 @@ curtain_walls_08 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_machicolations + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { + has_innovation = innovation_machicolations + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_hoardings + } } } @@ -841,6 +1099,7 @@ curtain_walls_08 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes ai_economical_building_preference_modifier = yes } } @@ -893,18 +1152,19 @@ watchtowers_01 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes modifier = { factor = 5 - free_building_slots <= 3 years_from_game_start > 0.01 + free_building_slots <= 3 scope:holder.capital_province = this } modifier = { factor = 5 - free_building_slots <= 2 years_from_game_start > 0.01 + free_building_slots <= 2 } modifier = { factor = 5 - free_building_slots <= 1 years_from_game_start > 0.01 + free_building_slots <= 1 } } } @@ -916,8 +1176,22 @@ watchtowers_02 = { can_construct_potential = { building_watchtowers_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 01 } - scope:holder.culture = { - has_innovation = innovation_motte + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + scope:holder.culture = { + has_innovation = innovation_motte + } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_fortification + } } } @@ -959,9 +1233,10 @@ watchtowers_02 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -975,9 +1250,27 @@ watchtowers_03 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_battlements + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_battlements + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_motte + } } } @@ -1019,6 +1312,7 @@ watchtowers_03 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } @@ -1031,9 +1325,27 @@ watchtowers_04 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_battlements + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_battlements + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_motte + } } } @@ -1076,6 +1388,7 @@ watchtowers_04 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } @@ -1088,9 +1401,27 @@ watchtowers_05 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_hoardings + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_hoardings + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_battlements + } } } @@ -1118,7 +1449,7 @@ watchtowers_05 = { } county_modifier = { - hostile_raid_time = 0.15 + hostile_raid_time = 0.15 } next_building = watchtowers_06 @@ -1134,6 +1465,7 @@ watchtowers_05 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } @@ -1146,9 +1478,27 @@ watchtowers_06 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_hoardings + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_hoardings + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_battlements + } } } @@ -1177,7 +1527,7 @@ watchtowers_06 = { county_modifier = { hostile_raid_time = 0.15 - supply_limit_mult = 0.05 + supply_limit_mult = 0.05 } next_building = watchtowers_07 @@ -1193,6 +1543,7 @@ watchtowers_06 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } @@ -1205,9 +1556,27 @@ watchtowers_07 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_machicolations + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { + has_innovation = innovation_machicolations + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_hoardings + } } } @@ -1236,7 +1605,7 @@ watchtowers_07 = { county_modifier = { hostile_raid_time = 0.15 - supply_limit_mult = 0.05 + supply_limit_mult = 0.05 } next_building = watchtowers_08 @@ -1252,6 +1621,7 @@ watchtowers_07 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } @@ -1264,9 +1634,27 @@ watchtowers_08 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_machicolations + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { + has_innovation = innovation_machicolations + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_hoardings + } } } @@ -1295,7 +1683,7 @@ watchtowers_08 = { county_modifier = { hostile_raid_time = 0.2 - supply_limit_mult = 0.05 + supply_limit_mult = 0.05 } ai_value = { @@ -1309,6 +1697,7 @@ watchtowers_08 = { } } ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } @@ -1347,18 +1736,19 @@ hill_forts_01 = { base = 10 ai_tier_1_building_modifier = yes ai_general_building_modifier = yes + directive_to_fortify_modifier = yes modifier = { factor = 5 - free_building_slots <= 3 years_from_game_start > 0.01 + free_building_slots <= 3 scope:holder.capital_province = this } modifier = { factor = 5 - free_building_slots <= 2 years_from_game_start > 0.01 + free_building_slots <= 2 } modifier = { factor = 5 - free_building_slots <= 1 years_from_game_start > 0.01 + free_building_slots <= 1 } } } @@ -1369,8 +1759,22 @@ hill_forts_02 = { can_construct_potential = { building_hill_forts_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 01 } - scope:holder.culture = { - has_innovation = innovation_motte + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + scope:holder.culture = { + has_innovation = innovation_motte + } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_fortification + } } } @@ -1400,9 +1804,10 @@ hill_forts_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_fortify_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -1415,9 +1820,27 @@ hill_forts_03 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_battlements + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_battlements + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_motte + } } } @@ -1447,6 +1870,7 @@ hill_forts_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } @@ -1458,9 +1882,27 @@ hill_forts_04 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_battlements + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_battlements + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 01 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_motte + } } } @@ -1491,6 +1933,7 @@ hill_forts_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } @@ -1502,9 +1945,27 @@ hill_forts_05 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_hoardings + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_hoardings + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_battlements + } } } @@ -1535,6 +1996,7 @@ hill_forts_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } @@ -1546,9 +2008,27 @@ hill_forts_06 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_hoardings + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_hoardings + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 02 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_battlements + } } } @@ -1579,6 +2059,7 @@ hill_forts_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } @@ -1590,9 +2071,27 @@ hill_forts_07 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_machicolations + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { + has_innovation = innovation_machicolations + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_hoardings + } } } @@ -1623,6 +2122,7 @@ hill_forts_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } @@ -1634,9 +2134,27 @@ hill_forts_08 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_machicolations + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_fortification + } + } + } + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { + has_innovation = innovation_machicolations + } + } + trigger_else = { + building_requirement_castle_city_church = { LEVEL = 03 } + culture = { + has_cultural_parameter = next_level_fortification + } + scope:holder.culture = { + has_innovation = innovation_hoardings + } } } @@ -1665,5 +2183,6 @@ hill_forts_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_fortify_modifier = yes } } diff --git a/common/buildings/00_standard_military_buildings.txt b/common/buildings/00_standard_military_buildings.txt index 629edcffe6..76c2a02c9b 100644 --- a/common/buildings/00_standard_military_buildings.txt +++ b/common/buildings/00_standard_military_buildings.txt @@ -57,6 +57,7 @@ wind_furnace_01 = { base = 100 ai_tier_1_building_modifier = yes ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { factor = 0 @@ -100,9 +101,10 @@ wind_furnace_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -141,6 +143,7 @@ wind_furnace_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -179,6 +182,7 @@ wind_furnace_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -217,6 +221,7 @@ wind_furnace_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -255,6 +260,7 @@ wind_furnace_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -293,6 +299,7 @@ wind_furnace_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -329,6 +336,7 @@ wind_furnace_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -369,6 +377,7 @@ workshops_01 = { base = 10 ai_tier_1_building_modifier = yes ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { factor = 0 building_farm_estates_requirement_terrain = yes @@ -418,9 +427,10 @@ workshops_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -464,6 +474,7 @@ workshops_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -506,6 +517,7 @@ workshops_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -549,6 +561,7 @@ workshops_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -592,6 +605,7 @@ workshops_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -635,6 +649,7 @@ workshops_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -676,6 +691,7 @@ workshops_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -717,6 +733,7 @@ horse_pastures_01 = { base = 10 ai_tier_1_building_modifier = yes ai_general_building_modifier = yes + directive_to_build_military_modifier = yes ai_stacking_bonus_camel_farms_modifier = yes ai_stacking_bonus_hillside_grazing_modifier = yes ai_stacking_bonus_stables_modifier = yes @@ -800,9 +817,10 @@ horse_pastures_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -848,6 +866,7 @@ horse_pastures_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -892,6 +911,7 @@ horse_pastures_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -936,6 +956,7 @@ horse_pastures_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -980,6 +1001,7 @@ horse_pastures_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -1024,6 +1046,7 @@ horse_pastures_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -1066,6 +1089,7 @@ horse_pastures_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -1103,6 +1127,7 @@ hillside_grazing_01 = { base = 11 # Little nudge ai_tier_1_building_modifier = yes ai_general_building_modifier = yes + directive_to_build_military_modifier = yes ai_stacking_bonus_camel_farms_modifier = yes ai_stacking_bonus_horse_pastures_modifier = yes ai_stacking_bonus_stables_modifier = yes @@ -1171,9 +1196,10 @@ hillside_grazing_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -1218,6 +1244,7 @@ hillside_grazing_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -1261,6 +1288,7 @@ hillside_grazing_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -1304,6 +1332,7 @@ hillside_grazing_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -1347,6 +1376,7 @@ hillside_grazing_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -1390,6 +1420,7 @@ hillside_grazing_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -1431,6 +1462,7 @@ hillside_grazing_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -1446,7 +1478,12 @@ warrior_lodges_01 = { } } can_construct_potential = { - building_warrior_lodges_requirement_terrain = yes + OR = { + building_warrior_lodges_requirement_terrain = yes + scope:holder.culture ?= { + has_cultural_parameter = warrior_lodges_lift_restrictions + } + } } can_construct_showing_failures_only = { @@ -1472,6 +1509,7 @@ warrior_lodges_01 = { base = 11 # Little nudge ai_tier_1_building_modifier = yes ai_general_building_modifier = yes + directive_to_build_military_modifier = yes ai_stacking_bonus_military_camps_modifier = yes ai_stacking_bonus_smiths_modifier = yes ai_stacking_bonus_wind_furnaces_modifier = yes @@ -1558,9 +1596,10 @@ warrior_lodges_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -1610,6 +1649,7 @@ warrior_lodges_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -1658,6 +1698,7 @@ warrior_lodges_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -1706,6 +1747,7 @@ warrior_lodges_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -1754,6 +1796,7 @@ warrior_lodges_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -1802,6 +1845,7 @@ warrior_lodges_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -1848,6 +1892,7 @@ warrior_lodges_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -1889,6 +1934,7 @@ military_camps_01 = { base = 10 ai_tier_1_building_modifier = yes ai_general_building_modifier = yes + directive_to_build_military_modifier = yes ai_stacking_bonus_warrior_lodges_modifier = yes ai_stacking_bonus_outposts_modifier = yes ai_anti_synergy_armored_infantry_modifier = yes @@ -1985,8 +2031,22 @@ military_camps_02 = { can_construct_potential = { building_military_camps_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 01 } - scope:holder.culture = { - has_innovation = innovation_barracks + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_military_camps + } + } + } + scope:holder.culture = { + has_innovation = innovation_barracks + } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_military_camps + } } } @@ -2010,9 +2070,10 @@ military_camps_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -2030,9 +2091,24 @@ military_camps_03 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_burhs + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_military_camps + } + } + } + scope:holder.culture = { + has_innovation = innovation_burhs + } + building_requirement_castle_city_church = { LEVEL = 02 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_military_camps + } + building_requirement_castle_city_church = { LEVEL = 01 } } } @@ -2059,6 +2135,7 @@ military_camps_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -2075,9 +2152,24 @@ military_camps_04 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_burhs + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_military_camps + } + } + } + scope:holder.culture = { + has_innovation = innovation_burhs + } + building_requirement_castle_city_church = { LEVEL = 02 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_military_camps + } + building_requirement_castle_city_church = { LEVEL = 01 } } } @@ -2109,6 +2201,7 @@ military_camps_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -2125,9 +2218,27 @@ military_camps_05 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_castle_baileys + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_military_camps + } + } + } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + building_requirement_castle_city_church = { LEVEL = 03 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_military_camps + } + scope:holder.culture = { + has_innovation = innovation_burhs + } + building_requirement_castle_city_church = { LEVEL = 02 } } } @@ -2163,6 +2274,7 @@ military_camps_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -2179,9 +2291,27 @@ military_camps_06 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_royal_armory + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_military_camps + } + } + } + scope:holder.culture = { + has_innovation = innovation_royal_armory + } + building_requirement_castle_city_church = { LEVEL = 03 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_military_camps + } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + building_requirement_castle_city_church = { LEVEL = 02 } } } @@ -2217,6 +2347,7 @@ military_camps_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -2233,9 +2364,27 @@ military_camps_07 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_royal_armory + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_military_camps + } + } + } + scope:holder.culture = { + has_innovation = innovation_royal_armory + } + building_requirement_castle_city_church = { LEVEL = 04 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_military_camps + } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + building_requirement_castle_city_church = { LEVEL = 03 } } } @@ -2271,6 +2420,7 @@ military_camps_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -2287,9 +2437,27 @@ military_camps_08 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_royal_armory + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_military_camps + } + } + } + scope:holder.culture = { + has_innovation = innovation_royal_armory + } + building_requirement_castle_city_church = { LEVEL = 04 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_military_camps + } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + building_requirement_castle_city_church = { LEVEL = 03 } } } @@ -2323,6 +2491,7 @@ military_camps_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -2370,6 +2539,7 @@ regimental_grounds_01 = { base = 13 # One of the best buildings, a slight nudge ai_tier_1_building_modifier = yes ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { add = -99 has_building_or_higher = city_01 @@ -2433,9 +2603,10 @@ regimental_grounds_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -2487,6 +2658,7 @@ regimental_grounds_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -2538,6 +2710,7 @@ regimental_grounds_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -2590,6 +2763,7 @@ regimental_grounds_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -2642,6 +2816,7 @@ regimental_grounds_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -2695,6 +2870,7 @@ regimental_grounds_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -2747,6 +2923,7 @@ regimental_grounds_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -2802,6 +2979,7 @@ outposts_01 = { base = 10 ai_tier_1_building_modifier = yes ai_general_building_modifier = yes + directive_to_build_military_modifier = yes ai_skirmisher_modifier = yes ai_archer_modifier = yes ai_stacking_bonus_warrior_lodges_modifier = yes @@ -2908,9 +3086,10 @@ outposts_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -2971,6 +3150,7 @@ outposts_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -3030,6 +3210,7 @@ outposts_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -3090,6 +3271,7 @@ outposts_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -3150,6 +3332,7 @@ outposts_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -3210,6 +3393,7 @@ outposts_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -3269,6 +3453,7 @@ outposts_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -3302,6 +3487,13 @@ barracks_01 = { parameter = building_barracks_piety_bonuses monthly_piety = 0.1 } + + province_culture_modifier = { + parameter = strength_in_numbers_maa_limit_bonus + stationed_heavy_infantry_damage_mult = -0.20 + stationed_pikemen_damage_mult = -0.20 + stationed_maa_damage_mult = low_maa_damage_tier_1 + } next_building = barracks_02 @@ -3311,6 +3503,7 @@ barracks_01 = { base = 10 ai_tier_1_building_modifier = yes ai_general_building_modifier = yes + directive_to_build_military_modifier = yes ai_anti_synergy_cavalry_modifier = yes ai_anti_synergy_light_infantry_modifier = yes ai_heavy_infantry_modifier = yes @@ -3345,8 +3538,22 @@ barracks_02 = { can_construct_potential = { building_barracks_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 01 } - scope:holder.culture = { - has_innovation = innovation_barracks + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_barracks + } + } + } + scope:holder.culture = { + has_innovation = innovation_barracks + } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_barracks + } } } @@ -3368,15 +3575,28 @@ barracks_02 = { parameter = building_barracks_piety_bonuses monthly_piety = 0.2 } + + character_culture_modifier = { + parameter = strength_in_numbers_maa_limit_bonus + men_at_arms_limit = 1 + } + + province_culture_modifier = { + parameter = strength_in_numbers_maa_limit_bonus + stationed_heavy_infantry_damage_mult = -0.30 + stationed_pikemen_damage_mult = -0.30 + stationed_maa_damage_mult = low_maa_damage_tier_2 + } next_building = barracks_03 ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -3390,9 +3610,24 @@ barracks_03 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_burhs + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_barracks + } + } + } + scope:holder.culture = { + has_innovation = innovation_burhs + } + building_requirement_castle_city_church = { LEVEL = 02 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_barracks + } + building_requirement_castle_city_church = { LEVEL = 01 } } } @@ -3417,12 +3652,27 @@ barracks_03 = { parameter = building_barracks_piety_bonuses monthly_piety = 0.3 } + + character_culture_modifier = { + parameter = strength_in_numbers_maa_limit_bonus + men_at_arms_limit = 1 + } + + province_culture_modifier = { + parameter = strength_in_numbers_maa_limit_bonus + stationed_heavy_infantry_damage_mult = -0.40 + stationed_pikemen_damage_mult = -0.40 + stationed_heavy_infantry_toughness_mult = -0.20 + stationed_pikemen_toughness_mult = -0.20 + stationed_maa_damage_mult = low_maa_damage_tier_3 + } next_building = barracks_04 ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -3435,9 +3685,24 @@ barracks_04 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_burhs + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_barracks + } + } + } + scope:holder.culture = { + has_innovation = innovation_burhs + } + building_requirement_castle_city_church = { LEVEL = 02 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_barracks + } + building_requirement_castle_city_church = { LEVEL = 01 } } } @@ -3465,12 +3730,27 @@ barracks_04 = { parameter = building_barracks_piety_bonuses monthly_piety = 0.4 } + + character_culture_modifier = { + parameter = strength_in_numbers_maa_limit_bonus + men_at_arms_limit = 2 + } + + province_culture_modifier = { + parameter = strength_in_numbers_maa_limit_bonus + stationed_heavy_infantry_damage_mult = -0.50 + stationed_pikemen_damage_mult = -0.50 + stationed_heavy_infantry_toughness_mult = -0.30 + stationed_pikemen_toughness_mult = -0.30 + stationed_maa_damage_mult = low_maa_damage_tier_4 + } next_building = barracks_05 ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -3483,9 +3763,27 @@ barracks_05 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_castle_baileys + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_barracks + } + } + } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + building_requirement_castle_city_church = { LEVEL = 03 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_barracks + } + scope:holder.culture = { + has_innovation = innovation_burhs + } + building_requirement_castle_city_church = { LEVEL = 02 } } } @@ -3515,12 +3813,27 @@ barracks_05 = { parameter = building_barracks_piety_bonuses monthly_piety = 0.5 } + + character_culture_modifier = { + parameter = strength_in_numbers_maa_limit_bonus + men_at_arms_limit = 2 + } + + province_culture_modifier = { + parameter = strength_in_numbers_maa_limit_bonus + stationed_heavy_infantry_damage_mult = -0.60 + stationed_pikemen_damage_mult = -0.60 + stationed_heavy_infantry_toughness_mult = -0.40 + stationed_pikemen_toughness_mult = -0.40 + stationed_maa_damage_mult = low_maa_damage_tier_5 + } next_building = barracks_06 ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -3533,9 +3846,27 @@ barracks_06 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_castle_baileys + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_barracks + } + } + } + scope:holder.culture = { + has_innovation = innovation_royal_armory + } + building_requirement_castle_city_church = { LEVEL = 03 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_barracks + } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + building_requirement_castle_city_church = { LEVEL = 02 } } } @@ -3565,12 +3896,27 @@ barracks_06 = { parameter = building_barracks_piety_bonuses monthly_piety = 0.6 } + + character_culture_modifier = { + parameter = strength_in_numbers_maa_limit_bonus + men_at_arms_limit = 3 + } + + province_culture_modifier = { + parameter = strength_in_numbers_maa_limit_bonus + stationed_heavy_infantry_damage_mult = -0.70 + stationed_pikemen_damage_mult = -0.70 + stationed_heavy_infantry_toughness_mult = -0.50 + stationed_pikemen_toughness_mult = -0.50 + stationed_maa_damage_mult = low_maa_damage_tier_6 + } next_building = barracks_07 ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -3583,9 +3929,27 @@ barracks_07 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_royal_armory + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_barracks + } + } + } + scope:holder.culture = { + has_innovation = innovation_royal_armory + } + building_requirement_castle_city_church = { LEVEL = 04 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_barracks + } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + building_requirement_castle_city_church = { LEVEL = 03 } } } @@ -3615,12 +3979,27 @@ barracks_07 = { parameter = building_barracks_piety_bonuses monthly_piety = 0.7 } + + character_culture_modifier = { + parameter = strength_in_numbers_maa_limit_bonus + men_at_arms_limit = 3 + } + + province_culture_modifier = { + parameter = strength_in_numbers_maa_limit_bonus + stationed_heavy_infantry_damage_mult = -0.80 + stationed_pikemen_damage_mult = -0.80 + stationed_heavy_infantry_toughness_mult = -0.60 + stationed_pikemen_toughness_mult = -0.60 + stationed_maa_damage_mult = low_maa_damage_tier_7 + } next_building = barracks_08 ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -3633,9 +4012,27 @@ barracks_08 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_royal_armory + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_barracks + } + } + } + scope:holder.culture = { + has_innovation = innovation_royal_armory + } + building_requirement_castle_city_church = { LEVEL = 04 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_barracks + } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + building_requirement_castle_city_church = { LEVEL = 03 } } } @@ -3665,10 +4062,25 @@ barracks_08 = { parameter = building_barracks_piety_bonuses monthly_piety = 0.8 } + + character_culture_modifier = { + parameter = strength_in_numbers_maa_limit_bonus + men_at_arms_limit = 4 + } + + province_culture_modifier = { + parameter = strength_in_numbers_maa_limit_bonus + stationed_heavy_infantry_damage_mult = -0.90 + stationed_pikemen_damage_mult = -0.90 + stationed_heavy_infantry_toughness_mult = -0.70 + stationed_pikemen_toughness_mult = -0.70 + stationed_maa_damage_mult = low_maa_damage_tier_7 + } ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -3709,6 +4121,7 @@ camel_farms_01 = { base = 10 ai_tier_1_building_modifier = yes ai_general_building_modifier = yes + directive_to_build_military_modifier = yes ai_stacking_bonus_stables_modifier = yes ai_stacking_bonus_horse_pastures_modifier = yes ai_stacking_bonus_hillside_grazing_modifier = yes @@ -3777,9 +4190,10 @@ camel_farms_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -3830,6 +4244,7 @@ camel_farms_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -3880,6 +4295,7 @@ camel_farms_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -3930,6 +4346,7 @@ camel_farms_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -3981,6 +4398,7 @@ camel_farms_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -4032,6 +4450,7 @@ camel_farms_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -4083,6 +4502,7 @@ camel_farms_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -4128,6 +4548,7 @@ stables_01 = { base = 10 ai_tier_1_building_modifier = yes ai_general_building_modifier = yes + directive_to_build_military_modifier = yes ai_stacking_bonus_camel_farms_modifier = yes ai_stacking_bonus_horse_pastures_modifier = yes ai_stacking_bonus_hillside_grazing_modifier = yes @@ -4215,8 +4636,22 @@ stables_02 = { can_construct_potential = { building_stables_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 01 } - scope:holder.culture = { - has_innovation = innovation_barracks + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_stables + } + } + } + scope:holder.culture = { + has_innovation = innovation_barracks + } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_stables + } } } @@ -4247,9 +4682,10 @@ stables_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -4263,9 +4699,24 @@ stables_03 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_burhs + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_stables + } + } + } + scope:holder.culture = { + has_innovation = innovation_burhs + } + building_requirement_castle_city_church = { LEVEL = 02 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_stables + } + building_requirement_castle_city_church = { LEVEL = 01 } } } @@ -4300,6 +4751,7 @@ stables_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -4312,9 +4764,24 @@ stables_04 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_burhs + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_stables + } + } + } + scope:holder.culture = { + has_innovation = innovation_burhs + } + building_requirement_castle_city_church = { LEVEL = 02 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_stables + } + building_requirement_castle_city_church = { LEVEL = 01 } } } @@ -4349,6 +4816,7 @@ stables_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -4361,9 +4829,27 @@ stables_05 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_castle_baileys + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_stables + } + } + } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + building_requirement_castle_city_church = { LEVEL = 03 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_stables + } + scope:holder.culture = { + has_innovation = innovation_burhs + } + building_requirement_castle_city_church = { LEVEL = 02 } } } @@ -4405,6 +4891,7 @@ stables_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -4417,9 +4904,27 @@ stables_06 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_royal_armory + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_stables + } + } + } + scope:holder.culture = { + has_innovation = innovation_royal_armory + } + building_requirement_castle_city_church = { LEVEL = 03 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_stables + } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + building_requirement_castle_city_church = { LEVEL = 02 } } } @@ -4461,6 +4966,7 @@ stables_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -4473,9 +4979,27 @@ stables_07 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_royal_armory + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_stables + } + } + } + scope:holder.culture = { + has_innovation = innovation_royal_armory + } + building_requirement_castle_city_church = { LEVEL = 04 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_stables + } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + building_requirement_castle_city_church = { LEVEL = 03 } } } @@ -4517,6 +5041,7 @@ stables_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -4529,9 +5054,27 @@ stables_08 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_royal_armory + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_stables + } + } + } + scope:holder.culture = { + has_innovation = innovation_royal_armory + } + building_requirement_castle_city_church = { LEVEL = 04 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_stables + } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + building_requirement_castle_city_church = { LEVEL = 03 } } } @@ -4571,6 +5114,7 @@ stables_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -4608,6 +5152,11 @@ smiths_01 = { character_modifier = { knight_effectiveness_mult = normal_knight_effectiveness_mult_tier_1 } + + character_culture_modifier = { + parameter = frugal_blacksmith_maa_size + knight_limit = 1 + } next_building = smiths_02 @@ -4617,6 +5166,7 @@ smiths_01 = { base = 10 ai_tier_1_building_modifier = yes ai_general_building_modifier = yes + directive_to_build_military_modifier = yes ai_stacking_bonus_warrior_lodges_modifier = yes ai_stacking_bonus_wind_furnaces_modifier = yes ai_anti_synergy_cavalry_modifier = yes @@ -4713,8 +5263,22 @@ smiths_02 = { can_construct_potential = { building_smiths_requirement_terrain = yes building_requirement_castle_city_church = { LEVEL = 01 } - scope:holder.culture = { - has_innovation = innovation_barracks + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_smiths + } + } + } + scope:holder.culture = { + has_innovation = innovation_barracks + } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_smiths + } } } @@ -4734,15 +5298,22 @@ smiths_02 = { character_modifier = { knight_effectiveness_mult = normal_knight_effectiveness_mult_tier_2 } + + character_culture_modifier = { + parameter = frugal_blacksmith_maa_size + knight_limit = 1 + men_at_arms_limit = 1 + } next_building = smiths_03 ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 - free_building_slots > 0 years_from_game_start > 0.01 + free_building_slots > 0 } } } @@ -4760,9 +5331,24 @@ smiths_03 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_burhs + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_smiths + } + } + } + scope:holder.culture = { + has_innovation = innovation_burhs + } + building_requirement_castle_city_church = { LEVEL = 02 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_smiths + } + building_requirement_castle_city_church = { LEVEL = 01 } } } @@ -4783,12 +5369,20 @@ smiths_03 = { character_modifier = { knight_effectiveness_mult = normal_knight_effectiveness_mult_tier_3 } + + character_culture_modifier = { + parameter = frugal_blacksmith_maa_size + knight_limit = 2 + men_at_arms_limit = 1 + } + next_building = smiths_04 ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -4805,9 +5399,24 @@ smiths_04 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 02 } - scope:holder.culture = { - has_innovation = innovation_burhs + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_smiths + } + } + } + scope:holder.culture = { + has_innovation = innovation_burhs + } + building_requirement_castle_city_church = { LEVEL = 02 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_smiths + } + building_requirement_castle_city_church = { LEVEL = 01 } } } @@ -4828,12 +5437,19 @@ smiths_04 = { character_modifier = { knight_effectiveness_mult = normal_knight_effectiveness_mult_tier_4 } + + character_culture_modifier = { + parameter = frugal_blacksmith_maa_size + knight_limit = 2 + men_at_arms_limit = 1 + } next_building = smiths_05 ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -4846,9 +5462,27 @@ smiths_05 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_castle_baileys + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_smiths + } + } + } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + building_requirement_castle_city_church = { LEVEL = 03 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_smiths + } + scope:holder.culture = { + has_innovation = innovation_burhs + } + building_requirement_castle_city_church = { LEVEL = 02 } } } @@ -4869,12 +5503,19 @@ smiths_05 = { character_modifier = { knight_effectiveness_mult = normal_knight_effectiveness_mult_tier_5 } + + character_culture_modifier = { + parameter = frugal_blacksmith_maa_size + knight_limit = 3 + men_at_arms_limit = 1 + } next_building = smiths_06 ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -4887,9 +5528,27 @@ smiths_06 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 03 } - scope:holder.culture = { - has_innovation = innovation_royal_armory + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_smiths + } + } + } + scope:holder.culture = { + has_innovation = innovation_royal_armory + } + building_requirement_castle_city_church = { LEVEL = 03 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_smiths + } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + building_requirement_castle_city_church = { LEVEL = 02 } } } @@ -4910,12 +5569,19 @@ smiths_06 = { character_modifier = { knight_effectiveness_mult = normal_knight_effectiveness_mult_tier_6 } + + character_culture_modifier = { + parameter = frugal_blacksmith_maa_size + knight_limit = 3 + men_at_arms_limit = 2 + } next_building = smiths_07 ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -4928,9 +5594,27 @@ smiths_07 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_royal_armory + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_smiths + } + } + } + scope:holder.culture = { + has_innovation = innovation_royal_armory + } + building_requirement_castle_city_church = { LEVEL = 04 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_smiths + } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + building_requirement_castle_city_church = { LEVEL = 03 } } } @@ -4951,12 +5635,19 @@ smiths_07 = { character_modifier = { knight_effectiveness_mult = normal_knight_effectiveness_mult_tier_7 } + + character_culture_modifier = { + parameter = frugal_blacksmith_maa_size + knight_limit = 4 + men_at_arms_limit = 2 + } next_building = smiths_08 ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -4969,9 +5660,27 @@ smiths_08 = { } can_construct = { - building_requirement_castle_city_church = { LEVEL = 04 } - scope:holder.culture = { - has_innovation = innovation_royal_armory + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_smiths + } + } + } + scope:holder.culture = { + has_innovation = innovation_royal_armory + } + building_requirement_castle_city_church = { LEVEL = 04 } + } + trigger_else = { + culture = { + has_cultural_parameter = next_level_smiths + } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + building_requirement_castle_city_church = { LEVEL = 03 } } } @@ -4992,9 +5701,16 @@ smiths_08 = { character_modifier = { knight_effectiveness_mult = normal_knight_effectiveness_mult_tier_8 } + + character_culture_modifier = { + parameter = frugal_blacksmith_maa_size + knight_limit = 4 + men_at_arms_limit = 3 + } ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } diff --git a/common/buildings/00_temple_buildings.txt b/common/buildings/00_temple_buildings.txt index d8b2af3b73..4f235107b1 100644 --- a/common/buildings/00_temple_buildings.txt +++ b/common/buildings/00_temple_buildings.txt @@ -232,14 +232,47 @@ temple_01 = { } can_construct = { - culture = { - has_innovation = innovation_city_planning + trigger_if = { + limit = { + NOR = { + scope:holder.culture = { + has_cultural_parameter = tribals_can_into_temples + has_cultural_parameter = temple_next_level + } + } + } + scope:holder.culture = { + has_innovation = innovation_city_planning + } + } + trigger_else = { + scope:holder.culture = { + OR = { + has_cultural_parameter = tribals_can_into_temples + has_cultural_parameter = temple_next_level + } + } } + } can_construct_showing_failures_only = { - building_requirement_civilized = yes # Warcraft - building_requirement_tribal_holding_in_county = yes + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = tribals_can_into_temples + } + } + } + building_requirement_tribal = no + building_requirement_tribal_holding_in_county = yes + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = tribals_can_into_temples + } + } } cost_gold = main_building_tier_1_cost next_building = temple_02 @@ -327,10 +360,14 @@ temple_01 = { } county.holder = { add_prestige = massive_prestige_gain } } + #Holy Legend Seed drop if = { limit = { county.holder = { has_dlc_feature = legends } + county.holder = { + NOT = { has_game_rule = historical_legends_only } + } } random = { chance = { @@ -698,8 +735,23 @@ temple_02 = { building_requirement_civilized = yes # Warcraft } can_construct = { - culture = { - has_innovation = innovation_manorialism + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = temple_next_level + } + } + } + scope:holder.culture = { + has_innovation = innovation_manorialism + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = temple_next_level + has_innovation = innovation_city_planning + } } } cost_gold = main_building_tier_2_cost @@ -810,11 +862,11 @@ temple_02 = { scope:holder.capital_province = this } modifier = { - factor = 0.2 + factor = 0.1 free_building_slots >= 1 } modifier = { - factor = 0.2 + factor = 0.1 combined_building_level <= 10 years_from_game_start >= 1 } @@ -1047,8 +1099,23 @@ temple_03 = { building_requirement_civilized = yes # Warcraft } can_construct = { - culture = { - has_innovation = innovation_windmills + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = temple_next_level + } + } + } + scope:holder.culture = { + has_innovation = innovation_windmills + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = temple_next_level + has_innovation = innovation_manorialism + } } } cost_gold = main_building_tier_3_cost @@ -1386,8 +1453,23 @@ temple_04 = { building_requirement_civilized = yes # Warcraft } can_construct = { - culture = { - has_innovation = innovation_cranes + trigger_if = { + limit = { + NOT = { + scope:holder.culture = { + has_cultural_parameter = temple_next_level + } + } + } + scope:holder.culture = { + has_innovation = innovation_cranes + } + } + trigger_else = { + scope:holder.culture = { + has_cultural_parameter = temple_next_level + has_innovation = innovation_windmills + } } } cost_gold = main_building_tier_4_cost @@ -1884,15 +1966,25 @@ monastic_schools_01 = { cost_gold = normal_building_tier_1_cost character_modifier = { - monthly_piety = 0.1 + monthly_piety = 0.1 } county_modifier = { - monthly_county_control_growth_add = 0.1 + monthly_county_control_growth_add = 0.1 } province_modifier = { monthly_income = poor_building_tax_tier_1 epidemic_resistance = 4 } + + character_culture_modifier = { + parameter = monastic_monastery_learning_bonus + monthly_learning_lifestyle_xp_gain_mult = 0.1 + } + + character_culture_modifier = { + parameter = monastery_prowess_martial_bonus + prowess = 1 + } next_building = monastic_schools_02 @@ -1901,6 +1993,7 @@ monastic_schools_01 = { ai_value = { base = 10 ai_tier_1_building_modifier = yes + directive_to_build_economy_modifier = yes modifier = { add = 500 scope:holder = { @@ -1924,7 +2017,10 @@ monastic_schools_02 = { can_construct_potential = { has_building_or_higher = temple_01 culture = { - has_innovation = innovation_city_planning + OR = { + has_innovation = innovation_city_planning + has_cultural_parameter = next_level_monasteries + } } } @@ -1944,12 +2040,25 @@ monastic_schools_02 = { monthly_income = poor_building_tax_tier_2 epidemic_resistance = 6 } + + character_culture_modifier = { + parameter = monastic_monastery_learning_bonus + monthly_learning_lifestyle_xp_gain_mult = 0.1 + learning = 1 + } + + character_culture_modifier = { + parameter = monastery_prowess_martial_bonus + prowess = 1 + martial = 1 + } next_building = monastic_schools_03 ai_value = { base = 9 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes + directive_to_build_economy_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -1961,9 +2070,27 @@ monastic_schools_03 = { construction_time = standard_construction_time can_construct = { - has_building_or_higher = temple_02 - culture = { - has_innovation = innovation_manorialism + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_monasteries + } + } + } + culture = { + has_innovation = innovation_manorialism + } + has_building_or_higher = temple_02 + } + trigger_else = { + culture = { + has_innovation = innovation_city_planning + } + culture = { + has_cultural_parameter = next_level_monasteries + } + has_building_or_higher = temple_01 } } @@ -1977,18 +2104,31 @@ monastic_schools_03 = { monthly_piety = 0.3 } county_modifier = { - monthly_county_control_growth_add = 0.3 + monthly_county_control_growth_add = 0.3 } province_modifier = { monthly_income = poor_building_tax_tier_3 epidemic_resistance = 8 } + + character_culture_modifier = { + parameter = monastic_monastery_learning_bonus + monthly_learning_lifestyle_xp_gain_mult = 0.2 + learning = 1 + } + + character_culture_modifier = { + parameter = monastery_prowess_martial_bonus + prowess = 2 + martial = 1 + } next_building = monastic_schools_04 ai_value = { base = 8 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes + directive_to_build_economy_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -2000,9 +2140,27 @@ monastic_schools_04 = { construction_time = standard_construction_time can_construct = { - has_building_or_higher = temple_02 - culture = { - has_innovation = innovation_manorialism + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_monasteries + } + } + } + culture = { + has_innovation = innovation_manorialism + } + has_building_or_higher = temple_02 + } + trigger_else = { + culture = { + has_innovation = innovation_city_planning + } + culture = { + has_cultural_parameter = next_level_monasteries + } + has_building_or_higher = temple_01 } } @@ -2016,18 +2174,31 @@ monastic_schools_04 = { monthly_piety = 0.4 } county_modifier = { - monthly_county_control_growth_add = 0.4 + monthly_county_control_growth_add = 0.4 } province_modifier = { monthly_income = poor_building_tax_tier_4 epidemic_resistance = 10 } + + character_culture_modifier = { + parameter = monastic_monastery_learning_bonus + monthly_learning_lifestyle_xp_gain_mult = 0.2 + learning = 2 + } + + character_culture_modifier = { + parameter = monastery_prowess_martial_bonus + prowess = 2 + martial = 2 + } next_building = monastic_schools_05 ai_value = { base = 7 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes + directive_to_build_economy_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -2039,9 +2210,27 @@ monastic_schools_05 = { construction_time = standard_construction_time can_construct = { - has_building_or_higher = temple_03 - culture = { - has_innovation = innovation_windmills + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_monasteries + } + } + } + culture = { + has_innovation = innovation_windmills + } + has_building_or_higher = temple_03 + } + trigger_else = { + culture = { + has_innovation = innovation_city_planning + } + culture = { + has_cultural_parameter = next_level_monasteries + } + has_building_or_higher = temple_02 } } @@ -2055,18 +2244,31 @@ monastic_schools_05 = { monthly_piety = 0.5 } county_modifier = { - monthly_county_control_growth_add = 0.5 + monthly_county_control_growth_add = 0.5 } province_modifier = { monthly_income = poor_building_tax_tier_5 epidemic_resistance = 12 } + + character_culture_modifier = { + parameter = monastic_monastery_learning_bonus + monthly_learning_lifestyle_xp_gain_mult = 0.3 + learning = 2 + } + + character_culture_modifier = { + parameter = monastery_prowess_martial_bonus + prowess = 3 + martial = 2 + } next_building = monastic_schools_06 ai_value = { base = 6 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes + directive_to_build_economy_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -2078,9 +2280,27 @@ monastic_schools_06 = { construction_time = standard_construction_time can_construct = { - has_building_or_higher = temple_03 - culture = { - has_innovation = innovation_windmills + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_monasteries + } + } + } + culture = { + has_innovation = innovation_windmills + } + has_building_or_higher = temple_03 + } + trigger_else = { + culture = { + has_innovation = innovation_manorialism + } + culture = { + has_cultural_parameter = next_level_monasteries + } + has_building_or_higher = temple_02 } } @@ -2094,18 +2314,31 @@ monastic_schools_06 = { monthly_piety = 0.6 } county_modifier = { - monthly_county_control_growth_add = 0.6 + monthly_county_control_growth_add = 0.6 } province_modifier = { monthly_income = poor_building_tax_tier_6 epidemic_resistance = 14 } + + character_culture_modifier = { + parameter = monastic_monastery_learning_bonus + monthly_learning_lifestyle_xp_gain_mult = 0.3 + learning = 3 + } + + character_culture_modifier = { + parameter = monastery_prowess_martial_bonus + prowess = 3 + martial = 3 + } next_building = monastic_schools_07 ai_value = { base = 5 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes + directive_to_build_economy_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -2117,9 +2350,27 @@ monastic_schools_07 = { construction_time = standard_construction_time can_construct = { - has_building_or_higher = temple_04 - culture = { - has_innovation = innovation_cranes + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_monasteries + } + } + } + culture = { + has_innovation = innovation_cranes + } + has_building_or_higher = temple_04 + } + trigger_else = { + culture = { + has_innovation = innovation_windmills + } + culture = { + has_cultural_parameter = next_level_monasteries + } + has_building_or_higher = temple_03 } } @@ -2133,18 +2384,31 @@ monastic_schools_07 = { monthly_piety = 0.7 } county_modifier = { - monthly_county_control_growth_add = 0.7 + monthly_county_control_growth_add = 0.7 } province_modifier = { monthly_income = poor_building_tax_tier_7 epidemic_resistance = 16 } + + character_culture_modifier = { + parameter = monastic_monastery_learning_bonus + monthly_learning_lifestyle_xp_gain_mult = 0.4 + learning = 3 + } + + character_culture_modifier = { + parameter = monastery_prowess_martial_bonus + prowess = 4 + martial = 3 + } next_building = monastic_schools_08 ai_value = { base = 4 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes + directive_to_build_economy_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -2156,9 +2420,27 @@ monastic_schools_08 = { construction_time = standard_construction_time can_construct = { - has_building_or_higher = temple_04 - culture = { - has_innovation = innovation_cranes + trigger_if = { + limit = { + NOT = { + culture = { + has_cultural_parameter = next_level_monasteries + } + } + } + culture = { + has_innovation = innovation_cranes + } + has_building_or_higher = temple_04 + } + trigger_else = { + culture = { + has_innovation = innovation_windmills + } + culture = { + has_cultural_parameter = next_level_monasteries + } + has_building_or_higher = temple_03 } } @@ -2172,17 +2454,30 @@ monastic_schools_08 = { monthly_piety = 0.8 } county_modifier = { - monthly_county_control_growth_add = 0.8 + monthly_county_control_growth_add = 0.8 } province_modifier = { monthly_income = poor_building_tax_tier_8 epidemic_resistance = 18 } + + character_culture_modifier = { + parameter = monastic_monastery_learning_bonus + monthly_learning_lifestyle_xp_gain_mult = 0.4 + learning = 4 + } + + character_culture_modifier = { + parameter = monastery_prowess_martial_bonus + prowess = 4 + martial = 4 + } ai_value = { base = 3 ai_general_building_modifier = yes ai_economical_building_preference_modifier = yes + directive_to_build_economy_modifier = yes modifier = { # Fill all building slots before going for upgrades factor = 0 free_building_slots > 0 @@ -2234,6 +2529,7 @@ megalith_01 = { ai_value = { base = 10 ai_tier_1_building_modifier = yes + directive_to_build_economy_modifier = yes modifier = { add = 500 scope:holder = { @@ -2287,6 +2583,7 @@ megalith_02 = { next_building = megalith_03 ai_value = { base = 9 + directive_to_build_economy_modifier = yes } } @@ -2328,7 +2625,8 @@ megalith_03 = { next_building = megalith_04 ai_value = { - base = 9 + base = 8 + directive_to_build_economy_modifier = yes } } @@ -2371,7 +2669,8 @@ megalith_04 = { next_building = megalith_05 ai_value = { - base = 9 + base = 7 + directive_to_build_economy_modifier = yes } } @@ -2415,7 +2714,8 @@ megalith_05 = { next_building = megalith_06 ai_value = { - base = 9 + base = 6 + directive_to_build_economy_modifier = yes } } @@ -2459,7 +2759,8 @@ megalith_06 = { next_building = megalith_07 ai_value = { - base = 9 + base = 5 + directive_to_build_economy_modifier = yes } } @@ -2503,7 +2804,8 @@ megalith_07 = { next_building = megalith_08 ai_value = { - base = 9 + base = 4 + directive_to_build_economy_modifier = yes } } @@ -2546,6 +2848,7 @@ megalith_08 = { } ai_value = { - base = 9 + base = 3 + directive_to_build_economy_modifier = yes } } diff --git a/common/buildings/00_tribal_buildings.txt b/common/buildings/00_tribal_buildings.txt index 2a828636d4..80999da895 100644 --- a/common/buildings/00_tribal_buildings.txt +++ b/common/buildings/00_tribal_buildings.txt @@ -92,6 +92,12 @@ tribe_01 = { is_coastal = yes defender_holding_advantage = 2 } + + province_culture_modifier = { + parameter = tribal_holding_stationed_bonus + stationed_maa_damage_mult = normal_maa_damage_tier_1 + stationed_maa_toughness_mult = normal_maa_toughness_tier_1 + } next_building = tribe_02 @@ -196,6 +202,12 @@ tribe_02 = { is_coastal = yes defender_holding_advantage = 3 } + + province_culture_modifier = { + parameter = tribal_holding_stationed_bonus + stationed_maa_damage_mult = normal_maa_damage_tier_2 + stationed_maa_toughness_mult = normal_maa_toughness_tier_2 + } ai_value = { base = 1 @@ -232,6 +244,7 @@ longhouses_01 = { ai_value = { base = 1 ai_tier_1_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -265,6 +278,7 @@ longhouses_02 = { ai_value = { base = 1 + directive_to_build_military_modifier = yes } } @@ -311,6 +325,7 @@ war_camps_01 = { ai_value = { base = 1 ai_tier_1_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -353,8 +368,14 @@ war_camps_02 = { stationed_massive_infantry_toughness_mult = normal_maa_toughness_tier_2 } + character_culture_modifier = { + parameter = strength_in_numbers_maa_limit_bonus + men_at_arms_limit = 1 + } + ai_value = { base = 1 + directive_to_build_military_modifier = yes } } @@ -398,6 +419,7 @@ palisades_01 = { ai_value = { base = 1 ai_tier_1_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -439,6 +461,7 @@ palisades_02 = { ai_value = { base = 1 + directive_to_build_military_modifier = yes } } @@ -469,6 +492,7 @@ market_villages_01 = { ai_value = { base = 1 ai_tier_1_building_modifier = yes + directive_to_build_economy_modifier = yes } } @@ -497,5 +521,6 @@ market_villages_02 = { ai_value = { base = 1 + directive_to_build_economy_modifier = yes } } diff --git a/common/buildings/wc_common_buildings.txt b/common/buildings/wc_common_buildings.txt index f1132d7f32..a92dd58854 100644 --- a/common/buildings/wc_common_buildings.txt +++ b/common/buildings/wc_common_buildings.txt @@ -37,6 +37,7 @@ aviary_complex_01 = { ai_value = { base = 10 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { factor = 0 building_barracks_requirement_terrain = yes @@ -87,6 +88,7 @@ aviary_complex_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -133,6 +135,7 @@ aviary_complex_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -183,6 +186,7 @@ aviary_complex_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -233,6 +237,7 @@ aviary_complex_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -286,6 +291,7 @@ aviary_complex_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -339,6 +345,7 @@ aviary_complex_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -390,6 +397,7 @@ aviary_complex_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -423,6 +431,7 @@ caster_college_01 = { ai_value = { base = 10 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes modifier = { factor = 0 building_barracks_requirement_terrain = yes @@ -470,6 +479,7 @@ caster_college_02 = { ai_value = { base = 9 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -514,6 +524,7 @@ caster_college_03 = { ai_value = { base = 8 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -559,6 +570,7 @@ caster_college_04 = { ai_value = { base = 7 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -604,6 +616,7 @@ caster_college_05 = { ai_value = { base = 6 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -650,6 +663,7 @@ caster_college_06 = { ai_value = { base = 5 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -698,6 +712,7 @@ caster_college_07 = { ai_value = { base = 4 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } @@ -744,6 +759,7 @@ caster_college_08 = { ai_value = { base = 3 ai_general_building_modifier = yes + directive_to_build_military_modifier = yes } } diff --git a/common/buildings/wc_vine_quilboar_buildings.txt b/common/buildings/wc_vine_quilboar_buildings.txt index dde0907973..3a35ee3e6a 100644 --- a/common/buildings/wc_vine_quilboar_buildings.txt +++ b/common/buildings/wc_vine_quilboar_buildings.txt @@ -26,6 +26,9 @@ quilboar_thorns_01 = { } next_building = quilboar_thorns_02 + + type = special + flag = travel_point_of_interest_religious } quilboar_thorns_02 = { @@ -54,6 +57,9 @@ quilboar_thorns_02 = { } next_building = quilboar_thorns_03 cost_piety = normal_building_tier_2_cost + + type = special + flag = travel_point_of_interest_religious } quilboar_thorns_03 = { @@ -82,6 +88,9 @@ quilboar_thorns_03 = { } next_building = quilboar_thorns_04 cost_piety = normal_building_tier_3_cost + + type = special + flag = travel_point_of_interest_religious } #Stronghold @@ -112,6 +121,9 @@ quilboar_thorns_04 = { } next_building = quilboar_thorns_05 cost_piety = normal_building_tier_4_cost + + type = special + flag = travel_point_of_interest_religious } quilboar_thorns_05 = { @@ -141,6 +153,9 @@ quilboar_thorns_05 = { } next_building = quilboar_thorns_06 cost_piety = normal_building_tier_5_cost + + type = special + flag = travel_point_of_interest_religious } quilboar_thorns_06 = { @@ -170,6 +185,9 @@ quilboar_thorns_06 = { } next_building = quilboar_thorns_07 cost_piety = normal_building_tier_5_cost + + type = special + flag = travel_point_of_interest_religious } #Labrinyth @@ -200,6 +218,9 @@ quilboar_thorns_07 = { } next_building = quilboar_thorns_08 cost_piety = 850 + + type = special + flag = travel_point_of_interest_religious } quilboar_thorns_08 = { @@ -228,4 +249,7 @@ quilboar_thorns_08 = { travel_danger = -15 } cost_piety = 850 + + type = special + flag = travel_point_of_interest_religious } \ No newline at end of file diff --git a/common/casus_belli_types/00_civil_war.txt b/common/casus_belli_types/00_civil_war.txt index 00f05d8885..9fa031c12e 100644 --- a/common/casus_belli_types/00_civil_war.txt +++ b/common/casus_belli_types/00_civil_war.txt @@ -9,6 +9,9 @@ independence_faction_war = { allowed_for_character = { scope:attacker = { is_leading_faction_type = independence_faction + NOT = { + government_has_flag = government_is_landless_adventurer + } } } @@ -286,9 +289,9 @@ independence_faction_war = { scope:attacker = { show_pow_release_message_effect = yes stress_impact = { - ambitious = medium_stress_impact_gain - arrogant = medium_stress_impact_gain - } + ambitious = medium_stress_impact_gain + arrogant = medium_stress_impact_gain + } } hidden_effect = { scope:attacker = { @@ -303,8 +306,8 @@ independence_faction_war = { scope:defender = { stress_impact = { - arrogant = medium_stress_impact_gain - } + arrogant = medium_stress_impact_gain + } add_character_flag = { flag = recent_independence_faction_war @@ -391,7 +394,7 @@ independence_faction_war = { max_attacker_score_from_battles = 100 max_defender_score_from_battles = 50 - + max_defender_score_from_occupation = 150 max_attacker_score_from_occupation = 150 @@ -417,6 +420,7 @@ liberty_faction_war = { } target_de_jure_regions_above = yes + target_top_liege_if_outside_realm = no # In case of adventurers starting faction wars valid_to_start = { } @@ -427,13 +431,43 @@ liberty_faction_war = { on_victory_desc = { first_valid = { triggered_desc = { - trigger = { scope:defender = { is_local_player = yes } } + trigger = { + scope:defender = { + is_local_player = yes + government_has_flag = government_is_administrative + } + } + desc = liberty_war_victory_defender_desc_admin + } + triggered_desc = { + trigger = { + scope:defender = { government_has_flag = government_is_administrative } + } + desc = liberty_war_victory_desc_admin + } + triggered_desc = { + trigger = { + scope:defender = { + is_local_player = yes + government_has_flag = government_is_tribal + } + } + desc = liberty_war_victory_defender_desc_tribal + } + triggered_desc = { + trigger = { + scope:defender = { government_has_flag = government_is_tribal } + } + desc = liberty_war_victory_desc_tribal + } + triggered_desc = { + trigger = { + scope:defender = { is_local_player = yes } + } desc = liberty_war_victory_defender_desc } desc = liberty_war_victory_desc } - desc = liberty_war_victory_end_desc - } on_victory = { @@ -540,9 +574,9 @@ liberty_faction_war = { scope:attacker = { show_pow_release_message_effect = yes stress_impact = { - ambitious = medium_stress_impact_gain - arrogant = medium_stress_impact_gain - } + ambitious = medium_stress_impact_gain + arrogant = medium_stress_impact_gain + } } hidden_effect = { scope:attacker = { @@ -556,8 +590,8 @@ liberty_faction_war = { } scope:defender = { stress_impact = { - arrogant = medium_stress_impact_gain - } + arrogant = medium_stress_impact_gain + } add_character_flag = { flag = recent_liberty_faction_war years = faction_war_white_peace_cooldown @@ -624,7 +658,7 @@ liberty_faction_war = { max_attacker_score_from_battles = 100 max_defender_score_from_battles = 50 - + max_defender_score_from_occupation = 150 max_attacker_score_from_occupation = 150 @@ -682,7 +716,7 @@ populist_war = { on_victory_desc = { desc = populist_war_victory_desc - + } on_victory = { @@ -753,16 +787,16 @@ populist_war = { on_white_peace_desc = { desc = populist_war_white_peace_desc - + } on_white_peace = { scope:attacker = { show_pow_release_message_effect = yes stress_impact = { - ambitious = medium_stress_impact_gain - arrogant = medium_stress_impact_gain - } + ambitious = medium_stress_impact_gain + arrogant = medium_stress_impact_gain + } } on_white_peace_faction_revolt_war = yes hidden_effect = { @@ -802,7 +836,7 @@ populist_war = { on_defeat_desc = { desc = populist_war_defeat_desc - + } on_defeat = { @@ -878,7 +912,7 @@ populist_war = { max_attacker_score_from_battles = 100 max_defender_score_from_battles = 50 - + max_defender_score_from_occupation = 150 max_attacker_score_from_occupation = 150 @@ -892,6 +926,7 @@ claimant_faction_war = { ai_only_against_liege = no target_titles = claim allow_hostages = no + target_top_liege_if_outside_realm = no allowed_for_character = { scope:attacker = { is_leading_faction_type = claimant_faction @@ -974,15 +1009,15 @@ claimant_faction_war = { scope:attacker = { show_pow_release_message_effect = yes stress_impact = { - ambitious = medium_stress_impact_gain - arrogant = medium_stress_impact_gain - } + ambitious = medium_stress_impact_gain + arrogant = medium_stress_impact_gain + } } scope:defender = { stress_impact = { - arrogant = medium_stress_impact_gain - } + arrogant = medium_stress_impact_gain + } } on_white_peace_faction_revolt_war = yes @@ -1042,7 +1077,7 @@ claimant_faction_war = { max_attacker_score_from_battles = 50 max_defender_score_from_battles = 100 - + max_defender_score_from_occupation = 150 max_attacker_score_from_occupation = 150 @@ -1127,6 +1162,11 @@ depose_war = { scope:attacker = { accolade_attacker_war_end_glory_gain_med_effect = yes } scope:defender = { + set_variable = { + name = deposed_primary_title + value = primary_title + months = 1 + } # If we win the rebellion, our liege loses any legal right to imprison us/banish us/revoke our titles. consume_all_criminal_reasons_effect = { LIEGE = scope:defender @@ -1139,16 +1179,16 @@ depose_war = { # Then our liege is deposed (but the imprisonment loss remains true for their heir). if = { limit = { NOT = { exists = scope:attacker.var:initial_target } } - depose = yes + depose_effect = { DEPOSER = scope:attacker } } else = { if = { limit = { this = scope:attacker.var:initial_target } - depose = yes + depose_effect = { DEPOSER = scope:attacker } } else_if = { limit = { primary_title.tier <= scope:attacker.var:target_tier} - depose = yes + depose_effect = { DEPOSER = scope:attacker } } # remove variables @@ -1178,14 +1218,14 @@ depose_war = { scope:attacker = { show_pow_release_message_effect = yes stress_impact = { - ambitious = medium_stress_impact_gain - arrogant = medium_stress_impact_gain - } + ambitious = medium_stress_impact_gain + arrogant = medium_stress_impact_gain + } } scope:defender = { stress_impact = { - arrogant = medium_stress_impact_gain - } + arrogant = medium_stress_impact_gain + } } on_white_peace_faction_revolt_war = yes } @@ -1236,7 +1276,7 @@ depose_war = { defender_score_from_occupation_scale = 50 max_attacker_score_from_battles = 100 max_defender_score_from_battles = 100 - + max_defender_score_from_occupation = 150 max_attacker_score_from_occupation = 150 @@ -1344,16 +1384,16 @@ refused_liege_demand_war = { # Then our liege is deposed (but the imprisonment loss remains true for their heir). if = { limit = { NOT = { exists = scope:attacker.var:initial_target } } - depose = yes + depose_effect = { DEPOSER = scope:attacker } } else = { if = { limit = { this = scope:attacker.var:initial_target } - depose = yes + depose_effect = { DEPOSER = scope:attacker } } else_if = { limit = { primary_title.tier <= scope:attacker.var:target_tier } - depose = yes + depose_effect = { DEPOSER = scope:attacker } } # remove variables @@ -1395,15 +1435,15 @@ refused_liege_demand_war = { scope:attacker = { show_pow_release_message_effect = yes stress_impact = { - ambitious = medium_stress_impact_gain - arrogant = medium_stress_impact_gain - } + ambitious = medium_stress_impact_gain + arrogant = medium_stress_impact_gain + } } scope:defender = { stress_impact = { - arrogant = medium_stress_impact_gain - } + arrogant = medium_stress_impact_gain + } } hidden_effect = { scope:attacker = { @@ -1459,7 +1499,7 @@ refused_liege_demand_war = { } } } - + on_lost_request_revolt_war = yes } @@ -1485,7 +1525,7 @@ refused_liege_demand_war = { max_attacker_score_from_battles = 100 max_defender_score_from_battles = 50 - + max_defender_score_from_occupation = 150 max_attacker_score_from_occupation = 150 @@ -1497,7 +1537,14 @@ independence_war = { group = independence ai = no # AI targeting is handled through game_rule events. + target_top_liege_if_outside_realm = no # In case of Adventurers starting this war + allow_hostages = no + allowed_for_character = { + scope:attacker = { + NOT = { government_allows = administrative } + } + } allowed_against_character = { scope:attacker = { liege = scope:defender @@ -1644,9 +1691,9 @@ independence_war = { scope:attacker = { show_pow_release_message_effect = yes stress_impact = { - ambitious = medium_stress_impact_gain - arrogant = medium_stress_impact_gain - } + ambitious = medium_stress_impact_gain + arrogant = medium_stress_impact_gain + } } hidden_effect = { scope:attacker = { @@ -1662,8 +1709,8 @@ independence_war = { scope:defender = { add_prestige = minor_prestige_value stress_impact = { - arrogant = medium_stress_impact_gain - } + arrogant = medium_stress_impact_gain + } } } @@ -1733,7 +1780,7 @@ independence_war = { max_attacker_score_from_battles = 100 max_defender_score_from_battles = 50 - + max_defender_score_from_occupation = 150 max_attacker_score_from_occupation = 150 @@ -1745,6 +1792,9 @@ nation_fracturing_faction_war = { icon = dissolution_war group = civil_war allow_hostages = no + + target_top_liege_if_outside_realm = no # In case of Adventurers starting this war + allowed_for_character = { scope:attacker = { is_ai = no @@ -1794,7 +1844,7 @@ nation_fracturing_faction_war = { #EP2 Accolade glory gain from winning against higher ranked enemy scope:attacker = { accolade_attacker_war_end_glory_gain_med_effect = yes } - + create_title_and_vassal_change = { type = independency save_scope_as = change @@ -1862,7 +1912,7 @@ nation_fracturing_faction_war = { every_vassal = { limit = { is_ai = no } send_interface_toast = { - type = event_generic_neutral + type = msg_gained_independence title = liege_primary_title_dissolution desc = liege_primary_title_dissolution_desc left_icon = scope:defender @@ -1914,9 +1964,9 @@ nation_fracturing_faction_war = { scope:attacker = { show_pow_release_message_effect = yes stress_impact = { - ambitious = medium_stress_impact_gain - arrogant = medium_stress_impact_gain - } + ambitious = medium_stress_impact_gain + arrogant = medium_stress_impact_gain + } } hidden_effect = { scope:attacker = { @@ -1931,8 +1981,8 @@ nation_fracturing_faction_war = { scope:defender = { stress_impact = { - arrogant = medium_stress_impact_gain - } + arrogant = medium_stress_impact_gain + } add_character_flag = { flag = recent_nation_fracturing_faction_war @@ -2004,7 +2054,7 @@ nation_fracturing_faction_war = { max_attacker_score_from_battles = 100 max_defender_score_from_battles = 50 - + max_defender_score_from_occupation = 150 max_attacker_score_from_occupation = 150 diff --git a/common/casus_belli_types/00_claim.txt b/common/casus_belli_types/00_claim.txt index 85874da168..87e59fa298 100644 --- a/common/casus_belli_types/00_claim.txt +++ b/common/casus_belli_types/00_claim.txt @@ -9,8 +9,21 @@ scope:attacker = scope:claimant } scope:attacker = { - culture = { - has_innovation = innovation_chronicle_writing + OR = { + culture = { + has_innovation = innovation_chronicle_writing + } + AND = { + government_has_flag = government_is_landless_adventurer + has_realm_law = camp_purpose_legitimists + has_variable = legitimist_claimed_title + var:legitimist_claimed_title = { + OR = { + holder = scope:defender + de_jure_liege = scope:defender + } + } + } } } } @@ -37,6 +50,15 @@ # scope:attacker is the attacker # scope:defender is the defender is_allowed_claim_title = { + trigger_if = { + limit = { + scope:attacker = { + is_ai = yes + ai_has_conqueror_personality = yes + } + } + tier >= tier_duchy + } custom_description = { text = "claimant_titles_held_by_you_or_vassal" NOR = { @@ -133,11 +155,11 @@ custom_description = { text = "byzantine_claimant_is_disfigured" object = scope:claimant + is_eunuch_trigger = no NOR = { has_trait = incapable has_trait = blind has_trait = disfigured - has_trait = eunuch has_trait = maimed has_trait = one_eyed has_trait = one_legged @@ -156,9 +178,9 @@ scope:claimant = { custom_description = { text = "byzantine_claimant_is_celibate" - object = scope:claimant + object = scope:defender + is_eunuch_trigger = no NOR = { - has_trait = eunuch has_trait = celibate } } @@ -166,6 +188,20 @@ } } + allowed_for_character_display_regardless = { + #If you're landless, you need the Legitimist camp purpose + trigger_if = { + limit = { + scope:attacker = { + government_has_flag = government_is_landless_adventurer + } + } + scope:attacker = { + has_realm_law = camp_purpose_legitimists + } + } + } + cost = { piety = { value = 0 @@ -332,19 +368,81 @@ } on_victory = { + scope:attacker = { + if = { + limit = { + is_ai = no + has_realm_law = camp_purpose_legitimists + any_in_list = { + list = target_titles + tier >= tier_kingdom + } + } + add_achievement_global_variable_effect = { + VARIABLE = finished_birthright_achievement + VALUE = yes + } + } + if = { + limit = { + is_landless_adventurer = yes + } + hidden_effect = { + if = { + limit = { + NOT = { has_trait = adventurer } + } + add_trait = adventurer + } + save_scope_as = the_adventurer + every_courtier = { + set_variable = { + name = former_camp_leader + value = scope:the_adventurer + } + add_trait = adventurer_follower + } + } + } + } + scope:attacker = { show_pow_release_message_effect = yes } # Legitimacy add_legitimacy_attacker_victory_effect = yes + # Influence + add_influence_attacker_victory_effect = yes + #EP2 Accolade glory gain from winning against higher ranked enemy scope:attacker = { accolade_attacker_war_end_glory_gain_med_effect = yes } + scope:defender ?= { + if = { + limit = { + is_independent_ruler = yes + government_allows = administrative + primary_title = { is_in_list = target_titles } + } + every_held_title = { + limit = { + is_noble_family_title = no + tier >= tier_county + } + add_to_list = target_titles + } + } + } + create_title_and_vassal_change = { type = conquest_claim save_scope_as = change add_claim_on_loss = yes } + + # EP3 Laamp possibility warning + scope:defender = { ep3_war_loss_adventurer_tt_effect = yes } + # Create a claim CB which is executed to handle title/vassal changes, in addition to being used to calculate Prestige awards for war participants. setup_claim_cb = { titles = target_titles @@ -527,6 +625,9 @@ # Legitimacy add_legitimacy_attacker_defeat_effect = yes + # Influence + add_influence_attacker_defeat_effect = yes + #EP2 accolade glory gain for winning against higher ranked enemy scope:defender = { accolade_defender_war_end_glory_gain_med_effect = yes } @@ -613,4 +714,35 @@ max_attacker_score_from_occupation = 150 max_ai_diplo_distance_to_title = 1000 + + ai_score_mult = { + #There is no fighting in the admin room! + if = { + limit = { + scope:attacker = { + government_has_flag = government_is_feudal + liege ?= { + government_has_flag = government_is_administrative + } + } + scope:defender = { + government_has_flag = government_is_administrative + liege ?= scope:attacker.liege + } + } + multiply = 0.4 + } + #Declaring war on the frankokratia leader can really ruin the whole thing + if = { + limit = { + scope:defender = { + any_owned_story = { + story_type = frankokratia_story + NOT = { has_variable = franko_war_complete } + } + } + } + multiply = 0 + } + } } diff --git a/common/casus_belli_types/00_conquest.txt b/common/casus_belli_types/00_conquest.txt index 22ddc12752..3e12de3843 100644 --- a/common/casus_belli_types/00_conquest.txt +++ b/common/casus_belli_types/00_conquest.txt @@ -8,6 +8,9 @@ allowed_for_character = { can_use_conquest_cbs_trigger = yes + NOT = { + government_has_flag = government_is_landless_adventurer + } } allowed_against_character = { @@ -142,6 +145,9 @@ # Legitimacy add_legitimacy_attacker_victory_effect = yes + # Influence + add_influence_attacker_victory_effect = yes + #EP2 accolade glory gain for winning against higher ranked enemy scope:attacker = { accolade_attacker_war_end_glory_gain_low_effect = yes } @@ -151,6 +157,9 @@ add_claim_on_loss = yes } + # EP3 Laamp possibility warning + scope:defender = { ep3_war_loss_adventurer_tt_effect = yes } + #As this is just a county conquest, simply grab the designated county. every_in_list = { list = target_titles @@ -253,6 +262,9 @@ # Legitimacy add_legitimacy_attacker_defeat_effect = yes + # Influence + add_influence_attacker_defeat_effect = yes + #EP2 accolade glory gain for winning against higher ranked enemy scope:defender = { accolade_defender_war_end_glory_gain_low_effect = yes } @@ -261,10 +273,7 @@ pay_short_term_gold_reparations_effect = { GOLD_VALUE = 2 } - add_prestige = { - value = medium_prestige_value - multiply = -1.0 - } + add_prestige = medium_prestige_loss } # Prestige for Defender @@ -327,6 +336,9 @@ duchy_conquest_cb = { allowed_for_character = { can_use_conquest_cbs_trigger = yes + NOT = { + government_has_flag = government_is_landless_adventurer + } } allowed_for_character_display_regardless = { @@ -410,6 +422,26 @@ duchy_conquest_cb = { neighboring_county_or_viking_conquest_trigger = { CHARACTER = root } } } + scope:target = { + trigger_if = { + limit = { + scope:attacker = { + is_ai = yes + } + } + any_in_de_jure_hierarchy = { + continue = { tier > tier_county } + count >= 2 + tier = tier_county + holder ?= { + OR = { + this = scope:defender + is_vassal_or_below_of = scope:defender + } + } + } + } + } } should_invalidate = { @@ -540,6 +572,9 @@ duchy_conquest_cb = { add_claim_on_loss = yes } + # EP3 Laamp possibility warning + scope:defender = { ep3_war_loss_adventurer_tt_effect = yes } + # go through the dejure hierarchy under target titles, transfer eligible vassals and sieze counties from ineligible ones every_in_list = { list = target_titles @@ -778,6 +813,9 @@ ducal_conquest_cb = { allowed_for_character = { has_perk = ducal_conquest_perk can_use_conquest_cbs_trigger = no + NOT = { + government_has_flag = government_is_landless_adventurer + } } allowed_against_character = { @@ -896,6 +934,9 @@ ducal_conquest_cb = { add_claim_on_loss = yes } + # EP3 Laamp possibility warning + scope:defender = { ep3_war_loss_adventurer_tt_effect = yes } + # go through the dejure hierarchy under target titles, transfer titles with same or worse tolerance holders (their religion equaly or less tolerated than the defender's), # take the holder as vassal otherwise and don't go deeper every_in_list = { diff --git a/common/casus_belli_types/00_invasion_war.txt b/common/casus_belli_types/00_invasion_war.txt index f44bf715e1..db479c31ac 100644 --- a/common/casus_belli_types/00_invasion_war.txt +++ b/common/casus_belli_types/00_invasion_war.txt @@ -14,9 +14,18 @@ has_doctrine_parameter = invasion_cb_enabled } has_character_flag = bp2_inspired_culture_for_conquest + ai_should_get_extreme_conqueror_bonuses = yes + } + trigger_if = { + limit = { + NOT = { ai_should_get_extreme_conqueror_bonuses = yes } + } + NOT = { + has_character_flag = used_lifetime_invasion + } } NOT = { - has_character_flag = used_lifetime_invasion + government_has_flag = government_is_landless_adventurer } } @@ -24,6 +33,7 @@ trigger_if = { limit = { has_character_flag = bp2_inspired_culture_for_conquest + NOT = { ai_should_get_extreme_conqueror_bonuses = yes } } prestige_level >= 0 } @@ -36,6 +46,7 @@ culture = { has_cultural_parameter = cb_lower_prestige_level_requirement } + NOT = { ai_should_get_extreme_conqueror_bonuses = yes } } prestige_level >= 2 } @@ -52,12 +63,23 @@ has_cultural_parameter = cb_lower_prestige_level_requirement } } + NOT = { ai_should_get_extreme_conqueror_bonuses = yes } } prestige_level >= 3 } + trigger_else_if = { + limit = { + ai_should_get_extreme_conqueror_bonuses = yes + } + } trigger_else = { prestige_level >= 4 } + + custom_tooltip = { + text = struggle_involvement_cb_check_failure + struggle_blocks_invasion_conquest_cb_trigger = yes + } } allowed_against_character = { @@ -90,6 +112,26 @@ neighboring_county_or_viking_conquest_trigger = { CHARACTER = root } } } + scope:target = { + trigger_if = { + limit = { + scope:attacker = { + is_ai = yes + } + } + any_in_de_jure_hierarchy = { + continue = { tier > tier_county } + count >= 4 + tier = tier_county + holder ?= { + OR = { + this = scope:defender + is_vassal_or_below_of = scope:defender + } + } + } + } + } } should_invalidate = { @@ -157,6 +199,12 @@ on_victory = { scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_attacker_victory_effect = yes + + # Influence + add_influence_attacker_victory_effect = yes #EP2 accolade glory gain for winning against higher ranked enemy scope:attacker = { accolade_attacker_war_end_glory_gain_high_effect = yes } @@ -279,6 +327,12 @@ on_defeat = { scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_attacker_defeat_effect = yes + + # Influence + add_influence_attacker_defeat_effect = yes #EP2 accolade glory gain for winning against higher ranked enemy scope:defender = { accolade_defender_war_end_glory_gain_high_effect = yes } @@ -345,7 +399,7 @@ } clan_invasion_war = { - icon = invasion + icon = vassalization group = invasion combine_into_one = yes @@ -355,13 +409,10 @@ clan_invasion_war = { allow_hostages = no allowed_for_character = { government_has_flag = government_is_clan - NOR = { - faith = { has_doctrine_parameter = invasion_cb_enabled } - AND = { - exists = house - house = { - has_house_unity_parameter = unity_disable_invasions - } + NAND = { + exists = house + house = { + has_house_unity_parameter = unity_disable_invasions } } trigger_if = { @@ -373,13 +424,14 @@ clan_invasion_war = { } NOT = { has_character_flag = unity_invasion_cooldown } } - trigger_if = { + trigger_else_if = { limit = { exists = house house = { has_house_unity_parameter = unity_unlimited_invasions } } + always = yes } trigger_else = { NOR = { @@ -421,6 +473,11 @@ clan_invasion_war = { trigger_else = { prestige_level >= 4 } + + custom_tooltip = { + text = struggle_involvement_cb_check_failure + struggle_blocks_invasion_conquest_cb_trigger = yes + } } allowed_against_character = { @@ -448,6 +505,26 @@ clan_invasion_war = { scope:target = { tier = tier_kingdom } + scope:target = { + trigger_if = { + limit = { + scope:attacker = { + is_ai = yes + } + } + any_in_de_jure_hierarchy = { + continue = { tier > tier_county } + count >= 5 + tier = tier_county + holder ?= { + OR = { + this = scope:defender + is_vassal_or_below_of = scope:defender + } + } + } + } + } } should_invalidate = { @@ -517,7 +594,15 @@ clan_invasion_war = { desc = clan_invasion_war_victory_desc } triggered_desc = { - trigger = { scope:attacker = { is_local_player = yes } } + trigger = { + scope:attacker = { + is_local_player = yes + #Let's not display this warning if you have unlimited invasions + NOT = { + house ?= { has_house_unity_parameter = unity_unlimited_invasions } + } + } + } desc = invasion_war_warning_desc } } @@ -780,7 +865,7 @@ clan_invasion_war = { war_name = "INVASION_WAR_NAME" war_name_base = "INVASION_WAR_NAME_BASE" - cb_name = "INVASION_CB_NAME" + cb_name = "CLAN_INVASION_CB_NAME" interface_priority = 100 @@ -931,6 +1016,9 @@ mongol_invasion_war = { on_victory = { scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_attacker_victory_effect = yes #EP2 accolade glory gain for winning against higher ranked enemy scope:attacker = { accolade_attacker_war_end_glory_gain_high_effect = yes } @@ -1348,7 +1436,6 @@ mongol_realm_invasion_war = { desc = CB_MONGOL_INVASIONS_COST } } - } } diff --git a/common/casus_belli_types/00_peasant_war_new.txt b/common/casus_belli_types/00_peasant_war_new.txt deleted file mode 100644 index f60e517729..0000000000 --- a/common/casus_belli_types/00_peasant_war_new.txt +++ /dev/null @@ -1,220 +0,0 @@ -peasant_war = { - icon = peasant_war - group = civil_war - ai_only_against_liege = yes - target_titles = claim - allowed_for_character = { - scope:attacker = { - is_leading_faction_type = peasant_faction - } - } - - allowed_against_character = { - any_in_list = { - list = target_titles - OR = { - NOT = { exists = holder } - holder = scope:defender - } - } - } - - target_de_jure_regions_above = yes - target_top_liege_if_outside_realm = no - - valid_to_start = { - } - - should_invalidate = { - NOT = { - scope:attacker = { - has_variable = rebel_leader_peasants - exists = joined_faction - joined_faction = var:rebel_leader_peasants - } - } - } - - on_declaration = { - #on_declared_war = yes - - scope:defender = { - add_opinion = { - modifier = peasant_revolt_opinion - target = scope:attacker - } - - # Legitimacy loss because why would you have peasants revolting - if = { - limit = { is_valid_for_legitimacy_change = yes } - add_legitimacy = medium_legitimacy_loss - } - - # Struggle Stuffs - if = { - limit = { - any_character_struggle = { - phase_has_catalyst = catalyst_populist_uprise - involvement = involved - } - } - every_character_struggle = { - involvement = involved - activate_struggle_catalyst = { - catalyst = catalyst_populist_uprise - character = this - } - } - } - } - - # Generate troops - hidden_effect = { - generate_troops_from_revolt_county_modifiers_effect = yes - } - } - - on_victory_desc = { - desc = peasant_war_victory_desc - } - - on_victory = { - scope:attacker = { show_pow_release_message_effect = yes } - scope:attacker = { - joined_faction = { - peasant_faction_demands_enforced = {FACTION = this} - } - } - - scope:defender = { - # Legitimacy effect - faction_war_end_defeat_legitimacy_effect = yes - # Struggle Catalysts - hidden_effect = { - if = { - limit = { - is_important_or_vip_struggle_character = yes - any_character_struggle = { - involvement = involved - activate_struggle_catalyst_secondary_character_involvement_either_trigger = { - CATALYST = catalyst_accepted_demand_from_faction_requesting_culture_faith_conversion - CHAR = scope:attacker - } - } - } - every_character_struggle = { - involvement = involved - limit = { - activate_struggle_catalyst_secondary_character_involvement_either_trigger = { - CATALYST = catalyst_accepted_demand_from_faction_requesting_culture_faith_conversion - CHAR = scope:attacker - } - } - activate_struggle_catalyst = { - catalyst = catalyst_accepted_demand_from_faction_requesting_culture_faith_conversion - character = scope:defender - } - } - } - } - } - - } - - on_white_peace_desc = { - desc = peasant_war_white_peace_desc - } - - on_white_peace = { - scope:attacker = { - show_pow_release_message_effect = yes - stress_impact = { - ambitious = medium_stress_impact_gain - arrogant = medium_stress_impact_gain - } - } - scope:attacker = { - joined_faction = { - destroy_faction = yes - } - } - - scope:defender = { - stress_impact = { - arrogant = medium_stress_impact_gain - } - } - } - - on_defeat_desc = { - desc = peasant_war_defeat_desc - } - - on_defeat = { - scope:attacker = { show_pow_release_message_effect = yes } - scope:defender = { - add_character_flag = peasant_revolt_do_not_kill - remove_variable = rebel_leader_peasants - } - scope:attacker = { - joined_faction = { - every_faction_county_member = { - custom = peasant_faction_every_county - add_county_modifier = { - modifier = county_increased_opinion_modifier - years = 25 - } - } - destroy_faction = yes - } - } - scope:defender = { - if = { - limit = { - NOT = { #In case defender has changed - has_opinion_modifier = { - modifier = peasant_revolt_opinion - target = scope:attacker - } - } - } - add_opinion = { - modifier = peasant_revolt_opinion - target = scope:attacker - } - } - if = { - limit = { - scope:attacker = { is_imprisoned = no } - } - imprison = { - target = scope:attacker - type = dungeon - } - } - } - } - - on_invalidated_desc = msg_invalidate_war_title - - on_primary_attacker_death = invalidate - on_primary_defender_death = inherit - - transfer_behavior = transfer - - attacker_allies_inherit = no - defender_allies_inherit = yes - - war_name = "PEASANT_WAR_NAME" - - interface_priority = 80 - - use_de_jure_wargoal_only = yes - - attacker_wargoal_percentage = 0.8 - - max_attacker_score_from_battles = 100 - max_defender_score_from_battles = 50 - - max_ai_diplo_distance_to_title = 500 -} diff --git a/common/casus_belli_types/00_religious_war.txt b/common/casus_belli_types/00_religious_war.txt index f152193c02..4292d888a5 100644 --- a/common/casus_belli_types/00_religious_war.txt +++ b/common/casus_belli_types/00_religious_war.txt @@ -18,6 +18,9 @@ NOT = { has_doctrine_parameter = unreformed } NOT = { has_doctrine_parameter = holy_wars_forbidden } } + NOT = { + government_has_flag = government_is_landless_adventurer + } } allowed_for_character_display_regardless = { @@ -273,6 +276,9 @@ add_claim_on_loss = yes } + # EP3 Laamp possibility warning + scope:defender = { ep3_war_loss_adventurer_tt_effect = yes } + # go through the dejure hierarchy under target titles, transfer titles with same or worse tolerance holders (their religion equaly or less tolerated than the defender's), # take the holder as vassal otherwise and don't go deeper every_in_list = { @@ -602,6 +608,26 @@ religious_war = { scope:target = { tier = tier_duchy } + scope:target = { + trigger_if = { + limit = { + scope:attacker = { + is_ai = yes + } + } + any_in_de_jure_hierarchy = { + continue = { tier > tier_county } + count >= 2 + tier = tier_county + holder ?= { + OR = { + this = scope:defender + is_vassal_or_below_of = scope:defender + } + } + } + } + } # Filter for struggles #trigger_if = { # limit = { @@ -786,6 +812,9 @@ religious_war = { add_claim_on_loss = yes } + # EP3 Laamp possibility warning + scope:defender = { ep3_war_loss_adventurer_tt_effect = yes } + # go through the dejure hierarchy under target titles, transfer titles with same or worse tolerance holders (their religion equaly or less tolerated than the defender's), # take the holder as vassal otherwise and don't go deeper every_in_list = { @@ -1084,10 +1113,10 @@ major_religious_war = { } } } - piety_level >= 2 + piety_level >= 1 } trigger_else = { - piety_level >= 3 + piety_level >= 2 } } trigger_else = { @@ -1170,6 +1199,26 @@ major_religious_war = { #} #are_holy_wars_disabled_by_struggle_conciliation_trigger = no # Disabled against other involved faiths in FP2 Conciliation ending + scope:target = { + trigger_if = { + limit = { + scope:attacker = { + is_ai = yes + } + } + any_in_de_jure_hierarchy = { + continue = { tier > tier_county } + count >= 5 + tier = tier_county + holder ?= { + OR = { + this = scope:defender + is_vassal_or_below_of = scope:defender + } + } + } + } + } } should_invalidate = { @@ -1327,6 +1376,10 @@ major_religious_war = { save_scope_as = change add_claim_on_loss = yes } + + # EP3 Laamp possibility warning + scope:defender = { ep3_war_loss_adventurer_tt_effect = yes } + # go through the dejure hierarchy under target titles, transfer titles with same or worse tolerance holders (their religion equaly or less tolerated than the defender's), # take the holder as vassal otherwise and don't go deeper every_in_list = { @@ -1666,9 +1719,12 @@ excommunication_war = { LOSER = scope:defender } + # EP3 Laamp possibility warning + scope:defender = { ep3_war_loss_adventurer_tt_effect = yes } + #This is ddown here in it's own section to control how the tooltips are ordered. scope:defender = { - depose = yes + depose_effect = { DEPOSER = scope:attacker } } # Truce @@ -3021,13 +3077,11 @@ undirected_great_holy_war = { } trigger_event = great_holy_war.0051 } - on_declared_war = yes scope:attacker.faith.great_holy_war = { divide_war_chest = { fraction = ghw_war_start_handout_percentage } } - # First of the Crusader Kings achievement tracking. # Warcraft @@ -3164,7 +3218,7 @@ undirected_great_holy_war = { location = scope:ghw_sponsor.capital_province template = new_commander_character faith = scope:the_faith - culture = scope:ghw_sponsor + culture = scope:ghw_sponsor.culture save_scope_as = title_recipient gender_female_chance = { if = { @@ -3193,12 +3247,22 @@ undirected_great_holy_war = { if = { #Check if Recipient is landless to give him the Crusader King buff. limit = { exists = scope:title_recipient - scope:title_recipient = { is_ruler = no } + scope:title_recipient = { + OR = { + is_ruler = no + government_has_flag = government_is_landless_adventurer + } + } } scope:title_recipient = { add_character_flag = { flag = ghw_recipient_will_be_crusader_king } + # Laamps don't get to keep the trait if they pass on their chosen kingdom. + if = { + limit = { government_has_flag = government_is_landless_adventurer } + add_character_flag = laamp_is_crusader_king + } } } } @@ -3347,8 +3411,8 @@ undirected_great_holy_war = { add_trait = crusader_king remove_character_flag = ghw_recipient_will_be_crusader_king add_realm_law_skip_effects = crown_authority_1 - - if = { # Set the appropriate Succession Law + # Set the appropriate Succession Law + if = { limit = { can_have_single_heir_succession_law_trigger = yes NOT = { @@ -3411,12 +3475,19 @@ undirected_great_holy_war = { add_gold = 500 # Some extra plunder add_prestige = 500 add_piety = 500 + # Plus if we're gallowsbait, remove most/all of it. + absolve_crusaders_of_gallowsbait_effect = yes } } scope:attacker.faith.great_holy_war = { #Give Prestige/Piety modifier to Dynasty/House of the winners' Beneficiaries (only if they gained any land in the GHW). every_pledged_attacker = { limit = { exists = ghw_beneficiary } ghw_beneficiary = { trigger_event = great_holy_war.0061 } + # Plus if we're gallowsbait, remove most/all of it — provided we turned up. + if = { + limit = { has_trait = faith_warrior } + absolve_crusaders_of_gallowsbait_effect = yes + } } if = { #Chance to switch-play to Crusader King. limit = { @@ -3763,7 +3834,7 @@ directed_great_holy_war = { limit = { faith = scope:attacker.faith is_ai = yes - is_landed = yes + is_playable_character = yes highest_held_title_tier >= tier_county NOT = { this = scope:ghw_sponsor } exists = scope:attacker.faith.great_holy_war @@ -3775,7 +3846,7 @@ directed_great_holy_war = { limit = { faith = scope:defender.faith is_ai = yes - is_landed = yes + is_playable_character = yes highest_held_title_tier >= tier_county exists = scope:attacker.faith.great_holy_war NOT = { scope:attacker.faith.great_holy_war = { has_pledged_defender = prev } } diff --git a/common/casus_belli_types/00_struggle_war.txt b/common/casus_belli_types/00_struggle_war.txt index 321cb023f8..b38f2cd7c4 100644 --- a/common/casus_belli_types/00_struggle_war.txt +++ b/common/casus_belli_types/00_struggle_war.txt @@ -5,9 +5,16 @@ interface_priority = 111 should_show_war_goal_subview = yes + allowed_for_character = { + NOT = { + government_has_flag = government_is_landless_adventurer + } + } + attacker_score_from_occupation_scale = 150 attacker_score_from_battles_scale = 150 defender_score_from_battles_scale = 150 + allowed_against_character = { always = no } @@ -30,7 +37,21 @@ } should_invalidate = { - + NOT = { + any_in_list = { + list = target_titles + any_in_de_jure_hierarchy = { + tier >= tier_county + exists = holder + holder = { + OR = { + this = scope:defender + target_is_liege_or_above = scope:defender + } + } + } + } + } } on_invalidated_desc = msg_county_conquest_war_invalidated_message @@ -95,6 +116,9 @@ on_victory = { scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_attacker_victory_effect = yes #EP2 accolade glory gain for winning against higher ranked enemy scope:attacker = { accolade_attacker_war_end_glory_gain_low_effect = yes } @@ -149,7 +173,7 @@ add_truce_attacker_victory_effect = yes # FP1: note the victory for future memorialisation via stele (if applicable). - + scope:attacker = { fp1_remember_recent_conquest_victory_effect = yes } } on_white_peace_desc = { @@ -214,6 +238,9 @@ on_defeat = { scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_attacker_defeat_effect = yes #EP2 accolade glory gain for winning against higher ranked enemy scope:defender = { accolade_defender_war_end_glory_gain_low_effect = yes } diff --git a/common/casus_belli_types/00_subjugation.txt b/common/casus_belli_types/00_subjugation.txt index cb43e8e8d5..6c2656d33a 100644 --- a/common/casus_belli_types/00_subjugation.txt +++ b/common/casus_belli_types/00_subjugation.txt @@ -17,9 +17,12 @@ faith = { has_doctrine = eastern_hostility_doctrine } - #house ?= { - # has_variable = subjugations_expanded - #} + house ?= { + has_variable = subjugations_expanded + } + } + NOT = { + government_has_flag = government_is_landless_adventurer } } diff --git a/common/casus_belli_types/00_vassalization.txt b/common/casus_belli_types/00_vassalization.txt index 1ff1e8be39..ad1e4bbc80 100644 --- a/common/casus_belli_types/00_vassalization.txt +++ b/common/casus_belli_types/00_vassalization.txt @@ -14,7 +14,19 @@ # involvement = involved # has_struggle_phase_parameter = unlocks_forced_vassalization_casus_belli #} - #} + AND = { + OR = { + has_game_rule = default_conquerors_bonuses + has_game_rule = extreme_conquerors_bonuses + has_game_rule = random_conquerors_bonuses + } + ai_has_conqueror_personality = yes + } + ai_should_get_conqueror_bonuses = yes + } + NOT = { + government_has_flag = government_is_landless_adventurer + } } # Root is the title @@ -47,12 +59,17 @@ } } - #trigger_if = { # if unlocked without the perk, only target involved or interloper - # limit = { NOT = { scope:attacker = { has_perk = forced_vassalage_perk } } } - # any_character_struggle = { - # involvement = involved - # } - #} + trigger_if = { # if unlocked without the perk, only target involved or interloper + limit = { + NOR = { + scope:attacker = { has_perk = forced_vassalage_perk } + scope:attacker = { ai_should_get_conqueror_bonuses = yes } + } + } + #any_character_struggle = { + # involvement = involved + #} + } NOR = { # Can't vassalize holy orders or Heads of Faith any_held_title = { diff --git a/common/casus_belli_types/01_fp1_wars.txt b/common/casus_belli_types/01_fp1_wars.txt index 07b252e7a7..e6cf38f243 100644 --- a/common/casus_belli_types/01_fp1_wars.txt +++ b/common/casus_belli_types/01_fp1_wars.txt @@ -47,6 +47,9 @@ fp1_varangian_adventurer_conquest = { } } } + NOT = { + government_has_flag = government_is_landless_adventurer + } } allowed_for_character_display_regardless = { @@ -183,6 +186,7 @@ fp1_varangian_adventurer_conquest = { capital_barony = { save_scope_as = capital_barony } # Send the actual troops. send_interface_toast = { + type = msg_troops_gained title = fp1_varangian_adventurer_conquest.troops_raised.tt left_icon = scope:attacker # Due to spawn_army parameter limitations and balancing concerns, we have to do this somewhat grossly. @@ -472,6 +476,11 @@ fp1_varangian_adventurer_conquest = { on_victory = { # Legitimacy add_legitimacy_attacker_victory_effect = yes + # Flag that we shouldn't lose legitimacy down the line for our conquests. + save_scope_value_as = { + name = suppress_legitimacy_loss + value = yes + } #EP2 accolade glory gain for winning against higher ranked enemy scope:attacker = { accolade_attacker_war_end_glory_gain_med_effect = yes } @@ -1058,6 +1067,9 @@ fp1_varangian_adventurer_conquest = { } } } + # Finally, courtiers are sometimes going walk about, so make sure they're all in the right spot. + hidden_effect = { + every_courtier = { set_location_to_default = yes } } } diff --git a/common/casus_belli_types/05_fp3_wars.txt b/common/casus_belli_types/05_fp3_wars.txt index 3a738b692f..ebbb8491c3 100644 --- a/common/casus_belli_types/05_fp3_wars.txt +++ b/common/casus_belli_types/05_fp3_wars.txt @@ -45,6 +45,9 @@ fp3_free_house_member_cb = { government_has_flag = government_is_clan has_perk = thicker_than_water_perk } + NOT = { + government_has_flag = government_is_landless_adventurer + } } allowed_for_character_display_regardless = { trigger_if = { @@ -173,6 +176,9 @@ fp3_unify_house_cb = { government_has_flag = government_is_clan has_perk = thicker_than_water_perk } + NOT = { + government_has_flag = government_is_landless_adventurer + } } allowed_for_character_display_regardless = { trigger_if = {