diff --git a/common/bookmarks/bookmarks/00_bookmarks.txt b/common/bookmarks/bookmarks/00_bookmarks.txt index 6b7027ea..be35e238 100644 --- a/common/bookmarks/bookmarks/00_bookmarks.txt +++ b/common/bookmarks/bookmarks/00_bookmarks.txt @@ -105,7 +105,7 @@ type = male birth = 2513.1.1 title = k_ireland - government = feudal_government + government = peasantrepublic_government culture = high_irish religion = "celtic" difficulty = "BOOKMARK_CHARACTER_DIFFICULTY_HARD" diff --git a/common/buildings/00_castle_buildings.txt b/common/buildings/00_castle_buildings.txt index c5d61c4f..0092255f 100644 --- a/common/buildings/00_castle_buildings.txt +++ b/common/buildings/00_castle_buildings.txt @@ -435,6 +435,10 @@ castle_01 = { is_coastal = yes defender_holding_advantage = 2 } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -1 + } flag = castle @@ -923,6 +927,10 @@ castle_02 = { is_coastal = yes defender_holding_advantage = 3 } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -2 + } character_modifier = { men_at_arms_cap = 1 @@ -1384,6 +1392,10 @@ castle_03 = { is_coastal = yes defender_holding_advantage = 4 } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -3 + } character_modifier = { men_at_arms_cap = 1 @@ -1835,6 +1847,10 @@ castle_04 = { is_coastal = yes defender_holding_advantage = 5 } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -4 + } character_modifier = { men_at_arms_cap = 1 diff --git a/common/buildings/00_city_buildings.txt b/common/buildings/00_city_buildings.txt index a99e1c98..bc5c3df8 100644 --- a/common/buildings/00_city_buildings.txt +++ b/common/buildings/00_city_buildings.txt @@ -450,6 +450,10 @@ city_01 = { 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 } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -1 + } character_modifier = { men_at_arms_cap = 1 @@ -973,6 +977,10 @@ city_02 = { character_modifier = { men_at_arms_cap = 1 } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -2 + } flag = city next_building = city_03 @@ -1459,6 +1467,10 @@ city_03 = { character_modifier = { men_at_arms_cap = 1 } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -3 + } flag = city on_complete = { @@ -1933,6 +1945,10 @@ city_04 = { character_modifier = { men_at_arms_cap = 1 } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -4 + } flag = city on_complete = { @@ -2001,7 +2017,14 @@ guild_halls_01 = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes } - + + + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.1 + } + + next_building = guild_halls_02 type_icon = "icon_building_guild_halls.dds" @@ -2050,7 +2073,11 @@ guild_halls_02 = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes } - + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.2 + } + next_building = guild_halls_03 ai_value = { base = 9 @@ -2104,6 +2131,11 @@ guild_halls_03 = { county_modifier = { development_growth_factor = 0.15 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.3 + } + on_complete = { #Mandala Creator Aspect @@ -2164,6 +2196,11 @@ guild_halls_04 = { county_modifier = { development_growth_factor = 0.2 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.4 + } + on_complete = { #Mandala Creator Aspect @@ -2223,6 +2260,11 @@ guild_halls_05 = { county_modifier = { development_growth_factor = 0.25 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.5 + } + on_complete = { #Mandala Creator Aspect @@ -2282,6 +2324,11 @@ guild_halls_06 = { county_modifier = { development_growth_factor = 0.3 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.6 + } + on_complete = { #Mandala Creator Aspect @@ -2341,6 +2388,11 @@ guild_halls_07 = { county_modifier = { development_growth_factor = 0.35 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.7 + } + on_complete = { #Mandala Creator Aspect @@ -2400,6 +2452,11 @@ guild_halls_08 = { county_modifier = { development_growth_factor = 0.4 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.8 + } + on_complete = { #Mandala Creator Aspect diff --git a/common/buildings/00_standard_economy_buildings.txt b/common/buildings/00_standard_economy_buildings.txt index 1efa950f..aa43afad 100644 --- a/common/buildings/00_standard_economy_buildings.txt +++ b/common/buildings/00_standard_economy_buildings.txt @@ -2747,6 +2747,14 @@ paddy_fields_01 = { parameter = brewery_farming_bonus county_opinion_add = 2 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.1 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.5 + } on_complete = { #Mandala Creator Aspect @@ -2843,6 +2851,14 @@ paddy_fields_02 = { stationed_maa_damage_mult = normal_maa_damage_tier_2 stationed_maa_toughness_mult = normal_maa_toughness_tier_2 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.2 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.6 + } on_complete = { #Mandala Creator Aspect @@ -2942,6 +2958,14 @@ paddy_fields_03 = { stationed_maa_damage_mult = normal_maa_damage_tier_3 stationed_maa_toughness_mult = normal_maa_toughness_tier_3 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.3 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.7 + } on_complete = { #Mandala Creator Aspect @@ -3038,6 +3062,15 @@ paddy_fields_04 = { stationed_maa_damage_mult = normal_maa_damage_tier_4 stationed_maa_toughness_mult = normal_maa_toughness_tier_4 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.4 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.8 + } + on_complete = { #Mandala Creator Aspect @@ -3138,6 +3171,15 @@ paddy_fields_05 = { stationed_maa_damage_mult = normal_maa_damage_tier_5 stationed_maa_toughness_mult = normal_maa_toughness_tier_5 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.5 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.9 + } + on_complete = { #Mandala Creator Aspect @@ -3239,6 +3281,14 @@ paddy_fields_06 = { stationed_maa_damage_mult = normal_maa_damage_tier_6 stationed_maa_toughness_mult = normal_maa_toughness_tier_6 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.6 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1 + } on_complete = { #Mandala Creator Aspect @@ -3341,6 +3391,14 @@ paddy_fields_07 = { stationed_maa_damage_mult = normal_maa_damage_tier_7 stationed_maa_toughness_mult = normal_maa_toughness_tier_7 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.7 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1.1 + } on_complete = { #Mandala Creator Aspect @@ -3443,6 +3501,14 @@ paddy_fields_08 = { stationed_maa_damage_mult = normal_maa_damage_tier_8 stationed_maa_toughness_mult = normal_maa_toughness_tier_8 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.8 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1.2 + } on_complete = { #Mandala Creator Aspect @@ -5069,7 +5135,15 @@ pastures_01 = { tax_mult = 0.01 levy_size = 0.01 } - + + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.1 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.5 + } on_complete = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes @@ -5147,7 +5221,15 @@ pastures_02 = { tax_mult = 0.01 levy_size = 0.01 } - + + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.2 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.6 + } on_complete = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes @@ -5209,6 +5291,15 @@ pastures_03 = { tax_mult = 0.02 levy_size = 0.02 } + + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.3 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.7 + } on_complete = { #Mandala Creator Aspect @@ -5270,6 +5361,15 @@ pastures_04 = { tax_mult = 0.02 levy_size = 0.02 } + + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.4 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.8 + } on_complete = { #Mandala Creator Aspect @@ -5333,6 +5433,14 @@ pastures_05 = { development_growth_factor = 0.02 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.5 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.9 + } on_complete = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes @@ -5396,6 +5504,14 @@ pastures_06 = { levy_size = 0.03 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.6 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1 + } on_complete = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes @@ -5458,7 +5574,14 @@ pastures_07 = { tax_mult = 0.04 levy_size = 0.04 } - + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.7 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1.1 + } on_complete = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes @@ -5521,6 +5644,15 @@ pastures_08 = { tax_mult = 0.04 levy_size = 0.04 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.8 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1.2 + } + on_complete = { #Mandala Creator Aspect @@ -6203,6 +6335,14 @@ orchards_01 = { is_coastal = yes tax_mult = 0.01 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.1 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.5 + } on_complete = { #Mandala Creator Aspect @@ -6267,6 +6407,14 @@ orchards_02 = { is_coastal = yes tax_mult = 0.02 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.2 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.6 + } on_complete = { #Mandala Creator Aspect @@ -6323,6 +6471,15 @@ orchards_03 = { tax_mult = 0.03 supply_limit_mult = 0.1 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.3 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.7 + } + on_complete = { #Mandala Creator Aspect @@ -6375,6 +6532,15 @@ orchards_04 = { tax_mult = 0.04 supply_limit_mult = 0.1 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.4 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.8 + } + on_complete = { #Mandala Creator Aspect @@ -6428,6 +6594,14 @@ orchards_05 = { tax_mult = 0.05 supply_limit_mult = 0.1 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.5 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.9 + } on_complete = { #Mandala Creator Aspect @@ -6482,6 +6656,14 @@ orchards_06 = { tax_mult = 0.06 supply_limit_mult = 0.1 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.6 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1 + } on_complete = { #Mandala Creator Aspect @@ -6539,6 +6721,14 @@ orchards_07 = { character_modifier = { monthly_prestige = 0.1 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.7 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1.1 + } on_complete = { #Mandala Creator Aspect @@ -6596,6 +6786,15 @@ orchards_08 = { character_modifier = { monthly_prestige = 0.1 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.8 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1.2 + } + on_complete = { #Mandala Creator Aspect @@ -6664,6 +6863,14 @@ farm_estates_01 = { parameter = brewery_farming_bonus county_opinion_add = 2 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.1 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.5 + } on_complete = { #Mandala Creator Aspect @@ -6749,6 +6956,14 @@ farm_estates_02 = { parameter = brewery_farming_bonus county_opinion_add = 4 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.2 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.6 + } on_complete = { #Mandala Creator Aspect @@ -6812,6 +7027,14 @@ farm_estates_03 = { parameter = brewery_farming_bonus county_opinion_add = 6 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.3 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.7 + } on_complete = { #Mandala Creator Aspect @@ -6866,6 +7089,15 @@ farm_estates_04 = { county_modifier = { development_growth_factor = 0.02 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.4 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.8 + } + province_culture_modifier = { parameter = brewery_farming_bonus @@ -6940,6 +7172,14 @@ farm_estates_05 = { parameter = brewery_farming_bonus county_opinion_add = 10 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.5 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.9 + } on_complete = { #Mandala Creator Aspect @@ -7010,6 +7250,14 @@ farm_estates_06 = { parameter = brewery_farming_bonus county_opinion_add = 12 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.6 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1 + } on_complete = { #Mandala Creator Aspect @@ -7081,6 +7329,14 @@ farm_estates_07 = { parameter = brewery_farming_bonus county_opinion_add = 14 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.7 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1.1 + } on_complete = { #Mandala Creator Aspect @@ -7151,6 +7407,15 @@ farm_estates_08 = { parameter = brewery_farming_bonus county_opinion_add = 16 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.8 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1.2 + } + on_complete = { #Mandala Creator Aspect @@ -7199,6 +7464,14 @@ cereal_fields_01 = { parameter = brewery_farming_bonus county_opinion_add = 2 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.1 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.5 + } on_complete = { #Mandala Creator Aspect @@ -7301,6 +7574,14 @@ cereal_fields_02 = { parameter = brewery_farming_bonus county_opinion_add = 4 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.2 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.6 + } on_complete = { #Mandala Creator Aspect @@ -7382,6 +7663,15 @@ cereal_fields_03 = { parameter = brewery_farming_bonus county_opinion_add = 6 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.3 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.7 + } + on_complete = { #Mandala Creator Aspect @@ -7461,6 +7751,14 @@ cereal_fields_04 = { parameter = brewery_farming_bonus county_opinion_add = 8 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.4 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.8 + } on_complete = { #Mandala Creator Aspect @@ -7540,7 +7838,14 @@ cereal_fields_05 = { parameter = brewery_farming_bonus county_opinion_add = 10 } - + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.5 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.9 + } on_complete = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes @@ -7620,6 +7925,14 @@ cereal_fields_06 = { parameter = brewery_farming_bonus county_opinion_add = 12 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.6 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1 + } on_complete = { #Mandala Creator Aspect @@ -7701,7 +8014,14 @@ cereal_fields_07 = { parameter = brewery_farming_bonus county_opinion_add = 14 } - + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.7 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1.1 + } on_complete = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes @@ -7782,6 +8102,15 @@ cereal_fields_08 = { parameter = brewery_farming_bonus county_opinion_add = 16 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.8 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1.2 + } + on_complete = { #Mandala Creator Aspect @@ -8762,6 +9091,14 @@ hill_farms_01 = { parameter = hill_farms_building_bonuses levy_size = 0.01 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.1 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.5 + } on_complete = { #Mandala Creator Aspect @@ -8832,6 +9169,14 @@ hill_farms_02 = { parameter = hill_farms_building_bonuses levy_size = 0.01 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.2 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.6 + } on_complete = { #Mandala Creator Aspect @@ -8894,6 +9239,15 @@ hill_farms_03 = { parameter = hill_farms_building_bonuses levy_size = 0.02 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.3 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.7 + } + on_complete = { #Mandala Creator Aspect @@ -8952,6 +9306,14 @@ hill_farms_04 = { parameter = hill_farms_building_bonuses levy_size = 0.02 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.4 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.8 + } on_complete = { #Mandala Creator Aspect @@ -9011,6 +9373,14 @@ hill_farms_05 = { parameter = hill_farms_building_bonuses levy_size = 0.03 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.5 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.9 + } on_complete = { #Mandala Creator Aspect @@ -9071,6 +9441,14 @@ hill_farms_06 = { parameter = hill_farms_building_bonuses levy_size = 0.03 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.6 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1 + } on_complete = { #Mandala Creator Aspect @@ -9131,6 +9509,14 @@ hill_farms_07 = { parameter = hill_farms_building_bonuses levy_size = 0.04 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.7 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1.1 + } on_complete = { #Mandala Creator Aspect @@ -9191,6 +9577,14 @@ hill_farms_08 = { parameter = hill_farms_building_bonuses levy_size = 0.04 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.8 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1.2 + } on_complete = { #Mandala Creator Aspect @@ -9678,6 +10072,14 @@ plantations_01 = { parameter = plantations_building_bonuses monthly_income = poor_building_extra_tax_tier_1 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.1 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.5 + } on_complete = { #Mandala Creator Aspect @@ -9759,6 +10161,14 @@ plantations_02 = { parameter = plantations_building_bonuses monthly_income = poor_building_extra_tax_tier_2 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.2 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.6 + } on_complete = { #Mandala Creator Aspect @@ -9816,6 +10226,15 @@ plantations_03 = { parameter = plantations_building_bonuses monthly_income = poor_building_extra_tax_tier_3 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.3 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.7 + } + on_complete = { #Mandala Creator Aspect @@ -9869,6 +10288,15 @@ plantations_04 = { parameter = plantations_building_bonuses monthly_income = poor_building_extra_tax_tier_4 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.4 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.8 + } + on_complete = { #Mandala Creator Aspect @@ -9926,6 +10354,14 @@ plantations_05 = { parameter = plantations_building_bonuses monthly_income = poor_building_extra_tax_tier_5 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.5 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.9 + } on_complete = { #Mandala Creator Aspect @@ -9983,6 +10419,14 @@ plantations_06 = { parameter = plantations_building_bonuses monthly_income = poor_building_extra_tax_tier_6 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.6 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1 + } on_complete = { #Mandala Creator Aspect @@ -10040,6 +10484,14 @@ plantations_07 = { parameter = plantations_building_bonuses monthly_income = poor_building_extra_tax_tier_7 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.7 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1.1 + } on_complete = { #Mandala Creator Aspect @@ -10097,6 +10549,15 @@ plantations_08 = { parameter = plantations_building_bonuses monthly_income = poor_building_extra_tax_tier_8 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.8 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1.2 + } + on_complete = { #Mandala Creator Aspect diff --git a/common/buildings/00_temple_buildings.txt b/common/buildings/00_temple_buildings.txt index 1ef7db8c..717f2a60 100644 --- a/common/buildings/00_temple_buildings.txt +++ b/common/buildings/00_temple_buildings.txt @@ -775,6 +775,10 @@ temple_01 = { character_modifier = { men_at_arms_cap = 1 } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -1 + } flag = temple type_icon = "icon_building_monastic_schools.dds" @@ -1732,6 +1736,10 @@ temple_02 = { character_modifier = { men_at_arms_cap = 1 } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -2 + } flag = temple on_complete = { @@ -2559,6 +2567,10 @@ temple_03 = { character_modifier = { men_at_arms_cap = 1 } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -3 + } flag = temple on_complete = { @@ -3378,6 +3390,10 @@ temple_04 = { character_modifier = { men_at_arms_cap = 1 } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -4 + } flag = temple on_complete = { diff --git a/common/buildings/N3OW_standard_economy_buildings.txt b/common/buildings/N3OW_standard_economy_buildings.txt index bd6b6d85..5b311a6a 100644 --- a/common/buildings/N3OW_standard_economy_buildings.txt +++ b/common/buildings/N3OW_standard_economy_buildings.txt @@ -1064,6 +1064,14 @@ potato_fields_01 = { parameter = brewery_farming_bonus county_opinion_add = 2 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.1 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.5 + } on_complete = { #Mandala Creator Aspect @@ -1182,6 +1190,14 @@ potato_fields_02 = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.2 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.6 + } next_building = potato_fields_03 type_icon = "building_potato.dds" @@ -1277,6 +1293,14 @@ potato_fields_03 = { stationed_maa_damage_mult = normal_maa_damage_tier_3 stationed_maa_toughness_mult = normal_maa_toughness_tier_3 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.3 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.7 + } on_complete = { #Mandala Creator Aspect creator_mandala_built_regular_building_piety_effect = yes @@ -1373,6 +1397,19 @@ potato_fields_04 = { stationed_maa_damage_mult = normal_maa_damage_tier_4 stationed_maa_toughness_mult = normal_maa_toughness_tier_4 } + province_government_modifier = { + parameter = government_is_prepublic + county_fertility_growth_add = 0.8 + monthly_barter_goods = 0.4 + } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.4 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.8 + } on_complete = { #Mandala Creator Aspect @@ -1471,6 +1508,14 @@ potato_fields_05 = { stationed_maa_damage_mult = normal_maa_damage_tier_5 stationed_maa_toughness_mult = normal_maa_toughness_tier_5 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.5 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 0.9 + } on_complete = { #Mandala Creator Aspect @@ -1569,6 +1614,19 @@ potato_fields_06 = { stationed_maa_damage_mult = normal_maa_damage_tier_6 stationed_maa_toughness_mult = normal_maa_toughness_tier_6 } + province_government_modifier = { + parameter = government_is_prepublic + county_fertility_growth_add = 1.0 + monthly_barter_goods = 0.6 + } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.6 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1 + } on_complete = { #Mandala Creator Aspect @@ -1669,6 +1727,14 @@ potato_fields_07 = { stationed_maa_damage_mult = normal_maa_damage_tier_7 stationed_maa_toughness_mult = normal_maa_toughness_tier_7 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.7 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1.1 + } on_complete = { #Mandala Creator Aspect @@ -1769,6 +1835,14 @@ potato_fields_08 = { stationed_maa_damage_mult = normal_maa_damage_tier_8 stationed_maa_toughness_mult = normal_maa_toughness_tier_8 } + province_government_modifier = { + parameter = government_is_prepublic + monthly_barter_goods = 0.8 + } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_growth_add = 1.2 + } on_complete = { #Mandala Creator Aspect diff --git a/common/buildings/temple_citadel_buildings.txt b/common/buildings/temple_citadel_buildings.txt index 81e9a9be..ffb304b0 100644 --- a/common/buildings/temple_citadel_buildings.txt +++ b/common/buildings/temple_citadel_buildings.txt @@ -689,6 +689,10 @@ temple_citadel_01 = { character_modifier = { men_at_arms_cap = 1 } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -1 + } flag = temple_citadel type_icon = "tgp_icon_building_mandala_capital_tier_02.dds" @@ -1570,6 +1574,10 @@ temple_citadel_02 = { character_modifier = { men_at_arms_cap = 1 } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -2 + } flag = temple_citadel on_complete = { @@ -2364,6 +2372,10 @@ temple_citadel_03 = { character_modifier = { men_at_arms_cap = 1 } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -3 + } flag = temple_citadel on_complete = { @@ -3136,6 +3148,10 @@ temple_citadel_04 = { character_modifier = { men_at_arms_cap = 1 } + county_culture_modifier = { + parameter = use_farmer_republics + county_fertility_decline_add = -4 + } flag = temple_citadel on_complete = { diff --git a/common/casus_belli_types/00_religious_war.txt b/common/casus_belli_types/00_religious_war.txt new file mode 100644 index 00000000..84e68189 --- /dev/null +++ b/common/casus_belli_types/00_religious_war.txt @@ -0,0 +1,4546 @@ +minor_religious_war = { + icon = minor_religious_war + group = religious + + defender_faith_can_join = yes + + combine_into_one = yes + should_show_war_goal_subview = yes + mutually_exclusive_titles = { always = yes } + + attacker_score_from_occupation_scale = 150 + attacker_score_from_battles_scale = 150 + defender_score_from_battles_scale = 150 + + # Already defined in 00_casus_belli_groups.txt + allowed_for_character = { + scope:attacker.faith = { + NOT = { has_doctrine_parameter = unreformed } + NOT = { has_doctrine_parameter = holy_wars_forbidden } + } + NOR = { + government_has_flag = government_is_landless_adventurer + government_has_flag = government_is_nomadic + government_has_flag = government_is_celestial + } + } + + allowed_for_character_display_regardless = { + trigger_if = { + limit = { + highest_held_title_tier >= tier_kingdom + } + NOT = { piety_level = -1 } + } + trigger_else = { + trigger_if = { + limit = { + is_alive = yes + has_variable_list = humsacd_hofs + is_target_in_variable_list = { + name = humsacd_hofs + target = scope:attacker.faith + } + } + trigger_if = { + limit = { + OR = { + culture = { + has_cultural_parameter = cb_lower_piety_level_requirement + } + # Iberian Struggle Hostility Reward + house ?= { + OR = { + has_house_modifier = fp2_struggle_hostility_house_faith_modifier + has_house_modifier = fp2_struggle_hostility_house_combined_modifier + } + } + } + } + piety_level >= 0 + } + trigger_else = { + piety_level >= 0 + } + } + trigger_else = { + trigger_if = { + limit = { + OR = { + culture = { + has_cultural_parameter = cb_lower_piety_level_requirement + } + # Iberian Struggle Hostility Reward + house ?= { + OR = { + has_house_modifier = fp2_struggle_hostility_house_faith_modifier + has_house_modifier = fp2_struggle_hostility_house_combined_modifier + } + } + } + } + piety_level >= 0 + } + trigger_else = { + piety_level >= 1 + } + } + } + tgp_japan_offensive_wars_ban_trigger = yes + } + + allowed_against_character = { + scope:attacker = { + faith = { + faith_hostility_level = { + target = scope:defender.faith + value >= religious_cb_enabled_hostility_level + } + } + ALL_FALSE = { + top_liege = scope:defender.top_liege + liege = scope:defender + } + } + } + target_titles = neighbor_land_or_water + target_title_tier = all + target_de_jure_regions_above = yes + ignore_effect = change_title_holder + + valid_to_start = { + scope:target = { + tier = tier_county + is_landless_type_title = no + } + # Filter for struggles + trigger_if = { + limit = { + scope:defender = { + any_character_struggle = { + involvement = involved + is_struggle_type = iberian_struggle + } + } + } + are_holy_wars_disabled_in_struggle_phase_trigger = yes + } + are_holy_wars_disabled_by_struggle_conciliation_trigger = no # Disabled against other involved faiths in FP2 Conciliation ending + + } + + should_invalidate = { + OR = { + NOT = { + any_in_list = { + list = target_titles + any_in_de_jure_hierarchy = { + tier = tier_county + holder = { + OR = { + this = scope:defender + target_is_liege_or_above = scope:defender + } + } + } + } + } + #Faith change does not immediately invalidate, it's run through event war_event.3100 + scope:war = { exists = var:invalidate_defender_faith_change } + scope:war = { exists = var:invalidate_attacker_faith_change } + } + } + + on_invalidated_desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { + any_in_list = { + list = target_titles + any_in_de_jure_hierarchy = { + tier = tier_county + holder = { + OR = { + this = scope:defender + target_is_liege_or_above = scope:defender + } + } + } + } + } + } + desc = msg_religious_war_invalidation_region_message + } + triggered_desc = { + trigger = { + scope:war = { + OR = { + exists = var:invalidate_defender_faith_change + exists = var:invalidate_attacker_faith_change + } + } + } + desc = msg_religious_war_invalidated_hostility_level_message + } + } + } + + on_invalidated = { + } + + ai_score_mult = { + value = 1 + # Increase odds if the character is a vassal with Ghazi Contract + add = { + if = { + limit = { + scope:attacker = { + top_liege != this + vassal_contract_has_flag = vassal_contract_cheaper_religious_war + } + } + add = 1 + } + } + + # As a feudal gov, do not attack owner of tribal holdings if you have a tribal holding to convert already + add = { + every_in_list = { + list = target_titles + if = { + limit = { feudal_clan_tribal_conquest_constraints = yes } + add = -1000 + } + } + } + + # Holy War are limited to connected neighbour to limit big empire expansions over weak realms. + add = { + if = { + limit = { religious_war_vassals_constraints = yes } + add = -1000 + } + } + # HOUSE RELATIONS + add = house_relation_ai_score_value + # AI in struggles act insularly for wars that don't have a familial or legal basis. + multiply = struggle_wars_prioritise_struggle_targets_value + # Tell the Romans to stop going adventuring into the steppe for no gods-damned reason. + multiply = byzantium_conquests_ai_score_value + + add = frankokratia_leader_protection_value #Set back to 0. Declaring war on the frankokratia leader can really ruin the whole thing + } + + cost = { + piety = { + add = { + value = 100 + desc = CB_BASE_COST + } + multiply = common_cb_piety_cost_multiplier + multiply = holy_war_cb_piety_cost_multiplier + if = { + limit = { + scope:attacker = { + any_active_accolade = { + accolade_parameter = acclaimed_knight_piety_from_battle + } + } + } + multiply = accolade_piety_reduction_value + min = 10 + } + if = { + limit = { + scope:attacker = { + any_active_accolade = { + accolade_parameter = acclaimed_knight_piety_from_battle_high + } + } + } + multiply = accolade_piety_reduction_value_high + min = 10 + } + } + } + + on_declaration = { + on_declared_war = yes + } + + on_victory_desc = { + first_valid = { + triggered_desc = { + trigger = { + scope:attacker.faith = { + has_doctrine = doctrine_pluralism_pluralistic + } + } + desc = religious_war_victory_desc_doctrine_pluralism + } + desc = religious_war_victory_desc + } + } + + on_victory = { + scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_attacker_victory_effect = yes + + #EP2 accolade glory gain from winning against higher ranked enemy + scope:attacker = { accolade_attacker_war_end_glory_gain_low_effect = yes } + + create_title_and_vassal_change = { + type = conquest_holy_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 = { + list = target_titles + custom_tooltip = RELIGIOUS_CB_TITLE + + conquest_cb_title_transfer = { + RELIGIOUS_WAR = yes + } + } + + every_in_list = { + list = vassals_taken + change_liege = { + liege = scope:attacker + change = scope:change + } + } + + every_in_list = { + list = titles_taken + change_title_holder = { + holder = scope:attacker + change = scope:change + take_baronies = yes + } + } + + resolve_title_and_vassal_change = scope:change + + # Allies on both sides get full prestige value for helping in the war, based on their war participation. + modify_allies_of_participants_fame_values = { + WINNER = scope:defender + FAME_BASE = religious_cb_ally_prestige_county + IS_RELIGIOUS_WAR = no + WINNER_ALLY_FAME_SCALE = 1 + LOSER_ALLY_FAME_SCALE = 1 + } + + # Piety Progress for the Attacker + every_in_list = { + list = target_titles + scope:attacker = { + add_piety_experience = { + add = religious_cb_piety_gain_county + if = { + limit = { + scope:attacker.faith = { + has_doctrine_parameter = bonus_holy_war_piety_active + } + } + multiply = 1.5 + } + } + } + } + + ordered_in_list = { + list = target_titles + order_by = tier + max = 1 + + save_scope_as = war_goal_title + } + + scope:attacker.faith = { + change_fervor = { + value = -1 + desc = fervor_loss_religious_war + } + } + scope:defender.faith = { + change_fervor = { + value = 3 + desc = fervor_gain_religious_war + } + } + + # Truce + 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 } + + # EP3: note gold gained from military assistance/join war contracts and their war contribution threshold + laamp_as_mercenary_payout_tooltip_effect = yes + + #Mandalas gain or lose piety/devotion depending on Decree + mandala_war_victory_effects = yes + } + + on_white_peace_desc = { + desc = religious_war_white_peace_desc + } + + on_white_peace = { + scope:attacker = { show_pow_release_message_effect = yes } + + # Allies on both sides get full prestige value for helping in the war, based on their war participation. + modify_allies_of_participants_fame_values = { + WINNER = scope:defender # Not important as the scales are identical + FAME_BASE = religious_cb_ally_prestige_county + IS_RELIGIOUS_WAR = no + WINNER_ALLY_FAME_SCALE = 1 + LOSER_ALLY_FAME_SCALE = 1 + } + + # Truce + add_truce_white_peace_effect = yes + + scope:attacker = { + add_piety = religious_cb_piety_white_peace + stress_impact = { + ambitious = medium_stress_impact_gain + arrogant = medium_stress_impact_gain + } + } + + scope:defender = { + stress_impact = { + arrogant = medium_stress_impact_gain + } + } + + # EP3: note gold gained from military assistance/join war contracts and their war contribution threshold + laamp_as_mercenary_payout_tooltip_effect = yes + } + + on_defeat_desc = { + desc = religious_war_defeat_desc + } + + on_defeat = { + scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_attacker_defeat_effect = yes + + scope:defender = { + mandala_peacemaker_perk_serenity_effect = yes + #EP2 accolade glory gain for winning against higher ranked enemy + accolade_defender_war_end_glory_gain_high_effect = yes + } + + scope:attacker = { + every_vassal = { + limit = { faith = scope:attacker.faith } + custom = all_attackers_vassals_same_faith + add_opinion = { + modifier = liege_lost_declared_religious_war + target = scope:attacker + } + } + } + + # Allies on both sides get full prestige value for helping in the war, based on their war participation. + modify_allies_of_participants_fame_values = { + WINNER = scope:defender + FAME_BASE = religious_cb_ally_prestige_county + IS_RELIGIOUS_WAR = no + WINNER_ALLY_FAME_SCALE = 1 + LOSER_ALLY_FAME_SCALE = 1 + } + + # piety change + every_in_list = { + list = target_titles + + scope:defender = { + add_piety = { + add = religious_cb_piety_gain_county + if = { + limit = { + scope:defender.faith = { + has_doctrine_parameter = bonus_holy_war_piety_active + } + } + multiply = 1.5 + } + } + } + + scope:attacker = { + if = { + limit = { + monthly_character_income > 0 + } + pay_short_term_income = { + years = 2 + target = scope:defender + } + } + else = { + pay_short_term_gold = { + target = scope:defender + gold = medium_gold_value + } + } + } + } + + # Truce + add_truce_attacker_defeat_effect = yes + + scope:attacker = { + save_temporary_scope_as = loser + } + on_lost_aggression_war_discontent_loss = yes + + # EP3: note gold gained from military assistance/join war contracts and their war contribution threshold + laamp_as_mercenary_payout_tooltip_effect = yes + + #Mandalas gain or lose piety/devotion depending on Decree + mandala_war_defeat_effects = yes + } + + on_primary_attacker_death = inherit + on_primary_defender_death = inherit + + transfer_behavior = transfer + + attacker_allies_inherit = yes + defender_allies_inherit = yes + + war_name = "RELIGIOUS_WAR_NAME" + cb_name = "HOLY_WAR_COUNTY_NAME" + + is_holy_war = yes + + interface_priority = 80 + + use_de_jure_wargoal_only = yes + + attacker_wargoal_percentage = 0.8 + + max_defender_score_from_occupation = 150 + max_attacker_score_from_occupation = 150 + + max_ai_diplo_distance_to_title = 500 +} + +religious_war = { + icon = minor_religious_war + group = religious + + defender_faith_can_join = yes + + combine_into_one = yes + should_show_war_goal_subview = yes + mutually_exclusive_titles = { always = yes } + + attacker_score_from_occupation_scale = 150 + attacker_score_from_battles_scale = 150 + defender_score_from_battles_scale = 150 + + # Additional requirements to the defines in 00_casus_belli_groups.txt + allowed_for_character = { + scope:attacker.faith = { + NOT = { has_doctrine_parameter = unreformed } + NOT = { has_doctrine_parameter = holy_wars_forbidden } + } + NOR = { + government_has_flag = government_is_nomadic + government_has_flag = government_is_celestial + } + } + + allowed_for_character_display_regardless = { + trigger_if = { + limit = { + highest_held_title_tier >= tier_kingdom + } + NOT = { piety_level = -1 } + } + trigger_else = { + trigger_if = { + limit = { + is_alive = yes + has_variable_list = humsacd_hofs + is_target_in_variable_list = { + name = humsacd_hofs + target = scope:attacker.faith + } + } + trigger_if = { + limit = { + OR = { + culture = { + has_cultural_parameter = cb_lower_piety_level_requirement + } + # Iberian Struggle Hostility Reward + house ?= { + OR = { + has_house_modifier = fp2_struggle_hostility_house_faith_modifier + has_house_modifier = fp2_struggle_hostility_house_combined_modifier + } + } + } + } + piety_level >= 0 + } + trigger_else = { + piety_level >= 1 + } + } + trigger_else = { + trigger_if = { + limit = { + OR = { + culture = { + has_cultural_parameter = cb_lower_piety_level_requirement + } + # Iberian Struggle Hostility Reward + house ?= { + OR = { + has_house_modifier = fp2_struggle_hostility_house_faith_modifier + has_house_modifier = fp2_struggle_hostility_house_combined_modifier + } + } + } + } + piety_level >= 1 + } + trigger_else = { + piety_level >= 2 + } + } + } + tgp_japan_offensive_wars_ban_trigger = yes + } + + allowed_against_character = { + scope:attacker = { + faith = { + faith_hostility_level = { + target = scope:defender.faith + value >= religious_cb_enabled_hostility_level + } + } + ALL_FALSE = { + top_liege = scope:defender.top_liege + liege = scope:defender + } + } + } + target_titles = neighbor_land_or_water + target_title_tier = all + target_de_jure_regions_above = yes + ignore_effect = change_title_holder + + valid_to_start = { + scope:target = { + tier = tier_duchy + is_landless_type_title = no + } + 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 = { + scope:defender = { + any_character_struggle = { + involvement = involved + is_struggle_type = iberian_struggle + } + } + } + are_holy_wars_disabled_in_struggle_phase_trigger = yes + } + are_holy_wars_disabled_by_struggle_conciliation_trigger = no # Disabled against other involved faiths in FP2 Conciliation ending + + } + + should_invalidate = { + OR = { + NOT = { + any_in_list = { + list = target_titles + any_in_de_jure_hierarchy = { + tier = tier_county + holder = { + OR = { + this = scope:defender + target_is_liege_or_above = scope:defender + } + } + } + } + } + #Faith change does not immediately invalidate, it's run through event war_event.3100 + scope:war = { exists = var:invalidate_defender_faith_change } + scope:war = { exists = var:invalidate_attacker_faith_change } + } + } + + on_invalidated_desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { + any_in_list = { + list = target_titles + any_in_de_jure_hierarchy = { + tier = tier_county + holder = { + OR = { + this = scope:defender + target_is_liege_or_above = scope:defender + } + } + } + } + } + } + desc = msg_religious_war_invalidation_region_message + } + triggered_desc = { + trigger = { + scope:war = { + OR = { + exists = var:invalidate_defender_faith_change + exists = var:invalidate_attacker_faith_change + } + } + } + desc = msg_religious_war_invalidated_hostility_level_message + } + } + } + + on_invalidated = { + + } + + cost = { + piety = { + add = { + value = 200 + desc = CB_BASE_COST + } + multiply = common_cb_piety_cost_multiplier + multiply = holy_war_cb_piety_cost_multiplier + # Half price for mean Iberians + if = { + limit = { + scope:attacker.house = { + OR = { + has_house_modifier = fp2_struggle_hostility_house_faith_modifier + has_house_modifier = fp2_struggle_hostility_house_combined_modifier + } + } + any_in_global_list = { + variable = fp2_struggle_ending_faith_list + this = scope:attacker.faith + } + any_in_global_list = { + variable = fp2_struggle_ending_faith_list + this = scope:defender.faith + } + } + divide = { + value = 2 + desc = CB_COST_FP2_STRUGGLE_HOSTILITY_FAITH_DISCOUNT + } + } + # Double price for failure Iberians + if = { + limit = { + has_global_variable = fp2_struggle_compromise_ending + any_in_global_list = { + variable = fp2_struggle_ending_faith_list + this = scope:attacker.faith + } + any_in_global_list = { + variable = fp2_struggle_ending_faith_list + this = scope:defender.faith + } + } + multiply = { + value = 2 + desc = CB_COST_FP2_STRUGGLE_COMPROMISE_MULTIPLIER + } + } + if = { + limit = { + scope:attacker = { + any_active_accolade = { + accolade_parameter = acclaimed_knight_piety_from_battle + } + } + } + multiply = accolade_piety_reduction_value + min = 25 + } + if = { + limit = { + scope:attacker = { + any_active_accolade = { + accolade_parameter = acclaimed_knight_piety_from_battle_high + } + } + } + multiply = accolade_piety_reduction_value_high + min = 25 + } + } + } + + on_declaration = { + on_declared_war = yes + } + + on_victory_desc = { + first_valid = { + triggered_desc = { + trigger = { + scope:attacker.faith = { + has_doctrine = doctrine_pluralism_pluralistic + } + } + desc = religious_war_victory_desc_doctrine_pluralism + } + desc = religious_war_victory_desc + } + } + + 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_med_effect = yes } + + create_title_and_vassal_change = { + type = conquest_holy_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 = { + list = target_titles + custom_tooltip = RELIGIOUS_CB_TITLE + + conquest_cb_title_transfer = { + RELIGIOUS_WAR = yes + } + } + + every_in_list = { + list = vassals_taken + change_liege = { + liege = scope:attacker + change = scope:change + } + } + + every_in_list = { + list = titles_taken + change_title_holder = { + holder = scope:attacker + change = scope:change + take_baronies = yes + } + } + + + resolve_title_and_vassal_change = scope:change + + # Allies on both sides get full prestige value for helping in the war, based on their war participation. + modify_allies_of_participants_fame_values = { + WINNER = scope:attacker + FAME_BASE = religious_cb_ally_prestige_duchy + IS_RELIGIOUS_WAR = no + WINNER_ALLY_FAME_SCALE = 1 + LOSER_ALLY_FAME_SCALE = 1 + } + + # Piety Progress for the Attacker + every_in_list = { + list = target_titles + scope:attacker = { + add_piety_experience = { + add = religious_cb_piety_gain_duchy + if = { + limit = { + scope:attacker.faith = { + has_doctrine_parameter = bonus_holy_war_piety_active + } + } + multiply = 1.5 + } + } + } + } + + ordered_in_list = { + list = target_titles + order_by = tier + max = 1 + + save_scope_as = war_goal_title + } + + scope:attacker.faith = { + change_fervor = { + value = -2 + desc = fervor_loss_religious_war + } + } + scope:defender.faith = { + change_fervor = { + value = 4 + desc = fervor_gain_religious_war + } + } + + # Truce + 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 } + + # EP3: note gold gained from military assistance/join war contracts and their war contribution threshold + laamp_as_mercenary_payout_tooltip_effect = yes + + #Mandalas gain or lose piety/devotion depending on Decree + mandala_war_victory_effects = yes + } + + on_white_peace_desc = { + desc = religious_war_white_peace_desc + } + + on_white_peace = { + scope:attacker = { show_pow_release_message_effect = yes } + + #EP2 accolade glory gain for sort of winning + scope:defender = { accolade_defender_war_end_glory_gain_low_effect = yes } + + # Allies on both sides get full prestige value for helping in the war, based on their war participation. + modify_allies_of_participants_fame_values = { + WINNER = scope:attacker # Not important as the scales are identical + FAME_BASE = religious_cb_ally_prestige_duchy + IS_RELIGIOUS_WAR = no + WINNER_ALLY_FAME_SCALE = 1 + LOSER_ALLY_FAME_SCALE = 1 + } + + # Truce + add_truce_white_peace_effect = yes + + scope:attacker = { + add_piety = religious_cb_piety_white_peace + stress_impact = { + ambitious = medium_stress_impact_gain + arrogant = medium_stress_impact_gain + } + } + + scope:defender = { + stress_impact = { + arrogant = medium_stress_impact_gain + } + } + + # EP3: note gold gained from military assistance/join war contracts and their war contribution threshold + laamp_as_mercenary_payout_tooltip_effect = yes + } + + on_defeat_desc = { + desc = religious_war_defeat_desc + } + + on_defeat = { + scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_attacker_defeat_effect = yes + + scope:defender = { + mandala_peacemaker_perk_serenity_effect = yes + #EP2 accolade glory gain for winning against higher ranked enemy + accolade_defender_war_end_glory_gain_high_effect = yes + } + + # Allies on both sides get full prestige value for helping in the war, based on their war participation. + modify_allies_of_participants_fame_values = { + WINNER = scope:defender + FAME_BASE = religious_cb_ally_prestige_duchy + IS_RELIGIOUS_WAR = no + WINNER_ALLY_FAME_SCALE = 1 + LOSER_ALLY_FAME_SCALE = 1 + } + + # piety change + every_in_list = { + list = target_titles + + scope:defender = { + add_piety = { + add = religious_cb_piety_gain_duchy + if = { + limit = { + scope:defender.faith = { + has_doctrine_parameter = bonus_holy_war_piety_active + } + } + multiply = 1.5 + } + } + } + + scope:attacker = { + if = { + limit = { + monthly_character_income > 0 + } + pay_short_term_income = { + years = 3 + target = scope:defender + } + } + else = { + pay_short_term_gold = { + target = scope:defender + gold = medium_gold_value + } + } + } + } + + scope:attacker = { + every_vassal = { + limit = { faith = scope:attacker.faith } + custom = all_attackers_vassals_same_faith + add_opinion = { + modifier = liege_lost_declared_religious_war + target = scope:attacker + } + } + } + + # Truce + add_truce_attacker_defeat_effect = yes + + scope:attacker = { + save_temporary_scope_as = loser + } + on_lost_aggression_war_discontent_loss = yes + + # EP3: note gold gained from military assistance/join war contracts and their war contribution threshold + laamp_as_mercenary_payout_tooltip_effect = yes + + #Mandalas gain or lose piety/devotion depending on Decree + mandala_war_defeat_effects = yes + } + + on_primary_attacker_death = inherit + on_primary_defender_death = inherit + + transfer_behavior = transfer + + attacker_allies_inherit = yes + defender_allies_inherit = yes + + war_name = "RELIGIOUS_WAR_NAME" + cb_name = "HOLY_WAR_DUCHY_NAME" + + is_holy_war = yes + + interface_priority = 80 + + use_de_jure_wargoal_only = yes + + attacker_wargoal_percentage = 0.8 + + max_defender_score_from_occupation = 150 + max_attacker_score_from_occupation = 150 + + max_ai_diplo_distance_to_title = 500 + + ai_score_mult = { + value = 1 + # Increase odds if the character is a vassal with Ghazi Contract + add = { + if = { + limit = { + scope:attacker = { + top_liege != this + vassal_contract_has_flag = vassal_contract_cheaper_religious_war + } + } + add = 1 + } + } + + # As a feudal gov, do not attack owner of tribal holdings if you have a tribal holding to convert already + add = { + every_in_list = { + list = target_titles + if = { + limit = { feudal_clan_tribal_conquest_constraints = yes } + add = -1000 + } + } + } + + # Holy War are limited to connected neighbour to limit big empire expansions over weak realms. + add = { + if = { + limit = { religious_war_vassals_constraints = yes } + add = -1000 + } + } + # HOUSE RELATIONS + add = house_relation_ai_score_value + # AI in struggles act insularly for wars that don't have a familial or legal basis. + multiply = struggle_wars_prioritise_struggle_targets_value + # Tell the Romans to stop going adventuring into the steppe for no gods-damned reason. + multiply = byzantium_conquests_ai_score_value + + add = frankokratia_leader_protection_value #Set back to 0. Declaring war on the frankokratia leader can really ruin the whole thing + } +} + +major_religious_war = { + icon = major_religious_war + group = religious + + defender_faith_can_join = yes + + combine_into_one = yes + should_show_war_goal_subview = yes + mutually_exclusive_titles = { always = yes } + + # Additional requirements to the defines in 00_casus_belli_groups.txt + allowed_for_character = { + scope:attacker.faith = { + NOT = { has_doctrine_parameter = unreformed } + } + NOR = { + government_has_flag = government_is_nomadic + government_has_flag = government_is_celestial + } + } + + allowed_for_character_display_regardless = { + trigger_if = { + limit = { + is_alive = yes + has_variable_list = humsacd_hofs + is_target_in_variable_list = { + name = humsacd_hofs + target = scope:attacker.faith + } + } + trigger_if = { + limit = { + OR = { + culture = { + has_cultural_parameter = cb_lower_piety_level_requirement + } + # Iberian Struggle Hostility Reward + AND = { + house ?= { + OR = { + has_house_modifier = fp2_struggle_hostility_house_faith_modifier + has_house_modifier = fp2_struggle_hostility_house_combined_modifier + } + } + } + } + } + piety_level >= 1 + } + trigger_else = { + piety_level >= 2 + } + } + trigger_else = { + trigger_if = { + limit = { + OR = { + culture = { + has_cultural_parameter = cb_lower_piety_level_requirement + } + # Iberian Struggle Hostility Reward + AND = { + house ?= { + OR = { + has_house_modifier = fp2_struggle_hostility_house_faith_modifier + has_house_modifier = fp2_struggle_hostility_house_combined_modifier + } + } + } + } + } + piety_level >= 2 + } + trigger_else = { + piety_level >= 3 + } + } + trigger_if = { + limit = { + culture = { + NOT = { + has_cultural_parameter = no_limit_to_kingdom_level_holy_wars + } + } + } + custom_description = { + text = declared_major_religious_war_flag_tt + OR = { + has_character_flag = bonus_major_holy_war + NOT = { has_character_flag = declared_major_religious_war_flag } + } + } + } + tgp_japan_offensive_wars_ban_trigger = yes + } + + allowed_against_character = { + scope:attacker = { + faith = { + faith_hostility_level = { + target = scope:defender.faith + value >= religious_cb_enabled_hostility_level + } + } + ALL_FALSE = { + top_liege = scope:defender.top_liege + liege = scope:defender + } + } + } + target_titles = neighbor_land_or_water + target_title_tier = all + target_de_jure_regions_above = yes + ignore_effect = change_title_holder + + valid_to_start = { + scope:target = { + tier = tier_kingdom + is_landless_type_title = no + } + # Filter for struggles + trigger_if = { + limit = { + scope:defender = { + any_character_struggle = { + involvement = involved + is_struggle_type = iberian_struggle + } + } + } + are_holy_wars_disabled_in_struggle_phase_trigger = yes + } + 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 = { + OR = { + NOT = { + any_in_list = { + list = target_titles + any_in_de_jure_hierarchy = { + tier = tier_county + holder = { + OR = { + this = scope:defender + target_is_liege_or_above = scope:defender + } + } + } + } + } + #Faith change does not immediately invalidate, it's run through event war_event.3100 + scope:war = { exists = var:invalidate_defender_faith_change } + scope:war = { exists = var:invalidate_attacker_faith_change } + } + } + + on_invalidated_desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { + any_in_list = { + list = target_titles + any_in_de_jure_hierarchy = { + tier = tier_county + holder = { + OR = { + this = scope:defender + target_is_liege_or_above = scope:defender + } + } + } + } + } + } + desc = msg_religious_war_invalidation_region_message + } + triggered_desc = { + trigger = { + scope:war = { + OR = { + exists = var:invalidate_defender_faith_change + exists = var:invalidate_attacker_faith_change + } + } + } + desc = msg_religious_war_invalidated_hostility_level_message + } + } + } + + on_invalidated = { + scope:attacker = { remove_character_flag = declared_major_religious_war_flag } + } + + cost = { + piety = { + add = { + value = 750 + desc = CB_BASE_COST + } + multiply = common_cb_piety_cost_multiplier + multiply = holy_war_cb_piety_cost_multiplier + if = { + limit = { + scope:attacker = { + any_active_accolade = { + accolade_parameter = acclaimed_knight_piety_from_battle + } + } + } + multiply = accolade_piety_reduction_value + min = 90 + } + if = { + limit = { + scope:attacker = { + any_active_accolade = { + accolade_parameter = acclaimed_knight_piety_from_battle_high + } + } + } + multiply = accolade_piety_reduction_value_high + min = 90 + } + } + } + + on_declaration = { + on_declared_war = yes + scope:attacker = { + if = { + limit = { + has_character_flag = bonus_major_holy_war + } + remove_character_flag = bonus_major_holy_war + } + else = { + add_character_flag = declared_major_religious_war_flag + } + } + } + + on_victory_desc = { + first_valid = { + triggered_desc = { + trigger = { + scope:attacker.faith = { + has_doctrine = doctrine_pluralism_pluralistic + } + } + desc = religious_war_victory_desc_doctrine_pluralism + } + desc = religious_war_victory_desc + } + triggered_desc = { + trigger = { + scope:attacker = { + is_local_player = yes + OR = { + AND = { + NOT = { has_character_flag = bonus_major_holy_war } + NOT = { has_character_flag = declared_major_religious_war_flag } + } + AND = { + has_character_flag = bonus_major_holy_war + has_character_flag = declared_major_religious_war_flag + } + } + } + } + desc = major_religious_war_warning_desc + } + } + + on_victory = { + scope:attacker = { + if = { + limit = { + has_variable = k_holy_war_crusader + } + add_trait = faith_warrior + } + } + 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 } + + create_title_and_vassal_change = { + type = conquest_holy_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 = { + list = target_titles + custom_tooltip = RELIGIOUS_CB_TITLE + + conquest_cb_title_transfer = { + RELIGIOUS_WAR = yes + } + } + + every_in_list = { + list = vassals_taken + change_liege = { + liege = scope:attacker + change = scope:change + } + } + + every_in_list = { + list = titles_taken + change_title_holder = { + holder = scope:attacker + change = scope:change + take_baronies = yes + } + } + + resolve_title_and_vassal_change = scope:change + + # Allies on both sides get full prestige value for helping in the war, based on their war participation. + modify_allies_of_participants_fame_values = { + WINNER = scope:attacker + FAME_BASE = religious_cb_ally_prestige_kingdom + IS_RELIGIOUS_WAR = no + WINNER_ALLY_FAME_SCALE = 1 + LOSER_ALLY_FAME_SCALE = 1 + } + + # Piety Progress for the Attacker + every_in_list = { + list = target_titles + scope:attacker = { + add_piety_experience = { + add = religious_cb_piety_gain_kingdom + if = { + limit = { + scope:attacker.faith = { + has_doctrine_parameter = bonus_holy_war_piety_active + } + } + multiply = 1.5 + } + } + } + } + + ordered_in_list = { + list = target_titles + order_by = tier + max = 1 + + save_scope_as = war_goal_title + } + + scope:attacker.faith = { + change_fervor = { + value = -5 + desc = fervor_loss_religious_war + } + } + scope:defender.faith = { + change_fervor = { + value = 10 + desc = fervor_gain_religious_war + } + } + + # Truce + 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 } + + # EP3: note gold gained from military assistance/join war contracts and their war contribution threshold + laamp_as_mercenary_payout_tooltip_effect = yes + + #Mandalas gain or lose piety/devotion depending on Decree + mandala_war_victory_effects = yes + } + + on_white_peace_desc = { + desc = religious_war_white_peace_desc + } + + on_white_peace = { + scope:attacker = { show_pow_release_message_effect = yes } + + #EP2 accolade glory gain for doing ok against higher ranked enemy + scope:attacker = { accolade_attacker_war_end_glory_gain_low_effect = yes } + scope:defender = { accolade_defender_war_end_glory_gain_med_effect = yes } + + # Allies on both sides get full prestige value for helping in the war, based on their war participation. + modify_allies_of_participants_fame_values = { + WINNER = scope:attacker # Not important as the scales are identical + FAME_BASE = religious_cb_ally_prestige_kingdom + IS_RELIGIOUS_WAR = no + WINNER_ALLY_FAME_SCALE = 1 + LOSER_ALLY_FAME_SCALE = 1 + } + + scope:attacker = { + add_piety = religious_cb_piety_white_peace + stress_impact = { + ambitious = medium_stress_impact_gain + arrogant = medium_stress_impact_gain + } + } + + scope:defender = { + stress_impact = { + arrogant = medium_stress_impact_gain + } + } + + # Truce + add_truce_white_peace_effect = yes + + # EP3: note gold gained from military assistance/join war contracts and their war contribution threshold + laamp_as_mercenary_payout_tooltip_effect = yes + } + + on_defeat_desc = { + desc = religious_war_defeat_desc + } + + on_defeat = { + scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_attacker_defeat_effect = yes + + scope:defender = { + mandala_peacemaker_perk_serenity_effect = yes + #EP2 accolade glory gain for winning against higher ranked enemy + accolade_defender_war_end_glory_gain_high_effect = yes + } + + # Allies on both sides get full prestige value for helping in the war, based on their war participation. + modify_allies_of_participants_fame_values = { + WINNER = scope:defender + FAME_BASE = religious_cb_ally_prestige_kingdom + IS_RELIGIOUS_WAR = no + WINNER_ALLY_FAME_SCALE = 1 + LOSER_ALLY_FAME_SCALE = 1 + } + + # piety change + every_in_list = { + list = target_titles + + scope:defender = { + add_piety = { + add = religious_cb_piety_gain_kingdom + if = { + limit = { + scope:defender.faith = { + has_doctrine_parameter = bonus_holy_war_piety_active + } + } + multiply = 1.5 + } + } + } + + scope:attacker = { + if = { + limit = { + monthly_character_income > 0 + } + pay_short_term_income = { + years = 4 + target = scope:defender + } + } + else = { + pay_short_term_gold = { + target = scope:defender + gold = medium_gold_value + } + } + } + } + + scope:attacker = { + every_vassal = { + limit = { faith = scope:attacker.faith } + custom = all_attackers_vassals_same_faith + add_opinion = { + modifier = liege_lost_declared_religious_war + target = scope:attacker + } + } + } + + # Truce + add_truce_attacker_defeat_effect = yes + + scope:attacker = { + save_temporary_scope_as = loser + } + on_lost_aggression_war_discontent_loss = yes + + # EP3: note gold gained from military assistance/join war contracts and their war contribution threshold + laamp_as_mercenary_payout_tooltip_effect = yes + + #Mandalas gain or lose piety/devotion depending on Decree + mandala_war_defeat_effects = yes + } + + on_primary_attacker_death = inherit + on_primary_defender_death = inherit + + transfer_behavior = transfer + + attacker_allies_inherit = yes + defender_allies_inherit = yes + + war_name = "RELIGIOUS_WAR_NAME" + cb_name = "HOLY_WAR_KINGDOM_NAME" + + is_holy_war = yes + + interface_priority = 80 + + use_de_jure_wargoal_only = yes + + attacker_wargoal_percentage = 0.8 + + max_defender_score_from_occupation = 150 + max_attacker_score_from_occupation = 150 + + max_ai_diplo_distance_to_title = 500 + + ai_score_mult = { + value = 1 + # Increase odds if the character is a vassal with Ghazi Contract + add = { + if = { + limit = { + scope:attacker = { + top_liege != this + vassal_contract_has_flag = vassal_contract_cheaper_religious_war + } + } + add = 1 + } + } + + # As a feudal gov, do not attack owner of tribal holdings if you have a tribal holding to convert already + add = { + every_in_list = { + list = target_titles + if = { + limit = { feudal_clan_tribal_conquest_constraints = yes } + add = -1000 + } + } + } + + # Holy War are limited to connected neighbour to limit big empire expansions over weak realms. + add = { + if = { + limit = { religious_war_vassals_constraints = yes } + add = -1000 + } + } + # HOUSE RELATIONS + add = house_relation_ai_score_value + # AI in struggles act insularly for wars that don't have a familial or legal basis. + multiply = struggle_wars_prioritise_struggle_targets_value + # Tell the Romans to stop going adventuring into the steppe for no gods-damned reason. + multiply = byzantium_conquests_ai_score_value + multiply = muslim_invasions_prefer_nonmuslims_ai_score_value + + add = frankokratia_leader_protection_value #Set back to 0. Declaring war on the frankokratia leader can really ruin the whole thing + } +} + +excommunication_war = { + icon = excommunication + group = religious + ai_only_against_neighbors = yes + allow_hostages = no + + # Already defined in 00_casus_belli_groups.txt + # allowed_for_character = {} + + attacker_score_from_battles_scale = 150 + defender_score_from_battles_scale = 150 + + allowed_against_character = { + scope:defender = { + #Defender must be an excommunicated member of our faith. + has_trait = excommunicated + top_liege = this + faith = { + has_doctrine_parameter = excommunication_active + this = scope:attacker.faith + } + } + + scope:attacker = { + #We can't DoW our own liege + NOR = { + liege = scope:defender + #No pot calling the kettle black + has_trait = excommunicated + } + + trigger_if = { + limit = { is_ai = no } # Already pre-filtered by the AI due to ai_only_against_neighbors = yes. any_neighboring_top_liege_realm_owner is expensive + #We have to be neighboring the excommunicated ruler. + any_neighboring_top_liege_realm_owner = { + this = scope:defender + } + } + } + } + + target_de_jure_regions_above = yes + + valid_to_start = { + always = yes + } + + on_declaration = { + on_declared_war = yes + } + + on_victory_desc = { + first_valid = { + triggered_desc = { + trigger = { + scope:defender = { is_local_player = yes } + } + desc = excommunication_war_victory_desc_defender + } + desc = excommunication_war_victory_desc + } + } + + on_victory = { + scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_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:attacker = { + reverse_add_opinion = { + modifier = pleased_opinion + target = faith.religious_head + opinion = 20 + } + } + + #Handle all piety gains/losses in scripted effects. + excommunication_cb_piety_change = { + WINNER = scope:attacker + 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_effect = { DEPOSER = scope:attacker } + } + + # Truce + add_truce_attacker_victory_effect = yes + + # EP3: note gold gained from military assistance/join war contracts and their war contribution threshold + laamp_as_mercenary_payout_tooltip_effect = yes + + #Mandalas gain or lose piety/devotion depending on Decree + mandala_war_victory_effects = yes + } + + on_white_peace_desc = { + first_valid = { + triggered_desc = { + trigger = { + scope:defender = { is_local_player = yes } + } + desc = excommunication_war_white_peace_desc_defender + } + desc = excommunication_war_white_peace_desc + } + } + + on_white_peace = { + scope:attacker = { show_pow_release_message_effect = yes } + + #EP2 Accolade glory gain for defender for being ok + scope:defender = { accolade_defender_war_end_glory_gain_low_effect = yes } + + scope:attacker = { + add_piety = excommunication_cb_piety_white_peace + stress_impact = { + ambitious = medium_stress_impact_gain + arrogant = medium_stress_impact_gain + } + } + + scope:defender = { + stress_impact = { + arrogant = medium_stress_impact_gain + } + } + + # Truce + add_truce_white_peace_effect = yes + + # EP3: note gold gained from military assistance/join war contracts and their war contribution threshold + laamp_as_mercenary_payout_tooltip_effect = yes + } + + on_defeat_desc = { + first_valid = { + triggered_desc = { + trigger = { + scope:attacker = { is_local_player = yes } + } + desc = excommunication_war_defeat_desc_attacker + } + triggered_desc = { + trigger = { + scope:defender = { is_local_player = yes } + } + desc = excommunication_war_defeat_desc_defender + } + desc = excommunication_war_defeat_desc + } + } + + on_defeat = { + scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_attacker_defeat_effect = yes + + scope:defender = { + mandala_peacemaker_perk_serenity_effect = yes + #EP2 accolade glory gain for winning against higher ranked enemy + accolade_defender_war_end_glory_gain_high_effect = yes + } + + #Handle all piety gains/losses in scripted effects. + excommunication_cb_piety_change = { + LOSER = scope:attacker + WINNER = scope:defender + } + + scope:defender = { + remove_trait = excommunicated + add_character_modifier = { + modifier = excommunication_recently_lifted + years = 10 + } + } + + scope:attacker = { + reverse_add_opinion = { + modifier = disappointed_opinion + target = faith.religious_head + opinion = -20 + } + } + + # Truce + add_truce_attacker_defeat_effect = yes + + # EP3: note gold gained from military assistance/join war contracts and their war contribution threshold + laamp_as_mercenary_payout_tooltip_effect = yes + + #Mandalas gain or lose piety/devotion depending on Decree + mandala_war_defeat_effects = yes + } + + should_invalidate = { + scope:defender = { + NOT = { + has_trait = excommunicated + } + } + } + + on_invalidated_desc = { + first_valid = { + triggered_desc = { + trigger = { + scope:defender = { + NOT = { + has_trait = excommunicated + } + } + } + desc = msg_excommunication_war_invalidation_trait_message + } + desc = msg_invalidate_war_title + } + } + + on_invalidated = { + scope:attacker = { + #Used for the piety_change scripted effect. + save_scope_as = winner + } + + #Handle all piety gains/losses in scripted effects. + excommunication_cb_piety_change = { + WINNER = scope:attacker + LOSER = scope:defender + } + + scope:defender = { + + #Used for the piety_change scripted effect. + save_scope_as = loser + } + } + + on_primary_attacker_death = invalidate + on_primary_defender_death = inherit + + transfer_behavior = transfer + + attacker_allies_inherit = yes + defender_allies_inherit = yes + + war_name = "EXCOMMUNICATION_WAR_NAME" + + interface_priority = 80 + + use_de_jure_wargoal_only = yes + + attacker_wargoal_percentage = 0.8 + + max_defender_score_from_occupation = 150 + max_attacker_score_from_occupation = 150 + max_attacker_score_from_battles = 100 + max_defender_score_from_battles = 100 + + max_ai_diplo_distance_to_title = 500 + + ai_score_mult = { + value = 1 + # Increase odds if the character is a vassal with Ghazi Contract + add = { + if = { + limit = { + scope:attacker = { + top_liege != this + vassal_contract_has_flag = vassal_contract_cheaper_religious_war + } + } + add = 1 + } + } + # Holy War are limited to connected neighbour to limit big empire expansions over weak realms. + add = { + if = { + limit = { religious_war_vassals_constraints = yes } + add = -1000 + } + } + + add = frankokratia_leader_protection_value #Set back to 0. Declaring war on the frankokratia leader can really ruin the whole thing + } +} + +flowery_war_cb = { + icon = ducal_conquest_cb + group = religious_disorganised + ai_only_against_neighbors = yes + allow_hostages = no + + allowed_for_character = { + faith = { has_doctrine_parameter = flower_war_cb_active } + NOT = { #Must not have any leftover sacrificial prisoners/easy ability to get any. + any_prisoner = { has_character_modifier = designated_human_sacrifice_modifier } + } + } + + # Root is the title + # scope:attacker is the attacker + # scope:defender is the defender + allowed_against_character = { + scope:defender = { + top_liege = this + trigger_if = { + limit = { scope:attacker = { is_ai = no } } # Already pre-filtered by the AI due to ai_only_against_neighbors = yes. any_neighboring_top_liege_realm_owner is expensive + scope:attacker = { + any_neighboring_top_liege_realm_owner = { + this = scope:defender + } + } + } + } + } + + cost = { + piety = { + add = { + value = 100 + desc = CB_BASE_COST + } + multiply = common_cb_piety_cost_multiplier + } + } + + should_invalidate = { + OR = { + AND = { #A formal flowery war only invalidates if neither side is an interested participant. + scope:attacker.faith = { + NOT = { has_doctrine_parameter = human_sacrifice_active } + } + scope:defender.faith = { + NOT = { has_doctrine_parameter = human_sacrifice_active } + } + } + scope:attacker = { + any_prisoner = { has_character_modifier = designated_human_sacrifice_modifier } + } + } + } + + on_invalidated_desc = { + first_valid = { + triggered_desc = { + trigger = { + scope:attacker = { + any_prisoner = { has_character_modifier = designated_human_sacrifice_modifier } + } + } + desc = flowery_war_cb_ended_invalid.desc_other_sacrifices_attacker + } + desc = flowery_war_cb_ended_invalid.desc_no_sacrificers + } + } + + on_invalidated = { + + } + + on_declaration = { + on_declared_war = yes + } + + on_victory_desc = { + desc = flowery_war_cb_victory_desc + } + + on_victory = { + scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_attacker_victory_effect = yes + + #EP2 Accolade glory gain from winning against higher ranked enemy + scope:attacker = { accolade_attacker_war_end_glory_gain_low_effect = yes } + + scope:attacker = { + if = { #If the attacker enjoys human sacrifice, then this was sacred. + limit = { + faith = { has_doctrine_parameter = human_sacrifice_active } + } + if = { + limit = { scope:defender.primary_title.tier = tier_county } + add_piety = { value = minor_piety_gain } + } + if = { + limit = { scope:defender.primary_title.tier = tier_duchy } + add_piety = { value = medium_piety_gain } + } + if = { + limit = { scope:defender.primary_title.tier = tier_kingdom } + add_piety = { value = major_piety_gain } + } + if = { + limit = { scope:defender.primary_title.tier = tier_empire } + add_piety = { value = massive_piety_gain } + } + } + else = { #If the attacker has since stopped enjoying human sacrifice, then the war was just prestigious. + if = { + limit = { scope:defender.primary_title.tier = tier_county } + add_prestige = { value = minor_prestige_gain } + } + if = { + limit = { scope:defender.primary_title.tier = tier_duchy } + add_prestige = { value = medium_prestige_gain } + } + if = { + limit = { scope:defender.primary_title.tier = tier_kingdom } + add_prestige = { value = major_prestige_gain } + } + if = { + limit = { scope:defender.primary_title.tier = tier_empire } + add_prestige = { value = massive_prestige_gain } + } + } + } + scope:defender = { + if = { #If the defender shares the faith of the attacker, then this war was sacred for them too. + limit = { + faith = { this = scope:attacker.faith } + } + if = { + limit = { scope:attacker.primary_title.tier = tier_county } + add_piety = { + value = minor_piety_gain + multiply = 0.75 + } + } + if = { + limit = { scope:attacker.primary_title.tier = tier_duchy } + add_piety = { + value = medium_piety_gain + multiply = 0.75 + } + } + if = { + limit = { scope:attacker.primary_title.tier = tier_kingdom } + add_piety = { + value = major_piety_gain + multiply = 0.75 + } + } + if = { + limit = { scope:attacker.primary_title.tier = tier_empire } + add_piety = { + value = massive_piety_gain + multiply = 0.75 + } + } + } + else = { #Otherwise, the war just sucked. + if = { + limit = { scope:defender.primary_title.tier = tier_county } + add_prestige = { value = minor_prestige_loss } + } + if = { + limit = { scope:defender.primary_title.tier = tier_duchy } + add_prestige = { value = medium_prestige_loss } + } + if = { + limit = { scope:defender.primary_title.tier = tier_kingdom } + add_prestige = { value = major_prestige_loss } + } + if = { + limit = { scope:defender.primary_title.tier = tier_empire } + add_prestige = { value = massive_prestige_loss } + } + } + } + scope:attacker = { #If the attacker has the appropriate tenet, grab some suitable courtiers from the defender. + if = { + limit = { + faith = { has_doctrine_parameter = human_sacrifice_active } + } + custom_tooltip = flowery_war_cb_prisoners.tt_attacker + hidden_effect = { + scope:defender = { + every_courtier_or_guest = { add_to_list = potential_captives_list } + random_in_list = { #Nab someone related to the defender, preferring tangentials. + list = potential_captives_list + limit = { + OR = { + AND = { + has_dynasty = yes + dynasty = scope:defender.dynasty + } + is_consort_of = scope:defender + } + } + alternative_limit = { always = yes } + weight = { + base = 1 + modifier = { + add = 25 + NOT = { is_close_family_of = scope:defender } + } + modifier = { + add = 15 + NOT = { is_extended_family_of = scope:defender } + } + } + add_to_list = definite_captives_list + save_temporary_scope_as = future_captive + scope:attacker = { + imprison = { + target = scope:future_captive + type = dungeon + } + } + } + random_in_list = { #Always try to grab a second person. + list = potential_captives_list + limit = { + NOT = { is_in_list = definite_captives_list } + } + weight = { + base = 1 + modifier = { + add = 40 + NOT = { + any_claim = { + useful_courtier_or_guest_claim_trigger = { RULER = scope:defender } + } + } + } + modifier = { + add = 10 + NAND = { + can_be_chancellor_trigger = { COURT_OWNER = scope:defender } + diplomacy >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_marshal_trigger = { COURT_OWNER = scope:defender } + martial >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_steward_trigger = { COURT_OWNER = scope:defender } + stewardship >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_spymaster_trigger = { COURT_OWNER = scope:defender } + intrigue >= high_skill_rating + } + } + modifier = { + add = 10 + NOT = { learning >= high_skill_rating } + } + modifier = { + add = 10 + NOT = { prowess >= high_skill_rating } + } + modifier = { + add = 50 + NOT = { is_close_or_extended_family_of = scope:defender } + } + } + add_to_list = definite_captives_list + save_temporary_scope_as = future_captive + scope:attacker = { + imprison = { + target = scope:future_captive + type = dungeon + } + } + } + random_in_list = { #Always try to grab a third person. + list = potential_captives_list + limit = { + NOT = { is_in_list = definite_captives_list } + } + weight = { + base = 1 + modifier = { + add = 40 + NOT = { + any_claim = { + useful_courtier_or_guest_claim_trigger = { RULER = scope:defender } + } + } + } + modifier = { + add = 10 + NAND = { + can_be_chancellor_trigger = { COURT_OWNER = scope:defender } + diplomacy >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_marshal_trigger = { COURT_OWNER = scope:defender } + martial >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_steward_trigger = { COURT_OWNER = scope:defender } + stewardship >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_spymaster_trigger = { COURT_OWNER = scope:defender } + intrigue >= high_skill_rating + } + } + modifier = { + add = 10 + NOT = { learning >= high_skill_rating } + } + modifier = { + add = 10 + NOT = { prowess >= high_skill_rating } + } + modifier = { + add = 50 + NOT = { is_close_or_extended_family_of = scope:defender } + } + } + add_to_list = definite_captives_list + save_temporary_scope_as = future_captive + scope:attacker = { + imprison = { + target = scope:future_captive + type = dungeon + } + } + } + if = { #If at least duchy-tier, try to grab a fourth person. + limit = { primary_title.tier >= tier_duchy } + random_in_list = { + list = potential_captives_list + limit = { + NOT = { is_in_list = definite_captives_list } + } + weight = { + base = 1 + modifier = { + add = 40 + NOT = { + any_claim = { + useful_courtier_or_guest_claim_trigger = { RULER = scope:defender } + } + } + } + modifier = { + add = 10 + NAND = { + can_be_chancellor_trigger = { COURT_OWNER = scope:defender } + diplomacy >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_marshal_trigger = { COURT_OWNER = scope:defender } + martial >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_steward_trigger = { COURT_OWNER = scope:defender } + stewardship >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_spymaster_trigger = { COURT_OWNER = scope:defender } + intrigue >= high_skill_rating + } + } + modifier = { + add = 10 + NOT = { learning >= high_skill_rating } + } + modifier = { + add = 10 + NOT = { prowess >= high_skill_rating } + } + } + add_to_list = definite_captives_list + save_temporary_scope_as = future_captive + scope:attacker = { + imprison = { + target = scope:future_captive + type = dungeon + } + } + } + } + if = { #If at least kingdom-tier, try to grab a fifth person. + limit = { primary_title.tier >= tier_kingdom } + random_in_list = { + list = potential_captives_list + limit = { + NOT = { is_in_list = definite_captives_list } + } + weight = { + base = 1 + modifier = { + add = 40 + NOT = { + any_claim = { + useful_courtier_or_guest_claim_trigger = { RULER = scope:defender } + } + } + } + modifier = { + add = 10 + NAND = { + can_be_chancellor_trigger = { COURT_OWNER = scope:defender } + diplomacy >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_marshal_trigger = { COURT_OWNER = scope:defender } + martial >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_steward_trigger = { COURT_OWNER = scope:defender } + stewardship >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_spymaster_trigger = { COURT_OWNER = scope:defender } + intrigue >= high_skill_rating + } + } + modifier = { + add = 10 + NOT = { learning >= high_skill_rating } + } + modifier = { + add = 10 + NOT = { prowess >= high_skill_rating } + } + } + add_to_list = definite_captives_list + save_temporary_scope_as = future_captive + scope:attacker = { + imprison = { + target = scope:future_captive + type = dungeon + } + } + } + } + } + every_in_list = { + list = definite_captives_list + add_character_modifier = { + modifier = designated_human_sacrifice_modifier + years = 2 + } + } + trigger_event = { + id = human_sacrifice.0001 + years = 2 + } + } + } + } + + # Allies on both sides get full prestige value for helping in the war, based on their war participation. + modify_allies_of_participants_fame_values = { + WINNER = scope:attacker + FAME_BASE = major_prestige_value + IS_RELIGIOUS_WAR = no + WINNER_ALLY_FAME_SCALE = 1 + LOSER_ALLY_FAME_SCALE = 1 + } + + # Truce + add_truce_attacker_victory_effect = yes + + # EP3: note gold gained from military assistance/join war contracts and their war contribution threshold + laamp_as_mercenary_payout_tooltip_effect = yes + + #Mandalas gain or lose piety/devotion depending on Decree + mandala_war_victory_effects = yes + + } + + on_white_peace_desc = { + desc = flowery_war_cb_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 = { #Piety loss for the attacker if appropriate, otherwise prestige loss. + if = { + limit = { + faith = { has_doctrine_parameter = human_sacrifice_active } + } + add_piety = religious_cb_piety_white_peace + } + else = { + add_prestige = { + value = medium_prestige_loss + } + } + } + + + + # Allies on both sides get full prestige value for helping in the war, based on their war participation. + modify_allies_of_participants_fame_values = { + WINNER = scope:attacker # not important as the scales are identical + FAME_BASE = major_prestige_value + IS_RELIGIOUS_WAR = no + WINNER_ALLY_FAME_SCALE = 1 + LOSER_ALLY_FAME_SCALE = 1 + } + + scope:defender = { + stress_impact = { + arrogant = medium_stress_impact_gain + } + } + + # Truce + add_truce_attacker_victory_effect = yes + + # EP3: note gold gained from military assistance/join war contracts and their war contribution threshold + laamp_as_mercenary_payout_tooltip_effect = yes + } + + on_defeat_desc = { + desc = flowery_war_cb_defeat_desc + } + + on_defeat = { + scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_attacker_defeat_effect = yes + + scope:defender = { + mandala_peacemaker_perk_serenity_effect = yes + #EP2 accolade glory gain for winning against higher ranked enemy + accolade_defender_war_end_glory_gain_high_effect = yes + } + + scope:attacker = { + if = { #If the attacker shares the faith of the defender, and both still enjoy human sacrifice, then this war was at least sacred for them. + limit = { + faith = { + this = scope:defender.faith + has_doctrine_parameter = human_sacrifice_active + } + } + if = { + limit = { scope:defender.primary_title.tier = tier_county } + add_piety = { + value = minor_piety_gain + multiply = 0.75 + } + } + if = { + limit = { scope:defender.primary_title.tier = tier_duchy } + add_piety = { + value = medium_piety_gain + multiply = 0.75 + } + } + if = { + limit = { scope:defender.primary_title.tier = tier_kingdom } + add_piety = { + value = major_piety_gain + multiply = 0.75 + } + } + if = { + limit = { scope:defender.primary_title.tier = tier_empire } + add_piety = { + value = massive_piety_gain + multiply = 0.75 + } + } + } + else = { #Otherwise, the war just sucked. + if = { + limit = { scope:attacker.primary_title.tier = tier_county } + add_prestige = { value = minor_prestige_loss } + } + if = { + limit = { scope:attacker.primary_title.tier = tier_duchy } + add_prestige = { value = medium_prestige_loss } + } + if = { + limit = { scope:attacker.primary_title.tier = tier_kingdom } + add_prestige = { value = major_prestige_loss } + } + if = { + limit = { scope:attacker.primary_title.tier = tier_empire } + add_prestige = { value = massive_prestige_loss } + } + } + } + scope:defender = { + if = { #If the defender has the same faith as the attacker, and that faith still enjoys human sacrifice, then this was sacred. + limit = { + faith = { + this = scope:attacker.faith + has_doctrine_parameter = human_sacrifice_active + } + } + if = { + limit = { scope:attacker.primary_title.tier = tier_county } + add_piety = { value = minor_piety_gain } + } + if = { + limit = { scope:attacker.primary_title.tier = tier_duchy } + add_piety = { value = medium_piety_gain } + } + if = { + limit = { scope:attacker.primary_title.tier = tier_kingdom } + add_piety = { value = major_piety_gain } + } + if = { + limit = { scope:attacker.primary_title.tier = tier_empire } + add_piety = { value = massive_piety_gain } + } + } + else = { #Otherwise, the war was just prestigious. + if = { + limit = { scope:attacker.primary_title.tier = tier_county } + add_prestige = { value = minor_prestige_gain } + } + if = { + limit = { scope:attacker.primary_title.tier = tier_duchy } + add_prestige = { value = medium_prestige_gain } + } + if = { + limit = { scope:attacker.primary_title.tier = tier_kingdom } + add_prestige = { value = major_prestige_gain } + } + if = { + limit = { scope:attacker.primary_title.tier = tier_empire } + add_prestige = { value = massive_prestige_gain } + } + } + } + scope:defender = { #If the defender has the appropriate tenet, and doesn't already have sacrificial victims, grab some suitable courtiers from the attacker. + if = { + limit = { + faith = { has_doctrine_parameter = human_sacrifice_active } + NOT = { #Must not have any leftover sacrificial prisoners, lest the defender get borked sacrifice-accounting events. + any_prisoner = { has_character_modifier = designated_human_sacrifice_modifier } + } + } + custom_tooltip = flowery_war_cb_prisoners.tt_defender + hidden_effect = { + scope:attacker = { + every_courtier_or_guest = { add_to_list = potential_captives_list } + random_in_list = { #Nab someone related to the attacker, preferring tangentials. + list = potential_captives_list + limit = { + OR = { + AND = { + has_dynasty = yes + dynasty = scope:attacker.dynasty + } + is_consort_of = scope:attacker + } + } + alternative_limit = { always = yes } + weight = { + base = 1 + modifier = { + add = 25 + NOT = { is_close_family_of = scope:attacker } + } + modifier = { + add = 15 + NOT = { is_extended_family_of = scope:attacker } + } + } + add_to_list = definite_captives_list + save_temporary_scope_as = future_captive + scope:defender = { + imprison = { + target = scope:future_captive + type = dungeon + } + } + } + random_in_list = { #Always try to grab a second person. + list = potential_captives_list + limit = { + NOT = { is_in_list = definite_captives_list } + } + weight = { + base = 1 + modifier = { + add = 40 + NOT = { + any_claim = { + useful_courtier_or_guest_claim_trigger = { RULER = scope:attacker } + } + } + } + modifier = { + add = 10 + NAND = { + can_be_chancellor_trigger = { COURT_OWNER = scope:attacker } + diplomacy >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_marshal_trigger = { COURT_OWNER = scope:attacker } + martial >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_steward_trigger = { COURT_OWNER = scope:attacker } + stewardship >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_spymaster_trigger = { COURT_OWNER = scope:attacker } + intrigue >= high_skill_rating + } + } + modifier = { + add = 10 + NOT = { learning >= high_skill_rating } + } + modifier = { + add = 10 + NOT = { prowess >= high_skill_rating } + } + modifier = { + add = 50 + NOT = { is_close_or_extended_family_of = scope:defender } + } + } + add_to_list = definite_captives_list + save_temporary_scope_as = future_captive + scope:defender = { + imprison = { + target = scope:future_captive + type = dungeon + } + } + } + random_in_list = { #Always try to grab a third person. + list = potential_captives_list + limit = { + NOT = { is_in_list = definite_captives_list } + } + weight = { + base = 1 + modifier = { + add = 40 + NOT = { + any_claim = { + useful_courtier_or_guest_claim_trigger = { RULER = scope:attacker } + } + } + } + modifier = { + add = 10 + NAND = { + can_be_chancellor_trigger = { COURT_OWNER = scope:attacker } + diplomacy >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_marshal_trigger = { COURT_OWNER = scope:attacker } + martial >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_steward_trigger = { COURT_OWNER = scope:attacker } + stewardship >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_spymaster_trigger = { COURT_OWNER = scope:attacker } + intrigue >= high_skill_rating + } + } + modifier = { + add = 10 + NOT = { learning >= high_skill_rating } + } + modifier = { + add = 10 + NOT = { prowess >= high_skill_rating } + } + modifier = { + add = 50 + NOT = { is_close_or_extended_family_of = scope:defender } + } + } + add_to_list = definite_captives_list + save_temporary_scope_as = future_captive + scope:defender = { + imprison = { + target = scope:future_captive + type = dungeon + } + } + } + if = { #If at least duchy-tier, try to grab a fourth person. + limit = { primary_title.tier >= tier_duchy } + random_in_list = { + list = potential_captives_list + limit = { + NOT = { is_in_list = definite_captives_list } + } + weight = { + base = 1 + modifier = { + add = 40 + NOT = { + any_claim = { + useful_courtier_or_guest_claim_trigger = { RULER = scope:attacker } + } + } + } + modifier = { + add = 10 + NAND = { + can_be_chancellor_trigger = { COURT_OWNER = scope:attacker } + diplomacy >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_marshal_trigger = { COURT_OWNER = scope:attacker } + martial >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_steward_trigger = { COURT_OWNER = scope:attacker } + stewardship >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_spymaster_trigger = { COURT_OWNER = scope:attacker } + intrigue >= high_skill_rating + } + } + modifier = { + add = 10 + NOT = { learning >= high_skill_rating } + } + modifier = { + add = 10 + NOT = { prowess >= high_skill_rating } + } + } + add_to_list = definite_captives_list + save_temporary_scope_as = future_captive + scope:defender = { + imprison = { + target = scope:future_captive + type = dungeon + } + } + } + } + if = { #If at least kingdom-tier, try to grab a fifth person. + limit = { primary_title.tier >= tier_kingdom } + random_in_list = { + list = potential_captives_list + limit = { + NOT = { is_in_list = definite_captives_list } + } + weight = { + base = 1 + modifier = { + add = 40 + NOT = { + any_claim = { + useful_courtier_or_guest_claim_trigger = { RULER = scope:attacker } + } + } + } + modifier = { + add = 10 + NAND = { + can_be_chancellor_trigger = { COURT_OWNER = scope:attacker } + diplomacy >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_marshal_trigger = { COURT_OWNER = scope:attacker } + martial >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_steward_trigger = { COURT_OWNER = scope:attacker } + stewardship >= high_skill_rating + } + } + modifier = { + add = 10 + NAND = { + can_be_spymaster_trigger = { COURT_OWNER = scope:attacker } + intrigue >= high_skill_rating + } + } + modifier = { + add = 10 + NOT = { learning >= high_skill_rating } + } + modifier = { + add = 10 + NOT = { prowess >= high_skill_rating } + } + } + add_to_list = definite_captives_list + save_temporary_scope_as = future_captive + scope:defender = { + imprison = { + target = scope:future_captive + type = dungeon + } + } + } + } + } + every_in_list = { + list = definite_captives_list + add_character_modifier = { + modifier = designated_human_sacrifice_modifier + years = 2 + } + } + trigger_event = { + id = human_sacrifice.0001 + years = 2 + } + } + } + } + + # Allies on both sides get full prestige value for helping in the war, based on their war participation. + modify_allies_of_participants_fame_values = { + WINNER = scope:defender + FAME_BASE = major_prestige_value + IS_RELIGIOUS_WAR = no + WINNER_ALLY_FAME_SCALE = 1 + LOSER_ALLY_FAME_SCALE = 1 + } + + # Truce + add_truce_attacker_defeat_effect = yes + + scope:attacker = { save_temporary_scope_as = loser } + on_lost_aggression_war_discontent_loss = yes + + # EP3: note gold gained from military assistance/join war contracts and their war contribution threshold + laamp_as_mercenary_payout_tooltip_effect = yes + + #Mandalas gain or lose piety/devotion depending on Decree + mandala_war_defeat_effects = yes + } + + on_primary_attacker_death = inherit + on_primary_defender_death = inherit + + attacker_allies_inherit = yes + defender_allies_inherit = yes + + war_name = "FLOWERY_WAR_CB_NAME" + war_name_base = "FLOWERY_WAR_WAR_NAME_BASE" + cb_name = "FLOWERY_WAR_CB_NAME" + interface_priority = 80 + + ticking_war_score_targets_entire_realm = yes + attacker_ticking_warscore = 0 + attacker_wargoal_percentage = 0.01 + attacker_score_from_occupation_scale = 50 + defender_score_from_occupation_scale = 50 + attacker_score_from_battles_scale = 200 + defender_score_from_battles_scale = 200 + + max_attacker_score_from_battles = 200 + max_defender_score_from_battles = 200 + + max_defender_score_from_occupation = 150 + max_attacker_score_from_occupation = 150 + + max_ai_diplo_distance_to_title = 500 + + ai_score = { + value = raid_for_captives_ai_score_value + } + + ai_score_mult = { + value = 1 + # Increase odds if the character is a vassal with Ghazi Contract + add = { + if = { + limit = { + scope:attacker = { + top_liege != this + vassal_contract_has_flag = vassal_contract_cheaper_religious_war + } + } + add = 1 + } + } + # Holy War are limited to connected neighbour to limit big empire expansions over weak realms. + add = { + if = { + limit = { religious_war_vassals_constraints = yes } + add = -1000 + } + } + + add = frankokratia_leader_protection_value #Set back to 0. Declaring war on the frankokratia leader can really ruin the whole thing + } +} + +undirected_great_holy_war = { + group = religious_script_only + interface_priority = 1000 + icon = undirected_great_holy_war + + war_name = "GREAT_HOLY_WAR_WAR_NAME" + + target_titles = all + target_title_tier = all + target_de_jure_regions_above = yes + use_de_jure_wargoal_only = yes + check_all_defenders_for_ticking_war_score = yes # All defenders land in the Crusade Kingdom should count + defender_ticking_warscore = 0.125 + attacker_ticking_warscore = 0.125 + max_defender_score_from_occupation = 50 + max_attacker_score_from_occupation = 150 + full_occupation_by_defender_gives_victory = no + imprisonment_by_attacker_give_war_score = no + imprisonment_by_defender_give_war_score = no + attacker_capital_gives_war_score = no + defender_capital_gives_war_score = no + is_great_holy_war = yes + landless_attacker_needs_armies = no + allow_hostages = no + + defender_score_from_battles_scale = 125 + attacker_score_from_battles_scale = 125 + + max_defender_score_from_battles = 150 + + occupation_participation_mult = 0.5 + siege_participation_mult = 1 + battle_participation_mult = 7.5 + on_primary_attacker_death = inherit + on_primary_defender_death = inherit + transfer_behavior = transfer + + white_peace_possible = no + + allowed_for_character = { + always = yes + } + + valid_to_start = { + scope:target = { + tier = tier_kingdom + any_in_de_jure_hierarchy = { #Any ruler in the dejure of the targeted Kingdom belongs to a Faith that the HoF's Faith is hostile enough to Holy War against. + continue = { tier > tier_county } + tier = tier_county + scope:attacker.faith = { + is_hostile_enough_for_holy_war_trigger = { FAITH = prev.holder.top_liege.faith } + } + } + } + } + + on_declaration = { + scope:attacker.faith.great_holy_war = { + if = { #Clear forced participation flag. + limit = { + any_pledged_attacker = { + has_character_flag = variable_ghw_papal_hooked_pledge + } + } + every_pledged_attacker = { + limit = { + has_character_flag = variable_ghw_papal_hooked_pledge + } + remove_character_flag = variable_ghw_papal_hooked_pledge + } + } + } + scope:attacker.faith.great_holy_war.ghw_target_title = { + save_scope_as = target_kingdom + } + scope:attacker = { #Loc keys for localization fluff. + save_scope_as = ghw_sponsor + } + scope:defender = { + save_scope_as = ghw_defender + } + scope:attacker.faith = { + save_scope_as = the_faith + } + scope:attacker.faith.great_holy_war = { + save_scope_as = the_ghw + } + force_truce_GHW_defenders_effect = yes + on_declared_war = yes + #Tell non diverting-players about the crazy 4th crusade plan + if = { + limit = { + scope:attacker.faith = { this = faith:catholic } + exists = global_var:byz_claimant_champion + global_var:byz_claimant_champion = { + is_alive = yes + is_ruler = yes + any_character_war = { + using_cb = crusading_claim_cb + } + } + } + global_var:byz_claimant_champion = { + random_character_war = { + limit = { + using_cb = crusading_claim_cb + } + save_scope_as = redirected_crusade + } + } + every_player = { + limit = { + NOT = { + is_attacker_in_war = scope:redirected_crusade + } + ep3_frankokratia_notification_recipient_trigger = yes + } + trigger_event = ep3_frankokratia_events.0031 + } + } + every_player = { #Fluff for attackers/defenders + limit = { + scope:attacker.faith.great_holy_war = { + OR = { + has_pledged_attacker = prev + has_pledged_defender = prev + } + } + } + trigger_event = great_holy_war.0051 + } + scope:attacker.faith.great_holy_war = { + divide_war_chest = { + fraction = ghw_war_start_handout_percentage + } + } + # First of the Crusader Kings achievement tracking. + if = { + limit = { + scope:attacker.faith = faith:catholic + NOT = { exists = global_var:had_first_catholic_crusade } + } + # Credit where chredit is due. + scope:attacker.faith.great_holy_war = { + every_pledged_attacker = { + limit = { fp1_achievement_culture_norse_trigger = yes } + add_achievement_flag_effect = { FLAG = first_of_the_crusader_kings_achievement_flag } + } + } + # Mark the first crusade as having happened. + set_global_variable = { + name = had_first_catholic_crusade + value = yes + } + } + + debug_log = undirected_ghw_debug_loc + } + + should_invalidate = { + scope:attacker.faith = scope:defender.faith # Primary defender has converted + } + + on_invalidated_desc = msg_invalidate_war_title + + on_invalidated = { + scope:attacker.faith.great_holy_war.ghw_target_title = { + save_scope_as = target_kingdom + } + scope:attacker = { #Loc keys for localization fluff. + save_scope_as = ghw_sponsor + } + scope:defender = { + save_scope_as = ghw_defender + } + scope:attacker.faith = { + save_scope_as = the_faith + } + scope:attacker.faith.great_holy_war = { + save_scope_as = the_ghw + } + every_player = { + limit = { is_within_diplo_range = { CHARACTER = scope:defender } } + trigger_event = great_holy_war.0056 + } + hidden_effect = { + if = { #Clear pledged gold flag. + limit = { + any_player = { + has_character_flag = ghw_pledged_gold + } + } + every_player = { + limit = { + has_character_flag = ghw_pledged_gold + } + remove_character_flag = ghw_pledged_gold + } + } + } + + debug_log = "Undirected Great Holy War invalidated" + } + + on_victory_desc = { + desc = great_holy_war_victory_desc + } + + on_victory = { + scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_attacker_victory_effect = yes + + #EP2 Accolade glory gain to the holy knights of the faith head + scope:attacker = { accolade_attacker_war_end_glory_gain_low_effect = yes } + + scope:attacker.faith.great_holy_war = { # Make sure steppe crusades do not make silly cultures + every_pledged_attacker = { + limit = { exists = ghw_beneficiary } + ghw_beneficiary = { + add_character_flag = { + flag = domicile_culture_and_faith_check + days = 1 + } + add_to_list = beneficiary_fixing_list + } + } + } + + create_title_and_vassal_change = { + type = conquest_holy_war + save_scope_as = change + add_claim_on_loss = yes + } + scope:attacker.faith.great_holy_war.ghw_target_title = { #Loc keys for localization fluff. + save_scope_as = target_kingdom + } + scope:attacker = { + save_scope_as = ghw_sponsor + } + scope:defender = { + save_scope_as = ghw_defender + } + scope:attacker.faith = { + save_scope_as = the_faith + } + scope:attacker.faith.great_holy_war = { + save_scope_as = the_ghw + } + + scope:attacker = { #Achievement setup. + every_character_war = { + limit = { + is_attacker = scope:attacker + is_defender = scope:defender + } + every_war_attacker = { + add_achievement_flag_effect = { FLAG = achievement_for_the_faith_flag } + } + } + } + + hidden_effect = { + if = { #Recipient is going to be the Papal's chosen Recipient or, if the main contributor is overriding the Papal will, his Beneficiary. + limit = { + exists = scope:attacker.faith.great_holy_war.ghw_title_recipient + } + scope:attacker.faith.great_holy_war.ghw_title_recipient = { + save_scope_as = title_recipient + } + } + else = { #If no Recipient or Beneficiary, check for any random claimants that might have cropped in the meantime. + undirected_ghw_recipient_selection_on_victory_effect = yes + } + if = { + limit = { + exists = scope:the_ghw + NOT = { exists = scope:title_recipient } + scope:the_ghw = { + has_variable = var_fallback_recipient + var:var_fallback_recipient = { + is_alive = yes + } + } + } + scope:the_ghw = { + var:var_fallback_recipient = { + save_scope_as = title_recipient + set_designated_winner = scope:title_recipient + } + } + } + if = { #If for some reason there is no title recipient selected yet, create character from scratch. + limit = { + exists = scope:the_ghw + NOT = { exists = scope:title_recipient } + NOT = { + scope:the_ghw = { + has_variable = var_fallback_recipient + } + } + } + create_character = { + location = scope:ghw_sponsor.capital_province + template = new_commander_character + faith = scope:the_faith + culture = scope:ghw_sponsor.culture + save_scope_as = title_recipient + gender_female_chance = { + if = { + limit = { scope:the_faith = { has_doctrine = doctrine_gender_male_dominated } } + add = 0 + } + else_if = { + limit = { scope:the_faith = { has_doctrine = doctrine_gender_female_dominated } } + add = 100 + } + else = { + add = 50 + } + } + } + scope:the_faith.great_holy_war = { + set_designated_winner = scope:title_recipient + } + } + if = { #Check if Recipient is landless to give him the Crusader King buff. + limit = { + exists = scope:title_recipient + 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 + } + } + } + } + every_in_list = { + list = target_titles + save_scope_as = target + } + + if = { #Tooltip explaining who gets the first title when a Recipient exists (otherwise avoid or it will show the fallback character). + limit = { + exists = scope:attacker.faith.great_holy_war.ghw_title_recipient + } + show_as_tooltip = { + scope:target = { + change_title_holder = { + holder = scope:attacker.faith.great_holy_war.ghw_title_recipient + change = scope:change + } + } + } + } + else_if = { + limit = { + exists = scope:the_ghw + scope:the_ghw = { + has_variable = var_fallback_recipient + } + } + scope:the_ghw = { + var:var_fallback_recipient = { + save_scope_as = ghw_fallback_recipient + } + } + show_as_tooltip = { + scope:target = { + change_title_holder = { + holder = scope:ghw_fallback_recipient + change = scope:change + } + } + } + } + + # Create a dynamic title if the kingdom itself can't be created/taken + if = { + limit = { #In the event that, for ex. k_jerusalem exists and is held by a foreign ruler who is not involved in the war in any way. + exists = scope:the_ghw + exists = scope:target_kingdom + exists = scope:target_kingdom.holder + scope:the_ghw = { + NOR = { + #Do not create a titular title if the target is held by a defender. + has_pledged_defender = scope:target_kingdom.holder + has_forced_defender = scope:target_kingdom.holder + #Or, if the title_recipient is the current holder of the target_kingdom. + scope:title_recipient = scope:target_kingdom.holder + } + } + } + hidden_effect = { + random_list = { + 50 = { + create_dynamic_title = { + tier = kingdom + name = CRUSADER_STATE_CRUSADER_TITLE_NAME + } + } + 50 = { + create_dynamic_title = { + tier = kingdom + name = CRUSADER_STATE_FAITH_TITLE_NAME + } + } + } + scope:new_title = { + change_title_holder = { + holder = scope:title_recipient + change = scope:change + } + } + } + scope:the_ghw = { + do_ghw_title_handout = scope:change + divide_war_chest = {} + } + scope:new_title = { generate_coa = yes } + } + else_if = { #Otherwise hand out titles normally. + limit = { + exists = scope:the_ghw + } + hidden_effect = { + if = { + limit = { + NAND = { + exists = scope:target.holder + scope:target.holder = scope:title_recipient + } + } + scope:target = { + change_title_holder = { + holder = scope:title_recipient + change = scope:change + } + } + } + } + scope:the_ghw = { + do_ghw_title_handout = scope:change + divide_war_chest = {} + } + } + + hidden_effect = { + every_player = { #Fluff for players + limit = { + OR = { + this = scope:attacker + this = scope:defender + any_war_enemy = { this = scope:attacker } + any_war_enemy = { this = scope:defender } + is_within_diplo_range = { CHARACTER = scope:defender } + } + } + trigger_event = great_holy_war.0052 #Differentiate depending on faith (compared to scope:attacker) + } + + if = { + limit = { exists = scope:title_recipient } + scope:title_recipient = { + every_realm_county = { # Crusading troops seizing control + change_county_control = 50 + } + every_realm_province = { + refill_levy = yes + refill_garrison = yes + } + if = { + limit = { + has_government = herder_government + } + every_held_title = { + limit = { + tier = tier_county + title_province = { + has_holding_type = herder_holding + } + } + title_province = { + set_holding_type = nomad_holding + } + } + change_government = nomad_government + domicile = { + set_domicile_culture = prev.capital_county.culture + set_domicile_faith = prev.capital_county.faith + } + } + } + } + if = { #If Recipient was landless give him the Crusader King buff. + limit = { + exists = scope:title_recipient + scope:title_recipient = { has_character_flag = ghw_recipient_will_be_crusader_king } + } + scope:title_recipient = { + add_trait = crusader_king + remove_character_flag = ghw_recipient_will_be_crusader_king + add_realm_law_skip_effects = crown_authority_1 + # Set the appropriate Succession Law + if = { + limit = { + can_have_single_heir_succession_law_trigger = yes + NOT = { + has_realm_law = single_heir_succession_law + } + } + add_realm_law_skip_effects = single_heir_succession_law + } + else_if = { + limit = { + can_have_high_partition_succession_law_trigger = yes + NOT = { + has_realm_law = high_partition_succession_law + } + } + add_realm_law_skip_effects = high_partition_succession_law + } + else_if = { + limit = { + can_have_partition_succession_law_trigger = yes + NOT = { + has_realm_law = partition_succession_law + } + } + add_realm_law_skip_effects = partition_succession_law + } + + spawn_army = { # Spawn a temporary army so that the Crusader King isn't helpless, symbolizing Crusaders staying behind + levies = { + value = 100 + scope:attacker.faith.great_holy_war = { + every_pledged_attacker = { + add = 100 + } + } + } + men_at_arms = { + type = teutonic_knights + stacks = { + value = 1 + scope:attacker.faith.great_holy_war = { + every_pledged_attacker = { + add = 0.2 + } + } + } + } + inheritable = no + uses_supply = no + location = capital_province + name = house_beneficiary_won_ghw + } + every_vassal = { # Vassals should not want to revolt too soon after inaguration + add_opinion = { + modifier = respect_opinion + target = scope:title_recipient + opinion = 50 + } + } + 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 + hidden_effect = { # Because the adventurer government override is active you may end up in awkward situations unless we set your government here + if = { + limit = { + has_government = clan_government + NOT = { faith.religion = religion:islam_religion } + } + change_government = feudal_government + } + } + } + } + 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 = { + exists = scope:title_recipient + exists = scope:title_recipient.dynasty + scope:title_recipient = { + is_ai = yes + has_trait = crusader_king + } + any_pledged_attacker = { + is_ai = no + dynasty = scope:title_recipient.dynasty + } + } + random_pledged_attacker = { + limit = { + is_ai = no + dynasty = scope:title_recipient.dynasty + scope:title_recipient = { + is_ai = yes + has_trait = crusader_king + } + } + trigger_event = { id = great_holy_war.0070 days = 5 } + } + } + } + every_in_list = { + list = beneficiary_fixing_list + if = { + limit = { + has_government = herder_government + } + every_held_title = { + limit = { + tier = tier_county + title_province = { + has_holding_type = herder_holding + } + } + title_province = { + set_holding_type = nomad_holding + } + } + change_government = nomad_government + domicile = { + set_domicile_culture = prev.capital_county.culture + set_domicile_faith = prev.capital_county.faith + } + } + } + } + + #Set 30 years cooldown. + hidden_effect = { + scope:attacker.faith = { + set_variable = { + name = variable_ghw_cooldown + value = yes + years = 30 + } + } + if = { #Clear pledged gold flag. + limit = { + any_player = { + has_character_flag = ghw_pledged_gold + } + } + every_player = { + limit = { + has_character_flag = ghw_pledged_gold + } + remove_character_flag = ghw_pledged_gold + } + } + } + + ordered_in_list = { + list = target_titles + order_by = tier + max = 1 + + save_scope_as = war_goal_title + } + + scope:attacker.faith = { + change_fervor = { + value = -25 + desc = fervor_loss_great_holy_war + } + } + scope:defender.faith = { + change_fervor = { + value = 30 + desc = fervor_gain_great_holy_war + } + } + + #Truce between the chief beneficiary & all defenders + add_truce_GHW_attacker_victory_effect = yes + debug_log = undirected_ghw_victory_debug_message + + # FP1: note the victory for future memorialisation via stele (if applicable). + scope:attacker = { fp1_remember_recent_conquest_victory_effect = yes } + + scope:title_recipient = { + custom_tooltip = legend_seed_ghw.tt + } + + #Mandalas gain or lose piety/devotion depending on Decree + mandala_war_victory_effects = yes + } + + on_white_peace_desc = { + desc = WHITE_PEACE_DISABLED + } + + on_defeat_desc = { + desc = great_holy_war_defeat_desc + } + + on_defeat = { + scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_attacker_defeat_effect = yes + + scope:defender = { + mandala_peacemaker_perk_serenity_effect = yes + #EP2 accolade glory gain for winning against higher ranked enemy + accolade_defender_war_end_glory_gain_high_effect = yes + } + + scope:attacker.faith.great_holy_war = { + divide_war_chest = { + defenders = yes + gold = no + } + } + + scope:attacker.faith.great_holy_war.ghw_target_title = { #Loc keys for localization fluff. + save_scope_as = target_kingdom + } + scope:attacker = { + save_scope_as = ghw_sponsor + } + scope:defender = { + save_scope_as = ghw_defender + } + scope:attacker.faith = { + save_scope_as = the_faith + } + scope:attacker.faith.great_holy_war = { + save_scope_as = the_ghw + } + + scope:attacker = { + faith = { + change_fervor = { + value = -15 + desc = fervor_loss_lost_great_holy_war + } + } + } + + scope:defender = { #Achievement setup. + every_character_war = { + limit = { + is_attacker = scope:attacker + is_defender = scope:defender + } + every_war_defender = { + add_achievement_flag_effect = { FLAG = achievement_for_the_faith_flag } + } + } + } + + every_player = { #Fluff for players + limit = { + OR = { + this = scope:attacker + this = scope:defender + any_war_enemy = { this = scope:attacker } + any_war_enemy = { this = scope:defender } + is_within_diplo_range = { CHARACTER = scope:defender } + } + } + trigger_event = great_holy_war.0053 #Differentiate depending on faith (compared to scope:attacker) + } + + # Truce + add_truce_attacker_defeat_effect = yes + + #Set 30 years cooldown. + hidden_effect = { + if = { + limit = { exists = scope:title_recipient } + scope:title_recipient = { + if = { + limit = { + has_government = herder_government + } + every_held_title = { + limit = { + tier = tier_county + title_province = { + has_holding_type = herder_holding + } + } + title_province = { + set_holding_type = nomad_holding + } + } + change_government = nomad_government + domicile = { + set_domicile_culture = prev.capital_county.culture + set_domicile_faith = prev.capital_county.faith + } + } + } + } + scope:attacker.faith = { + set_variable = { + name = variable_ghw_cooldown + value = yes + years = 30 + } + } + if = { #Clear pledged gold flag. + limit = { + any_player = { + has_character_flag = ghw_pledged_gold + } + } + every_player = { + limit = { + has_character_flag = ghw_pledged_gold + } + remove_character_flag = ghw_pledged_gold + } + } + } + debug_log = undirected_ghw_defeat_debug_message + #Mandalas gain or lose piety/devotion depending on Decree + mandala_war_defeat_effects = yes + } +} + +directed_great_holy_war = { + group = religious + icon = directed_great_holy_war + interface_priority = 1000 + + war_name = "GREAT_HOLY_WAR_WAR_NAME" + cb_name = "GREAT_HOLY_WAR_WAR_CB_NAME" + + combine_into_one = yes + should_show_war_goal_subview = yes + mutually_exclusive_titles = { always = yes } + + target_titles = all + target_title_tier = all + target_de_jure_regions_above = yes + use_de_jure_wargoal_only = yes + check_all_defenders_for_ticking_war_score = yes # All defenders land in the Crusade Kingdom should count + defender_ticking_warscore = 0.05 + attacker_ticking_warscore = 0.05 + max_defender_score_from_occupation = 50 + max_attacker_score_from_occupation = 150 + imprisonment_by_attacker_give_war_score = no + defender_capital_gives_war_score = no + is_great_holy_war = yes + ai_only_against_neighbors = yes + allow_hostages = no + + occupation_participation_mult = 0.5 + siege_participation_mult = 1 + battle_participation_mult = 7.5 + + white_peace_possible = no + gui_attacker_faith_might_join = yes + gui_defender_faith_might_join = yes + on_primary_attacker_death = inherit + on_primary_defender_death = inherit + transfer_behavior = transfer + + allowed_for_character = { + faith = { + exists = religious_head + suitable_faith_for_directed_ghw_trigger = yes #Right Doctrines + OR = { + scope:attacker = this.religious_head + scope:attacker = { + any_vassal = { + this = scope:attacker.faith.religious_head + } + } + } + scope:attacker.religious_head = { + piety_level >= 2 + } + religion = { exists = var:variable_ghw_unlocked } #Activated by event for every religion. + } + } + + allowed_for_character_display_regardless = { + custom_description = { + text = great_holy_war_cooldown + NOT = { scope:attacker.faith = { exists = var:variable_ghw_cooldown }} + } + tgp_japan_offensive_wars_ban_trigger = yes + } + + allowed_against_character = { + scope:attacker.faith = { + is_hostile_enough_for_holy_war_trigger = { FAITH = scope:defender.faith } + } + } + + valid_to_start = { + scope:attacker.faith = { + NOR = { + # No active GHW already. + exists = great_holy_war + + # If GHWs have just been unlocked, AI rulers will wait a little bit before declaring them. + trigger_if = { + limit = { scope:attacker = { is_ai = yes } } + religion = { exists = var:variable_first_ghw_cooldown } + } + } + } + + scope:target = { + tier = tier_kingdom + trigger_if = { + limit = { + scope:attacker = { + is_ai = yes + } + } + any_in_de_jure_hierarchy = { #Any ruler in the dejure of the targeted Kingdom belongs to a Faith that the Caliph's Faith is hostile enough to Holy War against. + continue = { tier > tier_county } + count >= 5 # The AI doesn't Jihad for an area of less than 5 Counties, for reference, Jerusalem is 8 Counties + tier = tier_county + scope:attacker.faith = { + is_hostile_enough_for_holy_war_trigger = { FAITH = prev.holder.top_liege.faith } + } + } + } + trigger_else = { + any_in_de_jure_hierarchy = { #Any ruler in the dejure of the targeted Kingdom belongs to a Faith that the Caliph's Faith is hostile enough to Holy War against. + continue = { tier > tier_county } + tier = tier_county + scope:attacker.faith = { + is_hostile_enough_for_holy_war_trigger = { FAITH = prev.holder.top_liege.faith } + } + } + } + } + + #The war seems to be launching without a valid defender sometimes, so we double-check that one is set here + exists = scope:defender + } + + on_declaration = { + every_in_list = { + list = target_titles + save_scope_as = target + } + hidden_effect = { + scope:attacker.faith = { + start_great_holy_war = { + target_character = scope:defender + target_title = scope:target + war = root.war + } + great_holy_war = { + pledge_attacker = scope:attacker + } + } + scope:attacker.religious_head = { + add_piety_level = -1 + } + } + scope:attacker.faith.great_holy_war = { + every_pledged_attacker = { #Add Beneficiary automatically on victory of direct GHW for any attacker that doesn't have one already. + limit = { + NOT = { + exists = ghw_beneficiary + } + } + trigger_event = great_holy_war.0026 + } + } + scope:attacker.faith.great_holy_war.ghw_target_title = { + save_scope_as = target_kingdom + } + scope:attacker = { #Loc keys for localization fluff. + save_scope_as = ghw_sponsor + } + scope:defender = { + save_scope_as = ghw_defender + } + scope:defender.faith = { + save_scope_as = target_faith + } + scope:attacker.faith = { + save_scope_as = the_faith + } + scope:attacker.faith.great_holy_war = { + save_scope_as = the_ghw + } + force_truce_GHW_defenders_effect = yes + hidden_effect = { + every_ruler = { + limit = { + faith = scope:attacker.faith + is_ai = yes + is_playable_character = yes + highest_held_title_tier >= tier_county + this != scope:ghw_sponsor + exists = scope:attacker.faith.great_holy_war + NOT = { scope:attacker.faith.great_holy_war = { has_pledged_attacker = prev } } + } + trigger_event = great_holy_war.0092 #AI pledging. + } + every_ruler = { + limit = { + faith = scope:defender.faith + is_ai = 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 } } + scope:defender != top_liege + } + trigger_event = great_holy_war.0093 #AI counterpledging. + } + scope:attacker.faith = { + every_faith_holy_order = { + trigger_event = great_holy_war.0090 # Holy orders always join + } + } + scope:defender.faith = { + every_faith_holy_order = { + trigger_event = great_holy_war.0091 # Holy orders always join + } + } + } + + every_player = { #Fluff for attackers/defenders + limit = { + OR = { + faith = scope:the_faith + faith = scope:ghw_defender.faith + is_vassal_of = scope:attacker + is_vassal_of = scope:defender + } + } + trigger_event = great_holy_war.0071 + } + on_declared_war = yes + + debug_log = directed_ghw_debug_loc + } + + should_invalidate = { + scope:attacker.faith = scope:defender.faith # Primary defender has converted + } + + on_invalidated_desc = msg_invalidate_war_title + + on_victory_desc = { + desc = great_holy_war_directed_victory_desc + } + + on_victory = { + scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_attacker_victory_effect = yes + + #EP2 Accolade glory gain to the holy warriors of the faith head + scope:attacker = { accolade_attacker_war_end_glory_gain_low_effect = yes } + + scope:attacker.faith.great_holy_war = { # Make sure steppe crusades do not make silly cultures + every_pledged_attacker = { + limit = { exists = ghw_beneficiary } + ghw_beneficiary = { + add_character_flag = { + flag = domicile_culture_and_faith_check + days = 1 + } + add_to_list = beneficiary_fixing_list + } + } + } + + scope:attacker.faith.great_holy_war.ghw_target_title = { #Loc keys for localization fluff. + save_scope_as = target_kingdom + } + scope:attacker = { + save_scope_as = ghw_sponsor + } + scope:defender = { + save_scope_as = ghw_defender + } + scope:attacker.faith = { + save_scope_as = the_faith + } + scope:attacker.faith.great_holy_war = { + save_scope_as = the_ghw + } + + scope:attacker = { #Achievement setup. + every_character_war = { + limit = { + is_attacker = scope:attacker + is_defender = scope:defender + } + every_war_attacker = { + add_achievement_flag_effect = { FLAG = achievement_for_the_faith_flag } + } + } + } + + if = { + limit = { exists = scope:attacker.faith.great_holy_war.ghw_title_recipient } + scope:attacker.faith.great_holy_war.ghw_title_recipient = { + save_scope_as = title_recipient + } + } + else = { + scope:attacker = { + save_scope_as = title_recipient + } + } + + create_title_and_vassal_change = { + type = conquest_holy_war + save_scope_as = change + add_claim_on_loss = yes + } + every_in_list = { + list = target_titles + save_scope_as = target + } + scope:attacker.faith.great_holy_war = { + show_as_tooltip = { #Otherwise hand out titles normally. + scope:target = { + change_title_holder = { + holder = scope:title_recipient + change = scope:change + } + } + do_ghw_title_handout = scope:change + } + } + # Create a dynamic title if the kingdom itself can't be created/taken + hidden_effect = { + if = { + limit = { #In the event that, for ex. k_jerusalem exists and is held by a foreign ruler who is not involved in the war in any way. + exists = scope:target + exists = scope:target.holder + scope:target.holder = { + is_alive = yes + faith = scope:attacker.faith + } + } + random_list = { + 50 = { + create_dynamic_title = { + tier = kingdom + name = CRUSADER_STATE_CRUSADER_TITLE_NAME + } + } + 50 = { + create_dynamic_title = { + tier = kingdom + name = CRUSADER_STATE_FAITH_TITLE_NAME + } + } + } + scope:attacker.faith.great_holy_war = { + scope:new_title = { + change_title_holder = { + holder = scope:title_recipient + change = scope:change + } + } + do_ghw_title_handout = scope:change + } + scope:new_title = { generate_coa = yes } + } + else = { #Otherwise hand out titles normally. + scope:attacker.faith.great_holy_war = { + scope:target = { + change_title_holder = { + holder = scope:title_recipient + change = scope:change + } + } + do_ghw_title_handout = scope:change + } + } + scope:title_recipient = { + every_realm_province = { + refill_levy = yes + refill_garrison = yes + } + } + } + #Set 30 years cooldown. + hidden_effect = { + scope:attacker = { + faith = { + set_variable = { + name = variable_ghw_cooldown + value = yes + years = 40 + } + } + } + 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 } + } + } + } + + ordered_in_list = { + list = target_titles + order_by = tier + max = 1 + + save_scope_as = war_goal_title + } + + scope:attacker.faith = { + change_fervor = { + value = -25 + desc = fervor_loss_great_holy_war + } + } + scope:defender.faith = { + change_fervor = { + value = 30 + desc = fervor_gain_great_holy_war + } + } + + #Truce between the chief beneficiary & all defenders + add_truce_GHW_attacker_victory_effect = yes + + every_player = { #Fluff for players + limit = { + OR = { + this = scope:attacker + this = scope:defender + any_war_enemy = { this = scope:attacker } + any_war_enemy = { this = scope:defender } + is_within_diplo_range = { CHARACTER = scope:defender } + } + } + trigger_event = great_holy_war.0052 #Differentiate depending on faith (compared to scope:attacker) + } + + # FP1: note the victory for future memorialisation via stele (if applicable). + scope:attacker = { fp1_remember_recent_conquest_victory_effect = yes } + + scope:title_recipient = { + custom_tooltip = legend_seed_ghw.tt + } + + hidden_effect = { + every_in_list = { + list = beneficiary_fixing_list + if = { + limit = { + has_government = herder_government + } + every_held_title = { + limit = { + tier = tier_county + title_province = { + has_holding_type = herder_holding + } + } + title_province = { + set_holding_type = nomad_holding + } + } + change_government = nomad_government + domicile = { + set_domicile_culture = prev.capital_county.culture + set_domicile_faith = prev.capital_county.faith + } + } + } + } + + #Mandalas gain or lose piety/devotion depending on Decree + mandala_war_victory_effects = yes + } + + on_white_peace_desc = { + desc = WHITE_PEACE_DISABLED + } + + on_defeat_desc = { + desc = great_holy_war_defeat_desc + } + + on_defeat = { + scope:attacker = { show_pow_release_message_effect = yes } + + # Legitimacy + add_legitimacy_attacker_defeat_effect = yes + + scope:defender = { + mandala_peacemaker_perk_serenity_effect = yes + #EP2 accolade glory gain for winning against higher ranked enemy + accolade_defender_war_end_glory_gain_high_effect = yes + } + + scope:attacker.faith.great_holy_war.ghw_target_title = { #Loc keys for localization fluff. + save_scope_as = target_kingdom + } + scope:attacker = { + save_scope_as = ghw_sponsor + } + scope:defender = { + save_scope_as = ghw_defender + } + scope:attacker.faith = { + save_scope_as = the_faith + } + scope:attacker.faith.great_holy_war = { + save_scope_as = the_ghw + } + + scope:defender = { #Achievement setup. + every_character_war = { + limit = { + is_attacker = scope:attacker + is_defender = scope:defender + } + every_war_defender = { + add_achievement_flag_effect = { FLAG = achievement_for_the_faith_flag } + } + } + } + + every_player = { #Fluff for players + limit = { + OR = { + this = scope:attacker + this = scope:defender + any_war_enemy = { this = scope:attacker } + any_war_enemy = { this = scope:defender } + is_within_diplo_range = { CHARACTER = scope:defender } + } + } + trigger_event = great_holy_war.0053 #Differentiate depending on faith (compared to scope:attacker) + } + + # Truce + add_truce_attacker_defeat_effect = yes + + scope:attacker = { + faith = { + change_fervor = { + value = -15 + desc = fervor_loss_lost_great_holy_war + } + } + } + + #Set 30 years cooldown. + hidden_effect = { + scope:attacker = { + faith = { + set_variable = { + name = variable_ghw_cooldown + value = yes + years = 30 + } + } + } + } + + #Mandalas gain or lose piety/devotion depending on Decree + mandala_war_defeat_effects = yes + } + + max_ai_diplo_distance_to_title = 750 +} diff --git a/common/character_interactions/00_grant_titles_interaction.txt b/common/character_interactions/00_grant_titles_interaction.txt new file mode 100644 index 00000000..464e711c --- /dev/null +++ b/common/character_interactions/00_grant_titles_interaction.txt @@ -0,0 +1,2308 @@ +#be aware that the actual granting of the title happens in code! +grant_titles_interaction = { + + category = interaction_category_vassal + common_interaction = yes + + desc = grant_titles_interaction_desc + + special_interaction = grant_titles_interaction + interface = grant_titles + target_type = title + target_filter = actor_domain_titles + interface_priority = 60 + + # actor character giving the titles + # recipient character receiving the titles + + is_shown = { + scope:actor != scope:recipient + scope:actor = { + NOT = { + government_has_flag = government_is_landless_adventurer + } + } + scope:recipient = { + OR = { + target_is_liege_or_above = scope:actor + is_pool_guest_of = scope:actor + AND = { + scope:actor.faith.religious_head = scope:recipient + top_liege = this + } + } + } + trigger_if = { + limit = { + scope:actor = { government_allows = administrative } + } + scope:recipient = { NOT = { government_allows = administrative } } + } + trigger_if = { + limit = { + scope:actor = { government_has_flag = government_is_nomadic NOT = { government_has_flag = government_allows_nomad_domicile_titles }} + } + scope:recipient = { NOT = { government_has_flag = government_is_herder } } + } + } + + is_valid_showing_failures_only = { + scope:recipient = { + custom_tooltip = { + text = can_be_granted_titles_interaction_tt + OR = { + can_be_granted_titles_by = { RULER = scope:actor } + can_be_granted_theocratic_titles_by = { RULER = scope:actor } + AND = { + is_diarch_of_target = scope:actor + scope:actor = { has_diarchy_active_parameter = diarchy_is_co_rulership } + } + } + } + NOT = { is_at_war_with = scope:actor } + NOT = { has_trait = devoted } # Monks are disinherited, and should not have land granted to them + bp2_valid_for_standard_interactions_trigger = yes + trigger_if = { + limit = { is_ruler = no } + is_imprisoned = no + } + # DON'T TAKE OTHER PLAYERS' ACCLAIMED KNIGHTS + custom_description = { + text = grant_title_stealing_acclaimed_knight + subject = scope:recipient + NOR = { + AND = { + is_acclaimed = yes + liege ?= { + is_ai = no + this != scope:actor + } + } + AND = { + is_acclaimed = yes + scope:actor = { is_ai = yes } + } + } + } + # Gallivanters won't accept additional responsibilities. + NOT = { has_trait = gallivanter } + # TGP JAPAN + tgp_japan_grant_titles_restriction_trigger = { + GRANTER = scope:actor + GRANTEE = scope:recipient + } + } + custom_description = { + text = is_not_theocratic_court_chaplain + subject = scope:recipient + NAND = { + scope:actor.faith = { + has_doctrine = doctrine_theocracy_temporal + } + scope:recipient = { + faith = { + has_doctrine = doctrine_theocracy_temporal + } + has_council_position = councillor_court_chaplain + } + scope:actor.faith.religious_head != scope:recipient + } + } + scope:actor = { + any_held_title = { + count > 1 + } + } + } + + can_send = { + trigger_if = { + limit = { + scope:actor = { + highest_held_title_tier >= tier_kingdom + has_diarchy_active_parameter = primeminister_requires_duchy + diarch = scope:recipient + } + } + custom_tooltip = { + text = primeminister_requires_duchy.tt.blocked_grant + any_in_list = { + list = target_titles + tier >= tier_duchy + } + } + } + } + + can_be_picked_title = { + scope:target = { + is_leased_out = no + + trigger_if = { + limit = { is_noble_family_title = yes } + custom_tooltip = { + text = GRANT_TITLES_ITEM_CANT_GIVE_NOBLE_FAMILY + always = no + } + } + + trigger_if = { + limit = { + scope:actor = { + NOT = { + has_government = nomad_government + } + } + title_province = { + OR = { + has_holding_type = nomad_holding + has_holding_type = herder_holding + } + } + scope:recipient = { + is_ruler = no + } + } + custom_tooltip = { + text = GRANT_TITLES_ITEM_CANT_GIVE_NOMADIC_TITLES_TO_NON_NOMADS_TITLE + always = no + } + } + + trigger_if = { + limit = { is_nomad_title = yes } + custom_tooltip = { + text = GRANT_TITLES_ITEM_CANT_GIVE_NOMAD_TITLE + always = no + } + } + + trigger_if = { + limit = { + is_head_of_faith = yes + scope:recipient.faith.religious_head != scope:actor.faith.religious_head + } + custom_tooltip = { + text = GRANT_TITLES_ITEM_CANT_HEAD_OF_FAITH_TO_INFIDEL + scope:recipient.faith.religious_head = scope:actor.faith.religious_head + } + } + + trigger_if = { + limit = { + scope:recipient = scope:actor.player_heir + scope:actor = { has_partition_succession_realm_law_trigger = yes } + } + custom_description = { + text = partition_primary_heir_unfair + subject = scope:recipient + current_heir = scope:recipient + } + } + trigger_if = { + limit = { scope:target = title:k_fashion } + NOT = { scope:target = title:k_fashion } + } + custom_tooltip = { + text = cannot_grant_ceremonial_title + NOT = { exists = var:ceremonial_title } + } + } + + custom_description = { + text = grant_titles_interaction_can_only_give_diarch_de_jure_liege_to_diarch + subject = scope:actor.diarch + NAND = { + # Only applies if we have an active diarchy. + scope:actor = { has_active_diarchy = yes } + # Now, prevent us from giving away our diarch's land to invalidate them... + scope:target = { + any_dejure_vassal_title_holder = { this = scope:actor.diarch } + # ... _unless_ we're giving it _to_ the diarch. + scope:recipient != scope:actor.diarch + # Plus we only care if the title is below our tier. + tier < scope:actor.highest_held_title_tier + } + } + } + + custom_description = { + text = grant_titles_interaction_children_not_allowed_temple + subject = scope:recipient + NOR = { + AND = { + scope:recipient = { + is_adult = no + } + scope:target = { + tier = tier_barony + title_province = { has_building_with_flag = temple } + } + } + AND = { + scope:recipient = { + is_adult = no + } + scope:target = { + tier = tier_county + + title_province = { + is_county_capital = yes + has_building_with_flag = temple + } + } + } + } + } + + custom_description = { + text = grant_titles_interaction_title_being_wagered + NOT = { + scope:target = { has_variable = wagered_county } + } + } + } + + auto_accept = yes + + on_auto_accept = { + scope:recipient = { + trigger_event = char_interaction.0110 + } + } + + on_accept = { + if = { + limit = { + scope:actor = { + government_has_flag = government_is_nomadic + vassal_limit_available <= 0 + is_independent_ruler = yes + scope:recipient = { + NOT = { is_vassal_of = scope:actor } + } + } + } + custom_tooltip = grant_title_nomad_and_at_vassal_limit + } + scope:recipient = { + add_character_flag = { + flag = domicile_culture_and_faith_check + days = 1 + } + } + if = { + limit = { + scope:recipient = { + is_acclaimed = yes + liege = { + this = scope:actor + } + } + scope:target = { + tier > tier_barony + } + } + custom_tooltip = grant_title_landing_acclaimed_knight_warning + } + scope:recipient = { + if = { + limit = { + top_liege = this + save_temporary_scope_as = recipient_is_independent + } + } + if = { + limit = { + NOT = { + has_relation_friend = scope:actor + } + } + if = { + # then verify the right struggle phase + limit = { + is_diff_faith_or_culture_trigger = { + CHAR = scope:actor + STATUS = involved + } + any_character_struggle = { + involvement = involved + has_struggle_phase_parameter = struggle_grant_titles_diff_faith_culture_to_leads_to_friendship + } + } + progress_towards_friend_effect = { + REASON = friend_granted_title + CHARACTER = scope:actor + OPINION = 0 + } + } + } + } + + if = { + limit = { + OR = { + any_in_list = { + list = target_titles + tier = tier_county + culture = scope:recipient.culture + NOR = { + culture = scope:actor.culture + recent_history = { + type = granted + years = 10 + } + } + } + any_in_list = { + list = target_titles + tier >= tier_duchy + title_capital_county = { + culture != scope:actor.culture + culture = scope:recipient.culture + } + NOT = { + recent_history = { + type = granted + years = 10 + } + } + } + } + } + scope:recipient.culture = { + change_cultural_acceptance = { + target = scope:actor.culture + value = grant_title_cultural_acceptance_impact + desc = cultural_acceptance_gain_granted_title + } + } + } + if = { + limit = { + any_in_list = { + list = target_titles + tier = tier_county + } + scope:actor.culture = { has_cultural_parameter = grants_to_lowborns_bonuses } + scope:recipient = { + is_lowborn = yes + } + } + every_in_list = { + list = target_titles + limit = { tier = tier_county } + change_county_control = 30 + } + scope:recipient = { + add_trait = peasant_leader + } + } + if = { + limit = { + any_in_list = { + list = target_titles + tier >= tier_county + } + scope:actor.culture = { has_cultural_parameter = landing_house_members_give_prestige } + exists = scope:actor.house + exists = scope:recipient.house + scope:actor.house = scope:recipient.house + } + scope:actor = { + add_prestige = { + value = 0 + every_in_list = { + list = target_titles + limit = { tier = tier_empire } + add = massive_prestige_gain + } + every_in_list = { + list = target_titles + limit = { tier = tier_kingdom } + add = major_prestige_gain + } + every_in_list = { + list = target_titles + limit = { tier = tier_duchy } + add = medium_prestige_gain + } + every_in_list = { + list = target_titles + limit = { tier = tier_county } + add = minor_prestige_gain + } + } + } + } + if = { + limit = { + any_in_list = { + list = target_titles + tier >= tier_county + } + scope:actor.culture = { has_cultural_parameter = landing_house_members_gives_renown } + exists = scope:actor.house + exists = scope:recipient.house + scope:actor.house = scope:recipient.house + } + scope:actor.dynasty = { + add_dynasty_prestige = { + value = 0 + every_in_list = { + list = target_titles + limit = { tier = tier_empire } + add = scope:actor.dynasty.massive_dynasty_prestige_gain + } + every_in_list = { + list = target_titles + limit = { tier = tier_kingdom } + add = scope:actor.dynasty.major_dynasty_prestige_gain + } + every_in_list = { + list = target_titles + limit = { tier = tier_duchy } + add = scope:actor.dynasty.medium_dynasty_prestige_gain + } + every_in_list = { + list = target_titles + limit = { tier = tier_county } + add = scope:actor.dynasty.minor_dynasty_prestige_gain + } + } + } + } + + # Iterate over all given titles + # - Add opinion modifiers + # - Collect titles that discontent reduction can later be derived from + every_in_list = { + list = target_titles + save_temporary_scope_as = this_title + if = { + limit = { + exists = scope:landed_title + } + scope:recipient = { + if = { + limit = { + scope:this_title.tier = tier_barony + } + + hidden_effect = { + add_opinion = { + target = scope:actor + modifier = received_title_barony + } + } + + scope:this_title = { add_to_temporary_list = titles_to_grant } + } + + else_if = { + limit = { + scope:this_title.tier = tier_county + } + + hidden_effect = { + add_opinion = { + target = scope:actor + modifier = received_title_county + } + if = { + limit = { + is_lowborn = yes + } + scope:actor = { + if = { + limit = { + is_ai = no + } + every_vassal = { + vassal_stance = courtly + add_opinion = { + target = scope:actor + modifier = courtly_lowborn_grant_opinion + opinion = -5 + } + } + } + else = { # Can't really stop the AI from landing lowborns, so throttle it a bit so that great conquerors don't annihilate their opinion + random = { + chance = 25 + every_vassal = { + vassal_stance = courtly + add_opinion = { + target = scope:actor + modifier = courtly_lowborn_grant_opinion + opinion = -5 + } + } + } + } + } + } + } + + scope:this_title = { add_to_temporary_list = titles_to_grant } + } + + else_if = { + limit = { + scope:this_title.tier = tier_duchy + } + + hidden_effect = { + add_opinion = { + target = scope:actor + modifier = received_title_duchy + } + if = { + limit = { + is_lowborn = yes + } + scope:actor = { + every_vassal = { + vassal_stance = courtly + add_opinion = { + target = scope:actor + modifier = courtly_lowborn_grant_opinion + opinion = -20 + } + } + } + } + } + + scope:this_title = { add_to_temporary_list = titles_to_grant } + } + + else_if = { + limit = { + scope:this_title.tier = tier_kingdom + } + + hidden_effect = { + add_opinion = { + target = scope:actor + modifier = received_title_kingdom + } + if = { + limit = { + is_lowborn = yes + } + scope:actor = { + every_vassal = { + vassal_stance = courtly + add_opinion = { + target = scope:actor + modifier = courtly_lowborn_grant_opinion + opinion = -50 + } + } + } + } + } + + scope:this_title = { add_to_temporary_list = titles_to_grant } + } + + else_if = { + limit = { + scope:this_title.tier = tier_empire + } + + hidden_effect = { + add_opinion = { + target = scope:actor + modifier = received_title_empire + } + if = { + limit = { + is_lowborn = yes + } + scope:actor = { + every_vassal = { + vassal_stance = courtly + add_opinion = { + target = scope:actor + modifier = courtly_lowborn_grant_opinion + opinion = -5 + } + } + } + } + if = { + limit = { + is_a_faction_member = yes + } + add_joined_faction_discontent = -60 + } + } + + scope:this_title = { add_to_temporary_list = titles_to_grant } + } + } + + #Promised a vassal this title they had a claim on (vassal.2901) + if = { + limit = { + scope:actor = { + exists = var:was_promised_title + var:was_promised_title = scope:recipient + } + } + if = { + limit = { + scope:recipient = { + exists = var:promised_title + } + scope:landed_title = scope:recipient.var:promised_title + } + scope:actor = { + trigger_event = { + id = vassal.2910 + days = { 7 14 } + } + } + } + } + } + if = { + limit = { + scope:recipient = { + has_trait = bastard + } + } + custom_tooltip = grant_title_to_bastard_dynasty_warning + } + } # every_in_list + + + # The accumulated discontent reduction of the recipient + scope:recipient = { + if = { + limit = { + is_a_faction_member = yes + } + add_joined_faction_discontent = grant_title_opinion_sum_discontent_calc + } + } + + # Viziers may be booted from their job. + scope:actor = { + if = { + limit = { + # Assuming this is relevant at all. + diarch ?= scope:recipient + # And that scope:actor can do without a supervisor atm. + can_leave_diarchy_trigger = yes + # Aaaaand that their diarchy supports this type of thing. + OR = { + has_diarchy_parameter = primeminister_requires_county + has_diarchy_parameter = primeminister_requires_duchy + } + } + # Is this a duchy? + if = { + limit = { + any_in_list = { + list = target_titles + tier >= tier_duchy + } + } + custom_tooltip = grant_titles_interaction.tt.primeminister_title_grant.duchy_sufficient + end_diarchy = yes + } + # Is this a county? + else_if = { + limit = { + any_in_list = { + list = target_titles + tier = tier_county + } + } + # Is that insufficient? + if = { + limit = { has_diarchy_active_parameter = primeminister_requires_duchy } + custom_tooltip = grant_titles_interaction.tt.primeminister_title_grant.county_insufficient + } + # Is that sufficient? + else = { + custom_tooltip = grant_titles_interaction.tt.primeminister_title_grant.county_sufficient + end_diarchy = yes + } + } + # Is this a barony? + else_if = { + limit = { + any_in_list = { + list = target_titles + count = all + tier = tier_barony + } + } + custom_tooltip = grant_titles_interaction.tt.primeminister_title_grant.barony_doesnt_end + } + } + } + + if = { + limit = { + any_in_list = { + list = target_titles + tier = tier_empire + } + } + custom_tooltip = grant_title_modifier_stack_empires + } + if = { + limit = { + any_in_list = { + list = target_titles + tier = tier_kingdom + } + } + custom_tooltip = grant_title_modifier_stack_kingdoms + } + if = { + limit = { + any_in_list = { + list = titles_to_grant + tier = tier_duchy + } + } + custom_tooltip = grant_title_modifier_stack_duchies + } + if = { + limit = { + any_in_list = { + list = titles_to_grant + tier = tier_county + } + } + custom_tooltip = grant_title_modifier_stack_counties + } + if = { + limit = { + any_in_list = { + list = titles_to_grant + tier = tier_barony + } + } + custom_tooltip = grant_title_modifier_stack_baronies + } + if = { + limit = { + trigger_if = { + limit = { scope:actor = { is_ai = yes } } + scope:actor = { + any_vassal = { + vassal_stance = courtly + } + } + } + scope:recipient = { + is_lowborn = yes + } + any_in_list = { + list = titles_to_grant + tier >= tier_county + } + } + custom_tooltip = grant_title_modifier_courtly_lowborn_grant_penalty + } + if = { + limit = { + scope:recipient = { is_a_faction_member = yes } + } + custom_tooltip = grant_title_modifier_stack_discontent + } + + # Jealousy check + if = { + limit = { + any_in_list = { + list = titles_to_grant + any_claimant = { grant_title_rivalry_trigger = yes } + } + } + hidden_effect = { + random = { + chance = 25 + ordered_in_list = { + list = titles_to_grant + limit = { + any_claimant = { grant_title_rivalry_trigger = yes } + } + order_by = tier + save_scope_as = claim_title + ordered_claimant = { + limit = { grant_title_rivalry_trigger = yes } + order_by = primary_title.tier + save_scope_as = claim_vassal + if = { + limit = { + scope:recipient = { is_lowborn = yes } + } + scope:recipient = { save_scope_as = lowborn_scope } + } + else_if = { + limit = { + scope:recipient = { has_claim_on = scope:claim_title } + } + scope:recipient = { save_scope_as = claimant_scope } + } + scope:actor = { + trigger_event = { + id = bp1_yearly.8070 + days = 5 + } + } + } + } + } + } + } + + #Stress impact + scope:actor = { + if = { + limit = { + any_in_list = { + list = target_titles + trigger_if = { + limit = { tier = tier_barony } + title_province.barony = { + has_wrong_holding_type = no + } + } + count >= 1 + } + } + + # Generous characters enjoy giving away titles + if = { + limit = { + has_trait = generous + } + add_stress = generous_title_grant_value + } + + # Gnostics lose stress for giving away titles. + if = { + limit = { + scope:actor = { + faith = { + has_doctrine_parameter = granting_titles_gives_stress + } + } + } + scope:actor = { + add_stress = { + value = 0 + + # Base stress value scaled on title tier. + every_in_list = { + list = target_titles + + add = { + value = 0 + + if = { + limit = { this.tier = tier_county } + add = minor_stress_loss # 10 base + } + else_if = { + limit = { this.tier = tier_duchy } + add = { + value = medium_stress_loss + multiply = 1.25 # 25 base + } + } + else_if = { + limit = { this.tier = tier_kingdom } + add = { + value = major_stress_loss + multiply = 2 # 80 base + } + } + else_if = { + limit = { this.tier = tier_empire } + add = { + value = monumental_stress_loss + multiply = 2 # 200 base + } + } + + # Lose more stress for giving away titles of your primary tier; lose less stress for giving away titles far below your primary in tier. + multiply = { + value = this.tier + add = 1 + divide = scope:actor.primary_title.tier + } + + # Round to the nearest multiple of 5. + divide = 5 + round = yes + multiply = 5 + + # For a Duke, this will be x1.25 for Duchies (-30) and x1 for Counties(-10) + # For a King, this will be x1.25 for a Kingdom (-100), x1 for a Duchy (-25) and x0.75 for Counties(-10) + # For an Emperor, this will be x1.25 for an Empire(-200), x1 for a Kingdom(-80), x0.75 for a Duchy(-20) and x0.4 for a Counties (-5) + } + } + } + } + } + + # Greedy & ambitious ruler gain stress for giving away titles if they would normally be able to keep them. + if = { + limit = { + # Pre-filter + OR = { + has_trait = greedy + has_trait = ambitious + } + domain_size <= domain_limit # Not over my domain limit + any_in_list = { + list = target_titles + tier <= tier_county # At least 1 selected title counts toward domain limit + } + + # Special exemption for lieges who are over their held duchy limit, which are giving away that duchy (and associated counties) specifically + trigger_if = { + limit = { + has_too_many_held_duchies_trigger = yes + } + NOT = { + # Granting at least 1 duchy + any_in_list = { + list = target_titles + title_counts_towards_too_many_duchies_trigger = yes + save_temporary_scope_as = granted_duchy + + # All counties being granted are De Jure part of the duchy that is being granted + any_in_list = { + list = target_titles + count = all + trigger_if = { + limit = { tier = tier_county} + de_jure_liege = scope:granted_duchy + } + } + } + } + } + } + # Actual stress gain effects + if = { + limit = { + domain_size = domain_limit + } + stress_impact = { + greedy = minor_stress_impact_gain + ambitious = minor_stress_impact_gain + } + } + else_if = { + limit = { + domain_size < domain_limit + } + stress_impact = { + greedy = medium_stress_impact_gain + ambitious = medium_stress_impact_gain + } + } + } + } + + # Maintenance for runestones + if = { + limit = { + # Use expanded version if we have FP1. + has_fp1_dlc_trigger = yes + fp1_remove_stele_new_holder_trigger = { + TITLE = scope:target + PREVIOUS_HOLDER = scope:actor + NEW_HOLDER = scope:recipient + } + } + # Actually removed in fp1_other_decisions.0113 + custom_tooltip = runestone_grant_title_warning + } + else_if = { + limit = { + scope:target = { + exists = var:ancestor_to_bury + has_county_modifier = county_raised_runestone_modifier + } + NOT = { scope:recipient.dynasty = var:ancestor_to_bury.dynasty } #We only have to change something if the new holder is of a different dynasty + } + # Actually removed in religious_decision.0312 + custom_tooltip = runestone_grant_title_warning + } + + if = { + limit = { + exists = scope:actor.dynasty + scope:actor.dynasty = { + has_dynasty_perk = ep1_culture_legacy_3 + } + scope:recipient = { + is_playable_character = no + culture != scope:actor.culture + any_in_list = { + list = target_titles + OR = { + tier = tier_county + tier = tier_barony + } + culture = scope:recipient.culture + } + } + } + scope:actor = { + if = { + limit = { + can_add_hook = { + target = scope:recipient + type = favor_hook + } + } + add_hook = { + type = favor_hook + target = scope:recipient + } + } + } + } + + #Feedback for actor + hidden_effect = { + if = { + limit = { + government_has_flag = government_is_nomadic + vassal_limit_available <= 0 + is_independent_ruler = yes + scope:recipient = { + NOT = { is_vassal_of = scope:actor } + } + } + send_interface_toast = { + type = event_toast_effect_neutral + title = grant_titles_interaction_notification + + left_icon = scope:actor + right_icon = scope:recipient + + custom_tooltip = grant_titles_interaction_notification_effect_7 + } + } + else_if = { + limit = { + any_in_list = { + list = target_titles + count = 1 + NOT = { tier = scope:actor.highest_held_title_tier } + } + NOT = { exists = scope:recipient_is_independent } + scope:recipient = { + any_held_title = { + title_tier > barony + NOT = { + is_in_list = target_titles + } + } + } + } + random_in_list = { + list = target_titles + save_temporary_scope_as = loc_title + } + send_interface_toast = { + type = event_toast_effect_neutral + title = grant_titles_interaction_notification + + left_icon = scope:actor + right_icon = scope:recipient + + custom_tooltip = grant_titles_interaction_notification_effect_2 + if = { + limit = { + exists = dynasty + is_diff_faith_or_culture_trigger = { + CHAR = scope:recipient + STATUS = involved + } + any_character_struggle = { + involvement = involved + has_struggle_phase_parameter = struggle_grant_titles_diff_faith_culture_gives_prestige + + } + } + dynasty = { + add_dynasty_prestige = minor_dynasty_prestige_gain + } + + } + } + } + else_if = { + limit = { + any_in_list = { + list = target_titles + count > 1 + NOT = { tier = scope:actor.highest_held_title_tier } + } + NOT = { exists = scope:recipient_is_independent } + scope:recipient = { + any_held_title = { + title_tier > barony + NOT = { + is_in_list = target_titles + } + } + } + } + random_in_list = { + list = target_titles + save_temporary_scope_as = loc_title + } + send_interface_toast = { + type = event_toast_effect_neutral + title = grant_titles_interaction_notification + + left_icon = scope:actor + right_icon = scope:recipient + + custom_tooltip = grant_titles_interaction_notification_effect_3 + } + } + else_if = { + limit = { + exists = scope:recipient_is_independent + } + + random_in_list = { + list = target_titles + save_temporary_scope_as = loc_title + } + send_interface_toast = { + type = event_toast_effect_neutral + title = grant_titles_interaction_notification + + left_icon = scope:actor + right_icon = scope:recipient + + custom_tooltip = grant_titles_interaction_notification_effect_6 + } + } + else_if = { + limit = { + scope:recipient = { + any_in_list = { #Became independent from you, but still have the same liege + list = target_titles + tier = scope:actor.highest_held_title_tier + } + top_liege = scope:actor.top_liege + } + } + send_interface_toast = { + type = event_toast_effect_neutral + title = grant_titles_interaction_notification + + left_icon = scope:actor + right_icon = scope:recipient + + custom_tooltip = grant_titles_interaction_notification_effect_5 + } + } + else_if = { + limit = { + scope:recipient = { + any_in_list = { #Became independent + list = target_titles + tier = scope:actor.highest_held_title_tier + } + } + } + send_interface_toast = { + type = event_toast_effect_neutral + title = grant_titles_interaction_notification + + left_icon = scope:actor + right_icon = scope:recipient + + custom_tooltip = grant_titles_interaction_notification_effect_4 + } + } + else = { + send_interface_toast = { + type = event_toast_effect_neutral + title = grant_titles_interaction_notification + + left_icon = scope:actor + right_icon = scope:recipient + + custom_tooltip = grant_titles_interaction_notification_effect + } + } + } + } + + hidden_effect = { + # Struggle Catalyst + if = { + limit = { + scope:actor = { + is_diff_faith_or_culture_trigger = { + CHAR = scope:recipient + STATUS = involved + } + any_character_struggle = { + involvement = involved + activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { + CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal + CHAR = scope:recipient + } + } + } + } + scope:actor = { + every_character_struggle = { + involvement = involved + limit = { + activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { + CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal + CHAR = scope:recipient + } + } + activate_struggle_catalyst = { + catalyst = catalyst_grant_privilege_to_diff_faith_culture_vassal + character = scope:actor + } + } + } + } + } + + # Achievements. + scope:actor = { + if = { + limit = { + has_variable_list = candidate_a_knights_tale_achievement + is_target_in_variable_list = { + name = candidate_a_knights_tale_achievement + target = scope:recipient + } + } + set_global_variable = { + name = finished_a_knights_tale_achievement + value = yes + } + } + } + } +} + +#This interaction is referenced in code! If it's renamed you have to ping a coder +grant_title_to_new_random_character_interaction = { + hidden = yes + auto_accept = yes + special_interaction = grant_titles_interaction + use_diplomatic_range = no + + is_valid_showing_failures_only = { + scope:actor = { + this != scope:recipient + any_held_title = { + count > 1 + } + } + } +} + +#be aware that the actual granting of the title happens in code! +grant_governorship_interaction = { + icon = grant_governorship + category = interaction_category_vassal + common_interaction = yes + + desc = grant_governorship_interaction_desc + + special_interaction = grant_governorship_interaction + interface = grant_titles + target_type = title + target_filter = actor_domain_titles + interface_priority = 60 + + # actor character giving the titles + # recipient character receiving the titles + + is_shown = { + scope:actor != scope:recipient + scope:recipient = { + OR = { + target_is_liege_or_above = scope:actor + is_pool_guest_of = scope:actor + } + } + scope:actor = { + government_allows = administrative + highest_held_title_tier >= tier_county + } + + trigger_if = { + limit = { + scope:actor = { is_ai = yes } + } + scope:recipient = { + NOT = { any_parent = { is_ai = no } } + } + } + } + + is_valid_showing_failures_only = { + scope:actor = { + custom_tooltip = { + text = grant_governorship_interaction_no_title_tt + any_held_title = { + tier >= tier_county + is_noble_family_title = no + is_landless_type_title = no + NOR = { + this = scope:actor.capital_county + this = scope:actor.primary_title + } + } + } + } + scope:recipient = { + is_adult = yes + NOT = { is_at_war_with = scope:actor } + bp2_valid_for_standard_interactions_trigger = yes + trigger_if = { + limit = { is_ruler = no } + is_imprisoned = no + } + government_allows = administrative + # Only the preferred gender can be appointed unless they hold titles already + trigger_if = { + limit = { + scope:actor = { + OR = { + has_realm_law = male_only_law + has_realm_law = male_preference_law + } + } + is_landed = no + } + custom_tooltip = { + text = recipient_cannot_be_appointed_gender_laws_tt + is_female = no + } + } + trigger_if = { + limit = { + scope:actor = { + OR = { + has_realm_law = female_only_law + has_realm_law = female_preference_law + } + } + is_landed = no + } + custom_tooltip = { + text = recipient_cannot_be_appointed_gender_laws_tt + is_female = yes + } + } + # DON'T TAKE OTHER PLAYERS' ACCLAIMED KNIGHTS + custom_description = { + text = grant_title_stealing_acclaimed_knight + subject = scope:recipient + NOR = { + AND = { + is_acclaimed = yes + liege ?= { + is_ai = no + this != scope:actor + } + } + AND = { + is_acclaimed = yes + scope:actor = { is_ai = yes } + } + } + } + is_clergy = no + # Gallivanters won't accept additional responsibilities. + NOT = { has_trait = gallivanter } + # TGP JAPAN + tgp_japan_grant_titles_restriction_trigger = { + GRANTER = scope:actor + GRANTEE = scope:recipient + } + # Cannot be a minister + custom_tooltip = { + text = recipient_is_a_minister_desc + tgp_is_any_minister = no + } + } + } + + can_send = { + scope:recipient = { + custom_tooltip = { + text = promote_candidate_interaction_existing_holder_tt + this != scope:target.holder + } + + trigger_if = { # Governors can only be appointed to certain titles + limit = { + is_governor = yes + scope:target = { is_noble_family_title = no } # For tooltip reasons, so we don't show more than necessary + } + custom_tooltip = { # Only one province of highest rank + text = only_one_province_of_highest_rank_tt + NAND = { + highest_held_title_tier = scope:target.tier + scope:target.tier >= tier_duchy + scope:target = { # We make an exception if recipient controls at least one de jure county + any_de_jure_county = { + count < 1 + OR = { + holder = scope:recipient + holder = { is_vassal_or_below_of = scope:recipient } + } + } + } + } + } + custom_tooltip = { + text = admin_must_be_de_jure_or_neighboring + any_held_title = { + OR = { + # The target title is part of your de jure structure + is_de_jure_liege_or_above_target = scope:target + target_is_de_jure_liege_or_above = scope:target + # Or is a neighboring county which de jure duchy is not part of your realm + AND = { + NOT = { tier = tier_barony } + any_title_to_title_neighboring_county = { this = scope:target } + scope:target = { + tier = tier_county + duchy = { + OR = { + NOT = { exists = holder } + holder = { + NOR = { + is_vassal_or_below_of = scope:actor + this = scope:actor + } + } + } + } + } + } + } + } + } + } + trigger_if = { # If recipient is landless and only have a family title, target title must be a duchy or above + limit = { + is_landless_ruler = yes + any_held_title = { is_noble_family_title = yes } + scope:target.tier < min_appointment_tier + } + primary_title.tier <= scope:target.tier + } + trigger_if = { # If recipient is a count, they can get only get counties within the same duchy + limit = { + highest_held_title_tier = tier_county + main_administrative_tier > tier_county + is_landed = yes + scope:target.tier = tier_county + } + custom_tooltip = { + text = admin_count_grant_only_counties + any_held_title = { duchy = scope:target.duchy } + } + } + tgp_is_ceremonial_liege_trigger = no + } + } + + can_be_picked_title = { + scope:target = { + is_leased_out = no + + scope:recipient = { + trigger_if = { # Governors can only be appointed to certain titles + limit = { + is_governor = yes + scope:target = { is_noble_family_title = no } # For tooltip reasons, so we don't show more than necessary + } + custom_tooltip = { # Only one province of highest rank + text = only_one_province_of_highest_rank_tt + NAND = { + highest_held_title_tier = scope:target.tier + scope:target.tier >= main_administrative_tier + trigger_if = { + limit = { + scope:target.tier >= tier_duchy + } + scope:target = { # We make an exception if recipient controls at least one de jure county + any_de_jure_county = { + count < 1 + OR = { + holder = scope:recipient + holder = { is_vassal_or_below_of = scope:recipient } + } + } + } + } + } + } + custom_tooltip = { + text = admin_must_be_de_jure_or_neighboring + any_held_title = { + OR = { + # The target title is part of your de jure structure + is_de_jure_liege_or_above_target = scope:target + target_is_de_jure_liege_or_above = scope:target + # Or is a neighboring county which de jure duchy is not part of your realm + AND = { + any_title_to_title_neighboring_county = { this = scope:target } + scope:target = { + tier = tier_county + duchy = { + OR = { + NOT = { exists = holder } + holder = { + NOR = { + is_vassal_or_below_of = scope:actor + this = scope:actor + } + } + } + } + } + } + } + } + } + } + trigger_if = { # If recipient is landless and only have a family title, target title must be a duchy or above + limit = { + is_landless_ruler = yes + any_held_title = { is_noble_family_title = yes } + scope:target.tier < min_appointment_tier + } + primary_title.tier <= scope:target.tier + } + trigger_if = { # If recipient is a count, they can get only get counties within the same duchy + limit = { + highest_held_title_tier = tier_county + main_administrative_tier > tier_county + is_landed = yes + scope:target.tier = tier_county + } + custom_tooltip = { + text = admin_count_grant_only_counties + any_held_title = { duchy = scope:target.duchy } + } + } + tgp_is_ceremonial_liege_trigger = no + } + + custom_tooltip = { + text = GRANT_TITLES_ITEM_CANT_GIVE_ADMIN_PRIMARY + this != scope:actor.capital_province.duchy + } + + trigger_if = { + limit = { is_noble_family_title = yes } + custom_tooltip = { + text = GRANT_TITLES_ITEM_CANT_GIVE_NOBLE_FAMILY + always = no + } + } + trigger_if = { + limit = { exists = var:ceremonial_title } + custom_tooltip = { + text = GRANT_TITLES_ITEM_CANT_GIVE_CEREMONIAL_TITLE + always = no + } + } + + trigger_if = { + limit = { + list_size:target_titles > 0 + } + custom_tooltip = { + text = GRANT_TITLES_ITEM_ADMIN_CANT_GIVE_MORE_THAN_ONE + any_in_list = { + list = target_titles + scope:target ?= this + } + } + } + + trigger_if = { + limit = { scope:target = title:k_fashion } + NOT = { scope:target = title:k_fashion } + } + } + + custom_description = { + text = grant_titles_interaction_can_only_give_diarch_de_jure_liege_to_diarch + subject = scope:actor.diarch + NAND = { + # Only applies if we have an active diarchy. + scope:actor = { has_active_diarchy = yes } + # Now, prevent us from giving away our diarch's land to invalidate them... + scope:target = { + any_dejure_vassal_title_holder = { this = scope:actor.diarch } + # ... _unless_ we're giving it _to_ the diarch. + scope:recipient != scope:actor.diarch + # Plus we only care if the title is below our tier. + tier < scope:actor.highest_held_title_tier + } + } + } + + custom_description = { + text = grant_titles_interaction_title_being_wagered + NOT = { + scope:target = { has_variable = wagered_county } + } + } + } + + auto_accept = yes + + on_auto_accept = { + scope:recipient = { + trigger_event = { + id = char_interaction.0111 + delayed = yes #this has to be delayed in case you grant it to someone that doesn't have an estate yet, for the change_government effect to work and generate the estate + } + } + } + + on_accept = { + if = { + limit = { + scope:recipient = { + is_acclaimed = yes + liege = { + this = scope:actor + } + } + } + custom_tooltip = grant_title_landing_acclaimed_knight_warning + } + + if = { + limit = { + any_in_list = { + list = target_titles + tier >= tier_duchy + title_capital_county = { + culture != scope:actor.culture + culture = scope:recipient.culture + } + NOT = { + recent_history = { + type = granted + years = 10 + } + } + } + } + scope:recipient.culture = { + change_cultural_acceptance = { + target = scope:actor.culture + value = grant_title_cultural_acceptance_impact + desc = cultural_acceptance_gain_granted_title + } + } + } + if = { + limit = { + any_in_list = { + list = target_titles + tier >= tier_county + } + scope:actor.culture = { has_cultural_parameter = landing_house_members_give_prestige } + exists = scope:actor.house + exists = scope:recipient.house + scope:actor.house = scope:recipient.house + } + scope:actor = { + add_prestige = { + value = 0 + every_in_list = { + list = target_titles + limit = { tier = tier_empire } + add = massive_prestige_gain + } + every_in_list = { + list = target_titles + limit = { tier = tier_kingdom } + add = major_prestige_gain + } + every_in_list = { + list = target_titles + limit = { tier = tier_duchy } + add = medium_prestige_gain + } + } + } + } + if = { + limit = { + any_in_list = { + list = target_titles + tier >= tier_county + } + scope:actor.culture = { has_cultural_parameter = landing_house_members_gives_renown } + exists = scope:actor.house + exists = scope:recipient.house + scope:actor.house = scope:recipient.house + } + scope:actor.dynasty = { + add_dynasty_prestige = { + value = 0 + every_in_list = { + list = target_titles + limit = { tier = tier_kingdom } + add = scope:actor.dynasty.major_dynasty_prestige_gain + } + every_in_list = { + list = target_titles + limit = { tier = tier_duchy } + add = scope:actor.dynasty.medium_dynasty_prestige_gain + } + } + } + } + + # Iterate over all given titles + # - Add opinion modifiers + # - Collect titles that discontent reduction can later be derived from + every_in_list = { + list = target_titles + save_temporary_scope_as = this_title + if = { + limit = { + exists = scope:landed_title + } + scope:recipient = { + # Add opinion based on title tier + if = { + limit = { + scope:this_title.tier = tier_county + scope:actor = { min_appointment_tier = tier_county } + } + + hidden_effect = { + add_opinion = { + target = scope:actor + modifier = received_title_county + } + } + + scope:this_title = { add_to_temporary_list = titles_to_grant } + } + + else_if = { + limit = { + scope:this_title.tier = tier_duchy + } + + hidden_effect = { + add_opinion = { + target = scope:actor + modifier = received_title_duchy + } + if = { + limit = { + is_lowborn = yes + } + scope:actor = { + every_vassal = { + vassal_stance = courtly + add_opinion = { + target = scope:actor + modifier = courtly_lowborn_grant_opinion + opinion = -10 #less than usual because admin realms are more tolerant of bureaucratic "new" nobility + } + } + } + } + } + + scope:this_title = { add_to_temporary_list = titles_to_grant } + } + + else_if = { + limit = { + scope:this_title.tier = tier_kingdom + } + + hidden_effect = { + add_opinion = { + target = scope:actor + modifier = received_title_kingdom + } + if = { + limit = { + is_lowborn = yes + } + scope:actor = { + every_vassal = { + vassal_stance = courtly + add_opinion = { + target = scope:actor + modifier = courtly_lowborn_grant_opinion + opinion = -30 #less than usual because admin realms are more tolerant of bureaucratic "new" nobility + } + } + } + } + } + + scope:this_title = { add_to_temporary_list = titles_to_grant } + } + + else_if = { + limit = { + scope:this_title.tier = tier_empire + } + + hidden_effect = { + add_opinion = { + target = scope:actor + modifier = received_title_empire + } + if = { + limit = { + is_lowborn = yes + } + scope:actor = { + every_vassal = { + vassal_stance = courtly + add_opinion = { + target = scope:actor + modifier = courtly_lowborn_grant_opinion + opinion = -30 #less than usual because admin realms are more tolerant of bureaucratic "new" nobility + } + } + } + } + } + + scope:this_title = { add_to_temporary_list = titles_to_grant } + } + } + + #Promised a vassal this title they had a claim on (vassal.2901) + if = { + limit = { + scope:actor = { + exists = var:was_promised_title + var:was_promised_title = scope:recipient + } + } + if = { + limit = { + scope:recipient = { + exists = var:promised_title + } + scope:landed_title = scope:recipient.var:promised_title + } + scope:actor = { + trigger_event = { + id = vassal.2910 + days = { 7 14 } + } + } + } + } + } + if = { + limit = { + scope:recipient = { + has_trait = bastard + } + } + custom_tooltip = grant_title_to_bastard_dynasty_warning + } + } # every_in_list + + # The accumulated discontent reduction of the recipient + scope:recipient = { + if = { + limit = { + is_a_faction_member = yes + } + add_joined_faction_discontent = grant_title_opinion_sum_discontent_calc + } + } + + # Show stacked opinion gain + if = { + limit = { + any_in_list = { + list = target_titles + tier = tier_empire + } + } + custom_tooltip = grant_title_modifier_stack_empires + } + if = { + limit = { + any_in_list = { + list = target_titles + tier = tier_kingdom + } + } + custom_tooltip = grant_title_modifier_stack_kingdoms + } + if = { + limit = { + any_in_list = { + list = titles_to_grant + tier = tier_duchy + } + } + custom_tooltip = grant_title_modifier_stack_duchies + } + if = { + limit = { + any_in_list = { + list = titles_to_grant + tier = tier_county + scope:actor = { min_appointment_tier = tier_county } + } + } + custom_tooltip = grant_title_modifier_stack_counties + } + + if = { + limit = { + trigger_if = { + limit = { scope:actor = { is_ai = yes } } + scope:actor = { + any_vassal = { + vassal_stance = courtly + } + } + } + scope:recipient = { + is_lowborn = yes + } + any_in_list = { + list = titles_to_grant + tier >= tier_county + } + } + custom_tooltip = grant_title_modifier_courtly_lowborn_grant_penalty + } + if = { + limit = { + scope:recipient = { is_a_faction_member = yes } + } + custom_tooltip = grant_title_modifier_stack_discontent + } + + # Jealousy check + if = { + limit = { + any_in_list = { + list = titles_to_grant + any_claimant = { grant_title_rivalry_trigger = yes } + } + } + hidden_effect = { + random = { + chance = 25 + ordered_in_list = { + list = titles_to_grant + limit = { + any_claimant = { grant_title_rivalry_trigger = yes } + } + order_by = tier + save_scope_as = claim_title + ordered_claimant = { + limit = { grant_title_rivalry_trigger = yes } + order_by = primary_title.tier + save_scope_as = claim_vassal + if = { + limit = { + scope:recipient = { is_lowborn = yes } + } + scope:recipient = { save_scope_as = lowborn_scope } + } + else_if = { + limit = { + scope:recipient = { has_claim_on = scope:claim_title } + } + scope:recipient = { save_scope_as = claimant_scope } + } + scope:actor = { + trigger_event = { + id = bp1_yearly.8070 + days = 5 + } + } + } + } + } + } + } + + scope:actor = { + # Maintenance for runestones + if = { + limit = { + # Use expanded version if we have FP1. + has_fp1_dlc_trigger = yes + fp1_remove_stele_new_holder_trigger = { + TITLE = scope:target + PREVIOUS_HOLDER = scope:actor + NEW_HOLDER = scope:recipient + } + } + # Actually removed in fp1_other_decisions.0113 + custom_tooltip = runestone_grant_title_warning + } + else_if = { + limit = { + scope:target = { + exists = var:ancestor_to_bury + has_county_modifier = county_raised_runestone_modifier + } + NOT = { scope:recipient.dynasty = var:ancestor_to_bury.dynasty } #We only have to change something if the new holder is of a different dynasty + } + # Actually removed in religious_decision.0312 + custom_tooltip = runestone_grant_title_warning + } + + if = { + limit = { + dynasty ?= { has_dynasty_perk = ep1_culture_legacy_3 } + scope:recipient = { + is_playable_character = no + culture != scope:actor.culture + any_in_list = { + list = target_titles + OR = { + tier = tier_county + tier = tier_barony + } + culture = scope:recipient.culture + } + } + } + if = { + limit = { + can_add_hook = { + target = scope:recipient + type = favor_hook + } + } + add_hook = { + type = favor_hook + target = scope:recipient + } + } + } + + #Feedback for actor + hidden_effect = { + if = { + limit = { + NOT = { exists = scope:recipient_is_independent } + scope:recipient = { + any_held_title = { + title_tier > barony + NOT = { is_in_list = target_titles } + } + } + } + set_variable = { + name = lower_count + value = { + value = -1 + every_in_list = { + list = target_titles + limit = { + NOT = { tier = scope:actor.highest_held_title_tier } + } + add = 1 + } + } + } + save_scope_value_as = { + name = equal_count + value = { + value = 0 + every_in_list = { + list = target_titles + limit = { tier = scope:actor.highest_held_title_tier } + add = 1 + } + } + } + ordered_in_list = { + list = target_titles + order_by = tier + save_temporary_scope_as = loc_title + } + send_interface_toast = { + type = event_toast_effect_neutral + title = grant_governorship_interaction_notification + left_icon = scope:recipient + right_icon = scope:loc_title + if = { + limit = { scope:actor.var:lower_count ?= 0 } + custom_tooltip = grant_governorship_interaction_notification_effect_2 + } + else_if = { + limit = { + exists = scope:actor.var:lower_count + scope:actor.var:lower_count > 1 + } + custom_tooltip = grant_governorship_interaction_notification_effect_3 + } + else_if = { + limit = { scope:actor.var:lower_count ?= 1 } + custom_tooltip = grant_governorship_interaction_notification_effect_4 + } + else_if = { + limit = { + scope:equal_count >= 1 + scope:recipient.top_liege ?= scope:actor.top_liege + } + custom_tooltip = grant_titles_interaction_notification_effect_5 + } + else = { custom_tooltip = grant_titles_interaction_notification_effect } + if = { + limit = { + exists = dynasty + is_diff_faith_or_culture_trigger = { + CHAR = scope:recipient + STATUS = involved + } + any_character_struggle = { + involvement = involved + has_struggle_phase_parameter = struggle_grant_titles_diff_faith_culture_gives_prestige + } + } + dynasty = { add_dynasty_prestige = minor_dynasty_prestige_gain } + } + remove_variable = lower_count + } + } + } + } + + hidden_effect = { + # Struggle Catalyst + if = { + limit = { + scope:actor = { + is_diff_faith_or_culture_trigger = { + CHAR = scope:recipient + STATUS = involved + } + any_character_struggle = { + involvement = involved + activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { + CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal + CHAR = scope:recipient + } + } + } + } + scope:actor = { + every_character_struggle = { + involvement = involved + limit = { + activate_struggle_catalyst_secondary_character_involvement_involved_trigger = { + CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal + CHAR = scope:recipient + } + } + activate_struggle_catalyst = { + catalyst = catalyst_grant_privilege_to_diff_faith_culture_vassal + character = scope:actor + } + } + } + } + } + + # Achievements. + scope:actor = { + if = { + limit = { + has_variable_list = candidate_a_knights_tale_achievement + is_target_in_variable_list = { + name = candidate_a_knights_tale_achievement + target = scope:recipient + } + } + set_global_variable = { + name = finished_a_knights_tale_achievement + value = yes + } + } + } + # TGP Catalyst - triggered in on_title_gain + if = { + limit = { + title:h_china.holder ?= scope:actor + any_in_list = { + list = target_titles + OR = { + AND = { + tier = tier_empire + scope:recipient.merit_level < 7 + } + AND = { + tier = tier_kingdom + scope:recipient.merit_level < 5 + } + AND = { + tier = tier_duchy + scope:recipient.merit_level < 3 + } + AND = { + tier = tier_county + scope:recipient.merit_level < 1 + } + } + } + } + show_as_tooltip = { + situation:dynastic_cycle ?= { + if = { + limit = { + situation_top_has_catalyst = catalyst_hegemon_appointing_low_merit_governor + title:h_china.holder = scope:actor + } + trigger_situation_catalyst = { + catalyst = catalyst_hegemon_appointing_low_merit_governor + character = scope:recipient + } + } + } + } + } + } +} diff --git a/common/character_interactions/00_revoke_title_interaction.txt b/common/character_interactions/00_revoke_title_interaction.txt new file mode 100644 index 00000000..d05b7c71 --- /dev/null +++ b/common/character_interactions/00_revoke_title_interaction.txt @@ -0,0 +1,1572 @@ +revoke_title_interaction = { + category = interaction_category_vassal + common_interaction = no + highlighted_reason = HIGHLIGHTED_HAS_REVOKE_TITLE_REASON + notification_text = REVOKE_TITLE_PROPOSAL + interface_priority = 110 + + name = { + first_valid = { + triggered_desc = { + trigger = { + scope:actor = { + government_allows = administrative + } + scope:recipient = { + government_allows = administrative + } + } + desc = revoke_governorship_interaction + } + desc = revoke_title_interaction + } + } + + desc = { + first_valid = { + triggered_desc = { + trigger = { + scope:actor = { + government_allows = administrative + } + scope:recipient = { + government_allows = administrative + } + } + desc = revoke_governorship_interaction_desc + } + desc = revoke_title_interaction_desc + } + } + + icon = { + trigger = { + scope:actor = { + government_allows = administrative + } + scope:recipient = { + government_allows = administrative + } + } + reference = revoke_governorship + } + icon = revoke_title + + special_interaction = revoke_title_interaction + interface = revoke_title + target_type = title + target_filter = recipient_domain_titles + ai_maybe = yes + can_send_despite_rejection = yes + popup_on_receive = yes + pause_on_receive = yes + + interface_priority = 60 + ai_min_reply_days = 4 + ai_max_reply_days = 9 + + on_decline_summary = general_rebellion_decline_summary + + # actor character giving the titles + # recipient character receiving the titles + + is_shown = { + scope:recipient = { + NOT = { government_has_flag = government_is_herder } # They have their own interaction without cooldowns/maluses + is_landed_or_landless_administrative = yes + # should be shown but be disabled for indirect vassals + target_is_liege_or_above = scope:actor + # is_vassal_of = scope:actor + } + } + + is_valid_showing_failures_only = { + title_revocation_standard_valid_showing_failures_only_trigger = yes + # Plus make sure there's a legal right to revoke. + scope:actor = { + trigger_if = { + limit = { government_has_flag = government_is_tribal } + custom_description = { + text = "has_law_allowing_title_revocation_tribal" + has_realm_law_flag = title_revocation_allowed + } + } + trigger_else_if = { + limit = { government_is_japanese_trigger = yes } + custom_description = { + text = "has_law_allowing_title_revocation_soryo" + has_realm_law_flag = title_revocation_allowed + } + } + trigger_else_if = { + limit = { government_allows = administrative } + } + trigger_else = { + custom_description = { + text = "has_law_allowing_title_revocation_crown" + has_realm_law_flag = title_revocation_allowed + } + } + } + trigger_if = { + limit = { + scope:recipient = { + vassal_contract_has_flag = vassal_contract_cannot_revoke_titles + } + } + custom_description = { + text = vassal_contract_forbids_revocation + scope:recipient = { + NOT = { vassal_contract_has_flag = vassal_contract_cannot_revoke_titles } + } + } + } + trigger_if = { + limit = { + scope:recipient = { + vassal_contract_has_flag = admin_cannot_revoke_titles_without_cause + } + scope:actor = { + NOT = { has_revoke_title_reason = scope:recipient } + } + } + custom_tooltip = { + text = admin_contract_forbids_revocation_desc + scope:recipient = { + NOT = { vassal_contract_has_flag = admin_cannot_revoke_titles_without_cause } + } + } + } + # And uhh... the sensible check. + scope:recipient = { + is_vassal_of = scope:actor + NOT = { has_strong_hook = scope:actor } + trigger_if = { # If admin, they need to hold a title that isn't their noble family title + limit = { government_allows = administrative } + custom_tooltip = { + text = admin_no_valid_appointment + any_held_title = { is_landless_type_title = no } + } + } + } + custom_tooltip = { + text = cannot_take_overt_hostile_actions_against_diarch.tt + NOT = { scope:recipient ?= scope:actor.diarch } + } + custom_tooltip = { + text = protected_from_revocation.tt + NOT = { scope:recipient = { has_character_flag = titles_protected } } + } + } + + can_send = { + scope:actor = { + custom_description = { + text = "character_interactions_hostile_actions_disabled_delay" + NOT = { has_character_flag = flag_hostile_actions_disabled_delay } + } + } + scope:recipient ?= { + custom_tooltip = { + text = petition_liege_house_fief_allowed_flag_tt + trigger_if = { + limit = { + government_has_flag = government_is_japan_feudal + var:petition_liege_house_fief_allowed_flag ?= scope:actor + } + NOT = { + ask_for_pardon_available_trigger = { ACTOR = scope:recipient } + } + } + } + } + # TGP + tgp_ceremonial_title_revoke_restriction_trigger = yes + } + + # Highlighted in the interaction menu when right-clicking a character + is_highlighted = { + OR = { + scope:actor = { + has_revoke_title_reason = scope:recipient + } + scope:recipient = { + any_held_title = { + scope:actor = { + has_claim_on = prev + } + } + NOT = { + any_ally = { + this = scope:actor + } + } + } + } + } + + can_be_picked_title = { + scope:target = { + title_revocation_standard_can_pick_title_trigger = yes + trigger_if = { + limit = { + scope:actor = { government_allows = administrative } + scope:recipient = { government_allows = administrative } + } + custom_description = { + text = "admin_revoke_primary_tier_only" + subject = scope:actor + object = scope:target + scope:target.tier = scope:recipient.highest_held_title_tier + } + } + } + } + + has_valid_target = { + scope:target = { + NOR = { + is_noble_family_title = yes + is_nomad_title = yes + } + } + } + + #Use hook + send_option = { + is_valid = { + scope:actor = { + has_usable_hook = scope:recipient + } + } + flag = hook + localization = SCHEME_HOOK + } + should_use_extra_icon = { + scope:actor = { has_usable_hook = scope:recipient } + } + extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds" + + send_options_exclusive = no + + on_send = { + scope:actor = { + add_character_flag = { + flag = flag_hostile_actions_disabled_delay + days = 10 + } + } + } + + cost = { + # Usually, this action is free, but during certain diarchies, we want it to cost. + prestige = liege_diarchy_surcharge_interaction_revoke_title_interaction_value + + # Admin has to pay an influence cost unless they have a revocation reason on the recipient + influence = { + value = 0 + if = { + limit = { + scope:actor = { + government_allows = administrative + NOT = { has_revoke_title_reason = scope:recipient } + } + scope:recipient.highest_held_title_tier >= tier_county + } + scope:recipient ?= { + if = { + limit = { + any_held_title = { + title_tier = kingdom + is_landless_type_title = no + is_noble_family_title = no + } + } + add = { + add = { + value = scope:recipient.massive_influence_value + multiply = 3 + } + desc = GOVERNOR_RESIGNATION_KINGDOM_COST + } + } + else_if = { + limit = { + any_held_title = { + title_tier = duchy + is_landless_type_title = no + is_noble_family_title = no + } + } + add = { + add = scope:recipient.massive_influence_value + desc = GOVERNOR_RESIGNATION_DUCHY_COST + } + } + else = { + add = { + add = scope:recipient.major_influence_value + desc = concept_county + } + } + if = { + limit = { house ?= { is_powerful_family = yes } } + add = { + value = scope:recipient.massive_influence_value + desc = GOVERNOR_RESIGNATION_POWERFUL_COST + } + } + else_if = { + limit = { house ?= { is_dominant_family = yes } } + add = { + value = scope:recipient.monumental_influence_value + desc = GOVERNOR_RESIGNATION_DOMINANT_COST + } + } + if = { + limit = { scope:recipient.governor_efficiency < 1 } + add = { + value = -100 + add = { + value = scope:recipient.governor_efficiency + multiply = 100 + } + desc = GOVERNOR_RESIGNATION_EFFICIENCY_COST + } + } + else_if = { + limit = { scope:recipient.governor_efficiency > 1 } + add = { + value = -100 + add = { + value = scope:recipient.governor_efficiency + multiply = 100 + } + desc = GOVERNOR_RESIGNATION_EFFICIENCY_COST + } + } + if = { + limit = { + influence_level != 1 + } + add = { + value = { + value = influence_level + subtract = 1 + } + multiply = 50 + desc = GOVERNOR_RESIGNATION_INFLUENCE_LEVEL_COST + } + } + multiply = 1.25 + } + } + if = { + limit = { + scope:actor = { + scope:recipient.top_liege ?= this + any_character_situation = { + OR = { + situation_type = natural_disaster_earthquake + situation_type = natural_disaster_flood + } + has_situation_top_phase_parameter = natural_disaster_governorships_more_easily_revoked + any_participant_group = { + participant_group_type = affected_vassal + participant_group_has_character = scope:recipient + } + } + } + } + multiply = { + value = 0.5 + desc = vassal_in_disaster_situation + } + } + if = { + limit = { + scope:actor = { has_realm_law_flag = manor_reform_law } + } + multiply = 0.5 + } + } + } + + on_auto_accept = { + scope:recipient = { + trigger_event = char_interaction.0200 + } + } + + on_accept = { + save_scope_value_as = { + name = revoke_title_interaction + value = yes + } + if = { # Safety flag to ensure admin revocations behave properly + limit = { + scope:actor = { government_allows = administrative } + scope:recipient = { government_allows = administrative } + } + save_scope_value_as = { + name = administrative_revocation + value = yes + } + } + scope:actor = { + if = { # Admin has to pay an influence cost unless they have a revocation reason on the recipient + limit = { + government_allows = administrative + NOT = { has_revoke_title_reason = scope:recipient } + scope:recipient = { + highest_held_title_tier >= tier_county + } + } + show_as_tooltip = { # Actual cost is deducted in the the interaction cost + change_influence = { + scope:recipient ?= { + if = { + limit = { + any_held_title = { + title_tier = kingdom + is_landless_type_title = no + is_noble_family_title = no + } + } + add = { + add = { + value = scope:recipient.massive_influence_value + multiply = 3 + } + desc = GOVERNOR_RESIGNATION_KINGDOM_COST + } + } + else_if = { + limit = { + any_held_title = { + title_tier = duchy + is_landless_type_title = no + is_noble_family_title = no + } + } + add = { + add = scope:recipient.massive_influence_value + desc = GOVERNOR_RESIGNATION_DUCHY_COST + } + } + else = { + add = { + add = scope:recipient.major_influence_value + desc = concept_county + } + } + if = { + limit = { house ?= { is_powerful_family = yes } } + add = { + value = scope:recipient.massive_influence_value + desc = GOVERNOR_RESIGNATION_POWERFUL_COST + } + } + else_if = { + limit = { house ?= { is_dominant_family = yes } } + add = { + value = scope:recipient.monumental_influence_value + desc = GOVERNOR_RESIGNATION_DOMINANT_COST + } + } + if = { + limit = { scope:recipient.governor_efficiency < 1 } + add = { + value = -100 + add = { + value = scope:recipient.governor_efficiency + multiply = 100 + } + desc = GOVERNOR_RESIGNATION_EFFICIENCY_COST + } + } + else_if = { + limit = { scope:recipient.governor_efficiency > 1 } + add = { + value = -100 + add = { + value = scope:recipient.governor_efficiency + multiply = 100 + } + desc = GOVERNOR_RESIGNATION_EFFICIENCY_COST + } + } + if = { + limit = { + influence_level != 1 + } + add = { + value = { + value = influence_level + subtract = 1 + } + multiply = 50 + desc = GOVERNOR_RESIGNATION_INFLUENCE_LEVEL_COST + } + } + } + multiply = -1.25 + if = { + limit = { has_realm_law_flag = manor_reform_law } + multiply = 0.5 + } + } + } + } + trigger_event = char_interaction.0199 + } + revoke_title_interaction_effect = yes + + if = { + limit = { + scope:actor = { has_character_flag = flag_hostile_actions_disabled_delay } + } + scope:actor = { remove_character_flag = flag_hostile_actions_disabled_delay } + } + + # Harrying logic. + scope:actor = { + if = { + limit = { + character_is_valid_for_harrying_of_the_north_trigger = yes + scope:recipient = { + character_is_valid_for_harrying_of_the_north_trigger = yes + is_important_or_vip_struggle_character = yes + } + culture != scope:recipient.culture + } + global_var:harrying_of_the_north = { save_scope_as = story } + if = { + limit = { + character_is_valid_norman_for_harrying_of_the_north_trigger = yes + scope:recipient = { character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes } + } + ep3_increase_pacification_effect = { AMOUNT = harrying_minor_increase_value } + } + else_if = { + limit = { + character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes + scope:recipient = { character_is_valid_norman_for_harrying_of_the_north_trigger = yes } + } + ep3_increase_resistance_effect = { AMOUNT = harrying_minor_increase_value } + } + } + } + } + + on_decline = { + scope:actor = { + if = { # Admin has to pay an influence cost unless they have a revocation reason on the recipient + limit = { + government_allows = administrative + NOT = { has_revoke_title_reason = scope:recipient } + scope:recipient = { + highest_held_title_tier >= tier_county + } + NOT = { has_realm_law_flag = manor_reform_law } + } + show_as_tooltip = { # Actual cost is deducted in the the interaction cost + change_influence = { + scope:recipient ?= { + if = { + limit = { + any_held_title = { + title_tier = kingdom + is_landless_type_title = no + is_noble_family_title = no + } + } + add = { + add = { + value = scope:recipient.massive_influence_value + multiply = 3 + } + desc = GOVERNOR_RESIGNATION_KINGDOM_COST + } + } + else_if = { + limit = { + any_held_title = { + title_tier = duchy + is_landless_type_title = no + is_noble_family_title = no + } + } + add = { + add = scope:recipient.massive_influence_value + desc = GOVERNOR_RESIGNATION_DUCHY_COST + } + } + else = { + add = { + add = scope:recipient.major_influence_value + desc = concept_county + } + } + if = { + limit = { house ?= { is_powerful_family = yes } } + add = { + value = scope:recipient.massive_influence_value + desc = GOVERNOR_RESIGNATION_POWERFUL_COST + } + } + else_if = { + limit = { house ?= { is_dominant_family = yes } } + add = { + value = scope:recipient.monumental_influence_value + desc = GOVERNOR_RESIGNATION_DOMINANT_COST + } + } + if = { + limit = { scope:recipient.governor_efficiency < 1 } + add = { + value = -100 + add = { + value = scope:recipient.governor_efficiency + multiply = 100 + } + desc = GOVERNOR_RESIGNATION_EFFICIENCY_COST + } + } + else_if = { + limit = { scope:recipient.governor_efficiency > 1 } + add = { + value = -100 + add = { + value = scope:recipient.governor_efficiency + multiply = 100 + } + desc = GOVERNOR_RESIGNATION_EFFICIENCY_COST + } + } + if = { + limit = { + influence_level != 1 + } + add = { + value = { + value = influence_level + subtract = 1 + } + multiply = 50 + desc = GOVERNOR_RESIGNATION_INFLUENCE_LEVEL_COST + } + } + } + multiply = -1.25 + } + } + } + } + if = { + limit = { + scope:landed_title.tier != tier_barony + NOT = { + scope:recipient = { government_has_flag = government_is_herder } + } + } + scope:actor = { + revocation_tyranny_effect = { VASSAL = scope:recipient } + title_revocation_stress_effect = { VASSAL = scope:recipient } + } + } + if = { + limit = { + scope:recipient = { government_has_flag = government_is_herder } + } + scope:recipient = { + add_opinion = { + target = scope:actor + opinion = -10 # Herders don't care much + modifier = revoked_title + } + } + } + else = { + war_for_revoke_effect = { + LIEGE = scope:actor + REBEL = scope:recipient + } + scope:recipient = { + add_opinion = { + target = scope:actor + modifier = revoked_title + } + } + } + if = { + limit = { + scope:actor = { has_realm_law_flag = vassal_refusal_is_treason } + NOT = { + scope:recipient = { government_has_flag = government_is_herder } + } + } + scope:actor = { + add_opinion = { + target = scope:recipient + modifier = treasonous_revoke_refusal + } + } + } + + # Harrying logic. + scope:actor = { + if = { + limit = { + character_is_valid_for_harrying_of_the_north_trigger = yes + scope:recipient = { + character_is_valid_for_harrying_of_the_north_trigger = yes + is_important_or_vip_struggle_character = yes + } + culture != scope:recipient.culture + } + global_var:harrying_of_the_north = { save_scope_as = story } + if = { + limit = { + character_is_valid_norman_for_harrying_of_the_north_trigger = yes + scope:recipient = { character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes } + } + ep3_increase_resistance_effect = { AMOUNT = harrying_minor_increase_value } + } + else_if = { + limit = { + character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes + scope:recipient = { character_is_valid_norman_for_harrying_of_the_north_trigger = yes } + } + ep3_increase_pacification_effect = { AMOUNT = harrying_minor_increase_value } + } + } + } + + if = { + limit = { + scope:actor = { has_character_flag = flag_hostile_actions_disabled_delay } + } + scope:actor = { remove_character_flag = flag_hostile_actions_disabled_delay } + } + } + + auto_accept = { + scope:recipient = { + calc_true_if = { + amount >= 1 + custom_description = { + text = "baron_revocation" + highest_held_title_tier = tier_barony + } + custom_description = { + text = "prisoner_revocation" + is_imprisoned_by = scope:actor + } + custom_description = { + text = "spending_hook" + subject = scope:actor + object = scope:recipient + scope:hook = yes + scope:actor = { has_strong_hook = scope:recipient } + } + custom_description = { + text = "foreign_prison_revocation" + subject = scope:actor + object = scope:recipient + scope:recipient = { + is_imprisoned = yes + NOT = { is_imprisoned_by = scope:actor } + } + } + custom_tooltip = { + text = "has_admin_gov" + scope:actor = { government_allows = administrative } + scope:recipient = { + government_allows = administrative + highest_held_title_tier = tier_county + is_ai = yes + } + } + } + } + } + ai_accept = { + base = 0 # Try to make it 0 for most interactions + + modifier = { + has_game_rule = hard_difficulty + scope:actor = { is_ai = no } + add = -50 + desc = game_rule_base_value + } + + modifier = { + has_game_rule = very_hard_difficulty + scope:actor = { is_ai = no } + add = -100 + desc = game_rule_base_value + } + + modifier = { + has_game_rule = hard_difficulty + scope:actor = { is_ai = yes } + add = 50 + } + + modifier = { + has_game_rule = very_hard_difficulty + scope:actor = { is_ai = yes } + add = 100 + } + + modifier = { + scope:hook = yes + add = 40 + desc = SCHEME_WEAK_HOOK_USED + } + + modifier = { + scope:recipient = { + government_has_flag = government_is_herder + } + add = 40 + desc = MIGRATION_INTERACTION_HERDER + } + + opinion_modifier = { # Opinion Factor + who = scope:recipient + opinion_target = scope:actor + multiplier = 0.8 + desc = AI_OPINION_REASON + } + + modifier = { + add = 20 + scope:actor = { + has_realm_law_flag = vassal_refusal_is_treason + } + desc = AI_REFUSAL_IS_TREASON + } + + modifier = { + add = 20 + scope:recipient = { + has_trait = trusting + } + desc = TAKE_THE_VOWS_TRUSTING + } + + modifier = { + add = 20 + scope:recipient = { + has_trait = content + } + desc = INTERACTION_CONTENT + } + + modifier = { + add = 20 + scope:actor.current_military_strength > scope:recipient.current_military_strength + scope:recipient = { + has_trait = craven + } + desc = INTERACTION_CRAVEN + } + + modifier = { + exists = scope:actor.primary_title.title_capital_county + OR = { + scope:landed_title = scope:actor.primary_title.title_capital_county + scope:landed_title = scope:actor.primary_title.title_capital_county.de_jure_liege + } + add = 50 + desc = AI_TITLE_IS_REALM_CAPITAL + } + + modifier = { + exists = scope:actor.primary_title.title_capital_county + NOR = { + scope:landed_title = scope:actor.primary_title.title_capital_county + scope:landed_title = scope:actor.primary_title.title_capital_county.de_jure_liege + } + scope:landed_title.de_jure_liege = scope:actor.primary_title.title_capital_county.de_jure_liege + add = 30 + desc = AI_TITLE_IS_IN_CAPITAL_DUCHY + } + + modifier = { + add = 30 + scope:actor = { + has_claim_on = scope:landed_title + } + desc = AI_LIEGE_HAS_CLAIM_ON_TITLE + } + + ai_value_modifier = { + who = scope:recipient + ai_greed = { + if = { + limit = { + scope:recipient = { NOT = { ai_greed = 0 } } + } + value = -0.75 + } + } + ai_honor = { + if = { + limit = { + scope:recipient = { #If AI is honorable and the law compels to obey the liege, AI will be more likely to obey. + ai_honor > 0 + } + scope:actor = { + has_realm_law_flag = vassal_refusal_is_treason + } + } + value = 0.5 + } + } + } + modifier = { #I am a King! + desc = offer_vassalization_interaction_aibehavior_hightier_tt + trigger = { + scope:recipient = { highest_held_title_tier = tier_kingdom } + } + add = -20 + } + modifier = { #Title is part of vassal's primary title de-jure. Not relevant for Admin. + add = -25 + NOT = { scope:recipient = { government_allows = administrative } } + scope:recipient.primary_title.tier > tier_county + OR = { + scope:recipient.primary_title = { + is_de_jure_liege_or_above_target = scope:landed_title + } + scope:recipient.primary_title = scope:landed_title + } + desc = AI_REFUSAL_IS_DE_JURE_UNDER + } + modifier = { + add = intimidated_halved_reason_value + scope:recipient = { + has_dread_level_towards = { + target = scope:actor + level = 1 + } + } + desc = INTIMIDATED_REASON + } + modifier = { + add = cowed_halved_reason_value + scope:recipient = { + has_dread_level_towards = { + target = scope:actor + level = 2 + } + } + desc = COWED_REASON + } + modifier = { #Comparative military strength. + desc = offer_vassalization_interaction_aibehavior_power_tt + add = { + value = 1 + subtract = { + value = scope:recipient.current_military_strength + divide = { value = scope:actor.current_military_strength min = 1 } + } + multiply = 50 + max = 20 + } + } + modifier = { # Legalistic tradition + desc = tradition_legalistic_name + scope:actor = { + has_revoke_title_reason = scope:recipient + culture = { has_cultural_parameter = vassals_more_likely_accept_punishments } + } + add = legalistic_vassal_punishment_acceptance + } + modifier = { # AI Mongols, tyranny wars just delay the inevitable fun! + scope:actor = { + is_ai = yes + OR = { + has_trait = greatest_of_khans + has_character_modifier = the_great_khan_modifier + ai_should_get_conqueror_bonuses = yes + } + } + scope:recipient = { + is_ai = yes + } + add = 500 + } + modifier = { + add = -25 + scope:recipient = { + culture = { has_cultural_parameter = vassals_more_likely_to_refuse_demands } + } + desc = VASSALS_REFUSAL_indomitable_azatani + } + } + + # AI + ai_targets = { + ai_recipients = vassals + } + ai_frequency = 0 # This is handled via code instead; see REVOKE_TITLE_TICK in the AI defines. All the logic for *if* to send a revoke though is scripted below + + ai_potential = { + has_realm_law_flag = title_revocation_allowed + primary_title.tier >= tier_county + } + + ai_will_do = { + base = -1000 + + # We want to avoid tyranny unless we've got a good reason + # And even if we can avoid tyranny we don't want to revoke just because we can, so this only gets us to -10 + # Certain characters will revoke despite tyranny, if their rationality is sufficiently low + modifier = { + scope:actor = { + OR = { + NOT = { + title_revocation_is_tyrannical_trigger = { VASSAL = scope:recipient } + } + AND = { + ai_rationality <= very_high_negative_ai_value + OR = { + has_trait = lunatic + has_trait = possessed + has_trait = arbitrary + } + } + } + } + + add = 990 + } + # Only certain rulers won't revoke vassals who have revolted against them + modifier = { + scope:actor = { + ai_compassion <= 75 + ai_greed >= -50 + ai_honor <= 50 + scope:recipient = { + is_imprisoned = yes + trigger_if = { + limit = { + NOT = { has_dlc_feature = landless_playable } + } + # Be kinder to players if they'd get game overed. + is_ai = yes + } + opinion = { + target = scope:actor + value <= 0 + } + } + NOT = { + title_revocation_is_tyrannical_trigger = { VASSAL = scope:recipient } + } + OR = { + has_opinion_modifier = { + modifier = rebellious_vassal_opinion + target = scope:recipient + } + has_opinion_modifier = { + modifier = vassal_lost_faction_revolt_war + target = scope:recipient + } + has_opinion_modifier = { + modifier = vassal_wp_faction_revolt_war + target = scope:recipient + } + } + } + add = { + value = 100 + add = scope:actor.ai_greed + add = { + value = scope:actor.ai_honor + multiply = -1 + } + if = { + limit = { + scope:actor.ai_vengefulness > 0 + } + add = scope:actor.ai_vengefulness + } + } + } + # Vengeful AI's want to revoke + modifier = { + scope:actor = { + ai_vengefulness > 0 + scope:recipient = { + is_imprisoned = yes + } + NOT = { + title_revocation_is_tyrannical_trigger = { VASSAL = scope:recipient } + } + } + add = { + value = scope:actor.ai_vengefulness + multiply = 2 + } + } + # Always revoke preferred capital and capital duchy + modifier = { + years_from_game_start >= 3 + OR = { + scope:actor = { + is_at_war = no + OR = { + AND = { + has_treasury = no + gold > 0 + } + AND = { + has_treasury = yes + treasury > 0 + } + } + } + scope:recipient = { + is_imprisoned_by = scope:actor + } + } + scope:actor = { # The HRE doesn't need endless civil wars + NOT = { + primary_title = title:e_hre + } + } + exists = scope:actor.primary_title.title_capital_county + OR = { + scope:landed_title = scope:actor.primary_title.title_capital_county + scope:landed_title = scope:actor.primary_title.title_capital_county.de_jure_liege + } + NAND = { # Don't revoke player titles tyranically, it must be possible to play and succeed as Ulm! + scope:landed_title.holder = { + is_ai = no + } + scope:actor = { + title_revocation_is_tyrannical_trigger = { VASSAL = scope:recipient } + } + } + add = 1100 + } + # If below domain limit, try to revoke counties in your capital duchy despite tyranny, sometimes + modifier = { + years_from_game_start >= 3 + OR = { + scope:actor = { + is_at_war = no + OR = { + AND = { + has_treasury = no + gold > 0 + } + AND = { + has_treasury = yes + treasury > 0 + } + } + } + scope:recipient = { + is_imprisoned_by = scope:actor + } + } + scope:actor = { # The HRE doesn't need endless civil wars + NOT = { + primary_title = title:e_hre + } + } + scope:actor.domain_size < scope:actor.domain_limit + scope:actor.primary_title.tier > tier_county + trigger_if = { + limit = { + scope:actor = { + title_revocation_is_tyrannical_trigger = { VASSAL = scope:recipient } + domain_size > 3 + } + } + scope:actor = { + NOR = { + has_trait = generous + has_trait = just + } + } + } + exists = scope:actor.primary_title.title_capital_county + OR = { + scope:actor.primary_title.title_capital_county.holder = scope:actor # You have your de jure capital already + NOT = { + scope:actor.primary_title.title_capital_county.holder.top_liege = scope:actor.top_liege # Or your De Jure capital isn't in your realm + } + } + scope:landed_title.tier = tier_county # Only Counties + OR = { # The AI gives away wrong-holding counties almost instantly, so we restrict to counties with holdings they can hold + scope:landed_title.title_province = { has_holding_type = castle_holding } # Everyone is valid for castles + AND = { + scope:actor = { + government_has_flag = government_is_tribal + } + scope:landed_title.title_province = { has_holding_type = tribal_holding } + } + AND = { + scope:actor = { + government_has_flag = government_is_republic + } + scope:landed_title.title_province = { has_holding_type = city_holding } + } + AND = { + scope:actor = { + OR = { + government_has_flag = government_is_clan + government_has_flag = government_is_theocracy + } + } + scope:landed_title.title_province = { has_holding_type = church_holding } + } + } + OR = { # And the capital duchy, if it exists at all + AND = { + exists = scope:actor.primary_title.title_capital_county.de_jure_liege.holder + scope:actor.primary_title.title_capital_county.de_jure_liege.holder = scope:actor + } + AND = { + exists = scope:actor.primary_title.title_capital_county.de_jure_liege.holder + scope:actor.primary_title.title_capital_county.de_jure_liege.holder.top_liege != scope:actor.top_liege + } + scope:actor.primary_title.title_capital_county.de_jure_liege = { + is_title_created = no + } + } + + scope:landed_title.de_jure_liege = scope:actor.primary_title.title_capital_county.de_jure_liege # Under the same Duchy as your capital + + scope:recipient = { # Not from players + is_ai = yes + } + + OR = { # Tyranny tolerance is based on rationality + AND = { + scope:actor.ai_rationality < 0 + scope:actor.tyranny <= 15 # Don't go crazy with tyranny, just a bit is fine + } + AND = { + scope:actor.ai_rationality >= 0 + scope:actor.ai_rationality < 50 + scope:actor.tyranny <= 5 # Don't go crazy with tyranny, just a bit is fine + } + AND = { + scope:actor.ai_rationality >= 50 + scope:actor.tyranny <= 0 # Don't go crazy with tyranny, just a bit is fine + } + AND = { + scope:actor.ai_rationality >= 0 + scope:recipient = { + is_imprisoned_by = scope:actor + } + scope:actor = { has_revoke_title_reason = scope:recipient } + } + AND = { + scope:actor.ai_rationality < 0 + scope:recipient = { + is_imprisoned_by = scope:actor + } + } + } + # To do this, the target must be weak or willing in some way + OR = { + scope:actor.current_military_strength > scope:recipient.current_military_strength # Must be stronger + scope:recipient = { + is_imprisoned_by = scope:actor + } + } + scope:recipient = { + OR = { + AND = { + scope:recipient.primary_title.tier <= tier_county + scope:actor.primary_title.tier >= tier_duchy + } + has_trait = craven + has_trait = content + has_trait = trusting + has_dread_level_towards = { + target = scope:actor + level >= 1 + } + opinion = { target = scope:actor value >= 40 } + is_imprisoned_by = scope:actor + scope:actor = { has_revoke_title_reason = scope:recipient } + } + } + + add = 1100 + } + # Revoke counties we're dejure liege of if below domain limit + modifier = { + scope:actor.domain_size < scope:actor.domain_limit + scope:landed_title.tier = tier_county + scope:landed_title.de_jure_liege.holder = scope:actor + add = 500 + } + # Revoke appropriate baronies if below domain limit, it's tyranny free + modifier = { + scope:actor.domain_size < scope:actor.domain_limit + scope:recipient = { highest_held_title_tier = tier_barony } + scope:landed_title.tier = tier_barony + OR = { + scope:landed_title.title_province = { has_holding_type = castle_holding } + scope:landed_title.title_province = { has_holding_type = temple_citadel_holding } + AND = { + OR = { + scope:actor = { government_has_flag = government_is_clan } + scope:actor = { government_has_flag = government_is_theocracy } + scope:actor = { government_has_flag = government_is_mandala } + scope:actor.faith = { has_doctrine_parameter = lay_clergy } + } + scope:landed_title.title_province = { has_holding_type = church_holding } + } + AND = { + OR = { + scope:actor = { government_has_flag = government_is_republic } + scope:actor = { government_has_flag = government_is_administrative } + scope:actor = { government_has_flag = government_is_celestial } + scope:actor = { government_has_flag = government_is_steppe_admin } + scope:actor = { government_has_flag = government_is_meritocratic } + scope:actor = { government_has_flag = government_is_japan_administrative } + } + scope:landed_title.title_province = { has_holding_type = city_holding } + } + } + add = 1100 + } + # Revoke from vassals of the wrong faith if you can do it without tyranny + modifier = { + scope:actor.faith != scope:recipient.faith + scope:recipient.primary_title.tier > tier_barony + OR = { + scope:actor.faith.religion != scope:recipient.faith.religion + scope:actor.ai_zeal >= low_negative_ai_value + NOT = { + scope:actor.faith = { has_doctrine = doctrine_pluralism_pluralistic } + } + } + OR = { # Chill a bit until you've dealth with the ones already in your prison + scope:recipient = { + is_imprisoned_by = scope:actor + } + NOT = { + any_vassal = { + faith != scope:actor.faith + primary_title.tier > tier_barony + is_imprisoned_by = scope:actor + time_in_prison = { years < 1 } + } + } + } + add = 100 + } + # Revoke from characters you dislike if you can do it without tyranny + modifier = { + scope:actor = { + OR = { + has_relation_rival = scope:recipient + has_relation_nemesis = scope:recipient + } + } + add = 100 + } + # Slight preference for higher-tier titles + modifier = { + add = scope:landed_title.tier + } + # Do not revoke titles from certain characters + modifier = { + scope:actor = { + OR = { + has_relation_friend = scope:recipient + has_relation_best_friend = scope:recipient + has_relation_lover = scope:recipient + has_relation_soulmate = scope:recipient + is_parent_of = scope:recipient + is_grandparent_of = scope:recipient + is_great_grandparent_of = scope:recipient + } + } + add = -5000 + } + # Do not revoke titles when the chance of success if exceedingly low + modifier = { + NOR = { + scope:recipient = { + is_imprisoned_by = scope:actor + } + scope:recipient = { + highest_held_title_tier = tier_barony + } + } + scope:actor = { + OR = { + AND = { + has_treasury = no + OR = { + gold < minimum_ai_gold_value_for_tyranny_wars + AND = { + scope:actor.current_military_strength < scope:recipient.current_military_strength + gold < comfortable_ai_gold_value_for_tyranny_wars + } + } + } + AND = { + has_treasury = yes + OR = { + gold < minimum_ai_treasury_value_for_tyranny_wars + AND = { + scope:actor.current_military_strength < scope:recipient.current_military_strength + treasury < comfortable_ai_treasury_value_for_tyranny_wars + } + } + } + } + } + add = -2000 + } + + modifier = { # The AI will always use a Hook if they can + scope:hook = yes + add = 1 + } + + modifier = { # The AI shouldn't ruin the player's fun + add = -5000 + scope:recipient = { has_character_flag = is_party_baron } + } + + modifier = { # Avoid triggering Tyranny wars mid-war + factor = 0 + scope:actor = { + is_at_war = yes + } + NOR = { + scope:recipient = { + is_imprisoned_by = scope:actor + } + scope:recipient = { + highest_held_title_tier = tier_barony + } + } + } + + # Clan Government: Avoid revoking titles from house members if the AI wants to have high unity + modifier = { + scope:actor = { + government_has_flag = government_is_clan + exists = house + ai_wants_high_unity = yes + } + scope:recipient = { + government_has_flag = government_is_clan + house ?= scope:actor.house + } + add = -1000 + } + + modifier = { # Avoid triggering Tyranny wars mid-grand activity + factor = 0 + scope:actor = { + has_ongoing_grand_activity_trigger = yes + } + NOR = { + scope:recipient = { + is_imprisoned_by = scope:actor + } + scope:recipient = { + highest_held_title_tier = tier_barony + } + } + } + + # Admin Government: Do not revoke titles from your house unless it's really needed + modifier = { + scope:actor = { government_allows = administrative } + exists = scope:recipient.house + scope:actor.house ?= scope:recipient.house + add = -500 + } + # Admin rulers should be less likely to revoke titles without a revocation reason, as they should prefer to depose governors + modifier = { + scope:actor = { + government_allows = administrative + NOT = { has_revoke_title_reason = scope:recipient } + } + scope:recipient = { + NOT = { highest_held_title_tier = tier_barony } + government_allows = administrative + trigger_if = { + limit = { + scope:actor = { has_government = japan_administrative_government } + } + highest_held_title_tier >= tier_county + } + trigger_else = { highest_held_title_tier >= tier_duchy } + } + factor = { # Honorable AI's will never revoke titles without a reason + value = 0 + if = { + limit = { + ai_honor < 0 + } + add = 0.5 + } + } + } + + # Japanese Admin wants to revoke Japanese Feudal if they have a reason + modifier = { + add = 5000 + scope:actor = { + government_has_flag = government_is_japan_administrative + exists = house + has_revoke_title_reason = scope:recipient + NOT = { has_relation_friend = scope:recipient } + } + scope:recipient = { + government_has_flag = government_is_japan_feudal + is_imprisoned = yes + house != scope:actor.house + } + } + # And Japanese Feudal wants to revoke Japanese Admin if they have a reason + modifier = { + add = 5000 + scope:actor = { + government_has_flag = government_is_japan_feudal + exists = house + has_revoke_title_reason = scope:recipient + NOT = { has_relation_friend = scope:recipient } + } + scope:recipient = { + government_has_flag = government_is_japan_administrative + is_imprisoned = yes + house != scope:actor.house + } + } + + # TGP Be more careful with blocs generally + house_bloc_tyranny_war_modifiers = yes + + #Don't revoke titles from the frankokratia leader + modifier = { + scope:recipient = { + any_owned_story = { + type = frankokratia_story + NOT = { has_variable = franko_war_complete } + } + } + factor = 0 + } + } +} diff --git a/common/character_interactions/09_mpo_interactions.txt b/common/character_interactions/09_mpo_interactions.txt index b47bf025..0dfc0f4d 100644 --- a/common/character_interactions/09_mpo_interactions.txt +++ b/common/character_interactions/09_mpo_interactions.txt @@ -7550,7 +7550,7 @@ mpo_retrieve_land_from_herder_interaction = { is_shown = { scope:recipient = { - government_has_flag = government_is_herder + government_has_flag = government_is_true_herder } } 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 73356d66..fd5d19a7 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 @@ -3669,25 +3669,7 @@ c_padova = { color1 = "white" color2 = "red" } -c_palermo = { - pattern = "pattern_vertical_split_01.dds" - color1 = "yellow" - color2 = "blue" - colored_emblem = { - texture = "ce_eagle.dds" - color1 = "black" - color2 = "red" - color3 = "white" - instance = { position = { 0.3 0.4 } scale = { 0.5 0.5 } } - } - colored_emblem = { - texture = "ce_lion_rampant_crown.dds" - color1 = "yellow" - color2 = "yellow" - color3 = "black" - instance = { position = { 0.7 0.4 } scale = { 0.55 0.55 } } - } -} + c_parma = { pattern = "pattern_cross_01.dds" color1 = "yellow" @@ -18237,18 +18219,6 @@ c_canavese = { } } -c_treviso = { - pattern = "pattern_solid.dds" - color1 = "black" - color2 = "white" - colored_emblem = { - texture = "ce_block_02.dds" - color1 = "white" - color2 = "white" - instance = { position = { 0.5 0.156 } scale = { 1.0 0.312 } } - } -} - c_friuli = { pattern = "pattern_barruly_08.dds" color1 = "green" @@ -18642,68 +18612,6 @@ c_tivoli = { } } -c_palermo = { - pattern = "pattern_solid.dds" - color1 = "red" - color2 = "yellow" - colored_emblem = { - texture = "ce_eagle.dds" - color1 = "yellow" - color2 = "yellow" - color3 = "black" - instance = { position = { 0.5 0.52 } scale = { 1.1 1.1 } } - } -} - -c_messina = { - pattern = "pattern_solid.dds" - color1 = "red" - color2 = "yellow" - colored_emblem = { - texture = "ce_ordinary_cross_5.dds" - color1 = "yellow" - color2 = "yellow" - instance = { position = { 0.5 0.5 } scale = { 1.0 1.0 } } - } -} - -c_siracusa = { - pattern = "pattern_solid.dds" - color1 = "green" - color2 = "yellow" - colored_emblem = { - texture = "ce_castle.dds" - color1 = "yellow" - color2 = "green" - instance = { position = { 0.5 0.45 } scale = { 0.9 0.9 } } - } -} - -c_agrigento = { - pattern = "pattern_solid.dds" - color1 = "white" - color2 = "blue" - colored_emblem = { - texture = "ce_block_02.dds" - color1 = "blue" - color2 = "blue" - instance = { position = { 0.5 0.156 } scale = { 1.0 0.312 } } - } -} - -c_malta = { - pattern = "pattern_solid.dds" - color1 = "blue" - color2 = "white" - colored_emblem = { - texture = "ce_eagle.dds" - color1 = "white" - color2 = "white" - color3 = "black" - instance = { position = { 0.5 0.52 } scale = { 1.1 1.1 } } - } -} - c_benevento = { pattern = "pattern_solid.dds" color1 = "red" diff --git a/common/coat_of_arms/coat_of_arms/italia.txt b/common/coat_of_arms/coat_of_arms/italia.txt index e485e3b7..84d761e8 100644 --- a/common/coat_of_arms/coat_of_arms/italia.txt +++ b/common/coat_of_arms/coat_of_arms/italia.txt @@ -1,11 +1,3 @@ -#k_sardinia = { -# pattern = "pattern_solid.dds" -# color1 = "red" -# color2 = "white" -# textured_emblem = { -# texture = "flag_sardinia.dds" -# } -#} k_sardinia_and_corsica={ pattern=pattern_solid.dds color1=white @@ -27,6 +19,290 @@ k_sardinia_and_corsica={ instance={position={0.5 0.5}scale={1 1}} } } +d_palermo={ + pattern="pattern_solid.dds" + color1=blue + color2=white + colored_emblem={ + color1=yellow + color2=yellow + texture="ce_lion_rampant.dds" + instance={position={0.7 0.7} scale={0.415 0.415} depth=2} + } + colored_emblem={ + color1=yellow + texture="ce_fish.dds" + instance={position={0.275 0.85} scale={0.23 0.23} depth=7 rotation=90} + instance={position={0.15 0.6} scale={-0.23 0.23} depth=8 rotation=45} + instance={position={0.4 0.6} scale={0.23 0.23} depth=9 rotation=315} + } + colored_emblem={ + color1=white + texture="ce_block_02.dds" + instance={position={0.764 0.105} scale={0.015 0.015} depth=12} + instance={position={0.785 0.19} scale={0.035 -0.085} depth=14} + instance={position={0.75 0.25} scale={0.5 0.5} depth=27} + } + colored_emblem={ + color1=rgb{215 167 136} + color2=rgb{217 169 138} + texture="ce_hand.dds" + instance={position={0.75 0.12} scale={-0.06 0.06} depth=15} + } + colored_emblem={ + color1=green_light + texture="ce_circle.dds" + instance={position={0.7 0.5} scale={0.5 0.4} depth=26} + } + colored_emblem={ + color1=black + texture="ce_block_05.dds" + instance={scale={0.25 1.0} depth=23 rotation=90} + instance={scale={1.0 0.25} depth=24} + } + colored_emblem={ + color1=blue + texture="ce_block_02.dds" + instance={position={0.75 0.75} scale={0.5 0.5} depth=25} + } + colored_emblem={ + color1=brown + texture="ce_block_04.dds" + instance={position={0.655 0.36} scale={0.08 0.08} depth=17 rotation=85} + instance={position={0.65 0.3} scale={0.08 0.08} depth=18 rotation=85} + instance={position={0.645 0.21} scale={0.08 0.08} depth=19 rotation=85} + instance={position={0.635 0.115} scale={0.08 0.08} depth=20 rotation=85} + } + colored_emblem={ + color1=yellow + color2=yellow + texture="ce_eagle_crown.dds" + instance={position={0.28 0.275} scale={0.5 0.5} depth=11} + } + colored_emblem={ + color1=blue + color2=white + texture="ce_waves_01.dds" + instance={position={0.25 0.75} scale={0.5 0.5} depth=29} + } + colored_emblem={ + color1=white + texture="ce_oak_leaf.dds" + instance={position={0.7 0.12} scale={0.075 0.075} depth=6} + } + colored_emblem={ + color1=white + texture="ce_circle_mask.dds" + instance={position={0.58 0.105} scale={0.15 0.095} depth=21} + } + colored_emblem={ + color1=rgb{215 167 136} + texture="NEOW_ce_acorn.dds" + instance={position={0.75 0.165} scale={0.04 0.065} depth=13} + } + colored_emblem={ + color1=red + texture="ce_block_02.dds" + instance={position={0.25 0.25} scale={0.5 0.5} depth=28} + } + colored_emblem={ + color1=black + color2=rgb{215 167 136} + color3=black + texture="NEOW_ce_saint_peter.dds" + instance={position={0.7 0.22} scale={0.43 0.43} depth=22} + } + colored_emblem={ + color1=white + texture="ce_eastern_clouds.dds" + instance={position={0.724 0.075} scale={0.025 -0.045} depth=3 rotation=90} + instance={position={0.675 0.075} scale={0.025 0.045} depth=4 rotation=90} + } + colored_emblem={ + color1=rgb{7 7 7} + texture="ce_circle.dds" + instance={position={0.7 0.19} scale={0.075 0.075} depth=16} + } + colored_emblem={ + color1=yellow + texture="ce_circle.dds" + instance={position={0.275 0.7} scale={0.11 0.11} depth=10} + } + colored_emblem={ + color1=white + texture="ce_crescent.dds" + instance={position={0.7 0.06} scale={0.065 -0.035} depth=5} + } + colored_emblem={ + color1=red + texture="ce_heart.dds" + instance={position={0.58 0.565} scale={0.085 0.085} rotation=25} + } + colored_emblem={ + color1=red + texture="ce_fire.dds" + instance={position={0.595 0.53} scale={0.05 0.05} depth=1 rotation=25} + } +} +c_palermo = { + pattern = "pattern_vertical_split_01.dds" + color1 = "yellow" + color2 = "blue" + colored_emblem = { + texture = "ce_eagle.dds" + color1 = "black" + color2 = "red" + color3 = "white" + instance = { position = { 0.3 0.4 } scale = { 0.5 0.5 } } + } + colored_emblem = { + texture = "ce_lion_rampant_crown.dds" + color1 = "yellow" + color2 = "yellow" + color3 = "black" + instance = { position = { 0.7 0.4 } scale = { 0.55 0.55 } } + } +} +c_agrigento = { + pattern = "pattern_solid.dds" + color1 = "white" + color2 = "blue" + colored_emblem = { + texture = "ce_block_02.dds" + color1 = "blue" + color2 = "blue" + instance = { position = { 0.5 0.156 } scale = { 1.0 0.312 } } + } +} +d_siracusa={ + pattern="pattern_solid.dds" + color1=green + color2=yellow + color3=black + colored_emblem={ + color1=black + texture="ce_polish_abdank.dds" + instance={position={0.5 0.82} scale={0.99 0.61} depth=10} + } + colored_emblem={ + color1=blue_light + texture="ce_polish_abdank.dds" + instance={position={0.5 0.83} scale={0.92 0.45} depth=9} + } + colored_emblem={ + color1=yellow + texture="ce_ragged_staff.dds" + instance={position={0.5 0.59} scale={0.69 0.25} depth=7 rotation=26} + instance={position={0.5 0.59} scale={0.62 0.37} depth=8 rotation=173} + } + colored_emblem={ + color1=yellow + color2=yellow_light + texture="ce_crown_random.dds" + instance={position={0.46 0.14} scale={0.26 0.26} depth=1} + } + colored_emblem={ + color1=yellow + color2=rgb {82 56 18} + texture="ce_castle.dds" + instance={position={0.49 0.43} scale={0.24 0.24}} + } + colored_emblem={ + color1=yellow + texture="ce_letter_q.dds" + instance={position={0.56 0.81} scale={0.14 0.14} depth=4} + } + colored_emblem={ + color1=orange + texture="ce_byzantine_eagle.dds" + instance={position={0.5 0.44} scale={0.65 0.64} depth=6} + } + colored_emblem={ + color1=yellow + texture="ce_letter_p.dds" + instance={position={0.45 0.82} scale={0.15 0.15} depth=3} + } + colored_emblem={ + color1=yellow + texture="ce_letter_s.dds" + instance={position={0.36 0.86} scale={0.17 0.17} depth=2} + instance={position={0.67 0.86} scale={0.16 0.16} depth=5} + } + colored_emblem={ + color1=yellow + color2=green_light + color3=red + texture="NEOW_ce_oak_branch.dds" + instance={position={0.34 0.76} scale={0.64 0.64} depth=11} + instance={position={0.66 0.77} scale={-0.57 0.57} depth=12} + } +} +c_siracusa = { + pattern = "pattern_solid.dds" + color1 = "green" + color2 = "yellow" + colored_emblem = { + texture = "ce_castle.dds" + color1 = "yellow" + color2 = "green" + instance = { position = { 0.5 0.45 } scale = { 0.9 0.9 } } + } +} +c_messina = { + pattern = "pattern_solid.dds" + color1 = "red" + color2 = "yellow" + colored_emblem = { + texture = "ce_ordinary_cross_5.dds" + color1 = "yellow" + color2 = "yellow" + instance = { position = { 0.5 0.5 } scale = { 1.0 1.0 } } + } +} +d_malta={ + pattern="pattern_vertical_split_01.dds" + color1=white + color2=rgb{156 14 33} + color3=black + colored_emblem={ + color1=rgb{156 14 33} + texture="ce_circle_mask.dds" + instance={scale={0.18 0.18} depth=2} + } + colored_emblem={ + color1=green + texture="ce_wreath_circle.dds" + instance={scale={0.86 0.86}} + } + colored_emblem={ + color1=white + texture="ce_cross_maltese.dds" + instance={scale={0.21 0.21} depth=1} + } + colored_emblem={ + color1=white + texture="ce_block_03.dds" + instance={scale={0.59 0.53} depth=3} + instance={scale={0.5 -0.59} depth=4 rotation=90} + } + colored_emblem={ + color1=grey + texture="ce_cross_large.dds" + instance={scale={0.61 0.62} depth=5} + } +} +c_malta = { + pattern = "pattern_solid.dds" + color1 = "blue" + color2 = "white" + colored_emblem = { + texture = "ce_eagle.dds" + color1 = "white" + color2 = "white" + color3 = "black" + instance = { position = { 0.5 0.52 } scale = { 1.1 1.1 } } + } +} d_sardinia={ pattern=pattern_solid.dds color1=white @@ -7198,3 +7474,205 @@ c_vercelli={ } } +c_treviso={ + custom=yes + pattern="pattern_vertical_split_01.dds" + color1=white + color2=rgb { 20 90 154 } + color3=red + colored_emblem={ + color1=green_light + color2=green + color3=yellow_light + texture="NEOW_ce_oak_branch.dds" + instance={ + position={ 0.650000 0.750000 } + scale={ -0.500000 0.500000 } + depth=2.010000 + } + + instance={ + position={ 0.350000 0.750000 } + scale={ 0.500000 0.500000 } + depth=3.010000 + } + + } + + colored_emblem={ + color1=white + texture="ce_kamon_triangle.dds" + instance={ + position={ 0.500000 0.740000 } + scale={ 0.160000 -0.070000 } + depth=5.010000 + } + + } + + colored_emblem={ + color1=rgb { 171 52 36 } + texture="ce_inescutcheon.dds" + instance={ + depth=7.010000 + } + + } + + colored_emblem={ + color1=yellow + color2=rgb { 37 143 241 } + texture="ce_crown_head.dds" + instance={ + position={ 0.500000 0.150000 } + scale={ 0.300000 0.300000 } + depth=4.010000 + } + + } + + colored_emblem={ + color1=white + texture="ce_cross_07.dds" + instance={ + position={ 0.500000 0.485000 } + scale={ 0.960000 0.780000 } + depth=6.010000 + } + + } + + colored_emblem={ + color1=white + texture="ce_star_07.dds" + instance={ + position={ 0.385000 0.310000 } + scale={ 0.100000 0.100000 } + } + + instance={ + position={ 0.625000 0.310000 } + scale={ 0.100000 0.100000 } + depth=1.010000 + } + + } + +} +b_ceneta={ + custom=yes + pattern="pattern_solid.dds" + color1=blue + color2=yellow + color3=green + colored_emblem={ + color1=brown + color2=green + color3=yellow_light + texture="NEOW_ce_oak_branch.dds" + instance={ + position={ 0.650000 0.700000 } + scale={ -0.500000 0.500000 } + } + + instance={ + position={ 0.350000 0.700000 } + scale={ 0.500000 0.500000 } + depth=1.010000 + } + + } + + colored_emblem={ + color1=blue + texture="ce_block_02.dds" + instance={ + scale={ 0.500000 0.500000 } + depth=5.010000 + } + + } + + colored_emblem={ + color1=yellow + texture="ce_border_shield.dds" + instance={ + scale={ 0.650000 0.650000 } + depth=3.010000 + } + + } + + colored_emblem={ + color1=yellow_light + texture="ce_cross_07.dds" + instance={ + depth=4.010000 + } + + } + + colored_emblem={ + color1=rgb { 131 73 22 } + color2=black + texture="ce_crown.dds" + instance={ + position={ 0.500000 0.140000 } + scale={ 0.300000 0.300000 } + depth=2.010000 + } + + } + + colored_emblem={ + color1=yellow + texture="ce_block_02.dds" + instance={ + depth=6.010000 + } + + } + +} +b_pieve={ # Belluno + custom=yes + pattern="pattern_solid.dds" + color1=blue + color2=white + color3=red + colored_emblem={ + color1=rgb { 145 24 8 } + color2=black + color3=white + texture="ce_dragon.dds" + instance={ + position={ 0.200000 0.180000 } + scale={ -0.400000 0.400000 } + } + + instance={ + position={ 0.800000 0.180000 } + scale={ 0.400000 0.400000 } + depth=1.010000 + } + + } + + colored_emblem={ + color1=yellow_light + texture="ce_mena_fess.dds" + instance={ + position={ 0.500000 0.400000 } + scale={ 1.000000 0.500000 } + depth=2.010000 + } + + instance={ + scale={ 0.500000 1.000000 } + depth=3.010000 + rotation=90 + } + + } + +} \ No newline at end of file diff --git a/common/culture/cultures/NEOW_central_germanic.txt b/common/culture/cultures/NEOW_central_germanic.txt index 468c19be..710f72fb 100644 --- a/common/culture/cultures/NEOW_central_germanic.txt +++ b/common/culture/cultures/NEOW_central_germanic.txt @@ -485,7 +485,7 @@ turkisch = { tradition_culture_blending } - name_list = name_list_franconian + name_list = name_list_NEOW_turkish coa_gfx = { german_group_coa_gfx western_coa_gfx } building_gfx = { western_building_gfx } @@ -496,10 +496,13 @@ turkisch = { house_coa_mask_scale = { 0.95 0.95 } ethnicities = { - 25 = caucasian_blond - 15 = caucasian_ginger - 35 = caucasian_brown_hair - 25 = caucasian_dark_hair + 5 = asian + 10 = slavic_blond + 10 = slavic_brown_hair + 10 = slavic_dark_hair + 15 = mediterranean_byzantine + 20 = arab + 30 = mediterranean } } diff --git a/common/culture/cultures/NEOW_goidelic.txt b/common/culture/cultures/NEOW_goidelic.txt index 206b8867..bbf0c6df 100644 --- a/common/culture/cultures/NEOW_goidelic.txt +++ b/common/culture/cultures/NEOW_goidelic.txt @@ -9,7 +9,7 @@ traditions = { tradition_seafaring - tradition_adaptive_skirmishing + tradition_farmer_republics tradition_festivities tradition_swords_for_hire tradition_diasporic @@ -45,9 +45,9 @@ high_irish = { #Éireannach Uasal traditions = { tradition_creaght tradition_poetry - tradition_festivities tradition_xenophilic tradition_defiant + tradition_farmer_republics } name_list = name_list_neow_goidelic @@ -81,10 +81,10 @@ irish = { #Éireannach Bhocht traditions = { tradition_creaght - tradition_adaptive_skirmishing tradition_festivities tradition_defiant tradition_xenophilic + tradition_farmer_republics } name_list = name_list_neow_goidelic diff --git a/common/culture/cultures/NEOW_italian.txt b/common/culture/cultures/NEOW_italian.txt index 971f55e9..9037303f 100644 --- a/common/culture/cultures/NEOW_italian.txt +++ b/common/culture/cultures/NEOW_italian.txt @@ -491,6 +491,7 @@ maltese = { #Maltin tradition_stalwart_defenders tradition_esteemed_hospitality tradition_xenophilic + tradition_farmer_republics } name_list = name_list_sicilian #PLACEHOLDER @@ -525,6 +526,7 @@ ladin = { tradition_mountaineers tradition_esteemed_hospitality tradition_hard_working + tradition_farmer_republics } name_list = name_list_gallo_italian diff --git a/common/culture/cultures/NEOW_mosellic.txt b/common/culture/cultures/NEOW_mosellic.txt index 76d86279..0837f753 100644 --- a/common/culture/cultures/NEOW_mosellic.txt +++ b/common/culture/cultures/NEOW_mosellic.txt @@ -40,8 +40,6 @@ elsasse = { color = { 204 168 61 } - parents = { swabian lorin } - created = 2300.1.1 ethos = ethos_stoic heritage = heritage_mosellic diff --git a/common/culture/cultures/NEOW_north_germanic.txt b/common/culture/cultures/NEOW_north_germanic.txt index 011cd70a..643617c7 100644 --- a/common/culture/cultures/NEOW_north_germanic.txt +++ b/common/culture/cultures/NEOW_north_germanic.txt @@ -116,6 +116,7 @@ faerosk = { head_determination = head_determination_domain traditions = { tradition_things + tradition_farmer_republics tradition_fishermen tradition_hereditary_hierarchy tradition_seafaring @@ -249,7 +250,7 @@ icelander = { head_determination = head_determination_domain traditions = { tradition_things - tradition_republican_legacy + tradition_farmer_republics tradition_seafaring tradition_fishermen } diff --git a/common/culture/cultures/NEOW_rhaeto_helvetic.txt b/common/culture/cultures/NEOW_rhaeto_helvetic.txt index 7ad060b9..87df495f 100644 --- a/common/culture/cultures/NEOW_rhaeto_helvetic.txt +++ b/common/culture/cultures/NEOW_rhaeto_helvetic.txt @@ -90,7 +90,7 @@ romansch = { house_coa_mask_offset = { 0.0 0.025 } house_coa_mask_scale = { 0.95 0.95 } traditions = { - tradition_parochialism + tradition_farmer_republics tradition_hard_working tradition_castle_keepers tradition_mountain_homes @@ -164,9 +164,8 @@ swiss = { #Svizzer tradition_staunch_traditionalists tradition_hard_working tradition_religious_patronage - tradition_fervent_temple_builders tradition_faith_bound - + tradition_farmer_republics } name_list = name_list_NEOW_swabian diff --git a/common/culture/cultures/NEOW_scottish.txt b/common/culture/cultures/NEOW_scottish.txt index 3844bf19..a9adda94 100644 --- a/common/culture/cultures/NEOW_scottish.txt +++ b/common/culture/cultures/NEOW_scottish.txt @@ -12,7 +12,7 @@ traditions = { tradition_defiant tradition_hill_dwellers - tradition_highland_warriors + tradition_farmer_republics tradition_strong_kinship tradition_fp1_performative_honour } diff --git a/common/culture/cultures/NEOW_west_germanic.txt b/common/culture/cultures/NEOW_west_germanic.txt index cc64cc38..eee77bc3 100644 --- a/common/culture/cultures/NEOW_west_germanic.txt +++ b/common/culture/cultures/NEOW_west_germanic.txt @@ -48,8 +48,8 @@ frisian = { #Represented the "old frisians" in vanilla, actually playable here # traditions = { tradition_fishermen tradition_agrarian - tradition_pastoralists - tradition_forbearing + tradition_pastoralists + tradition_farmer_republics tradition_modest } diff --git a/common/culture/name_equivalency/00_NEOW_female_names.txt b/common/culture/name_equivalency/00_NEOW_female_names.txt index 13f53329..de1df1e2 100644 --- a/common/culture/name_equivalency/00_NEOW_female_names.txt +++ b/common/culture/name_equivalency/00_NEOW_female_names.txt @@ -2,10 +2,11 @@ ada_female = { Ada Adda } adela_female = { Aaltje Ad_e_grv_le Ad_e_grv_lo Addyla Addylla Adela Adele Aiddelai } adelaide_female = { Ad_e_act_la_i_uml_de Adelaide Adelheid Addylayddy Addylaydy Addyllayddy Aida Aiddelaide Aleida Alida Alijda Alke Azala_i_uml_s Aziliz Azylis Elke Heide Heidi } -adriana_female = { Adriana Adriano } +adriana_female = { Adriana Adriano_female } agatha_female = { _A_rng_got Agate Agatha Agathe Agato Gadea } agnes_female = { Agn_e_grv_s Agnes Agneta Agnys Anest In_e_grv_s In_e_hat_s Ines Nesta Nysta Oanell } ainhoa_female = { Ainhoa Ainoa } +aisha_female = { Ay_s_ced_e } alba_female = { Alba } albana_female = { Aubano } alberta_female = { Alberdina Alberta Alberte Albertine Albertino_female } @@ -20,12 +21,12 @@ amanda_female = { Amanda Amandino Mandy } amata_female = { Aimado Aimee Amy Esm_e_act_e Esmee Maitane } amber_female = { Aimber Amber Ambyr } amelia_female = { Am_a_act_lia Am_e_act_lia Am_e_act_lie Am_e_grv_li Amale Amalie Amelia Amelie } -amina_female = { Amina } +amina_female = { Amina Emine } amira_female = { Amira } anahid_female = { Anahyta } anastasia_female = { Anastasi_e_act_ Anastasia Anastasie Stacey } -andrea_female = { Andere Andr_e_act_e Andrea Andrine Andriveto } -angela_female = { _A_grv_ngela Aela Aelia Aelig Ang_e_grv_lo_female Angela Angelina Angelita Angyla Engelina Gotzone } +andrea_female = { Andere Andr_e_act_e Andrea Andreia Andrine Andriveto } +angela_female = { _A_grv_ngela _A_hat_ngela Aela Aelia Aelig Ang_e_grv_lo_female Angela Angelina Angelita Angyla Engelina Gotzone } angeles_female = { _A_grv_ngels } angelica_female = { Ang_e_act_lica Angelica Angelico_female Angelika Angelique Lieke } anna_female = { Aina Ainne Ana Ana_i_uml_s Anais Ane Aneto Anette Anita Anja Anke Ann Anna Annaig Anne Anneke Anneken Annette Anni Annica Annick Annicka Annie Annigje Annika Anniken Anny Ano Anouk Antje Hanka Hanna Hannah Hanne Naig } @@ -46,15 +47,15 @@ annasophia_female = { Anne-Sophie Ano-Souf_i_grv_o } antonia_female = { Ant_o_grv_nia Antoinette Antonella Antonetta Antonia Antonieta Antonietta Antouneto Antoynytty T_o_grv_nio_female Teuntje Tounieto } anunciacion_female = { Anuntxi } aphrodite_female = { Affrhodyty } -apollonia_female = { Lone Poul_o_grv_nio } +apollonia_female = { Apol_o_act_nia Lone Poul_o_grv_nio } april_female = { Abri_e_act_u Abril Ebrel } aranzazu_female = { Arantxa Arantza Arantzazu Aranzazu } ariadne_female = { Ariadna Ariana Ariane } arlette_female = { Arleto } asa_female = { _A_rng_sa _A_rng_se } -asma_female = { Asma } +asma_female = { Asma Esma } astrid_female = { _A_grv_strid Asta Astri Astrid } -asuncion_female = { Assumpci_o_act_ Assunta Asun Axun Jasone } +asuncion_female = { Assumpci_o_act_ Assun_c_ced__a_tld_o Assunta Asun Axun Jasone } ascencion_female = { Igone } ashleigh_female = { Aishlei Ashleigh Ashley Ashlly Ashly } auda_female = { Aude } @@ -81,16 +82,16 @@ boudicca_female = { Boudyca } bridget_female = { Berit Birgit Birgitt Birgitta Birgitte Birte Birthe Brec_pst_hed Bregido Bridget Brigitte Brit Brita Britt Britta Bryddgyt Ffraid Gitta Gitte } brittany_female = { Britney } brunhilde_female = { Brunhilde } -bushra_female = { Bouchra } +bushra_female = { B_u_uml__s_ced_ra Bouchra } camilla_female = { Camiho Camilla Camille_female Kamilla } -candida_female = { C_a_grv_ndida } +candida_female = { C_a_grv_ndida C_a_hat_ndida } carla_female = { Carla Carleno_female Carly Carol Carola Carole Carolo_female Charl_e_grv_ne Charlene Charly Karla Karola } -carmen_female = { Carme Carmela Carmella Carmen Carmina Karmele } +carmen_female = { Carme Carmela Carmella Carmen Carmina Carmo Karmele } carolina_female = { Carolina Caroline Carolyn Caroulino Karolina Karoline } cassandra_female = { Cassandra Cassandro Kasyy } -catherine_female = { Cadi Cafyryny Caiterine Caitlin Carin Carina Catarina Catarino Caterina Catharina Catherine Cathy Cathyrhyny Cati Catrin Catyy Caytllyn K_a_uml_te K_a_uml_the Kafyryny Kaiterine Kaitrin Kajsa Karen Kari Karin Karina Karine Karyn Katalin Katarina Kate Katell Katharina Katharine Katherina Katherine Kathleen Kathrin Kathryn Kati Katia Katie Katixa Katja Katrin Katrina Katrine Kattalin Katy Kaytlyn Nienke Trijntje Trine } +catherine_female = { C_a_act_tia Cadi Cafyryny Caiterine Caitlin Carin Carina Catarina Catarino Caterina Catharina Catherine Cathy Cathyrhyny Cati Catrin Catyy Caytllyn K_a_uml_te K_a_uml_the Kafyryny Kaiterine Kaitrin Kajsa Karen Kari Karin Karina Karine Karyn Katalin Katarina Kate Katell Katharina Katharine Katherina Katherine Kathleen Kathrin Kathryn Kati Katia Katie Katixa Katja Katrin Katrina Katrine Kattalin Katy Kaytlyn Nienke Trijntje Trine } cecilia_female = { C_e_act_cile Cec_i_act_lia Cecilia Ceciliai Cecilie Cecilo Cicely Cilly Cycyllya Cycylya Sheila Sheyla Silje Silke Sille Sisse Sissel Sysylya Xixili } -celestina_female = { Celestina Celestino_female Celesto_female } +celestina_female = { Celeste Celestina Celestino_female Celesto_female } celia_female = { C_e_grv_lia Celi_a_grv_ Celia } celine_female = { C_e_act_line Celina Celino Selina Sylyna } chantal_female = { Chantal Chantelle Xantal } @@ -103,7 +104,7 @@ chun_female = { Chun Shun } claire_female = { Argi_n_tld_e Clair Claire Clara Clare Clarha Clarisse Clarisso Claro_female Kl_a_uml_rchen Klara Sklaerenn } claudia_female = { Cl_a_act_udia Cl_a_grv_udia Claudette Claudia Claudine Gladys Glaudeto Glaudino Glaudo_female Gwladdys Gwladys Klaoda Klaodina Klaudia } clementia_female = { Clem_e_grv_nci Clem_e_grv_ncia Clementia Clementina Clementino_female Clymyntyny } -cleopatra_female = { Cl_e_act_op_a_hat_tre } +cleopatra_female = { Cl_e_act_op_a_hat_tre Klyopatra Cllyopatra Clyopatrha Cleopaitrai } clorinda_female = { Clorinda Clorinde Clourindo } clotilda_female = { Clotilde Cloutido } colette_female = { Colette Coul_e_grv_to } @@ -132,18 +133,19 @@ dominica_female = { Domenica Dominika Dominique_female Doumenico_female } dorothy_female = { D_o_uml_rte D_o_uml_rthe Ddorhofyy Ddorofy Dorothea Dorothy Dorthe Doryty Dourout_e_grv_io } edith_female = { _E_act_dith Eddit Eddyf Edyf Edith Editha Edito } edmunda_female = { Edmunda } +eduarda_female = { Eduarda } eleanor_female = { _E_act_l_e_act_onore A_e_act_nor Ali_e_act_nor Eleainor Eleanor Eleonor Eleonore Elinor Eliounor Ellinor Ellyanor Elyanor Elyanorh Leonor Leounoro Lore Lynorh } eliana_female = { _E_act_liane Eliano } elisa_female = { _E_act_lise Elisa Elise Eliso Eliza } -elizabeth_female = { _E_act_lisabeth Bab_e_grv_u_female Babette Bessie Bethan Bettina Betty Eisab_e_grv_u Elesbed Elisabet Elisabeth Elixabet Elixabete Elizabeth Elizaibet Ellyzabyf Elsbeth Elsebeth Elsie Elspet Elysabyf Elyzabyf Ilsabe Liesel Lill Lis Lisbeth Lisen Lisette Liz Lizzie Llyzzyy Lyzzyy } +elizabeth_female = { _E_act_lisabeth Bab_e_grv_u_female Babette Bessie Bethan Bettina Betty Eisab_e_grv_u Elesbed Elisabet Elisabete Elisabeth Elixabet Elixabete Elizabeth Elizaibet Ellyzabyf Elsbeth Elsebeth Elsie Elspet Elysabyf Elyzabyf Ilsabe Liesel Lill Lis Lisbeth Lisen Lisette Liz Lizzie Llyzzyy Lyzzyy } elizabethcharlotte_female = { Lieselott Liselotte } elodie_female = { _E_act_lodie Eloud_i_grv_o } -elsa_female = { Els_a_grv_ Elsa Else Ilse Telse } +elsa_female = { Els_a_grv_ Elsa Else Elza Ilse Telse } elvira_female = { Elvira Elwyrha } emeline_female = { Emblyn Emelino } emerald_female = { Emerald Esmeraudo } emily_female = { _E_act_milie Em_i_act_lia Emelie Emil_i_grv_o_female Emili_female Emilia Emiliano_female Emilie Emily Emmy Emylly Emyly Emylyy } -emma_female = { Em_a_grv_ Emma Emmai Imke } +emma_female = { Em_a_grv_ Ema Emma Emmai Imke } emmanuella_female = { Emanuela Emanuelo_female Emmanuelle Manuela Manuello } enid_female = { Enid Enydd } erika_female = { Erika } @@ -152,18 +154,19 @@ ernesta_female = { Erna Ernestino } esmeralda_female = { Esm_e_act_ralda Esmeralda Maragda } esther_female = { Esfyrh Est_e_grv_r Ester Esther } estibaliz_female = { Estibaliz Estitxu } -eugenia_female = { _E_act_ug_e_grv_nio Eug_e_act_nie Eug_e_grv_nia Eukene Owena } -eulalia_female = { _E_act_ul_a_grv_lio Eul_a_grv_lia Laia Olaia } +eugenia_female = { _E_act_ug_e_grv_nio Eug_e_act_nia Eug_e_act_nie Eug_e_grv_nia Eukene Owena } +eulalia_female = { _E_act_ul_a_grv_lio Eul_a_act_lia Eul_a_grv_lia Laia Olaia } euphemia_female = { Euphemia } +eurydice_female = { Eur_i_act_dice } eva_female = { _E_grv_ve _E_grv_vo Efa Eva Ewa Ewya } evamaria_female = { Eva_spc_Maria } evelyn_female = { _E_act_velyne Evaline Evelien Evelin Evelina Eveline Evelino Evelyn } fabiana_female = { Fabiano_female Fabienne } faith_female = { Fayf } farah_female = { Farah Ffarrah } -farida_female = { Farida } +farida_female = { Farida Feride } fatiha_female = { Fatiha } -fatima_female = { F_a_act_tima F_a_grv_tima Fatima Fatma Ffatymah } +fatima_female = { F_a_act_tima F_a_grv_tima Fadime Fatima Fatma Ffatymah } fatina_female = { Fatine } faustina_female = { Faustino_female } fawzia_female = { Fawzia } @@ -193,15 +196,17 @@ gesine_female = { S_u_uml_nje S_u_uml_nne } ghislaine_female = { Guisl_e_grv_no } gilberta_female = { Giliberto_female } gisela_female = { Giesela Gis_e_grv_le Gis_e_grv_lo Gisa Gisela } -gloria_female = { Aintzane Gl_o_grv_ria Glorhyana Gloria } +gloria_female = { Aintzane Gl_o_act_ria Gl_o_grv_ria Glorhyana Gloria } grace_female = { Garazi Gra_c_ced_a Grace Gracy Graxi Grazia } gudula_female = { Gudula } +gul_female = { G_u_uml_l } gunhild_female = { Gun Gunhild Gunild Gunilla Gunn Gunnel } gwen_female = { Gwen Gwenn } gwendolyn_female = { Gwendolen Gwendoline Gwynddolyn } hajar_female = { Hajer } halima_female = { Halima } hanan_female = { Hanane } +hatshepsut _female = { Hatshypswt Haitshepsut } hazel_female = { Hasyl Hazel } hayley_female = { Haiilei Hayley Hayllyy Haylyy } heather_female = { Heaiter Heather Hyafyr } @@ -237,6 +242,8 @@ isidora_female = { Isidra } jacqueline_female = { Jacoba Jacqueline Jakeza Jaquelino Jaqueto } jade_female = { Jade Jady Jaidde } jahan_female = { Jihane } +jamila_female = { Jamila } +jawhar_female = { Cevahir } jennifer_female = { Gueni_e_grv_vro Guynyvyry Guynywyrhy Gwenhwyfar Gwenifer Gwynhwyffar Jenifer Jenifry Jennie Jennifer Jenny Jennyfer } jessica_female = { Jessic_a_grv_ Jessica Jessicai Jessie Jessika Jyssyca Jyssyka Jyssyy } jesusa_female = { Iosune Josune } @@ -249,7 +256,7 @@ jordana_female = { Jordan_female } josepha_female = { Giuseppina J_o_act_usefino Jos_e_act_phine Josebe Josefa Josefin Josefina Josefine Josepa Josepha Josephina Josephine Josyffyny Pepita } josette_female = { Josette Jouseto_female } josiane_female = { Josiane Jousiano } -judith_female = { Juddit Judit Judith Judyf Jutta Jwdy Jytte } +judith_female = { Juddit Judit Judite Judith Judyf Jutta Jwdy Jytte } julia_female = { J_u_grv_li_female Julia Julie } juliana_female = { Gillian Gilly Giuliana Jill Julene Juliainai Juliane Juliano_female Julienne Jullyana Julyana Jwlyana Liane } juliet_female = { Juliet Julieta Julieto Juliette Jullyt Julyyt } @@ -257,13 +264,14 @@ justa_female = { Justa } justina_female = { Justine Justino_female } karima_female = { Karima } kelly_female = { Kelli Kelly Kylly } +khadija_female = { Hatice } khalida_female = { Halida } kimberley_female = { Kimberley Kimberli Kimberly Kymbyrly } kriemhild_female = { Krimhild } kulthum_female = { Kalthoum } laetitia_female = { L_ae_titia Laetitia Leticia Leticio Lyttycy } lamia_female = { Lamia Lamya } -latifa_female = { Latifa } +latifa_female = { Latifa Latife } laura_female = { Laiurai Laura Laure Laureto Laurinda Lauro_female Llaura Lowri } laurence_female = { Laur_e_grv_n_c_ced_o Laurence } layla_female = { La_i_uml_la Laila Leila Leyla } @@ -271,16 +279,17 @@ lea_female = { L_e_act_a Le_a_grv Lea Leah Lia Lyah } leonie_female = { Leonie Leoun_i_grv_o Leountino } leyre_female = { Leire Leyre } liliana_female = { Lilian_female Liliano Lillian } -lily_female = { Lilly Lily } +lily_female = { L_i_act_lia Lilly Lily } linda_female = { Linda Lindo_female Lynda } lindsay_female = { Lindsay Lindsey Lyndsey Lynsey } linnea_female = { Linn Linn_e_act_a Linnea } lisa_female = { Lisa Lise Liseto Liso_female Liza } lorraine_female = { Laiuren Lauren Laurhyn Lauryn Llauryn Lorena Lorhrhayny Lorraine Lourreno } -louise_female = { Aloisia Lizig Llu_i_uml_sa Lo_i_uml_za Loeiza Lois Lou_i_uml_so_female Lou_i_uml_sono Louisa Louise Lova Lovisa Lowysy Ludwiga Luigia Luisa Luise Lwuysy Zaig } +louise_female = { Aloisia Lizig Llu_i_uml_sa Lo_i_uml_za Loeiza Lois Lou_i_uml_so_female Lou_i_uml_sono Louisa Louise Lova Lovisa Lowysy Lu_i_act_sa Lu_i_act_za Ludwiga Luigia Luisa Luise Lwuysy Zaig } lourdes_female = { Lourdes Lourdina Lurdes } lubna_female = { Lobna } lucia_female = { L_u_act_cia L_u_grv_ci Llucia Llucy Luci Lucia Lucie Lucy Lucya Lusy Lusya Luzia } +lucille_female = { Luc_i_act_lia } luciana_female = { Luciano_female Lucienne } lucrezia_female = { Lucr_e_grv__c_ced_o } ludivina_female = { Ludivino } @@ -290,17 +299,17 @@ lydia_female = { L_i_act_dia Lid_i_grv_o Liddiai Lide Lidia Llyddya Lyddya Lydia maela_female = { Ma_e_uml_lie Ma_e_uml_lig Maela Maelenn Maeli } magdalena_female = { Madalen Madalena Madaleno Maddalen Maddalena Maddy Maddyllyny Maddylyyny Maddyy Madeleine Magali Magda Magdalena Maialen Maiddeleine Malen Malena Malene Malin Matxalen } maimuna_female = { Maimuna } -malika_female = { Malika Mallyca Malyka } +malika_female = { Malika Mallyca Malyka Melike } mar_female = { Mar } marcella_female = { Marcelino_female Marcelle Marcello_female } margaret_female = { Gaid Greta Grete Gretel Grethe Grietje Grit M_e_act_gane Mairgairet Mared Margaret Margareta Margarete Margaretha Margarethe Margarido Margarita Margaryt Margaux Marged Margery Margit Margitta Margot Margrete Margrethe Margrit Marguerite Marhgarhyt Marit Marjorie Marjour_i_grv_o Megain Megano Mererid Merete Merethe Mette Mygan Peggy Rita } -maria_female = { M_a_grv_riam M_i_act_riam Maaike Maddi Mair Mairi Maj Maja Majken Mali Manon Manoun Mar_i_grv_o_female Marhya Marhyy Mari Mari_e_uml_lle Maria Mariam Mariama Marie Mariechen Marieke Mariella Marije Marijke Marika Marion Mariona Marioun Mariska Mariso_female Marita Marja Mary Maureen May Maya Megan Meta Mia Mie Miren Mirene Miriam Mirian Mirjam Miryam Moirai Molli Mollie Molly My Myriam Polly Ria } +maria_female = { M_a_grv_riam M_i_act_riam Maaike Maddi Mair Mairi Maj Maja Majken Mali Manon Manoun Mar_i_grv_o_female Marhya Marhyy Mari Mari_e_uml_lle Maria Mariam Mariama Marie Mariechen Marieke Mariella Marije Marijke Marika Marion Mariona Marioun Mariska Mariso_female Marita Marja Mary Maureen May Maya Megan Meryem Meta Mia Mie Miren Mirene Miriam Mirian Mirjam Miryam Moirai Molli Mollie Molly My Myriam Polly Ria } mariaangel_female = { Mar_i_grv_o-Ange Mariangela } mariaangeles_female = { Maria_spc__A_grv_ngels } mariaanna_female = { Mar_i_grv_o-Ano Maria_spc_Anna Mariannick Marie-Annick Maryannick Rianne } mariaantonia_female = { Mar_i_grv_o-Antouneto Maria_spc_Antonieta Maria_spc_Antonietta Marie-Antoinette } mariaascension_female = { Miren_spc_Jasone } -mariaassumpcion_female = { Maria_spc_Assumpci_o_act_ Maria_spc_Assunta } +mariaassumpcion_female = { Maria_spc_Assumpci_o_act_ Maria_spc_Assunta Maria_spc_de_spc_Assun_c_ced__a_tld_o } mariabegonia_female = { Miren_spc_Bego_n_tld_a } mariabelen_female = { Maria_spc_de_spc_Bel_e_act_m } mariablanca_female = { Maria_spc_Blanca } @@ -317,6 +326,7 @@ mariadolores_female = { Maria_spc_Dolors Miren_spc_Nekane } mariadominica_female = { Mar_i_grv_o-Doumenico } mariaelizabeth_female = { Maria_spc_Elisabet Marlies Marlis Miren_spc_Elixabete } mariaeugenia_female = { Maria_spc_Eug_e_grv_nia Miren_spc_Eukene } +mariafatima_female = { Maria_spc_de_spc_F_a_act_tima } mariafrance_female = { Mar_i_grv_o-Fran_c_ced_o Marie-France } mariafrancesca_female = { Mar_i_grv_o-Franceso } mariagrace_female = { Maria_spc_da_spc_Gra_c_ced_a Maria_spc_Grazia } @@ -328,6 +338,8 @@ mariajoseph_female = { Mar_i_grv_o-J_o_act_us_e_grv_ Maria_spc_Jos_e_act_ Maria_ mariajosepha_female = { Maria_spc_Josefa Maria_spc_Josepa } marialaura_female = { Mar_i_grv_o-Lauro } marialouisa_female = { Malou Mar_i_grv_o-Louiso Maria_spc_Llu_i_uml_sa Maria_spc_Luigia Maria_spc_Luisa Marie-Louise Marie-Luise Mari-Loeiza Marloes Milou Miren_spc_Koldobike } +marialourdes_female = { Maria_spc_de_spc_Lourdes Maria_spc_de_spc_Lurdes } +marialuz_female = { Maria_spc_da_spc_Luz } mariamagdalena_female = { Mar_i_grv_o-Madaleno Maria_spc_Magdalena } mariamar_female = { Maria_spc_Mar Miren_spc_Itxaso } mariamercedes_female = { Maria_spc_Merc_e_grv_ } @@ -337,7 +349,8 @@ marianoela_female = { Mar_i_grv_o-Nouelo } mariaodila_female = { Mar_i_grv_o-Oudilo } mariapaula_female = { Mar_i_grv_o-Paulo Maria_spc_Pau } mariapeter_female = { Mar_i_grv_o-P_e_grv_ire } -mariapilar_female = { Maria_spc_Pilar Miren_spc_Pilare } +mariapilar_female = { Maria_spc_do_spc_Pilar Maria_spc_Pilar Miren_spc_Pilare } +mariapurification_female = { Maria_spc_da_spc_Purifica_c_ced__a_tld_o } mariarosa_female = { Mar_i_grv_o-Roso Maria_spc_Rosa } mariasoledad_female = { Marisol Miren_spc_Bakarne } mariatheresa_female = { Maite Mar_i_grv_o-Ter_e_grv_so Maria_spc_Teresa Maria_spc_Theresia Maria-Tereza Marie-Th_e_act_r_e_grv_se Miren_spc_Teresa } @@ -348,13 +361,13 @@ marina_female = { Itsasne Itxasne Maren Mari_n_tld_e Marina Marine Marino_female marlene_female = { Marl_e_grv_no Marleen Marlene } martha_female = { Marta Marte Martha Marthe Marto_female } martina_female = { Maartje Martina Martine Martino_female } -mathilda_female = { Mahaut Maitildai Maiudd Mallt Mathilda Mathilde Matilda Matyldda Matylldda Maud Maudd Mauddy Mechthild Tilda Tilde Tilly } +mathilda_female = { Mafalda Mahaut Maitildai Maiudd Mallt Mathilda Mathilde Matilda Matyldda Matylldda Maud Maudd Mauddy Mechthild Tilda Tilde Tilly } mauricia_female = { Mauriceto_female } maximiliana_female = { Massimiliano Maximiliane } melania_female = { M_e_act_lanie Melan_i_grv_o Melani Melanie } melinda_female = { M_e_act_linda } -melissa_female = { Melissai Melisso Myllyssa Mylyssa } -mercedes_female = { Eskarne Merc_e_act_d_e_grv_s Merc_e_grv_ Mercedes Mertxe Tregereth } +melissa_female = { Melisa Melissai Melisso Myllyssa Mylyssa } +mercedes_female = { Eskarne Merc_e_act_d_e_grv_s Merc_e_grv_ Merc_e_hat_s Mercedes Mertxe Tregereth } michelle_female = { Mich_e_grv_le Michaela Michaele Michela Michele_female Micheleto_female Michelle Michello_female Mikaela Mikele Miquelina } milagros_female = { Alazne Miracle Mirari } milana_female = { Milanka } @@ -370,11 +383,12 @@ nahia_female = { Nahia Nahikari } naima_female = { Naima } najat_female = { Najat } naomi_female = { Naiomi Naomi Naomy Noemi Nouen_i_grv_o } -nasrin_female = { Nesrine } -nathalie_female = { Nadalo Naitailie Nat_a_act_lia Nat_a_grv_lia Natach_a_grv_ Natal_i_grv_o Natale Natalia Natalie Natascha Natascia Natasha Natasja Nathalie } +nasrin_female = { Nesrin Nesrine } +nathalie_female = { Nadalo Naitailie Nat_a_act_lia Nat_a_grv_lia Natach_a_grv_ Natal_i_grv_o Natale Natalia Natalie Natalina Natascha Natascia Natasha Natasja Nathalie } nawwal_female = { Nawel } nazanin_female = { Nazanyn } nazareth_female = { Natzaret } +nefertiti_female = { Nefertiti Nyffyrtyty Nyffyrhtyty } nicole_female = { Clasina Klazina Nichola Nicleto Nicola Nicole Nicoline Nicolo_female Niek Nikki Nycoly } nieves_female = { Edurne Neus } nimue_female = { Nimue Nymuy } @@ -383,12 +397,12 @@ nolwenn_female = { Newlyn Noalig Nolwen Nolwenn } nuria_female = { N_u_act_ria Nuria } oceana_female = { Itsaso Itxaso Ouceano } octavia_female = { _O_act_ut_a_grv_vio } -odette_female = { Oudeto } -odile_female = { Odile Odilia Oudilo } +odette_female = { Odete Oudeto } +odile_female = { Odile Odilia Ot_i_act_lia Oudilo } olga_female = { Hege Helga Olg_a_grv_ Olga } olivia_female = { Olive Olivia Wllywyya Wlywyy } -olympia_female = { Oulimpo_female } -ophelia_female = { Of_e_grv_lia Ouf_e_act_l_i_grv_o } +olympia_female = { Ol_i_act_mpia Oulimpo_female } +ophelia_female = { Of_e_act_lia Of_e_grv_lia Oph_e_act_lie Ouf_e_act_l_i_grv_o } palmyra_female = { Palmira } pamela_female = { Pamela } pascala_female = { Pascale Pascaleto Pascalo_female } @@ -404,10 +418,11 @@ phyllis_female = { Ffyllys } pia_female = { Pia } pilar_female = { Pilar } prudence_female = { Prhuddyncy } -purification_female = { Garbi Purificaci_o_act_ } +purification_female = { Garbi Purifica_c_ced__a_tld_o Purificaci_o_act_ } quitteria_female = { Quit_e_grv_ri } rachel_female = { Rach_e_grv_l Rachael Rachel Rachyll Raichel Rakel Raquel Rashyl Rhachyl } ragnhild_female = { Ragnhild Reinhilde } +rahima_female = { Rahime } ramona_female = { Raimunda Ramona Ramoundo_female Raymonde } raphaela_female = { Rafaela Raffaella } rashida_female = { Rachida } @@ -423,9 +438,9 @@ romana_female = { Romana Roumano_female } rosa_female = { Rhosyn Rosa Rose Rosie Rosina Rosita Roso_female Rosy Rousado Rousino Rozenn } rosaanna_female = { Rosanna } rosalia_female = { Rosalia Rosalie Rosely Rousal_i_grv_o } -rosalyn_female = { Rosalind Roselyne Rousselino } +rosalyn_female = { Rosalina Rosalind Roselyne Rousselino } rosamaria_female = { Romy Rosa_spc_Maria Rosamaria Rosemarie Rose-Marie Rosemary Roso-Mar_i_grv_o } -rosario_female = { Agurne Agurtzane Rosaria Roser } +rosario_female = { Agurne Agurtzane Ros_a_act_rio Rosaria Roser } roxana_female = { Rossana Roxanne } ruth_female = { Rut Ruth } sabina_female = { Sabina Sabine Sabino_female Savina } @@ -433,12 +448,12 @@ sabrina_female = { Sabrina Sabrino_female } safia_female = { Safia Saphia } samantha_female = { Saimaintai Samanfa Samanta Samantha Samanto } samia_female = { Samia } -sarah_female = { Sairai Sairaih Sally Sara Sarah Sarai Saray Sarha Saro_female } +sarah_female = { Sairai Sairaih Sally Sara Sarah Sarai Saray Sarha Saro_female Sera } segolene_female = { Sigouleno } serafina_female = { Fina } serena_female = { Serenai Syryna } severina_female = { Severino_female } -sharifa_female = { Ch_e_act_rifa } +sharifa_female = { _S_ced_erife Ch_e_act_rifa } shaykha_female = { Cheikha } shirin_female = { Shirine Shyryyn } sibylla_female = { Sibillai Sibilo_female Sybil Sybille Sybyl Sybylla } @@ -455,6 +470,7 @@ soraya_female = { Soraia Soraya } stella_female = { Estel Estela Estelle Estello Izar Izarne Seren Stella Steren Sterenn Sterre } stephanie_female = { Estefania Esteveneto Fan_i_grv_ St_e_act_phanie Stefania Stefanie Steffi Stephainie Stephanie Styffanyy } suad_female = { Souad } +sultana_female = { Sultan } summer_female = { Haf Summyr } sunniva_female = { Sunniva Syn_o_stk_ve Synn_o_stk_ve } susan_female = { Sanna Sanne Susan Susana Susann Susanna Susanne Susanny Susano_female Susoun Suzana Suzanne } @@ -471,10 +487,12 @@ theresa_female = { Ter_e_grv_so Tere Teresa Terese Tess Tessa Th_e_act_r_e_grv_s thomasina_female = { Tamzin } thora_female = { Tone Tonje Tora Torny } thorfrid_female = { Tove Turid Tuva } +titania_female = { Tytanya Titainiai } trinity_female = { Irune Trinitat } ulrika_female = { Ulrika Ulrike } -ursula_female = { Oursulo Ursel Ursula Yrsa } +ursula_female = { _U_act_rsula Oursulo Ursel Ursula Yrsa } ute_female = { Oda Uta Ute } +uthman_female = { Osman } valentina_female = { Valentina Valentino_female } valeria_female = { Val_e_act_rie Valeria Valerie Valiero_female } vanessa_female = { Nessa Vanesa Vanessa Vanesso_female } @@ -494,11 +512,11 @@ wiebke_female = { Vibeke } wilhelmina_female = { Hilma Mimmi Minna Minnie Vilma Wilhelmina Wilhelmine Willemina Willy_female Wilma } winifred_female = { Freda Gwenfrewi Winifred Wynnyffrhydd Wynnyffrydd Wynnyfryd } xenia_female = { X_e_grv_nia } -yasmin_female = { Iasmino Ioasmyn Jaismin Jasmijn Jasmin Jasmina Jasmine Jasmyn Jasmyny Yasmin Yasmina Yasmyn Yassmina } -yolanda_female = { Iolanda Jolanda Vi_o_act_ulando Yolanda } -yvette_female = { Ivet Ivetig Iveto_female Ivette Youna Yuna Yvette } +yasmin_female = { Iasmino Ioasmyn Jaismin Jasmijn Jasmin Jasmina Jasmine Jasmyn Jasmyny Yasemin Yasmin Yasmina Yasmyn Yassmina } +yolanda_female = { Iolanda Jolanda Vi_o_act_ulando Violante Yolanda } +yvette_female = { Ivet Ivete Ivetig Iveto_female Ivette Youna Yuna Yvette } yvonne_female = { Ibone Ivona Ivone Ivono_female Yvonne } zahra_female = { Zahra Zohra } -zaynab_female = { Zineb } +zaynab_female = { Zeynep Zineb } zenayda_female = { Sinaida } zoe_female = { Zo_e_uml_ Zoe Zoila Zou_e_grv_ } \ No newline at end of file diff --git a/common/culture/name_equivalency/00_NEOW_male_names.txt b/common/culture/name_equivalency/00_NEOW_male_names.txt index 2635d47c..99f2702f 100644 --- a/common/culture/name_equivalency/00_NEOW_male_names.txt +++ b/common/culture/name_equivalency/00_NEOW_male_names.txt @@ -1,42 +1,47 @@ aarav_male = { Aarav Aarhav } -aaron_male = { Aarhon Aaron Airron Harouna } +aaron_male = { Aarhon Aaron Airron Harouna Harun } abdulaziz_male = { Abdelaziz } abdulghaffur_male = { Abdelghafour } abdulhafiz_male = { Abdelhafid } abdulhakim_male = { Abdelhakim } abdulkarim_male = { Abdelkarim Abdelkrim } +abdullah_male = { Abdullah } abdullatif_male = { Abdellatif } abdulmunim_male = { Abdelmona_i_uml_m } abdulnasir_male = { Abdul-Nasir } -abdulqadir_male = { Abdelkader } -abdulrahman_male = { Abderrahman Abderrahmane } +abdulqadir_male = { Abd_u_uml_lkadir Abdelkader } +abdulrahman_male = { Abderrahman Abderrahmane Abdurrahman } abdulwahhab_male = { Abdelwahab } abel_male = { Ab_e_grv_l Abel } abner_male = { Abnyr } -abraham_male = { Abraham Brahim Bram Ibr_e_act_hima Ibrahim Ibrahima Ibrahym } +abraham_male = { _I_dot_brahim Abraham Brahim Bram Ibr_e_act_hima Ibrahim Ibrahima Ibrahym } abubakr_male = { Aboubakeur Abubakar Boubaker } abulqasim_male = { Belkacem } acacius_male = { Ac_a_act_cio } achilles_male = { Achile Achille } -adam_male = { Adam Addam Aiddam } +adam_male = { Ad_a_tld_o Adam Addam Aiddam } +adham_male = { Ethem } adil_male = { Adel } adrian_male = { Addryan Adrhyan Adri_a_grv_ Adriaan Adrian Adriano Adrianus Adrien } agapetus_male = { Agapit } -ahmad_male = { Ahmad Ahmadd Ahmed Amadou } +ahmad_male = { Ahmad Ahmadd Ahmed Ahmet Amadou } aidan_male = { Aeddan } ajax_male = { Ajaks } +akhenaten _male = { Achynatyn Aikenhaiten Akhynatyn } aki_male = { _A_rng_ke Aage } alan_male = { Ailain Alain Alan Allan Allen Alun } albanus_male = { Alb_a_grv_ Alban Albano Auban } alberic_male = { Aubrey Aubrhyy } albert_male = { Adalbert Adalberto Ailbert Albert Alberto Albertus Alberzh Albrecht Albyrht Albyrt Allbyrt Aubert } albinus_male = { Albin Albino Aubin } +alcide_male = { Alcides } alex_male = { _A_grv_lex Alec Alex Alick Alyks } -alexander_male = { Ailaistair Alastair Alastayrh Aleissandre Aleksander Aleksandr Alessandro Alexander Alexandre Alistair Allyksanddyr Allyystyr Alyksanddyr Alyksandyrh Sacha Sander Sandrino Sandro } +alexander_male = { _I_dot_skender Ailaistair Alastair Alastayrh Aleissandre Aleksander Aleksandr Alessandro Alexander Alexandre Alistair Allyksanddyr Allyystyr Alyksanddyr Alyksandyrh Sacha Sander Sandrino Sandro } alexis_male = { Al_e_grv_ssi Aleix Ales Alexis } alfonso_male = { Afonso Alfons Alfonso Alphonse Anfous } alfred_male = { Ailfredd Alffrydd Alfie Alfred Alfredo Alfret Alfrhyd Allfrydd } ali_male = { Ali Aly } +alparslan_male = { Alparslan Alpaslan } alvar_male = { _A_act_lvaro _A_grv_lvar Alvaro } alwin_male = { Alvin Alwin Alwyn } amabilus_male = { Amable } @@ -44,10 +49,14 @@ amadeus_male = { Am_e_act_d_e_act_e Amadeo Amadeu Amadi_e_act_u Amedeo Gottlieb amalric_male = { Amaudri Amaury } amatus_male = { Amado Amat Amato } ambrosius_male = { Ambr_o_grv_si Ambrogio Ambrose Ambrosio Ambrosyws Emrhys Emrys } +amenhotep_male = { Aimenhotep Amynhotyp } amin_male = { Amine Elamine } -amir_male = { Amir } +amir_male = { Amir Emir } +amirkhan_male = { Emirhan } +anacletus_male = { Anacleto } +enes_male = { enes } anastasius_male = { Anast_a_act_cio Anastasio Tasio } -anatolius_male = { Anat_o_grv_li Anatol } +anatolius_male = { Anat_o_act_lio Anat_o_grv_li Anatol } andrew_male = { Ainddrew Anddryw Ander Anders Andr_e_act_ Andre Andrea_male Andreas Andreu Andrew Andrhyw Andri_e_act_u Andries Andy } angel_male = { _A_grv_ngel _A_hat_ngelo Ael Aingeru Ange Angelo Anjel Gotzon } angus_male = { Angus } @@ -56,11 +65,11 @@ anthony_male = { Aintoni Andoni Anfony Anfwny Ant_o_act_nio Ant_o_grv_ni Anthoni antoninus_male = { Antonin Antonino Antounin } anwar_male = { Anouar } arcadius_male = { Arcadi } -archangel_male = { Arcangelo } +archangel_male = { Arcangelo Arcanjo } archibald_male = { Airchibaildd Archibald Archyballdd Arkyballdd } aristides_male = { Aristides Aristido } arne_male = { Anjes Anne_male Are Arne } -arnold_male = { Aart Airnoldd Arend Arhnoldd Arnald Arnau Arnaud Arnaut Arndt Arno Arnold Arnoldus Arnolldd Arnoud E_n_tld_aut } +arnold_male = { Aart Airnoldd Arend Arhnoldd Arnald Arnaldo Arnau Arnaud Arnaut Arndt Arno Arnold Arnoldus Arnolldd Arnoud E_n_tld_aut } arnulf_male = { Arnulf } arsenius_male = { Arsena Arsenio } arthur_male = { _A_grv_rtus Airtur Arfur Arhfurh Arthur Artur Arturo } @@ -68,9 +77,13 @@ arvid_male = { Arved Arvid } arian_male = { Ari_a_grv_ Arjan } armel_male = { Armel Arthfael } aryeh_male = { Arie } +asad_male = { Esat } asbjorn_male = { Asbj_o_stk_rn Ebbe Espen } asgeir_male = { Eske } +ashraf_male = { E_s_ced_ref } asier_male = { Asier Axier } +attila_male = { Atilla } +attilius_male = { At_i_act_lio Attilio } augustine_male = { Agostinho Agostino Agust_i_act_ Agustin Augustinus Awstin } augustus_male = { Aguste August Augusto Augustus Awgust Awgustws } aurelius_male = { Aur_e_act_lio Aureli Aurelio } @@ -79,18 +92,21 @@ axel_male = { Aksel Assel Axel } ayman_male = { Aymen } aziz_male = { Anziz Aziz } badruddin_male = { Badroudine } +bahadur_male = { Bahad_i_dot_r } +bahauddin_male = { Bahattin } baldwin_male = { Balddwyn Baldwin Balldduyn Baudouin } balthazar_male = { Baldassarre Balthasar } baptist_male = { Batisto Battista } barnaby_male = { Barhnabas Barnab_e_grv_u Barnaby } barry_male = { Barrie Barry } -bartholomew_male = { Bart Barth_e_act_l_e_act_my Bartholom_a_uml_us Bartolomeo Bartomeu Bartoumi_e_act_u Mees } +bartholomew_male = { B_a_act_rtolo Bart Barth_e_act_l_e_act_my Bartholom_a_uml_us Bartolomeo Bartomeu Bartoumi_e_act_u Mees } +bashar_male = { Ba_s_ced_ar } bashir_male = { B_e_act_chir } -basil_male = { Basil Basile Basilio } +basil_male = { Bas_i_act_lio Basil Basile Basilio } bassam_male = { Bassem } -bedivere_male = { Bedivere Bedwyr Byddyvyry Byddywyyry Bydyvyrhy } -benedict_male = { Bendiks Bendt Benead Benedetto Benedict Benedikt Benet Benezet Bengt Benito Benny Beno_i_hat_t Bent } -benjamin_male = { Ben Beniamino Benjaimin Benjamin Bynjamyn } +bedivere_male = { Bedivere Bedwyr Byddyfyry Byddywyyry Bydywyrhy } +benedict_male = { Bendiks Bendt Benead Benedetto Benedict Benedikt Benet Benezet Bengt Benito Benny Beno_i_hat_t Bent Bento } +benjamin_male = { Ben Beniamino Benjaimin Benjamim Benjamin Bynjamyn } benvenuto_male = { Benvingut } berengar_male = { B_e_act_renger Berengui_e_act_ } bernard_male = { Be_n_tld_at Benno Berend Berent Bernard Bernardo Bernardus Bernat Bernd Berndt Bernhard Bernhardt Bernez Bernt Bernward } @@ -116,12 +132,12 @@ burhan_male = { Borhene } burkhard_male = { Burkhard } cadwaladr_male = { Caddwaladrh Cadwaladr } caesar_male = { C_e_act_sar C_e_grv_sar Cesar Cesare Kesar } -caetano_male = { Gaet_a_grv_ Gaiet_a_grv_ Gaietan } +caetano_male = { Caetano Gaet_a_grv_ Gaiet_a_grv_ Gaietan } caleb_male = { Caleb Kaileb } calixtus_male = { Calist Kallist } calvin_male = { Callwyn } cameron_male = { Kaimeron Kamyron } -camillus_male = { Camihe Camil Camill Camille Camillo } +camillus_male = { Camihe Camil Camill Camille Camillo Camilo } candidus_male = { C_a_hat_ndido Kandido } canute_male = { Knud Knut } caradog_male = { Caradog Carhaddog } @@ -140,8 +156,10 @@ charlesedward_male = { Carl-Edvard } charlesfrederick_male = { Carlfriedrich Karl-Friedrich } charleshenry_male = { Carle-Enri Karlheinz Karl-Heinz } charlesjohn_male = { Karl-Johan } +cheops_male = { Cheops Chyops Shyops } christian_male = { Carsten Christer Christiaan Christian Christianus Crestian Cristian Cristiano Karsten Kersten Kresten Kristen_male Krister Kristian } christopher_male = { Chrhystoffyrh Christoff Christoffer Christoph Christophe Christopher Chrystoffyr Crist_o_act_v_a_tld_o Crist_o_grv_fol Crist_o_grv_u Cristoforo Kit Kristof Kristofer Kristoffer Shrystoffyr } +chrysostomus_male = { Cris_o_act_stomo } claudius_male = { Cl_a_act_udio Claude_male Claudi Claudio Claudius Gl_a_grv_udi Glaoda Glywys Klaod Klaudio } clement_male = { Cl_e_act_ment Clem_e_grv_nt Clemens Clement Clemente Climent Cllymynt Klement Klymynt } clovis_male = { Clouvis Clovis } @@ -157,17 +175,17 @@ corentin_male = { Corentin Courentin } cornelius_male = { Cornelis Cornelius Cornyllyus Kornelis Niels_Cornelius } craig_male = { Craig Crayg } cyngar_male = { Cyngar Cyngarh } -cyprian_male = { Cebri_a_grv_ Ciprian } +cyprian_male = { Cebri_a_grv_ Ciprian Cipriano } cyriacus_male = { Ciriaco } -cyril_male = { Cerile Cyril Cyrille Cyryll } +cyril_male = { Cerile Cirilo Cyril Cyrille Cyryll } cyrus_male = { Ciro Cyrus } damas_male = { Damas } damian_male = { Dami_a_grv_ Damian Damien } -daniel_male = { Daan Dan Danel Dani_e_grv_ Dani_e_uml_l Daniel Daniele Danilo Danny Ddainiel Ddanyyl Ddanyyll Deiniol } +daniel_male = { Daan Dan Danel Dani_e_grv_ Dani_e_uml_l Daniel Daniele Danilo Danny Danyal Ddainiel Ddanyyl Ddanyyll Deiniol } darius_male = { Dario Darius Ddairius Ddarhyus Ddaryus } david_male = { D_a_grv_vi Dafydd Daveth David Davide Davy Ddaivid Ddavydd Ddawyd Ddawyydd Dewi Divi } -delphinus_male = { Delf_i_act_ } -denis_male = { D_e_act_nis Danis Ddennis Ddynnys Denez Denis Dennis Denys Dion_i_act_s Dion_i_act_sio Dionisio Dionys } +delphinus_male = { Delf_i_act_ Delfim } +denis_male = { D_e_act_nis Danis Ddennis Ddynnys Denez Denis Dennis Denys Dinis Dion_i_act_s Dion_i_act_sio Dionisio Dionys } dermot_male = { Dermod } desiderius_male = { Deidi_e_act_ Didier } detlev_male = { Delf Detlef Detleff Detlev Ditlev } @@ -182,15 +200,16 @@ duncan_male = { Dduncain Duncan } dylan_male = { Ddylan Dylan } eberhard_male = { Eberhard Eberhardt Evert } edgar_male = { Eddgair Eddgar Edgar } -edmund_male = { Eddmund Eddmundd Edmond Edmondo Edmound Edmund } +edmund_male = { Eddmund Eddmundd Edmond Edmondo Edmound Edmund Edmundo } edward_male = { _E_act_douard Audouard Duarte Eaddwarhd Eddwaird Eddwardd Edorta Edouard Eduard Eduardo Edvard Edward Iorwerth Nyddardd } edwin_male = { Eddwyn Edvin Edwin Edwyn } egbert_male = { Egbert } ekkehard_male = { Eckehard Eckhard Eckart Eicke Eike Ekkehard Eyke } -eligius_male = { Aloi Eloi } +eleutherius_male = { Eleut_e_act_rio } +eligius_male = { Aloi El_o_act_i Eloi } elijah_male = { El_i_grv_o Elies Elia Elias Eliaz Ilyes Lyes } elio_male = { _E_act_lio Elio } -eliseus_male = { Eliseo } +eliseus_male = { El_i_act_sio Eliseo } elliot_male = { Elliot Elliott Ellyot Elywt } elros_male = { Elrhos Elros } elouan_male = { Elouan Elouann } @@ -200,15 +219,16 @@ emilian_male = { Emilian } emmanuel_male = { Emanuel Emanuele Emmanuel Emmanuele Enmanu_e_grv_l Imanol Manel Manoel Manu Manu_e_grv_ Manuel } engelbert_male = { Engelbert Ingebrigt } erasmus_male = { Asmus Erasmus Rasmus } -eric_male = { _E_act_ric _E_grv_ric Eirik Erhyc Eri Eric Erich Erik Errico Eryc Eryk } +eric_male = { _E_act_ric _E_grv_ric Eirik Erhyc Eri Eric Erich Erik Errico Eryc Eryk Eurico } erlend_male = { Erland Erlend } ernest_male = { Ernest Ernesto Ernst Ernyst } +ertughrul_male = { Ertu_g_brv_rul } erwin_male = { Erwein Erwin } ethan_male = { Ethan } eugene_male = { _E_act_ug_e_grv_ni Eug_e_act_nio Eugen Eugene Eugeni Eugenio Eujen Euken Ewgyny } eusebius_male = { Eus_e_act_bio Eusebi } eustace_male = { Eustace Eustache } -evaristus_male = { Evarist } +evaristus_male = { Evarist Evaristo } ewald_male = { Evald Ewald } eystein_male = { _O_stk_ystein } eyvind_male = { _O_stk_yvind Even Eyvind } @@ -216,24 +236,26 @@ ezra_male = { Ezra } fabian_male = { Fabi_a_grv_ Fabian Fabiano Fabien Ffabyan } fabius_male = { F_a_act_bio Fabio } fabrice_male = { Fabrice Fabrizio } -fadil_male = { Ffaddyl } +fadil_male = { Faz_i_dot_l Ffaddyl } falk_male = { Falk Falko } -farid_male = { Farid Ferrid } +farid_male = { Farid Ferit Ferrid } faris_male = { Far_e_grv_s } +faruk_male = { Faruk } fathi_male = { Fethi } +fatih_male = { Fatih } faustinus_male = { Faustin Faustino } fawzi_male = { Faouzi } -felician_male = { Felician } +felician_male = { Felician Feliciano } felix_male = { F_e_act_lix F_e_grv_lis F_e_grv_lix Felix } -ferdinand_male = { Ferdinand Fernand Fernando Ferran } +ferdinand_male = { Ferdinand Ferdinando Fernand Fernando Ferran } fergus_male = { Fergus Ffyrhgus } fidel_male = { Fedele Fidel Fidelino Fidelis } finlay_male = { Ffynnlay } finn_male = { Gwyn } -firmin_male = { Ferm_i_act_ Fermin Ffyrhmyn } +firmin_male = { Ferm_i_act_ Fermin Ffyrhmyn Firmino } flavian_male = { Flavian } flavius_male = { Flavio } -florent_male = { Florenci Florencio Floris Flour_e_grv_ns } +florent_male = { Flor_e_hat_ncio Florenci Florencio Floris Flour_e_grv_ns } florentinus_male = { Florentino } florian_male = { Florian Flourian } fortunatus_male = { Fortunato } @@ -252,11 +274,12 @@ fulk_male = { Ffulk } gabriel_male = { Biel Djibril Gabri_e_act_u Gabriel Gabriele_male Gabryyll } gael_male = { Ga_e_grv_l Ga_e_uml_l Gael } gaetan_male = { Gaetano Gaiet_a_grv_ Gaietan } -galahad_male = { Galaad Galahad Galahadd Gallahadd } +galahad_male = { Gailaihaidd Galaad Galahad Galahadd Gallahadd } gareth_male = { Gareth Garhyf Garyf } gary_male = { Garry Gary } gaston_male = { Gaston } gawayn_male = { Gaivin Gavin Gawayn Gawyyn } +genghis_male = { Cengiz } geoffrey_male = { Gaufre Geoffrei Geoffrey Geoffroy Godefroy Godffrhyy Godfrey Goffredo Gottfried Gyoffrhyy Gyoffryy Jaufret Jeff Jeffrey Sieffre } george_male = { _O_uml_rjan G_o_uml_ran G_o_uml_rgen Georg George Georges Giorgio Gorch Gorka Gyorgy Gyorhgy J_o_grv_rgi J_o_stk_rgen J_o_stk_rn J_o_uml_ran J_o_uml_rg J_o_uml_rn J_u_uml_rgen Jord Jordi Jordy Jorge Joris Jorj Jorres Jory Jurgi Schorsch Si_o_hat_r Siorus Youri } georgejames_male = { Jordi_spc_Jaume } @@ -266,7 +289,10 @@ gerard_male = { Geert Gerard Gerardo Gerardus Gerd Gerhard Gerhardus Gerhart Ger german_male = { Garmon Germ_a_grv_ German Germano Kerman } gerontius_male = { Geraint Gerens Gerontius Gyraynt Gyrhaynt } gervasius_male = { Gerv_a_act_sio Gervasi } -gilbert_male = { Gibert Gilbert Gylberht Gylbyrt Jilberzh } +ghaffar_male = { Gaffar } +ghazi_male = { Gazi } +ghiyasuddin_male = { K_i_dot_yasettin } +gilbert_male = { Gibert Gilbert Gilberto Gylberht Gylbyrt Jilberzh } gildas_male = { Gildas Gweltaz Gylddas } giles_male = { Egidio Gil Gile Giles Gilles Gylys Jil Jili } gisbert_male = { Gijsbert Gijsbertus } @@ -285,9 +311,12 @@ guy_male = { Gui Guido Guy } gwenael_male = { Gu_e_act_na_e_uml_l Gwena_e_uml_l Gwenn-A_e_uml_l } gwenole_male = { Gu_e_act_nol_e_act_ Gw_e_act_nol_e_act_ Gwennole } haakon_male = { H_a_rng_kan H_a_rng_kon Haagen Haakon } +habib_male = { Habib } hadi_male = { H_e_act_di } hamed_male = { Hamed } +hamlet_male = { Haimlet Hamllyt Hamlyt } hamza_male = { Hamza Hamzah } +hanafi_male = { Hanifi } hannibal_male = { An_i_act_bal Annibale } harith_male = { Haryf } haritz_male = { Aritz Haritz } @@ -296,29 +325,32 @@ harper_male = { Harhpyrh } harvey_male = { Erv_e_act_ Harvey Herv_e_act_ Herve } hashim_male = { Hachim } hassan_male = { Hasan Hassan Hassen } -hector_male = { Ectorh Eitor Ettore H_e_grv_ctor Hector Hektor Hyctor Hyctorh Hyktor } +haydar_male = { Haydar } +hector_male = { Ectorh Eitor Ettore H_e_grv_ctor Hector Heitor Hektor Hyctor Hyctorh Hyktor } helgi_male = { Helge } helmut_male = { Hellmuth Helmut Helmuth } henry_male = { Endika Enri Enric Enrico Enrike Enzo Harhrhy Harri Harry Heico Heiko Heiner Heinrich Heinz Henddri Hendricus Hendrik Hendrikus Henner Henri Henric Henricus Henrik Henrique Henry Henryk Herri Heyo Hinderk Hinnerk Hinrich Hynry Rico } henrywilliam_male = { Heinz-Wilhelm } -herbert_male = { Herbert Heribert Hyrbyrt } +herbert_male = { Herbert Herberto Heribert Hyrbyrt } hercules_male = { Ercwlff Hercules } hermann_male = { Armand Armando Armin Ermanno Harm Herman Hermann Hermanus } +hermenegildo_male = { Hermenegildo } hieronymus_male = { Geronimo Girolamo J_e_act_r_o_hat_me Jer_o_act_nimo Jeroen Jirome Yerom } -hilarius_male = { Hilario Il_a_grv_ri Ilar Ilario } +hikmat_male = { Hikmet } +hilarius_male = { Hil_a_act_rio Hilario Il_a_grv_ri Ilar Ilario } hilmi_male = { Helmi } -hippolyte_male = { Hippolyt Ipoulite } +hippolyte_male = { Hip_o_act_lito Hippolyt Ipoulite } hisham_male = { Hicham Hichem } hodei_male = { Hodei Odei } -honorius_male = { Aneurin Onorato Ynyr } -horace_male = { Orazio Horace Horacio Horatio Horhatyo } +honorius_male = { Aneurin Hon_o_act_rio Onorato Ynyr } +horace_male = { Hor_a_act_cio Horace Horacio Horaito Horatio Horatyo Horhatyo Orazio } hubert_male = { Hubert Hubertus Huberzh Ubert } hugh_male = { Hug Hugh Hugo Huw Hwgh Ugue } humbert_male = { Humberto Umbert Umberto } humphrey_male = { Humfrhyy Humffryy Humphrei Humphrey Hwmffryy } husni_male = { Housni } hussam_male = { Houssam } -hussein_male = { Hocine Houssen } +hussein_male = { H_u_dot_seyin Hocine Houssen } hyacinth_male = { Giacinto Jacint Jacinto } hyginus_male = { Higini Igino } hywel_male = { Hoel Howel Howell Hywel } @@ -329,22 +361,32 @@ ignatiusmaria_male = { I_n_tld_aki_spc_Mirena } ingmar_male = { Ingemar } ingvar_male = { Igor Ingvar Ingwer } inigo_male = { Eneko I_n_tld_igo } -innocent_male = { Innocenzo } +innocent_male = { Innocenzo Inoc_e_hat_ncio } irenaeus_male = { Erino Ireneo Ireni_e_act_u } +irfan_male = { _I_dot_rfan } isaac_male = { Isaac Isaak Isaiaic Isak } +isaiah_male = { Isa_i_act_as } isidore_male = { Isidor Isidoro Isidre Isidro } ismail_male = { Isfael Ishmaiel Ishmayl Isma_e_uml_l Isma_i_uml_l Ismael } +ismat_male = { _I_dot_smet } israel_male = { Israel } +ivanhoe_male = { Ifanhoy Ivainhoe } ivar_male = { Ifor Ivar Ivor } +izzat_male = { _I_dot_zzet } izzuddin_male = { Azzedine } jabir_male = { Jabyr } +jahan_male = { Cihan } +jahangir_male = { Cihangir } +jahid_male = { Cahit } +jalal_male = { Celal } jalil_male = { Jalyl } -jamal_male = { Djamel Jamel } +jamal_male = { Cemal Djamel Jamel } jamaluddin_male = { Jamel_spc_Eddine } -james_male = { Diego Diogo Giacomo Iago Jacob Jacobus Jacques Jago Jagoba Jaicob Jaime Jaimes Jakes Jakez Jakob Jaky James Jamie Jamys Jamyy Jaque Jaume Jeppe Jim Jimmy Santi Santiago Tiago Xanti } +james_male = { Diego Diogo Giacomo Iago Jacob Jacobus Jacques Jago Jagoba Jaicob Jaime Jaimes Jakes Jakez Jakob Jaky James Jamie Jamys Jamyy Jaque Jaume Jeppe Jim Jimmy Santi Santiago Tiago Xanti Yakup } jamesgeorge_male = { Jacob-G_o_uml_ran } jamesjoseph_male = { Jaume_spc_Josep } jamesyves_male = { Jacques-Yves Jaque-Ives } +jamil_male = { Cemil } januarius_male = { Gener Gennaro Gianuario Janu_a_act_rio } jared_male = { Jarydd } jasmin_male = { Gelsomino } @@ -354,10 +396,11 @@ jekyll_male = { Jycyll Jykyll } jeremy_male = { Geremia Jarno J_e_act_r_e_act_my Jerem_i_grv_a Jeremy Jyrymyah } jesse_male = { Jesse } jesus_male = { Iosu Issa Jes_u_act_s Josu Yosu } +jihad_male = { Cihat } joachim_male = { Achim Gioacchino Iokin Joachim Joakim Joakin Joaquim Jochen Jokin Jouachin Quim } -job_male = { Job } +job_male = { Ey_u_uml_p Eyy_u_uml_p Job } joel_male = { Jo_e_uml_l Joel Jou_e_grv_l } -john_male = { Efan Evan Giovanni Hampus Hanjo Hannes Hanns Hans Hasse Iain Ian Iban Ieuan Ifan Ioan Ion Ivan Iwan J_o_uml_ns Jac Jack Jak Jake Jaky Jan Janick Jann Jannick Jaouen Jean Jens Jo_a_tld_o Joan_male Joanes Joannes Johan Johann Johannes John Johnny Jon Jonny Jowan Manex Sean Shane Shaun Si_o_hat_n Yan Yann Yannick Yannig Yoan Yoann Yohan Yohann Yon } +john_male = { Efan Evan Giovanni Hampus Hanjo Hannes Hanns Hans Hasse Iain Ian Iban Ieuan Ifan Ioan Ion Ivan Iwan J_o_uml_ns Jac Jack Jak Jake Jaky Jan Janick Jann Jannick Jaouen Jean Jens Jo_a_tld_o Joan_male Joanes Joannes Johan Johann Johannes John Johnny Jon Jonny Jowan Manex Sean Shane Shaun Si_o_hat_n Yahya Yan Yann Yannick Yannig Yoan Yoann Yohan Yohann Yon } johnandrew_male = { Ion_spc_Ander Joan_spc_Andreu Jon_spc_Ander } johnanthony_male = { Giovannantonio Joan_spc_Antoni Jon_spc_Andoni } johnbaptist_male = { Gianbattista Giovanni_spc_Battista Jan-Batisto Jean-Baptiste Joan_spc_Baptista Johann_spc_Baptist Jon_spc_Ugutz Yann-Vadezour } @@ -391,10 +434,10 @@ johnraymond_male = { Joan_spc_Ramon Jon_spc_Erramun } johnstephen_male = { Jan-Steve } johnthierry_male = { Hans-Dieter } johnyves_male = { Jan-Ives Jean-Yvon Yann-Erwan } -jonah_male = { Jona_Jonah Jonah Jonas Youn_e_grv_s Yunis } +jonah_male = { Jona_Jonah Jonah Jonas Youn_e_grv_s Yunis Yunus } jonathan_male = { Johnafan Jonafan Jonaitain Jonatan Jonathan Jounatan } jordan_male = { Jord_a_grv_ Jordan Jorddain Jorddan Jorhddan Jourdan } -joseph_male = { Ioseba J_o_act_us_e_grv_ Job_Joseph Joe Joep Joey Jos Jos_e_act_ Jose Joseba Josef Josep Joseph Josephus Josyff Joxe Jozeb Jozef Pino Youssef } +joseph_male = { Ioseba J_o_act_us_e_grv_ Job_Joseph Joe Joep Joey Jos Jos_e_act_ Jose Joseba Josef Josep Joseph Josephus Josyff Joxe Jozeb Jozef Pino Youssef Yusuf } josephangel_male = { Joseba_spc_Gotzon Josep_spc__A_grv_ngel } josephanthony_male = { Giuseppantonio Joseba_spc_Andoni Josep_spc_Antoni } josephemmanuel_male = { Joseba_spc_Imanol Josep_spc_Manel } @@ -405,30 +448,35 @@ josephmary_male = { Jose_spc_Mari Joseba_spc_Mirena Josep_spc_Maria Joxe_spc_Mar josephmichael_male = { Joseba_spc_Mikel Josep_spc_Miquel } josephraymond_male = { Joseba_spc_Erramun Josep_spc_Ramon } josephxavier_male = { Joseba_spc_Xabier } -joshua_male = { Joschua Josh Joshua Joshuai Josu_e_grv_ } +joshua_male = { Joschua Josh Joshua Joshuai Josu_e_act_ Josu_e_grv_ } jost_male = { Jobst Joost Jost } judicael_male = { Ithel Judica_e_uml_l Judikael } jules_male = { Giulio J_u_act_lio J_u_grv_li Jules Juli Julio Julius Jullys Julys } -julian_male = { Giuliano Julen Juli_a_grv__name Juliain Julian Julien Juluan Julyan } -justin_male = { Giustino Iestyn Justin Justyn } +julian_male = { Giuliano Julen Juli_a_grv__name Juli_a_tld_o Juliain Julian Julien Juluan Julyan } +justin_male = { Giustino Iestyn Justin Justino Justyn } justinian_male = { Iwstinian } justus_male = { Justus } kai_male = { Cai Cay Kai Kaj Kay } +kemal_male = { Kemal } kamil_male = { Camel Kamel } -karim_male = { Karim } +kamran_male = { K_a_hat_muran } +karim_male = { Karim Kerem Kerim } keith_male = { Cyyf Keit } kenneth_male = { Kennet Kenneth Kent } kentigern_male = { Cyndeyrn } ketil_male = { Keld Kjell } kevin_male = { Cefin Cywyn K_e_act_vin Kevin Kywyyn Quevin } -khalid_male = { Khaled Khalid } +khalid_male = { Halit Khaled Khalid } khalifa_male = { Halifa } -khalil_male = { Khalil } +khalil_male = { Halil Khalil } +khayruddin_male = { Hayrettin } +khosrow_male = { H_u_uml_srev } +khurshid_male = { Hur_s_ced_it } kieran_male = { Kieran Peran_Kieran Perran Piran } kosmas_male = { Cosimo Cosme Kosme } kylian_male = { Kilian Kilyan Kylian Kyliann Kyllian } lambert_male = { Lambert Lamberto Lambertus Lamprecht } -lancelot_male = { Lancelot Lancylot Lansylot } +lancelot_male = { Laincelot Lancelot Lancylot Lansylot Llancyllot } latif_male = { Latuf } lauge_male = { Lage Lauge } lawrence_male = { Laiwrence Laora_n_tld_s Lars Lasse Laur_e_grv_ns Laurence_male Laurens Laurent Laurentius Laurhyncy Laurie Lawrence Lawrynsy Llauryncy Lloren_c_ced_ Lorenz Lorenzo Louren_c_ced_o Lourens Renzo } @@ -444,17 +492,20 @@ linus_male = { Linus } lionel_male = { Leonel Lionel Liounel Llyonyll Lyonyl } lloyd_male = { Lloydd Loydd } lothar_male = { Clotaire Lothar } -louis_male = { Alois Aloys Aloysius Koldo Lew Lewis Llu_i_act_s Llywys Lo_i_uml_c Lo_i_uml_g Lo_i_uml_s Lodewijk Loeiz Lou_i_uml_s Louis Love Lovis Lu_i_act_s Ludovic Ludvig Ludwig Luigi Luis Lutz Lwddowyyc Lywys } +louis_male = { Alo_i_act_sio Alois Aloys Aloysius Koldo Lew Lewis Llu_i_act_s Llywys Lo_i_uml_c Lo_i_uml_g Lo_i_uml_s Lodewijk Loeiz Lou_i_uml_s Louis Love Lovis Lu_i_act_s Ludovic Ludvig Ludwig Luigi Luis Luiz Lutz Lwddowyyc Lywys } louismaria_male = { Koldo_spc_Mirena Llu_i_act_s_spc_Maria } louismichael_male = { Llu_i_act_s_spc_Miquel } lucian_male = { Lluci_a_grv_ Lucian Luciano Lucien Luken Lukian } lucius_male = { L_u_act_cio Llwcyus Lucio Lwcyus Lwsyus } +ludger_male = { Ludger Ludgero } luke_male = { Lluc Llwky Lu Luc Luca Lucas Luka Lukas Luke Luky Luuk } lutfi_male = { Lotfi } luther_male = { L_u_uml_der } +macbeth_male = { Macbef Macbeth Maicbet Makbef } mael_male = { Ma_e_uml_l Ma_e_uml_lan Mael } magnus_male = { M_a_rng_ns Magne Magnus Mogens } mahdi_male = { Medhi Mehdi } +mahmud_male = { Mahmud Mahmut } majid_male = { Madjid } malachi_male = { Malachi } malcolm_male = { Maelcwn Mailcolm Malcolm } @@ -462,49 +513,53 @@ malik_male = { Malek Mallyc Malyc Malyk } malthe_male = { Malte Malthe } manfred_male = { Manfred Manfrid } marcel_male = { Marc_e_grv_u Marcel Marcello Marcelo Markel Marsel Marsell Martxel Martxelo } -marcelinus_male = { Marcel_mdn_l_i_act_ Marcellinus Martzelino } +marcelinus_male = { Marcel_mdn_l_i_act_ Marcelino Marcellinus Martzelino } marianus_male = { Mari_a_grv_ Marian_male Mariano Meirion } marinus_male = { Marino Marinus } marius_male = { M_a_act_rio M_a_grv_ri_male M_a_grv_rius Marhyus Mario Marius } -mark_male = { Mairk Marc Marco Marcus Margh Marhc Mark Marko Markos Markus } +mark_male = { Mairk Marc Marco Marcos Marcus Margh Marhc Mark Marko Markos Markus } markanthony_male = { Marc_spc_Antoni } martial_male = { Mar_c_ced_al Marciau } martin_male = { Maarten Mairtin Marhtyn Mart_i_act_ Marten Martim Martin Martinus Martijn Martyn Mattin Morten } marwan_male = { Marouane Marwan } +masud_male = { Mesut } mathurin_male = { Mathurin Matilin } -matthew_male = { Mads Mah_e_act_ Maho Maittew Mat_i_act_s Mateu Matfyu Matfyw Mathew Mathias Mathieu Mathis Mati_e_act_u Matias Mats Matteo Matth_a_uml_us Matthew Matthias Matthijs Mattia Mattias Mazhev Thees Theis Thies Thijs } -maurice_male = { Maoris Maurhycy Maurice Maurici Mauricio Maurise Mauritz Maurizio Maurycy Maurysy Meurig Moritz Morris } +matthew_male = { Mads Mah_e_act_ Maho Maittew Mat_i_act_s Mateu Mateus Matfyu Matfyw Mathew Mathias Mathieu Mathis Mati_e_act_u Matias Mats Matteo Matth_a_uml_us Matthew Matthias Matthijs Mattia Mattias Mazhev Thees Theis Thies Thijs } +maurice_male = { Maoris Maur_i_act_cio Maurhycy Maurice Maurici Mauricio Maurise Mauritz Maurizio Maurycy Maurysy Meurig Moritz Morris } maurus_male = { Mauro } -mawlud_male = { Miloud Mouloud } +mawlud_male = { Mevl_u_uml_t Miloud Mouloud } maxentius_male = { Meiss_e_grv_ns } max_male = { Mas Max } -maximian_male = { Massimiano } +maximian_male = { Massimiano Maximiano } maximilian_male = { Maximilian } maximus_male = { Macsen Maime Massen Massimo Maxime } meinhard_male = { Meinert Meinhard } melchior_male = { Melchior Melker } mercury_male = { Myrhcurhy } -merlin_male = { Merlijn Merlin Myrddin Myrlyn } +merlin_male = { Merlijn Merlin Myrddin Myrhlyn Myrlyn } michael_male = { Chiel Maic Maik Maikel Meical Meik Mich_e_grv_u Michael Michaiel Michel Michele Michiel Mick Micka_e_uml_l Miguel Mihangel Mikael Mike Mikel Mikkel Mikko Miqu_e_grv_u Miquel Misha_e_uml_l Mitchell Mitxel Mixel Mychayl Mychayll Myghal Myshayl Mytchyll } michaelangel_male = { Michelangelo Mikel_spc_Anjel Mikel_spc_Gotzon Miquel_spc__A_grv_ngel } michaelanthony_male = { Michelantonio } modest_male = { Modest Modesto } morgan_male = { Morgan Morgann Morhgan } -moses_male = { Mois_e_grv_s Moises Mos_e_grv_ Moussa } -muhammad_male = { Mamadou Mohamad Mohamed Mohammad Mohammed Mohammydd Muhammad Muhamydd } -muhammadali_male = { Mohamed_spc_Ali } +moses_male = { Mois_e_act_s Mois_e_grv_s Moises Mos_e_grv_ Moussa Musa } +muhammad_male = { Mamadou Mehmet Mohamad Mohamed Mohammad Mohammed Mohammydd Muhammad Muhammed Muhammet Muhamydd } +muhammadali_male = { Mehmet_spc_Ali Mohamed_spc_Ali } +muharram_male = { Muharrem } +mukhtar_male = { Muhtar } mungo_male = { Mwyn } munsif_male = { Moncef } -murad_male = { Mwradd } +murad_male = { Murat Mwradd } mustafa_male = { Mustafa Mustapha } nabil_male = { Nabil } nadir_male = { Nadir } naim_male = { Na_i_uml_m } -najib_male = { N_e_act_jib } +najib_male = { N_e_act_jib Necip } napoleon_male = { Napol_e_act_on Napoleone } nasir_male = { Nasser Nassur Nasyr Nasyrh } nathan_male = { Nafan Natan Nathan } nathaniel_male = { Nafanayl Nafanayll Nafanyyl Naitainiel Natanael Nathaniel } +nazim_male = { Naz_i_dot_m } neil_male = { Neil Nigel Nygyll Nyll } nepomuceno_male = { Nepomuc_e_grv_ Nepomuk } nestor_male = { N_e_grv_stor Nestor } @@ -513,30 +568,32 @@ nicholas_male = { Claas Claes Claus Colin Collyn Colyn Klaas Klas Klaus Nicholai nicholaspeter_male = { Claas-Peter Klaus-Peter } noah_male = { Noah Nou_e_grv_ } noel_male = { Calendau Noel } -norbert_male = { Norbert Nourbert } +norbert_male = { Norbert Norberto Nourbert } norman_male = { Norhman Norman Normyn Nwrman } -nuruddin_male = { Nordine Noureddine } -oberon_male = { Wbyrhon Wbyron } -octavian_male = { Oktavyan Ottaviano } +nuri_male = { Nuri } +nuruddin_male = { Nordine Noureddine Nureddin Nurettin } +oberon_male = { Oberon Wbyrhon Wbyron } +octavian_male = { Octaviano Oktavyan Ottaviano } octavius_male = { _O_act_ut_a_grv_vi Oct_a_act_vio Octavio Wctawyyus Wktawyyus } -odysseus_male = { Ulisse } -olaf_male = { Ola Olaf Olav Ole Olle Olof Olov Oluf } -oliver_male = { _O_act_ulivi_e_act_ Olier Oliver Wllywyyr Wlywyyr Wlywyyrh } +odysseus_male = { Ulisse Ulisses Ulysse } +olaf_male = { Ola Olaf Olav Olavo Ole Olle Olof Olov Oluf } +oliver_male = { _O_act_ulivi_e_act_ Ol_i_act_vio Olier Oliver Wllywyyr Wlywyyr Wlywyyrh } onophrius_male = { Onofrio } -oscar_male = { _O_grv_scar Oscair Oscar Oskar Ouscar } +oscar_male = { _O_act_scar _O_grv_scar Oscair Oscar Oskar Ouscar } oswald_male = { Osvaldo Oswald Oswallt } ottmar_male = { Ademar Otmar Ottmar } otto_male = { Eudes Eudo Ot Otto Udo } -ovidius_male = { Ofydd Ovidio } +ovidius_male = { Ofydd Ov_i_act_dio Ovidio } owen_male = { Owain Owen Owenn } +ozymandias_male = { Ozimaiddiais Wzymanddyas } pascal_male = { Pascal Pascau Pasco Pascual Paskal Pasqual Pasquale } patel_male = { Patyl Patyll } patrick_male = { Padrhyg Padrig Paitrick Patrice Patrici Patrick Patrig Patrik Patryc Patryk } paul_male = { P_a_rng_l Paiul Palle Paol Paolo Pau Paul Paull Paulo Paulus Pawl Pawly Pol Poul } paulinus_male = { Paolino Paul_i_act_ Paulino } pauljohn_male = { Paul_spc_Johannes } -pelagius_male = { Pelagius } -percival_male = { Percival Percy Pyrcywyall Pyrhcywyal Pyrsyval } +pelagius_male = { Pel_a_act_gio Pelagius } +percival_male = { Percivail Percival Percy Pyrcywyall Pyrhcywyal Pyrsyval } peter_male = { Kepa P_a_uml_r P_e_grv_ire P_e_hat_r Peder Pedr Pedro Peer Pehr Peio Pelle Pello Per Peran Pere Periko Peru Peter Petrok Petrus Petter Piero Pierre Piers Pierrick Piet Pieter Pietro Pyrh Pyt Pytyr Pytyrh Pyyrs } peteranthony_male = { P_e_grv_ire-Ant_o_grv_ni } petergeorge_male = { Per-G_o_uml_ran } @@ -550,30 +607,37 @@ peteryves_male = { P_e_grv_ire-Ives P_e_hat_r-Erwan } philip_male = { Felip Felipe Ffylyp Filip Filipe Filippo Fillip Fulup Fyllyp Phil Philip Philipp Philippe Phillip } pippin_male = { Pepijn Pypyn } pius_male = { Pi Pio Pius } +palamedes_male = { Pailaimeddes Palamedes Palamyddys Pallamyddys } pompey_male = { Pompeo Pompeu } +porphirius_male = { Porf_i_act_rio } prosper_male = { Prospero Prousp_e_grv_r } prudentius_male = { Pruden } +qadir_male = { Kadir } qasim_male = { Kaisim Kassim } quentin_male = { Quentin Quinten } quirinus_male = { Krijn Quirino } -rafiq_male = { Rafik } +rafiq_male = { Rafik Refik } ragnar_male = { Ragnar Rainer Raniero Reiner } rahim_male = { Rahyym } +rajab_male = { Recep } +ramadan_male = { Ramazan } +ramesses_male = { Raimesses Ramyssys Rhamyssys } ramiro_male = { Ramiro } ramsay_male = { Raimsai Ramsay } +ramzi_male = { Remzi } randolph_male = { Randdollff Randolph Rhanddolff } raphael_male = { Raf_e_grv_u Rafael Rafel Raffaele Raffaello Rapha_e_uml_l Raphael } -rashid_male = { Rachid } +rashid_male = { Rachid Re_s_ced_it } raoul_male = { Ra_u_act_l Ra_u_uml_l Railph Ralf Ralff Rallff Ralph Raoul Raul Ravous Rhalff } rauf_male = { Raouf } rayan_male = { Rayan Rayanne } -raymond_male = { Erramun Raimon Raimondo Raimund Ramon Ramoun Raymond Raymwndd Reemt Remond Remont } -reginald_male = { Reginaildd Reinalt Reinaud Reinhold Renaud Rheinallt Rhonaldd Rhygynaldd Ron Ronald Ronaldo Ronaldus Ronny Rygynaldd Rygynalldd } +raymond_male = { Erramun Raimon Raimondo Raimund Raimundo Ramon Ramoun Raymond Raymwndd Reemt Remond Remont } +reginald_male = { Reginaildd Reinaldo Reinalt Reinaud Reinhold Renaud Rheinallt Rhonaldd Rhygynaldd Ron Ronald Ronaldo Ronaldus Ronny Rygynaldd Rygynalldd } regis_male = { R_e_grv_gis Ryks } reinhard_male = { Reinhard } remigius_male = { Remi Remigio Roumi_e_act_ } renatus_male = { Reini_e_act_ Ren_e_act_ Renato } -reza_male = { Reda } +reza_male = { R_i_dot_za Reda } reuben_male = { R_u_act_ben Reuben Rub_e_grv_n Ruben } rhys_male = { Reece Rhys } riad_male = { Riad Riadh } @@ -581,54 +645,66 @@ richard_male = { Rhisiart Rhycharhdd Ricard Ricardo Riccardo Richairdd Richard R ridwan_male = { Redouane } robert_male = { Bob Bobby Rhobert Rhobyn Rhobyrht Rob Robert Roberto Robertus Robin Robyrt Roparzh Roubert Rupert Rupprecht } roch_male = { Roc Rocco Rochus Rocky } -roderick_male = { Rhodri Rhydderch Rodderick Roderic Roderick Rodrigo Roudrigo Rui } +roderick_male = { Rhodri Rhydderch Rodderick Roderic Roderick Rodrigo Roudrigo Rui Ruy } roger_male = { R_o_uml_tger R_u_uml_diger Rhogyrh Rog_e_act_rio Rogel_mdn_li Roger Rogier Rogyr Roje Rougi_e_act_ Rutger } -roland_male = { Rholandd Roland Rouland Wrlanddo } +roland_male = { Orlando Rholandd Roland Rolando Rollandd Rouland Wrlanddo } roman_male = { Rhoman Rhufon Rom_a_grv_ Romain Roman Romano Rouman } -romeo_male = { Romeo } +romeo_male = { Romeo Romeu } romuald_male = { Romualdo Roumiaud } romulus_male = { R_o_grv_mul } ronan_male = { Renan Ronan Ruan } roy_male = { Roy } rudolf_male = { Rodolfo Roelof Rolf Roud_o_grv_u Rudi Rudolf Ruud } +rustam_male = { R_u_uml_stem } ryan_male = { Ryan } +sabahuddin_male = { Sabahattin } sabinus_male = { Sabino } -said_male = { Sa_i_uml_d } -salahuddin_male = { Saladin } +sadi_male = { Sadi } +safar_male = { Sefer } +said_male = { Sa_i_uml_d Sait } +sajid_male = { Sacit } +salahuddin_male = { Sailaiddin Saladdyn Saladin Salladdyn } salim_male = { Salim Selim Slim } salvador_male = { Gaizka Salvador Salvator Salvatore Sauvaire Xabat } samir_male = { Samir Samyr } samuel_male = { Saimuel Sam Samu_e_grv_l Samuel Samuyl Samuyll Sawyl } sancho_male = { San_c_ced_ } saturninus_male = { Saturnino } -saul_male = { Sa_u_uml_l } +saul_male = { Sa_u_act_l Sa_u_uml_l } sebastian_male = { Bas Bastiaan Bastian S_e_act_bastien Sebasti_a_grv_ Sebasti_a_tld_o Sebastiaan Sebastian Sebastiano } secundus_male = { Secondo Segundo } seraphin_male = { Serafim Serafino } sergius_male = { S_e_grv_rgi Serge Sergi Sergio Serigi Serj } -severinus_male = { S_o_uml_nke S_o_stk_ren S_o_uml_ren Severin Severino } +severinus_male = { S_o_uml_nke S_o_stk_ren S_o_uml_ren Severiano Severin Severino } severus_male = { Seferus Sywyrhus } +shahab_male = { _S_ced_ahap } +shahabuddin_male = { _S_ced_ahabettin } +shahin_male = { _S_ced_ahin } shamsuddin_male = { Chems-Eddine } +sharaf_male = { _S_ced_eref } +shawkat_male = { _S_ced_evket } shaykh_male = { Cheikh } -sherlock_male = { Shyrlok } +sherlock_male = { Shyrhloc Shyrlloc Shyrlok } sidney_male = { Sidney Sydney } sidonius_male = { Sid_o_act_nio } siegfried_male = { Siegfried Sigfred Sigfrid } siegmar_male = { Siemer Sigmar } siegmund_male = { Segimon Siegmund Sigismund Sigmund } sigurd_male = { Sievert Sigurd Sjoerd } +silverius_male = { Silv_e_act_rio } simon_male = { Sim_a_tld_o Simen Simeon Simon Simone_male Simoun Symon } -solomon_male = { Salomon Seleven Selyf Slimane Souleymane } +solomon_male = { S_u_act_leyman Salomon Seleven Selyf Slimane Souleymane } spencer_male = { Spynsyr } stanislaus_male = { Estanislau Stanislaw } stanley_male = { Stainlei Stanlyy } stein_male = { Steen Sten } -stephen_male = { _E_act_tienne Est_e_grv_ve Estebe Estefan Esteve St_e_act_phane Staffan Steeven Stef Stefan Stefano Steffan Steffen Stephan Stephen Steve Steven Styffyn } +stephen_male = { _E_act_tienne Est_e_grv_ve Est_e_hat_v_a_tld_o Estebe Estefan Esteve St_e_act_phane Staffan Steeven Stef Stefan Stefano Steffan Steffen Stephan Stephen Steve Steven Styffyn } stuart_male = { Stewairt Stewart Stuart } +suad_male = { Suat } sufyan_male = { Seufyann Sofian Sofiane Soufian } sven_male = { Svein Sven Svend Swen } sviatopolk_male = { Svante } -sylvain_male = { S_e_act_uvan Silvanus Sylvain } +sylvain_male = { S_e_act_uvan Silvanus Silvino Sylvain } sylvester_male = { Silbestre Silvestro Sylwystyrh } sylvius_male = { S_i_act_lvio Silvio Silvius Sylvio } talal_male = { Talal } @@ -640,11 +716,11 @@ terrence_male = { Terence Terry } thaddaeus_male = { Thad_a_uml_us Thadd_a_uml_us Thaddyus } theo_male = { Teo Th_e_act_o Theo } theobald_male = { Tepot Theobald Thibault Thyobaldd Tibaud } -theodore_male = { Teodor Teodoro Teoudor Theodor Theodore Theodorus Tudor } +theodore_male = { Fyoddorhy Fyoddory Teodor Teodoro Teoudor Theodor Theodore Theodorus Tudor } theodoric_male = { Ddyryk Derek Derk Derrick Diedrich Dierk Dieter Dietrich Dirk Terris Tewdrig Thierry Till Tyll Tyrry } theodosius_male = { Tewdos } theophilus_male = { Te_o_act_filo Teoufile Theophil Thyoffylus } -thomas_male = { Thomas Tom Tom_a_act_s Tomais Tomas Tomaz Tommy Tomos Toumas } +thomas_male = { Thomas Tom Tom_a_act_s Tom_e_act_ Tomais Tomas Tomaz Tommy Tomos Toumas } thor_male = { Thor Tor } thorbjorn_male = { Thorben Thorbj_o_stk_rn Thorbj_o_uml_rn Torben Torbj_o_stk_rn Torbj_o_uml_rn } thorgeir_male = { Terje Torgeir Torgjer Toke } @@ -654,22 +730,25 @@ thorleif_male = { Tollef } thorir_male = { Thore Tore Ture } thorstein_male = { Thorsten Torstein Torsten } thorvald_male = { Torvald } +thutmose_male = { Fwtmosy Tutmose } tiberius_male = { Tiberius Tybyrhyus } timothy_male = { Tim Timoth_e_act_e Timothy Tymofy Timouti_e_act_u Timoti } +timur_male = { Demir Timur } tobias_male = { Tobias Toby } toussaint_male = { Deunoro } -tristan_male = { Drystan Trhystan Tristain Tristan Trystan } +tristan_male = { Drystan Trhystan Trist_a_tld_o Tristain Tristan Trystan } tryggve_male = { Tryggve Trygve } tugdual_male = { Tudal Tugdual } +tutankhamun_male = { Tutainkhaimun Twtanchamun Twtankhamun } ulrich_male = { Uli Ulrich Ulrik } -umar_male = { Omar Oumar Umar } +umar_male = { _O_uml_mer Omar Oumar Umar } urban_male = { Urban Urbano } urien_male = { Urien Uryn Uryyn } uther_male = { Ufrh Ufyr Uther Uthyr } uwe_male = { Ove Owe Uwe } uways_male = { Uways } -valdemar_male = { Valdemar Waldemar } -valentin_male = { Balendin Folant Valent_i_act_ Valentin Valentine Valentino } +valdemar_male = { Valdemar Valdemiro Waldemar } +valentin_male = { Balendin Folant Valent_i_act_ Valentim Valentin Valentine Valentino } valerian_male = { Wyalyrhyan Wyalyryan } valerius_male = { Val_e_grv_ri Valeri Valerio } vasco_male = { Vasco } @@ -681,11 +760,11 @@ victorianus_male = { Biktoriano Vitorino } vincent_male = { Bingen Vicen_c_ced_ Vicente Vinc_e_grv_ns Vincent Visant Wincent Wyyncynt } virgil_male = { Verg_i_act_lio Virg_i_act_lio Virgilio } viriathus_male = { Gwriad } -vitalius_male = { Gwydol Vidal Viddal } +vitalius_male = { Gwydol Vidal Viddal Vital } vitus_male = { Vito } vladislaus_male = { Ladislau } walid_male = { Walid } -walter_male = { Gauchi_e_act_ Gauthier Gwallter Valter Wailter Walltyr Walter Walther Waltyr Waltyrh Wouter } +walter_male = { Gauchi_e_act_ Gauthier Gualter Gwallter Valter Wailter Walltyr Walter Walther Waltyr Waltyrh Wouter } wenceslaus_male = { Wenzel } werner_male = { Werner Wessel } wilfried_male = { Wilfred Wilfrid Wilfried } @@ -693,11 +772,16 @@ william_male = { Bill Billy Gilen Guilherme Guillaume Guillem Gwilym Liam Llyam wissam_male = { Wissam Wissem } wolf_male = { Ulf Wolf Wulf } xavier_male = { Savi_e_act_ Saverio Txaber Xabier Xaver Xavier Zavier } +yashar_male = { Ya_s_ced_ar } +yasser_male = { Yasir } yassin_male = { Yacine Yassin Yassine } yves_male = { Eozen Erwan Erwann Ives Ivo Youen Youenn Youn Yves Yvon Yvonig Yvonnick } zachary_male = { Sachary Sashary Zacar_i_grv_o Zach Zachary Zaichairi Zakari } +zafar_male = { Zafer } zahid_male = { Sahyd } +zaki_male = { Zeki } zayn_male = { Sayn Zain } zaynuddin_male = { Zin_e_act_dine } zeno_male = { Zeno } -zephyrinus_male = { Cefer_i_act_ } \ No newline at end of file +zephyrinus_male = { Cefer_i_act_ } +ziya_male = { Ziya } \ No newline at end of file diff --git a/common/culture/name_lists/NEOW_brandenburger.txt b/common/culture/name_lists/NEOW_brandenburger.txt index 689ce65a..7bf2f5a8 100644 --- a/common/culture/name_lists/NEOW_brandenburger.txt +++ b/common/culture/name_lists/NEOW_brandenburger.txt @@ -238,7 +238,7 @@ Dagobert Daniel Danny Denis Detlev Eberhardt Eckehard Edgar Edmund Eduard Edwin Egbert Egon Emil Enrico Eric Erik Eugen Fabian Falk Falko Felix Florian Frank-Michael Franz Friedel Friedemann Frieder Friedrich-Wilhelm - G_o_uml_tz Gerald Gerhart Gernot Gerold Gordon Gotthard Guido Gunnar Gunther Gustav + G_o_uml_tz Gerald Gerhart Gernot Gerold Gordon Gotthard Gregor Guido Gunnar Gunther Gustav Hagen Hannes Hans-Christian Hans-Dietrich Hans-J_o_uml_rg Hans-Martin Hans-Peter Hardy Hartwig Heiner Heinrich Henry Heinz-Dieter Helge Helmuth Hendrik Henning Henryk Hubert Hugo J_o_uml_rn Jan Jens-Uwe Jochen Johann Johannes John Josef Julius Karl-Friedrich Karlheinz Kersten Kevin Knut Konrad diff --git a/common/culture/name_lists/NEOW_brittannic.txt b/common/culture/name_lists/NEOW_brittannic.txt index 8d747821..683fc1c6 100644 --- a/common/culture/name_lists/NEOW_brittannic.txt +++ b/common/culture/name_lists/NEOW_brittannic.txt @@ -67,25 +67,25 @@ } male_names = { - Aarav Aaron Abnyr Addam Addvyf Alan Albyrt Alffrydd Algyrnon Aly Alyks Alyksanddyr Ambrosyws Anddryw Anfony Arfur Arkyballdd Arnolldd Awgustws + Aarav Aaron Abnyr Addam Addvyf Akhynatyn Alan Albyrt Alffrydd Algyrnon Aly Alyks Alyksanddyr Ambrosyws Amynhotyp Anddryw Anfony Arfur Arkyballdd Arnolldd Awgustws Bahyr Balddwyn Basynzhabu Branddon Bryan Byddywyyry Bykyt Bynjamyn Byntlyy Ddanyyl Ddaryus Ddawyydd Ddhrwvan Ddwmynyk Ddyvansh Eaddrydd Eaddwyg Eddgar Eddmundd Eddwardd Efan Elyan Elywt Eryk - Ffaddyl Fflambardd Fflytshyr Ffransys Ffryddyryk Ffulk Ffylyp Ffynnlay + Ffaddyl Fflambardd Fflytshyr Ffransys Ffryddyryk Ffulk Ffylyp Ffynnlay Fwtmosy Fyoddory Galahadd Garyf Gawayn Gorddon Grygory Guy Gylbyrt Gylddas Gyoffryy Gyorgy Gyraldd Gyraynt - Haoyw Haroan Haroldd Haryf Hasan Hayddyn Hugh Humffryy Hyktor Hynry Hyrbyrt - Ibrahym Iddrys Iddwallwn Isaak Ishmayl Isylmo + Hamlyt Haoyw Haroan Haroldd Haryf Hasan Hayddyn Horatyo Hugh Humffryy Hyktor Hynry Hyrbyrt + Ibrahym Iddrys Iddwallwn Ifanhoy Isaak Ishmayl Isylmo Jabyr Jak Jakob Jaky Jalyl Jamys Jamyy John Johnafan Jorddan Josh Joshua Josyff Justyn Jwy Jykyll Kallwm Kalwyyn Kamyron Kaska Kay Klymynt Konnor Koryy Kynfyn Kywyyn Lansylot Lawrynsy Loydd Luky Lwsyus Lyam Lylouk Lyonyl Lywys Lyy - Malyk Mark Martyn Matfyw Maurysy Muhamydd Myrlyn Myshayl + Makbef Malyk Mark Martyn Matfyw Maurysy Muhamydd Myrlyn Myshayl Nafanayl Nasyr Nathan Normyn Nyddardd Nyk Nynnyus Nysholas Nyvylly Palamyddys Patryk Patyl Paul Pyrsyval Pytyr Pyyrs - Rahyym Ralff Ramsay Robyrt Rogyr Ryan Rygynaldd Rykardd Ryofamus Ryshabh Rywal - Samuyl Samyr Sashary Sayn Shakrabarty Sharlys Shawrya Shrystoffyr Shyrlok Spynsyr Stanlyy Stuart Styffyn Symon Symraf_o_hat_n Syngh - Talyb Talyysyn Tony Trystan Tylyr + Rahyym Ralff Ramsay Ramyssys Robyrt Rogyr Ryan Rygynaldd Rykardd Ryofamus Ryshabh Rywal + Saladdyn Samuyl Samyr Sashary Sayn Shakrabarty Sharlys Shawrya Shrystoffyr Shyops Shyrlok Spynsyr Stanlyy Stuart Styffyn Symon Symraf_o_hat_n Syngh + Talyb Talyysyn Tony Trystan Twtankhamun Tylyr Ufyr Umar Uryyn Uways - Waltyr Wayn Wbyron Wktawyyus Wlywyyr Wrlanddo Wyalyryan Wyllyam Wynston + Waltyr Wayn Wbyron Wktawyyus Wlywyyr Wrlanddo Wyalyryan Wyllyam Wynston Wzymanddyas Yun_spc_Hyy Yya_spc_Wyy } female_names = { @@ -95,17 +95,17 @@ Eddyf Ela Elayny Elyanor Elyzabyf Emma Emyly Enya Enydd Fanvy Ffang Ffarrah Guynyvyry Gymma - Hannah Hawysy Haylyy Hazyl Holly Hyafyr + Hannah Hatshypswt Hawysy Haylyy Hazyl Holly Hyafyr Igrayny Isabyl Isabylla Iswlddy Jady Jany Jasmyn Jwan Jwdy Jwlyana Jyssyka Jyssyy - Kafyryny Karlotty Karyn Kasyy Katy Kaytlyn Kloy Konstanse Krystal Krystylyygh Ksyang Ksyn_spc_Yan Kyanna Kylly Kylsya Kylsyy Kymbyrly Kyryl Kyrys Kyryssy + Kafyryny Karlotty Karyn Kasyy Katy Kaytlyn Kloy Klyopatra Konstanse Krystal Krystylyygh Ksyang Ksyn_spc_Yan Kyanna Kylly Kylsya Kylsyy Kymbyrly Kyryl Kyrys Kyryssy Laura Lauryn Lowysy Lunyty Lusy Lusya Lyddya Lyzzyy Maddylyyny Maddyy Mahaut Malyka Margaryt Mary Matyldda Maudd Molly Mwrgyn Mygan Myllyy Mylyssa Myn Myng_spc_Yao Myrandda - Naomy Natasha Nazanyn Nymuy + Naomy Natasha Nazanyn Nyffyrtyty Nymuy Pytra Rashyl Rybykka Samanfa Sarah Shannon Shun Shyryyn Soffronya Soffy Styffanyy Summyr Susanna Sybylla Syryna Sysylya Sywan - Tamara Tylly + Tamara Tylly Tytanya Wynnyffrydd Wyyktorya Yasmyn Ysbayl } diff --git a/common/culture/name_lists/NEOW_english.txt b/common/culture/name_lists/NEOW_english.txt index a75c0067..a90e4c74 100644 --- a/common/culture/name_lists/NEOW_english.txt +++ b/common/culture/name_lists/NEOW_english.txt @@ -209,19 +209,19 @@ name_list_NEOW_english = { male_names = { 10 = { Adam Adrian Alan Alex Alexander Andrew Anthony Arthur - Barry Benjamin Brian + Barry Bedivere Benjamin Brian Carl Charles Chris Christopher Colin Craig Daniel Darren David Dean Dennis Derek Edward Eric Ernest Frank Frederick - Gary Geoffrey George Gordon Graham + Galahad Gary Geoffrey George Gordon Graham Ian Jack James Jamie Jason John Jonathan Joseph Keith Kenneth Kevin - Luke + Lancelot Luke Malcolm Mark Martin Matthew Michael Mohammed Neil Nicholas Nick Nigel Norman - Patrick Paul Peter Philip + Palamedes Patrick Paul Percival Peter Philip Raymond Richard Robert Roger Ronald Roy Sam Samuel Scott Sean Shaun Simon Stephen Steven Stuart Terence Terry Thomas Tim Timothy Tony Trevor @@ -261,13 +261,13 @@ name_list_NEOW_english = { Hall Hamish Hamo Hamzah Harrison Hayden Hector Hercules Heywood Horatio Hubert Humphrey Jayden Jesse Jocelin Jonah Jonas Julien Karim Keir Kirpal - Lancelot Leopold Linvoy + Leopold Linvoy Malachi Merlin Milo Moray Morris Myles Nevil Noah Oluwatosin Oswald - Patteson Percival Piers + Patteson Piers Randolph Raphael Reece Reuben Rocky Rudyard - Sacha Segar Seth Sholto Simeon + Sacha Saladin Segar Seth Sholto Simeon Tavis Theodore Tiarnan Tyler Tyri Tyrone Tyrrell Valentine Viddal Whitney Wilfrid Wyndham diff --git a/common/culture/name_lists/NEOW_french.txt b/common/culture/name_lists/NEOW_french.txt index 8e3bb29b..c011e8de 100644 --- a/common/culture/name_lists/NEOW_french.txt +++ b/common/culture/name_lists/NEOW_french.txt @@ -230,14 +230,14 @@ Jeanvaljean J-T-Maston Jules-C_e_act_sar K_i_act_li Legolas Lidenbrock - Mablung Maedhros Meriadoc Minastir Moli_e_grv_re Montaigne Montesquieu Morrel Myriel + Mablung Maedhros Meriadoc Meursault Minastir Moli_e_grv_re Montaigne Montesquieu Morrel Myriel N_e_act_mo Ned-Land Nicholl Nivacrin Num_e_act_robis Ob_e_act_lix Ocatarinetabellatchitchix Ol_o_act_rin Orodreth Orophin Ostoher Paladin Pallando Panoramix Passepartout Pencroff Peregr_i_uml_n Phileas-Fogg Phoebus Pontmercy Porthos Quasimodo Radagast Robur Roheryn Samsagace Spirou Sylvebarbe - T_u_act_rin Th_e_act_oden Th_e_act_odred Thengel Thingol Thorgal Thorin Thorondor Thr_a_act_in Thr_o_act_r Thranduil Tintin Tom-Bombadil Tr_e_act_ville Tuor Turgon + T_u_act_rin Tarrou Th_e_act_oden Th_e_act_odred Thengel Thingol Thorgal Thorin Thorondor Thr_a_act_in Thr_o_act_r Thranduil Tintin Tom-Bombadil Tr_e_act_ville Tuor Turgon Valacar Voltaire Zola @@ -252,7 +252,7 @@ G_e_act_rald G_e_act_rard Gabriel Gaspard Gaston Gauthier Geoffroy Georges Gilbert Gilles Godefroy Guillaume Guy Hector Henri Herbert Herv_e_act_ Hugo J_e_act_r_e_act_my J_e_act_r_o_hat_me Jacques Jacques-Yves Jean Jean-Baptiste Jean-Claude Jean-Luc Jean-Paul Jean-Pierre Jo_e_uml_l Joseph Jules Julien - K_e_act_vin + K_e_act_vin Kl_e_act_ber L_e_act_o L_e_act_on L_e_act_onard Laurent Lilian Louis Luc Lucas Lucien Ludovic Marc Marcel Marius Mathieu Mathis Maurice Maxime Michel Mohamed Mohammed Napol_e_act_on Nathan Nicolas Norbert Norman @@ -262,6 +262,7 @@ Raoul Rapha_e_uml_l Raymond Ren_e_act_ Renaud Richard Roland Robert Robin Roger Romain S_e_act_bastien Saladin Salomon Serge Simon St_e_act_phane Swann Sylvain Tanguy Th_e_act_o Thez Thibault Thierry Thomas Timoth_e_act_e Tristan + Ulysse Vercing_e_act_torix Victor Vincent Xavier Yves @@ -305,7 +306,7 @@ L_ae_titia L_e_act_a Laetitia Laura Laure Laurence Louise Lucie Lucienne M_e_act_gane M_e_act_lanie Madeleine Manon Marcelle Margaux Margot Marguerite Maria Marie Marie-Antoinette Marie-Claire Marie-France Marie-Louise Marie-Th_e_act_r_e_grv_se Marine Marion Martine Mathilde Mich_e_grv_le Mireille Monique Nadia Nadine Nathalie Nicole - Odette + Odette Oph_e_act_lie Patricia Paulette Pauline R_i_act_an Raymonde Ren_e_act_e Rose Roselyne S_e_act_gol_e_grv_ne Sandrine Sarah Simone Sol_e_grv_ne Solange Sonia Sophie St_e_act_phanie Suzanne Sybille Sylvie diff --git a/common/culture/name_lists/NEOW_goidelic.txt b/common/culture/name_lists/NEOW_goidelic.txt index f563de17..ca9be065 100644 --- a/common/culture/name_lists/NEOW_goidelic.txt +++ b/common/culture/name_lists/NEOW_goidelic.txt @@ -113,7 +113,7 @@ Jack Jacob James Seán Jonathan Joseph Julian Keegan Kevin Kean Laurence Liam Lugh Lochlan Lorchan Lucas - Magnus Malachi Maol Mark Murphy Martin Matthew Maurice Michael + Macbeth Magnus Malachi Maol Mark Murphy Martin Matthew Maurice Michael Niall Nicolas Norman Oliver Owen Oscar Patrick Paul Peter Pearse @@ -364,6 +364,7 @@ name_list_NEOW_scottish = { Louis Luke + Macbeth Malcolm Mark Martin diff --git a/common/culture/name_lists/NEOW_kurdish.txt b/common/culture/name_lists/NEOW_kurdish.txt new file mode 100644 index 00000000..73934625 --- /dev/null +++ b/common/culture/name_lists/NEOW_kurdish.txt @@ -0,0 +1,25 @@ +name_list_NEOW_kurdish_wip = { + + cadet_dynasty_names = { + } + + dynasty_names = { + } + + male_names = { + Deng_i_hat_r + } + female_names = { + Berf_i_hat_n + } + + # Chance of male children being named after their paternal or maternal grandfather, or their father. Sum must not exceed 100. + pat_grf_name_chance = 60 + mat_grf_name_chance = 10 + father_name_chance = 10 + + # Chance of female children being named after their paternal or maternal grandmother, or their mother. Sum must not exceed 100. + pat_grm_name_chance = 10 + mat_grm_name_chance = 60 + mother_name_chance = 10 +} diff --git a/common/culture/name_lists/NEOW_normaund.txt b/common/culture/name_lists/NEOW_normaund.txt index c6c723d0..0793c8d1 100644 --- a/common/culture/name_lists/NEOW_normaund.txt +++ b/common/culture/name_lists/NEOW_normaund.txt @@ -282,14 +282,14 @@ Jeanvaljean J-T-Maston Jules-C_e_act_sar K_i_act_li Legolas Lidenbrock - Mablung Maedhros Meriadoc Minastir Moli_e_grv_re Montaigne Montesquieu Morrel Myriel + Mablung Maedhros Meriadoc Meursault Minastir Moli_e_grv_re Montaigne Montesquieu Morrel Myriel N_e_act_mo Ned-Land Nicholl Nivacrin Num_e_act_robis Ob_e_act_lix Ocatarinetabellatchitchix Ol_o_act_rin Orodreth Orophin Ostoher Paladin Pallando Panoramix Passepartout Pencroff Peregr_i_uml_n Phileas-Fogg Phoebus Pontmercy Porthos Quasimodo Radagast Robur Roheryn Samsagace Spirou Sylvebarbe - T_u_act_rin Th_e_act_oden Th_e_act_odred Thengel Thingol Thorgal Thorin Thorondor Thr_a_act_in Thr_o_act_r Thranduil Tintin Tom-Bombadil Tr_e_act_ville Tuor Turgon + T_u_act_rin Tarrou Th_e_act_oden Th_e_act_odred Thengel Thingol Thorgal Thorin Thorondor Thr_a_act_in Thr_o_act_r Thranduil Tintin Tom-Bombadil Tr_e_act_ville Tuor Turgon Valacar Voltaire Zola @@ -304,7 +304,7 @@ G_e_act_rald G_e_act_rard Gabriel Gaspard Gaston Gauthier Geoffroy Georges Gilbert Gilles Godefroy Guillaume Guy Hector Henri Herbert Herv_e_act_ Hugo J_e_act_r_e_act_my J_e_act_r_o_hat_me Jacques Jacques-Yves Jean Jean-Baptiste Jean-Claude Jean-Luc Jean-Paul Jean-Pierre Jo_e_uml_l Joseph Jules Julien - K_e_act_vin + K_e_act_vin Kl_e_act_ber L_e_act_o Laurent L_e_act_on L_e_act_onard Lilian Louis Luc Lucas Lucien Ludovic Marc Marcel Marius Mathieu Mathis Maurice Maxime Michel Mohamed Mohammed Napol_e_act_on Nathan Nicolas Norbert Norman @@ -314,6 +314,7 @@ Raoul Rapha_e_uml_l Raymond Ren_e_act_ Renaud Richard Roland Robert Robin Roger Romain S_e_act_bastien Saladin Salomon Sam Serge Simon St_e_act_phane Swann Sylvain Tanguy Th_e_act_o Thez Thibault Thierry Thomas Timoth_e_act_e Tristan + Ulysse Vercing_e_act_torix Victor Vincent Xavier Yves @@ -357,7 +358,7 @@ L_ae_titia L_e_act_a Laetitia Laura Laure Laurence Louise Lucie Lucienne M_e_act_gane M_e_act_lanie Madeleine Manon Marcelle Margaux Margot Marguerite Maria Marie Marie-Antoinette Marie-Claire Marie-France Marie-Louise Marie-Th_e_act_r_e_grv_se Marine Marion Martine Mathilde Mich_e_grv_le Mireille Monique Nadia Nadine Nathalie Nicole - Odette + Odette Oph_e_act_lie Patricia Paulette Pauline R_i_act_an Raymonde Ren_e_act_e Rose Roselyne S_e_act_gol_e_grv_ne Sandrine Sarah Simone Sol_e_grv_ne Solange Sonia Sophie St_e_act_phanie Suzanne Sybille Sylvie diff --git a/common/culture/name_lists/NEOW_portuguese.txt b/common/culture/name_lists/NEOW_portuguese.txt index c8c787a6..249da29f 100644 --- a/common/culture/name_lists/NEOW_portuguese.txt +++ b/common/culture/name_lists/NEOW_portuguese.txt @@ -1,10 +1,13 @@ name_list_portuguese = { cadet_dynasty_names = { + "dynn_Abranches" "dynn_Alves" "dynn_Antunes" "dynn_Ara_u_act_jo" "dynn_Barbosa" + "dynn_Barradas" + "dynn_Cabral" "dynn_Cardoso" "dynn_Castro" "dynn_Coelho" @@ -13,28 +16,41 @@ name_list_portuguese = { { "dynnp_da" "dynn_Costa" } { "dynnp_da" "dynn_Cunha" } { "dynnp_da" "dynn_Mota" } + { "dynnp_da" "dynn_Palma" } { "dynnp_da" "dynn_Silva" } + { "dynnp_de" "dynn_Abreu" } { "dynnp_de" "dynn_Almeida" } { "dynnp_de" "dynn_Azevedo" } { "dynnp_de" "dynn_Bettencourt" } { "dynnp_de" "dynn_Carvalho" } + { "dynnp_de" "dynn_Faria" } { "dynnp_de" "dynn_Figueiredo" } { "dynnp_de" "dynn_Freitas" } { "dynnp_de" "dynn_Jesus" } { "dynnp_de" "dynn_Lencastre" } { "dynnp_de" "dynn_Matos" } + { "dynnp_de" "dynn_Melo" } + { "dynnp_de" "dynn_Morais" } { "dynnp_de" "dynn_Oliveira" } { "dynnp_de" "dynn_Santana" } { "dynnp_de" "dynn_Sousa" } { "dynnp_de" "dynn_Vasconcelos" } + { "dynnp_do" "dynn_Ros_a_act_rio" } + { "dynnp_do" "dynn_Sacramento" } "dynn_Domingues" + "dynn_Dourado" "dynn_Esteves" "dynn_Fernandes" + "dynn_Ferr_a_tld_o" "dynn_Ferreira" "dynn_Fonseca" "dynn_Freire" + "dynn_Galv_a_tld_o" + "dynn_Godinho" "dynn_Gomes" "dynn_Gon_c_ced_alves" + "dynn_Gorj_a_tld_o" + "dynn_Goulart" "dynn_Gra_c_ced_a" "dynn_Guerreiro" "dynn_Leal" @@ -43,20 +59,25 @@ name_list_portuguese = { "dynn_Lowndes" "dynn_Machado" "dynn_Magro" + "dynn_Maia" "dynn_Marques" "dynn_Martins" + "dynn_Meireles" "dynn_Mendes" "dynn_Monteiro" "dynn_Moreira" "dynn_Neto" "dynn_Neves" + "dynn_Nobre" "dynn_Nunes" "dynn_P_e_hat_go" "dynn_Pacheco" "dynn_Pato" + "dynn_Pedroso" "dynn_Pereira" "dynn_Pinto" "dynn_Pires" + "dynn_Piteira" "dynn_Queiroz" "dynn_Quintanilha" "dynn_Ramos" @@ -66,20 +87,30 @@ name_list_portuguese = { "dynn_Ribeiro" "dynn_Rocha" "dynn_Rodrigues" + "dynn_Sabino" + "dynn_Salvador" "dynn_Santos" + "dynn_Sequeira" "dynn_Sim_o_tld_es" "dynn_Soares" "dynn_Tavares" "dynn_Teixeira" + "dynn_Teles" "dynn_Valverde" + "dynn_Varela" "dynn_Vieira" + "dynn_Viseu" + "dynn_Vitoriano" } dynasty_names = { + "dynn_Abranches" "dynn_Alves" "dynn_Antunes" "dynn_Ara_u_act_jo" "dynn_Barbosa" + "dynn_Barradas" + "dynn_Cabral" "dynn_Cardoso" "dynn_Castro" "dynn_Coelho" @@ -88,28 +119,41 @@ name_list_portuguese = { { "dynnp_da" "dynn_Costa" } { "dynnp_da" "dynn_Cunha" } { "dynnp_da" "dynn_Mota" } + { "dynnp_da" "dynn_Palma" } { "dynnp_da" "dynn_Silva" } + { "dynnp_de" "dynn_Abreu" } { "dynnp_de" "dynn_Almeida" } { "dynnp_de" "dynn_Azevedo" } { "dynnp_de" "dynn_Bettencourt" } { "dynnp_de" "dynn_Carvalho" } + { "dynnp_de" "dynn_Faria" } { "dynnp_de" "dynn_Figueiredo" } { "dynnp_de" "dynn_Freitas" } { "dynnp_de" "dynn_Jesus" } { "dynnp_de" "dynn_Lencastre" } { "dynnp_de" "dynn_Matos" } + { "dynnp_de" "dynn_Melo" } + { "dynnp_de" "dynn_Morais" } { "dynnp_de" "dynn_Oliveira" } { "dynnp_de" "dynn_Santana" } { "dynnp_de" "dynn_Sousa" } { "dynnp_de" "dynn_Vasconcelos" } + { "dynnp_do" "dynn_Ros_a_act_rio" } + { "dynnp_do" "dynn_Sacramento" } "dynn_Domingues" + "dynn_Dourado" "dynn_Esteves" "dynn_Fernandes" + "dynn_Ferr_a_tld_o" "dynn_Ferreira" "dynn_Fonseca" "dynn_Freire" + "dynn_Galv_a_tld_o" + "dynn_Godinho" "dynn_Gomes" "dynn_Gon_c_ced_alves" + "dynn_Gorj_a_tld_o" + "dynn_Goulart" "dynn_Gra_c_ced_a" "dynn_Guerreiro" "dynn_Leal" @@ -118,20 +162,25 @@ name_list_portuguese = { "dynn_Lowndes" "dynn_Machado" "dynn_Magro" + "dynn_Maia" "dynn_Marques" "dynn_Martins" + "dynn_Meireles" "dynn_Mendes" "dynn_Monteiro" "dynn_Moreira" "dynn_Neto" "dynn_Neves" + "dynn_Nobre" "dynn_Nunes" "dynn_P_e_hat_go" "dynn_Pacheco" "dynn_Pato" + "dynn_Pedroso" "dynn_Pereira" "dynn_Pinto" "dynn_Pires" + "dynn_Piteira" "dynn_Queiroz" "dynn_Quintanilha" "dynn_Ramos" @@ -141,13 +190,20 @@ name_list_portuguese = { "dynn_Ribeiro" "dynn_Rocha" "dynn_Rodrigues" + "dynn_Sabino" + "dynn_Salvador" "dynn_Santos" + "dynn_Sequeira" "dynn_Sim_o_tld_es" "dynn_Soares" "dynn_Tavares" "dynn_Teixeira" + "dynn_Teles" "dynn_Valverde" + "dynn_Varela" "dynn_Vieira" + "dynn_Viseu" + "dynn_Vitoriano" } male_names = { @@ -173,98 +229,108 @@ name_list_portuguese = { 5 = { _A_act_lvaro _A_hat_ngelo - Ab_i_act_lio Abel Adelino Adriano Afonso Agostinho Albino Alfredo Am_e_act_rico Am_i_act_lcar Amadeu An_i_act_bal Arlindo Armindo Augusto Avelino + _O_act_scar + Ab_i_act_lio Abel Adelino Adriano Afonso Agostinho Albino Alfredo Am_e_act_rico Am_i_act_lcar Amadeu An_i_act_bal Arlindo Armindo Arnaldo Ascenso Augusto Avelino Bernardo C_e_act_sar Celso Cl_a_act_udio Cristiano - Domingos - Edgar Emanuel Ernesto + Dinis Domingos + Edgar Emanuel Ernesto Eurico F_a_act_bio Frederico - Gil Guilherme Gustavo - Humberto - Jaime + Gil Gilberto Guilherme Gustavo + Hor_a_act_cio Humberto + Jaime Joel Juli_a_tld_o Leandro Leonel Lino - Marcelo Mauro - Oct_a_act_vio - R_u_act_ben Ra_u_act_l Rafael Renato Roberto Rodolfo Rodrigo Rog_e_act_rio + Marcelo Marcos Marcus Mauro + Oct_a_act_vio Orlando + R_u_act_ben Ra_u_act_l Rafael Raul Renato Roberto Rodolfo Rodrigo Rog_e_act_rio Sandro Sim_a_tld_o Telmo Tom_a_act_s - V_i_act_tor Valdemar Virg_i_act_lio + V_i_act_tor Valdemar Valter Virg_i_act_lio } 1 = { _E_act_lio - Ac_a_act_cio Adalberto Ademar Aires Albano Almerindo Amadeo Anast_a_act_cio Anselmo Antero Aquilino Aquino Aristides Ars_e_act_lio Aur_e_act_lio Aureo - Belmiro Bernardino Berto - C_a_hat_ndido Casimiro Crist_o_act_v_a_tld_o - D_e_act_nis Dimas Dion_i_act_sio - Elton Em_i_act_dio Em_i_act_lio Eug_e_act_nio Eus_e_act_bio - Fabian Fausto Fidelino - Germano Gerv_a_act_sio - Heliodoro Herculano Hern_a_hat_ni - Igor Ivo - J_u_act_lio Janu_a_act_rio Jer_o_act_nimo Jesualdo - L_u_act_cio Louren_c_ced_o - Manoel Marcello Mariano Martim - N_e_act_lio Noah - Otelo - Ramiro Ronaldo - S_i_act_lvio Sebasti_a_tld_o Serafim Sid_o_act_nio Soeiro - Te_o_act_filo - Urbano - Verg_i_act_lio Vicente Vin_i_act_cius Viriato Vitorino + Ac_a_act_cio Ac_i_act_lio Ad_a_tld_o Ad_e_act_rito Adalberto Ademar Aires Al_i_act_pio Albano Alcides Alcino Ald_o_act_nio Alexandrino Almerindo Alo_i_act_sio Altino Am_a_hat_ndio Amadeo Amantino Amarino Amaro Anacleto Anast_a_act_cio Anat_o_act_lio Anselmo Ant_i_act_dio Antero Antonino Aquilino Aquino Arcanjo Aristides Arm_e_act_nio Armelim Ars_e_act_lio At_i_act_lio Aur_e_act_lio Aureo + B_a_act_rtolo Bas_i_act_lio Belarmino Belchior Belmiro Benjamim Bento Bernardino Berto + C_a_hat_ndido Caetano Camilo Casimiro Cipriano Cirilo Cris_o_act_stomo Crist_o_act_v_a_tld_o Cust_o_act_dio + D_e_act_nis Defensor Delfim Delmar Delmiro Diamantino Dimas Dion_i_act_sio Dorilo Dulcineo Durval + Edmundo El_i_act_sio El_o_act_i Eleut_e_act_rio Elton Em_i_act_dio Em_i_act_lio Est_e_hat_v_a_tld_o Eug_e_act_nio Eus_e_act_bio Evaristo + Fabian Fausto Feliciano Ferdinando Fidelino Firmino Fl_o_act_rido Flausino Flor_e_hat_ncio Florival + Garcia Germano Gaspar Gerv_a_act_sio Gilianes Gualter Guido + H_e_act_lio Heitor Heliodoro Herberto Herculano Herl_a_hat_nder Herm_i_act_nio Hermenegildo Hern_a_hat_ni Hil_a_act_rio Hip_o_act_lito Hon_o_act_rio + Idalino Idilberto Igor Il_i_act_dio Inoc_e_hat_ncio Isa_i_act_as Isidoro Isidro Ismael Ivan Ivo + J_u_act_lio Jacinto Janu_a_act_rio Jer_o_act_nimo Jesualdo Josu_e_act_ Justino Juvenal + L_u_act_cio Ladislau Laurentino Leonardo Liberal Lic_i_act_nio Lit_e_act_rio Louren_c_ced_o Luciano Ludgero Luiz + Manoel Marcelino Marcello Mariano Marino Martim Mateus Maur_i_act_cio Maximiano Melchior Milit_a_tld_o Mois_e_act_s + N_e_act_lio Nicolau Noah Norberto + Octaviano Ol_i_act_vio Olavo Olinto On_e_act_simo Orlandino Osvaldo Otelo Ov_i_act_dio + Parc_i_act_dio Pel_a_act_gio Pompeu Porf_i_act_rio + Raimundo Ramiro Reinaldo Rolando Romeu Ronaldo Ruy + S_i_act_lvio Sa_u_act_l Salvador Sebasti_a_tld_o Serafim Severiano Sid_o_act_nio Silv_e_act_rio Silvino Soeiro + Te_o_act_filo Teot_o_act_nio Tom_e_act_ Trist_a_tld_o + Ulisses Umberto Urbano + Valdemiro Valentim Verg_i_act_lio Vicente Vin_i_act_cius Viriato Vital Vitalino Vitorino } } female_names = { 10 = { - Alexandra Ana Anabela - Carla Carolina Catarina Cl_a_act_udia Clara Cristina + _A_hat_ngela + Alexandra Ana Anabela Andreia + C_a_act_tia C_e_act_lia Carla Carolina Catarina Cl_a_act_udia Clara Cristina Daniela Diana - F_a_act_tima Fernanda Filipa + Elisabete Elsa + F_a_act_tima Fernanda Filipa Filomena Helena In_e_hat_s Isabel Joana - M_o_act_nica Manuela Margarida Maria Mariana + Lu_i_act_sa Lurdes + M_o_act_nica Mafalda Manuela Margarida Maria Maria_spc_de_spc_F_a_act_tima Maria_spc_de_spc_Lurdes Mariana Marisa Marta Patr_i_act_cia Paula - Rosa - S_o_act_nia Sara Sofia Susana + Raquel Rosa + S_i_act_lvia S_o_act_nia Sara Sofia Susana Teresa - V_a_hat_nia Vera + V_a_hat_nia Vanessa Vera } 5 = { - Adelaide Aida Alda Alice Am_e_act_lia Andrea + Adelaide Adriana Aida Alda Alice Am_e_act_lia Andrea Aurora B_a_act_rbara Beatriz - Carmen Cec_i_act_lia Concei_c_ced__a_tld_o + C_a_hat_ndida Carina Carmen Carmo Cec_i_act_lia Celeste Concei_c_ced__a_tld_o Deolinda Dora - Gabriela Gra_c_ced_a + Edite Eduarda Em_i_act_lia Ema Eug_e_act_nia + Gabriela Gl_o_act_ria Gra_c_ced_a Ilda Irene Ivone - J_u_act_lia - L_u_act_cia Laura Leonor - Madalena Maria_spc_da_spc_Concei_c_ced__a_tld_o Maria_spc_da_spc_Gra_c_ced_a Maria_spc_do_spc_Carmo + J_u_act_lia Judite + L_u_act_cia Lara Laura Leonor Lina + Madalena Magda Maria_spc_da_spc_Concei_c_ced__a_tld_o Maria_spc_da_spc_Gl_o_act_ria Maria_spc_da_spc_Gra_c_ced_a Maria_spc_do_spc_Carmo Maria_spc_do_spc_Ros_a_act_rio N_a_act_dia Nat_a_act_lia - Olga - Rafaela + Odete Olga + Rafaela Regina Ros_a_act_rio Soraia Telma Virg_i_act_nia } 1 = { - Albina Alexandrina Am_a_act_lia Ang_e_act_lica Aur_e_act_lia - Bebiana Benvinda Berta Branca - Carin Carlota Carmelina Carole Celestina Clarisse Cust_o_act_dia - Elisa Elvira Evelina + _U_act_rsula + Albina Alc_i_act_dia Aldemira Alexandrina Alma Am_a_act_lia Ang_e_act_lica Antonieta Apol_o_act_nia Assun_c_ced__a_tld_o Aur_e_act_lia + Bebiana Benvinda Bernardina Berta Branca + Carin Carlota Carmelina Carmelinda Carole Celestina Clarisse Cust_o_act_dia + D_a_act_lia Dinah + Elisa Elvira Elza Erc_i_act_lia Ermelinda Esmeralda Etelvina Eul_a_act_lia Eur_i_act_dice Evelina Fab_i_act_ola - Gertrudes - H_e_act_lia Helo_i_act_sa Herm_i_act_nia - Isabela Isilda Ismenia - Joaquina Joceline Josefa Judith - Laurinda Lourdina - Maria_spc_de_spc_Bel_e_act_m Maria_spc_Jos_e_act_ Matilda Mercedes Miquelina - Neuza - Olinda - Patricia - Rita Romana Rosette - Sandra Sarah Simone Solange - Zita + Georgette Gertrudes + H_e_act_lia Helga Helo_i_act_sa Herm_i_act_nia Hermenegildo + Id_a_act_lia Idalina Il_i_act_dia Isabela Isaura Isilda Ism_e_act_nia Ivete + Jamila Joacine Joaquina Joceline Josefa Josefina Jovita Judith Julieta + L_i_act_lia Laurinda Lourdes Lourdina Lu_i_act_za Ludovina + M_a_act_rcia Mar_i_act_lia Mara Maria_spc_da_spc_Luz Maria_spc_da_spc_Purifica_c_ced__a_tld_o Maria_spc_das_spc_Merc_e_hat_s Maria_spc_de_spc_Assun_c_ced__a_tld_o Maria_spc_de_spc_Bel_e_act_m Maria_spc_do_spc_C_e_act_u Maria_spc_do_spc_Pilar Maria_spc_Goreti Maria_spc_Jos_e_act_ Maria_spc_Salete Marina Martina Mary Matilda Merc_e_hat_s Mercedes Miquelina + N_i_act_vea Natalina Neuza Nilza + Of_e_act_lia Ol_i_act_mpia Olinda Or_i_act_sia Ot_i_act_lia + Palmira Patricia Pilar + Rita Romana Romualda Rosalina Rosette Rubina + Sandra Sarah Simone Sita Solange Stella + Violante + Wanda + Zita Zulmira } } dynasty_of_location_prefix = "dynnp_de" diff --git a/common/culture/name_lists/NEOW_provencal.txt b/common/culture/name_lists/NEOW_provencal.txt index e947bec8..e802e6d6 100644 --- a/common/culture/name_lists/NEOW_provencal.txt +++ b/common/culture/name_lists/NEOW_provencal.txt @@ -352,7 +352,7 @@ } 5 = { _E_act_ug_e_grv_nio _E_grv_vo - Adriano Agato Agn_e_grv_s Albertino_female Alessio_female Alino Alis Am_e_grv_li Ana_i_uml_s Andriveto Aneto Ang_e_grv_lo_female Ano-Claro Ano-Lauro Ano-Liso Ano-Souf_i_grv_o Antouneto Arleto Aude Auroro + Adriano_female Agato Agn_e_grv_s Albertino_female Alessio_female Alino Alis Am_e_grv_li Ana_i_uml_s Andriveto Aneto Ang_e_grv_lo_female Ano-Claro Ano-Lauro Ano-Liso Ano-Souf_i_grv_o Antouneto Arleto Aude Auroro Beatris Benedito_female Berto_female Blanco_female Carleno_female Carmen Celi_a_grv_ Charloto Chichoueso Cindy Clarisso Clem_e_grv_nci Clementino_female Clou_e_grv_ Clourindo Cloutido Coural_i_grv_o Coustan_c_ced_o Cynthia Debora Diano Dourout_e_grv_io diff --git a/common/culture/name_lists/NEOW_prytoneg.txt b/common/culture/name_lists/NEOW_prytoneg.txt index e4d19368..7d0ce817 100644 --- a/common/culture/name_lists/NEOW_prytoneg.txt +++ b/common/culture/name_lists/NEOW_prytoneg.txt @@ -67,44 +67,44 @@ name_list_prytoneg = { } male_names = { #add name equivalencies to this later | heavily welshified english, add asian names - Aarhav Aarhon Aarhwsh Accolon Addam Addgarh Adrhyan Aeddan Agrhafyayn Ahmadd Ajaks Akhynaton Aksel Alan Alastayrh Albanactus Albus Albyrht Alddarhyon Alddorh_Aldroenus Alfrhyd Alyksandyrh Amanddyl Anarhyon Anddwcal Andrhyw Angus Ansylm Arhchgallo Arhfurh Arhnoldd Arhshyyr Arhthfoddo Arhthos Atanamyrh Atanatarh Aubrhyy - Baldrhyc Balyan Barhnabas Barhtly Blyyddwd Brhan Brhochfayl Brhunorh Brhwtus Brhyan Brhylan Brhynnyus Brhyog Byaufforht Bydyvyrhy Bylal - Caddcwal Caddwaladrh Caddwallon Caddwgan Calogrhynant Carhaddog Carhloman Caswallon Casym Caydd Charhlys Chrhystoffyrh Chylperhyc Colyn Conan Constantyny Corhyolanus Cydrhyc Cynddylw Cynddyyrhn Cynfarhch Cynffawr Cynffayl Cynffylyn Cyngarh Cyrhydyg Cywyn Cyyf + Aarhav Aarhon Aarhwsh Achynatyn Accolon Addam Addgarh Adrhyan Aeddan Agrhafyayn Ahmadd Ajaks Akhynaton Aksel Alan Alastayrh Albanactus Albus Albyrht Alddarhyon Alddorh_Aldroenus Alfrhyd Alyksandyrh Amanddyl Amynhotyp Anarhyon Anddwcal Andrhyw Angus Ansylm Arhchgallo Arhfurh Arhnoldd Arhshyyr Arhthfoddo Arhthos Atanamyrh Atanatarh Aubrhyy + Baldrhyc Balyan Barhnabas Barhtly Blyyddwd Brhan Brhochfayl Brhunorh Brhwtus Brhyan Brhylan Brhynnyus Brhyog Byaufforht Bydywyrhy Bylal + Caddcwal Caddwaladrh Caddwallon Caddwgan Calogrhynant Carhaddog Carhloman Caswallon Casym Caydd Charhlys Chrhystoffyrh Chylperhyc Chyops Colyn Conan Constantyny Corhyolanus Cydrhyc Cynddylw Cynddyyrhn Cynfarhch Cynffawr Cynffayl Cynffylyn Cyngarh Cyrhydyg Cywyn Cyyf Ddagobyrht Ddagonyt Ddarhyus Ddawyd Ddonaldd Ddorhyan Ddouglas Ddumnagual Ddylan Ddylrhoy Eaddsyg Eaddwald Eaddwarhd Ectorh Eddmundd Eddwyn Eddyrhn Efan Elrhos Elyan Emrhys Erhyc Eynyon - Ffrhagan Ffrhancys Ffrhobyshyrh Ffrhydyrhyc Ffrhyog Ffylyp Ffynyas Ffyrhgus Ffyrhmyn Ffyrhnffayl Ffyrhrhyks + Ffrhagan Ffrhancys Ffrhobyshyrh Ffrhydyrhyc Ffrhyog Ffylyp Ffynyas Ffyrhgus Ffyrhmyn Ffyrhnffayl Ffyrhrhyks Fwtmosy Fyoddorhy Gallahadd Gamon Gann Garhyf Godffrhyy Godwyn Gorhddon Grhyffyf Grhygorhy Grhyngolet Guy Gwrhyadd Gwyn Gylberht Gylddas Gylys Gyoffrhyy Gyorhgy Gyrhaldd Gyrhaynt - Hallatan Harholdd Harhpyrh Harhrhy Harhtnyll_Hartnell Hawylock Horhatyo Hugh Humfrhyy Hurhnddall Hyctorh Hyngyst Hyrham - Iddnyrhf Iddwal Inyrh Isaac Isambarhdd Ishmayl Isylmo + Hallatan Hamlyt Harholdd Harhpyrh Harhrhy Harhtnyll_Hartnell Hawylock Horhatyo Hugh Humfrhyy Hurhnddall Hyctorh Hyngyst Hyrham + Iddnyrhf Iddwal Ifanhoy Inyrh Isaac Isambarhdd Ishmayl Isylmo Jamys John Jonathan Jorhddan Josyff Julyan Julys Justyn Jycyll Lancylot Laurhyncy Locrhynus Lucan Lupus Lwcyus Lwddowyyc Lyonyl Lyu Lywarhch Lyyrh - Malcolm Malyc Mancsomy Marhc Marhmadduky Marhtyn Marhyus Matfyw Maurhycy Maylgwn Mohammydd Morhddrhydd Morhgan Mychayl Mylddrhyc Mymprhycyus Mynastyrh Myrhcurhy + Macbef Malcolm Malyc Mancsomy Marhc Marhmadduky Marhtyn Marhyus Matfyw Maurhycy Maylgwn Mohammydd Morhddrhydd Morhgan Mychayl Mylddrhyc Myrhlyn Mymprhycyus Mynastyrh Myrhcurhy Nafanyyl Narhmyrh Nasyrh Norhman Nycholas Nylson Nynnyaw Nynnyus Nyyptyon Padrhyg Palamyddys Palantyrh Paul Pellyas Pellynorhy Porhrhyks Pypyn Pyrh Pyrhcywyal Pytyrh - Rhalff Rhanddolff Rhobyn Rhobyrht Rhogyrh Rholandd Rhoman Rhonaldd Rhubyus Rhuddygorhy Rhudyarhdd Rhycharhdd Rhygby Rhygynaldd Rhyngo Rhywyallo - Sagrhamorhy Sahyd Samuyl Sayn Scafylock Scott Shyrhlock Sorhonto Spyky Styffyn Stynyan Sullywyan Surhyon Sylwystyrh Symon Symrhathon Sywyrhus - Tarhrhant Tegwyd Thaddyus Thyobaldd Thyoffylus Trhystan Tybyrhyus Tyygnmouf + Rhalff Rhamyssys Rhanddolff Rhobyn Rhobyrht Rhogyrh Rholandd Rhoman Rhonaldd Rhubyus Rhuddygorhy Rhudyarhdd Rhycharhdd Rhygby Rhygynaldd Rhyngo Rhywyallo + Sagrhamorhy Sahyd Saladdyn Samuyl Sayn Scafylock Scott Shyrhloc Sorhonto Spyky Styffyn Stynyan Sullywyan Surhyon Sylwystyrh Symon Symrhathon Sywyrhus + Tarhrhant Tegwyd Thaddyus Thyobaldd Thyoffylus Trhystan Twtanchamun Tybyrhyus Tyygnmouf Ufrh Urhyyn - Waltyrh Wayn Wbyrhon Wlywyyrh Wutgrhaby Wyalyrhyan Wyarhddamyrh Wyladd Wylbyrht Wyllyam Wynston Wyyctorh Wyyncynt Wyyysyy + Waltyrh Wayn Wbyrhon Wlywyyrh Wutgrhaby Wyalyrhyan Wyarhddamyrh Wyladd Wylbyrht Wyllyam Wynston Wyyctorh Wyyncynt Wyyysyy Wzymanddyas } female_names = { #add name equivalencies to this later | also need to add some british asian names later Abygayl Adda Addyla Addylayddy Affrhodyty Agnys Almarhyan Almyrha Alycy Amyce Ancalymy Angyla Anny Antoynytty Awylyny Blodwyn Boudyca Brhonwyn Byanca Byatrhyks - Carhon Cathyrhyny Catyy Charhytyy Chloy Clarha Clymyntyny Constancy Corhddylya Crhyyrhwy Cycylya Cynfya Cyyndrhych + Carhon Cathyrhyny Catyy Charhytyy Chloy Clarha Clymyntyny Clyopatrha Constancy Corhddylya Crhyyrhwy Cycylya Cynfya Cyyndrhych Ddahlya Ddorhofyy Ddyana Ddynysy Edyf Ela Elayny Elwyrha Elyanorh Elysabyf Emma Emylyy Enydd Esfyrh Euddorha Ewya Ffatymah Ffayy Fflyurh Ffoyby Ffrhancys_female Ffydylya Ffyllys Ffylomyna Ffylyppa Ffylyssa Ffyon Glorhyana Guynywyrhy Gwladdys Gwyffrhywy Gwyn Gwynddolyn Gwynhwyffar Gwynllyan Gyorhgya Gyrhalddyny - Hannah Hasyl Hawysy Hollyy Honorhya Horhtynsy Hylyna Hyrhmyony Hystyrh + Hannah Hasyl Hatshypswt Hawysy Hollyy Honorhya Horhtynsy Hylyna Hyrhmyony Hystyrh Iddrhyl Inddya Iorhyf Irhyny Isabyl Isabylla Isabylly Isyult Jany Joan Joanna Joanny Johanny Josyffyny Judyf Julyana Julyyt Jyssamyny Laurhyn Lorhrhayny Lowrhy Lucya Lunyty Lyah Lynorh Lyttycy Mahaut Marhgarhyt Marhoynna Marhya Marhyy Matyldda Mauddy Morhgana Mylddrhydd Myllycynt Myrhandda - Nya Nycoly Nygfyngaly Nymuy Nysta + Nya Nycoly Nyffyrhtyty Nygfyngaly Nymuy Nysta Patrhycya Prhuddyncy Pytrha Pytrhonya Rhachyl Rhonwyn Rhosyn Rhyan Rhyannon Rhygyna Samanfa Sarha Soffrhonya Susanny Sybyl Sylmarhyyn Sylwya Sylyna - Tangwystl Thyoddosya Tylpyrhyyn Tyrhysa + Tangwystl Thyoddosya Tylpyrhyyn Tyrhysa Tytanya Wlywyy Wyanymylddy Wyctorhya Wyna Wynnyffrhydd Wynus Wyrhtylyny Wywyana } dynasty_of_location_prefix = "dynnp_wff" diff --git a/common/culture/name_lists/NEOW_scouseg.txt b/common/culture/name_lists/NEOW_scouseg.txt index 61b69efc..1639aa76 100644 --- a/common/culture/name_lists/NEOW_scouseg.txt +++ b/common/culture/name_lists/NEOW_scouseg.txt @@ -67,45 +67,45 @@ name_list_scouseg = { } male_names = { #add name equivalencies to this later | northwestern brit, add indian names - Aarav Aaron Addam Addryan Addvyf Allan Allbyrt Allfrydd Allyksanddyr Allyystyr Anddryw Anfwny Archyballdd Archyr Arfur Arnolldd - Balldduyn Borys Branddon Bryan Byddyvyry Byllall Bynjamyn - Callum Callwyn Camyron Chacrabarty Charllys Chrystoffyr Cllymynt Cllywyy Collyn Cornyllyus Crayg Cyryll + Aarav Aaron Achynatyn Addam Addryan Addvyf Allan Allbyrt Allfrydd Allyksanddyr Allyystyr Amynhotyp Anddryw Anfwny Archyballdd Archyr Arfur Arnolldd + Balldduyn Borys Branddon Bryan Byddyfyry Byllall Bynjamyn + Callum Callwyn Camyron Chacrabarty Charllys Chrystoffyr Chyops Cllymynt Cllywyy Collyn Cornyllyus Crayg Cyryll Ddanyyll Ddavydd Ddhrwvan Ddomynyc Ddoryan Ddougllas Ddyan Ddynnys Ddyryk Ddyvansh Eddgar Eddmundd Eddwardd Ellton Ellyngton Ellyot Ernyst Erscyny Eryc Ewgyny - Ffabyan Ffllytchyr Ffordd Ffrancys Ffryddyryc Fyllyp + Ffabyan Ffllytchyr Ffordd Ffrancys Ffryddyryc Fwtmosy Fyllyp Fyoddory Gabryyll Garyf Gawyyn Gorddon Gryffyf Grygory Gylbyrt Gyoffryy Gyorgy Gyralldd Gyraynt - Haoyw Haroan Harolldd Haryf Hollddyn Hwgh Hwmffryy Hyctor Hynry Hyrbyrt - Ian Iddwall Isaac + Hamllyt Haoyw Haroan Harolldd Haryf Hollddyn Horatyo Hwgh Hwmffryy Hyctor Hynry Hyrbyrt + Ian Iddwall Ifanhoy Isaac Jac Jacob Jamys Jamyy Jarydd Jason John Jonafan Jorddan Joshua Josyff Jullys Justyn Jycyll Jyrymyah - Llauryncy Lloydd Llwcyus Llwky Llyam Llyllouch Llyon Llyonyll Llywys Llyy Llyyghton - Makswyll Mallyc Marc Martyn Matfyu Maurycy Mwradd Mychayll Mytchyll + Llancyllot Llauryncy Lloydd Llwcyus Llwky Llyam Llyllouch Llyon Llyonyll Llywys Llyy Llyyghton + Macbef Makswyll Mallyc Marc Martyn Matfyu Maurycy Mwradd Mychayll Myrllyn Mytchyll Nafan Nafanayll Nwrman Nyckwllas Nyddardd Nygyll Nyll Pallamyddys Patryc Patyll Paull Pyrcywyall Pyt Pytyr - Rahyym Rallff Ramsay Randdollff Raymwndd Robyrt Rogyr Roy Russyll Ryan Rychardd Rygynalldd Ryks Ryngo Ryshabh - Sachary Samuyll Shaun Shawrya Shyrlock Spyncyr Stanllyy Stuart Styffyn Symon Syngh - Tallory Tomas Trynt Tyllyr Tymofy Tyrry Tyryq + Rahyym Rallff Ramsay Ramyssys Randdollff Raymwndd Robyrt Rogyr Rollandd Roy Russyll Ryan Rychardd Rygynalldd Ryks Ryngo Ryshabh + Sachary Salladdyn Samuyll Shaun Shawrya Shyrlloc Spyncyr Stanllyy Stuart Styffyn Symon Syngh + Tallory Tomas Trynt Twtanchamun Tyllyr Tymofy Tyrry Tyryq Ufyr Umar Uryn - Walltyr Wayn Wctawyyus Wllywyyr Wyllyam Wynston Wyyncynt + Walltyr Wayn Wctawyyus Wbyron Wllywyyr Wyllyam Wynston Wyyncynt Wzymanddyas Yun_spc_Hyy Yya_spc_Wyy } female_names = { #add name equivalencies to this later | also need to add some british asian names later Abby Abygayll Addylla Addyllayddy Agnys Allycy Allyksanddra Ambyr Amy Anahyta Anny Arya Ashlly Awyllyny Bllanchy Bryddgyt Byafany Byatrycy - Cafyryny Caytllyn Charllotty Chlloy Chun Chyllsya Chyryll Chyryssy Constancy Crystall Cycyllya Cyjay + Cafyryny Caytllyn Charllotty Chlloy Chun Chyllsya Chyryll Chyryssy Cllyopatra Constancy Crystall Cycyllya Cyjay Ddanny Ddanylly Ddyya Eddyf Ela Ellayny Ellyanor Ellyzabyf Emma Emylly Enydd Ewya Fanvy Fayf Ffang Ffarrah Fyllypa Gracy Guynyvyry Gymma - Hannah Hayllyy Holly Hyafyr + Hannah Hatshypswt Hayllyy Holly Hyafyr Ioasmyn Ioryny Iosabyll Iosabylla Iosabylly Ioswlldy Jady Jany Jasmyn Jasmyny Joan Joanna Jullyana Jullyt Jwdy Jyan Jyssyca Jyssyy Ksyang Ksyn_spc_Yan Llaura Llauryn Llucy Llunyty Llyddya Llyzzyy Lwuysy Maddy Maddyllyny Mahaut Mallyca Margaryt Mary Matylldda Maudd Molly Mygan Myllyssa Myllyy Myn Myng_spc_Yao - Naomy Natasha Nazanyn Nymuy + Naomy Natasha Nazanyn Nyffyrtyty Nymuy Rachyll Rybycca Samanfa Sarah Shyryyn Soffy Styffanyy Summyr Susanna Sybylla Syryna - Tamara Tylly + Tamara Tylly Tytanya Wllywyya Wynnyfryd Wyyctwrya } dynasty_of_location_prefix = "dynnp_wff" diff --git a/common/culture/name_lists/NEOW_strafclideg.txt b/common/culture/name_lists/NEOW_strafclideg.txt index 8cdec457..8adbeb18 100644 --- a/common/culture/name_lists/NEOW_strafclideg.txt +++ b/common/culture/name_lists/NEOW_strafclideg.txt @@ -67,46 +67,46 @@ name_list_strafclideg = { } male_names = { #add name equivalencies to this later | scot brit - Aiddam Ailain Ailaistair Ailbert Ailfredd Ainddrew Ainslei Aintoni Airchibaildd Airnoldd Airron Airtur + Aiddam Aikenhaiten Ailain Ailaistair Ailbert Ailfredd Aimenhotep Ainddrew Ainslei Aintoni Airchibaildd Airnoldd Airron Airtur Benjaimin Boidd Brainddon Bruce - Cailgairi Caillum Cairlisle Cairrick Chairles Christopher Colin Craig + Cailgairi Caillum Cairlisle Cairrick Chairles Cheops Christopher Colin Craig Ddainiel Ddairius Ddaivid Ddennis Ddominic Ddonaild Ddouglais Dduncain Eddgair Eddmund Eddwaird Elliot Elphinstone Erik Eugene Fergus Forbes Fraincis Fraiser Fredderick - Gaivin Geoffrei George Geraildd Gilbert Glenn Gorddon Gregor - Hairoldd Henddri Herbert Hugh Humphrei - Iain Isaiaic Ishmaiel + Gailaihaidd Gaivin Geoffrei George Geraildd Gilbert Glenn Gorddon Gregor + Haimlet Hairoldd Henddri Herbert Horaito Hugh Humphrei + Iain Isaiaic Ishmaiel Ivainhoe Jaicob Jaimes John Jonaitain Jorddain Joseph Joshuai Juliain Kaileb Kaimeron Kaisim Keit Kelvin Kennet Kerr - Laiwrence Lennox Lewis Luke - Mailcolm Mairk Mairtin Maittew Michaiel Moier Monroe Morris + Laincelot Laiwrence Lennox Lewis Luke + Maicbet Mailcolm Mairk Mairtin Maittew Merlin Michaiel Moier Monroe Morris Naitainiel Neil Nicholais - Oliver Oscair - Paitrick Paiul Peter Philip - Railph Raimsai Reginaildd Reidd Richairdd Robert Rodderick Ross Roy - Saimuel Scott Simon Stainlei Stephen Stewairt Suterlaindd - Timoti Tomais Tristain + Oberon Oliver Oscair Ozimaiddiais + Pailaimeddes Paitrick Paiul Percivail Peter Philip + Railph Raimesses Raimsai Reginaildd Reidd Richairdd Robert Rodderick Ross Roy + Sailaiddin Saimuel Scott Simon Stainlei Stephen Stewairt Suterlaindd + Timoti Tomais Tristain Tutainkhaimun Tutmose Wailter Williaim Zaichairi } female_names = { #add name equivalencies to this later Aibbie Aibigail Aiddelai Aiddelaide Ailexsaindrai Ailice Aimber Ainne Aishlei Beaitani Beaitrice Biainca - Caiterine Caitlin Ceciliai Chairlotte Chelseai Cheril Cherisse Chloe Constaince Cristail + Caiterine Caitlin Ceciliai Chairlotte Chelseai Cheril Cherisse Chloe Cleopaitrai Constaince Cristail Ddainielle Ddainni Eddit Elai Eleainor Elizaibet Elspet Emili_female Emmai Gemmai - Haiilei Hainnaih Heaiter Holli + Haiilei Hainnaih Haitshepsut Heaiter Holli Isaibel Isaibellai Isaibelle Islai Jaidde Jaine Jaismin Jessicai Jessie Joain Joainnai Juddit Juliainai Kaisei Kaiterine Kaitrin Kelli Kelsei Kenzie Kimberli Laiurai Laiuren Liddiai Louise Luci Maiddeleine Mairgairet Mairi Maitildai Maiudd Megain Melissai Moirai Molli - Naiomi Naitailie + Naiomi Naitailie Nefertiti Paiulai Petrai Philippai Raichel Rebeccai Saimaintai Sairai Sairaih Serenai Sibillai Sophiai Stephainie - Taimairai + Taimairai Titainiai Veronicai Victoriai } dynasty_of_location_prefix = "dynnp_o" diff --git a/common/culture/name_lists/NEOW_turkish.txt b/common/culture/name_lists/NEOW_turkish.txt new file mode 100644 index 00000000..8e29e20a --- /dev/null +++ b/common/culture/name_lists/NEOW_turkish.txt @@ -0,0 +1,372 @@ +name_list_NEOW_turkish = { + + cadet_dynasty_names = { + "dynn__C_ced__i_od_tnar" + "dynn__C_ced_akir" + "dynn__C_ced_elik" + "dynn__C_ced_etin" + "dynn__C_ced_ilingiro_g_brv_lu" + "dynn__O_uml_zbek" + "dynn__O_uml_zcan" + "dynn__O_uml_zdemir" + "dynn__O_uml_zden" + "dynn__O_uml_zer" + "dynn__O_uml_zkan" + "dynn__O_uml_zmen_c_ced_" + "dynn__O_uml_zt_u_uml_rk" + "dynn__S_ced_ahin" + "dynn__S_ced_ahiner" + "dynn__S_ced_en" + "dynn__S_ced_im_s_ced_ek" + "dynn__S_ced_im_s_ced_ir" + "dynn__U_uml_nal" + "dynn_Acar" + "dynn_Aksoy" + "dynn_Akta_s_ced_" + "dynn_Alpan" + "dynn_Ar_i_dot_c_i_dot_" + "dynn_Aran" + "dynn_Arslan" + "dynn_Aslan" + "dynn_At_i_dot_c_i_dot_" + "dynn_Atalay" + "dynn_Ate_s_ced_" + "dynn_Avc_i_dot_" + "dynn_Ay" + "dynn_Ayd_i_dot_n" + "dynn_Ayg_u_uml_n" + "dynn_Ayhan" + "dynn_B_u_uml_lb_u_uml_l" + "dynn_Bayg_i_dot_n" + "dynn_Bozkurt" + "dynn_Bulut" + "dynn_Can" + "dynn_Co_s_ced_an" + "dynn_Demir" + "dynn_Dervi_s_ced_" + "dynn_Dilek" + "dynn_Do_g_brv_an" + "dynn_Erdo_g_brv_an" + "dynn_G_o_uml_kdere" + "dynn_G_u_uml_l" + "dynn_G_u_uml_ler" + "dynn_G_u_uml_ne_s_ced_" + "dynn_G_u_uml_neren" + "dynn_G_u_uml_rb_u_uml_z" + "dynn_G_u_uml_rler" + "dynn_G_u_uml_rp_u_uml_z" + "dynn_I_s_ced__i_dot_k" + "dynn_K_i_dot_l_i_dot__c_ced_" + "dynn_K_o_uml_se" + "dynn_Kabay" + "dynn_Kaplan" + "dynn_Kara" + "dynn_Karaal" + "dynn_Karaca" + "dynn_Karacada_g_brv_" + "dynn_Karag_o_uml_z" + "dynn_Karamut" + "dynn_Kaya" + "dynn_Kayal_i_dot_" + "dynn_Keskin" + "dynn_Ko_c_ced_" + "dynn_Kocaman" + "dynn_Kolda_s_ced_" + "dynn_Korkmaz" + "dynn_Kurt" + "dynn_Malko_c_ced_o_g_brv_lu" + "dynn_Melen" + "dynn_Musao_g_brv_lu" + "dynn_Oduncu" + "dynn_Olgundeniz" + "dynn_Polat" + "dynn_S_o_uml_nmez" + "dynn_Sabanc_i_dot_" + "dynn_Sar_i_dot_" + "dynn_Ta_s_ced_" + "dynn_Tekin" + "dynn_Terzi" + "dynn_Tosuncuk" + "dynn_Turan" + "dynn_Tut" + "dynn_U_g_brv_urlu" + "dynn_Uzunali" + "dynn_Y_i_dot_ld_i_dot_r_i_dot_m" + "dynn_Y_i_dot_ld_i_dot_z" + "dynn_Y_i_act_lmaz" + "dynn_Y_u_uml_ksel" + "dynn_Ya_s_ced_ar" + "dynn_Ya_s_ced_argil" + "dynn_Yal_c_ced__i_dot_n" + "dynn_Yard_i_dot_mc_i_dot_" + "dynn_Yavuz" + "dynn_Zarakol" + } + + dynasty_names = { + "dynn__C_ced__i_od_tnar" + "dynn__C_ced_akir" + "dynn__C_ced_elik" + "dynn__C_ced_etin" + "dynn__C_ced_ilingiro_g_brv_lu" + "dynn__O_uml_zbek" + "dynn__O_uml_zcan" + "dynn__O_uml_zdemir" + "dynn__O_uml_zden" + "dynn__O_uml_zer" + "dynn__O_uml_zkan" + "dynn__O_uml_zmen_c_ced_" + "dynn__O_uml_zt_u_uml_rk" + "dynn__S_ced_ahin" + "dynn__S_ced_ahiner" + "dynn__S_ced_en" + "dynn__S_ced_im_s_ced_ek" + "dynn__S_ced_im_s_ced_ir" + "dynn__U_uml_nal" + "dynn_Acar" + "dynn_Aksoy" + "dynn_Akta_s_ced_" + "dynn_Alpan" + "dynn_Ar_i_dot_c_i_dot_" + "dynn_Aran" + "dynn_Arslan" + "dynn_Aslan" + "dynn_At_i_dot_c_i_dot_" + "dynn_Atalay" + "dynn_Ate_s_ced_" + "dynn_Avc_i_dot_" + "dynn_Ay" + "dynn_Ayd_i_dot_n" + "dynn_Ayg_u_uml_n" + "dynn_Ayhan" + "dynn_B_u_uml_lb_u_uml_l" + "dynn_Bayg_i_dot_n" + "dynn_Bozkurt" + "dynn_Bulut" + "dynn_Can" + "dynn_Co_s_ced_an" + "dynn_Demir" + "dynn_Dervi_s_ced_" + "dynn_Dilek" + "dynn_Do_g_brv_an" + "dynn_Erdo_g_brv_an" + "dynn_G_o_uml_kdere" + "dynn_G_u_uml_l" + "dynn_G_u_uml_ler" + "dynn_G_u_uml_ne_s_ced_" + "dynn_G_u_uml_neren" + "dynn_G_u_uml_rb_u_uml_z" + "dynn_G_u_uml_rler" + "dynn_G_u_uml_rp_u_uml_z" + "dynn_I_s_ced__i_dot_k" + "dynn_K_i_dot_l_i_dot__c_ced_" + "dynn_K_o_uml_se" + "dynn_Kabay" + "dynn_Kaplan" + "dynn_Kara" + "dynn_Karaal" + "dynn_Karaca" + "dynn_Karacada_g_brv_" + "dynn_Karag_o_uml_z" + "dynn_Karamut" + "dynn_Kaya" + "dynn_Kayal_i_dot_" + "dynn_Keskin" + "dynn_Ko_c_ced_" + "dynn_Kocaman" + "dynn_Kolda_s_ced_" + "dynn_Korkmaz" + "dynn_Kurt" + "dynn_Malko_c_ced_o_g_brv_lu" + "dynn_Melen" + "dynn_Musao_g_brv_lu" + "dynn_Oduncu" + "dynn_Olgundeniz" + "dynn_Polat" + "dynn_S_o_uml_nmez" + "dynn_Sabanc_i_dot_" + "dynn_Sar_i_dot_" + "dynn_Ta_s_ced_" + "dynn_Tekin" + "dynn_Terzi" + "dynn_Tosuncuk" + "dynn_Turan" + "dynn_Tut" + "dynn_U_g_brv_urlu" + "dynn_Uzunali" + "dynn_Y_i_dot_ld_i_dot_r_i_dot_m" + "dynn_Y_i_dot_ld_i_dot_z" + "dynn_Y_i_act_lmaz" + "dynn_Y_u_uml_ksel" + "dynn_Ya_s_ced_ar" + "dynn_Ya_s_ced_argil" + "dynn_Yal_c_ced__i_dot_n" + "dynn_Yard_i_dot_mc_i_dot_" + "dynn_Yavuz" + "dynn_Zarakol" + } + + male_names = { + 3 = { + _I_dot_brahim _I_dot_hsan _I_dot_lhan _I_dot_rfan _I_dot_smail _I_dot_smet + _O_uml_mer _O_uml_zg_u_uml_r + _S_ced__u_uml_kr_u_uml_ _S_ced_aban + _U_uml_mit + Abd_u_uml_lkadir Abdulkadir Abdullah Abdurrahman Adnan Ahmet Ali Arif Ayd_i_dot_n Ayhan + B_u_uml_lent Bayram Bekir Bilal Burak + Celal Cemal Cemil Cengiz + Deniz + Ekrem Emin Emre Engin Erdal Erhan Erkan Erol + Faruk Fatih + G_o_uml_khan + H_u_dot_seyin Hac_i_dot_ Hakan Halil Harun Hasan Hikmet + Kadir Kemal Kenan + Mahmut Mehmet Mesut Metin Mevl_u_uml_t Muhammed Muhammet Muharrem Murat Musa Mustafa Muzaffer + Nihat Nurettin + Onur Orhan Osman + Ramazan Recep + S_u_act_leyman Salih Sedat Serdar Serkan Sinan + U_g_brv_ur + Y_i_dot_lmaz Y_u_uml_ksel Ya_s_ced_ar Yakup Yasin Yunus Yusuf + Zeki + } + 2 = { + _C_ced_a_g_brv_da_s_ced_ _C_ced_etin + _I_dot_lhami _I_dot_lyas _I_dot_skender _I_dot_zzet + _O_uml_zcan _O_uml_zer _O_uml_zkan + _S_ced_ahin _S_ced_enel _S_ced_eref _S_ced_evket _S_ced_evki _S_ced_eyhmus _S_ced_uayip + _U_uml_nal + A_s_ced_k_i_dot_n Abbas Abdulbaki Abdulhamit Adil Ak_i_dot_n Akif Alaattin Ali_spc_R_i_dot_za Alican Alpaslan Alper Altan An_i_dot_l Arda Arslan Aslan Atakan Atilla Avni Aykut Aytekin Aziz + Bahad_i_dot_r Bahattin Bahri Baki Bar_i_dot__s_ced_ Basri Bedri Berat Batuhan Beyhan Birkan Birol Burhan Burhanettin + Cafer Cahit Can Caner Cavit Cem Cenk Cevat Cevdet Cihan Cihat Cumali Cumhur + Do_g_brv_an Durmu_s_ced_ + E_s_ced_ref Edip Efe Emir Emrullah Ender Enes Enis Eray Erdem Erdo_g_brv_an Erg_u_uml_n Erkan Ersin Ertan Ertu_g_brv_rul Esat Eser Ethem Evren Ey_u_uml_p Eyy_u_uml_p + F_i_dot_rat Fahrettin Fahri Faik Fehmi Ferdi Feridun Ferit Fethi Fevzi Feyzi Fikret Fuat Furkan + G_u_uml_ne_s_ced_ G_u_uml_ltekin G_u_uml_rsel G_u_uml_ven Gazi + H_u_uml_samettin H_u_uml_sn_u_uml_ Ha_s_ced_im Habib Habip Halis Halit Haluk Hamdi Hanifi Hayati Haydar Hayrettin Hayri Hidayet Hilmi Hulusi + K_a_hat_muran K_u_uml_r_s_ced_at Kaan Kadri Kamer Kamil Kas_i_dot_m Kaya Kaz_i_dot_m Kerem Kerim Koray Kubilay + L_u_uml_tf_u_uml_ L_u_uml_tfi Latif Levent + M_u_uml_cahit M_u_uml_kerrem M_u_uml_rsel M_u_uml_sl_u_uml_m Mahir Mehmet_spc_Ali Melih Mert Mithat Muhittin Muhlis Mukadder Mustafa_spc_Kemal + Naci Nail Nam_i_dot_k Naz_i_dot_m Nazif Necdet Necmi Nezir Necati Necip Necmettin Nedim Nevzat Nihan Niyazi Nizamettin Numan Nural Nurhan Nuri Nurullah + O_g_brv_uz O_g_brv_uzhan Okan Oktay Olcay + R_i_dot_dvan R_i_dot_za R_u_uml_stem Rafet Rahmi Rasim Recai Re_s_ced_at Re_s_ced_it Refik Remzi Rifat + S_i_dot_tk_i_dot_ S_u_uml_reyya Sabahattin Sabri Sad_i_dot_k Sadettin Sadi Saffet Sait Salim Sami Sava_s_ced_ Sebahattin Sefa Sefer Sel_c_ced_uk Selami Selim Semih Serhat Servet Seydi Seyit Sezai Sezer Sezgin Soner Suat + Tahir Tahsin Tamer Tanju Tar_i_dot_k Tayfun Tekin Temel Tevfik Tolga Tu_g_brv_rul Tufan Tuncer Turan Turgay Turgut Turhan + Ufuk Ula_s_ced_ + Vahit Vedat Vehbi Veli Veysel Veysi Volkan + Y_i_dot_ld_i_dot_r_i_dot_m Y_u_uml_cel Yahya Yal_c_ced__i_dot_n Yavuz Yener Yi_g_brv_it Yunus_spc_Emre + Zafer Zeynel Ziya + } + 1 = { + _C_ced_a_g_brv_an _C_ced_a_g_brv_atay + _I_dot_lkan _I_dot_nan _I_dot_nan_c_ced_ _I_dot_stemihan + _O_uml_zt_u_uml_rk + _S_ced_adan _S_ced_ahabettin _S_ced_ahap _S_ced_amil _S_ced_efkat + Abd_u_uml_llatif Abdulahat Abdulhaluk Abdulsamet Agah Alparslan Alpay Alperen Aral Arma_g_brv_an Ataullah Atay Ayberk Ayetullah Ayvaz Azmi + Ba_s_ced_ar Baha Bedirhan Behi_c_ced_ Bozkurt + Cezmi Cihangir + Danyal Demir Devlet Devrim Do_g_brv_a Do_g_brv_uhan Do_g_brv_ukan + Ediz Efkan Ege El_c_ced_in Emirhan Emrecan Emrehan Enez Ensar Erc_u_uml_ment Erdin Erkin Ersoy Ertun_c_ced_ Evliya + Fadl_i_dot_ Faris Fatin Faz_i_dot_l Fedon Fehim Ferhan Fetani Fethullah Firuz + G_o_uml_kan G_o_uml_kdeniz G_o_uml_ktan Gaffar Giray + H_u_uml_rrem H_u_uml_srev Hakk_i_dot_ Hasari Hasip Hur_s_ced_it Husret + I_s_ced__i_dot_n + K_i_dot_l_i_dot__c_ced_arslan K_i_dot_van_c_ced_ K_i_dot_yasettin Kadim Kayhan Kayra Kutalm_i_dot__s_ced_ + L_u_uml_tfullah + M_u_uml_jdat M_u_uml_kremin M_u_uml_mtaz Macit Mahfuz Mahmud Maliki Mansur Masum Medeni Mensur Mertcan Metehan Mihrali Mira_c_ced_ Muhtar + Nabi Naz_i_dot_r Nejat Nidai Nimetullah Nureddin Nusrettin + Og_u_uml_n Onursal + Pamuk Polat Poyraz + R_i_dot_zacan R_u_uml__s_ced_t_u_uml_ Refet Renan Rizgin + S_i_dot_d_i_dot_k S_u_uml_heyl S_u_uml_mer Sacit Sadir Sak_i_dot_p Seb_g_brv_atullah Sermet Seyyit Subutay Suha + Taha Takiddin Talha Tayip Taylan Teoman Tevhit Timu_c_ced_in Timur Tuluyhan Tuna Tunay Tunca Turabi + Ulu_c_ced_ Utku + Vecdi + Yal_i_dot_n Yaman Yasir Yekta Yi_g_brv_itcan + Z_u_uml_lf_u_uml_ Z_u_uml_lf_u_uml_kar Ziver + } + } + female_names = { + 3 = { + _C_ced_i_g_brv_dem + _I_dot_lknur + _O_uml_zlem + _S_ced_erife + Arzu Ayfer Ayten Ay_s_ced_e + B_u_uml__s_ced_ra Bahar Burcu + Canan + Derya Dilek + Ebru Elif Emine Esma Esra + Fadime Fatma Feride Filiz + G_o_uml_n_u_uml_l G_u_uml_ler Gamze + H_u_uml_lya Hatice + K_u_uml_bra Kadriye + Leyla + Melek Meliha Meral Merve Meryem + Neslihan + Perihan + Rahime Remziye + Saliha Seda Sema Semra Serap Sevgi Sevim Sibel Sultan + T_u_uml_lay T_u_uml_rkan Tu_g_brv_ba + Ya_g_brv_mur Yasemin + Zehra Zeynep + } + 2 = { + _C_ced_a_g_brv_la + _I_dot_pek _I_dot_rem + _O_uml_zge + _S_ced_ebnem _S_ced_enay _S_ced_enol _S_ced_irin + Arife Alev Asl_i_dot_ Asl_i_dot_han Asuman Aylin + Bahriye Bedia Belgin Bet_u_uml_l Beyza Birsen Bur_c_ced_in + Cansu Ceren Cevahir + Ebubekir Elmas Eren Ezgi + Fazilet Funda + G_u_uml_l G_u_uml_l_u_uml_stan G_u_uml_lizar G_u_uml_ner G_u_uml_ng_o_uml_r G_u_uml_rsel Gizem + Hande Hasret Hazal + Jale + L_u_uml_tfiye Lale Latife + M_u_uml__s_ced_erref M_u_uml_r_u_uml_vvet Melike Melis Mine Muazzez Mutlu + Nahide Nalan Nazan Nazire Nazl_i_dot_ Nejla Nesrin Nevin Nilg_u_uml_n Nimet Nur Nurdan Nurhayat + Olcay Oya + Pakize Pelin Penbe Pervin + R_u_uml_meysa Refika Reyhan + Sabahat Salihe Sare Sebahat Selin Semiha Sena Senem Sermin Seyhan Suzan + Tansu Tu_g_brv__c_ced_e Tuba + Vildan + } + 1 = { + _I_dot_ffet _I_dot_lkyaz + _S_ced_evin + Asena Aysu + Bengisu Berra Berrak Beyzanur + Candan Cans_i_dot_n + El_c_ced_in Esvet + Feleknas + G_u_uml_lden G_u_uml_zin + H_u_uml_da + I_s_ced__i_dot_lay + J_u_uml_lide + Karsu + M_u_uml_zeyyen Melda Melisa Meliz Mihrimah + N_u_uml_khet Naz + Ravza Renan + S_i_dot_la Selen Semiramis Sera Sertab Simge Sulhiye + Tayyibe Tulu_g_brv_ Tuna + Ya_s_ced_am Yelda + Zemzem + } + } + patronym_suffix_male = "dynnpat_suf_o_g_brv_lu" + patronym_suffix_female = "dynnpat_suf_k_i_dot_z_i_dot_" + always_use_patronym = yes + + # Chance of male children being named after their paternal or maternal grandfather, or their father. Sum must not exceed 100. + pat_grf_name_chance = 60 + mat_grf_name_chance = 10 + father_name_chance = 10 + + # Chance of female children being named after their paternal or maternal grandmother, or their mother. Sum must not exceed 100. + pat_grm_name_chance = 10 + mat_grm_name_chance = 60 + mother_name_chance = 10 +} diff --git a/common/culture/name_lists/NEOW_welsh.txt b/common/culture/name_lists/NEOW_welsh.txt index 49bbcb5d..bd70a3fb 100644 --- a/common/culture/name_lists/NEOW_welsh.txt +++ b/common/culture/name_lists/NEOW_welsh.txt @@ -106,7 +106,7 @@ Ofydd Oliver Oscar Oswallt Owain Owen Padarn Padrig Pawl Pedr Philip Pryce Pryderi Pyr Rheinallt Rhisiart Rhiwallon Rhobert Rhodri Rhufon Rhun Rhydderch Rhydian Rhys Roderick Ryan - Sawyl Seferus Seisyll Selyf Serigi Si_o_hat_n Si_o_hat_r Sieffre Siorus Steffan Sulien + Saladin Sawyl Seferus Seisyll Selyf Serigi Si_o_hat_n Si_o_hat_r Sieffre Siorus Steffan Sulien Talfryn Taliesin Taron Tegid Tegwyd Teilo Tewdos Tewdrig Tomos Trahaearn Trevor Tristan Tudor Tysilio Urien Uthyr Vaughan diff --git a/common/culture/traditions/00_realm_traditions.txt b/common/culture/traditions/00_realm_traditions.txt index d64f35a2..dc28cf7e 100644 --- a/common/culture/traditions/00_realm_traditions.txt +++ b/common/culture/traditions/00_realm_traditions.txt @@ -222,12 +222,6 @@ tradition_republican_legacy = { } is_shown = { - OR ={ - this = culture:roman - any_parent_culture_or_above = { - this = culture:roman - } - } NOT = { has_cultural_tradition = tradition_parochialism } } can_pick = { diff --git a/common/culture/traditions/NEOW_traditions.txt b/common/culture/traditions/NEOW_traditions.txt index 65d8d680..4912ca4a 100644 --- a/common/culture/traditions/NEOW_traditions.txt +++ b/common/culture/traditions/NEOW_traditions.txt @@ -425,6 +425,135 @@ tradition_defiant = { # defiant } } +tradition_farmer_republics = { + category = societal + + layers = { + 0 = steward + 1 = western + 4 = farmland.dds + } + + is_shown = { + NOT = { has_cultural_tradition = tradition_republican_legacy } + } + can_pick = { + NOT = { has_cultural_tradition = tradition_republican_legacy } + custom_tooltip = { + text = cultrad_not_nomadic_government_type + scope:character = { + NOT = { + government_has_flag = government_is_nomadic + } + } + } + } + + parameters = { + use_farmer_republics = yes + unlock_innovation_pike_columns = yes + city_buildings_more_powerful = yes + city_buildings_less_control = yes + trait_county_opinion_modifiers = yes + } + character_modifier = { + city_holding_build_gold_cost = -0.05 + city_holding_holding_build_gold_cost = -0.05 + farmlands_development_growth_factor = 0.3 + farmlands_construction_gold_cost = -0.1 + farmlands_levy_size = 0.1 + tyranny_gain_mult = 0.25 + tyranny_loss_mult = -0.5 + dread_decay_mult = 0.25 + } + + cost = { + prestige = { + add = { + value = tradition_base_cost + desc = BASE + format = "BASE_VALUE_FORMAT" + } + if = { + limit = { + NOR = { + culture_pillar:ethos_courtly = { is_in_list = traits } + culture_pillar:ethos_communal = { is_in_list = traits } + culture_pillar:ethos_spiritual = { is_in_list = traits } + } + } + add = { + value = tradition_incompatible_ethos_penalty + desc = not_courtly_communal_or_spiritual_desc + } + } + if = { + limit = { + NOT = { + scope:character = { + any_sub_realm_county = { + percent >= 0.9 + culture = scope:character.culture + any_county_province = { + has_holding_type = city_holding + } + } + } + } + } + add = { + value = tradition_unfulfilled_criteria_penalty + desc = 90_percent_cities_desc + } + } + + if = { + limit = { + culture_tradition_reduction_trigger = { TRADITION = tradition_farmer_republics } + } + multiply = { + value = 0.5 + desc = inspired_by_culture_desc + } + } + + multiply = tradition_replacement_cost_if_relevant + } + } + + ai_will_do = { + value = 200 + if = { + limit = { + NOT = { + scope:character = { + any_sub_realm_county = { + percent >= 0.15 + culture = scope:character.culture + any_county_province = { + has_holding_type = city_holding + } + } + } + } + } + multiply = 0 + } + if = { + limit = { + NOT = { + scope:character = { + any_vassal = { + primary_title.tier > tier_county + government_has_flag = government_is_special_republic + } + } + } + } + multiply = 0 + } + } +} tradition_creaght = { category = societal diff --git a/common/customizable_localization/00_government_custom_loc.txt b/common/customizable_localization/00_government_custom_loc.txt index 65c872db..3c26706b 100644 --- a/common/customizable_localization/00_government_custom_loc.txt +++ b/common/customizable_localization/00_government_custom_loc.txt @@ -1126,6 +1126,26 @@ GetGovernmentIcon = { } localization_key = republic_icon_concept } + text = { # Republic + trigger = { + trigger_if = { + limit = { + is_alive = no + } + has_government = peasantrepublic_government + } + trigger_else = { + trigger_if = { + limit = { is_ruler = yes } + government_has_flag = government_is_prepublic + } + trigger_else = { + liege ?= { government_has_flag = government_is_prepublic } + } + } + } + localization_key = peasantrepublic_icon_concept + } text = { # Theocracy trigger = { trigger_if = { diff --git a/common/decisions/dlc_decisions/mpo/mpo_decisions.txt b/common/decisions/dlc_decisions/mpo/mpo_decisions.txt index 8bb054c2..7a24c9aa 100644 --- a/common/decisions/dlc_decisions/mpo/mpo_decisions.txt +++ b/common/decisions/dlc_decisions/mpo/mpo_decisions.txt @@ -4763,6 +4763,7 @@ settle_people_decision = { } if = { limit = { + NOT = { government_has_flag = government_allows_nomad_domicile_titles } any_held_title = { is_nomad_title = yes } @@ -4859,6 +4860,7 @@ settle_people_decision = { if = { limit = { + NOT = { government_has_flag = government_allows_nomad_domicile_titles } any_held_title = { is_nomad_title = yes } @@ -4934,6 +4936,7 @@ settle_people_decision = { if = { limit = { + NOT = { government_has_flag = government_allows_nomad_domicile_titles } any_held_title = { is_nomad_title = yes } @@ -5009,6 +5012,7 @@ settle_people_decision = { } if = { limit = { + NOT = { government_has_flag = government_allows_nomad_domicile_titles } any_held_title = { is_nomad_title = yes } @@ -5651,6 +5655,7 @@ step_away_from_the_steppe_decision = { } if = { limit = { + NOT = { government_has_flag = government_allows_nomad_domicile_titles } any_held_title = { is_nomad_title = yes } @@ -5747,6 +5752,7 @@ step_away_from_the_steppe_decision = { if = { limit = { + NOT = { government_has_flag = government_allows_nomad_domicile_titles } any_held_title = { is_nomad_title = yes } @@ -5822,6 +5828,7 @@ step_away_from_the_steppe_decision = { if = { limit = { + NOT = { government_has_flag = government_allows_nomad_domicile_titles } any_held_title = { is_nomad_title = yes } @@ -5897,6 +5904,7 @@ step_away_from_the_steppe_decision = { } if = { limit = { + NOT = { government_has_flag = government_allows_nomad_domicile_titles } any_held_title = { is_nomad_title = yes } diff --git a/common/decisions/dlc_decisions/tgp/tgp_steppe_decisions.txt b/common/decisions/dlc_decisions/tgp/tgp_steppe_decisions.txt new file mode 100644 index 00000000..9f5b98d0 --- /dev/null +++ b/common/decisions/dlc_decisions/tgp/tgp_steppe_decisions.txt @@ -0,0 +1,569 @@ +adopt_steppe_administration = { + picture = { + reference = "gfx/interface/illustrations/decisions/tgp_great_project.dds" + } + decision_group_type = nomad_major + + ai_check_interval_by_tier = { + barony = 0 + county = 0 + duchy = 0 + kingdom = 60 + empire = 60 + hegemony = 0 + } + + desc = adopt_steppe_administration_desc + selection_tooltip = adopt_steppe_administration_tooltip + + is_shown = { + has_mpo_dlc_trigger = yes + has_tgp_dlc_trigger = yes + government_has_flag = government_is_nomadic + OR = { + highest_held_title_tier = tier_kingdom + highest_held_title_tier = tier_empire + } + is_playable_character = yes + } + + is_valid = { + custom_tooltip = { + text = you_are_the_culture_head + culture = { + culture_head = root + } + } + OR = { # You need to already be on your way to imperial status, if not already there + has_realm_law = nomadic_authority_4 + has_realm_law = nomadic_authority_5 + } + custom_tooltip = { + text = steppe_admin_kingdom_requirement + any_realm_de_jure_kingdom = { + count >= 3 + root = { + completely_controls = prev + } + title_capital_county.title_province ?= { + OR = { + has_holding_type = castle_holding + has_holding_type = city_holding + has_holding_type = church_holding + has_holding_type = temple_citadel_holding + } + } + } + } + save_temporary_scope_value_as = { + name = temp_num_tributaries + value = sub_realm_with_tributaries_size + } + custom_tooltip = { # You need a total realm size big enough to impress + text = steppe_admin_tributary_req + sub_realm_with_tributaries_size >= 50 + } + custom_tooltip = { # You need somewhere to get the idea to adopt Merit and examinations from + text = steppe_admin_merit_req + OR = { + any_neighboring_top_liege_realm_owner = { + AND = { + government_has_flag = government_has_merit + highest_held_title_tier >= tier_kingdom + } + } + any_tributary = { + AND = { + government_has_flag = government_has_merit + highest_held_title_tier >= tier_kingdom + } + } + any_vassal_or_below = { + AND = { + government_has_flag = government_has_merit + highest_held_title_tier >= tier_kingdom + } + } + } + } + } + + is_valid_showing_failures_only = { + is_at_war = no + is_tributary = no + is_available_adult = yes + has_active_diarchy = no + } + + cost = { + gold = { + value = 0 + if = { + limit = { + has_treasury = no + } + add = massive_prestige_value # building an imperial palace isn't cheap, you know + } + } + + treasury = { + value = 0 + if = { + limit = { + has_treasury = yes + } + add = 500 + } + } + prestige = { + value = monumental_prestige_value + } + } + + effect = { + #GoK stops really being GoK + gok_government_change_story_end_effect = yes + if = { + limit = { + has_realm_law = nomadic_authority_4 + } + add_character_flag = realm_law_4 + } + else = { + add_character_flag = realm_law_5 + } + add_legitimacy_effect = { LEGITIMACY = massive_legitimacy_gain } + dynasty = { + add_dynasty_prestige = massive_dynasty_prestige_gain + } + save_scope_as = nomad_settling_down + save_scope_value_as = { + name = invading_herd_value + value = domicile.herd + } + nomad_domicile_refund_treasury_or_gold_effect = yes # we pay you back for your domicile investments + nomad_convert_herds_to_treasury_or_gold_special_troops_effect = yes # we pay you back for your herd investments + nomad_to_steppe_admin_new_capital_effect = yes # we arrange a new capital for you the same way we would any other settling nomad + change_government = steppe_admin_government + give_noble_family_title = { + name = noble_family_name + tier = county + article = DEFAULT_TITLE_NAME_ARTICLE + government = steppe_admin_government + save_scope_as = new_title + } + scope:new_title = { + set_coa = holder.house + } + hidden_effect = { + switch = { + trigger = has_character_flag + realm_law_4 = { + add_realm_law_skip_effects = meritocratic_bureaucracy_2 + remove_character_flag = realm_law_4 + } + realm_law_5 = { + add_realm_law_skip_effects = meritocratic_bureaucracy_3 + remove_character_flag = realm_law_5 + } + } + } + hidden_effect = { # We explain this in an earlier tooltip + add_treasury_or_gold = { + value = scope:domicile_refund_treasury_or_gold_value + add = scope:nomad_convert_herds_to_treasury_or_gold_value + } + } + if = { + limit = { + NOT = { government_has_flag = government_allows_nomad_domicile_titles } + any_held_title = { + is_nomad_title = yes + } + } + every_held_title = { + limit = { + is_nomad_title = yes + } + root = { + destroy_title = prev + } + } + } + custom_tooltip = { + text = merit_based_vassals_convert_to_steppe_admin + if = { + limit = { + any_vassal = { + government_has_flag = government_has_merit + NOT = { government_has_flag = government_is_steppe_admin } + } + } + every_vassal = { + limit = { + government_has_flag = government_has_merit + NOT = { government_has_flag = government_is_steppe_admin } + } + change_government = steppe_admin_government + } + } + } + hidden_effect = { + every_tributary = { + add_to_list = tributaries + } + every_in_list = { + list = tributaries + start_tributary_interaction_effect = { # to update their contract types for your new status + TRIBUTARY = this + SUZERAIN = root + } + } + } + hidden_effect = { + generate_new_steppe_admin_families_effect = yes # we populate your noble families so you have some starting non-nomadic administrators + } + } + + ai_potential = { + #AI greatest of khans shouldn't be doing this and ruining their GoKness + NOR = { + has_trait = greatest_of_khans + any_owned_story = { + OR = { + story_type = story_mongol_invasion + story_type = story_greatest_of_khans + } + } + } + } + + ai_will_do = { + base = 100 # the bar to doing this is high enoug that if the AI can do it, the AI should do it + } +} + +### Return to the Steppe ### +return_to_the_steppe_decision = { + picture = { + reference = "gfx/interface/illustrations/event_story/mpo_steppe_region.dds" + } + decision_group_type = nomad_major + + desc = return_to_the_steppe_decision_desc + selection_tooltip = return_to_the_steppe_decision_tooltip + + ai_check_interval_by_tier = { + barony = 0 + county = 0 + duchy = 0 + kingdom = 72 # just in case there's an orphaned steppe admin kingdom somewhere + empire = 72 + hegemony = 0 + } + + is_shown = { + has_mpo_dlc_trigger = yes + has_tgp_dlc_trigger = yes + government_has_flag = government_is_steppe_admin + is_independent_ruler = yes + is_playable_character = yes + NOT = { + any_vassal_or_below = { + is_ai = no # the gamestate could conceivably result in as situation where you could game over a player-vassal by doing this, so we just make sure it can't happen + } + } + } + + is_valid = { + has_trait = nomadic_philosophy # you need at least some connection to the steppe to want to go back to it + custom_tooltip = { + text = small_enough_realm_to_abandon + any_realm_county = { + count <= 10 + title_province = { + OR = { + has_holding_type = castle_holding + has_holding_type = church_holding + has_holding_type = city_holding + has_holding_type = temple_citadel_holding + } + } + } + } + } + + is_valid_showing_failures_only = { + is_at_war = no + is_available = yes + has_active_diarchy = no + } + + cost = { + prestige = { + value = massive_prestige_value # this is already a escape hatch, so we don't want it to be too punishing + } + } + + effect = { + custom_tooltip = { + text = treasury_emptying_effect_desc + empty_treasury_when_abandoning_landed_life_effect = yes # otherwise the treasury sticks around + } + refund_noble_family_domicile_buildings_effect = yes + custom_tooltip = { + text = nomadize_landless_noble_families + refund_vassal_noble_families_and_make_them_nomads_effect = yes # for those who share your cultural heritage + } + custom_tooltip = { + text = rehouse_landless_noble_families + rehome_noble_families_to_compatible_liege_effect = yes # we find a new home for those who don't share your cultural heritage + } + custom_tooltip = { + text = title_maa_regiments_will_be_destroyed + if = { + limit = { + any_maa_regiment = { + is_title_maa_regiment = yes + } + } + every_maa_regiment = { + limit = { + is_title_maa_regiment = yes + } + destroy_maa_regiment = yes + } + } + } + change_government = nomad_government + hidden_effect = { + if = { + limit = { + exists = scope:current_treasury # saved in empty_treasury_when_abandoning_landed_life_effect + } + add_gold = { + value = scope:current_treasury + } + } + } + custom_tooltip = { + text = convert_steppe_admin_to_meritocratic_tooltip + convert_steppe_admin_vassals_to_meritocratic_effect = yes + } + hidden_effect = { + every_tributary = { + add_to_list = tributaries + } + every_in_list = { + list = tributaries + start_tributary_interaction_effect = { # to update their contract types for your new status + TRIBUTARY = this + SUZERAIN = root + } + } + } + } + + ai_potential = { + capital_county.title_province = { + NOR = { + has_holding_type = castle_holding + has_holding_type = church_holding + has_holding_type = city_holding + has_holding_type = temple_citadel_holding + } + } + } + + ai_will_do = { + base = 100 # if the potential is met, the AI should do it + } +} + +### Adopt Meritocratic Government ### +convert_to_meritocratic_decision = { + picture = { + reference = "gfx/interface/illustrations/event_story/tgp_dynastic_cycle_stability.dds" + } + decision_group_type = major + + ai_check_interval_by_tier = { + barony = 0 + county = 0 + duchy = 0 + kingdom = 60 + empire = 60 + hegemony = 0 + } + + desc = convert_to_meritocratic_desc + selection_tooltip = convert_to_meritocratic_tooltip + + is_shown = { + has_tgp_dlc_trigger = yes + government_has_flag = government_is_steppe_admin + OR = { + highest_held_title_tier = tier_kingdom # this isn't standard, but will cover some edge cases for orphaned steppe admin kingdoms + highest_held_title_tier = tier_empire + } + any_sub_realm_county = { + count > 0 + title_province = { + OR = { + has_holding_type = castle_holding + has_holding_type = church_holding + has_holding_type = city_holding + has_holding_type = temple_citadel_holding + } + } + } + is_playable_character = yes + } + + is_valid = { + OR = { + has_realm_law = meritocratic_bureaucracy_2 + has_realm_law = meritocratic_bureaucracy_3 + } + save_temporary_scope_value_as = { + name = temp_num_qualifying_counties + value = temp_num_qualifying_counties_count + } + custom_tooltip = { + text = convert_to_meritocratic_county_count + any_sub_realm_county = { + count >= 30 + holder = { + is_governor_or_admin_count = yes + government_has_flag = government_has_merit + } + title_province = { + OR = { + has_holding_type = castle_holding + has_holding_type = church_holding + has_holding_type = city_holding + has_holding_type = temple_citadel_holding + } + } + } + } + } + + is_valid_showing_failures_only = { + is_at_war = no + is_available_adult = yes + has_active_diarchy = no + } + + cost = { + gold = { + value = 0 + if = { + limit = { + has_treasury = no + } + add = monumental_gold_value + } + } + treasury = { + value = 0 + if = { + limit = { + has_treasury = yes + } + add = monumental_gold_value + } + } + prestige = { + value = massive_prestige_value + } + influence = { + value = monumental_influence_value + } + } + + effect = { + add_legitimacy_effect = { LEGITIMACY = monumental_legitimacy_gain } + dynasty = { + add_dynasty_prestige = monumental_dynasty_prestige_gain + } + tgp_domicile_conversion_when_changing_government_type = { + NEW_DOMICILE_TYPE = east_asian_estate + NEW_GOVERNMENT_TYPE = meritocratic_government + } + change_government = meritocratic_government + hidden_effect = { + every_tributary = { + add_to_list = tributaries + } + every_in_list = { + list = tributaries + start_tributary_interaction_effect = { # to update their contract types for your new status + TRIBUTARY = this + SUZERAIN = root + } + } + } + custom_tooltip = { + text = steppe_admin_vassals_will_convert + convert_steppe_admin_vassals_to_meritocratic_effect = yes + } + custom_tooltip = { + text = non_merit_based_vassals_become_tributaries + if = { + limit = { + any_vassal = { + NOT = { + government_has_flag = government_has_merit + } + } + } + create_title_and_vassal_change = { + type = independency + save_scope_as = change + add_claim_on_loss = no + } + every_vassal = { + limit = { + NOT = { + government_has_flag = government_has_merit + } + } + add_to_list = soon_to_be_former_vassals + becomes_independent = { change = scope:change } + } + resolve_title_and_vassal_change = scope:change + every_in_list = { + list = soon_to_be_former_vassals + start_tributary_interaction_effect = { + TRIBUTARY = this + SUZERAIN = root + } + } + } + } + } + + ai_potential = { + } + + ai_will_do = { + base = 0 + modifier = { + add = 20 + NOT = { has_trait = nomadic_philosophy } + } + modifier = { + add = 30 + has_trait = education_learning + } + modifier = { + add = 50 + has_religion = religion:confucianism_religion + } + modifier = { + add = 30 + has_trait = confucian_education + } + } +} diff --git a/common/defines/00_defines.txt b/common/defines/00_defines.txt index deda2994..01ff4d23 100644 --- a/common/defines/00_defines.txt +++ b/common/defines/00_defines.txt @@ -129,7 +129,7 @@ NCharacter = { MAX_PROVISIONS = 2500 # maximum provisions value a character can have PROVISIONS_LOW_WARNING = 500 # when travel planner should warn about provisions running low - BASE_HERD_CONVERSION_RATE = 0.15 # base herd conversion rate + BASE_HERD_CONVERSION_RATE = 0.1 # base herd conversion rate BASE_HERD_CAPACITY = { # base herd capacity for different title tiers 0 # Unlanded 500 # Barony @@ -552,6 +552,7 @@ NGovernment = { "landless_minority_government" "nomad_government" "herder_government" + "peasantrepublic_government" "celestial_government" "japan_administrative_government" "japan_feudal_government" @@ -965,7 +966,7 @@ NCounty = { COUNTY_FERTILITY_DECLINE_FACTOR = 0.125 # Makes all county fertility decline modifiers give out more adjusted growth. 1.1 = 10% stronger decline. Moves equilibriums COUNTY_FERTILITY_EQUILIBRIUM_FACTOR = 0.09 # 0.007 # Factor value for how sensitive the fertility equilibrium is towards small changes. Inverted in calculations: the lower the value the more sensitive the behavior. Set to 100 to have a clear curve. COUNTY_FERTILITY_MONTHLY_CHANGE_LEVELS = { -20 -0.01 0.01 20 } - COUNTY_FERTILITY_NON_NOMAD_HOLDING_MALUS = -0.75 # Negative mult malus applied to the amount of Herd gained from the county fertility in a county that does not have a Nomad or Herder Holding + COUNTY_FERTILITY_NON_NOMAD_HOLDING_MALUS = -0.001 # Negative mult malus applied to the amount of Herd gained from the county fertility in a county that does not have a Nomad or Herder Holding HERD_GAIN_FROM_COUNTY_MULTIPLIER = 0.5 # Direct multiplier on the base Herd gained from County ( Base Gain = CountyFertility * HERD_GAIN_FROM_COUNTY_MULTIPLIER ) } @@ -1398,7 +1399,7 @@ NBarter = { BASE_PROGRESS = 15 PROGRESS_PER_SOLDIER = 0.005 LOOT_PER_SOLDIER = 0.1 # How much loot can a single soldier carry? Minimum increment is 0.001 - BARTER_GOODS_TO_LOOT_MULT = 0.5 # Used to convert Barter Goods to Loot. A value of 0.5 means that 2 Barter Goods are worth 1 Loot + BARTER_GOODS_TO_LOOT_MULT = 1.5 # Used to convert Barter Goods to Loot. A value of 0.5 means that 2 Barter Goods are worth 1 Loot } NCharacterGlow = { diff --git a/common/domiciles/buildings/NEOW_farm_buildings.txt b/common/domiciles/buildings/NEOW_farm_buildings.txt new file mode 100644 index 00000000..79a3ae37 --- /dev/null +++ b/common/domiciles/buildings/NEOW_farm_buildings.txt @@ -0,0 +1,433 @@ + +farmstead_main_01 = { + slot_type = main + construction_time = 1 + allowed_domicile_types = { farmstead } + + cost = { + gold = estate_external_building_high_cost_tier_2_value + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + health = 0.5 + domicile_external_slots_capacity_add = 2 + monthly_barter_goods = 1 + } + + + ai_value = { + value = 100 + } + + parameters = { + camp_unlocks_second_officer = yes + camp_unlocks_huntperson_officer = yes + camp_unlocks_chief_forager_officer = yes + } + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building" + } + + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/farmstead_building_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/farmstead_building_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building" + } + + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/farmstead_building_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/farmstead_building_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building" + } + + asset = { + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/farmstead_building_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/farmstead_building_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building" + } +} + +farmstead_main_02 = { + slot_type = main + construction_time = 730 + allowed_domicile_types = { farmstead } + previous_building = farmstead_main_01 + + can_construct = { + culture ?= { has_innovation = innovation_city_planning } + } + + cost = { + gold = estate_external_building_high_cost_tier_3_value + } + + parameters = { + camp_unlocks_second_officer = yes + reduce_success_of_raid_estate = yes + estate_increase_house_member_investment_cap_1 = yes + monthly_barter_goods = 1.2 + } + + character_modifier = { + domicile_monthly_gold_add = 0.25 + domicile_external_slots_capacity_add = 1 + men_at_arms_cap = 1 + enemy_hostile_scheme_phase_duration_add = miniscule_scheme_phase_duration_malus_value + character_travel_safety_mult = 0.02 + } + + ai_value = { + value = 100 + } + + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building" + } + + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/farmstead_building_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/farmstead_building_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building" + } + + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/farmstead_building_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/farmstead_building_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building" + } + + asset = { + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/farmstead_building_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/farmstead_building_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building" + } +} + +farmstead_main_03 = { + slot_type = main + construction_time = 730 + allowed_domicile_types = { farmstead } + previous_building = farmstead_main_02 + + can_construct = { + culture ?= { has_innovation = innovation_manorialism } + } + + cost = { + gold = estate_external_building_high_cost_tier_4_value + } + + parameters = { + camp_unlocks_second_officer = yes + reduce_success_of_raid_estate = yes + estate_increase_house_member_investment_cap_2 = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.5 + domicile_monthly_gold_mult = 0.02 + domicile_external_slots_capacity_add = 1 + maa_toughness_mult = 0.05 + enemy_hostile_scheme_phase_duration_add = minor_scheme_phase_duration_malus_value + character_travel_safety_mult = 0.02 + monthly_barter_goods = 1.4 + } + + ai_value = { + value = 100 + } + + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building" + } + + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/farmstead_building_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/farmstead_building_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building" + } + + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/farmstead_building_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/farmstead_building_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building" + } + + asset = { + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/farmstead_building_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/farmstead_building_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building" + } +} + +farmstead_main_04 = { + slot_type = main + construction_time = 730 + allowed_domicile_types = { farmstead } + previous_building = farmstead_main_03 + + can_construct = { + culture ?= { has_innovation = innovation_development_03 } + } + + cost = { + gold = estate_external_building_high_cost_tier_5_value + } + + parameters = { + camp_unlocks_second_officer = yes + reduce_success_of_raid_estate = yes + estate_increase_house_member_investment_cap_3 = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.5 + domicile_monthly_gold_mult = 0.03 + domicile_external_slots_capacity_add = 1 + maa_toughness_mult = 0.05 + men_at_arms_cap = 1 + enemy_hostile_scheme_phase_duration_add = medium_scheme_phase_duration_malus_value + character_travel_safety_mult = 0.02 + monthly_barter_goods = 1.6 + } + + ai_value = { + value = 100 + } + + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building" + } + + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/farmstead_building_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/farmstead_building_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building" + } + + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/farmstead_building_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/farmstead_building_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building" + } + + asset = { + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/farmstead_building_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/farmstead_building_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building" + } +} + +farmstead_main_05 = { + slot_type = main + construction_time = 730 + allowed_domicile_types = { farmstead } + previous_building = farmstead_main_04 + + can_construct = { + culture ?= { has_innovation = innovation_cranes } + } + + cost = { + gold = estate_external_building_high_cost_tier_6_value + } + + parameters = { + camp_unlocks_second_officer = yes + reduce_success_of_raid_estate = yes + estate_increase_house_member_investment_cap_4 = yes + } + + character_modifier = { + domicile_monthly_gold_add = 0.75 + domicile_monthly_gold_mult = 0.05 + domicile_external_slots_capacity_add = 1 + maa_toughness_mult = 0.1 + men_at_arms_cap = 1 + enemy_hostile_scheme_phase_duration_add = medium_scheme_phase_duration_malus_value + character_travel_safety_mult = 0.04 + monthly_barter_goods = 1.8 + } + + ai_value = { + value = 100 + } + + asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/estate_building_villa_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_villa_chinese_mask.png" + soundeffect = "event:/DLC/EP4/SFX/UI/domicile_buildings/tgp_ui_domicile_building_chinese_main_building" + } + + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + has_graphical_india_culture_group_trigger = yes + has_graphical_iberian_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/farmstead_building_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/farmstead_building_mena_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building" + } + + asset = { + trigger = { + domicile_location.culture = { + OR = { + has_graphical_western_culture_group_trigger = yes + has_graphical_norse_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/farmstead_building_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/farmstead_building_western_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building" + } + + asset = { + icon = "gfx/interface/icons/domicile_building/farmstead_main.dds" + texture = "gfx/interface/window_domiciles/farmstead_building_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/farmstead_building_byzantine_mask.png" + soundeffect = "event:/DLC/EP3/SFX/UI/domicile_buildings/ep3_ui_domicile_buildings_estate_main_building" + } +} \ No newline at end of file diff --git a/common/domiciles/buildings/NEOW_minority_community_buildings.txt b/common/domiciles/buildings/NEOW_minority_community_buildings.txt index 4fe2d8b1..e0d0b1b9 100644 --- a/common/domiciles/buildings/NEOW_minority_community_buildings.txt +++ b/common/domiciles/buildings/NEOW_minority_community_buildings.txt @@ -3796,7 +3796,7 @@ village_watch_06 = { ### Garden communal_gardens_01 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } cost = { gold = { @@ -3920,7 +3920,7 @@ communal_gardens_01 = { } communal_gardens_02 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = communal_gardens_01 cost = { @@ -4045,7 +4045,7 @@ communal_gardens_02 = { } communal_gardens_03 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = communal_gardens_02 cost = { @@ -4172,7 +4172,7 @@ communal_gardens_03 = { # Leisure Garden sub-branch communal_gardens_leisure_04 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = communal_gardens_03 can_construct = { @@ -4302,7 +4302,7 @@ communal_gardens_leisure_04 = { } communal_gardens_leisure_05 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = communal_gardens_leisure_04 can_construct = { @@ -4432,7 +4432,7 @@ communal_gardens_leisure_05 = { } communal_gardens_leisure_06 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = communal_gardens_leisure_05 can_construct = { @@ -4564,7 +4564,7 @@ communal_gardens_leisure_06 = { # Fruit Garden sub-branch communal_gardens_fruit_04 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = communal_gardens_03 can_construct = { @@ -4694,7 +4694,7 @@ communal_gardens_fruit_04 = { } communal_gardens_fruit_05 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = communal_gardens_fruit_04 can_construct = { @@ -4824,7 +4824,7 @@ communal_gardens_fruit_05 = { } communal_gardens_fruit_06 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = communal_gardens_fruit_05 can_construct = { @@ -6954,7 +6954,7 @@ village_workshop_textile_06 = { ### Storage village_storage_01 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } cost = { gold = { @@ -7037,8 +7037,8 @@ village_storage_01 = { } village_storage_02 = { construction_time = 730 - allowed_domicile_types = { minority_community } - previous_building = village_storage_01 + allowed_domicile_types = { minority_community farmstead } + previous_building = village_storage_01 cost = { gold = { @@ -7123,7 +7123,7 @@ village_storage_02 = { # Warehouse sub-branch village_storage_warehouse_03 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_storage_02 can_construct = { @@ -7209,7 +7209,7 @@ village_storage_warehouse_03 = { } village_storage_warehouse_04 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_storage_warehouse_03 can_construct = { @@ -7297,7 +7297,7 @@ village_storage_warehouse_04 = { # Granary sub-branch village_storage_granary_03 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_storage_02 can_construct = { @@ -7386,7 +7386,7 @@ village_storage_granary_03 = { } village_storage_granary_04 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_storage_granary_03 can_construct = { @@ -7973,7 +7973,7 @@ village_market_06 = { ### Grazing Lands village_grazing_land_01 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } cost = { gold = { @@ -8093,7 +8093,7 @@ village_grazing_land_01 = { } village_grazing_land_02 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_grazing_land_01 cost = { @@ -8215,7 +8215,7 @@ village_grazing_land_02 = { } village_grazing_land_03 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_grazing_land_02 cost = { @@ -8338,7 +8338,7 @@ village_grazing_land_03 = { } village_grazing_land_04 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_grazing_land_03 can_construct = { @@ -8452,7 +8452,7 @@ village_grazing_land_04 = { } grazing_land_05 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_grazing_land_04 can_construct = { @@ -8566,7 +8566,7 @@ grazing_land_05 = { } grazing_land_06 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = grazing_land_05 can_construct = { @@ -8683,7 +8683,7 @@ grazing_land_06 = { ### Grain Fields village_grain_fields_01 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } cost = { gold = { @@ -8820,7 +8820,7 @@ village_grain_fields_01 = { } village_grain_fields_02 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_grain_fields_01 cost = { @@ -8948,7 +8948,7 @@ village_grain_fields_02 = { } village_grain_fields_03 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_grain_fields_02 can_construct = { @@ -9081,7 +9081,7 @@ village_grain_fields_03 = { } village_grain_fields_04 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_grain_fields_03 can_construct = { @@ -9214,7 +9214,7 @@ village_grain_fields_04 = { } village_grain_fields_05 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_grain_fields_04 can_construct = { @@ -9347,7 +9347,7 @@ village_grain_fields_05 = { } village_grain_fields_06 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_grain_fields_05 can_construct = { @@ -9482,7 +9482,7 @@ village_grain_fields_06 = { ### Rice Fields village_rice_field_01 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } cost = { gold = { @@ -9559,7 +9559,7 @@ village_rice_field_01 = { village_rice_field_02 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_rice_field_01 cost = { @@ -9636,7 +9636,7 @@ village_rice_field_02 = { village_rice_field_03 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_rice_field_02 can_construct = { @@ -9718,7 +9718,7 @@ village_rice_field_03 = { village_rice_field_04 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_rice_field_03 can_construct = { @@ -9800,7 +9800,7 @@ village_rice_field_04 = { village_rice_field_05 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_rice_field_04 can_construct = { @@ -9882,7 +9882,7 @@ village_rice_field_05 = { village_rice_field_06 = { construction_time = 730 - allowed_domicile_types = { minority_community } + allowed_domicile_types = { minority_community farmstead } previous_building = village_rice_field_05 can_construct = { diff --git a/common/domiciles/types/NEOW_domicile_types.txt b/common/domiciles/types/NEOW_domicile_types.txt index 0bea98f2..2d413efa 100644 --- a/common/domiciles/types/NEOW_domicile_types.txt +++ b/common/domiciles/types/NEOW_domicile_types.txt @@ -1169,3 +1169,1140 @@ minority_community = { ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_green_lands" } } + +farmstead = { + rename_window = house + + illustration = "gfx/interface/illustrations/event_scenes/ep3_medi_estate.dds" + icon = "gfx/interface/icons/flat_icons/farmer.dds" + map_pin_texture = "gfx/interface/icons/map_icons/map_icon_farmer.dds" + map_pin_anchor = up + map_pin_lobby = yes + + herd = yes + travel = yes + culture_and_faith = yes + + move_with_realm_capital = yes + can_move_manually = no + + base_external_slots = 2 + + map_entity = { + trigger = { + owner ?= { is_alive = yes } + owner.culture = { + OR = { + has_graphical_iranian_culture_group_trigger = yes + has_graphical_mena_culture_group_trigger = yes + has_graphical_steppe_culture_group_trigger = yes + has_graphical_african_culture_group_trigger = yes + } + } + } + reference = "building_mena_city_01_entity" + } + map_entity = { + trigger = { + owner ?= { is_alive = yes } + owner.culture = { + has_graphical_india_culture_group_trigger = yes + } + } + reference = "building_india_city_01_entity" + } + map_entity = { + trigger = { + owner ?= { is_alive = yes } + } + reference = "western_city_01_a_entity" + } + + domicile_temperament_low_modifier = { + name = domicile_temperament_low + army_damage_mult = -0.2 + contract_scheme_phase_duration_add = 10 + domicile_monthly_gold_mult = -0.25 + domicile_monthly_piety_gain_mult = -0.25 + domicile_monthly_prestige_gain_mult = -0.25 + monthly_piety_gain = -0.3 + monthly_prestige_gain = -0.3 + army_maintenance_mult = 0.2 + scale = { + add = default_temperament_low_value_scale + min = 1 + } + } + domicile_temperament_high_modifier = { + name = domicile_temperament_high + domicile_monthly_gold_mult = 0.25 + domicile_monthly_piety_gain_mult = 0.25 + domicile_monthly_prestige_gain_mult = 0.25 + monthly_piety_gain = 0.3 + monthly_prestige_gain = 0.3 + army_maintenance_mult = 0.2 + scale = { + add = default_temperament_high_value_scale + min = 1 + } + } + domicile_temperament_high_modifier = { + name = domicile_temperament_high + army_toughness_mult = 0.05 + owned_contract_scheme_success_chance_growth_add = 0.4 + scale = { + add = default_temperament_high_value_scale + min = 1 + } + } + + domicile_temperament_high_modifier = { + name = domicile_temperament_high + tolerance_advantage_mod = 1 + scale = { + add = default_temperament_high_value_scale + min = 1 + max = 10 + if = { + limit = { + NOT = { has_perk = faithful_perk } + } + multiply = 0 + } + } + } + + domicile_temperament_high_modifier = { + name = domicile_temperament_high + knight_effectiveness_mult = 0.1 + scale = { + add = default_temperament_high_value_scale + min = 1 + if = { + limit = { + NOT = { has_perk = absolute_control_perk } + } + multiply = 0 + } + } + } + + + domicile_temperament_high_modifier = { + name = domicile_temperament_high + personal_scheme_phase_duration_add = -25 + scale = { + add = default_temperament_high_value_scale + min = 1 + if = { + limit = { + NOT = { has_perk = writing_history_perk } + } + multiply = 0 + } + } + } + + domicile_temperament_high_modifier = { + name = domicile_temperament_high + monthly_piety = 0.4 + scale = { + add = { + every_courtier = { + limit = { + faith = root.faith + } + add = 1 + } + } + if = { + limit = { + NOT = { has_perk = religious_icon_perk } + } + multiply = 0 + } + } + } + + domicile_temperament_high_modifier = { + name = domicile_temperament_high + diplomacy = 0.34 + intrigue = 0.34 + martial = 0.34 + stewardship = 0.34 + learning = 0.34 + scale = { + add = { + every_courtier = { + limit = { + is_imprisoned = no + } + faith = { + if = { + limit = { + NOT = { is_in_list = unique_faiths } + add_to_temporary_list = unique_faiths + } + } + } + } + every_in_list = { + list = unique_faiths + add = 1 + } + max = 15 + } + if = { + limit = { + NOT = { has_perk = apostate_perk } + } + multiply = 0 + } + } + } + domicile_building_slots = { + external_slot_1 = { + position = { 19.7% 5.5% } + size = { 15% 30% } + + ### EMPTY SLOT GREEN TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = tells + terrain = hills + terrain = plains + terrain = forest + terrain = farmlands + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_mask.png" + } + + ### EMPTY SLOT ROUGH TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = taiga + terrain = steppe + terrain = drylands + terrain = mountains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_rough.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_rough_mask.png" + } + + ### EMPTY SLOT WETLANDS TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_mask.png" + } + + ### EMPTY SLOT JUNGLE TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + terrain = jungle + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_wetlands.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_wetlands_mask.png" + } + + ### EMPTY SLOT SNOW TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + has_province_modifier = winter_normal_modifier + has_province_modifier = winter_harsh_modifier + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_wetlands.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_wetlands_mask.png" + } + + ### EMPTY SLOT DESERT TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = desert + terrain = desert_mountains + terrain = oasis + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands_mask.png" + } + + + # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + + external_slot_4 = { + position = { 49.0% 2.5% } + size = { 15% 30% } + + ### EMPTY SLOT ASIAN + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/asian_empty_slot_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_04_mask.png" + } + + ### EMPTY SLOT SNOW MOUNTAIN TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + terrain = mountains + + OR = { + has_province_modifier = winter_normal_modifier + has_province_modifier = winter_harsh_modifier + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_02_mask.png" + } + + ### EMPTY SLOT SNOW TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + has_province_modifier = winter_normal_modifier + has_province_modifier = winter_harsh_modifier + + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_snow_02_mask.png" + } + + ### EMPTY SLOT GREEN TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = tells + terrain = hills + terrain = plains + terrain = forest + terrain = farmlands + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_02_mask.png" + } + + ### EMPTY SLOT ROUGH TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = taiga + terrain = steppe + terrain = drylands + terrain = mountains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_rough_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_rough_02_mask.png" + } + + ### EMPTY SLOT WETLANDS TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_green_02_mask.png" + } + + ### EMPTY SLOT JUNGLE TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + terrain = jungle + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_jungle_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_jungle_03_mask.png" + } + + ### EMPTY SLOT DESERT TERRAIN + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = desert + terrain = desert_mountains + terrain = oasis + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/laamp_building_empty_slot_drylands_03_mask.png" + } + + + # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + + main_slot = { + slot_type = main + position = { 28.2% 13.2% } + size = { 28% 34.5% } + + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_01.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_01_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = hills + terrain = mountains + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_grain_fields_byzantine_mask.png" + } + + # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_manor_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_manor_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_western_mask.png" + } + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_manor_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_manor_construction_byzantine_mask.png" + } + } + + external_slot_2 = { + position = { 4% 20% } + size = { 15% 30% } + + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_02_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_jungle_empty_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_06_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_drylands_empty_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_06_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = mountains + terrain = hills + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_rough_empty_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_06_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_06_mask.png" + } + + + # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + + external_slot_3 = { + position = { 14% 46% } + size = { 15% 30% } + + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_03_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_jungle_empty_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_04_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_drylands_empty_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_04_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = mountains + terrain = hills + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_rough_empty_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_04_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty_04.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_04_mask.png" + } + + + # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + + external_slot_5 = { + position = { 64% 29% } + size = { 15% 30% } + + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_05_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_jungle_empty_03.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_03_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_drylands_empty_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_05_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = mountains + terrain = hills + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_rough_empty_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_02_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_02_mask.png" + } + + + # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + + external_slot_6 = { + position = { 43% 52% } + size = { 15% 30% } + + empty_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/yurt_empty_slot_06.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/yurt_empty_slot_06_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_jungle_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_jungle_empty_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_drylands_empty_02.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_drylands_empty_02_mask.png" + } + + empty_slot_asset = { + trigger = { + domicile_location = { + OR = { + terrain = mountains + terrain = hills + terrain = terraced_hills + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_rough_empty_05.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_rough_empty_05_mask.png" + } + + empty_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_grassland_empty.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_grassland_empty_mask.png" + } + + + # Under Construction + construction_slot_asset = { + trigger = { + owner.culture = { + OR = { + has_graphical_chinese_culture_group_trigger = yes + has_graphical_japanese_culture_group_trigger = yes + } + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_chinese.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_chinese_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_mena_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_mena.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_mena_mask.png" + } + construction_slot_asset = { + trigger = { + domicile_location.culture = { + has_graphical_western_culture_group_trigger = yes + } + } + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_western.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_western_mask.png" + } + construction_slot_asset = { + icon = "gfx/interface/icons/flat_icons/plus.dds" + texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine.dds" + intersectionmask_texture = "gfx/interface/window_domiciles/estate_building_construction_byzantine_mask.png" + } + } + } + + domicile_asset = { + trigger = { + domicile_location.culture = { + has_graphical_east_asia_culture_group_trigger = yes + } + } + background = "gfx/interface/window_domiciles/estate_background_steppe_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_steppe_terrain_foreground.dds" + ambience = "event:/DLC/CE2/Ambience/2D/Domicile/ce2_amb_2d_domicile_yurt" + } + + + domicile_asset = { + trigger = { + domicile_location = { + OR = { + terrain = jungle + terrain = wetlands + terrain = floodplains + } + } + } + background = "gfx/interface/window_domiciles/estate_background_jungle_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_jungle_terrain_foreground.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_wetlands" + } + + domicile_asset = { + trigger = { + domicile_location = { + OR = { + terrain = drylands + terrain = desert + terrain = desert_mountains + terrain = oasis + terrain = steppe + } + } + } + background = "gfx/interface/window_domiciles/estate_background_dry_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_dry_terrain_foreground.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_dry_lands" + } + + domicile_asset = { + trigger = { + domicile_location = { + OR = { + terrain = tells + terrain = hills + terrain = mountains + terrain = terraced_hills + } + } + } + background = "gfx/interface/window_domiciles/estate_background_rough_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_rough_terrain_foreground.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_rough_lands" + } + + domicile_asset = { + background = "gfx/interface/window_domiciles/estate_background_green_terrain.dds" + foreground = "gfx/interface/window_domiciles/estate_background_green_terrain_foreground.dds" + ambience = "event:/DLC/EP3/SFX/Ambience/2D/Domicile/ep3_amb_2d_domicile_green_lands" + } +} \ No newline at end of file diff --git a/common/dynasties/NEOW_dynasties.txt b/common/dynasties/NEOW_dynasties.txt index 8ae029b2..40450729 100644 --- a/common/dynasties/NEOW_dynasties.txt +++ b/common/dynasties/NEOW_dynasties.txt @@ -1200,18 +1200,19 @@ ourense_dynasty = { culture = asturleonese } -coimbra_dynasty = { - name = dynn_coimbra +lourenco_dynasty = { + name = dynn_Louren_c_ced_o culture = portuguese } -fogaca_dynasty = { - name = dynn_fogaca +leal_dynasty = { + name = dynn_Leal culture = portuguese } alvarenga_dynasty = { - name = dynn_alvarenga + prefix = dynnp_de + name = dynn_Alvarenga culture = portuguese } @@ -1220,8 +1221,8 @@ aboim_dynasty = { culture = portuguese } -tavora_dynasty = { - name = dynn_tavora +martins_dynasty = { + name = dynn_Martins culture = portuguese } @@ -1769,3 +1770,13 @@ baio_dynasty = { name = dynn_Baio culture = brazilian } + +vidal_dynasty = { + name = dynn_Vidal + culture = romansch +} + +avci_dynasty = { + name = dynn_Avc_i_dot_ + culture = turkisch +} diff --git a/common/flavorization/00_flavorization.txt b/common/flavorization/00_flavorization.txt index d38d081f..5eafe40f 100644 --- a/common/flavorization/00_flavorization.txt +++ b/common/flavorization/00_flavorization.txt @@ -407,6 +407,16 @@ duchy_administrative = { ignore_top_liege_government = yes #In an administrative realm all governors vassals will use the titles of the top liege - this ensures it is only the governors that do, and not also feudal vassals, republican vassals, etc. } } +county_administrative = { + type = title + tier = duchy + priority = 50 + governments = { administrative_government } + flavourization_rules = { + top_liege = yes + ignore_top_liege_government = yes #In an administrative realm all governors vassals will use the titles of the top liege - this ensures it is only the governors that do, and not also feudal vassals, republican vassals, etc. + } +} #duchy_administrative_byzantine_group = { # type = title # tier = duchy @@ -429,6 +439,16 @@ kingdom_administrative = { only_vassals = yes } } +kingdom_peasantrepublic = { + type = title + tier = kingdom + priority = 73 + governments = { peasantrepublic_government } + flavourization_rules = { + top_liege = yes + ignore_top_liege_government = yes #In an administrative realm all governors vassals will use the titles of the top liege - this ensures it is only the governors that do, and not also feudal vassals, republican vassals, etc. + } +} #kingdom_administrative_byzantine_group = { # type = title # tier = kingdom diff --git a/common/flavorization/00_title_holders.txt b/common/flavorization/00_title_holders.txt index 3949e008..1f180623 100644 --- a/common/flavorization/00_title_holders.txt +++ b/common/flavorization/00_title_holders.txt @@ -93,6 +93,7 @@ title_prince = { special = holder priority = 60 titles = { k_switzerland k_saxony k_wales d_monaco d_lictenstein } + governments = { feudal_government tribal_government administrative_government } flavourization_rules = { top_liege = no } @@ -103,6 +104,7 @@ title_princess = { special = holder priority = 60 titles = { k_switzerland k_saxony k_wales d_monaco d_lictenstein } + governments = { feudal_government tribal_government administrative_government } flavourization_rules = { top_liege = no } @@ -111,6 +113,7 @@ title_principality = { type = title titles = { k_saxony k_wales d_monaco d_lictenstein d_andorra } priority = 60 + governments = { feudal_government tribal_government administrative_government } flavourization_rules = { top_liege = no } @@ -120,6 +123,7 @@ swiss_confederation = { type = title titles = { k_switzerland } priority = 60 + governments = { feudal_government tribal_government administrative_government } flavourization_rules = { top_liege = no } @@ -131,6 +135,7 @@ archduke = { special = holder priority = 47 titles = { k_austria } + governments = { feudal_government tribal_government administrative_government } flavourization_rules = { top_liege = no } @@ -141,6 +146,7 @@ archduchess = { special = holder priority = 47 titles = { k_austria } + governments = { feudal_government tribal_government administrative_government } flavourization_rules = { top_liege = no } @@ -149,6 +155,7 @@ archduchy = { type = title tier = kingdom titles = { k_austria } + governments = { feudal_government tribal_government administrative_government } priority = 47 flavourization_rules = { top_liege = no @@ -161,6 +168,7 @@ title_high_king = { special = holder priority = 102 titles = { k_ireland } + governments = { feudal_government tribal_government administrative_government } } title_high_queen = { type = character @@ -168,10 +176,12 @@ title_high_queen = { special = holder priority = 102 titles = { k_ireland } + governments = { feudal_government tribal_government administrative_government } } title_high_kingdom = { type = title titles = { k_ireland } + governments = { feudal_government tribal_government administrative_government } priority = 102 } @@ -3996,6 +4006,7 @@ barony_feudal_sardinian = { # Curadoria tier = barony priority = 7 governments = { feudal_government administrative_government } + heritages = { heritage_sardic } name_lists = { name_list_sardinian } flavourization_rules = { top_liege = no @@ -4008,6 +4019,7 @@ baron_feudal_male_sardinian = { # Curadore tier = barony priority = 7 governments = { feudal_government administrative_government } + heritages = { heritage_sardic } name_lists = { name_list_sardinian } flavourization_rules = { top_liege = no @@ -4020,6 +4032,7 @@ baron_feudal_female_sardinian = { # Curadora tier = barony priority = 7 governments = { feudal_government administrative_government } + heritages = { heritage_sardic } name_lists = { name_list_sardinian } flavourization_rules = { top_liege = no @@ -4031,6 +4044,7 @@ county_feudal_sardinian = { # Judicadu tier = county priority = 18 governments = { feudal_government administrative_government } + heritages = { heritage_sardic } name_lists = { name_list_sardinian } flavourization_rules = { top_liege = no @@ -4043,6 +4057,7 @@ count_feudal_male_sardinian = { # Judike tier = county priority = 18 governments = { feudal_government administrative_government } + heritages = { heritage_sardic } name_lists = { name_list_sardinian } flavourization_rules = { top_liege = no @@ -4055,6 +4070,7 @@ count_feudal_female_sardinian = { # Judesa tier = county priority = 18 governments = { feudal_government administrative_government } + heritages = { heritage_sardic } name_lists = { name_list_sardinian } flavourization_rules = { top_liege = no @@ -4066,6 +4082,7 @@ duchy_feudal_sardinian = { # Archonate tier = duchy priority = 28 governments = { feudal_government administrative_government } + heritages = { heritage_sardic } name_lists = { name_list_sardinian } flavourization_rules = { top_liege = no @@ -4078,6 +4095,7 @@ duke_feudal_male_sardinian = { # Archon tier = duchy priority = 28 governments = { feudal_government administrative_government } + heritages = { heritage_sardic } name_lists = { name_list_sardinian } flavourization_rules = { top_liege = no @@ -4090,6 +4108,7 @@ duke_feudal_female_sardinian = { # Archonesa tier = duchy priority = 28 governments = { feudal_government administrative_government } + heritages = { heritage_sardic } name_lists = { name_list_sardinian } flavourization_rules = { top_liege = no diff --git a/common/flavorization/NEOW_title_holders.txt b/common/flavorization/NEOW_title_holders.txt index 29b84950..d87ca27f 100644 --- a/common/flavorization/NEOW_title_holders.txt +++ b/common/flavorization/NEOW_title_holders.txt @@ -131,6 +131,7 @@ county_sardinian = { # judiacate type = title tier = county priority = 28 + heritages = { heritage_sardic } governments = { administrative_government } name_lists = { name_list_sardinian } } @@ -140,6 +141,7 @@ county_male_sardinian = { # Judex special = holder tier = county priority = 28 + heritages = { heritage_sardic } governments = { administrative_government } name_lists = { name_list_sardinian } } @@ -149,6 +151,7 @@ county_female_sardinian = { # Judex special = holder tier = county priority = 28 + heritages = { heritage_sardic } governments = { administrative_government } name_lists = { name_list_sardinian } @@ -157,6 +160,7 @@ duchy_sardinian = { # judiacate type = title tier = duchy priority = 28 + heritages = { heritage_sardic } governments = { administrative_government } name_lists = { name_list_sardinian } } @@ -166,6 +170,7 @@ duke_male_sardinian = { # Judex special = holder tier = duchy priority = 28 + heritages = { heritage_sardic } governments = { administrative_government } name_lists = { name_list_sardinian } } @@ -175,6 +180,7 @@ duke_female_sardinian = { # Judex special = holder tier = duchy priority = 28 + heritages = { heritage_sardic } governments = { administrative_government } name_lists = { name_list_sardinian } } @@ -183,6 +189,7 @@ king_administrative_sardinian = { # Archonesa type = title tier = kingdom priority = 106 + heritages = { heritage_sardic } governments = { administrative_government } name_lists = { name_list_sardinian } } @@ -193,6 +200,7 @@ king_male_sardinian = { # Judex special = holder tier = kingdom priority = 106 + heritages = { heritage_sardic } governments = { administrative_government } name_lists = { name_list_sardinian } } @@ -203,6 +211,7 @@ king_female_sardinian = { # Judex special = holder tier = kingdom priority = 106 + heritages = { heritage_sardic } governments = { administrative_government } } @@ -264,4 +273,121 @@ druid_king_female = { # Bandruí-Queen flavourization_rules = { top_liege = no } +} + +baron_peasantrepublic_male = { + type = character + gender = male + special = holder + tier = barony + priority = 7 + governments = { peasantrepublic_government } +} +baron_peasantrepublic_female = { + type = character + gender = female + special = holder + tier = barony + priority = 7 + governments = { peasantrepublic_government } +} +barony_peasantrepublic = { + type = title + tier = barony + priority = 7 + governments = { peasantrepublic_government } +} +count_peasantrepublic_male = { + type = character + gender = male + special = holder + tier = county + priority = 28 + governments = { peasantrepublic_government } +} +count_peasantrepublic_female = { + type = character + gender = female + special = holder + tier = county + priority = 28 + governments = { peasantrepublic_government } +} +county_peasantrepublic = { + type = title + tier = county + priority = 51 + governments = { peasantrepublic_government } +} +duke_peasantrepublic_male = { + type = character + gender = male + special = holder + tier = duchy + priority = 29 + governments = { peasantrepublic_government } +} +duke_peasantrepublic_female = { + type = character + gender = female + special = holder + tier = duchy + priority = 29 + governments = { peasantrepublic_government } +} +duchy_peasantrepublic = { + type = title + tier = duchy + priority = 60 + governments = { peasantrepublic_government } + +} +king_peasantrepublic_male = { + type = character + gender = male + special = holder + tier = kingdom + priority = 75 + governments = { peasantrepublic_government } + +} +king_peasantrepublic_female = { + type = character + gender = female + special = holder + tier = kingdom + priority = 75 + governments = { peasantrepublic_government } + +} +kingdom_peasantrepublic = { + type = title + tier = kingdom + priority = 75 + governments = { peasantrepublic_government } +} + +emperor_peasantrepublic_male = { + type = character + gender = male + special = holder + tier = empire + priority = 102 + governments = { peasantrepublic_government } + +} +emperor_peasantrepublic_female = { + type = character + gender = female + special = holder + tier = empire + priority = 102 + governments = { peasantrepublic_government } + +} +empire_peasantrepublic = { + type = title + tier = empire + priority = 102 + governments = { peasantrepublic_government } } \ No newline at end of file diff --git a/common/game_concepts/neow_game_concepts.txt b/common/game_concepts/neow_game_concepts.txt index bbf1dffc..63b01fe3 100644 --- a/common/game_concepts/neow_game_concepts.txt +++ b/common/game_concepts/neow_game_concepts.txt @@ -24,5 +24,15 @@ minority_community = { } minority_government = { texture = "gfx/interface/icons/government_types/landless_minority_government.dds" + parent = government +} +farmstead = { + texture = "gfx/interface/icons/government_types/peasantrepublic_government.dds" + alias = { farmstead farmstead_i } parent = domicile +} +peasantrepublic_government = { + texture = "gfx/interface/icons/government_types/peasantrepublic_government.dds" + alias = { peasantrepublic_government peasantrepublic_i } + parent = government } \ No newline at end of file diff --git a/common/game_rules/NEOW_game_rules.txt b/common/game_rules/NEOW_game_rules.txt new file mode 100644 index 00000000..ae500847 --- /dev/null +++ b/common/game_rules/NEOW_game_rules.txt @@ -0,0 +1,10 @@ +disable_achievements = { + categories = { + game_modes + } + + default = achievements_disabled + + achievements_enabled = {} + achievements_disabled = { flag = blocks_achievements } +} \ No newline at end of file diff --git a/common/governments/00_government_types.txt b/common/governments/00_government_types.txt index 9f1651bb..c2d8d7ab 100644 --- a/common/governments/00_government_types.txt +++ b/common/governments/00_government_types.txt @@ -23,7 +23,10 @@ feudal_government = { ai = { use_legends = yes } - + character_modifier = { + ai_war_cooldown = 1.5 + ai_war_chance = -0.15 + } # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). flags = { government_is_feudal @@ -49,6 +52,20 @@ republic_government = { inherit_from_dynastic_government = no } + can_get_government = { + + NOR = { + culture = { + has_cultural_tradition = tradition_farmer_republics + } + faith = { + has_doctrine = tenet_communal_possessions + } + liege = { + has_government = peasantrepublic_government + } + } + } ai = { arrange_marriage = no use_goals = no @@ -175,6 +192,10 @@ clan_government = { } } + character_modifier = { + ai_war_cooldown = 1.5 + ai_war_chance = -0.15 + } # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). flags = { government_is_clan @@ -227,8 +248,9 @@ tribal_government = { character_travel_safety = 10 - ai_war_chance = 0.25 monthly_prestige = 0.2 + ai_war_cooldown = 1.5 + ai_war_chance = -0.05 } # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). @@ -289,6 +311,8 @@ wanua_government = { # "Wanua" domain_limit_max = 2 vassal_limit_max = 2 + ai_war_cooldown = 1.5 + ai_war_chance = -0.55 } can_get_government = { @@ -441,6 +465,8 @@ administrative_government = { # Vassals get Treasury income that is this percentage less than their taxes to their liege monthly_treasury_from_liege_mult = -0.15 + ai_war_cooldown = 1.5 + ai_war_chance = -0.15 } top_liege_character_modifier = { @@ -607,6 +633,82 @@ landless_minority_government = { realm_mask_offset = { 0.0 0.0 } realm_mask_scale = { 1 1 } } + +peasantrepublic_government = { + primary_holding = city_holding + valid_holdings = { temple_citadel_holding } + required_county_holdings = { city_holding church_holding } + government_rules = { + create_cadet_branches = yes + court_generate_spouses = yes + council = yes + always_use_patronym = yes + rulers_should_have_dynasty = yes + landless_playable = yes + legitimacy = yes + barter = yes + mercenary = yes + use_as_base_on_landed = yes + allow_out_of_realm_inheritance = no + use_as_base_on_rank_up = yes + uses_county_fertility = yes + sticky_government = yes + replenishes_county_fertility = yes + regiments_use_barter_goods_as_gold = yes + } + + can_get_government = { + OR = { + culture = { + has_cultural_tradition = tradition_farmer_republics + } + faith = { + has_doctrine = tenet_communal_possessions + } + liege = { + has_government = peasantrepublic_government + } + } + } + domicile_type = farmstead + character_modifier = { + feudal_government_tax_contribution_mult = -0.5 + feudal_government_levy_contribution_mult = -0.5 + clan_government_tax_contribution_mult = -0.5 + clan_government_levy_contribution_mult = -0.5 + ignore_negative_opinion_of_culture = yes + men_at_arms_cap = -1 + men_at_arms_limit = -1 + knight_limit = -4 + active_accolades = -1 + title_creation_cost_mult = 1.5 + mercenary_hire_cost_mult = 2 + men_at_arms_maintenance = 1.5 + vassal_limit = 5 + ai_war_cooldown = 1.5 + ai_war_chance = -0.15 + } + vassal_contract_group = peasantrepublic_vassal + + # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). + flags = { + government_is_settled + may_elevate_co_monarch + government_uses_legitimacy + government_uses_domain_limit + government_is_herder + government_has_herd + government_is_barterer + government_is_prepublic + government_locked_to_elective + government_allows_nomad_domicile_titles + } + + mechanic_type = feudal + color = hsv{ 0.30 0.60 0.68 } + realm_mask_offset = { 0.0 -0.01 } + realm_mask_scale = { 1 1 } +} ### Brief: nomad_government # Default nomad government, used for the Steppe Region # @@ -741,6 +843,7 @@ herder_government = { # Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player). flags = { government_is_herder + government_is_true_herder government_has_herd ignores_faith_marriage_penalties } @@ -808,6 +911,8 @@ celestial_government = { # Vassals get Treasury income that is this percentage less than their taxes to their liege monthly_treasury_from_liege_mult = -0.25 + ai_war_cooldown = 1.5 + ai_war_chance = -0.15 } top_liege_character_modifier = { diff --git a/common/landed_titles/LAAMPs.txt b/common/landed_titles/LAAMPs.txt index afcae18c..bbf3fc69 100644 --- a/common/landed_titles/LAAMPs.txt +++ b/common/landed_titles/LAAMPs.txt @@ -103,9 +103,24 @@ d_laamp_cale_roman = { ai_primary_priority = { add = @never_primary_score } } + +d_laamp_turkisch_simurghi = { + color = { 100 100 100 } + capital = c_cologne + + definite_form = yes + landless = yes + ruler_uses_title_name = no + always_follows_primary_heir = yes + no_automatic_claims = yes + noble_family = yes + destroy_if_invalid_heir = yes + + ai_primary_priority = { add = @never_primary_score } +} d_laamp_beur_simurghi = { color = { 100 100 100 } - capital = c_bouches_du_rhone + capital = c_ile_de_france definite_form = yes landless = yes diff --git a/common/landed_titles/italy.txt b/common/landed_titles/italy.txt index 4c82d0fc..ccd94d13 100644 --- a/common/landed_titles/italy.txt +++ b/common/landed_titles/italy.txt @@ -503,7 +503,7 @@ e_italy = { name_list_NEOW_french=cn_tyrrh_e_act_nie } - d_palermo= { + d_palermo = { color = { 57 114 45 } #can_be_named_after_dynasty = no @@ -2111,12 +2111,12 @@ e_italy = { color = { 160 225 210 } } - b_ceneta = { + b_ceneta = { # Conegliano province = 2511 color = { 160 225 210 } } - b_pieve = { + b_pieve = { # Belluno province = 9707 color = { 55 55 70 } diff --git a/common/laws/00_succession_laws.txt b/common/laws/00_succession_laws.txt index c91c100d..e7e4abea 100644 --- a/common/laws/00_succession_laws.txt +++ b/common/laws/00_succession_laws.txt @@ -40,6 +40,9 @@ } is_confederation_member = no } + NOT = { + government_has_flag = government_is_prepublic + } } should_start_with = { NOR = { @@ -82,6 +85,7 @@ potential = { NOR = { + government_has_flag = government_is_prepublic government_has_flag = government_is_nomadic government_has_flag = government_is_clan government_has_flag = government_is_administrative @@ -126,6 +130,9 @@ is_confederation_member = yes } } + NOT = { + government_has_flag = government_is_prepublic + } } should_start_with = { NOR = { @@ -169,6 +176,7 @@ potential = { NOR = { + government_has_flag = government_is_prepublic government_has_flag = government_is_nomadic government_has_flag = government_is_clan government_has_flag = government_is_administrative @@ -190,6 +198,9 @@ can_have = { NOT = { government_has_flag = government_is_nomadic } can_have_high_partition_succession_law_trigger = yes + NOT = { + government_has_flag = government_is_prepublic + } } should_start_with = { NOR = { @@ -234,6 +245,7 @@ potential = { NOR = { + government_has_flag = government_is_prepublic government_has_flag = government_is_nomadic government_has_flag = government_is_clan government_has_flag = government_is_administrative @@ -264,6 +276,9 @@ can_have = { NOT = { government_has_flag = government_is_nomadic } can_have_single_heir_succession_law_trigger = yes + NOT = { + government_has_flag = government_is_prepublic + } } can_pass = { can_change_succession_law_trigger = yes @@ -323,6 +338,7 @@ potential = { NOR = { + government_has_flag = government_is_prepublic government_has_flag = government_is_nomadic government_has_flag = government_is_mandala } @@ -344,6 +360,9 @@ } can_have = { government_has_flag = government_is_nomadic + NOT = { + government_has_flag = government_is_prepublic + } } can_pass = { government_has_flag = government_is_nomadic @@ -395,6 +414,9 @@ can_have = { NOT = { government_has_flag = government_is_nomadic } can_have_single_heir_youngest_succession_law_trigger = yes + NOT = { + government_has_flag = government_is_prepublic + } } can_pass = { can_change_succession_law_trigger = yes @@ -475,6 +497,9 @@ can_have = { NOT = { government_has_flag = government_is_nomadic } can_have_single_heir_dynasty_house_trigger = yes + NOT = { + government_has_flag = government_is_prepublic + } } can_pass = { can_change_single_heir_dynasty_house_succession_law_trigger = yes @@ -537,6 +562,7 @@ potential = { NOR = { + government_has_flag = government_is_prepublic government_has_flag = government_is_administrative government_has_flag = government_is_nomadic government_has_flag = government_is_mandala @@ -554,6 +580,9 @@ can_have = { NOT = { government_has_flag = government_is_nomadic } can_have_acclamation_succession_law_trigger = yes + NOT = { + government_has_flag = government_is_prepublic + } } should_start_with = { has_ep3_dlc_trigger = yes @@ -586,6 +615,7 @@ government_allows = administrative is_independent_ruler = yes NOR = { + government_has_flag = government_is_prepublic government_has_flag = government_is_celestial government_has_flag = government_is_japan_administrative government_has_flag = government_is_meritocratic @@ -609,6 +639,9 @@ can_have = { NOT = { government_has_flag = government_is_nomadic } can_have_appointment_succession_law_trigger = yes + NOT = { + government_has_flag = government_is_prepublic + } } can_pass = { can_change_appointment_succession_law_trigger = yes @@ -673,6 +706,9 @@ } can_have = { government_has_flag = government_is_landless_adventurer + NOT = { + government_has_flag = government_is_prepublic + } } can_pass = { government_has_flag = government_is_landless_adventurer @@ -704,9 +740,15 @@ bishop_theocratic_succession_law = { can_keep = { can_have_bishop_theocratic_succession_law_trigger = yes # same as can_have + NOT = { + government_has_flag = government_is_prepublic + } } can_have = { can_have_bishop_theocratic_succession_law_trigger = yes + NOT = { + government_has_flag = government_is_prepublic + } } should_start_with = { always = yes @@ -725,9 +767,15 @@ holy_order_succession_law = { can_keep = { can_have_holy_order_succession_law_trigger = yes # same as can_have + NOT = { + government_has_flag = government_is_prepublic + } } can_have = { can_have_holy_order_succession_law_trigger = yes + NOT = { + government_has_flag = government_is_prepublic + } } should_start_with = { government_has_flag = government_is_holy_order @@ -766,9 +814,15 @@ city_succession_law = { can_keep = { can_have_city_succession_law_trigger = yes + NOT = { + government_has_flag = government_is_prepublic + } } can_have = { can_have_city_succession_law_trigger = yes + NOT = { + government_has_flag = government_is_prepublic + } } should_start_with = { government_has_flag = government_is_republic @@ -801,6 +855,9 @@ house ?= { has_house_unity_stage = antagonistic } + NOT = { + government_has_flag = government_is_prepublic + } } should_start_with = { @@ -858,6 +915,9 @@ house ?= { has_house_unity_stage = competitive } + NOT = { + government_has_flag = government_is_prepublic + } } should_start_with = { government_has_flag = government_is_clan @@ -917,6 +977,9 @@ house ?= { has_house_unity_stage = impassive } + NOT = { + government_has_flag = government_is_prepublic + } } should_start_with = { government_has_flag = government_is_clan @@ -975,6 +1038,9 @@ house ?= { has_house_unity_stage = friendly } + NOT = { + government_has_flag = government_is_prepublic + } } should_start_with = { government_has_flag = government_is_clan @@ -1027,6 +1093,9 @@ house ?= { has_house_unity_stage = harmonious } + NOT = { + government_has_flag = government_is_prepublic + } } should_start_with = { government_has_flag = government_is_clan @@ -1065,9 +1134,15 @@ herder_succession_law = { can_keep = { can_have_herder_succession_law_trigger = yes + NOT = { + government_has_flag = government_is_prepublic + } } can_have = { can_have_herder_succession_law_trigger = yes + NOT = { + government_has_flag = government_is_prepublic + } } should_start_with = { government_has_flag = government_is_herder @@ -1105,6 +1180,9 @@ can_have = { government_allows = administrative is_independent_ruler = no + NOT = { + government_has_flag = government_is_prepublic + } } can_pass = { government_allows = administrative diff --git a/common/laws/01_title_succession_laws.txt b/common/laws/01_title_succession_laws.txt index 90dda5af..c37630e8 100644 --- a/common/laws/01_title_succession_laws.txt +++ b/common/laws/01_title_succession_laws.txt @@ -5,6 +5,7 @@ government_has_flag = government_is_feudal highest_held_title_tier >= tier_county NOR = { #Cultures have their special flavor. + government_has_flag = government_is_prepublic culture = { has_cultural_parameter = witenagemot_succession_enabled } culture = { has_cultural_parameter = scandinavian_elective_enabled } culture = { has_cultural_parameter = tribal_elective_enabled } #FP3 addition @@ -37,6 +38,9 @@ government_has_flag = government_is_feudal government_has_flag = government_is_clan } + NOT = { + government_has_flag = government_is_prepublic + } highest_held_title_tier = tier_empire } can_pass = { @@ -67,25 +71,27 @@ # Witenagemot saxon_elective_succession_law = { can_have = { - OR = { - government_has_flag = government_is_feudal - government_has_flag = government_is_clan - government_has_flag = government_is_tribal - } - highest_held_title_tier >= tier_kingdom + government_has_flag = government_is_prepublic } can_pass = { can_change_title_law_trigger = yes - culture = { has_cultural_parameter = witenagemot_succession_enabled } } can_title_have = { - can_title_have_law_general_trigger = yes + tier >= tier_county + is_temporal_head_of_faith_trigger = no + NOT = { + is_nomad_title = yes + } } succession = { order_of_succession = election election_type = saxon_elective } + should_start_with = { + government_has_flag = government_is_prepublic + } flag = elective_succession_law + flag = titles_cannot_leave_realm_on_succession title_allegiance_opinion = 5 revoke_cost = { prestige = change_title_succession_law_prestige_cost @@ -93,6 +99,9 @@ pass_cost = { prestige = change_title_succession_law_prestige_cost } + potential = { + government_has_flag = government_is_prepublic + } } # Thing @@ -103,6 +112,9 @@ government_has_flag = government_is_clan government_has_flag = government_is_tribal } + NOT = { + government_has_flag = government_is_prepublic + } highest_held_title_tier >= tier_duchy } can_pass = { @@ -134,6 +146,9 @@ government_has_flag = government_is_clan government_has_flag = government_is_tribal } + NOT = { + government_has_flag = government_is_prepublic + } highest_held_title_tier >= tier_duchy } can_pass = { @@ -171,6 +186,9 @@ government_has_flag = government_is_clan government_has_flag = government_is_tribal } + NOT = { + government_has_flag = government_is_prepublic + } highest_held_title_tier >= tier_kingdom } can_pass = { @@ -216,7 +234,13 @@ # Noble Family Succession noble_family_succession_law = { can_title_have = { - is_noble_family_title = yes + OR = { + is_noble_family_title = yes + AND = { + is_nomad_title = yes + government_has_flag = government_is_prepublic + } + } } should_show_for_title = { # Never show this in the UI, just apply it through script always = no @@ -292,6 +316,9 @@ celestial_ministry_appointment_succession_law = { can_have = { government_has_flag = government_is_celestial + NOT = { + government_has_flag = government_is_prepublic + } } can_pass = { } @@ -330,6 +357,9 @@ celestial_grand_marshal_appointment_succession_law = { can_have = { government_has_flag = government_is_celestial + NOT = { + government_has_flag = government_is_prepublic + } } can_pass = { } diff --git a/common/legitimacy/00_legitimacy.txt b/common/legitimacy/00_legitimacy.txt new file mode 100644 index 00000000..0ba484b1 --- /dev/null +++ b/common/legitimacy/00_legitimacy.txt @@ -0,0 +1,915 @@ +###################### +# Legitimacy +###################### + +count_legitimacy = { + is_valid = { + highest_held_title_tier = tier_county + government_has_flag = government_is_prepublic + NOR = { + government_allows = administrative + government_has_flag = government_is_nomadic + government_has_flag = government_is_mandala + } + } + + ai_expected_level = default_ai_legitimacy_expectation + + below_expectations_opinion = default_legitimacy_opinion_penalty + + max = legitimacy_max + + # Scales based on Tier and Era + ## A Tribal era Count requires 4x less than a Late Medieval era Emperor + level = { + threshold = legitimacy_level_1 + modifier = { + short_reign_duration_mult = 0.25 + monthly_dynasty_prestige = -0.1 + county_opinion_add = -10 + } + flag = reduced_marriage_acceptance + flag = increased_claim_cb_cost + flag = reduced_alliance_acceptance + flag = reduced_vassalization_acceptance + flag = reduced_tributarization_acceptance + flag = increased_factions + } + # Gap of at least 50 + level = { + threshold = legitimacy_level_2 # 50-200 + modifier = { + short_reign_duration_mult = -0.1 + } + } + # Gap of at least 100 + level = { + threshold = legitimacy_level_3 # 150-600 + modifier = { + short_reign_duration_mult = -0.25 + } + flag = reduced_claim_cb_cost + flag = increased_marriage_acceptance + } + # Gap of at least 200 + level = { + threshold = legitimacy_level_4 # 350-1400 + modifier = { + short_reign_duration_mult = -0.5 + county_opinion_add = 10 + } + flag = increased_marriage_acceptance + flag = increased_alliance_acceptance + flag = very_reduced_claim_cb_cost + flag = reduced_factions + flag = reduced_swing_scales_cost + flag = reduced_title_creation_cost + } + # Gap of at least 350 + level = { + threshold = legitimacy_level_5 # 700-2800 + modifier = { + short_reign_duration_mult = -0.75 + monthly_dynasty_prestige = 0.25 + county_opinion_add = 20 + } + flag = very_increased_marriage_acceptance + flag = very_increased_alliance_acceptance + flag = extra_reduced_claim_cb_cost + flag = very_reduced_factions + flag = very_reduced_swing_scales_cost + flag = very_reduced_title_creation_cost + } + # Gap of at least 500 + level = { + threshold = legitimacy_level_6 # 1200-4800 + modifier = { + short_reign_duration_mult = -1 + monthly_dynasty_prestige = 0.5 + county_opinion_add = 30 + } + flag = extra_increased_marriage_acceptance + flag = extra_increased_alliance_acceptance + flag = extra_reduced_claim_cb_cost + flag = extra_reduced_factions + flag = extra_swing_scales_cost + flag = extra_reduced_title_creation_cost + } +} + +duke_legitimacy = { + is_valid = { + highest_held_title_tier = tier_duchy + NOT = { + government_has_flag = government_is_prepublic + } + NOR = { + government_allows = administrative + government_has_flag = government_is_nomadic + government_has_flag = government_is_mandala + } + } + + ai_expected_level = default_ai_legitimacy_expectation + + below_expectations_opinion = default_legitimacy_opinion_penalty + + max = legitimacy_max + + # Scales based on Tier and Era + ## A Tribal era Count requires 4x less than a Late Medieval era Emperor + level = { + threshold = legitimacy_level_1 + modifier = { + short_reign_duration_mult = 0.5 + monthly_dynasty_prestige = -0.1 + county_opinion_add = -10 + } + flag = very_reduced_marriage_acceptance + flag = very_increased_claim_cb_cost + flag = very_reduced_alliance_acceptance + flag = very_reduced_vassalization_acceptance + flag = slightly_reduced_tributarization_acceptance + flag = very_increased_factions + flag = very_increased_swing_scales_cost + } + # Gap of at least 50 + level = { + threshold = legitimacy_level_2 # 50-200 + modifier = { + short_reign_duration_mult = 0.1 + county_opinion_add = -5 + } + flag = reduced_marriage_acceptance + flag = increased_claim_cb_cost + flag = reduced_alliance_acceptance + flag = reduced_vassalization_acceptance + flag = reduced_tributarization_acceptance + flag = increased_factions + flag = increased_swing_scales_cost + } + # Gap of at least 100 + level = { + threshold = legitimacy_level_3 # 150-600 + modifier = { + short_reign_duration_mult = -0.15 + } + } + # Gap of at least 200 + level = { + threshold = legitimacy_level_4 # 350-1400 + modifier = { + short_reign_duration_mult = -0.35 + } + flag = increased_marriage_acceptance + flag = reduced_claim_cb_cost + flag = increased_alliance_acceptance + flag = increased_vassalization_acceptance + flag = increased_tributarization_acceptance + flag = reduced_factions + flag = reduced_swing_scales_cost + flag = reduced_title_creation_cost + } + # Gap of at least 350 + level = { + threshold = legitimacy_level_5 # 700-2800 + modifier = { + short_reign_duration_mult = -0.65 + county_opinion_add = 10 + } + flag = very_increased_marriage_acceptance + flag = very_reduced_claim_cb_cost + flag = very_increased_alliance_acceptance + flag = very_increased_vassalization_acceptance + flag = very_increased_tributarization_acceptance + flag = very_reduced_factions + flag = very_reduced_swing_scales_cost + flag = very_reduced_title_creation_cost + } + # Gap of at least 500 + level = { + threshold = legitimacy_level_6 # 1200-4800 + modifier = { + short_reign_duration_mult = -1 + monthly_dynasty_prestige = 0.25 + county_opinion_add = 20 + } + flag = extra_increased_marriage_acceptance + flag = extra_reduced_claim_cb_cost + flag = extra_increased_alliance_acceptance + flag = extra_increased_vassalization_acceptance + flag = extra_increased_tributarization_acceptance + flag = extra_reduced_factions + flag = extra_reduced_swing_scales_cost + flag = extra_reduced_title_creation_cost + } +} + +king_legitimacy = { + is_valid = { + highest_held_title_tier = tier_kingdom + NOT = { + government_has_flag = government_is_prepublic + } + OR = { + NOT = { government_allows = administrative } + top_liege = this + } + NOR = { + government_has_flag = government_is_nomadic + government_has_flag = government_is_mandala + } + } + + ai_expected_level = default_ai_legitimacy_expectation + + below_expectations_opinion = default_legitimacy_opinion_penalty + + max = legitimacy_max + + # Scales based on Tier and Era + ## A Tribal era Count requires 4x less than a Late Medieval era Emperor + level = { + threshold = legitimacy_level_1 + modifier = { + short_reign_duration_mult = 0.75 + monthly_dynasty_prestige = -0.2 + county_opinion_add = -20 + } + flag = very_reduced_marriage_acceptance + flag = very_increased_claim_cb_cost + flag = very_reduced_alliance_acceptance + flag = very_reduced_vassalization_acceptance + flag = reduced_tributarization_acceptance + flag = very_increased_factions + flag = very_increased_swing_scales_cost + + } + # Gap of at least 50 + level = { + threshold = legitimacy_level_2 # 50-200 + modifier = { + short_reign_duration_mult = 0.5 + monthly_dynasty_prestige = -0.1 + county_opinion_add = -10 + } + flag = reduced_marriage_acceptance + flag = increased_claim_cb_cost + flag = reduced_alliance_acceptance + flag = reduced_vassalization_acceptance + flag = slightly_reduced_tributarization_acceptance + flag = increased_factions + flag = increased_swing_scales_cost + } + # Gap of at least 100 + level = { + threshold = legitimacy_level_3 # 150-600 + modifier = { + short_reign_duration_mult = 0.25 + } + flag = reduced_marriage_acceptance + flag = reduced_vassalization_acceptance + flag = increased_claim_cb_cost + } + # Gap of at least 200 + level = { + threshold = legitimacy_level_4 # 350-1400 + modifier = { + short_reign_duration_mult = -0.10 + } + } + # Gap of at least 350 + level = { + threshold = legitimacy_level_5 # 700-2800 + modifier = { + short_reign_duration_mult = -0.25 + } + flag = increased_marriage_acceptance + flag = reduced_claim_cb_cost + flag = increased_alliance_acceptance + flag = increased_vassalization_acceptance + flag = increased_tributarization_acceptance + flag = reduced_factions + flag = reduced_swing_scales_cost + flag = reduced_title_creation_cost + } + # Gap of at least 500 + level = { + threshold = legitimacy_level_6 # 1200-4800 + modifier = { + short_reign_duration_mult = -0.5 + county_opinion_add = 10 + monthly_dynasty_prestige = 0.25 + } + flag = very_increased_marriage_acceptance + flag = very_reduced_claim_cb_cost + flag = very_increased_alliance_acceptance + flag = very_increased_vassalization_acceptance + flag = very_increased_tributarization_acceptance + flag = very_reduced_factions + flag = very_reduced_swing_scales_cost + flag = very_reduced_title_creation_cost + } +} + +emperor_legitimacy = { + is_valid = { + highest_held_title_tier = tier_empire + NOT = { + government_has_flag = government_is_prepublic + } + NOR = { + government_has_flag = government_is_nomadic + government_has_flag = government_is_mandala + } + } + + ai_expected_level = default_ai_legitimacy_expectation + + below_expectations_opinion = default_legitimacy_opinion_penalty + + max = legitimacy_max + + # Scales based on Tier and Era + ## A Tribal era Count requires 4x less than a Late Medieval era Emperor + level = { + threshold = legitimacy_level_1 + modifier = { + short_reign_duration_mult = 1 + monthly_dynasty_prestige = -0.3 + county_opinion_add = -30 + } + flag = massively_reduced_marriage_acceptance + flag = massively_increased_claim_cb_cost + flag = massively_reduced_vassalization_acceptance + flag = massively_reduced_tributarization_acceptance + flag = massively_reduced_alliance_acceptance + flag = massively_increased_factions + flag = massively_increased_swing_scales_cost + } + # Gap of at least 50 + level = { + threshold = legitimacy_level_2 # 50-200 + modifier = { + short_reign_duration_mult = 0.65 + monthly_dynasty_prestige = -0.2 + county_opinion_add = -20 + } + flag = very_reduced_marriage_acceptance + flag = very_increased_claim_cb_cost + flag = very_reduced_alliance_acceptance + flag = very_reduced_vassalization_acceptance + flag = very_reduced_tributarization_acceptance + flag = very_increased_factions + flag = very_increased_swing_scales_cost + } + # Gap of at least 100 + level = { + threshold = legitimacy_level_3 # 150-600 + modifier = { + short_reign_duration_mult = 0.35 + monthly_dynasty_prestige = -0.1 + county_opinion_add = -10 + } + flag = reduced_marriage_acceptance + flag = reduced_alliance_acceptance + flag = increased_claim_cb_cost + flag = reduced_vassalization_acceptance + flag = reduced_tributarization_acceptance + flag = increased_factions + flag = increased_swing_scales_cost + } + # Gap of at least 200 + level = { + threshold = legitimacy_level_4 # 350-1400 + modifier = { + short_reign_duration_mult = 0.15 + } + flag = reduced_marriage_acceptance + flag = reduced_vassalization_acceptance + flag = slightly_reduced_tributarization_acceptance + flag = increased_claim_cb_cost + } + # Gap of at least 350 + level = { + threshold = legitimacy_level_5 # 700-2800 + modifier = { + short_reign_duration_mult = -0.1 + } + } + # Gap of at least 500 + level = { + threshold = legitimacy_level_6 # 1200-4800 + modifier = { + short_reign_duration_mult = -0.25 + county_opinion_add = 10 + } + flag = increased_marriage_acceptance + flag = reduced_claim_cb_cost + flag = increased_alliance_acceptance + flag = increased_vassalization_acceptance + flag = increased_tributarization_acceptance + flag = reduced_factions + flag = reduced_title_creation_cost + flag = reduced_swing_scales_cost + } +} + +hegemon_legitimacy = { + is_valid = { + highest_held_title_tier = tier_hegemony + NOT = { + government_has_flag = government_is_prepublic + } + NOT = { government_has_flag = government_is_mandala } + NAND = { + has_tgp_dlc_trigger = yes + has_title = title:h_china + } + NOR = { + government_has_flag = government_is_nomadic + government_has_flag = government_is_mandala + } + } + + ai_expected_level = default_ai_legitimacy_expectation + + below_expectations_opinion = default_legitimacy_opinion_penalty + + max = legitimacy_max + + # Scales based on Tier and Era + ## A Tribal era Count requires 4x less than a Late Medieval era Emperor + level = { + threshold = legitimacy_level_1 + modifier = { + short_reign_duration_mult = 1.25 + monthly_dynasty_prestige = -0.4 + county_opinion_add = -40 + } + flag = massively_reduced_marriage_acceptance + flag = massively_increased_claim_cb_cost + flag = massively_reduced_vassalization_acceptance + flag = massively_reduced_tributarization_acceptance + flag = massively_reduced_alliance_acceptance + flag = massively_increased_factions + flag = massively_increased_swing_scales_cost + } + # Gap of at least 50 + level = { + threshold = legitimacy_level_2 # 50-200 + modifier = { + short_reign_duration_mult = 0.75 + monthly_dynasty_prestige = -0.3 + county_opinion_add = -30 + } + flag = very_reduced_marriage_acceptance + flag = very_increased_claim_cb_cost + flag = very_reduced_alliance_acceptance + flag = very_reduced_vassalization_acceptance + flag = very_reduced_tributarization_acceptance + flag = very_increased_factions + flag = very_increased_swing_scales_cost + } + # Gap of at least 100 + level = { + threshold = legitimacy_level_3 # 150-600 + modifier = { + short_reign_duration_mult = 0.5 + monthly_dynasty_prestige = -0.2 + county_opinion_add = -20 + } + flag = reduced_marriage_acceptance + flag = reduced_alliance_acceptance + flag = increased_claim_cb_cost + flag = reduced_vassalization_acceptance + flag = reduced_tributarization_acceptance + flag = increased_factions + flag = increased_swing_scales_cost + } + # Gap of at least 200 + level = { + threshold = legitimacy_level_4 # 350-1400 + modifier = { + short_reign_duration_mult = 0.2 + } + flag = reduced_marriage_acceptance + flag = reduced_vassalization_acceptance + flag = slightly_reduced_tributarization_acceptance + flag = increased_claim_cb_cost + } + # Gap of at least 350 + level = { + threshold = legitimacy_level_5 # 700-2800 + } + # Gap of at least 500 + level = { + threshold = legitimacy_level_6 # 1200-4800 + modifier = { + short_reign_duration_mult = -0.25 + county_opinion_add = 10 + } + flag = increased_marriage_acceptance + flag = reduced_claim_cb_cost + flag = increased_alliance_acceptance + flag = increased_vassalization_acceptance + flag = increased_tributarization_acceptance + flag = reduced_factions + flag = reduced_title_creation_cost + flag = reduced_swing_scales_cost + } +} + +mandate_legitimacy = { + is_valid = { + highest_held_title_tier = tier_hegemony + NOT = { + government_has_flag = government_is_prepublic + } + has_tgp_dlc_trigger = yes + has_title = title:h_china + } + + # must be equal to the dynastic_cycle_legitimacy_expectation script value and not dependent on vassal scopes + ai_expected_level = dynastic_cycle_legitimacy_expectation + + below_expectations_opinion = default_legitimacy_opinion_penalty + + max = mandate_legitimacy_max + + # Scales based on Tier and Era + ## A Tribal era Count requires 4x less than a Late Medieval era Emperor + level = { + threshold = legitimacy_level_1 + on_level_entered = { + situation:dynastic_cycle ?= { + if = { + limit = { + situation_top_has_catalyst = catalyst_hegemon_lost_mandate_of_heaven + months_from_game_start > 0 # We check this to avoid potentially triggering this immediately on game start + } + trigger_situation_catalyst = catalyst_hegemon_lost_mandate_of_heaven + } + } + } + on_level_entered_desc = { + desc = legitimacy_on_entered_lost_mandate + } + modifier = { + short_reign_duration_mult = 1.25 + monthly_dynasty_prestige = -0.4 + county_opinion_add = -40 + } + flag = massively_reduced_marriage_acceptance + flag = massively_increased_claim_cb_cost + flag = massively_reduced_vassalization_acceptance + flag = massively_reduced_tributarization_acceptance + flag = massively_reduced_alliance_acceptance + flag = massively_increased_factions + flag = massively_increased_swing_scales_cost + } + # Gap of at least 50 + level = { + threshold = legitimacy_level_2 # 50-200 + modifier = { + short_reign_duration_mult = 0.75 + monthly_dynasty_prestige = -0.3 + county_opinion_add = -30 + } + flag = very_reduced_marriage_acceptance + flag = very_increased_claim_cb_cost + flag = very_reduced_alliance_acceptance + flag = very_reduced_vassalization_acceptance + flag = very_reduced_tributarization_acceptance + flag = very_increased_factions + flag = very_increased_swing_scales_cost + } + # Gap of at least 100 + level = { + threshold = legitimacy_level_3 # 150-600 + modifier = { + short_reign_duration_mult = 0.5 + monthly_dynasty_prestige = -0.2 + county_opinion_add = -20 + } + flag = reduced_marriage_acceptance + flag = reduced_alliance_acceptance + flag = increased_claim_cb_cost + flag = reduced_vassalization_acceptance + flag = reduced_tributarization_acceptance + flag = increased_factions + flag = increased_swing_scales_cost + } + # Gap of at least 200 + level = { + threshold = legitimacy_level_4 # 350-1400 + modifier = { + short_reign_duration_mult = 0.2 + } + flag = reduced_marriage_acceptance + flag = reduced_vassalization_acceptance + flag = slightly_reduced_tributarization_acceptance + flag = increased_claim_cb_cost + } + # Gap of at least 350 + level = { + threshold = legitimacy_level_5 # 700-2800 + } + # Gap of at least 500 + level = { + threshold = legitimacy_level_6 # 1200-4800 + modifier = { + short_reign_duration_mult = -0.25 + county_opinion_add = 10 + } + flag = reduced_claim_cb_cost + flag = increased_marriage_acceptance + flag = increased_tributarization_acceptance + flag = reduced_factions + flag = reduced_title_creation_cost + flag = reduced_swing_scales_cost + } + level = { + threshold = legitimacy_level_7 # 1650-6600 + modifier = { + tributary_opinion = 20 + county_opinion_add = 20 + monthly_dynasty_prestige = 0.15 + } + flag = very_reduced_claim_cb_cost + flag = very_increased_marriage_acceptance + flag = extra_increased_tributarization_acceptance + flag = reduced_factions + flag = reduced_title_creation_cost + flag = reduced_swing_scales_cost + } + level = { + threshold = legitimacy_level_8 + modifier = { + tributary_opinion = 30 + county_opinion_add = 25 + monthly_dynasty_prestige = 0.25 + } + flag = very_reduced_claim_cb_cost + flag = very_increased_marriage_acceptance + flag = extra_increased_tributarization_acceptance + flag = reduced_factions + flag = reduced_title_creation_cost + flag = reduced_swing_scales_cost + } +} + +nomadic_legitimacy = { + is_valid = { + has_mpo_dlc_trigger = yes + NOT = { + government_has_flag = government_is_prepublic + } + government_has_flag = government_is_nomadic + } + + ai_expected_level = default_ai_legitimacy_expectation + + below_expectations_opinion = default_legitimacy_opinion_penalty + + max = legitimacy_max + + # Scales based on Tier and Era + ## A Tribal era Count requires 4x less than a Late Medieval era Emperor + level = { + threshold = legitimacy_level_1 + modifier = { + short_reign_duration_mult = 0.75 + county_opinion_add = -10 + herd_gain_mult = -0.05 + dread_baseline_add = -30 + } + flag = very_reduced_marriage_acceptance + flag = very_reduced_alliance_acceptance + flag = very_reduced_vassalization_acceptance + flag = very_reduced_tributarization_acceptance + flag = very_reduced_confederation_acceptance + flag = reduced_obedience_acceptance + + } + # Gap of at least 50 + level = { + threshold = legitimacy_level_2 # 50-200 + modifier = { + short_reign_duration_mult = 0.5 + county_opinion_add = -5 + dread_baseline_add = -15 + } + flag = reduced_marriage_acceptance + flag = reduced_alliance_acceptance + flag = reduced_vassalization_acceptance + flag = reduced_tributarization_acceptance + flag = reduced_confederation_acceptance + flag = reduced_obedience_acceptance + } + # Gap of at least 100 + level = { + threshold = legitimacy_level_3 # 150-600 + modifier = { + short_reign_duration_mult = 0.25 + dread_baseline_add = -5 + } + flag = reduced_marriage_acceptance + flag = reduced_vassalization_acceptance + flag = reduced_obedience_acceptance + } + # Gap of at least 200 + level = { + threshold = legitimacy_level_4 # 350-1400 + modifier = { + tributary_opinion = 5 + herd_gain_mult = 0.05 + } + flag = increased_obedience_acceptance + } + # Gap of at least 350 + level = { + threshold = legitimacy_level_5 # 700-2800 + modifier = { + tributary_opinion = 10 + herd_gain_mult = 0.15 + } + flag = increased_marriage_acceptance + flag = increased_alliance_acceptance + flag = increased_vassalization_acceptance + flag = increased_tributarization_acceptance + flag = increased_confederation_acceptance + flag = reduced_factions + flag = reduced_swing_scales_cost + flag = increased_obedience_acceptance + } + # Gap of at least 500 + level = { + threshold = legitimacy_level_6 # 1200-4800 + modifier = { + tributary_opinion = 15 + county_opinion_add = 10 + monthly_dynasty_prestige = 0.25 + herd_gain_mult = 0.30 + } + flag = very_increased_marriage_acceptance + flag = very_increased_alliance_acceptance + flag = very_increased_vassalization_acceptance + flag = very_increased_tributarization_acceptance + flag = very_increased_confederation_acceptance + flag = very_reduced_factions + flag = very_reduced_swing_scales_cost + flag = increased_obedience_acceptance + } +} + +mandala_legitimacy = { + is_valid = { + has_tgp_dlc_trigger = yes + NOT = { + government_has_flag = government_is_prepublic + } + government_has_flag = government_is_mandala + } + + ai_expected_level = default_ai_mandala_legitimacy_expectation + + below_expectations_opinion = default_legitimacy_opinion_penalty + + max = mandala_legitimacy_max + + # Scales based on Tier and Era + ## A Tribal era Count requires 4x less than a Late Medieval era Emperor + level = { + threshold = mandala_legitimacy_level_1 + modifier = { + short_reign_duration_mult = 0.75 + county_opinion_add = -10 + monthly_piety_gain_mult = -0.05 + } + flag = massively_increased_claim_cb_cost + flag = massively_reduced_marriage_acceptance + flag = massively_reduced_alliance_acceptance + flag = massively_reduced_vassalization_acceptance + flag = slightly_reduced_tributarization_acceptance + flag = very_increased_factions + + } + # Gap of at least 200 + level = { + threshold = mandala_legitimacy_level_2 # 200-800 + modifier = { + short_reign_duration_mult = 0.5 + county_opinion_add = -5 + } + flag = very_increased_claim_cb_cost + flag = very_reduced_marriage_acceptance + flag = very_reduced_alliance_acceptance + flag = very_reduced_vassalization_acceptance + flag = slightly_reduced_tributarization_acceptance + flag = increased_factions + } + # Gap of at least 220 + level = { + threshold = mandala_legitimacy_level_3 # 420-1680 + modifier = { + short_reign_duration_mult = 0.25 + } + flag = increased_claim_cb_cost + flag = reduced_marriage_acceptance + flag = reduced_alliance_acceptance + flag = reduced_vassalization_acceptance + flag = increased_factions + } + # Gap of at least 220 + level = { + threshold = mandala_legitimacy_level_4 # 640-2560 + modifier = { + tributary_opinion = 5 + monthly_piety_gain_mult = 0.05 + } + flag = reduced_vassalization_acceptance + } + # Gap of at least 270 + level = { + threshold = mandala_legitimacy_level_5 # 910-3640 + modifier = { + tributary_opinion = 10 + monthly_piety_gain_mult = 0.15 + } + flag = reduced_claim_cb_cost + flag = increased_marriage_acceptance + flag = increased_alliance_acceptance + flag = increased_tributarization_acceptance + flag = reduced_factions + flag = reduced_swing_scales_cost + } + # Gap of at least 330 + level = { + threshold = mandala_legitimacy_level_6 # 1240-4960 + modifier = { + tributary_opinion = 15 + county_opinion_add = 10 + monthly_piety_gain_mult = 0.2 + monthly_dynasty_prestige = 0.15 + } + flag = reduced_claim_cb_cost + flag = increased_marriage_acceptance + flag = increased_alliance_acceptance + flag = very_increased_tributarization_acceptance + flag = reduced_factions + flag = reduced_swing_scales_cost + } + # Gap of at least 550 + level = { + threshold = mandala_legitimacy_level_7 # 1650-6600 + modifier = { + tributary_opinion = 20 + county_opinion_add = 20 + monthly_piety_gain_mult = 0.3 + monthly_dynasty_prestige = 0.15 + } + flag = very_reduced_claim_cb_cost + flag = very_increased_marriage_acceptance + flag = very_increased_alliance_acceptance + flag = extra_increased_tributarization_acceptance + flag = very_reduced_factions + flag = very_reduced_swing_scales_cost + } + # Gap of at least 550 + level = { + threshold = mandala_legitimacy_level_8 # 2200-8800 + modifier = { + tributary_opinion = 30 + county_opinion_add = 25 + monthly_piety_gain_mult = 0.35 + monthly_dynasty_prestige = 0.25 + faith_conversion_piety_cost_mult = -0.15 + } + flag = very_reduced_claim_cb_cost + flag = very_increased_marriage_acceptance + flag = very_increased_alliance_acceptance + flag = increased_vassalization_acceptance + flag = extra_increased_tributarization_acceptance + flag = very_reduced_factions + flag = very_reduced_swing_scales_cost + } + # Gap of at least 700 + level = { + threshold = mandala_legitimacy_level_9 # 3000-12000 + modifier = { + tributary_opinion = 35 + county_opinion_add = 35 + monthly_piety_gain_mult = 0.4 + monthly_dynasty_prestige = 0.3 + faith_conversion_piety_cost_mult = -0.3 + } + flag = extra_reduced_claim_cb_cost + flag = extra_increased_marriage_acceptance + flag = extra_increased_alliance_acceptance + flag = very_increased_vassalization_acceptance + flag = extra_increased_tributarization_acceptance + flag = extra_reduced_factions + flag = extra_reduced_swing_scales_cost + } +} diff --git a/common/legitimacy/_legitimacy.info b/common/legitimacy/_legitimacy.info new file mode 100644 index 00000000..e19949d7 --- /dev/null +++ b/common/legitimacy/_legitimacy.info @@ -0,0 +1,59 @@ + = { + # Should this legitimacy type apply to this playable ruler, evaluated daily for the player, yearly for AI + # First valid one is selected + # root = ruler character + is_valid = { + + } + + # What level the AI expects of a liege with this legitimacy type + # root = vassal + # scope:liege = liege character + ai_expected_level = { +