From 4a374f18810edf54969e50e054044c5458fe3928 Mon Sep 17 00:00:00 2001 From: GoTouchSomeGrass314 Date: Sat, 28 Mar 2026 14:22:53 +0100 Subject: [PATCH] Communal Settlement building + more CoA Added the Communal Settlement building - tied it to the communal possesions tenet !!!Missing localization and the error message when its disabled doesent work!!! Also added CoA for Imperial Silesia, Ostrava --- common/buildings/NEOW_special_buildings.txt | 243 +++++++++++++++++- .../coat_of_arms/01_landed_titles.txt | 146 ++++++++++- common/holdings/00_holdings.txt | 4 + common/men_at_arms_types/NEOW_maa_types.txt | 1 + common/religion/doctrines/30_core_tenets.txt | 1 + .../script_values/00_men_at_arms_values.txt | 2 + .../00_building_requirement_triggers.txt | 16 ++ history/provinces/e_zapadoslavia.txt | 3 + .../replace/NEOW_buildings_l_english.yml | 11 + .../zz_NEOW_cultural_traditions_l_english.yml | 4 + ...EOW_cultural_maa_innovations_l_english.yml | 10 + .../modifiers/NEOW_modifiers_l_english.yml | 7 +- ...zz_NEOW_religion_core_tenets_l_english.yml | 4 +- 13 files changed, 433 insertions(+), 19 deletions(-) diff --git a/common/buildings/NEOW_special_buildings.txt b/common/buildings/NEOW_special_buildings.txt index bb23e330..2ca50d7e 100644 --- a/common/buildings/NEOW_special_buildings.txt +++ b/common/buildings/NEOW_special_buildings.txt @@ -3952,7 +3952,7 @@ mountain_fortress_lugano_01 = { } can_construct = { - scope:holder.culture = { has_innovation = innovation_stone_forts } + scope:holder.culture = { has_innovation = innovation_castle_baileys } building_requirement_castle_city_church = { LEVEL = 02 } } @@ -4052,7 +4052,7 @@ mountain_fortress_bolzano_01 = { } can_construct = { - scope:holder.culture = { has_innovation = innovation_stone_forts } + scope:holder.culture = { has_innovation = innovation_castle_baileys } building_requirement_castle_city_church = { LEVEL = 02 } } @@ -4152,7 +4152,7 @@ mountain_fortress_innsbruck_01 = { } can_construct = { - scope:holder.culture = { has_innovation = innovation_stone_forts } + scope:holder.culture = { has_innovation = innovation_castle_baileys } building_requirement_castle_city_church = { LEVEL = 02 } } @@ -5799,7 +5799,7 @@ mountain_fortress_imperia_01 = { } can_construct = { - scope:holder.culture = { has_innovation = innovation_stone_forts } + scope:holder.culture = { has_innovation = innovation_castle_baileys } building_requirement_castle_city_church = { LEVEL = 02 } } @@ -9738,6 +9738,241 @@ air_dock_04 = { type_icon = "icon_structure_hosios_loukas.dds" + ai_value = { + base = 7 + ai_general_building_modifier = yes + directive_to_build_military_modifier = yes + } +} + +########## +# Communal Settlements - peasant and levy bonuses +########## + +communal_settlement_01 = { + construction_time = standard_construction_time + effect_desc = communal_settlement_1_effect_desc + + can_construct_potential = { + building_communal_settlement_requirement = yes + } + + can_construct_showing_failures_only = { + } + + can_construct = { + building_requirement_castle_city_church = { LEVEL = 01 } + scope:holder.culture = { + has_innovation = innovation_barracks + } + } + + is_enabled = { + text = province_is_of_a_communal_settlement_faith_tt + building_communal_settlement_requirement = yes + } + + cost_gold = expensive_building_tier_1_cost + + province_modifier = { + monthly_income = super_poor_building_tax_tier_2 + stationed_peasant_militia_damage_mult = high_maa_damage_tier_2 + stationed_peasant_militia_toughness_mult = high_maa_toughness_tier_1 + defender_holding_advantage = 2 + } + county_modifier = { + levy_size = 0.01 + } + + levy = normal_building_levy_tier_2 + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + type_icon = "icon_structure_wartburg.dds" + + next_building = communal_settlement_02 + + ai_value = { + base = 20 + ai_tier_1_building_modifier = yes + ai_general_building_modifier = yes + directive_to_build_military_modifier = yes + } +} + +communal_settlement_02 = { + construction_time = standard_construction_time + effect_desc = communal_settlement_2_effect_desc + + can_construct_potential = { + text = province_is_of_a_communal_settlement_faith_tt + building_communal_settlement_requirement = yes + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + can_construct = { + building_requirement_castle_city_church = { LEVEL = 02 } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + } + + is_enabled = { + text = province_is_of_a_communal_settlement_faith_tt + building_communal_settlement_requirement = yes + } + + cost_gold = expensive_building_tier_2_cost + + province_modifier = { + monthly_income = super_poor_building_tax_tier_4 + stationed_peasant_militia_damage_mult = high_maa_damage_tier_4 + stationed_peasant_militia_toughness_mult = high_maa_toughness_tier_2 + defender_holding_advantage = 4 + } + + county_modifier = { + monthly_county_control_growth_add = 0.05 + garrison_size = 0.05 + levy_size = 0.02 + } + + levy = normal_building_levy_tier_4 + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + type_icon = "icon_structure_wartburg.dds" + + next_building = communal_settlement_03 + + ai_value = { + base = 10 + 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 + } + } +} + +communal_settlement_03 = { + construction_time = standard_construction_time + effect_desc = communal_settlement_3_effect_desc + + can_construct_potential = { + text = province_is_of_a_communal_settlement_faith_tt + building_communal_settlement_requirement = yes + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + is_enabled = { + text = province_is_of_a_communal_settlement_faith_tt + building_communal_settlement_requirement = yes + } + + can_construct = { + building_requirement_castle_city_church = { LEVEL = 03 } + scope:holder.culture = { + has_innovation = innovation_castle_baileys + } + } + + cost_gold = expensive_building_tier_3_cost + + province_modifier = { + monthly_income = super_poor_building_tax_tier_6 + stationed_peasant_militia_damage_mult = high_maa_damage_tier_6 + stationed_peasant_militia_toughness_mult = high_maa_toughness_tier_3 + defender_holding_advantage = 6 + } + + county_modifier = { + monthly_county_control_growth_add = 0.10 + garrison_size = 0.05 + levy_size = 0.03 + } + + levy = normal_building_levy_tier_6 + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + type_icon = "icon_structure_wartburg.dds" + + next_building = communal_settlement_04 + + ai_value = { + base = 8 + ai_general_building_modifier = yes + directive_to_build_military_modifier = yes + } +} + +communal_settlement_04 = { + construction_time = standard_construction_time + effect_desc = communal_settlement_4_effect_desc + + can_construct_potential = { + text = province_is_of_a_communal_settlement_faith_tt + building_communal_settlement_requirement = yes + } + + can_construct_showing_failures_only = { + building_requirement_tribal = no + } + + can_construct = { + building_requirement_castle_city_church = { LEVEL = 04 } + scope:holder.culture = { + has_innovation = innovation_royal_armory + } + } + + is_enabled = { + text = province_is_of_a_communal_settlement_faith_tt + building_communal_settlement_requirement = yes + } + + cost_gold = expensive_building_tier_4_cost + + province_modifier = { + monthly_income = super_poor_building_tax_tier_8 + stationed_peasant_militia_damage_mult = high_maa_damage_tier_8 + stationed_peasant_militia_toughness_mult = high_maa_toughness_tier_4 + defender_holding_advantage = 8 + } + + county_modifier = { + monthly_county_control_growth_add = 0.15 + garrison_size = 0.10 + levy_size = 0.05 + } + + levy = normal_building_levy_tier_8 + + on_complete = { + #Mandala Creator Aspect + creator_mandala_built_regular_building_piety_effect = yes + } + + type_icon = "icon_structure_wartburg.dds" + + ai_value = { base = 7 ai_general_building_modifier = yes diff --git a/common/coat_of_arms/coat_of_arms/01_landed_titles.txt b/common/coat_of_arms/coat_of_arms/01_landed_titles.txt index 85f773a0..77d02544 100644 --- a/common/coat_of_arms/coat_of_arms/01_landed_titles.txt +++ b/common/coat_of_arms/coat_of_arms/01_landed_titles.txt @@ -12231,6 +12231,94 @@ d_upper_silesia = { } } +d_imperial_silesia = { + pattern="pattern_quarter.dds" + color1=yellow + color2=red + color3=black + colored_emblem={ + color1=white + texture="ce_crescent_bone.dds" + instance={ + position={ 0.280000 0.690000 } + scale={ 0.230000 0.230000 } + depth=1.010000 + } + + instance={ + position={ 0.710000 0.230000 } + scale={ 0.230000 0.230000 } + depth=3.010000 + } + } + + colored_emblem={ + color1=white + texture="ce_cross_09.dds" + instance={ + position={ 0.280000 0.710000 } + scale={ 0.070000 0.070000 } + } + + instance={ + position={ 0.710000 0.250000 } + scale={ 0.060000 0.060000 } + depth=2.010000 + } + } + + colored_emblem={ + color1=white + color2=yellow + color3=black + texture="ce_lion_rampant_crown_forked.dds" + instance={ + position={ 0.280000 0.280000 } + scale={ 0.470000 0.470000 } + depth=4.010000 + } + } + + colored_emblem={ + color1=black + color2=red + color3=white + texture="ce_eagle_small.dds" + instance={ + position={ 0.710000 0.280000 } + scale={ 0.490000 0.490000 } + depth=5.010000 + } + + instance={ + position={ 0.280000 0.740000 } + scale={ 0.500000 0.500000 } + depth=7.010000 + } + } + + colored_emblem={ + color1=red + texture="ce_ordinary_canton.dds" + instance={ + scale={ -1.000000 -1.000000 } + depth=8.010000 + } + } + + colored_emblem={ + color1=white + color2=yellow + color3=grey + texture="ce_eagle_crown.dds" + instance={ + position={ 0.710000 0.740000 } + scale={ 0.500000 0.500000 } + depth=6.010000 + } + } +} + d_pommerania = { pattern = "pattern_solid.dds" color1 = "white" @@ -17678,17 +17766,59 @@ c_litomerice={ c_opava = { - pattern = "pattern_solid.dds" - color1 = "white" - color2 = "red" - colored_emblem = { - texture = "ce_pattern_vertical_split_01.dds" - color1 = "white" - color2 = "red" - instance = { position = { 0.5 0.5 } scale = { 1.0 1.0 } } + pattern="pattern__solid_designer.dds" + color1=blue + color2=yellow + color3=black + colored_emblem={ + color1=red + texture="ce_shield_01.dds" + instance={ + position={ 0.510000 0.460000 } + scale={ 0.110000 0.110000 } + depth=2.010000 + } + } + + colored_emblem={ + color1=white + color2=white + color3=black + texture="ce_horse_statant.dds" + instance={ + scale={ 0.700000 0.700000 } + depth=3.010000 + } + + } + + colored_emblem={ + color1=yellow + color2=green_light + color3=red + texture="ce_flower.dds" + instance={ + position={ 0.620000 0.270000 } + scale={ 0.240000 -0.240000 } + } + + } + + colored_emblem={ + color1=yellow + texture="ce_vair_single.dds" + instance={ + position={ 0.510000 0.450000 } + scale={ 0.090000 -0.090000 } + depth=1.010000 + } + + } + } + c_brno = { pattern="pattern_barry_04.dds" color1=white diff --git a/common/holdings/00_holdings.txt b/common/holdings/00_holdings.txt index 1ab65ced..ba778ba4 100644 --- a/common/holdings/00_holdings.txt +++ b/common/holdings/00_holdings.txt @@ -56,6 +56,7 @@ chemistry_workshop_01 air_dock_01 doggerland_ivory_deposits_01 + communal_settlement_01 } } @@ -142,6 +143,7 @@ city_holding = { chemistry_workshop_01 air_dock_01 doggerland_ivory_deposits_01 + communal_settlement_01 } can_be_inherited = yes @@ -200,6 +202,7 @@ church_holding = { chemistry_workshop_01 air_dock_01 doggerland_ivory_deposits_01 + communal_settlement_01 } can_be_inherited = yes @@ -303,6 +306,7 @@ temple_citadel_holding = { chemistry_workshop_01 air_dock_01 doggerland_ivory_deposits_01 + communal_settlement_01 } can_be_inherited = yes diff --git a/common/men_at_arms_types/NEOW_maa_types.txt b/common/men_at_arms_types/NEOW_maa_types.txt index af619187..078e95be 100644 --- a/common/men_at_arms_types/NEOW_maa_types.txt +++ b/common/men_at_arms_types/NEOW_maa_types.txt @@ -404,6 +404,7 @@ NEOW_militia = { has_lifestyle = martial_lifestyle has_martial_lifestyle_trait_trigger = yes cp:councillor_marshal = { martial = 13 } + faith = { has_doctrine_parameter = allows_communal_settlement } } } trigger_if = { diff --git a/common/religion/doctrines/30_core_tenets.txt b/common/religion/doctrines/30_core_tenets.txt index feab7493..b33adb36 100644 --- a/common/religion/doctrines/30_core_tenets.txt +++ b/common/religion/doctrines/30_core_tenets.txt @@ -5043,6 +5043,7 @@ piety_from_gifts_active = yes piety_from_marrying_lowborn_active = yes faith_use_farmer_republics = yes + allows_communal_settlement = yes } character_modifier = { diff --git a/common/script_values/00_men_at_arms_values.txt b/common/script_values/00_men_at_arms_values.txt index cd84f8be..00782379 100644 --- a/common/script_values/00_men_at_arms_values.txt +++ b/common/script_values/00_men_at_arms_values.txt @@ -1023,6 +1023,8 @@ militia_raise_limit_existing_militia_buildings = { militia_building_limit_bonus_1 = 1 militia_building_limit_bonus_2 = 2 +militia_building_limit_bonus_3 = 3 +militia_building_limit_bonus_4 = 4 gunpowder_raise_limit_existing_gunpowder_units = { value = 0 diff --git a/common/scripted_triggers/00_building_requirement_triggers.txt b/common/scripted_triggers/00_building_requirement_triggers.txt index a714bd04..8a103f60 100644 --- a/common/scripted_triggers/00_building_requirement_triggers.txt +++ b/common/scripted_triggers/00_building_requirement_triggers.txt @@ -980,4 +980,20 @@ building_vineyards_requirement = { terrain = hills } } +} + +building_communal_settlement_requirement = { + OR = { + scope:holder.faith = { + has_doctrine_parameter = allows_communal_settlement + } + + root.faith = { + has_doctrine_parameter = allows_communal_settlement + } + + root.culture = { + has_cultural_parameter = allows_communal_settlement + } + } } \ No newline at end of file diff --git a/history/provinces/e_zapadoslavia.txt b/history/provinces/e_zapadoslavia.txt index 9d6fd12b..9f46bdf5 100644 --- a/history/provinces/e_zapadoslavia.txt +++ b/history/provinces/e_zapadoslavia.txt @@ -758,6 +758,9 @@ culture = czech religion = hussite holding = castle_holding + buildings = { + communal_settlement_01 + } } 4154 = { # Jindřichův Hradec holding = city_holding diff --git a/localization/english/replace/NEOW_buildings_l_english.yml b/localization/english/replace/NEOW_buildings_l_english.yml index 60aabbdc..9f1e3b12 100644 --- a/localization/english/replace/NEOW_buildings_l_english.yml +++ b/localization/english/replace/NEOW_buildings_l_english.yml @@ -654,6 +654,17 @@ building_spilberk_castle_01:1 "Špilberk" building_spilberk_castle_01_desc:0 "Standing tall above the city of Brno, the most important city in Moravia, the Špilberk Castle is the main keep and was the seat of power for many powerful families. Constructed in the 13th century and improved ever since. After the Event, the city and the castle were briefly abandoned, but after people returned, they reconstructed the castle, transforming it not only into a formidable fortress but also into a symbol of prosperity and Moravian identity." + building_type_communal_settlement_01:1 "Communal Settlement" + building_type_communal_settlement_01_desc:1 "$building_communal_settlement_01_desc$" + building_communal_settlement_01:1 "WIP" + building_communal_settlement_01_desc:1 "WIP" + building_communal_settlement_02:1 "WIP" + building_communal_settlement_02_desc:1 "WIP" + building_communal_settlement_03:1 "WIP" + building_communal_settlement_03_desc:1 "WIP" + building_communal_settlement_04:1 "WIP" + building_communal_settlement_04_desc:1 "WIP" + building_type_leclerc_dyeworks_01:1 "Leclerc Dyeworks" building_type_leclerc_dyeworks_01_desc:1 "Famed throughout the world, Leclerc White is one of the most sought-after dyes, known for its pure white colour. Only made in France, it is produced by scraping off titanium rust from Leclerc tanks, ancient armoured vehicles that even now remain in the major cities they were ordered to defend." building_leclerc_dyeworks_01:1 "Rust Harvesters" diff --git a/localization/english/replace/culture/traditions/zz_NEOW_cultural_traditions_l_english.yml b/localization/english/replace/culture/traditions/zz_NEOW_cultural_traditions_l_english.yml index 3d198468..5fcb23a2 100644 --- a/localization/english/replace/culture/traditions/zz_NEOW_cultural_traditions_l_english.yml +++ b/localization/english/replace/culture/traditions/zz_NEOW_cultural_traditions_l_english.yml @@ -36,6 +36,10 @@ tradition_wine_culture_name:0 "Famed Vintners" tradition_wine_culture_desc:1 "Practice of growing grapes and turning it into wine has been in this culture for generations. Creating long and stretchy vineyards all around the countryside, to create all kinds of wine." + allows_communal_settlement:1 "Unlocks the #color_white $building_type_communal_settlement_01$#! line of [buildings|E]" + culture_parameter_allows_communal_settlement:0 "$allows_communal_settlement$" + doctrine_parameter_allows_communal_settlement:0 "$allows_communal_settlement$" + # MAA Unlocks culture_parameter_unlock_maa_handgonners:0 "Can recruit [GetMaA('handgonners').GetName] as [men_at_arms|E]" culture_parameter_unlock_maa_kuhjung:0 "Can recruit [GetMaA('cowboys').GetName] as [men_at_arms|E]" \ No newline at end of file diff --git a/localization/english/replace/culture/zz_NEOW_cultural_maa_innovations_l_english.yml b/localization/english/replace/culture/zz_NEOW_cultural_maa_innovations_l_english.yml index 01be8a9e..4ad25355 100644 --- a/localization/english/replace/culture/zz_NEOW_cultural_maa_innovations_l_english.yml +++ b/localization/english/replace/culture/zz_NEOW_cultural_maa_innovations_l_english.yml @@ -264,3 +264,13 @@ chemistry_workshop_4_effect_desc: "$unlocks_building_desc$[chemical_weapons|E] [men_at_arms|E] Recruitment Limit: #P +[EmptyScope.ScriptValue('toxic_gas_slingers_building_limit_bonus_4')|0]#!" city_1_effect_desc: "$unlocks_building_desc$[peasant_militia|E] [men_at_arms|E] Recruitment Limit: #P +[EmptyScope.ScriptValue('militia_building_limit_bonus_1')|0]#!" city_2_effect_desc: "$unlocks_building_desc$[peasant_militia|E] [men_at_arms|E] Recruitment Limit: #P +[EmptyScope.ScriptValue('militia_building_limit_bonus_2')|0]#!" + + stationed_peasant_militia_damage_add:0 "[stationed|E] [peasant_militia|E] [damage|E]" + stationed_peasant_militia_damage_mult:0 "$stationed_peasant_militia_damage_add$" + stationed_peasant_militia_toughness_add:0 "[stationed|E] [peasant_militia|E] [toughness|E]" + stationed_peasant_militia_toughness_mult:0 "$stationed_peasant_militia_toughness_add$" + + communal_settlement_1_effect_desc: "$unlocks_building_desc$[peasant_militia|E] [men_at_arms|E] Recruitment Limit: #P +[EmptyScope.ScriptValue('militia_building_limit_bonus_1')|0]#!" + communal_settlement_2_effect_desc: "$unlocks_building_desc$[peasant_militia|E] [men_at_arms|E] Recruitment Limit: #P +[EmptyScope.ScriptValue('militia_building_limit_bonus_2')|0]#!" + communal_settlement_3_effect_desc: "$unlocks_building_desc$[peasant_militia|E] [men_at_arms|E] Recruitment Limit: #P +[EmptyScope.ScriptValue('militia_building_limit_bonus_3')|0]#!" + communal_settlement_4_effect_desc: "$unlocks_building_desc$[peasant_militia|E] [men_at_arms|E] Recruitment Limit: #P +[EmptyScope.ScriptValue('militia_building_limit_bonus_4')|0]#!" \ No newline at end of file diff --git a/localization/english/replace/modifiers/NEOW_modifiers_l_english.yml b/localization/english/replace/modifiers/NEOW_modifiers_l_english.yml index daae8758..6b555f6c 100644 --- a/localization/english/replace/modifiers/NEOW_modifiers_l_english.yml +++ b/localization/english/replace/modifiers/NEOW_modifiers_l_english.yml @@ -13,9 +13,4 @@ bhakti_leviathan_metallurgicals_desc:0 "This character follows one of the wise l bhakti_leviathan_nautiluses: "Nautiluses" bhakti_leviathan_nautiluses_desc:0 "This character follows one of the gods of the blue waters." bhakti_leviathan_aerosaurs: "Aerosaurs" -bhakti_leviathan_aerosaurs_desc:0 "This character follows one of the gods of war, flight, desolation, and violence: the most prevalent and classical of the Leviathans." - -stationed_peasant_militia_damage_add:0 "[stationed|E] [peasant_militia|E] [damage|E]" -stationed_peasant_militia_damage_mult:0 "$stationed_peasant_militia_damage_add$" -stationed_peasant_militia_toughness_add:0 "[stationed|E] [peasant_militia|E] [toughness|E]" -stationed_peasant_militia_toughness_mult:0 "$stationed_peasant_militia_toughness_add$" \ No newline at end of file +bhakti_leviathan_aerosaurs_desc:0 "This character follows one of the gods of war, flight, desolation, and violence: the most prevalent and classical of the Leviathans." \ No newline at end of file diff --git a/localization/english/replace/religion/doctrines/zz_NEOW_religion_core_tenets_l_english.yml b/localization/english/replace/religion/doctrines/zz_NEOW_religion_core_tenets_l_english.yml index 0382def8..38200377 100644 --- a/localization/english/replace/religion/doctrines/zz_NEOW_religion_core_tenets_l_english.yml +++ b/localization/english/replace/religion/doctrines/zz_NEOW_religion_core_tenets_l_english.yml @@ -149,4 +149,6 @@ tenet_egalite_name:0 "Egalité" tenet_egalite_desc:0 "There is no such thing as the divine right to rule. One is only a ruler for as long as the Third Estate permits him to be, as the state exists for the people, and is made by the people." tenet_fraternite_name:0 "Fraternité" - tenet_fraternite_desc:0 "All people are born the same, and must be taught to view other people as brothers. Division and discord caused nothing less than the end of the world, after all." \ No newline at end of file + tenet_fraternite_desc:0 "All people are born the same, and must be taught to view other people as brothers. Division and discord caused nothing less than the end of the world, after all." + + province_is_of_a_communal_settlement_faith_tt:0 "This [county|E] must follow a [faith|E] that allows the Communal Settlement." \ No newline at end of file