############################## # COMBAT CULTURAL TRADITIONS # ############################## tradition_winter_warriors = { category = combat layers = { 0 = learning 1 = western 4 = fight.dds } can_pick = { culture_not_pacifistic_trigger = yes culture_in_winter_geographical_region_trigger = yes } parameters = { winter_soldier_trait_more_common = yes winter_trait_bonuses = yes can_recruit_winter_specialist = yes resistant_to_winter_privation = yes } character_modifier = { taiga_travel_danger = taiga_low_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_stoic = { is_in_list = traits } culture_pillar:ethos_communal = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_stoic_or_communal_desc } } if = { limit = { NOT = { any_culture_county = { percent >= 0.3 any_county_province = { OR = { geographical_region = world_europe_north geographical_region = world_europe_west geographical_region = world_europe_east geographical_region = world_steppe geographical_region = world_tibet } } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = winter_percentage_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 400 if = { limit = { NOT = { scope:character = { any_sub_realm_county = { percent >= 0.3 culture = scope:character.culture any_county_province = { OR = { geographical_region = world_europe_north geographical_region = world_europe_west geographical_region = world_europe_east geographical_region = world_steppe geographical_region = world_tibet } } } } } } multiply = 0 } } } tradition_forest_fighters = { category = combat layers = { 0 = martial 1 = western 4 = forest.dds } can_pick = { culture_not_pacifistic_trigger = yes custom_description = { text = culture_in_forest_desc any_culture_county = { any_county_province = { OR = { terrain = forest terrain = taiga } } } } } parameters = { forest_fighter_trait_more_common = yes forest_trait_bonuses = yes can_recruit_forest_specialist = yes } character_modifier = { forest_travel_danger = forest_low_danger_reduction taiga_travel_danger = taiga_low_danger_reduction } province_modifier = { forest_levy_size = 0.1 taiga_levy_size = 0.1 forest_supply_limit_mult = 0.25 taiga_supply_limit_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_stoic = { is_in_list = traits } culture_pillar:ethos_communal = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_stoic_or_communal_desc } } if = { limit = { NOT = { any_culture_county = { percent >= 0.3 any_county_province = { OR = { terrain = forest terrain = taiga } } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = forest_percentage_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 200 if = { limit = { NOT = { scope:character = { any_sub_realm_county = { percent >= 0.2 culture = scope:character.culture any_county_province = { OR = { terrain = forest terrain = taiga } } } } } } multiply = 0 } else_if = { limit = { any_culture_county = { percent >= 0.6 any_county_province = { OR = { terrain = forest terrain = taiga } } } } multiply = 2 } } } tradition_mountaineers = { category = combat layers = { 0 = martial 1 = western 4 = mountain.dds } is_shown = { #Replaced by Horn Mountain Skirmishing & Caucasian Wolves NOR = { has_cultural_pillar = heritage_somalian has_cultural_pillar = heritage_east_african this = culture:georgian any_parent_culture_or_above = { this = culture:georgian } has_cultural_tradition = tradition_caucasian_wolves has_cultural_tradition = tradition_horn_mountain_skirmishing } } can_pick = { culture_not_pacifistic_trigger = yes custom_description = { text = culture_in_mountains_desc any_culture_county = { any_county_province = { OR = { terrain = mountains terrain = desert_mountains } } } } } parameters = { rough_terrain_expert_trait_more_common = yes mountain_trait_bonuses = yes can_recruit_mountain_specialist = yes resistant_to_mountain_privation = yes } character_modifier = { mountains_travel_danger = mountains_low_danger_reduction desert_mountains_travel_danger = desert_mountains_low_danger_reduction } province_modifier = { mountains_levy_size = 0.1 desert_mountains_levy_size = 0.1 mountains_supply_limit_mult = 0.25 desert_mountains_supply_limit_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_stoic = { is_in_list = traits } culture_pillar:ethos_communal = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_stoic_or_communal_desc } } if = { limit = { NOT = { any_culture_county = { percent >= 0.3 any_county_province = { OR = { terrain = mountains terrain = desert_mountains } } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = mountain_percentage_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 200 if = { limit = { NOT = { scope:character = { any_sub_realm_county = { percent >= 0.2 culture = scope:character.culture any_county_province = { OR = { terrain = mountains terrain = desert_mountains } } } } } } multiply = 0 } else_if = { limit = { scope:character.culture ?= { any_culture_county = { percent > 0.6 any_county_province = { OR = { terrain = mountains terrain = desert_mountains } } } } } multiply = 6 } else_if = { limit = { scope:character.culture ?= { any_culture_county = { percent > 0.4 any_county_province = { OR = { terrain = mountains terrain = desert_mountains } } } } } multiply = 2 } } } tradition_warriors_of_the_dry = { category = combat layers = { 0 = martial 1 = mena 4 = desert.dds } is_shown = { #Replaced by Mubarizuns NOT = { has_cultural_pillar = heritage_arabic } } can_pick = { culture_not_pacifistic_trigger = yes custom_description = { text = culture_in_dryland_desc any_culture_county = { any_county_province = { OR = { terrain = drylands terrain = desert } } } } NOT = { has_cultural_tradition = tradition_mubarizuns } #To prevent stacking after hybridization } parameters = { desert_warrior_trait_more_common = yes dry_trait_bonuses = yes can_recruit_dry_specialist = yes } character_modifier = { desert_travel_danger = desert_low_danger_reduction drylands_travel_danger = drylands_low_danger_reduction desert_mountains_travel_danger = desert_mountains_low_danger_reduction } province_modifier = { drylands_levy_size = 0.1 desert_levy_size = 0.1 drylands_supply_limit_mult = 0.25 desert_supply_limit_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_stoic = { is_in_list = traits } culture_pillar:ethos_communal = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_stoic_or_communal_desc } } if = { limit = { NOT = { any_culture_county = { percent >= 0.3 any_county_province = { OR = { terrain = drylands terrain = desert } } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = dry_percentage_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 200 if = { limit = { NOT = { scope:character = { any_sub_realm_county = { percent >= 0.2 culture = scope:character.culture any_county_province = { OR = { terrain = drylands terrain = desert } } } } } } multiply = 0 } else_if = { limit = { scope:character.culture ?= { any_culture_county = { percent > 0.6 any_county_province = { OR = { terrain = drylands terrain = desert } } } } } multiply = 6 } else_if = { limit = { scope:character.culture ?= { any_culture_county = { percent > 0.4 any_county_province = { OR = { terrain = drylands terrain = desert } } } } } multiply = 2 } } } tradition_highland_warriors = { category = combat layers = { 0 = intrigue 1 = western 4 = mountain.dds } is_shown = { #Replaced by Upland Skirmishing NOR = { has_cultural_pillar = heritage_west_african has_cultural_tradition = tradition_upland_skirmishing } } can_pick = { culture_not_pacifistic_trigger = yes custom_description = { text = culture_in_hills_desc any_culture_county = { any_county_province = { terrain = hills } } } } parameters = { rough_terrain_expert_trait_more_common = yes hill_trait_bonuses = yes can_recruit_hill_specialist = yes } province_modifier = { hills_levy_size = 0.1 hills_supply_limit_mult = 0.25 } character_modifier = { hills_travel_danger = hills_low_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_stoic = { is_in_list = traits } culture_pillar:ethos_communal = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_stoic_or_communal_desc } } if = { limit = { NOT = { any_culture_county = { percent >= 0.3 any_county_province = { terrain = hills } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = hill_percentage_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 100 if = { limit = { NOT = { scope:character = { any_sub_realm_county = { percent >= 0.2 culture = scope:character.culture any_county_province = { terrain = hills } } } } } multiply = 0 } else_if = { limit = { scope:character.culture ?= { any_culture_county = { percent > 0.6 any_county_province = { terrain = hills } } } } multiply = 6 } else_if = { limit = { scope:character.culture ?= { any_culture_county = { percent > 0.4 any_county_province = { terrain = hills } } } } multiply = 2 } } } tradition_jungle_warriors = { category = combat layers = { 0 = intrigue 1 = mena 4 = jungle.dds } is_shown = { #Replaced by Bush Hunting NOR = { has_cultural_pillar = heritage_akan has_cultural_pillar = heritage_yoruba has_cultural_tradition = tradition_bush_hunting } } can_pick = { culture_not_pacifistic_trigger = yes custom_description = { text = culture_in_jungle_desc any_culture_county = { any_county_province = { terrain = jungle } } } } parameters = { jungle_stalker_trait_more_common = yes jungle_trait_bonuses = yes can_recruit_jungle_specialist = yes } character_modifier = { jungle_travel_danger = jungle_low_danger_reduction } province_modifier = { jungle_levy_size = 0.1 jungle_supply_limit_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_stoic = { is_in_list = traits } culture_pillar:ethos_communal = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_stoic_or_communal_desc } } if = { limit = { NOT = { any_culture_county = { percent >= 0.3 any_county_province = { terrain = jungle } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = jungle_percentage_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 100 if = { limit = { NOT = { scope:character = { any_sub_realm_county = { percent >= 0.2 culture = scope:character.culture any_county_province = { terrain = jungle } } } } } multiply = 0 } else_if = { limit = { scope:character.culture ?= { any_culture_county = { percent > 0.6 any_county_province = { terrain = jungle } } } } multiply = 6 } else_if = { limit = { scope:character.culture ?= { any_culture_county = { percent > 0.4 any_county_province = { terrain = jungle } } } } multiply = 2 } } } tradition_only_the_strong = { category = combat layers = { 0 = martial 1 = mena 4 = soldiers2.dds } can_pick = { custom_description = { text = culture_not_egalitarian NOT = { culture_pillar:ethos_egalitarian = { is_in_list = traits } } } } parameters = { minimum_prowess_for_knights = yes blademaster_trait_bonuses = yes prowess_from_martial_education = yes } province_modifier = { levy_size = -0.25 } character_modifier = { men_at_arms_recruitment_cost = 0.25 knight_effectiveness_mult = 1 knight_limit = 2 accolade_glory_gain_mult = 0.2 men_at_arms_limit = -2 men_at_arms_cap = -1 maa_damage_add = 8 maa_toughness_add = 8 } 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_stoic = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_or_stoic_desc } } if = { limit = { NOT = { scope:character = { any_knight = { count >= 6 prowess >= 12 } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = knights_with_prowess_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 200 if = { limit = { scope:character = { NOR = { prowess >= 12 has_trait = strong has_trait = physique_good } } } multiply = 0.25 } else_if = { limit = { scope:character ?= { ai_has_warlike_personality = yes any_courtier = { count >= 10 prowess >= 12 } } } multiply = 4 } } } tradition_warriors_by_merit = { category = combat layers = { 0 = martial 1 = mediterranean 4 = soldiers2.dds } can_pick = { } parameters = { high_prowess_ignores_knight_restrictions = yes blademaster_traits_more_common = yes } character_modifier = { prowess_per_prestige_level = 2 accolade_glory_gain_mult = 0.1 } 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 } } if = { limit = { NOT = { scope:character = { any_courtier = { count >= 5 prowess >= 10 is_adult = yes NOT = { can_be_knight_trigger = { ARMY_OWNER = prev } } } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = courtiers_with_prowess_who_cant_be_knight_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 150 if = { limit = { NOR = { culture_pillar:ethos_egalitarian = { is_in_list = traits } scope:character = { NOT = { can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = this } } } } } multiply = 0.25 } else_if = { limit = { scope:character ?= { ai_has_warlike_personality = yes } } multiply = 4 } } } tradition_warrior_monks = { category = combat layers = { 0 = martial 1 = indian 4 = temple.dds } can_pick = { } parameters = { prowess_from_religious_traits = yes culture_clergy_can_fight = yes monastery_prowess_martial_bonus = yes } character_modifier = { prowess_per_piety_level = 1 } 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_spiritual = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_or_spiritual_desc } } if = { limit = { trigger_if = { limit = { scope:character = { is_ai = no } } NOT = { scope:character = { save_temporary_scope_as = culture_head_link faith = { any_faith_character = { count >= 15 culture = scope:culture_head_link.culture prowess >= 10 OR = { is_clergy = yes has_education_learning_trigger = yes } } } } } } trigger_else = { always = no } } add = { value = tradition_unfulfilled_criteria_penalty desc = culture_head_faith_clergy_prowess_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 200 if = { limit = { NOR = { culture_pillar:ethos_bellicose = { is_in_list = traits } culture_pillar:ethos_spiritual = { is_in_list = traits } } } multiply = 0.25 } } } tradition_talent_acquisition = { category = combat layers = { 0 = diplo 1 = mena 4 = greeting.dds } can_pick = { } parameters = { can_recruit_prisoners_easily = yes better_knights_from_decision = yes pardoning_gives_loyalty = yes } character_modifier = { accolade_glory_gain_mult = 0.1 } 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_courtly = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_egalitarian_or_courtly_desc } } if = { limit = { NOT = { scope:character = { save_temporary_scope_as = culture_head_link any_prisoner = { count >= 10 NOR = { is_courtier_of = scope:culture_head_link is_foreign_court_or_pool_guest_of = scope:culture_head_link } OR = { martial >= 12 diplomacy >= 12 stewardship >= 12 intrigue >= 12 learning >= 12 prowess >= 12 } } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = skilled_prisoners_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 200 if = { limit = { NOR = { culture_pillar:ethos_bellicose = { is_in_list = traits } culture_pillar:ethos_egalitarian = { is_in_list = traits } culture_pillar:ethos_courtly = { is_in_list = traits } } } multiply = 0.5 } } } tradition_strength_in_numbers = { category = combat layers = { 0 = martial 1 = mena 4 = soldiers3.dds } parameters = { strength_in_numbers_maa_limit_bonus = yes strength_in_numbers_heavy_maa_ban = yes } province_modifier = { levy_size = 0.25 } character_modifier = { supply_limit_mult = 0.5 } 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_spiritual = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_or_spiritual_desc } } if = { limit = { NOT = { scope:character = { number_maa_soldiers_of_base_type = { type = skirmishers value >= 500 } number_maa_soldiers_of_base_type = { type = archers value >= 500 } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = culture_head_small_soldiers_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 5 # The AI shouldn't really pick this very often if = { limit = { OR = { culture_has_heavy_infantry_maa = yes culture_has_pikemen_maa = yes culture_has_heavy_cavalry_maa = yes } } multiply = 0 } } } tradition_frugal_armorsmiths = { category = combat layers = { 0 = steward 1 = western 4 = shield.dds } parameters = { frugal_blacksmith_maa_size = yes } character_modifier = { army_maintenance_mult = -0.25 men_at_arms_recruitment_cost = -0.25 knight_effectiveness_mult = -0.6 maa_toughness_add = -6 levy_toughness = -8 heavy_cavalry_toughness_add = -14 pikemen_toughness_add = -4 heavy_infantry_toughness_add = -4 } 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_stoic = { is_in_list = traits } culture_pillar:ethos_communal = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_stoic_or_communal_desc } } if = { limit = { NOT = { scope:character = { number_maa_soldiers_of_base_type = { type = skirmishers value >= 500 } number_maa_soldiers_of_base_type = { type = archers value >= 500 } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = culture_head_small_soldiers_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 5 # The AI shouldn't really pick this very often if = { limit = { scope:character = { OR = { number_maa_soldiers_of_base_type = { type = heavy_infantry value >= 100 } number_maa_soldiers_of_base_type = { type = pikemen value >= 100 } number_maa_soldiers_of_base_type = { type = heavy_cavalry value >= 1 } number_maa_soldiers_of_base_type = { type = elephant_cavalry value >= 1 } } } } multiply = 0 } if = { limit = { OR = { culture_has_heavy_infantry_maa = yes culture_has_pikemen_maa = yes culture_has_heavy_cavalry_maa = yes } } multiply = 0 } } } tradition_malleable_invaders = { category = combat layers = { 0 = martial 1 = mena 4 = diplomacy.dds } is_shown = { has_dlc_feature = hybridize_culture } can_pick = { culture_in_non_sedentary_geographical_region_trigger = yes culture_not_pacifistic_trigger = yes } parameters = { easier_to_hybridize = yes cheaper_to_hybridize = yes cheaper_convert_to_local_culture = yes } character_modifier = { faith_conversion_piety_cost_mult = -0.2 different_faith_county_opinion_mult = -0.2 ai_war_chance = 0.5 ai_war_cooldown = -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_egalitarian = { is_in_list = traits } culture_pillar:ethos_bureaucratic = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_egalitarian_or_bureaucratic_desc } } if = { limit = { NOR = { culture_pillar:heritage_turkic = { is_in_list = traits } culture_pillar:heritage_mongolic = { is_in_list = traits } } } add = { value = tradition_unfulfilled_criteria_penalty desc = turkic_or_mongolic_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 0 } } tradition_quarrelsome = { category = combat layers = { 0 = martial 1 = mediterranean 4 = speech.dds } can_pick = { culture_not_pacifistic_trigger = yes } parameters = { can_use_conquest_cbs = yes cb_lower_prestige_level_requirement = yes cheaper_cbs = yes disloyal_trait_less_spurned = yes disloyal_trait_more_common = yes } character_modifier = { monthly_county_control_growth_factor = -0.4 ai_honor = -20 ai_war_chance = 0.5 ai_war_cooldown = -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_spiritual = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_or_spiritual_desc } } if = { limit = { trigger_if = { limit = { scope:character = { is_ai = no } } NOT = { any_ruler = { count >= 5 culture = prev primary_title.tier >= tier_county is_at_war = yes } } } trigger_else = { always = no } } add = { value = tradition_unfulfilled_criteria_penalty desc = rulers_at_war_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 50 if = { limit = { NOT = { scope:character = { government_has_flag = government_is_tribal } } } multiply = 0.25 } if = { limit = { NOR = { culture_pillar:heritage_turkic = { is_in_list = traits } culture_pillar:heritage_mongolic = { is_in_list = traits } is_divergent_culture = yes } } multiply = 0 } } } tradition_swords_for_hire = { category = combat layers = { 0 = martial 1 = indian 4 = swords.dds } is_shown = { NOT = { has_cultural_tradition = tradition_ep3_audacious_cadets } } can_pick = { } parameters = { wanderers_gain_extra_combat_skills = yes mercenary_courtiers_gain_extra_skills = yes more_likely_to_leave_court = yes unlock_voluntary_laampdom = yes more_likely_to_be_laamps = yes } culture_modifier = { mercenary_count_mult = 1 } character_modifier = { same_culture_mercenary_hire_cost_mult = -0.15 character_travel_speed_mult = 0.1 character_travel_safety_mult = 0.1 } 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_communal = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_courtly_or_communal_desc } } if = { limit = { trigger_if = { limit = { scope:character = { is_ai = no } } NOT = { any_ruler = { count >= 5 culture = prev primary_title.tier >= tier_county has_trait = education_martial_4 } } } trigger_else = { always = no } } add = { value = tradition_unfulfilled_criteria_penalty desc = rulers_with_martial_edu_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 50 if = { limit = { has_cultural_pillar = heritage_central_germanic } multiply = 2 } } } tradition_reverence_for_veterans = { category = combat layers = { 0 = martial 1 = mediterranean 4 = knight.dds } parameters = { wounds_and_scars_give_bonuses = yes guardians_can_transfer_commander_traits = yes warrior_lodges_lift_restrictions = yes } 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_stoic = { is_in_list = traits } culture_pillar:ethos_egalitarian = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_egalitarian_or_stoic_desc } } if = { limit = { trigger_if = { limit = { scope:character = { is_ai = no } } NOT = { any_ruler = { count >= 5 culture = prev primary_title.tier >= tier_county OR = { has_trait = scarred has_trait = maimed has_trait = one_eyed has_trait = one_legged has_trait = disfigured } } } } trigger_else = { always = no } } add = { value = tradition_unfulfilled_criteria_penalty desc = rulers_with_scars_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { # Generally good & flavorful value = 400 } } tradition_stalwart_defenders = { category = combat layers = { 0 = intrigue 1 = mediterranean 4 = shield.dds } parameters = { can_end_defensive_wars_earlier = yes more_fame_for_successful_defensive_wars = yes more_gold_for_successful_defensive_wars = yes next_level_fortification = yes } character_modifier = { defender_advantage = 5 controlled_province_advantage = 5 } province_modifier = { garrison_size = 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_stoic = { is_in_list = traits } culture_pillar:ethos_courtly = { 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 = { has_building_or_higher = march_01 } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = march_building_desc } } if = { limit = { has_variable = defensive_traditionalist_discount } add = { value = traditionalist_discount desc = traditionalist_discount_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 400 if = { limit = { NOR = { culture_pillar:ethos_bellicose = { is_in_list = traits } culture_pillar:ethos_stoic = { is_in_list = traits } scope:character = { sub_realm_size <= medium_realm_size } } } multiply = 0.25 } else_if = { limit = { scope:character ?= { ai_has_warlike_personality = yes } } multiply = 2 } } } tradition_battlefield_looters = { category = combat layers = { 0 = martial 1 = mediterranean 4 = swords.dds } parameters = { gain_gold_from_battles = yes less_prestige_from_battles = yes } character_modifier = { max_loot_mult = 0.75 } 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_bureaucratic = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_or_bureaucratic_desc } } if = { limit = { trigger_if = { limit = { scope:character = { is_ai = no } } NOT = { any_ruler = { count >= 3 culture = prev primary_title.tier >= tier_county OR = { has_trait = reaver } } } } trigger_else = { NOR = { culture_pillar:heritage_turkic = { is_in_list = traits } culture_pillar:heritage_mongolic = { is_in_list = traits } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = rulers_with_reaver_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 75 if = { limit = { NOR = { culture_pillar:heritage_turkic = { is_in_list = traits } culture_pillar:heritage_mongolic = { is_in_list = traits } scope:character = { government_has_flag = government_is_tribal } } } multiply = 0 } } } tradition_hit_and_run = { category = combat layers = { 0 = martial 1 = mediterranean 4 = soldiers4.dds } is_shown = { NOR = { #Replaced by Konni Raids (tradition_hussar) has_cultural_pillar = heritage_south_slavic has_cultural_pillar = heritage_magyar has_cultural_pillar = heritage_west_slavic } } can_pick = { trigger_if = { limit = { OR = { NOT = { exists = scope:replacing } NOT = { scope:replacing = culture_tradition:tradition_hussar } } } NOT = { has_cultural_tradition = tradition_hussar } #To prevent stacking after hybridization } } # Iberian: Concurso Tactics character_modifier = { skirmishers_damage_add = 2 skirmishers_screen_add = 4 light_cavalry_damage_add = 4 light_cavalry_screen_add = 4 retreat_losses = -0.1 hard_casualty_modifier = -0.1 } 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_spiritual = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_egalitarian_or_spiritual_desc } } if = { limit = { NOT = { scope:character = { number_maa_soldiers_of_base_type = { type = skirmishers value >= 500 } number_maa_soldiers_of_base_type = { type = light_cavalry value >= 500 } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = culture_head_skirmishers_and_light_cav_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 200 if = { limit = { NOR = { culture_has_skirmisher_maa = yes culture_has_light_cavalry_maa = yes } } multiply = 0.25 } else_if = { limit = { scope:character ?= { ai_has_warlike_personality = yes } } multiply = 4 } } } tradition_stand_and_fight = { category = combat is_shown = { NOR = { #Replaced by Mobile Guards has_cultural_pillar = heritage_israelite has_cultural_tradition = tradition_mobile_guards } } layers = { 0 = martial 1 = indian 4 = battle.dds } character_modifier = { levy_toughness = 2 maa_toughness_add = 4 heavy_infantry_toughness_add = 4 heavy_cavalry_toughness_add = 20 pikemen_toughness_add = 6 hard_casualty_modifier = 0.4 defender_advantage = 8 } 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_spiritual = { is_in_list = traits } culture_pillar:ethos_stoic = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_spiritual_or_stoic_desc } } if = { limit = { NOT = { scope:character = { number_maa_soldiers_of_base_type = { type = heavy_infantry value >= 500 } number_maa_soldiers_of_base_type = { type = pikemen value >= 500 } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = culture_head_heavy_inf_and_pikemen_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 400 if = { limit = { NOR = { culture_has_heavy_infantry_maa = yes culture_has_heavy_cavalry_maa = yes culture_has_pikemen_maa = yes } } multiply = 0.25 } else_if = { limit = { scope:character ?= { ai_has_warlike_personality = yes } } multiply = 2 } } } tradition_adaptive_skirmishing = { category = combat layers = { 0 = intrigue 1 = western 4 = soldiers4.dds } parameters = { next_level_military_camps = yes } character_modifier = { enemy_terrain_advantage = -0.25 archers_damage_add = 4 archers_toughness_add = 2 archers_maintenance_mult = -0.05 skirmishers_damage_add = 2 skirmishers_toughness_add = 4 skirmishers_maintenance_mult = -0.05 } 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_spiritual = { is_in_list = traits } culture_pillar:ethos_stoic = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_spiritual_or_stoic_desc } } if = { limit = { NOT = { scope:character = { number_maa_soldiers_of_base_type = { type = skirmishers value >= 500 } number_maa_soldiers_of_base_type = { type = archers value >= 500 } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = culture_head_small_soldiers_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 400 if = { limit = { scope:character = { OR = { number_maa_soldiers_of_base_type = { type = heavy_infantry value >= 200 } number_maa_soldiers_of_base_type = { type = pikemen value >= 200 } } } } multiply = 0 } if = { limit = { OR = { culture_has_heavy_infantry_maa = yes culture_has_heavy_cavalry_maa = yes } } multiply = 0 } else_if = { limit = { NOR = { culture_has_archer_maa = yes culture_has_skirmisher_maa = yes } } multiply = 0.25 } else_if = { limit = { scope:character ?= { ai_has_warlike_personality = yes } } multiply = 2 } } } tradition_formation_fighting = { category = combat layers = { 0 = martial 1 = mediterranean 4 = soldiers3.dds } layers = { 0 = martial } parameters = { next_level_barracks = yes formation_fighting_strategist = yes } character_modifier = { counter_efficiency = 0.15 pursue_efficiency = -0.15 archers_damage_add = 2 archers_toughness_add = 4 pikemen_damage_add = 4 pikemen_toughness_add = 6 } 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_communal = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_courtly_or_communal_desc } } if = { limit = { NOT = { scope:character = { number_maa_soldiers_of_base_type = { type = pikemen value >= 500 } number_maa_soldiers_of_base_type = { type = archers value >= 500 } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = culture_head_archers_and_pikemen_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 200 if = { limit = { scope:character = { OR = { number_maa_soldiers_of_base_type = { type = light_cavalry value >= 300 } number_maa_soldiers_of_base_type = { type = skirmishers value >= 400 } } } } multiply = 0 } if = { limit = { OR = { culture_has_skirmisher_maa = yes culture_has_light_cavalry_maa = yes } } multiply = 0 } else_if = { limit = { NOR = { culture_has_archer_maa = yes culture_has_pikemen_maa = yes } } multiply = 0.25 } else_if = { limit = { scope:character ?= { ai_has_warlike_personality = yes } } multiply = 4 } } } tradition_horse_breeder = { category = combat layers = { 0 = steward 1 = mena 4 = horses.dds } is_shown = { OR = { culture_has_light_cavalry_maa = yes culture_has_heavy_cavalry_maa = yes culture_has_archer_cavalry_maa = yes } } parameters = { next_level_stables = yes } character_modifier = { light_cavalry_maintenance_mult = -0.15 light_cavalry_recruitment_cost_mult = -0.25 heavy_cavalry_maintenance_mult = -0.15 heavy_cavalry_recruitment_cost_mult = -0.25 archer_cavalry_maintenance_mult = -0.15 archer_cavalry_recruitment_cost_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_stoic = { is_in_list = traits } culture_pillar:ethos_communal = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_bellicose_stoic_or_communal_desc } } if = { limit = { scope:character = { NOR = { # Culture Head need to have a 8 sized regiment of either Light/Heavy/Archer Cavalry number_maa_soldiers_of_base_type = { type = light_cavalry value >= 800 } number_maa_soldiers_of_base_type = { type = heavy_cavalry value >= 400 } number_maa_soldiers_of_base_type = { type = archer_cavalry value >= 800 } } } } add = { value = tradition_unfulfilled_criteria_penalty desc = culture_head_cavalry_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 200 if = { limit = { # Reduce chance if the culture has access to other "cavalry" types OR = { has_innovation = innovation_war_camels has_innovation = innovation_elephantry } } multiply = 0.2 } else_if = { limit = { scope:character ?= { ai_has_warlike_personality = yes } } multiply = 2 } } } tradition_longbow_competitions = { category = combat layers = { 0 = martial 1 = western 4 = bow.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 = { unlock_maa_longbowmen = yes archer_era_improvement = yes } character_modifier = { archers_max_size_add = 4 heavy_cavalry_max_size_add = -2 pikemen_max_size_add = -2 } cost = { prestige = { add = { value = tradition_base_cost desc = BASE format = "BASE_VALUE_FORMAT" } # Ethos requirement. if = { limit = { NOR = { culture_pillar:ethos_stoic = { is_in_list = traits } culture_pillar:ethos_bureaucratic = { is_in_list = traits } } } add = { value = tradition_incompatible_ethos_penalty desc = not_stoic_or_bureaucratic_desc } } # Certain number of archer MaA requirement. if = { limit = { scope:character = { number_maa_soldiers_of_base_type = { type = archers # Remember to sync the below with longbow_competitions_minimum_archer_maa_value. value < 1200 } } } add = { value = tradition_unfulfilled_criteria_penalty desc = culture_head_lacks_archer_maa_desc } } multiply = tradition_replacement_cost_if_relevant } } ai_will_do = { value = 800 if = { limit = { OR = { culture_has_pikemen_maa = yes culture_has_heavy_cavalry_maa = yes } } multiply = 0 } } }