starting_gold = { value = 0 add = { value = starting_gold_by_income if = { limit = { has_treasury = yes } if = { limit = { is_independent_ruler = no highest_held_title_tier < tier_empire # excluding Chinese ministers } divide = 4 } else_if = { limit = { is_independent_ruler = yes NOT = { has_title = title:e_byzantium } } multiply = { value = highest_held_title_tier subtract = 1 min = 1 } } else_if = { # for Chinese ministers limit = { highest_held_title_tier = tier_empire is_independent_ruler = no is_landed = no } add = monumental_gold_value } } min = 1 } } starting_treasury = { value = 0 if = { limit = { has_treasury = yes } if = { limit = { highest_held_title_tier = tier_county } add = { value = major_treasury_value } } else_if = { limit = { highest_held_title_tier = tier_duchy } add = { value = massive_treasury_value } } else_if = { limit = { highest_held_title_tier = tier_kingdom } add = { value = massive_treasury_value if = { limit = { game_start_date = 1066.9.15 has_title = title:k_egypt } multiply = -1 } else = { multiply = 2 } } } else_if = { limit = { highest_held_title_tier = tier_empire } add = { value = monumental_treasury_value if = { limit = { liege = title:h_china.holder # for ministerial expenses } multiply = 3 } else_if = { limit = { is_independent_ruler = yes } multiply = 2 } if = { limit = { game_start_date = 1066.9.15 has_title = title:e_byzantium } max = 180 } else_if = { limit = { game_start_date = 867.1.1 has_title = title:e_byzantium } max = 400 } else_if = { limit = { has_title = title:e_byzantium } max = 800 } } } else_if = { limit = { highest_held_title_tier = tier_hegemony } add = { value = monumental_treasury_value multiply = 4.5 } } } } starting_prestige = { value = { # Longer-lived characters start with some inherent prestige. add = { value = medium_prestige_value multiply = { value = 0 # Bonus for older characters (who have presumably accomplished more). if = { limit = { age > 60 } add = 5 } else_if = { limit = { age > 48 } add = 4 } else_if = { limit = { age > 36 } add = 3 } else_if = { limit = { age > 24 } add = 2 } else_if = { limit = { age > 12 } add = 1 } # Bonus/penalty for traits. if = { limit = { OR = { has_trait = arrogant has_trait = ambitious } } add = 1 } else_if = { limit = { OR = { has_trait = humble has_trait = content } } add = -1 } # Humble/content children shouldn't have a prestige penalty! min = 0 } } # Rulers also gain bonus prestige based on their tier. add = { value = medium_prestige_value multiply = highest_held_title_tier } } } starting_piety = { value = { # All characters start with some about of piety based on how long they have lived a virtuous life. add = { value = medium_piety_value multiply = { add = num_virtuous_traits subtract = num_sinful_traits if = { limit = { has_trait = zealous } add = 1 } else_if = { limit = { has_trait = cynical } add = -1 } } multiply = { value = 0 if = { limit = { age > 60 } add = 5 } else_if = { limit = { age > 48 } add = 4 } else_if = { limit = { age > 36 } add = 3 } else_if = { limit = { age > 24 } add = 2 } else_if = { limit = { age > 12 } add = 1 } } } # Rulers also gain some Piety based on tier (but less than piety than prestige). add = { value = minor_piety_value multiply = highest_held_title_tier } # Nobody starts with negative piety, not even even sinful characters. min = minor_piety_value } } starting_influence = { value = { # Longer-lived characters start with some inherent influence. add = { value = medium_influence_value multiply = { value = 0 # Bonus for older characters (who have presumably had time to establish themselves more). if = { limit = { age > 60 } add = 5 } else_if = { limit = { age > 48 } add = 4 } else_if = { limit = { age > 36 } add = 3 } else_if = { limit = { age > 24 } add = 2 } else_if = { limit = { age > 12 } add = 1 } # Bonus/penalty for traits. if = { limit = { OR = { has_trait = generous has_trait = deceitful } } add = 1 } else_if = { limit = { OR = { has_trait = impatient has_trait = trusting } } add = -1 } # Children who are impatient/trusting children shouldn't start with negative influence! min = 0 } } } } # Starting merit will give merit levels as well. (as opposed to other starting values like starting_prestige) starting_merit = { value = 0 # We are making an assumption that the Hegemon does not need Merit applied to them because they already have the Mandate of Heaven. if = { limit = { government_allows = merit is_faith_dominant_gender = yes is_adult = yes this != character:han_30000 # Not for tutorial character } # Rulers if = { limit = { is_independent_ruler = no is_ruler = yes } # Title checks # First - We add a base amount based on tier # Secondly - We add some more based on tier and age # Finally - We add a third amount for some randomness and to ensure we have candidates with enough merit for the next tier switch = { trigger = primary_title.tier tier_empire = { add = empire_starting_merit_value add = { value = kingdom_starting_merit_value multiply = { value = age divide = 75 } } } tier_kingdom = { add = kingdom_starting_merit_value add = { value = kingdom_starting_merit_value multiply = { value = age divide = 75 } } if = { limit = { is_ai = yes } if = { limit = { static_group_filter = { group = starting_merit_characters_1 match = 0.2 } } multiply = 2 } else_if = { limit = { static_group_filter = { group = starting_merit_characters_2 match = 0.2 } } multiply = 1.5 } else_if = { limit = { static_group_filter = { group = starting_merit_characters_3 match = 0.2 } } multiply = 1.25 } } } tier_duchy = { add = duchy_starting_merit_value add = { value = duchy_starting_merit_value multiply = { value = age divide = 50 } } if = { limit = { is_ai = yes } if = { limit = { static_group_filter = { group = starting_merit_characters_1 match = 0.2 } } multiply = 3 } else_if = { limit = { static_group_filter = { group = starting_merit_characters_2 match = 0.2 } } multiply = 2 } else_if = { limit = { static_group_filter = { group = starting_merit_characters_3 match = 0.2 } } multiply = 1.25 } } } tier_county = { add = county_starting_merit_value add = { value = county_starting_merit_value multiply = { value = age divide = 50 } } if = { limit = { is_ai = yes } if = { limit = { static_group_filter = { group = starting_merit_characters_1 match = 0.2 } } multiply = 3 } else_if = { limit = { static_group_filter = { group = starting_merit_characters_2 match = 0.2 } } multiply = 2 } else_if = { limit = { static_group_filter = { group = starting_merit_characters_3 match = 0.25 } } multiply = 1.5 } else_if = { limit = { static_group_filter = { group = starting_merit_characters_4 match = 0.25 } } multiply = 1.25 } } } } } # Non-rulers if = { limit = { is_courtier = yes NOR = { has_council_position = councillor_court_chaplain has_trait = devoted } } add = sum_of_all_skills_value add = age if = { limit = { age >= 30 } multiply = 2 } if = { limit = { has_trait = confucian_education } multiply = 2 } } } } # What cultural acceptance should two cultures start with? # root = culture 1 # scope:culture = culture 2 starting_culture_acceptance = { # Cultures start with the baseline as their default acceptance value = culture_acceptance_baseline # Historical one-time increases to Cultural Acceptance (added on top of the baseline) # Note: List the cultures in the same order as they appear in script in common\culture\cultures. if = { limit = { current_date >= 1060.1.1 } # Changes for the 1066 bookmark if = { limit = { # The Ghaznavids have ruled over Afghan land for a few generations - Let's help them keep it this = culture:afghan scope:culture = culture:turkish } add = 25 } if = { limit = { # The Ghaznavids have ruled over Punjabi land for some time - We don't want them to revolt too quickly this = culture:punjabi scope:culture = culture:turkish } add = 20 } } } # What cultural acceptance should two cultures drift down towards if above? # root = culture 1 # scope:culture = culture 2 # this is calculated late in startup after history setup culture_acceptance_baseline = { value = 0 if = { limit = { # To stop errors in observe mode exists = root # Set up some scopes we'll need scope:culture ?= { trigger_if = { limit = { culture_number_of_counties > 0 } calc_culture_dominant_religion = { save_temporary_scope_as = their_religion } calc_culture_dominant_faith = { save_temporary_scope_as = their_faith } } } trigger_if = { limit = { culture_number_of_counties > 0 } calc_culture_dominant_religion = { save_temporary_scope_as = our_religion } calc_culture_dominant_faith = { save_temporary_scope_as = our_faith } } } # Increase base acceptance for sharing the same heritage if = { limit = { has_same_culture_heritage = scope:culture } add = { value = 20 # please update CULTURE_PILLAR_TOOLTIP_HERITAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_HERITAGE } } # Increase base acceptance for sharing same language if = { limit = { has_same_culture_language = scope:culture } add = { value = 10 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = anglic_group_language_param scope:culture = { has_cultural_parameter = anglic_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_ANGLIC } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = goidelic_group_language_param scope:culture = { has_cultural_parameter = goidelic_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_GOIDELIC } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = brythonic_group_language_param scope:culture = { has_cultural_parameter = brythonic_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_BRYTHONIC } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = french_group_language_param scope:culture = { has_cultural_parameter = french_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_FRENCH } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = middle_german_group_language_param scope:culture = { has_cultural_parameter = middle_german_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_MIDDLE_GERMAN } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = east_hispanic_group_language_param scope:culture = { has_cultural_parameter = east_hispanic_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_EAST_HISPANIC } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = occitanic_group_language_param scope:culture = { has_cultural_parameter = occitanic_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_OCCITANIC } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = lausatian_group_language_param scope:culture = { has_cultural_parameter = lausatian_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_LAUSATIAN } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = west_hispanic_group_language_param scope:culture = { has_cultural_parameter = west_hispanic_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_WEST_HISPANIC } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = basque_group_language_param scope:culture = { has_cultural_parameter = basque_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_VASCONIC } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = middle_hispanic_group_language_param scope:culture = { has_cultural_parameter = middle_hispanic_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_MIDDLE_HISPANIC } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = italo_dalmatian_group_language_param scope:culture = { has_cultural_parameter = italo_dalmatian_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_ITALO_DALMATIAN } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = albanian_group_language_param scope:culture = { has_cultural_parameter = albanian_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_ALBANIAN } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = low_german_group_language_param scope:culture = { has_cultural_parameter = low_german_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_LOW_GERMAN } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = high_german_group_language_param scope:culture = { has_cultural_parameter = high_german_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_HIGH_GERMAN } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = hewbrew_group_language_param scope:culture = { has_cultural_parameter = hewbrew_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_HEBREW } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = gallo_italian_group_language_param scope:culture = { has_cultural_parameter = gallo_italian_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_GALLO_ITALIAN } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = arabic_group_language_param scope:culture = { has_cultural_parameter = arabic_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_ARABIC } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = sardic_group_language_param scope:culture = { has_cultural_parameter = sardic_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_SARDIC } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = rhaeto_romance_group_language_param scope:culture = { has_cultural_parameter = rhaeto_romance_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_RHAETO_ROMANCE } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = greek_group_language_param scope:culture = { has_cultural_parameter = greek_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_GREEK } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = east_north_germanic_group_language_param scope:culture = { has_cultural_parameter = east_north_germanic_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_EAST_NORTH_GERMANIC } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = west_north_germanic_group_language_param scope:culture = { has_cultural_parameter = west_north_germanic_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_WEST_NORTH_GERMANIC } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = frisian_language_param scope:culture = { has_cultural_parameter = frisian_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_FRISIAN } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = south_slavic_group_language_param scope:culture = { has_cultural_parameter = south_slavic_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_SOUTH_SLAVIC_GROUP } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = west_slavic_group_language_param scope:culture = { has_cultural_parameter = west_slavic_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_WEST_SLAVIC_GROUP } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = low_franconian_group_language_param scope:culture = { has_cultural_parameter = low_franconian_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_LOW_FRANCONIAN } } # Increase base acceptance for sharing same language origin if = { limit = { NOT = { has_same_culture_language = scope:culture } has_cultural_parameter = far_west_indo_aryan_group_language_param scope:culture = { has_cultural_parameter = far_west_indo_aryan_group_language_param } } add = { value = 5 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes desc = ACCEPTANCE_BASELINE_LANGUAGE_FAR_WEST_INDO_ARYAN } } # Increase base acceptance for sharing the same ethos if cultures are present within the same geographical area if = { limit = { has_same_culture_ethos = scope:culture OR = { cultures_share_relevant_region_trigger = yes #In case cultures are bordering each other in two different regions any_culture_county = { any_neighboring_county = { culture = scope:culture } } } } add = { value = 10 desc = ACCEPTANCE_BASELINE_ETHOS } } # General Faith acceptance modifiers if = { # Same Religion limit = { exists = scope:their_religion scope:our_religion ?= scope:their_religion root = { any_culture_county = { percent >= 0.5 religion = scope:our_religion } } scope:culture = { any_culture_county = { percent >= 0.5 religion = scope:our_religion } } } add = { value = 5 desc = ACCEPTANCE_BASELINE_RELIGION } } if = { # Same exact Faith limit = { exists = scope:their_faith scope:our_faith ?= scope:their_faith root = { any_culture_county = { percent >= 0.5 faith = scope:our_faith } } scope:culture = { any_culture_county = { percent >= 0.5 faith = scope:our_faith } } } add = { value = 10 desc = ACCEPTANCE_BASELINE_FAITH } } if = { # Eastern faiths limit = { scope:our_religion ?= { is_in_family = rf_eastern } scope:their_religion ?= { is_in_family = rf_eastern } any_culture_county = { percent >= 0.5 title_province = { religion = { is_in_family = rf_eastern } } } scope:culture = { any_culture_county = { percent >= 0.5 title_province = { religion = { is_in_family = rf_eastern } } } } } add = { value = 5 desc = ACCEPTANCE_BASELINE_EASTERN_RELIGION } } if = { # Pluralistic close faiths limit = { scope:our_faith ?= { has_doctrine = doctrine_pluralism_pluralistic } scope:their_faith ?= { has_doctrine = doctrine_pluralism_pluralistic } any_culture_county = { percent >= 0.5 title_province = { faith = { has_doctrine = doctrine_pluralism_pluralistic } } } scope:culture = { any_culture_county = { percent >= 0.5 title_province = { faith = { has_doctrine = doctrine_pluralism_pluralistic } } } } OR = { cultures_share_relevant_region_trigger = yes #In case cultures are bordering each other in two different regions any_culture_county = { any_neighboring_county = { culture = scope:culture } } } } add = { value = 10 desc = ACCEPTANCE_BASELINE_CLOSE_PLURALISTS } } } }