################################ # REGIONAL CULTURAL TRADITIONS # ################################ tradition_byzantine_succession = { category = regional layers = { 0 = intrigue 1 = mediterranean 4 = crown.dds } is_shown = { OR = { has_cultural_pillar = heritage_byzantine scope:character = { has_title = title:e_byzantium } } #replaced by new Byzantine traditions has_ep3_dlc_trigger = no } can_pick = { has_cultural_pillar = heritage_byzantine scope:character = { has_title = title:e_byzantium } custom_tooltip = { text = cannot_have_tradition_court_eunuchs NOT = { culture_tradition:tradition_court_eunuchs = { is_in_list = traits } } } custom_tooltip = { text = cannot_have_tradition_merciful_blindings NOT = { culture_tradition:tradition_merciful_blindings = { is_in_list = traits } } } } parameters = { can_blind_prisoners = yes can_castrate_prisoners = yes eunuch_trait_bonuses = yes can_appoint_chief_eunuch = yes physical_disfigurement_blocks_inheritance = yes #Actually only blocks claimants and reduce score in elective. Also includes infertility for tooltip reasons. children_can_be_born_in_the_purple = yes disloyal_trait_more_common = yes byzantine_faction_differences = yes #byzantine_faction_preffered_claimants = yes } character_modifier = { eligible_child_opinion = 20 short_reign_duration_mult = 0.5 hostile_scheme_phase_duration_add = medium_scheme_phase_duration_bonus_value ai_amenity_target_baseline = 0.75 ai_amenity_spending = 1 } 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 } } } add = { value = tradition_incompatible_ethos_penalty desc = not_courtly_or_communal_desc } } if = { limit = { NOT = { scope:character = { has_title = title:c_byzantion } } } add = { value = tradition_unfulfilled_criteria_penalty desc = byzantion_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 1000 } } tradition_lords_of_the_elephant = { category = regional layers = { 0 = learning 1 = indian 4 = elephant.dds } is_shown = { OR = { any_culture_county = { title_province = { geographical_region = world_innovation_elephants } } has_innovation = innovation_elephantry } } can_pick = { has_innovation = innovation_elephantry } parameters = { can_recruit_jungle_specialist = yes elephant_pens_building_bonuses = yes elephant_bonuses_for_rank_4_education = yes } character_modifier = { elephant_cavalry_recruitment_cost_mult = -0.15 elephant_cavalry_maintenance_mult = -0.15 elephant_cavalry_toughness_add = 20 elephant_cavalry_damage_add = 40 jungle_travel_danger = jungle_medium_danger_reduction } cost = { prestige = { add = { value = tradition_base_cost desc = BASE format = "BASE_VALUE_FORMAT" } if = { limit = { NOR = { culture_pillar:ethos_bellicose = { is_in_list = traits } culture_pillar:ethos_courtly = { is_in_list = traits } culture_pillar:ethos_stoic = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_stoic_or_courtly_desc } } if = { limit = { NOT = { any_culture_county = { any_county_province = { count >= 3 has_building_or_higher = elephant_pens_02 } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = elephant_pens_percentage_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 1000 if = { limit = { NOR = { has_cultural_pillar = heritage_indo_aryan has_cultural_pillar = heritage_dravidian } } multiply = 0 } } } tradition_african_tolerance = { category = regional layers = { 0 = diplo 1 = mena 4 = diplomat.dds } is_shown = { OR = { # For cultures with any heritage from western or central Africa has_cultural_pillar = heritage_berber has_cultural_pillar = heritage_west_african has_cultural_pillar = heritage_central_african has_cultural_pillar = heritage_sahelian has_cultural_pillar = heritage_senegambian has_cultural_pillar = heritage_akan has_cultural_pillar = heritage_yoruba } NOT = { culture_tradition:tradition_steppe_tolerance = { is_in_list = traits } } } can_pick = { } parameters = { less_likely_to_force_conversion = yes } character_modifier = { different_faith_opinion = 10 different_faith_county_opinion_mult = -0.25 } cost = { prestige = { add = { value = tradition_base_cost desc = BASE format = "BASE_VALUE_FORMAT" } if = { limit = { NOR = { culture_pillar:ethos_egalitarian = { is_in_list = traits } culture_pillar:ethos_communal = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_communal_or_egalitarian_desc } } if = { limit = { trigger_if = { limit = { scope:character = { is_ai = no } } NOT = { any_culture_global = { count >= 5 cultural_acceptance = { target = prev value >= 50 } } } } trigger_else = { always = no } } add = { value = tradition_unfulfilled_criteria_penalty desc = five_accepted_cultures_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 400 if = { limit = { OR = { culture_tradition:tradition_zealous_people = { is_in_list = traits } culture_tradition:tradition_by_the_sword = { is_in_list = traits } } } multiply = 0 } } } tradition_the_witenagemot = { category = regional layers = { 0 = diplo 1 = western 4 = council.dds } is_shown = { OR = { has_cultural_pillar = heritage_west_germanic has_cultural_pillar = heritage_brythonic has_cultural_pillar = heritage_goidelic } } can_pick = { OR = { has_cultural_pillar = heritage_west_germanic has_cultural_pillar = heritage_brythonic has_cultural_pillar = heritage_goidelic } } parameters = { witenagemot_succession_enabled = yes } character_modifier = { monthly_prestige_gain_per_happy_powerful_vassal_mult = 0.04 } doctrine_character_modifier = { name = tradition_the_witenagemot_name doctrine = doctrine_theocracy_temporal realm_priest_opinion = 15 } cost = { prestige = { add = { value = tradition_base_cost desc = BASE format = "BASE_VALUE_FORMAT" } if = { limit = { NOR = { culture_pillar:ethos_bureaucratic = { is_in_list = traits } culture_pillar:ethos_stoic = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_stoic_or_bureaucratic_desc } } if = { limit = { NOT = { scope:character = { any_councillor = { percent = 1 opinion = { target = prev value >= 0 } } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = councillor_with_negative_opinion_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 200 if = { limit = { OR = { culture_tradition:tradition_things = { is_in_list = traits } culture_tradition:tradition_fp3_jirga = { is_in_list = traits } } } multiply = 0 } } } tradition_things = { category = regional layers = { 0 = learning 1 = western 4 = council.dds } is_shown = { has_cultural_pillar = heritage_north_germanic } can_pick = { has_cultural_pillar = heritage_north_germanic } parameters = { scandinavian_elective_enabled = yes trait_county_opinion_modifiers = yes } cost = { prestige = { add = { value = tradition_base_cost desc = BASE format = "BASE_VALUE_FORMAT" } if = { limit = { NOR = { culture_pillar:ethos_bureaucratic = { is_in_list = traits } culture_pillar:ethos_bellicose = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_or_bureaucratic_desc } } if = { limit = { NOT = { scope:character = { any_sub_realm_county = { county_opinion < 0 } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = counties_with_low_county_opinion_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 200 if = { limit = { OR = { culture_tradition:tradition_the_witenagemot = { is_in_list = traits } culture_tradition:tradition_fp3_jirga = { is_in_list = traits } } } multiply = 0 } } } tradition_caravaneers = { category = regional layers = { 0 = diplo 1 = mena 4 = camel.dds } is_shown = { always = no } parameters = { wanderers_gain_extra_economic_skills = yes more_likely_to_leave_court = yes second_caravanserai = yes unlock_voluntary_laampdom = yes } character_modifier = { movement_speed = 0.05 diplomatic_range_mult = 0.2 character_travel_safety_mult = 0.2 character_travel_speed_mult = 0.2 } cost = { prestige = { add = { value = tradition_base_cost desc = BASE format = "BASE_VALUE_FORMAT" } if = { limit = { NOT = { culture_pillar:ethos_egalitarian = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_egalitarian_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 600 } } tradition_horse_lords = { category = regional layers = { 0 = martial 1 = mena 4 = horses.dds } is_shown = { OR = { has_cultural_pillar = heritage_mongolic has_cultural_pillar = heritage_turkic } } can_pick = { custom_description = { text = culture_in_steppe_desc any_culture_county = { percent >= 0.4 any_county_province = { geographical_region = world_steppe } } } } parameters = { unlock_maa_horse_archers = yes can_recruit_open_specialist = yes unlock_horse_pastures_building = yes steppe_hunt_success_chance = yes unlock_voluntary_laampdom = yes } character_modifier = { light_cavalry_damage_mult = 0.1 light_cavalry_screen_mult = 0.1 steppe_cancel_negative_supply = yes supply_duration = 1 movement_speed = 0.1 character_travel_speed_mult = 0.2 character_travel_safety_mult = 0.2 steppe_travel_danger = steppe_high_danger_reduction movement_speed_land_raiding = 0.3 hostile_county_attrition_raiding = -0.5 provisions_use_mult = -0.25 } cost = { prestige = { add = { value = tradition_base_cost desc = BASE format = "BASE_VALUE_FORMAT" } if = { limit = { NOR = { culture_pillar:ethos_bellicose = { is_in_list = traits } culture_pillar:ethos_communal = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_or_communal_desc } } multiply = tradition_replacement_cost_if_relevant #if = { # limit = { # NOR = { # has_cultural_pillar = heritage_turkic # has_cultural_pillar = heritage_mongolic # } # } # add = { # value = tradition_unfulfilled_criteria_penalty # desc = steppe_heritage_reduction_desc # } #} } } ai_will_do = { value = 400 } } tradition_saharan_nomads = { category = regional layers = { 0 = learning 1 = mena 4 = desert.dds } is_shown = { any_culture_county = { title_province = { geographical_region = custom_sahara_proper } } } can_pick = { any_culture_county = { title_province = { geographical_region = custom_sahara_proper } } } parameters = { desert_hunt_success_chance = yes resistant_to_desert_privation = yes } character_modifier = { light_cavalry_maintenance_mult = -0.25 light_cavalry_recruitment_cost_mult = -0.25 oasis_development_growth_factor = 0.1 movement_speed = 0.1 character_travel_speed = 10 desert_travel_danger = desert_high_danger_reduction drylands_travel_danger = drylands_high_danger_reduction desert_mountains_travel_danger = desert_mountains_high_danger_reduction movement_speed_land_raiding = 0.2 hostile_county_attrition_raiding = -0.3 # Nullify the maluses from world_africa_sahara_provisions_usage_multiplier_modifier. desert_provisions_use_mult = -0.66 desert_mountains_provisions_use_mult = -0.66 desert_supply_limit_mult = 0.5 desert_mountains_supply_limit_mult = 0.5 } province_modifier = { oasis_construction_gold_cost = -0.15 desert_construction_gold_cost = -0.1 } cost = { prestige = { add = { value = tradition_base_cost desc = BASE format = "BASE_VALUE_FORMAT" } if = { limit = { NOR = { culture_pillar:ethos_spiritual = { is_in_list = traits } culture_pillar:ethos_stoic = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_stoic_or_spiritual_desc } } if = { limit = { NOT = { any_culture_county = { percent >= 0.3 any_county_province = { geographical_region = custom_sahara_proper } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = sahara_percentage_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 400 } } tradition_visigothic_codes = { category = regional layers = { 0 = intrigue 1 = mediterranean 4 = crown.dds } is_shown = { OR = { this = culture:visigothic this = culture:basque any_parent_culture_or_above = { OR = { this = culture:visigothic this = culture:basque } } } } can_pick = { OR = { this = culture:visigothic this = culture:basque any_parent_culture_or_above = { OR = { this = culture:visigothic this = culture:basque } } } scope:character = { has_religion = religion:christianity_religion #The Visigothic code is strongly associated with Christian canon law. } } parameters = { can_enact_high_partition_succession_law = yes gender_equal_inheritance = yes } cost = { prestige = { add = { value = tradition_base_cost desc = BASE format = "BASE_VALUE_FORMAT" } if = { limit = { NOT = { culture_pillar:ethos_egalitarian = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_egalitarian_desc } } if = { limit = { trigger_if = { limit = { scope:character = { is_ai = no } } NAND = { any_ruler = { count >= 3 culture = prev primary_title.tier >= tier_county is_male = yes } any_ruler = { count >= 3 culture = prev primary_title.tier >= tier_county is_female = yes } } } trigger_else = { always = yes } } add = { value = tradition_unfulfilled_criteria_penalty desc = three_gender_rulers_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 200 } } tradition_himalayan_settlers = { category = regional layers = { 0 = learning 1 = indian 4 = mountain.dds } is_shown = { #Replaces Mountain Homes OR = { has_cultural_pillar = heritage_tibetan has_cultural_pillar = heritage_qiangic any_culture_county = { title_province = { geographical_region = world_himalaya } } } } can_pick = { OR = { has_cultural_pillar = heritage_tibetan has_cultural_pillar = heritage_qiangic any_culture_county = { title_province = { geographical_region = world_himalaya } } } } parameters = { unlock_maa_mountaineer = yes rough_terrain_expert_trait_more_common = yes mountain_trait_bonuses = yes can_recruit_mountain_specialist = yes resistant_to_mountain_privation = yes } character_modifier = { mountains_development_growth_factor = 0.2 mountains_travel_danger = mountains_high_danger_reduction movement_speed_land_raiding = 0.15 hostile_county_attrition_raiding = -0.2 } province_modifier = { mountains_construction_gold_cost = -0.1 mountains_holding_construction_gold_cost = -0.1 } cost = { prestige = { add = { value = tradition_base_cost desc = BASE format = "BASE_VALUE_FORMAT" } if = { limit = { NOR = { culture_pillar:ethos_spiritual = { is_in_list = traits } culture_pillar:ethos_communal = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_communal_or_spiritual_desc } } if = { limit = { NOT = { any_culture_county = { percent >= 0.3 title_province = { geographical_region = world_himalaya } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = culture_in_himalaya_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 400 if = { limit = { NOT = { scope:character = { any_sub_realm_county = { percent >= 0.4 title_province = { geographical_region = world_himalaya } } } } } multiply = 0 } } } tradition_desert_nomads = { category = regional layers = { 0 = martial 1 = mena 4 = camel.dds } is_shown = { OR = { this = culture:bedouin any_parent_culture_or_above = { this = culture:bedouin } any_parent_culture = { has_cultural_tradition = tradition_desert_nomads } } } can_pick = { custom_tooltip = { text = culture_in_camel_region_desc any_culture_county = { any_county_province = { geographical_region = world_innovation_camels } } } } parameters = { desert_warrior_trait_is_better = yes desert_hunt_success_chance = yes resistant_to_desert_privation = yes } character_modifier = { camel_cavalry_maintenance_mult = -0.2 camel_cavalry_recruitment_cost_mult = -0.2 character_travel_speed = 10 desert_travel_danger = desert_high_danger_reduction drylands_travel_danger = drylands_high_danger_reduction desert_mountains_travel_danger = desert_mountains_high_danger_reduction movement_speed_land_raiding = 0.2 hostile_county_attrition_raiding = -0.3 } province_modifier = { desert_tax_mult = 0.1 } cost = { prestige = { add = { value = tradition_base_cost desc = BASE format = "BASE_VALUE_FORMAT" } if = { limit = { NOR = { culture_pillar:ethos_spiritual = { is_in_list = traits } culture_pillar:ethos_stoic = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_stoic_or_spiritual_desc } } if = { limit = { NOT = { any_culture_county = { percent >= camel_percentage_multiplier_value any_county_province = { geographical_region = world_innovation_camels } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = culture_in_camel_region_percentage_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 400 if = { limit = { NOT = { scope:character = { any_sub_realm_county = { percent >= 0.5 any_county_province = { geographical_region = world_innovation_camels } } } } } multiply = 0 } } } tradition_mountaineer_ruralism = { category = regional layers = { 0 = martial 1 = western 4 = mountain.dds } is_shown = { has_cultural_pillar = heritage_west_slavic NOR = { has_cultural_tradition = tradition_himalayan_settlers has_cultural_tradition = tradition_mountain_homes any_culture_county = { title_province = { geographical_region = world_himalaya } } } } can_pick = { has_cultural_pillar = heritage_west_slavic NOT = { has_cultural_tradition = tradition_mountain_homes } custom_description = { text = culture_in_mountains_desc any_culture_county = { any_county_province = { OR = { terrain = mountains terrain = desert_mountains } } } } } parameters = { unlock_maa_zbrojnosh = yes quarries_building_bonuses = yes hill_farms_building_bonuses = yes rough_terrain_expert_trait_more_common = yes mountain_trait_bonuses = yes can_recruit_mountain_specialist = yes } character_modifier = { mountains_travel_danger = mountains_high_danger_reduction hills_travel_danger = hills_high_danger_reduction } county_modifier = { hills_development_growth_factor = 0.1 mountains_development_growth_factor = 0.1 } cost = { prestige = { add = { value = tradition_base_cost desc = BASE format = "BASE_VALUE_FORMAT" } if = { limit = { NOT = { culture_pillar:ethos_stoic = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_stoic_desc } } if = { limit = { NOT = { any_culture_county = { percent >= 0.3 any_county_province = { terrain = mountains } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = mountain_true_percentage_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 400 if = { limit = { NOT = { scope:character = { any_sub_realm_county = { culture = scope:character.culture any_county_province = { OR = { terrain = mountains terrain = hills } } } } } } multiply = 0 } else_if = { limit = { any_culture_county = { percent >= 0.6 any_county_province = { OR = { terrain = mountains terrain = hills } } } } multiply = 8 } } } tradition_steppe_tolerance = { category = regional layers = { 0 = intrigue 1 = mena 4 = greeting.dds } is_shown = { NOR = { culture_tradition:tradition_african_tolerance = { is_in_list = traits } culture_tradition:tradition_religion_blending = { is_in_list = traits } } OR = { has_cultural_pillar = heritage_mongolic has_cultural_pillar = heritage_turkic } } can_pick = { custom_tooltip = { text = culture_in_steppe_desc any_culture_county = { percent >= 0.4 any_county_province = { geographical_region = world_steppe } } } } parameters = { #easily convert and don't force conversion more_easily_converted = yes less_likely_to_force_conversion = yes } character_modifier = { # easier to self-convert and create or reform faith faith_creation_piety_cost_mult = -0.2 faith_conversion_piety_cost_mult = -0.2 different_faith_opinion = 10 different_faith_county_opinion_mult = -0.25 # reduced penalty for different faiths (note this appears confusing in the UI right now) } cost = { prestige = { add = { value = tradition_base_cost desc = BASE format = "BASE_VALUE_FORMAT" } if = { limit = { NOR = { culture_pillar:ethos_bellicose = { is_in_list = traits } culture_pillar:ethos_egalitarian = { is_in_list = traits } culture_pillar:ethos_communal = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_egalitarian_or_communal_desc } } # No extra cost here, since we have a fairly restrictive can_pick block. multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 100 if = { limit = { culture_pillar:ethos_spiritual = { is_in_list = traits } } multiply = 0.25 } else_if = { limit = { any_culture_county = { percent >= 0.6 any_county_province = { terrain = steppe } } } multiply = 8 } } } tradition_nubian_warrior_queens = { category = regional layers = { 0 = intrigue 1 = mediterranean 4 = crown.dds } is_shown = { NOT = { has_game_rule = inversed_gender_equality } any_parent_culture_or_above = { OR = { this = culture:nubian this = culture:daju } } } can_pick = { any_parent_culture_or_above = { OR = { this = culture:nubian this = culture:daju } } } parameters = { gender_equal_inheritance = yes female_only_inheritance = yes female_preference_inheritance = yes prowess_from_martial_education = yes } cost = { prestige = { add = { value = tradition_base_cost desc = BASE format = "BASE_VALUE_FORMAT" } if = { limit = { NOT = { culture_pillar:ethos_egalitarian = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_egalitarian_desc } } if = { limit = { trigger_if = { limit = { scope:character = { is_ai = no } } NAND = { any_ruler = { count >= 3 culture = prev primary_title.tier > tier_barony is_male = yes } any_ruler = { count >= 3 culture = prev primary_title.tier > tier_barony is_female = yes } } } trigger_else = { always = yes } } add = { value = tradition_unfulfilled_criteria_penalty desc = three_gender_rulers_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 200 } } tradition_nubian_warrior_kings = { category = regional layers = { 0 = intrigue 1 = mediterranean 4 = crown.dds } is_shown = { has_game_rule = inversed_gender_equality any_parent_culture_or_above = { OR = { this = culture:nubian this = culture:daju } } } can_pick = { any_parent_culture_or_above = { OR = { this = culture:nubian this = culture:daju } } } parameters = { gender_equal_inheritance = yes male_only_inheritance = yes male_preference_inheritance = yes prowess_from_martial_education = yes } cost = { prestige = { add = { value = tradition_base_cost desc = BASE format = "BASE_VALUE_FORMAT" } if = { limit = { NOT = { culture_pillar:ethos_egalitarian = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_egalitarian_desc } } if = { limit = { trigger_if = { limit = { scope:character = { is_ai = no } } NAND = { any_ruler = { count >= 3 culture = prev primary_title.tier > tier_barony is_male = yes } any_ruler = { count >= 3 culture = prev primary_title.tier > tier_barony is_female = yes } } } trigger_else = { always = yes } } add = { value = tradition_unfulfilled_criteria_penalty desc = three_gender_rulers_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 200 } }