CoA stuff and files

This commit is contained in:
edwardtheelbowhigh 2025-02-22 18:15:21 +00:00
parent 5668ff281e
commit bceefb1d50
17 changed files with 30982 additions and 0 deletions

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,28 @@
################################
# DEBUG CULTURAL TRADITIONS #
################################
# Here as a container for parameters useful for modders.
tradition_debug = {
category = regional
layers = {
0 = intrigue
1 = mediterranean
4 = crown.dds
}
is_shown = { always = no }
can_pick = { always = no }
can_pick_for_hybridization = { always = no }
parameters = {
culture_can_raid_over_land_even_if_feudal = yes
culture_can_raid_at_sea_even_if_feudal_no_restrictions = yes
culture_can_raid_over_land_even_if_feudal_no_restrictions = yes
}
cost = { prestige = 300000 }
ai_will_do = { value = 0 }
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,545 @@
###########################
# FP1 CULTURAL TRADITIONS
###########################
#######################
# Norse Specific
#######################
tradition_fp1_coastal_warriors = {
category = combat
layers = {
0 = martial
1 = western
4 = viking.dds
}
is_shown = {
# DLC check.
has_fp1_dlc_trigger = yes
NOT = { has_cultural_tradition = tradition_hird }
has_cultural_pillar = heritage_north_germanic
}
can_pick = {
# Must be of a suitable heritage.
custom_tooltip = {
text = northern_germanic_heritage_trigger
has_cultural_pillar = heritage_north_germanic
}
# And have a coastal presence.
custom_description = {
text = culture_on_coast_desc
any_culture_county = {
any_county_province = {
is_coastal = yes
}
}
}
# Shouldn't be combined with the following traditions:
custom_tooltip = {
text = cannot_have_tradition_warrior_culture
NOT = { culture_tradition:tradition_warrior_culture = { is_in_list = traits } }
}
custom_tooltip = {
text = cannot_have_tradition_seafaring
NOT = { culture_tradition:tradition_seafaring = { is_in_list = traits } }
}
}
parameters = {
unlock_maa_bondi = yes
unlock_maa_vigmen = yes
unlock_maa_varangian_veterans = yes
unlock_maa_huscarls = yes
strong_traits_more_valued = yes
strong_traits_more_common = yes
trade_ports_stationed_maa_bonus = yes
trade_ports_enabled_for_tribals = yes
unlock_voluntary_laampdom = yes
more_likely_to_be_laamps = yes
}
character_modifier = {
sea_travel_danger = medium_sea_danger_reduction
coastal_sea_travel_danger = medium_sea_danger_reduction
taiga_provisions_use_mult = -0.1
forest_provisions_use_mult = -0.1
}
cost = {
prestige = {
# Base cost.
add = {
value = tradition_base_cost
desc = BASE
format = "BASE_VALUE_FORMAT"
}
# Ethos requirement.
if = {
limit = {
culture_pillar:ethos_bellicose = { is_in_list = traits }
}
add = {
value = tradition_incompatible_ethos_penalty
desc = culture_not_bellicose
}
}
# Gotta be a heavily coastal culture not to get a surcharge.
if = {
limit = {
NOT = {
any_culture_county = {
percent >= 0.3
any_county_province = {
is_coastal = yes
}
}
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = coastal_percentage_desc
}
}
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = {
value = 100
if = {
limit = {
NOT = {
scope:character = {
any_sub_realm_county = {
percent >= 0.3
any_county_province = {
is_coastal = yes
}
}
}
}
}
multiply = 0
}
}
}
tradition_fp1_performative_honour = {
category = societal
layers = {
0 = diplo
1 = western
4 = shieldmaiden.dds
}
is_shown = {
# DLC check.
has_fp1_dlc_trigger = yes
has_cultural_pillar = heritage_north_germanic
}
can_pick = {
# Must be of a suitable heritage.
custom_tooltip = {
text = northern_germanic_heritage_trigger
has_cultural_pillar = heritage_north_germanic
}
# Shouldn't be combined with the following traditions:
custom_tooltip = {
text = cannot_have_tradition_fp1_trials_by_combat
NOT = { culture_tradition:tradition_fp1_trials_by_combat = { is_in_list = traits } }
}
custom_tooltip = {
text = cannot_have_tradition_fp1_the_right_to_prove
NOT = { culture_tradition:tradition_fp1_the_right_to_prove = { is_in_list = traits } }
}
}
parameters = {
has_access_to_shieldmaidens = yes
has_access_to_trials_by_combat = yes
craven_trait_costs_prestige = yes
weak_traits_looked_down_upon = yes
}
character_modifier = {
knight_limit = 1
accolade_glory_gain_mult = 0.1
}
cost = {
prestige = {
# Base cost.
add = {
value = tradition_base_cost
desc = BASE
format = "BASE_VALUE_FORMAT"
}
# Ethos requirement.
if = {
limit = {
NOT = {
culture_pillar:ethos_bellicose = { is_in_list = traits }
}
}
add = {
value = tradition_incompatible_ethos_penalty
desc = not_bellicose_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 = 100 }
}
tradition_fp1_northern_stories = {
category = societal
layers = {
0 = diplo
1 = western
4 = runestone.dds
}
is_shown = {
# DLC check.
has_fp1_dlc_trigger = yes
has_cultural_pillar = heritage_north_germanic
}
can_pick = {
# Must be of a suitable heritage.
custom_tooltip = {
text = northern_germanic_heritage_trigger
has_cultural_pillar = heritage_north_germanic
}
# Shouldn't be combined with the following traditions:
custom_tooltip = {
text = cannot_have_tradition_runestones
NOT = { culture_tradition:tradition_runestones = { is_in_list = traits } }
}
custom_tooltip = {
text = cannot_have_tradition_poetry
NOT = { culture_tradition:tradition_poetry = { is_in_list = traits } }
}
custom_tooltip = {
text = cannot_have_tradition_storytellers
NOT = { culture_tradition:tradition_storytellers = { is_in_list = traits } }
}
}
parameters = {
has_access_to_runestones = yes
poet_trait_gives_bonuses = yes
poet_trait_more_common = yes
better_ward_education = yes
tells_stories = yes
}
character_modifier = {
owned_scheme_secrecy_add = -15
owned_legend_spread_mult = 0.1
}
cost = {
prestige = {
# Base cost.
add = {
value = tradition_base_cost
desc = BASE
format = "BASE_VALUE_FORMAT"
}
# Ethos requirement.
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
has_trait = poet
}
}
}
trigger_else = {
always = no
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = rulers_with_poet_desc
}
}
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = { value = 100 }
}
#######################
# Generic
#######################
tradition_fp1_trials_by_combat = {
category = societal
layers = {
0 = intrigue
1 = western
4 = fight.dds
}
is_shown = {
# DLC check.
has_fp1_dlc_trigger = yes
has_cultural_pillar = heritage_north_germanic
}
can_pick = {
custom_tooltip = {
text = cannot_have_tradition_fp1_performative_honour
NOT = { culture_tradition:tradition_fp1_performative_honour = { is_in_list = traits } }
}
}
parameters = {
has_access_to_trials_by_combat = yes
blademaster_traits_give_learning = yes
craven_trait_costs_prestige = yes
}
character_modifier = {
knight_limit = 1
accolade_glory_gain_mult = 0.1
}
cost = {
prestige = {
# Base cost.
add = {
value = tradition_base_cost
desc = BASE
format = "BASE_VALUE_FORMAT"
}
# Ethos requirement.
if = {
limit = {
NOR = {
culture_pillar:ethos_bureaucratic = { 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 = {
trigger_if = {
limit = {
scope:character = {
is_ai = no
}
}
NOT = {
any_ruler = {
count >= 3
culture = prev
primary_title.tier >= tier_county
OR = {
has_trait = education_martial_4
has_trait = education_martial_5
}
learning >= 10
}
}
}
trigger_else_if = {
limit = {
scope:character = {
OR = {
has_trait = education_martial_4
has_trait = education_martial_5
}
learning >= 10
}
}
always = no
}
trigger_else_if = {
limit = {
scope:character.culture = {
OR = {
has_cultural_pillar = heritage_brythonic
has_cultural_pillar = heritage_central_germanic
has_cultural_pillar = heritage_frankish
has_cultural_pillar = heritage_goidelic
has_cultural_pillar = heritage_iberian
has_cultural_pillar = heritage_latin
has_cultural_pillar = heritage_west_germanic
}
}
}
always = no
}
trigger_else = {
always = no
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = rulers_with_martial_edu_and_learning_desc
}
}
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = { value = 100 }
}
tradition_fp1_the_right_to_prove = {
category = societal
layers = {
0 = intrigue
1 = western
4 = shieldmaiden.dds
}
is_shown = {
# DLC check.
has_fp1_dlc_trigger = yes
}
can_pick = {
custom_tooltip = {
text = cannot_have_tradition_fp1_performative_honour
NOT = { culture_tradition:tradition_fp1_performative_honour = { is_in_list = traits } }
}
}
parameters = {
has_access_to_shieldmaidens = yes
}
character_modifier = {
knight_limit = -2
knight_effectiveness_mult = 0.25
}
cost = {
prestige = {
# Base cost.
add = {
value = tradition_base_cost
desc = BASE
format = "BASE_VALUE_FORMAT"
}
# Ethos requirement.
if = {
limit = {
NOR = {
culture_pillar:ethos_bellicose = { is_in_list = traits }
culture_pillar:ethos_communal = { is_in_list = traits }
# Egalitarian, provided you're moving *up* the scale. Somewhat less so when moving down.
culture_pillar:ethos_egalitarian = { 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 = 100
if = {
limit = {
NOT = {
scope:character = {
any_courtier = {
count >= 5
prowess >= 10
is_adult = yes
NOT = { can_be_knight_trigger = { ARMY_OWNER = prev } }
}
}
}
}
multiply = 0
}
}
}

View file

@ -0,0 +1,400 @@
###########################
# FP2 CULTURAL TRADITIONS
###########################
#######################
# Aragonese Specific
#######################
tradition_fp2_state_ransoming = {
category = realm
layers = {
0 = steward
1 = western
4 = state_ransoming.dds
}
is_shown = {
# DLC check.
has_fp2_dlc_trigger = yes
}
# Anyone can take this.
parameters = {
knights_die_less_but_are_captured_more = yes
characters_more_likely_to_be_captured_in_sieges = yes
can_demand_higher_ransoms_from_lower_tiers = yes
}
character_modifier = {
hard_casualty_modifier = -0.5
monthly_war_income_mult = -0.25
}
county_modifier = {
# Naturally, people are more keen to turn up to serve.
levy_size = 0.1
}
cost = {
prestige = {
# Base cost.
add = {
value = tradition_base_cost
desc = BASE
format = "BASE_VALUE_FORMAT"
}
# Ethos requirement.
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
}
}
# Heritage or language
if = {
limit = {
NOR = {
has_cultural_pillar = heritage_iberian
AND = {
exists = culture_head
culture_head = { knows_language = language_iberian }
}
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = lack_iberian_heritage_or_language_penalty_desc
}
}
# General replacement stuff.
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = {
value = 100
}
}
#######################
# Castilian Specific
#######################
tradition_fp2_strategy_gamers = {
category = ritual
layers = {
0 = diplo
1 = western
4 = board_gamers.dds
}
is_shown = {
# DLC check.
has_fp2_dlc_trigger = yes
}
# Anyone can take this.
parameters = {
commanders_likelier_to_gain_commander_traits = yes
may_challenge_to_board_games = yes
may_wager_land_on_board_games = yes
}
character_modifier = {
movement_speed = 0.1
prowess = medium_skill_penalty
martial = medium_skill_bonus
}
cost = {
prestige = {
# Base cost.
add = {
value = tradition_base_cost
desc = BASE
format = "BASE_VALUE_FORMAT"
}
# Ethos requirement.
if = {
limit = {
NOR = {
culture_pillar:ethos_bellicose = { is_in_list = traits }
culture_pillar:ethos_courtly = { is_in_list = traits }
}
}
add = {
value = tradition_incompatible_ethos_penalty
desc = not_bellicose_or_courtly_desc
}
}
# Either high martial, high learning, or a chess board required.
if = {
limit = { exists = culture_head }
if = {
limit = {
culture_head = {
NOR = {
martial >= very_high_skill_rating
learning >= very_high_skill_rating
any_character_artifact = { has_variable = can_be_used_for_board_games }
}
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = lack_martial_learning_or_chess_board_penalty_desc
}
}
}
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = {
value = 0
if = {
limit = { exists = culture_head }
culture_head = {
# Absolute nerds.
if = {
limit = {
martial >= extremely_high_skill_rating
learning >= extremely_high_skill_rating
has_trait = scholar
}
add = 100
}
# People who got suckered in & accidentally started a trend.
if = {
limit = {
any_character_artifact = { has_variable = can_be_used_for_board_games }
}
add = 100
}
}
}
}
}
#######################
# Andalusian Specific
#######################
tradition_fp2_malleable_subjects = {
category = realm
layers = {
0 = intrigue
1 = mena
4 = malleable_subjects.dds
}
is_shown = {
# DLC check.
has_fp2_dlc_trigger = yes
has_cultural_pillar = heritage_iberian
}
can_pick = {
# Must be of a suitable heritage.
custom_tooltip = {
text = iberian_heritage_trigger
has_cultural_pillar = heritage_iberian
}
}
parameters = {
doesnt_care_about_culture_faith_in_factions = yes
wants_to_learn_liege_language = yes
harder_to_convert_county_culture_without_heritage = yes
easier_to_convert_county_culture_with_heritage = yes
powerful_foreign_knights_find_you_attractive = yes
# ^[blushes]
}
character_modifier = {
mercenary_hire_cost_mult = -0.5
vassal_levy_contribution_mult = 0.25
different_culture_opinion = 10
ignore_negative_opinion_of_culture = yes
}
culture_modifier = {
mercenary_count_mult = 2
cultural_acceptance_gain_mult = 0.25
}
cost = {
prestige = {
# Base cost.
add = {
value = tradition_base_cost
desc = BASE
format = "BASE_VALUE_FORMAT"
}
# Ethos requirement.
if = {
limit = {
NOR = {
culture_pillar:ethos_egalitarian = { is_in_list = traits }
culture_pillar:ethos_courtly = { is_in_list = traits }
}
}
add = {
value = tradition_incompatible_ethos_penalty
desc = not_egalitarian_or_courtly_desc
}
}
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = {
value = 0
# Players might want this, but the AI never does.
}
}
#######################
# Generic
#######################
tradition_fp2_ritualised_friendship = {
category = societal
layers = {
0 = diplo
1 = western
4 = ritualised_friendship.dds
}
is_shown = {
# DLC check.
#has_fp2_dlc_trigger = yes
}
can_pick = {
# Must have at least one friend. No friendless losers. Especially you, Nick.
custom_tooltip = {
text = need_at_least_one_friend
culture_head ?= {
any_relation = {
type = friend
count >= 1
}
}
}
}
parameters = {
automatic_befriend_access = yes
may_propose_best_friendship = yes
strong_hooks_and_stress_effects_best_friends = yes
may_select_friendship_synergy_bonus = yes
}
character_modifier = {
scheme_phase_duration_against_friend_add = 20
scheme_phase_duration_against_best_friend_add = 40
}
cost = {
prestige = {
# Base cost.
add = {
value = tradition_base_cost
desc = BASE
format = "BASE_VALUE_FORMAT"
}
# No ethos requirement: everyone likes friends.
# Need at least three friends.
if = {
limit = { exists = culture_head }
if = {
limit = {
culture_head = {
any_relation = {
type = friend
count < 3
}
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = guess_you_need_more_friends_desc
}
}
}
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = {
value = 0
if = {
limit = { exists = culture_head }
culture_head = {
# Some traits make you want to codify this more...
if = {
limit = { has_trait = gregarious }
add = 50
}
if = {
limit = { has_trait = just }
add = 25
}
if = {
limit = { has_trait = compassionate }
add = 25
}
# ... but arbitrary characters have zero interest in anything nearly so formal
if = {
limit = { has_trait = arbitrary }
add = -200
}
# We don't modify down for shy because, if anything, you'd expect a shy person to be more serious about the few friends they *do* have.
# Having lots of friends makes you more likely to want this.
if = {
limit = {
any_relation = {
type = friend
count >= 4
}
}
add = 50
}
# As does having a best friend already.
if = {
limit = {
any_relation = {
type = best_friend
count >= 1
}
}
add = 25
}
# And certain lifestyles also make you want to focus on this.
if = {
limit = { has_focus = martial_chivalry_focus }
add = 10
}
}
}
}
}

View file

@ -0,0 +1,801 @@
###########################
# FP3 CULTURAL TRADITIONS
###########################
#######################
# Central Asian Specific
#######################
tradition_fp3_frontier_warriors = {
category = regional
layers = {
0 = martial
1 = mena
4 = dismounted_warrior.dds
}
is_shown = {
# DLC check.
has_fp3_dlc_trigger = yes
# Any culture present in the given area can pick this
any_culture_county = {
any_county_province = {
OR = {
geographical_region = world_transoxiana
geographical_region = world_khorasan
geographical_region = world_steppe_tarim
}
}
}
}
can_pick = {
culture_not_pacifistic_trigger = yes
# Must have a significant cultural presence in the general Turanian area, i.e. the "frontier"
custom_tooltip = {
text = culture_on_eastern_frontier_desc
any_culture_county = {
percent >= 0.2
any_county_province = {
OR = {
geographical_region = world_transoxiana
geographical_region = world_khorasan
geographical_region = world_steppe_tarim
}
}
}
}
}
parameters = {
unlock_maa_tarkhan = yes
faith_warrior_traits_more_valued = yes
}
province_modifier = {
hostile_raid_time = 0.5
}
character_modifier = {
mercenary_hire_cost_mult = -0.10
movement_speed = 0.05
}
cost = {
prestige = {
# Base cost.
add = {
value = tradition_base_cost
desc = BASE
format = "BASE_VALUE_FORMAT"
}
# Ethos requirement.
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
}
}
# Gotta be a steppe-heavy culture not to get a surcharge.
if = {
limit = {
NOT = {
any_culture_county = {
percent >= 0.3
any_county_province = {
OR = {
terrain = steppe
terrain = desert
}
}
}
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = steppe_or_desert_percentage_desc
}
}
#Turko-Mongol-Iranians get it cheaper!
if = {
limit = {
NOR = {
has_cultural_pillar = heritage_iranian
has_cultural_pillar = heritage_turkic
has_cultural_pillar = heritage_mongolic
has_cultural_pillar = heritage_tocharian
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = not_of_central_asian_heritage_desc
}
}
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = {
value = 100
if = {
limit = {
NOT = {
scope:character = {
any_sub_realm_county = {
percent >= 0.3
any_county_province = {
terrain = steppe
}
}
}
}
}
multiply = 0
}
}
}
#######################
# Persian Specific
#######################
tradition_fp3_irrigation_experts = {
category = realm
layers = {
0 = steward
1 = mena
4 = water_technology.dds
}
is_shown = {
# DLC check.
has_fp3_dlc_trigger = yes
has_cultural_pillar = heritage_iranian
NOT = { has_cultural_tradition = tradition_dryland_dwellers }
}
can_pick = {
custom_description = {
text = culture_in_dryland_desc
any_culture_county = {
any_county_province = {
OR = {
terrain = drylands
terrain = desert
terrain = desert_mountains
}
}
}
}
# Shouldn't be combined with the following traditions:
custom_tooltip = {
text = cannot_have_tradition_dryland_dwellers
NOT = { culture_tradition:tradition_dryland_dwellers = { is_in_list = traits } } #this is another approach to drylands dwelling
}
}
parameters = {
innovative_traits_more_valued = yes
unlocks_qanat_building = yes
plantations_building_bonuses = yes
drylands_hunt_success_chance = yes
}
character_modifier = {
negate_health_penalty_add = 0.1
desert_travel_danger = desert_medium_danger_reduction
drylands_travel_danger = drylands_medium_danger_reduction
desert_mountains_travel_danger = desert_mountains_medium_danger_reduction
}
county_modifier = {
desert_development_growth_factor = 0.35
drylands_development_growth_factor = 0.15
}
province_modifier = {
desert_construction_gold_cost = -0.1
drylands_construction_gold_cost = -0.1
desert_holding_construction_gold_cost = -0.1
drylands_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_courtly = { is_in_list = traits }
culture_pillar:ethos_communal = { is_in_list = traits }
culture_pillar:ethos_egalitarian = { is_in_list = traits }
}
}
add = {
value = tradition_incompatible_ethos_penalty
desc = not_communal_egalitarian_or_courtly_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 = 400
if = {
limit = {
NOT = { #if the realm isn't very dry, the AI won't pick this
scope:character = {
any_sub_realm_county = {
percent >= 0.4
culture = scope:character.culture
any_county_province = {
OR = {
terrain = drylands
terrain = desert
}
}
}
}
}
}
multiply = 0
}
else_if = {
limit = {
any_culture_county = {
percent >= 0.6
any_county_province = {
OR = {
terrain = drylands
terrain = desert
}
}
}
}
multiply = 4
}
}
}
tradition_fp3_beacon_of_learning = { # Offshoot of tradition_philosopher_culture
category = societal
layers = {
0 = learning
1 = mena
4 = beacon_of_learning.dds
}
is_shown = {
has_fp3_dlc_trigger = yes
has_cultural_pillar = heritage_iranian
NOT = { has_cultural_tradition = tradition_philosopher_culture } # Replaces Philosopher Culture
}
can_pick = {
custom_description = {
text = culture_not_bellicose
NOT = {
culture_pillar:ethos_bellicose = { is_in_list = traits }
}
}
NOT = { has_cultural_tradition = tradition_warrior_culture }
NOT = { has_cultural_tradition = tradition_philosopher_culture }
}
can_pick_for_hybridization = {
custom_tooltip = {
text = no_warrior_culture
NOT = { # Only blocks polygamous to avoid duplicate warnings, but is blocked by concubines
culture_tradition:tradition_warrior_culture = { is_in_list = traits }
}
}
custom_tooltip = {
text = no_philosopher_culture
NOT = { # Only blocks polygamous to avoid duplicate warnings, but is blocked by concubines
culture_tradition:tradition_philosopher_culture = { is_in_list = traits }
}
}
}
parameters = {
pensive_trait_more_common = yes
rowdy_trait_less_common = yes
innovation_from_learning_traits = yes
can_appoint_court_scholar = yes
guardian_education_better_outcomes = yes
}
character_modifier = {
monthly_learning_lifestyle_xp_gain_mult = 0.2
learning_per_piety_level = 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 }
culture_pillar:ethos_spiritual = { is_in_list = traits }
}
}
add = {
value = tradition_incompatible_ethos_penalty
desc = not_courtly_communal_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
has_trait = scholar
}
}
}
trigger_else = {
always = no
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = rulers_with_scholar_desc
}
}
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = {
value = 200
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 }
}
}
multiply = 0
}
}
}
# Replaces Refined Poetry
tradition_fp3_enlightened_magnates = {
category = societal
layers = {
0 = diplo
1 = mena
4 = jirga.dds
}
is_shown = {
has_fp3_dlc_trigger = yes
has_cultural_pillar = heritage_iranian
NOT = { has_cultural_tradition = tradition_poetry }
}
parameters = {
poet_trait_gives_bonuses = yes
poet_trait_more_common = yes
characters_are_better_court_poets = yes
characters_are_better_tax_collector = yes
unlock_tax_obligation_deqhan = yes
}
character_modifier = {
clan_tax_slot_add = 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 }
culture_pillar:ethos_spiritual = { is_in_list = traits }
}
}
add = {
value = tradition_incompatible_ethos_penalty
desc = not_courtly_communal_or_spiritual_desc
}
}
if = {
limit = {
trigger_if = {
limit = {
scope:character = {
is_ai = no
}
}
NOT = {
any_ruler = {
count >= 3
culture = prev
primary_title.tier >= tier_county
has_trait = poet
}
}
}
trigger_else = {
always = no
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = rulers_with_poet_desc
}
}
if = {
limit = {
scope:character = {
has_variable = tradition_poetry_travel_discount
}
}
add = {
value = tradition_travel_discount
desc = tradition_travel_discount_desc
}
}
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = {
value = 125
if = {
limit = { # AI should avoid stacking traditions for courtly court positions
culture_tradition:tradition_music_theory = { is_in_list = traits }
}
multiply = 0.25
}
}
}
#######################
# Afghanistan/Baluchistan Specific
#######################
tradition_fp3_jirga = {
category = regional
layers = {
0 = learning
1 = indian
4 = jirga.dds
}
is_shown = {
# DLC check.
has_fp3_dlc_trigger = yes
OR = {
has_cultural_pillar = heritage_iranian
has_cultural_pillar = heritage_indo_aryan
}
}
can_pick = {
scope:character = {
government_has_flag = government_is_tribal #This tradition is really a holdover from tribal culture, and though the Afghanis might have it despite having changed government forms, others cannot pick it now.
}
}
parameters = {
tribal_elective_enabled = yes
just_trait_gives_bonuses = yes
pardoning_gives_prestige = yes
}
character_modifier = {
owned_personal_scheme_success_chance_add = 10
}
cost = {
prestige = {
add = {
value = tradition_base_cost
desc = BASE
format = "BASE_VALUE_FORMAT"
}
if = {
limit = {
NOR = {
culture_pillar:ethos_communal = { is_in_list = traits }
culture_pillar:ethos_stoic = { is_in_list = traits }
}
}
add = {
value = tradition_incompatible_ethos_penalty
desc = not_stoic_or_communal_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 = 100
if = {
limit = {
OR = {
culture_tradition:tradition_things = { is_in_list = traits }
culture_tradition:tradition_the_witenagemot = { is_in_list = traits }
}
}
multiply = 0
}
}
}
tradition_fp3_pragmatic_creed = {
category = regional
layers = {
0 = diplo
1 = mena
4 = pragmatic_creed.dds
}
is_shown = {
# DLC check.
has_fp3_dlc_trigger = yes
has_cultural_pillar = heritage_iranian
}
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 = {
unlock_maa_zupin_warrior = yes
diligent_trait_more_common = yes
pragmatic_traits_county_opinion_modifiers = yes
commanders_likelier_to_gain_commander_traits = yes
}
character_modifier = {
skirmishers_toughness_mult = 0.10
skirmishers_maintenance_mult = -0.15
heavy_cavalry_maintenance_mult = 0.15
light_cavalry_maintenance_mult = 0.15
}
cost = {
prestige = {
add = {
value = tradition_base_cost
desc = BASE
format = "BASE_VALUE_FORMAT"
}
if = {
limit = {
culture_pillar:ethos_courtly = { is_in_list = traits }
culture_pillar:ethos_bureaucratic = { is_in_list = traits }
culture_pillar:ethos_spiritual = { is_in_list = traits }
}
add = {
value = tradition_incompatible_ethos_penalty
desc = not_bureaucratic_courtly_or_spiritual_desc
}
}
# Gotta be a mountain-heavy culture not to get a surcharge.
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 = 100
if = {
limit = {
OR = { # Don't pick this if the culture have Light Cavalry or Heavy Cavalry MaAs
culture_has_heavy_cavalry_maa = yes
culture_has_light_cavalry_maa = yes
}
}
multiply = 0
}
if = {
limit = {
NOT = { # Less likely for cultures who doesn't descend from Daylamite
any_parent_culture_or_above = {
this = culture:daylamite
}
}
}
multiply = 0.75
}
}
}
#######################
# Kurdish Specific
#######################
tradition_fp3_fierce_independence = {
category = regional
layers = {
0 = martial
1 = mena
4 = fierce_independence.dds
}
is_shown = {
has_fp3_dlc_trigger = yes
has_cultural_pillar = heritage_iranian
}
can_pick = {
NOT = {
has_cultural_tradition = tradition_staunch_traditionalists
}
}
parameters = {
unlock_maa_tawashi = yes
harder_to_hybridize = yes
harder_to_convert_county_culture = yes
}
character_modifier = {
controlled_province_advantage = 5
same_culture_opinion = 5
opinion_of_liege = -10
}
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 }
culture_pillar:ethos_stoic = { is_in_list = traits }
}
}
add = {
value = tradition_incompatible_ethos_penalty
desc = not_bellicose_stoic_or_communal_desc
}
}
if = {
limit = {
scope:character = {
any_sub_realm_county = {
NOT = {
culture = scope:character.culture
}
}
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = has_other_cultures_in_realm_desc
}
}
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = {
value = 400
if = {
limit = {
NOR = {
culture_pillar:ethos_stoic = { is_in_list = traits }
culture_pillar:ethos_communal = { is_in_list = traits }
}
}
multiply = 0.5
}
}
}

View file

@ -0,0 +1,95 @@
###########################
# EP2 CULTURAL TRADITIONS
###########################
#######################
# Generic
#######################
tradition_ep2_avid_falconers = {
category = societal
layers = {
0 = diplo
1 = mena
4 = hunter.dds
}
is_shown = {
# DLC check.
has_dlc_feature = tours_and_tournaments
}
can_pick = {
culture_not_pacifistic_trigger = yes
custom_tooltip = {
text = cannot_have_tradition_vegetarianism
NOT = { culture_tradition:tradition_vegetarianism = { is_in_list = traits } }
}
}
parameters = {
more_frequent_hunts = yes
hunting_traits_more_valued = yes
falconer_traits_more_common = yes
always_unlock_legendary_hunting_lodge = yes
}
province_modifier = {
stationed_maa_pursuit_mult = 0.15
}
cost = {
prestige = {
# Base cost.
add = {
value = tradition_base_cost
desc = BASE
format = "BASE_VALUE_FORMAT"
}
# Ethos requirement.
if = {
limit = {
NOR = {
culture_pillar:ethos_courtly = { is_in_list = traits }
culture_pillar:ethos_stoic = { is_in_list = traits }
}
}
add = {
value = tradition_incompatible_ethos_penalty
desc = not_stoic_or_courtly_desc
}
}
# General replacement stuff.
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = {
value = 100
if = {
limit = { exists = culture_head }
culture_head = {
# Some traits make you want to codify this more...
if = {
limit = { has_trait = arrogant }
add = 25
}
if = {
limit = { has_trait = diligent }
add = 25
}
# ... and others less.
if = {
limit = { has_trait = lazy }
add = -50
}
if = {
limit = { has_trait = humble }
add = -25
}
}
}
}
}

View file

@ -0,0 +1,112 @@
###########################
# EP2 CULTURAL TRADITIONS
###########################
#######################
# Generic
#######################
tradition_ce1_ritual_washing = {
category = ritual
layers = {
0 = diplo
1 = mena
4 = ritual_washing.dds
}
character_modifier = {
monthly_learning_lifestyle_xp_gain_mult = 0.1
}
parameters = {
better_disease_resistance = yes
diligent_trait_more_common = yes
}
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 = {
trigger_if = {
limit = {
scope:character = {
is_ai = no
}
}
NOT = {
any_ruler = {
count >= 5
culture = prev
employs_court_position = court_physician_court_position
}
}
}
trigger_else = {
always = no
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = doesnt_employ_court_physician_desc
}
}
#Discounts
if = {
limit = {
scope:character = {
OR = {
has_trait = lifestyle_physician
has_trait = whole_of_body
}
}
}
add = {
value = tradition_trait_discount
desc = cheaper_tradition_physician_or_whole_of_body
}
}
if = {
limit = {
has_cultural_pillar = heritage_north_germanic
}
add = {
value = tradition_heritage_discount
desc = cheaper_tradition_norse_washing
}
}
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = {
value = 100
if = {
limit = {
scope:character = {
has_perk = wash_your_hands_perk
}
}
add = 100
}
}
}

View file

@ -0,0 +1,654 @@
#######################
# CULTURAL TRADITIONS #
#######################
######################
# EP3 Traditions #
######################
tradition_ep3_indomitable_azatani = {
category = regional
layers = {
0 = martial
1 = mena
4 = indomitable_azatani.dds
}
is_shown = {
OR = {
this = culture:armenian
any_parent_culture_or_above = {
this = culture:armenian
}
}
# DLC check.
has_ep3_dlc_trigger = yes
NOT = {
has_cultural_tradition = tradition_horse_breeder
}
}
can_pick = {
culture_not_pacifistic_trigger = yes
trigger_if = {
limit = {
OR = {
NOT = { exists = scope:replacing }
NOT = { scope:replacing = culture_tradition:tradition_horse_breeder }
}
}
NOT = { has_cultural_tradition = tradition_horse_breeder } #To prevent stacking after hybridization
}
}
parameters = {
unlock_maa_ayrudzi = yes
house_hostility_more_common = yes
vassals_more_likely_to_refuse_demands = yes
}
character_modifier = {
light_cavalry_maintenance_mult = -0.15
heavy_cavalry_maintenance_mult = -0.15
archer_cavalry_maintenance_mult = -0.15
light_cavalry_damage_add = 4
heavy_cavalry_damage_add = 20
}
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 slightly if the culture has access to other "cavalry" types
OR = {
has_innovation = innovation_war_camels
has_innovation = innovation_elephantry
}
}
multiply = 0.4
}
else_if = {
limit = {
scope:character ?= {
ai_has_warlike_personality = yes
}
}
multiply = 4
}
}
}
tradition_ep3_audacious_cadets = {
category = regional
layers = {
0 = martial
1 = western
4 = audacious_cadets.dds
}
is_shown = {
OR = {
this = culture:norman
any_parent_culture_or_above = {
this = culture:norman
}
}
# DLC check.
has_ep3_dlc_trigger = yes
NOT = {
has_cultural_tradition = tradition_swords_for_hire
}
}
can_pick = {
culture_not_pacifistic_trigger = yes
trigger_if = {
limit = {
OR = {
NOT = { exists = scope:replacing }
NOT = { scope:replacing = culture_tradition:tradition_swords_for_hire }
}
}
NOT = { has_cultural_tradition = tradition_swords_for_hire } #To prevent stacking after hybridization
}
}
parameters = {
unlock_maa_conrois = yes
unlock_voluntary_laampdom = yes
much_more_likely_to_be_laamps = yes
ambitious_trait_more_common = yes
wanderers_gain_extra_combat_skills = yes
mercenary_courtiers_gain_extra_skills = yes
more_likely_to_leave_court = yes
}
character_modifier = {
heavy_cavalry_damage_add = 20
heavy_cavalry_pursuit_add = 20
heavy_cavalry_max_size_add = 2
siege_phase_time = -0.1
ai_honor = -20
ai_war_chance = 0.5
ai_war_cooldown = -0.25
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 = {
NOT = {
culture_pillar:ethos_bellicose = { is_in_list = traits }
}
}
add = {
value = tradition_incompatible_ethos_penalty
desc = not_bellicose_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 = heavy_cavalry
value >= 400
}
}
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = culture_head_heavy_cavalry_desc
}
}
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = {
value = 200
if = {
limit = {
NOT = {
culture_has_heavy_cavalry_maa = yes
}
}
multiply = 0.25
}
else_if = {
limit = {
scope:character ?= {
ai_has_warlike_personality = yes
}
}
multiply = 4
}
}
}
tradition_ep3_imperial_tagmata = {
category = regional
layers = {
0 = martial
1 = mediterranean
4 = imperial_tagmata.dds
}
is_shown = {
OR = {
this = culture:greek
any_parent_culture_or_above = {
this = culture:greek
}
has_cultural_pillar = heritage_byzantine
}
# DLC check.
has_ep3_dlc_trigger = yes
NOT = {
has_cultural_tradition = tradition_roman_legacy
}
}
can_pick = {
}
parameters = {
unlock_maa_cataphract = yes
unlock_maa_akritai = yes
unlock_maa_ballistrai = yes
unlock_maa_skoutatoi = yes
frontier_themes_borrow_neighbor_troops = yes
}
character_modifier = {
heavy_cavalry_max_size_add = 2
counter_efficiency = 0.1
knight_effectiveness_mult = -0.25
men_at_arms_title_limit = 1
}
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_held_title = {
tier = tier_county
count >= 8
any_county_province = {
has_building_or_higher = stables_01
}
}
}
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = domain_counties_with_stables_desc
}
}
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = {
value = 400
if = {
limit = { # Admin should be more into this
scope:character = {
government_allows = administrative
}
}
multiply = 2
}
else_if = {
limit = {
scope:character ?= {
ai_has_warlike_personality = yes
}
}
multiply = 4
}
}
}
tradition_ep3_roman_ceremonies = {
category = regional
layers = {
0 = diplo
1 = mediterranean
4 = roman_ceremonies.dds
}
is_shown = {
OR = {
this = culture:greek
any_parent_culture_or_above = {
this = culture:greek
}
has_cultural_pillar = heritage_byzantine
scope:character = {
OR = {
has_title = title:e_byzantium
has_title = title:e_roman_empire
}
}
}
# DLC check.
has_ep3_dlc_trigger = yes
NOT = {
has_cultural_tradition = tradition_byzantine_succession
}
}
can_pick = {
}
parameters = {
holds_triumphs = yes
hosts_chariot_races = yes
children_can_be_born_in_the_purple = yes
# We use the co-emperors parameter for most things...
unlock_co_emperors = yes
# ... which means the junior emperor parameter is _mostly_ just here for the loc.
unlock_junior_emperors = yes
#byzantine_faction_preffered_claimants = yes
}
county_modifier = {
county_opinion_add = -10
}
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_courtly = { is_in_list = traits }
culture_pillar:ethos_egalitarian = { is_in_list = traits }
}
}
add = {
value = tradition_incompatible_ethos_penalty
desc = not_bureaucratic_courtly_or_egalitarian_desc
}
}
if = {
limit = {
NOT = {
any_culture_county = {
count >= 50
any_county_province = {
geographical_region = custom_eastern_roman_empire
}
}
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = culture_in_roman_empire_desc
}
}
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = {
value = 200
if = {
limit = { # Admin should be more into this
scope:character = {
government_allows = administrative
}
}
multiply = 2
}
}
}
tradition_ep3_palace_politics = {
category = regional
layers = {
0 = intrigue
1 = mediterranean
4 = palace_politics.dds
}
is_shown = {
OR = {
this = culture:greek
any_parent_culture_or_above = {
this = culture:greek
}
has_cultural_pillar = heritage_byzantine
scope:character = {
OR = {
has_title = title:e_byzantium
has_title = title:e_roman_empire
}
}
}
# DLC check.
has_ep3_dlc_trigger = yes
NOT = {
has_cultural_tradition = tradition_byzantine_succession
}
}
can_pick = {
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 = {
unlock_maa_varangian_guards = yes
unlock_akolouthos = yes
reduced_bodyguard_aptitude = yes
can_blind_prisoners = yes
can_castrate_prisoners = yes
eunuch_trait_bonuses = yes
can_appoint_chief_eunuch = yes
family_castration = yes
ambitious_trait_more_common = yes
physical_disfigurement_blocks_inheritance = yes #Actually only blocks claimants and reduce score in elective. Also includes infertility for tooltip reasons.
cultrad_unlocks_t2_countermeasures = yes
palace_politics_trait_bonuses = yes
palace_politics_trait_maluses = yes
}
character_modifier = {
monthly_court_grandeur_change_mult = 0.2
political_scheme_phase_duration_add = minor_scheme_phase_duration_bonus_value
personal_scheme_phase_duration_add = minor_scheme_phase_duration_bonus_value
}
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_courtly = { is_in_list = traits }
culture_pillar:ethos_spiritual = { is_in_list = traits }
}
}
add = {
value = tradition_incompatible_ethos_penalty
desc = not_bureaucratic_courtly_or_spiritual_desc
}
}
if = {
limit = {
has_dlc_feature = royal_court
OR = {
scope:character = { has_royal_court = no }
NOT = {
scope:character = {
court_grandeur_current_level >= very_high_court_grandeur_level
}
}
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = culture_head_court_grandeur_desc
}
}
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = {
value = 200
if = {
limit = { # Admin should be more into this
scope:character = {
government_allows = administrative
}
}
multiply = 2
}
}
}
tradition_ep3_cultivated_sophistication = {
category = societal
layers = {
0 = learning
1 = mediterranean
4 = cultivated_sophistication.dds
}
is_shown = {
# DLC check.
has_ep3_dlc_trigger = yes
}
can_pick = {
custom_tooltip = {
text = must_have_administrative_government_tt
scope:character = { government_allows = administrative }
}
}
parameters = {
less_likely_to_culture_convert = yes
other_cultures_more_likely_to_hybridize = yes
estate_building_upgrade_development_gain = yes
allows_noble_family_adoption = yes
}
character_modifier = {
monthly_influence_mult = 0.1
diplomatic_range_mult = 0.2
#cultural_head_fascination_mult = -0.10
}
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_courtly = { is_in_list = traits }
culture_pillar:ethos_spiritual = { is_in_list = traits }
}
}
add = {
value = tradition_incompatible_ethos_penalty
desc = not_bureaucratic_courtly_or_spiritual_desc
}
}
if = {
limit = {
NOT = {
scope:character = {
exists = capital_county
capital_county = {
tier = tier_county
development_level >= 30
}
}
}
}
add = {
value = tradition_unfulfilled_criteria_penalty
desc = capital_province_development_level_desc
}
}
multiply = tradition_replacement_cost_if_relevant
}
}
ai_will_do = {
value = 200
if = {
limit = { # Admin should be more into this
OR = {
this = culture:greek
any_parent_culture_or_above = {
this = culture:greek
}
has_cultural_pillar = heritage_byzantine
}
}
multiply = 2
}
}
}

View file

@ -0,0 +1,37 @@
The structure is identical to cultural traits in general, except for a few added fields:
category = string
This is used for grouping in the Add Tradition view, and in the Divergence view.
Layers match the CULTURE_TRADITION_LAYER_PATHS define. Index starts from 0
layers = {
0 = martial # Use a random icon from the specific subfolder
# 1 = blah # By leaving out the index, it'll use a random icon from the folder
3 = letter1.dds # By specifying a file name, that specific file will get used
}
Example:
#dummy_tradition = {
# parameters = {
# can_raid = yes
# }
#
# character_modifier = {
# diplomacy = 1
# }
#
# county_modifier = {
# development_growth_factor = 0.05
# }
#
# province_modifier = {
# monthly_income = poor_building_tax_tier_4
# }
#
# doctrine_character_modifier = {
# doctrine = doctrine_pluralism_righteous
# same_faith_opinion = 5
# tyranny_gain_mult = -0.25
# }
#}