religions outfitted

This commit is contained in:
Magpie490 2024-11-16 19:09:11 +00:00
parent 88b311eb56
commit ee04dea50b
55 changed files with 54353 additions and 23 deletions

View file

@ -866,6 +866,106 @@
}
}
against_all_odds = {
icon = core_tenet_against_all_odds
is_shown = {
religion_tag = anglican_religion
}
piety_cost = {
value = faith_tenet_cost_low
# Multiplier for keeping same tenet
if = {
limit = { has_doctrine = against_all_odds }
multiply = faith_unchanged_doctrine_cost_mult
}
}
traits = {
virtues = { just = 2 }
sins = { arbitrary = 2 }
}
parameters = {
easier_to_convert_faith_in_hills_forests = yes
easier_to_convert_culture_in_same_faith_hills_forests = yes
harder_to_convert_faith_away_in_hills_forests = yes
sanctioned_false_conversion = yes
}
character_modifier = {
hills_attrition_mult = -0.5
hills_levy_size = 0.3
hills_advantage = 5
forest_attrition_mult = -0.5
forest_levy_size = 0.3
forest_advantage = 5
}
}
for_king_and_country = {
icon = core_tenet_for_king_and_country
is_shown = {
religion_tag = anglican_religion
}
piety_cost = {
value = faith_tenet_cost_low
# Multiplier for keeping same tenet
if = {
limit = { has_doctrine = against_all_odds }
multiply = faith_unchanged_doctrine_cost_mult
}
}
traits = {
virtues = { just = 2 }
sins = { arbitrary = 2 }
}
parameters = {
legalism_modified_law_costs = yes
legalism_modified_law_costs_2 = yes
legalism_reduced_faction_virtues = yes
legalism_increased_faction_sins = yes
legalism_trust_just_leader_active = yes
excommunication_active = yes
}
}
last_knights_of_britain = {
icon = core_tenet_songs_of_roland
is_shown = {
religion_tag = anglican_religion
}
piety_cost = {
value = faith_tenet_cost_low
# Multiplier for keeping same tenet
if = {
limit = { has_doctrine = last_knights_of_britain }
multiply = faith_unchanged_doctrine_cost_mult
}
}
traits = {
virtues = { brave = 2 }
sins = { craven = 2 }
}
character_modifier = {
prowess = 4
tolerance_advantage_mod = 2
accolade_glory_gain_mult = 0.1
}
parameters = {
clergy_can_fight = yes
cheaper_holy_wars_active = yes
great_holy_wars_active = yes
ghw_no_hof_conversion_buffs_active = yes
pilgrimage_decision_active = yes
}
}
tenet_people_of_the_book = {
icon = core_tenet_legalism
is_shown = {
@ -908,7 +1008,7 @@
value = faith_tenet_cost_low
# Multiplier for keeping same tenet
if = {
limit = { has_doctrine = tenet_universal_scripture }
limit = { has_doctrine = one_king_to_rule_them_all }
multiply = faith_unchanged_doctrine_cost_mult
}
}
@ -967,7 +1067,7 @@
# Multiplier for keeping same tenet
if = {
limit = { has_doctrine = tenet_pursuit_of_power }
limit = { has_doctrine = tenet_restore_the_crown }
multiply = faith_unchanged_doctrine_cost_mult
}
}
@ -1005,7 +1105,7 @@
# Multiplier for keeping same tenet
if = {
limit = { has_doctrine = tenet_pursuit_of_power }
limit = { has_doctrine = tenet_songs_of_roland }
multiply = faith_unchanged_doctrine_cost_mult
}
}
@ -1030,7 +1130,7 @@
# Multiplier for keeping same tenet
if = {
limit = { has_doctrine = tenet_struggle_submission }
limit = { has_doctrine = tenet_the_first_age }
multiply = faith_unchanged_doctrine_cost_mult
}
}
@ -1056,7 +1156,7 @@
# Multiplier for keeping same tenet
if = {
limit = { has_doctrine = tenet_struggle_submission }
limit = { has_doctrine = tenet_lorekeepers }
multiply = faith_unchanged_doctrine_cost_mult
}
}
@ -2434,6 +2534,101 @@
}
}
the_queen_of_summer = {
icon = the_queen_of_summer
is_shown = {
religion_tag = wicca_religion
}
piety_cost = {
value = faith_tenet_cost_low
# Multiplier for keeping same tenet
if = {
limit = { has_doctrine = the_queen_of_summer }
multiply = faith_unchanged_doctrine_cost_mult
}
}
parameters = {
believes_in_harmony_with_nature_invisible = yes
piety_from_feasts_active = yes
mandatory_feast_attendance = yes
allows_brewery = yes
}
character_modifier = {
forest_advantage = 5
forest_attrition_mult = -0.25
taiga_advantage = 5
taiga_attrition_mult = -0.25
jungle_advantage = 5
jungle_attrition_mult = -0.25
build_gold_cost = 0.1
county_opinion_add = 5
vassal_opinion = 5
courtier_opinion = 5
}
}
king_of_winter = {
icon = the_king_of_winter
is_shown = {
religion_tag = wicca_religion
}
piety_cost = {
value = faith_tenet_cost_low
# Multiplier for keeping same tenet
if = {
limit = { has_doctrine = king_of_winter }
multiply = faith_unchanged_doctrine_cost_mult
}
}
character_modifier = {
prowess = 4
tolerance_advantage_mod = 2
}
parameters = {
clergy_can_fight = yes
vows_of_poverty_active = yes
unlock_voluntary_laampdom_faith = yes
}
traits = {
virtues = { generous = 2 }
sins = { greedy = 2 }
}
}
the_book_of_shadows = {
icon = core_tenet_alexandrian_catechism
is_shown = {
religion_tag = wicca_religion
}
piety_cost = {
value = faith_tenet_cost_low
# Multiplier for keeping same tenet
if = {
limit = { has_doctrine = the_book_of_shadows }
multiply = faith_unchanged_doctrine_cost_mult
}
}
parameters = {
tenet_esotericism_mystic_education = yes
}
character_modifier = {
monthly_learning_lifestyle_xp_gain_mult = 0.2
learning_per_stress_level = 2
}
traits = {
virtues = {
scholar
lifestyle_mystic = { weight = 1 }
}
}
}
tenet_ritual_celebrations = {
icon = core_tenet_ritual_celebrations

View file

@ -112,6 +112,11 @@ special_tolerance = {
hostility_override_special_doctrine_catholic_rite = 0
}
}
special_doctrine_via_media = {
parameters = {
hostility_override_special_doctrine_christian = 1
}
}
special_doctrine_christian = {
visible = no
}

View file

@ -38,7 +38,6 @@
virtues = { forgiving compassionate chaste }
sins = { vengeful sadistic lustful }
}
reserved_male_names = { #put witch names here later
Andrew Antoninus Bartolomeus Benedict Christian Christopher Clement Constantine David Demetrius Eustace George Gregory
Hans Isaac Joakim Jacob John Jordan Joseph Laurence Magnus Marcus Martin Matthew Michael Nicholas Patrick Paul Peter Philip
@ -253,13 +252,13 @@
#holy_site = segrada_familia
#Special Tolerance | placeholder
#doctrine = special_doctrine_ecumenical_christian
doctrine = special_doctrine_esoteric_witchcraft
doctrine = special_doctrine_via_media
doctrine = special_doctrine_christian
#Tenets | placeholder
doctrine = tenet_vows_of_poverty
doctrine = tenet_armed_pilgrimages
doctrine = tenet_pursuit_of_power
doctrine = against_all_odds
doctrine = for_king_and_country
doctrine = last_knights_of_britain
holy_order_names = { #placeholder
{ name = "holy_order_knights_templar" coat_of_arms = "ho_knights_templar" }

View file

@ -39,10 +39,10 @@
doctrine = doctrine_funeral_stoic
traits = {
virtues = { forgiving compassionate chaste }
sins = { vengeful sadistic lustful }
virtues = { }
sins = { }
}
reserved_male_names = { #put witch names here later
Andrew Antoninus Bartolomeus Benedict Christian Christopher Clement Constantine David Demetrius Eustace George Gregory
Hans Isaac Joakim Jacob John Jordan Joseph Laurence Magnus Marcus Martin Matthew Michael Nicholas Patrick Paul Peter Philip

View file

@ -35,8 +35,8 @@
doctrine = doctrine_funeral_stoic
traits = {
virtues = { forgiving compassionate chaste }
sins = { vengeful sadistic lustful }
virtues = { forgiving compassionate lustful }
sins = { vengeful sadistic chaste }
}
reserved_male_names = { #put larp names here later

View file

@ -35,8 +35,8 @@
doctrine = doctrine_funeral_stoic
traits = {
virtues = { forgiving compassionate chaste }
sins = { vengeful sadistic lustful }
virtues = { }
sins = { }
}
reserved_male_names = { #put witch names here later

View file

@ -35,8 +35,8 @@
doctrine = doctrine_funeral_stoic
traits = {
virtues = { forgiving compassionate chaste }
sins = { vengeful sadistic lustful }
virtues = { }
sins = { }
}
reserved_male_names = { #put witch names here later
@ -257,9 +257,9 @@
doctrine = special_doctrine_esoteric_witchcraft
#Tenets | placeholder
doctrine = tenet_vows_of_poverty
doctrine = tenet_armed_pilgrimages
doctrine = tenet_pursuit_of_power
doctrine = the_queen_of_summer
doctrine = king_of_winter
doctrine = the_book_of_shadows
holy_order_names = { #placeholder
{ name = "holy_order_knights_templar" coat_of_arms = "ho_knights_templar" }

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,159 @@
# For use with our new hybrid-skill duel system
diplomacy_martial = {
value = 0
add = diplomacy
add = martial
divide = 2
}
diplomacy_stewardship = {
value = 0
add = diplomacy
add = stewardship
divide = 2
}
diplomacy_intrigue = {
value = 0
add = diplomacy
add = intrigue
divide = 2
}
diplomacy_learning = {
value = 0
add = diplomacy
add = learning
divide = 2
}
diplomacy_prowess = {
value = 0
add = diplomacy
add = prowess
divide = 2
}
martial_stewardship = {
value = 0
add = martial
add = stewardship
divide = 2
}
martial_intrigue = {
value = 0
add = martial
add = intrigue
divide = 2
}
martial_learning = {
value = 0
add = martial
add = learning
divide = 2
}
martial_prowess = {
value = 0
add = martial
add = prowess
divide = 2
}
stewardship_intrigue = {
value = 0
add = stewardship
add = intrigue
divide = 2
}
stewardship_learning = {
value = 0
add = stewardship
add = learning
divide = 2
}
stewardship_prowess = {
value = 0
add = stewardship
add = prowess
divide = 2
}
intrigue_learning = {
value = 0
add = intrigue
add = learning
divide = 2
}
intrigue_prowess = {
value = 0
add = intrigue
add = prowess
divide = 2
}
learning_prowess = {
value = 0
add = learning
add = prowess
divide = 2
}
random_nickname_chance = {
value = primary_title.tier
add = {
value = age
divide = 10
}
add = prestige_level
add = piety_level
if = {
limit = {
prestige_level >= 3
has_trait = conqueror
}
add = 10
}
if = {
limit = {
prestige_level >= 4
has_trait = conqueror
}
add = 10
}
if = {
limit = {
primary_title.tier >= tier_duchy
}
add = primary_title.tier
}
if = {
limit = {
is_ai = no
}
add = 1
}
if = {
limit = {
has_game_rule = random_nickname_frequency_halved
}
multiply = 0.5
}
else_if = {
limit = {
has_game_rule = random_nickname_frequency_quartered
}
multiply = 0.25
}
else_if = {
limit = {
has_game_rule = random_nickname_frequency_doubled
}
multiply = 2
}
}

View file

@ -0,0 +1,73 @@

marshal_task_side_effect_cooldown = 365 #Number of days minimum before the Marshal can fire a side effect event from a task again
marshal_task_modifier_duration = 1825 #Number of days that modifiers set by the marshal task should last for by default
chancellor_task_side_effect_cooldown = 365
chancellor_task_modifier_duration = 1825
steward_task_side_effect_cooldown = 365
steward_task_modifier_duration = 1825
spymaster_task_side_effect_cooldown = 365
spymaster_task_modifier_duration = 1825
court_chaplain_task_side_effect_cooldown = 365
court_chaplain_task_modifier_duration = 1825
council_scaled_monthly_income = {
add = liege.highest_held_title_tier
subtract = 2
min = 0.5
}
council_scaled_by_liege_tier = {
add = liege.highest_held_title_tier
subtract = 1
min = 1
}
council_scaled_skill_value = {
add = liege.highest_held_title_tier
subtract = 1
}
council_friend_impact_percentage = 20
council_best_friend_impact_percentage = 30
council_rival_impact_percentage = -20
council_nemesis_impact_percentage = -30
council_reliable_house_percentage = 10
council_task_fabricate_claim_relative_strength = {
value = max_military_strength
multiply = 1.2
}
council_scaled_by_liege_tier_not_admin = {
value = council_scaled_by_liege_tier
if = {
limit = { government_allows = administrative }
multiply = 0
}
}
council_scaled_admin_value = {
value = 0 # This value should be 0 for anyone who isn't admin
if = {
limit = {
government_allows = administrative
}
add = 1
if = {
limit = {
liege = { highest_held_title_tier >= tier_empire }
}
multiply = 2
}
}
}

View file

@ -0,0 +1,129 @@
######################
# County Corruption values
######################
miniscule_county_control_loss = -5
minor_county_control_loss = -10
medium_county_control_loss = -20
major_county_control_loss = -30
extreme_county_control_loss = -40
massive_county_control_loss = -50
monumental_county_control_loss = -75
miniscule_county_control_gain = 5
minor_county_control_gain = 10
medium_county_control_gain = 20
major_county_control_gain = 30
extreme_county_control_gain = 40
massive_county_control_gain = 50
monumental_county_control_gain = 75
low_county_control = 33
medium_county_control = 66
full_county_control = 100
low_county_control_limit = 35
high_county_control_limit = 95
high_control_county_corruption_removal_chance = 35
max_county_corruption_modifiers_at_once = 3
script_county_control = {
value = 0
add = county_control
}
county_corruption_modifier_count = {
if = {
limit = {
has_county_modifier = county_corruption_inefficient_tax_collection_modifier
}
add = 1
}
if = {
limit = {
has_county_modifier = county_corruption_deserting_levies_modifier
}
add = 1
}
if = {
limit = {
has_county_modifier = county_corruption_smuggling_ring_modifier
}
add = 1
}
if = {
limit = {
has_county_modifier = county_corruption_inefficient_census_modifier
}
add = 1
}
if = {
limit = {
has_county_modifier = county_corruption_lack_of_sheriffs_modifier
}
add = 1
}
if = {
limit = {
has_county_modifier = county_corruption_lack_of_courts_modifier
}
add = 1
}
if = {
limit = {
has_county_modifier = county_corruption_thieves_guild_modifier
}
add = 1
}
if = {
limit = {
has_county_modifier = county_corruption_unsafe_highways_modifier
}
add = 1
}
if = {
limit = {
has_county_modifier = county_corruption_uncooperative_guilds_modifier
}
add = 1
}
if = {
limit = {
has_county_modifier = county_corruption_lackluster_administration_modifier
}
add = 1
}
}
county_control_corruption_gain_chance = {
add = low_county_control_limit
#Account for actual county control
subtract = county_control # At low_county_control_limit Control, there is a 0 percent chance of gaining Corruption
divide = {
add = 5 # A base of approximately 25% chance of gaining corruption per year at 0 Control
}
divide = { # Further reduce the chance of corruption per corruption modifier the County already has
add = county_corruption_modifier_count
multiply = 2
min = 1
}
}
in_debt_county_corruption_gain_chance = {
value = 3
add = { #Gold should always be a negative value at this point
value = 0
subtract = holder.gold
multiply = 0.005 #Make it 1% more likely per -200 gold
max = 5
}
#Make it linearly less likely to accrue additional modifiers for each modifiers you have
divide = {
add = 1
add = county_corruption_modifier_count
}
}

View file

@ -0,0 +1,386 @@
############################
# AMENITIES COST VALUES
############################
# BASE VALUES
base_court_amenities_cost = {
value = sub_realm_size
divide = {
add = 4
subtract = {
add = 0.25
multiply = court_grandeur_current_level
}
}
if = { # Add a baseline depending on rank
limit = {
highest_held_title_tier = tier_empire
}
add = 20
}
else = {
add = 10
}
if = {
limit = {
culture = {
has_cultural_era_or_later = culture_era_late_medieval
}
}
multiply = {
value = 1.75
}
}
else_if = {
limit = {
culture = {
has_cultural_era_or_later = culture_era_high_medieval
}
}
multiply = {
value = 1.5
}
}
else_if = {
limit = {
culture = {
has_cultural_era_or_later = culture_era_early_medieval
}
}
multiply = {
value = 1.25
}
}
}
court_amenities_cost_level_1 = {
value = base_court_amenities_cost
divide = 96
min = 0.2
if = {
limit = {
government_has_flag = government_is_tribal
}
min = 0.4
}
}
court_amenities_cost_level_1_fashion = {
value = court_amenities_cost_level_1
if = {
limit = {
has_character_flag = court_free_fashion
}
min = 0
multiply = 0
}
}
court_amenities_cost_level_1_food = {
value = court_amenities_cost_level_1
if = {
limit = {
has_character_modifier = rivers_of_wine_modifier
}
multiply = 0.5
}
if = {
limit = {
OR = {
has_character_modifier = employer_booner_food_taster_2_modifier
has_character_modifier = employer_booner_food_taster_3_modifier
}
}
multiply = 0.75
}
}
court_amenities_cost_level_1_lodgings = {
value = court_amenities_cost_level_1
if = {
limit = {
OR = {
has_character_modifier = employer_booner_seneschal_2_modifier
has_character_modifier = employer_booner_seneschal_3_modifier
}
}
multiply = 0.75
}
}
court_amenities_cost_level_1_servants = {
value = court_amenities_cost_level_1
if = {
limit = {
OR = {
has_character_modifier = employer_booner_cupbearer_2_modifier
has_character_modifier = employer_booner_cupbearer_3_modifier
}
}
multiply = 0.75
}
}
court_amenities_cost_level_2 = {
value = base_court_amenities_cost
divide = 48
min = 0.4
if = {
limit = {
government_has_flag = government_is_tribal
}
min = 0.8
}
}
court_amenities_cost_level_2_fashion = {
value = court_amenities_cost_level_2
if = {
limit = {
has_character_flag = court_cheaper_fashion
}
multiply = 0.8
}
}
court_amenities_cost_level_2_food = {
value = court_amenities_cost_level_2
if = {
limit = {
has_character_flag = court_cheaper_food
}
multiply = 0.8
}
if = {
limit = {
has_character_modifier = rivers_of_wine_modifier
}
multiply = 0.5
}
if = {
limit = {
OR = {
has_character_modifier = employer_booner_food_taster_2_modifier
has_character_modifier = employer_booner_food_taster_3_modifier
}
}
multiply = 0.75
}
}
court_amenities_cost_level_2_lodgings = {
value = court_amenities_cost_level_2
if = {
limit = {
has_character_modifier = lodgings_epidemics_resistance_modifier_1
}
multiply = 0.85
}
if = {
limit = {
has_character_modifier = lodgings_epidemics_resistance_modifier_2
}
multiply = 0.75
}
if = {
limit = {
OR = {
has_character_modifier = employer_booner_seneschal_2_modifier
has_character_modifier = employer_booner_seneschal_3_modifier
}
}
multiply = 0.75
}
}
court_amenities_cost_level_2_servants = {
value = court_amenities_cost_level_2
if = {
limit = {
has_character_flag = court_cheaper_servants
}
multiply = 0.8
}
if = {
limit = {
OR = {
has_character_modifier = employer_booner_cupbearer_2_modifier
has_character_modifier = employer_booner_cupbearer_3_modifier
}
}
multiply = 0.75
}
}
court_amenities_cost_level_3 = {
value = base_court_amenities_cost
divide = 32
min = 0.6
if = {
limit = {
government_has_flag = government_is_tribal
}
min = 1.2
}
}
court_amenities_cost_level_3_food = {
value = court_amenities_cost_level_3
if = {
limit = {
has_character_modifier = rivers_of_wine_modifier
}
multiply = 0.5
}
if = {
limit = {
OR = {
has_character_modifier = employer_booner_food_taster_2_modifier
has_character_modifier = employer_booner_food_taster_3_modifier
}
}
multiply = 0.75
}
}
court_amenities_cost_level_3_lodgings = {
value = court_amenities_cost_level_3
if = {
limit = {
OR = {
has_character_modifier = employer_booner_seneschal_2_modifier
has_character_modifier = employer_booner_seneschal_3_modifier
}
}
multiply = 0.75
}
}
court_amenities_cost_level_3_servants = {
value = court_amenities_cost_level_3
if = {
limit = {
OR = {
has_character_modifier = employer_booner_cupbearer_2_modifier
has_character_modifier = employer_booner_cupbearer_3_modifier
}
}
multiply = 0.75
}
}
court_amenities_cost_level_4 = {
value = base_court_amenities_cost
divide = 24
min = 0.8
if = {
limit = {
government_has_flag = government_is_tribal
}
min = 1.6
}
}
court_amenities_cost_level_4_food = {
value = court_amenities_cost_level_4
if = {
limit = {
has_character_modifier = rivers_of_wine_modifier
}
multiply = 0.5
}
if = {
limit = {
OR = {
has_character_modifier = employer_booner_food_taster_2_modifier
has_character_modifier = employer_booner_food_taster_3_modifier
}
}
multiply = 0.75
}
}
court_amenities_cost_level_4_lodgings = {
value = court_amenities_cost_level_4
if = {
limit = {
OR = {
has_character_modifier = employer_booner_seneschal_2_modifier
has_character_modifier = employer_booner_seneschal_3_modifier
}
}
multiply = 0.75
}
}
court_amenities_cost_level_4_servants = {
value = court_amenities_cost_level_4
if = {
limit = {
OR = {
has_character_modifier = employer_booner_cupbearer_2_modifier
has_character_modifier = employer_booner_cupbearer_3_modifier
}
}
multiply = 0.75
}
}
############################
# FASHION COSTS
############################
court_fashion_acceptable_cost = {
value = court_amenities_cost_level_1_fashion
}
court_fashion_decent_cost = {
value = court_amenities_cost_level_2_fashion
}
court_fashion_good_cost = {
value = court_amenities_cost_level_3
}
court_fashion_fantastic_cost = {
value = court_amenities_cost_level_4
}
############################
# FOOD QUALITY COSTS
############################
court_food_quality_modest_cost = {
value = court_amenities_cost_level_1_food
}
court_food_quality_decent_cost = {
value = court_amenities_cost_level_2_food
}
court_food_quality_lavish_cost = {
value = court_amenities_cost_level_3_food
}
court_food_quality_exotic_cost = {
value = court_amenities_cost_level_4_food
}
############################
# LODGING STANDARTS COSTS
############################
court_lodging_standards_small_cost = {
value = court_amenities_cost_level_1_lodgings
}
court_lodging_standards_middling_cost = {
value = court_amenities_cost_level_2_lodgings
}
court_lodging_standards_spacious_cost = {
value = court_amenities_cost_level_3_lodgings
}
court_lodging_standards_grand_cost = {
value = court_amenities_cost_level_4_lodgings
}
############################
# COURT SERVANTS COSTS
############################
court_servants_few_cost = {
value = court_amenities_cost_level_1_servants
}
court_court_servants_some_cost = {
value = court_amenities_cost_level_2_servants
}
court_court_servants_many_cost = {
value = court_amenities_cost_level_3_servants
}
court_servants_endless_cost = {
value = court_amenities_cost_level_4_servants
}
# Referenced from code
# root is the character
# Determines how long amenity cooldowns are in months
court_amenity_cooldown_months = {
value = 12
}

View file

@ -0,0 +1,754 @@

############################
# MINOR TITLE COSTS
############################
minor_court_position_salary = {
add = {
value = 0.25
desc = COURT_POSITION_SALARY_BREAKDOWN_BASE
format = "BASE_VALUE_FORMAT_DECIMALS"
}
if = {
limit = {
scope:liege.sub_realm_size >= 120
}
multiply = {
value = 1.6
desc = enormous_realm_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege.sub_realm_size >= 90
}
multiply = {
value = 1.4
desc = large_realm_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege.sub_realm_size >= 60
}
multiply = {
value = 1.2
desc = medium_realm_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege.sub_realm_size >= 30
}
multiply = {
value = 1.1
desc = small_realm_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
if = {
limit = {
scope:liege = {
culture = {
has_cultural_era_or_later = culture_era_late_medieval
}
}
}
multiply = {
value = 1.75
desc = culture_era_late_medieval_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege = {
culture = {
has_cultural_era_or_later = culture_era_high_medieval
}
}
}
multiply = {
value = 1.5
desc = culture_era_high_medieval_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege = {
culture = {
has_cultural_era_or_later = culture_era_early_medieval
}
}
}
multiply = {
value = 1.25
desc = culture_era_early_medieval_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
if = {
limit = {
scope:liege = {
highest_held_title_tier >= tier_empire
}
}
multiply = {
value = 1.25
desc = empire_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
if = {
limit = {
scope:liege = {
government_has_flag = government_is_tribal
}
}
multiply = {
value = 0.25
desc = tribal_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_MINUS_POSITIVE"
}
}
if = {
limit = {
scope:liege = {
culture = {
has_cultural_parameter = cheaper_court_positions
}
}
}
multiply = {
value = 0.8
desc = esteemed_hospitality_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_MINUS_POSITIVE"
}
}
}
medium_court_position_salary = {
add = {
value = 0.5
desc = COURT_POSITION_SALARY_BREAKDOWN_BASE
format = "BASE_VALUE_FORMAT_DECIMALS"
}
if = {
limit = {
scope:liege.sub_realm_size >= 120
}
multiply = {
value = 1.6
desc = enormous_realm_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege.sub_realm_size >= 90
}
multiply = {
value = 1.4
desc = large_realm_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege.sub_realm_size >= 60
}
multiply = {
value = 1.2
desc = medium_realm_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege.sub_realm_size >= 30
}
multiply = {
value = 1.1
desc = small_realm_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
if = {
limit = {
scope:liege = {
culture = {
has_cultural_era_or_later = culture_era_late_medieval
}
}
}
multiply = {
value = 1.75
desc = culture_era_late_medieval_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege = {
culture = {
has_cultural_era_or_later = culture_era_high_medieval
}
}
}
multiply = {
value = 1.5
desc = culture_era_high_medieval_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege = {
culture = {
has_cultural_era_or_later = culture_era_early_medieval
}
}
}
multiply = {
value = 1.25
desc = culture_era_early_medieval_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
if = {
limit = {
scope:liege = {
highest_held_title_tier >= tier_empire
}
}
multiply = {
value = 1.25
desc = empire_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
if = {
limit = {
scope:liege = {
government_has_flag = government_is_tribal
}
}
multiply = {
value = 0.25
desc = tribal_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_MINUS_POSITIVE"
}
}
if = {
limit = {
scope:liege = {
culture = {
has_cultural_parameter = cheaper_court_positions
}
}
}
multiply = {
value = 0.8
desc = esteemed_hospitality_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_MINUS_POSITIVE"
}
}
}
major_court_position_salary = {
add = {
value = 1.0
desc = COURT_POSITION_SALARY_BREAKDOWN_BASE
format = "BASE_VALUE_FORMAT_DECIMALS"
}
if = {
limit = {
scope:liege.sub_realm_size >= 120
}
multiply = {
value = 1.6
desc = enormous_realm_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege.sub_realm_size >= 90
}
multiply = {
value = 1.4
desc = large_realm_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege.sub_realm_size >= 60
}
multiply = {
value = 1.2
desc = medium_realm_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege.sub_realm_size >= 30
}
multiply = {
value = 1.1
desc = small_realm_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
if = {
limit = {
scope:liege = {
culture = {
has_cultural_era_or_later = culture_era_late_medieval
}
}
}
multiply = {
value = 1.75
desc = culture_era_late_medieval_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege = {
culture = {
has_cultural_era_or_later = culture_era_high_medieval
}
}
}
multiply = {
value = 1.5
desc = culture_era_high_medieval_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege = {
culture = {
has_cultural_era_or_later = culture_era_early_medieval
}
}
}
multiply = {
value = 1.25
desc = culture_era_early_medieval_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
if = {
limit = {
scope:liege = {
highest_held_title_tier >= tier_empire
}
}
multiply = {
value = 1.25
desc = empire_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
if = {
limit = {
scope:liege = {
government_has_flag = government_is_tribal
}
}
multiply = {
value = 0.25
desc = tribal_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_MINUS_POSITIVE"
}
}
if = {
limit = {
scope:liege = {
culture = {
has_cultural_parameter = cheaper_court_positions
}
}
}
multiply = {
value = 0.8
desc = esteemed_hospitality_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_MINUS_POSITIVE"
}
}
}
court_position_physician_salary = {
add = {
value = 0.1
desc = COURT_POSITION_SALARY_BREAKDOWN_BASE
format = "BASE_VALUE_FORMAT_DECIMALS"
}
if = {
limit = { exists = scope:liege }
if = {
limit = {
scope:liege.culture = {
has_cultural_era_or_later = culture_era_late_medieval
}
}
multiply = {
value = 1.75
desc = culture_era_late_medieval_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege.culture = {
has_cultural_era_or_later = culture_era_high_medieval
}
}
multiply = {
value = 1.5
desc = culture_era_high_medieval_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege.culture = {
has_cultural_era_or_later = culture_era_early_medieval
}
}
multiply = {
value = 1.25
desc = culture_era_early_medieval_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
if = {
limit = {
scope:liege = {
highest_held_title_tier >= tier_empire
}
}
multiply = {
value = 1.25
desc = empire_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
if = {
limit = {
scope:liege = {
government_has_flag = government_is_tribal
}
}
multiply = {
value = 0.25
desc = tribal_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_MINUS_POSITIVE"
}
}
if = {
limit = {
scope:liege.culture = {
has_cultural_parameter = cheaper_court_positions
}
}
multiply = {
value = 0.8
desc = esteemed_hospitality_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_MINUS_POSITIVE"
}
}
}
}
court_position_antiquarian_salary = {
add = {
value = 0.15
desc = COURT_POSITION_SALARY_BREAKDOWN_BASE
format = "BASE_VALUE_FORMAT_DECIMALS"
}
if = {
limit = {
scope:liege.sub_realm_size >= 120
}
multiply = {
value = 1.6
desc = enormous_realm_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege.sub_realm_size >= 90
}
multiply = {
value = 1.4
desc = large_realm_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege.sub_realm_size >= 60
}
multiply = {
value = 1.2
desc = medium_realm_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege.sub_realm_size >= 30
}
multiply = {
value = 1.1
desc = small_realm_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
if = {
limit = {
scope:liege = {
culture = {
has_cultural_era_or_later = culture_era_late_medieval
}
}
}
multiply = {
value = 1.75
desc = culture_era_late_medieval_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege = {
culture = {
has_cultural_era_or_later = culture_era_high_medieval
}
}
}
multiply = {
value = 1.5
desc = culture_era_high_medieval_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
else_if = {
limit = {
scope:liege = {
culture = {
has_cultural_era_or_later = culture_era_early_medieval
}
}
}
multiply = {
value = 1.25
desc = culture_era_early_medieval_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
if = {
limit = {
scope:liege = {
highest_held_title_tier >= tier_empire
}
}
multiply = {
value = 1.25
desc = empire_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_PLUS_NEGATIVE"
}
}
if = {
limit = {
scope:liege = {
government_has_flag = government_is_tribal
}
}
multiply = {
value = 0.25
desc = tribal_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_MINUS_POSITIVE"
}
}
if = {
limit = {
scope:liege = {
culture = {
has_cultural_parameter = cheaper_court_positions
}
}
}
multiply = {
value = 0.8
desc = esteemed_hospitality_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_MINUS_POSITIVE"
}
}
}
court_position_travel_leader_salary = {
add = {
value = 0.1
desc = COURT_POSITION_SALARY_BREAKDOWN_BASE
format = "BASE_VALUE_FORMAT_DECIMALS"
}
if = {
limit = {
scope:liege = {
culture = {
has_cultural_parameter = cheaper_court_positions
}
}
}
multiply = {
value = 0.8
desc = esteemed_hospitality_salary_mod
format = "BASE_VALUE_FORMAT_DECIMALS_MINUS_POSITIVE"
}
}
}
minor_court_position_task_prestige_salary = 0.2
minor_court_position_prestige_salary = 0.5
medium_court_position_prestige_salary = 1.0
major_court_position_prestige_salary = 2.0
minor_court_position_piety_salary = 0.5
medium_court_position_piety_salary = 1.0
major_court_position_piety_salary = 2.0
minor_court_position_prestige_cost = -0.2
minor_court_position_prestige_revoke_cost = {
value = 25
if = {
limit = {
exists = this
has_character_flag = temporary_court_position_cost_removal
}
multiply = 0
}
}
medium_court_position_prestige_revoke_cost = {
value = 75
if = {
limit = {
exists = this
has_character_flag = temporary_court_position_cost_removal
}
multiply = 0
}
}
major_court_position_prestige_revoke_cost = {
value = 200
if = {
limit = {
exists = this
has_character_flag = temporary_court_position_cost_removal
}
multiply = 0
}
}
# INFLUENCE - EP3
minor_court_position_influence_salary = 0.5
medium_court_position_influence_salary = 1.0
major_court_position_influence_salary = 2.0
minor_court_position_influence_cost = -0.2
minor_court_position_influence_revoke_cost = 25
medium_court_position_influence_revoke_cost = 75
major_court_position_influence_revoke_cost = 200
############################
# COURT POSITION EFFECTIVENESS LEVELS
############################
terrible_effectiveness = 1
poor_effectiveness = 2
average_effectiveness = 3
good_effectiveness = 4
excellent_effectiveness = 5
garuda_prowess_svalue = 8
executioner_control_value = {
scope:actor = {
every_court_position_holder = {
type = executioner_court_position
add = this.aptitude:executioner_court_position
}
}
multiply = 3
}
executioner_control_value_tooltip = { # Keep identical to executioner_control_value
every_court_position_holder = {
type = executioner_court_position
add = this.aptitude:executioner_court_position
}
multiply = 3
}
############################
# COURT POSITION OPINIONS
############################
regular_court_position_opinion = 5
ceremonial_court_position_opinion = 10
regular_camp_officer_opinion = 2
high_camp_officer_opinion = 5
court_jester_position_opinion = {
scope:employee = {
if = {
limit = {
has_no_particular_noble_roots_trigger = yes
}
value = 5
}
else = {
value = -20
}
}
}
adjust_court_position_score_for_unity = {
if = {
limit = {
scope:liege = { government_has_flag = government_is_clan }
scope:employee = {
house ?= scope:liege.house
ai_wants_high_unity = yes
}
}
add = 25
}
else_if = {
limit = {
scope:liege = { government_has_flag = government_is_clan }
scope:employee = {
NOT ={ house ?= scope:liege.house }
ai_wants_low_unity = yes
}
}
add = 25
}
}

View file

@ -0,0 +1,878 @@

# Don't remove the below hex code thingy: not sure what black magic it's doing, but it prevents a startup error somehow.
grant_title_cultural_acceptance_impact = {
value = 0
#How many counties am I giving away out of the total counties of this culture?
add = {
every_in_list = {
list = target_titles
limit = {
tier = tier_county
NOT = { culture = scope:actor.culture }
culture = scope:recipient.culture
NOT = {
recent_history = {
type = granted
years = 10
}
}
}
add = 1
}
divide = {
value = culture_number_of_counties
min = 1
}
multiply = 15 #If you are giving all counties with this culture self rule then you will increase acceptance by 15% - If this is changed also change revoke_title_culture_acceptance_impact
min = 0.5
max = 15
}
add = { # Up to an additional 10 acceptance for Duchies or Kingdoms with a capital of this culture
every_in_list = { #2 per duchy
list = target_titles
if = {
limit = {
tier = tier_duchy
title_capital_county = {
NOT = { culture = scope:actor.culture }
culture = scope:recipient.culture
}
NOT = {
recent_history = {
type = granted
years = 10
}
}
}
add = 2
}
}
every_in_list = { #3 per Kingdom
list = target_titles
if = {
limit = {
tier = tier_kingdom
title_capital_county = {
NOT = { culture = scope:actor.culture }
culture = scope:recipient.culture
}
NOT = {
recent_history = {
type = granted
years = 10
}
}
}
add = 3
}
}
max = 10
}
}
revoke_title_culture_acceptance_impact = {
value = 0
if = {
limit = {
scope:landed_title = {
tier = tier_county
NOT = { culture = scope:actor.culture }
culture = scope:recipient.culture
NOT = {
recent_history = {
type = revoked
years = 5
}
}
}
}
subtract = {
value = 1
divide = {
value = scope:landed_title.culture.culture_number_of_counties
min = 1
}
multiply = 15 #Same as used in grant above
min = 0.5
max = 15
}
}
else = {
scope:landed_title = {
subtract = tier
add = 1 # because tier starts at the barony level and we want to start counting at the county level
}
}
}
auto_grant_county_cultural_acceptance_impact = {
value = 0
add = {
value = 1
divide = {
value = scope:landed_title.culture.culture_number_of_counties
min = 1
}
multiply = 15 #Same as used in grant above
min = 0.5
max = 15
}
}
culture_conversion_acceptance_impact = { #The smaller a culture is, the more upset it will be.
subtract = {
value = 1
divide = {
value = scope:county.culture.culture_number_of_counties
min = 1
}
multiply = 15 #Same as used in grant above
min = 0.5
max = 15
}
}
declare_war_culture_acceptance_impact = {
value = 0
scope:defender.primary_title = {
subtract = tier
add = 1
}
}
declare_war_culture_acceptance_impact = {
value = 0
scope:defender.primary_title = {
subtract = tier
add = 1
}
}
hybridization_threshold_flat_number_value = 40
hybridization_threshold_value = {
value = hybridization_threshold_flat_number_value
# Cultural Parameters
if = {
limit = {
root.culture = {
has_cultural_parameter = easier_to_hybridize
}
}
multiply = 0.5
}
if = {
limit = {
root.culture = {
has_cultural_parameter = harder_to_hybridize
}
}
multiply = 2
}
if = {
limit = {
exists = scope:culture
scope:culture = {
has_cultural_parameter = harder_to_hybridize
}
}
multiply = 2
}
# Struggles
if = {
limit = {
exists = scope:culture
root = {
OR = {
any_character_struggle = {
involvement = involved
has_struggle_phase_parameter = easier_culture_hybridising_for_involved_and_interlopers
is_culture_involved_in_struggle = scope:culture
}
any_character_struggle = {
involvement = interloper
has_struggle_phase_parameter = easier_culture_hybridising_for_involved_and_interlopers
is_culture_involved_in_struggle = scope:culture
}
}
}
}
multiply = 0.5
}
# Events
if = {
limit = {
root = {
exists = var:special_culture
var:special_culture = scope:culture
}
}
multiply = 0.75
}
max = 100
min = 0
}
hybridization_ai_threshold_value = {
value = hybridization_threshold_flat_number_value
add = 10
}
culture_divergence_cooldown = {
value = 100
# Game Rules
if = {
limit = {
has_game_rule = slower_hybrid_and_divergence_cooldowns
}
add = 100
}
else_if = {
limit = {
has_game_rule = faster_hybrid_and_divergence_cooldowns
}
add = -50
}
else_if = {
limit = {
has_game_rule = no_hybrid_and_divergence_cooldowns
}
multiply = 0
}
}
culture_hybrid_cooldown = {
value = 50
# Game Rules
if = {
limit = {
has_game_rule = slower_hybrid_and_divergence_cooldowns
}
add = 50
}
else_if = {
limit = {
has_game_rule = faster_hybrid_and_divergence_cooldowns
}
add = -25
}
else_if = {
limit = {
has_game_rule = no_hybrid_and_divergence_cooldowns
}
multiply = 0
}
}
add_tradition_cooldown = 50
tradition_base_cost = 2000
tradition_double_base_cost = {
value = tradition_base_cost
multiply = 2
}
tradition_incompatible_ethos_penalty = 2000
tradition_unfulfilled_criteria_penalty = 3000
tradition_replacement_cost_factor = 1.5
tradition_replacement_cost_factor_tooltip = {
value = tradition_replacement_cost_factor
subtract = 1
multiply = 100
}
tradition_trait_discount = {
value = tradition_base_cost
multiply = -0.5
}
tradition_heritage_discount = {
value = tradition_base_cost
multiply = -1
}
tradition_replacement_cost_if_relevant = {
value = 1
if = {
limit = {
scope:replacing = yes
}
multiply = {
value = tradition_replacement_cost_factor
desc = replacing_tradition_cost_penalty_desc
}
}
}
culture_realm_size = {
every_culture_county = { # TODO AO This is an abomination, replace with the below when it works
limit = {
holder = {
OR = {
this = scope:actor
is_vassal_or_below_of = scope:actor
}
}
}
add = 1
}
#save_temporary_scope_as = the_culture_value
#scope:actor = {
# every_sub_realm_county = {
# limit = { culture = scope:the_culture_value }
# add = 1
# }
#}
}
culture_realm_size_larger_30_percent = {
add = culture_realm_size
multiply = 1.3
}
culture_realm_size_cost_scopes = {
every_culture_county = { # TODO AO This is an abomination, replace with the below when it works
limit = {
holder = {
OR = {
this = root
is_vassal_or_below_of = root
}
}
}
add = 1
}
#save_temporary_scope_as = the_culture_value
#root = {
# every_sub_realm_county = {
# limit = { culture = scope:the_culture_value }
# add = 1
# }
#}
}
culture_size = {
every_culture_county = {
add = 1
}
}
culture_size_penalty = {
value = 0
add = {
add = scope:culture.culture_realm_size_cost_scopes
subtract = root.culture.culture_realm_size_cost_scopes
multiply = 50
}
}
divergence_yearly_chance = {
value = 5
if = {
limit = {
has_game_rule = less_common_divergent_culture_ai_frequency
}
multiply = 0.2
}
if = {
limit = {
has_game_rule = relaxed_divergent_culture_ai_frequency
}
multiply = 1.25
}
if = {
limit = {
has_game_rule = none_divergent_culture_ai_frequency
}
multiply = 0
}
}
# % values used in events
miniscule_positive_culture_acceptance = 2
low_positive_culture_acceptance = 5
medium_positive_culture_acceptance = 10
miniscule_negative_culture_acceptance = -2
low_negative_culture_acceptance = -5
medium_negative_culture_acceptance = -10
### CULTURAL ACCEPTANCE VALUES ###
miniscule_cultural_acceptance_value = 1
minor_cultural_acceptance_value = 2.5
medium_cultural_acceptance_value = 5
major_cultural_acceptance_value = 10
massive_cultural_acceptance_value = 15
miniscule_cultural_acceptance_gain = miniscule_cultural_acceptance_value
minor_cultural_acceptance_gain = minor_cultural_acceptance_value
medium_cultural_acceptance_gain = medium_cultural_acceptance_value
major_cultural_acceptance_gain = major_cultural_acceptance_value
massive_cultural_acceptance_gain = massive_cultural_acceptance_value
miniscule_cultural_acceptance_loss = {
add = miniscule_cultural_acceptance_value
multiply = -1
}
minor_cultural_acceptance_loss = {
add = minor_cultural_acceptance_value
multiply = -1
}
medium_cultural_acceptance_loss ={
add = medium_cultural_acceptance_value
multiply = -1
}
major_cultural_acceptance_loss = {
add = major_cultural_acceptance_value
multiply = -1
}
massive_cultural_acceptance_loss = {
add = massive_cultural_acceptance_value
multiply = -1
}
language_learning_divide_value = 5
current_extra_languages = {
value = num_of_known_languages
subtract = 1
}
language_soft_cap = {
value = 2
if = {
limit = {
learning >= language_learning_divide_value
}
add = {
add = learning
divide = language_learning_divide_value
}
}
if = {
limit = {
has_perk = open_minded_perk
}
add = 2
}
if = {
limit = {
has_perk = smooth_operator_perk
}
add = 1
}
if = {
limit = {
has_perk = been_there_done_that_perk
}
add = 1
}
if = {
limit = {
exists = dynasty
dynasty = {
has_dynasty_perk = ep1_culture_legacy_1
}
}
add = 1
}
if = {
limit = {
culture = {
has_cultural_parameter = extra_language_cap
}
}
add = 1
}
if = {
limit = {
culture = {
has_cultural_parameter = extra_language_cap_2
}
}
add = 1
}
}
language_soft_cap_modifier_value = {
value = num_of_known_languages
subtract = language_soft_cap
}
## Cultural Tradition values
grant_independence_prestige_gain_value = {
value = 0
add = {
every_sub_realm_county = {
add = {
value = 100
}
}
}
}
tribal_holding_fort_level_in_jungle_bonus_value = 1
castle_holding_fort_level_in_jungle_bonus_value = 2
camel_percentage_trigger_value_desc = 50
camel_percentage_multiplier_value = {
value = camel_percentage_trigger_value_desc
divide = 100
}
xenophilic_nr_of_cultures_value = 3
xenophilic_acceptance_value = 30
xenophilic_nr_of_cultures_cost_value = 4
xenophilic_acceptance_cost_value = 40
# Remember to sync the below with its corresponding non-scripted value taking parameter.
## Can be found easily by searching for the value name, where it appears as a comment.
longbow_competitions_minimum_archer_maa_value = 1200
republican_vassal_interaction_limit = 4
family_business_court_poistion_aptitude_bonus = 20
court_position_aptitude_family_business_value = {
if = {
limit = {
exists = liege
culture = liege.culture
culture = { has_cultural_parameter = close_family_better_court_positions }
is_close_family_of = liege
}
add = {
value = 20
desc = tradition_family_entrepreneurship_name
}
}
}
family_business_councillors_percentage = 10
legalistic_vassal_punishment_acceptance = 20
maritime_mercantilism_coastal_holdings_value = 0.10
maritime_mercantilism_coastal_holdings_value_tt = {
value = maritime_mercantilism_coastal_holdings_value
multiply = 100
}
# Score for a given court language
# Referenced by code!
# Only used by the AI
# Numbers get truncated; 10.3 and 10.4 is the same score
# root = ruler
# scope:target = ruler to copy language from
# scope:my_language_counties = counties in the AI's realm with a culture with their native language
# scope:their_language_counties = counties in the AI's realm with a culture with the target court language
# scope:total_counties = counties in the AI's realm
# scope:courts_with_language = how many royal courts use the same court language? Includes the target
# scope:checking_native_language = are we scoring our own language?
# See also the can_adopt_court_language scripted rule
court_language_ai_score = {
add = scope:their_language_counties
# Bit of relative score for percentage too
add = {
value = scope:their_language_counties
multiply = 10
divide = scope:total_counties
}
if = {
limit = { scope:checking_native_language = no }
subtract = scope:my_language_counties
}
#Adjust for Court Grandeur.
#World religions primarily cares about other courts that share their faith.
add = {
value = 0
if = { #Islamic rulers cares about islamic courts
limit = {
faith.religion = religion:islam_religion
scope:target.faith.religion = religion:islam_religion
}
add = {
value = scope:target.court_grandeur_current
if = { #Reduce further if not same faith
limit = {
NOT = { faith = scope:target.faith }
}
divide = 2
}
}
}
else_if = { #Christian cares about other Christians - especially of the same faith
limit = {
faith.religion = religion:christianity_religion
scope:target.faith.religion = religion:christianity_religion
}
add = {
value = scope:target.court_grandeur_current
if = { #Reduce further if not same faith
limit = {
NOT = { faith = scope:target.faith }
}
divide = 3
}
}
}
else_if = { #Eastern Faiths
limit = {
OR = {
faith.religion = religion:hinduism_religion
faith.religion = religion:buddhism_religion
faith.religion = religion:jainism_religion
}
OR = {
scope:target.faith.religion = religion:hinduism_religion
scope:target.faith.religion = religion:buddhism_religion
scope:target.faith.religion = religion:jainism_religion
}
}
add = {
value = scope:target.court_grandeur_current
if = { #Reduce further if not same Religion
limit = {
NOT = { faith.religion = scope:target.faith.religion }
}
divide = 2
}
}
}
else_if = { #Abrahamic religion matching vs non co-religionist - CGV Ignored
limit = {
OR = {
faith.religion = religion:islam_religion
faith.religion = religion:christianity_religion
}
NOT = { faith.religion = scope:target.faith.religion }
}
#Add nothing
}
else_if = { #Eastern religion matching vs non Eastern religion - CGV Ignored
limit = {
OR = {
faith.religion = religion:hinduism_religion
faith.religion = religion:buddhism_religion
faith.religion = religion:jainism_religion
}
NOR = {
scope:target.faith.religion = religion:hinduism_religion
scope:target.faith.religion = religion:buddhism_religion
scope:target.faith.religion = religion:jainism_religion
}
}
#Add nothing
}
else = { #Everyone else just cares about the Grandeur directly
add = scope:target.court_grandeur_current
}
}
#Increase from number of other courts using the Language (1.5 per court).
add = {
value = scope:courts_with_language
multiply = 1.5
}
#Arbitrary Geographical Bias - if our courts are not in the same region the score is divided by 2.
divide = {
value = 1
if = {
limit = {
OR = {
#Europe:
AND = {
capital_province = { geographical_region = world_europe_west_britannia }
NOT = { scope:target.capital_province = { geographical_region = world_europe_west_britannia } }
}
AND = {
capital_province = { geographical_region = world_europe_west_germania }
NOT = { scope:target.capital_province = { geographical_region = world_europe_west_germania } }
}
AND = {
capital_province = { geographical_region = world_europe_west_francia }
NOT = { scope:target.capital_province = { geographical_region = world_europe_west_francia } }
}
AND = {
capital_province = { geographical_region = world_europe_west_iberia }
NOT = { scope:target.capital_province = { geographical_region = world_europe_west_iberia } }
}
AND = {
capital_province = { geographical_region = world_europe_north }
NOT = { scope:target.capital_province = { geographical_region = world_europe_north } }
}
AND = {
capital_province = { geographical_region = world_europe_south_east }
NOT = { scope:target.capital_province = { geographical_region = world_europe_south_east } }
}
AND = {
capital_province = { geographical_region = world_europe_south_italy }
NOT = { scope:target.capital_province = { geographical_region = world_europe_south_italy } }
}
#South Asia:
AND = {
capital_province = { geographical_region = world_india_rajastan }
scope:target.capital_province = { geographical_region = world_india_rajastan }
}
AND = {
capital_province = { geographical_region = world_india_bengal }
NOT = { scope:target.capital_province = { geographical_region = world_india_bengal } }
}
AND = {
capital_province = { geographical_region = world_india_deccan }
NOT = { scope:target.capital_province = { geographical_region = world_india_deccan } }
}
AND = {
capital_province = { geographical_region = world_burma }
NOT = { scope:target.capital_province = { geographical_region = world_burma } }
}
AND = {
capital_province = { geographical_region = world_himalaya }
NOT = { scope:target.capital_province = { geographical_region = world_himalaya } }
}
AND = {
capital_province = { geographical_region = world_middle_east }
NOT = { scope:target.capital_province = { geographical_region = world_middle_east } }
}
AND = {
capital_province = { geographical_region = world_middle_east_persia }
NOT = { scope:target.capital_province = { geographical_region = world_middle_east_persia } }
}
#Africa
AND = {
capital_province = { geographical_region = world_africa_north }
NOT = { scope:target.capital_province = { geographical_region = world_africa_north } }
}
AND = {
capital_province = { geographical_region = world_africa_west }
NOT = { scope:target.capital_province = { geographical_region = world_africa_west } }
}
AND = {
capital_province = { geographical_region = world_africa_east }
NOT = { scope:target.capital_province = { geographical_region = world_africa_east } }
}
#Central Asia
AND = {
capital_province = { geographical_region = world_steppe_west }
NOT = { scope:target.capital_province = { geographical_region = world_steppe_west } }
}
AND = {
capital_province = { geographical_region = world_steppe_east }
NOT = { scope:target.capital_province = { geographical_region = world_steppe_east } }
}
AND = {
capital_province = { geographical_region = world_tibet }
NOT = { scope:target.capital_province = { geographical_region = world_tibet } }
}
}
}
add = 1
}
}
# Prefer the status quo slightly. Needs to be last
if = {
limit = {
scope:checking_native_language = yes
has_court_language_of_culture = culture
}
multiply = 1.5
}
else_if = {
limit = {
scope:checking_native_language = no
scope:target = { has_royal_court = yes }
has_same_court_language = scope:target
}
multiply = 1.5
}
}
gold_per_culture_county_in_subrealm = {
value = 0
add = {
scope:vassal_speaking_other_language = {
every_sub_realm_county = {
limit = {
culture = scope:vassal_speaking_other_language.culture
}
add = 50
}
}
}
}
## Culture Event Values
culture_tradition_events_0101_tutor_surcharge_value = { value = major_gold_value }
non_tribal_loot_value = {
value = root.var:raid_loot
multiply = not_tribal_raid_prestige_multiplier
multiply = -1
}
tradition_travel_discount = {
value = -1000
}
tradition_tournament_discount = {
value = -2000
}
traditionalist_discount = {
value = -1500
}
court_position_aptitude_eunuch_tradition_value = {
if = {
limit = {
exists = liege
liege.culture = {
has_cultural_parameter = eunuch_trait_bonuses
}
has_trait = eunuch_1
}
add = {
value = 30
desc = court_position_eunuch_trait
}
}
else_if = {
limit = {
exists = liege
liege.culture = {
has_cultural_parameter = eunuch_trait_bonuses
}
has_trait = beardless_eunuch
}
add = {
value = 30
desc = court_position_beardless_eunuch_trait
}
}
}
court_position_aptitude_boon_voyager_trait = {
if = {
limit = {
employer ?= {
is_landless_adventurer = no
has_perk = gracious_host_impeccable_guest_perk
}
}
add = {
value = {
value = 3
multiply = employer.num_of_known_languages
}
desc = gracious_host_impeccable_guest_perk_bonus
}
}
}

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,126 @@
###################
# FACTION VALUES #
###################
base_discontent_progress = 3
minor_discontent_gain = 10
medium_discontent_gain = 20
major_discontent_gain = 30
minor_discontent_loss = -10
medium_discontent_loss = -20
major_discontent_loss = -30
massive_discontent_loss = -50
faction_war_white_peace_cooldown = 5 # years
faction_war_defeat_cooldown = 10 # years
faction_nation_fracturing_war_white_peace_cooldown = 15 # years
faction_nation_fracturing_war_defeat_cooldown = 30 # years
liberty_war_victory_cooldown = 5
# Values for the AI to evaluate how powerful factions are relative to each other.
faction_power_minimal = {
value = faction_power_threshold
multiply = 0.25
}
faction_power_halfway_threshold = {
value = faction_power_threshold
multiply = 0.50
}
faction_power_pushing_threshold = {
value = faction_power_threshold
multiply = 0.75
}
faction_weight_factor_power_minimal_penalty = 0.5
faction_weight_factor_power_halfway_threshold = 1.20 # +20% total faction weight
faction_weight_factor_power_pushing_threshold = 1.5 # +50% total faction weight
faction_weight_factor_power_exceeds_threshold = 2 # +100% total faction weight
faction_discontent_for_extra_power = {
value = base_discontent_progress
multiply = { # We want discontent to increase gradually as a faction grows their military power.
value = faction_power
subtract = faction_power_threshold
divide = faction_power_threshold # To get the % over the power threshold we are.
multiply = 4 # At 25% bonus faction power, discontent increases 100% faster (compared to the base gain).
}
round = yes # To avoid having it say +0...
max = 10 # Minimum 8 months to reach 100% discontent (no insta-revolts, no matter how powerful the faction is).
}
total_county_levies = {
value = 0
# Get the base levies from each province.
every_in_de_jure_hierarchy = {
limit = {
tier = tier_barony
}
title_province = {
add = building_levies
}
}
# Levy size multipliers (excluding ruler-specific modifiers, such as Martial skill).
multiply = {
# 100% Levy Base
value = 1
# Adds bonus levies from Development (at base 20 development, +20% levies).
add = {
add = development_level
multiply = 0.01
}
# Adds bonus levies from cultural innovations.
if = {
limit = {
culture = {
has_innovation = innovation_bannus
}
}
add = 0.1
}
}
}
county_levies_to_raise = {
value = total_county_levies
# Will summon between 75% and 175% of total county levy strength, depending on how much they hate you (most commonly will be 95-110% though, scores between -20 and -35 are the most common)
multiply = {
value = county_opinion
multiply = -0.01
add = 0.5
}
min = {
value = building_max_garrison
multiply = 1.2
}
}
county_maa_to_raise = {
value = total_county_levies
# Based on county levy strength, summon an appropiate number of MAAs that scales with popular opinion.
multiply = {
value = county_opinion
multiply = -0.00003
}
round = yes
min = 1
}
peasant_war_victory_county_control_loss = -75
peasant_war_starts_county_control_loss = -25
liege_opinion_value = {
value = scope:opinion_of_current_liege
}
# How many years of truce do you get with a faction's members for appointing their leader as co-emperor?
faction_counter_offer_appointed_co_emperor_value = 10

View file

@ -0,0 +1,186 @@
###################
# GOVERNMENT VALUES #
###################
clan_government_levies_default = 0.04
clan_government_levies_player = 0.25
clan_government_tax_default = 0.02
clan_government_tax_player = 0.25
clan_government_tax_collector_aptitude_multiplier = {
value = {
if = {
limit = {
check_tax_collector_aptitude = {
CHARACTER = scope:tax_collector
VALUE = 5
}
}
add = 15
}
else_if = {
limit = {
check_tax_collector_aptitude = {
CHARACTER = scope:tax_collector
VALUE = 4
}
}
add = 10
}
else_if = {
limit = {
check_tax_collector_aptitude = {
CHARACTER = scope:tax_collector
VALUE = 3
}
}
add = 6
}
else_if = {
limit = {
check_tax_collector_aptitude = {
CHARACTER = scope:tax_collector
VALUE = 2
}
}
add = 3
}
else_if = {
limit = {
check_tax_collector_aptitude = {
CHARACTER = scope:tax_collector
VALUE = 1
}
}
add = 1
}
else = {
add = 0
}
}
}
clan_government_levies_max_possible = {
value = clan_government_levies_default
}
clan_government_tax_max_possible = {
value = clan_government_tax_default
}
default_tax_obligation_ai_will_do = {
value = 1
if = {
limit = {
scope:is_current_obligation = yes
}
add = 1
}
}
tax_obligation_base_ai_will_do = {
value = default_tax_obligation_ai_will_do
subtract = scope:num_slots_with_obligation # Give the AI some variety
}
tax_obligation_half_of_slot = {
value = scope:num_vassal_slots
divide = 2
}
#Feudal government values
exempt_feudal_tax = 0
low_feudal_tax = 0.025
normal_feudal_tax = 0.1
high_feudal_tax = 0.15
extortionate_feudal_tax = 0.25
feudal_tax_exempt_level = 0
feudal_tax_low_level = 1
feudal_tax_normal_level = 2
feudal_tax_high_level = 3
feudal_tax_extortionate_level = 4
feudal_levies_exempt_level = 0
feudal_levies_low_level = 1
feudal_levies_normal_level = 2
feudal_levies_high_level = 3
feudal_levies_extortionate_level = 4
scutage_contract_tax = 0.5
scutage_contract_tax_tooltip = {
value = scutage_contract_tax
multiply = 100
}
scutage_contract_levies = -0.75
scutage_contract_levies_tooltip = {
value = scutage_contract_levies
multiply = 100
multiply = -1
}
march_contract_taxes = -0.5
march_contract_taxes_tooltip = {
value = march_contract_taxes
multiply = 100
multiply = -1
}
castellan_contract_levies = 0.5
castellan_contract_levies_tooltip = {
value = castellan_contract_levies
multiply = 100
}
palatinate_contract_taxes = -0.2
palatinate_contract_levies = -0.2
palatinate_contract_taxes_tooltip = {
value = palatinate_contract_taxes
multiply = 100
multiply = -1
}
fortification_rights_contract_taxes = -0.10
fortification_rights_contract_taxes_tooltip = {
value = fortification_rights_contract_taxes
multiply = 100
multiply = -1
}
succession_rights_contract_law_cost = 0.25
succession_rights_contract_law_cost_tooltip = {
value = succession_rights_contract_law_cost
multiply = 100
}
war_declaration_rights_allowed_cost_reduction = 0.5
war_declaration_rights_allowed_cost_reduction_tooltip = {
value = war_declaration_rights_allowed_cost_reduction
multiply = 100
}
max_contract_changes = 3
family_entrepreneurship_tax = 1
family_entrepreneurship_tax_tooltip = {
value = family_entrepreneurship_tax
multiply = 100
}
centralized_power_levies = 0.5
centralized_power_levies_tooltip = {
value = centralized_power_levies
multiply = 100
}
centralized_power_tax = -1
ghazi_religious_war_cost_reduction = 0.5
ghazi_religious_war_cost_reduction_tooltip = {
value = ghazi_religious_war_cost_reduction
multiply = 100
}
ghazi_prestige_cost_increments = 0.25
ghazi_prestige_cost_increments_tooltip = {
value = ghazi_prestige_cost_increments
multiply = 100
}
#maguh_development_value = {
# value = 0.01
# multiply = clan_government_tax_collector_aptitude_multiplier
#}

View file

@ -0,0 +1,809 @@
golden_obligation_value = {
if = {
limit = {
ransom_cost_value < medium_gold_value
ransom_cost_value > minor_gold_value
}
value = minor_gold_value
}
else_if = {
limit = {
ransom_cost_value < medium_gold_value
ransom_cost_value < minor_gold_value
}
value = ransom_cost_value
}
else = {
value = medium_gold_value
}
}
golden_obligation_value_check_current_situation = {
add = gold
max = golden_obligation_value
}
ransom_cost_value = {
value = ransom_cost
# Some cultures are better at ransoming than others.
if = {
limit = {
exists = imprisoner
imprisoner.culture = { has_cultural_parameter = can_demand_higher_ransoms_from_lower_tiers }
# Kings and emperors are already worth more, so we just boost landless and ducal-tier or below.
OR = {
NOT = { exists = liege }
highest_held_title_tier <= tier_duchy
}
}
multiply = 1.5
}
# Rich guests can pay a bit more...
if = {
limit = {
NOT = { exists = liege }
gold >= 100
}
add = 90
}
#increase it if the imprisoner has a Haggler Officer employed
if = {
limit = {
exists = scope:imprisoner
scope:imprisoner ?= {
employs_court_position = person_haggler_camp_officer
}
}
multiply = {
value = scope:imprisoner.court_position:person_haggler_camp_officer.aptitude:person_haggler_camp_officer
add = 1
divide = 15
add = 1
}
}
if = {
limit = {
imprisoner ?= {
employs_court_position = person_haggler_camp_officer
}
}
multiply = {
value = imprisoner.court_position:person_haggler_camp_officer.aptitude:person_haggler_camp_officer
add = 1
divide = 15
add = 1
}
}
#decrease it if the imprisoned has a Haggler Officer employed
if = {
limit = {
OR = {
AND = {
exists = scope:imprisoner
scope:recipient ?= scope:imprisoner
}
AND = {
exists = imprisoner
scope:recipient ?= imprisoner
}
}
scope:actor ?= {
employs_court_position = person_haggler_camp_officer
}
}
divide = {
value = scope:actor.court_position:person_haggler_camp_officer.aptitude:person_haggler_camp_officer
add = 1
divide = 10
add = 1
}
}
#decrease it if the imprisoned has a Haggler Officer employed
if = {
limit = {
OR = {
AND = {
exists = scope:imprisoner
scope:actor ?= scope:imprisoner
}
AND = {
exists = imprisoner
scope:actor ?= imprisoner
}
}
scope:recipient ?= {
employs_court_position = person_haggler_camp_officer
}
}
divide = {
value = scope:recipient.court_position:person_haggler_camp_officer.aptitude:person_haggler_camp_officer
add = 1
divide = 10
add = 1
}
}
}
current_situation_gold_ransom = {
if = {
limit = {
NOT = {
exists = liege
}
}
add = gold
}
else_if = {
limit = {
is_ruler = no
}
add = liege.gold
}
else = {
add = gold
}
max = ransom_cost_value
}
half_ransom_cost_value = {
value = {
add = ransom_cost_value
divide = 2
min = 1
}
}
half_increased_ransom_cost_value = {
value = {
add = increased_ransom_cost_value
divide = 2
min = 1
}
}
increased_ransom_cost_value = {
value = {
add = ransom_cost_value
multiply = 1.5
}
}
increased_ransom_cost = {
value = {
add = ransom_cost
multiply = 1.5
}
}
#reverse all ransom_cost_value calculations leaving just the haggler value and show it in all ransom interation windows
haggler_ransom_cost_modifier = {
value = ransom_cost_value
# Rich guests can pay a bit more...
if = {
limit = {
NOT = { exists = liege }
gold >= 100
}
subtract = 90
}
if = {
limit = {
exists = imprisoner
imprisoner.culture = { has_cultural_parameter = can_demand_higher_ransoms_from_lower_tiers }
# Kings and emperors are already worth more, so we just boost landless and ducal-tier or below.
OR = {
NOT = { exists = liege }
highest_held_title_tier <= tier_duchy
}
}
divide = 1.5
}
subtract = ransom_cost
}
grant_title_opinion_sum_baronies = {
if = { # if no other titles present, calc for baronies
limit = {
any_in_list = {
list = titles_to_grant
tier = tier_barony
}
}
every_in_list = {
list = titles_to_grant
limit = {
tier = tier_barony
}
add = 20 # barony grant opinion
}
}
}
grant_title_opinion_sum_counties = {
if = { # if no higher titles present, calc for counties
limit = {
any_in_list = {
list = titles_to_grant
tier = tier_county
}
}
every_in_list = {
list = titles_to_grant
limit = {
tier = tier_county
}
add = 40 # county grant opinion
}
}
}
grant_title_opinion_sum_duchies = {
if = {
limit = {
any_in_list = {
list = titles_to_grant
tier = tier_duchy
}
}
every_in_list = {
list = titles_to_grant
limit = {
tier = tier_duchy
}
add = 60 # county grant opinion
}
}
}
grant_title_opinion_sum_kingdoms = {
if = {
limit = {
any_in_list = {
list = titles_to_grant
tier = tier_kingdom
}
}
every_in_list = {
list = titles_to_grant
limit = {
tier = tier_kingdom
}
add = 80 # kingdom grant opinion
}
}
}
grant_title_opinion_sum_empires = {
if = {
limit = {
any_in_list = {
list = titles_to_grant
tier = tier_empire
}
}
every_in_list = {
list = titles_to_grant
limit = {
tier = tier_empire
}
add = 100 # empire grant opinion
}
}
}
# Used in the corresponding character interaction
# when granting a title to the member of a faction.
grant_title_opinion_sum_discontent_calc = {
value = 0
add = {
if = {
limit = {
grant_title_opinion_sum_empires > 0
}
add = {
value = grant_title_opinion_sum_empires
multiply = 0.6
}
}
if = {
limit = {
grant_title_opinion_sum_kingdoms > 0
}
add = {
value = grant_title_opinion_sum_kingdoms
divide = 2
}
}
if = {
limit = {
grant_title_opinion_sum_duchies > 0
}
add = {
value = grant_title_opinion_sum_duchies
divide = 3
}
}
if = {
limit = {
grant_title_opinion_sum_counties > 0
}
add = {
value = grant_title_opinion_sum_counties
divide = 4
}
}
if = {
limit = {
grant_title_opinion_sum_baronies > 0
}
add = {
value = grant_title_opinion_sum_baronies
divide = 4
}
}
}
# Discontent should *drop* when someone is granted a title
multiply = -1
}
courtly_vassal_lowborn_grant_penalty = {
if = {
limit = {
any_in_list = {
list = titles_to_grant
tier >= tier_county
}
}
every_in_list = {
list = titles_to_grant
limit = {
tier = tier_county
}
add = -5
}
every_in_list = {
list = titles_to_grant
limit = {
tier = tier_duchy
}
add = -20
}
every_in_list = {
list = titles_to_grant
limit = {
tier > tier_duchy
}
add = -50
}
}
}
number_of_courtly_vassals = {
value = 0
every_vassal = {
limit = {
has_vassal_stance = courtly
}
add = 1
}
}
number_of_participating_courtly_vassals = {
value = 0
every_vassal = {
limit = {
has_vassal_stance = courtly
is_participant_in_activity = root.involved_activity
}
add = 1
}
}
number_of_glory_hound_vassals = {
value = 0
every_vassal = {
limit = {
has_vassal_stance = glory_hound
}
add = 1
}
}
number_of_participating_glory_hound_vassals = {
value = 0
every_vassal = {
limit = {
has_vassal_stance = glory_hound
is_participant_in_activity = root.involved_activity
}
add = 1
}
}
number_of_parochial_vassals = {
value = 0
every_vassal = {
limit = {
has_vassal_stance = parochial
}
add = 1
}
}
number_of_participating_parochial_vassals = {
value = 0
every_vassal = {
limit = {
has_vassal_stance = parochial
is_participant_in_activity = root.involved_activity
}
add = 1
}
}
number_of_zealot_vassals = {
value = 0
every_vassal = {
limit = {
has_vassal_stance = zealot
}
add = 1
}
}
number_of_participating_zealot_vassals = {
value = 0
every_vassal = {
limit = {
has_vassal_stance = zealot
is_participant_in_activity = root.involved_activity
}
add = 1
}
}
number_of_minority_vassals = {
value = 0
every_vassal = {
limit = {
has_vassal_stance = minority
}
add = 1
}
}
number_of_barons_and_minor_landholders_vassals = {
value = 0
every_vassal = {
limit = {
has_vassal_stance = barons_and_minor_landholders
}
add = 1
}
}
council_position_locked_value = {
value = 25
}
marriage_fertile_age_value = {
value = {
add = 16
subtract = scope:secondary_recipient.age
add = scope:secondary_actor.age
}
}
marriage_fertile_age_reverse_value = {
value = {
add = 16
subtract = scope:secondary_actor.age
add = scope:secondary_recipient.age
}
}
marriage_female_fertility_cutoff_age_value = {
value = {
add = define:NChildbirth|MAX_FEMALE_REPRODUCTION_AGE
add = -3
if = {
limit = {
has_trait = fecund
}
add = 5
}
if = {
limit = {
exists = dynasty
dynasty = {
has_dynasty_perk = blood_legacy_5
}
}
add = 5
}
}
}
offer_vassalage_acceptance_value = {
value = {
add = -35
if = {
limit = {
scope:actor.culture = {
cultural_acceptance = { target = scope:recipient.culture value >= 80 }
}
}
add = {
value = 33
}
}
else_if = {
limit = {
scope:actor.culture = {
cultural_acceptance = { target = scope:recipient.culture value >= 70 }
}
}
add = {
value = 30
}
}
else_if = {
limit = {
scope:actor.culture = {
cultural_acceptance = { target = scope:recipient.culture value >= 60 }
}
}
add = {
value = 25
}
}
else_if = {
limit = {
scope:actor.culture = {
cultural_acceptance = { target = scope:recipient.culture value >= 50 }
}
}
add = {
value = 20
}
}
else_if = {
limit = {
scope:actor.culture = {
cultural_acceptance = { target = scope:recipient.culture value >= 40 }
}
}
add = {
value = 15
}
}
else_if = {
limit = {
scope:actor.culture = {
cultural_acceptance = { target = scope:recipient.culture value >= 30 }
}
}
add = {
value = 10
}
}
else_if = {
limit = {
scope:actor.culture = {
cultural_acceptance = { target = scope:recipient.culture value >= 20 }
}
}
add = {
value = 8
}
}
else_if = {
limit = {
scope:actor.culture = {
cultural_acceptance = { target = scope:recipient.culture value >= 10 }
}
}
add = {
value = 5
}
}
}
}
vassal_claim_liege_title_interaction_highlight_value = {
value = {
add = monumental_prestige_value
if = {
limit = {
scope:actor.prestige_level > scope:recipient.prestige_level
}
subtract = {
value = medium_prestige_value
multiply = scope:actor.prestige_level
}
}
else_if = {
limit = {
scope:actor.prestige_level < scope:recipient.prestige_level
}
add = {
value = medium_prestige_value
multiply = scope:recipient.prestige_level
}
}
}
}
script_current_military_strength = {
value = {
add = current_military_strength
}
}
one_and_a_half_times_current_military_strength = {
value = {
add = current_military_strength
multiply = 1.5
}
}
twice_current_military_strength = {
value = {
add = current_military_strength
multiply = 2
}
}
fifty_percent_more_of_current_military_strength = {
value = {
add = current_military_strength
multiply = 1.5
}
}
eighty_percent_of_current_military_strength = {
value = {
add = current_military_strength
multiply = 0.8
}
}
a_third_of_current_military_strength = {
value = {
add = current_military_strength
multiply = 0.3
}
}
forty_percent_of_current_military_strength = {
value = {
add = current_military_strength
multiply = 0.4
}
}
fifty_percent_of_current_military_strength = {
value = {
add = current_military_strength
multiply = 0.5
}
}
eighty_percent_of_max_military_strength = {
value = {
add = max_military_strength
multiply = 0.8
}
}
fifty_percent_of_max_military_strength = {
value = {
add = max_military_strength
multiply = 0.5
}
}
twenty_percent_of_max_military_strength = {
value = {
add = max_military_strength
multiply = 0.2
}
}
designate_heir_cost = 1000
designate_heir_admin_prestige_cost = 500
designate_heir_admin_influence_cost = 150
designate_heir_laamp_prestige_cost = 150
marry_close_family_tiers_acceptance_value = {
value = 0
scope:secondary_actor = {
save_temporary_scope_as = tier_comparison_first
every_close_family_member = {
even_if_dead = yes
if = {
limit = {
highest_held_title_tier > scope:tier_comparison_first.highest_held_title_tier
}
save_temporary_scope_as = tier_comparison_first
}
}
}
scope:secondary_recipient = {
save_temporary_scope_as = tier_comparison_second
every_close_family_member = {
even_if_dead = yes
if = {
limit = {
highest_held_title_tier > scope:tier_comparison_second.highest_held_title_tier
}
save_temporary_scope_as = tier_comparison_second
}
}
}
add = scope:tier_comparison_first.highest_held_title_tier
subtract = scope:tier_comparison_second.highest_held_title_tier
if = {
limit = {
scope:recipient = { is_close_family_of = scope:secondary_recipient }
}
multiply = 30
}
else = {
multiply = 20
}
}
elope_close_family_tiers_acceptance_value = {
value = 0
scope:actor = {
save_temporary_scope_as = tier_comparison_first
every_close_family_member = {
even_if_dead = yes
if = {
limit = {
highest_held_title_tier > scope:tier_comparison_first.highest_held_title_tier
}
save_temporary_scope_as = tier_comparison_first
}
}
}
scope:recipient = {
save_temporary_scope_as = tier_comparison_second
every_close_family_member = {
even_if_dead = yes
if = {
limit = {
highest_held_title_tier > scope:tier_comparison_second.highest_held_title_tier
}
save_temporary_scope_as = tier_comparison_second
}
}
}
add = scope:tier_comparison_first.highest_held_title_tier
subtract = scope:tier_comparison_second.highest_held_title_tier
multiply = 25
}

View file

@ -0,0 +1,615 @@
##############
# LAW VALUES #
##############
# Scaling value used to calculate realm law cost changes.
subrealm_size_modifier = {
every_sub_realm_county = {
add = 10
}
max = 900
if = {
limit = {
culture = { has_cultural_parameter = cheaper_to_change_laws }
}
multiply = 0.5
}
}
# Learning: Base Law Cost Reduction
learning_law_cost_modifier = {
value = 0
subtract = learning
add = 8
divide = 50
min = -0.5
}
#Faith: The modifier used to calculate the Legalism modifier if the character's faith has Legalism
legalism_law_cost_modifier = {
value = 0
add = num_sinful_traits
subtract = num_virtuous_traits
divide = 10
min = -0.3
}
#Faith: Religious Law
religious_legal_pronouncements_modifier = -0.1
#Faith: Natural Primitivism
natural_primitivism_modifier = 1.5
#Crown Authority Change
increase_crown_authority_prestige_base = 100
increase_crown_authority_prestige_cost = {
add = {
desc = "BASE_VALUE"
value = increase_crown_authority_prestige_base
format = "BASE_VALUE_FORMAT"
}
# Realm Size Penalty: +10 Prestige cost per county controlled by you(r vassals)
if = {
limit = {
NOT = {
culture = { has_cultural_parameter = cheaper_to_change_laws }
}
}
add = {
desc = "realm_size"
format = "BREAKDOWN_FORMAT_REALM_SIZE_PRESTIGE_COST"
value = subrealm_size_modifier
}
}
if = { #Reduced penalty from Tradition (for tooltip)
limit = {
culture = { has_cultural_parameter = cheaper_to_change_laws }
}
add = {
desc = "realm_size"
format = "TRADITION_BREAKDOWN_LAW_REALM_SIZE_COST"
value = subrealm_size_modifier
}
}
# Learning Modifier (2% more expensive for each skill point below 8 Learning)
if = {
limit = {
learning < 8
}
add = {
desc = "poor_learning_law_cost_tooltip"
value = {
add = increase_crown_authority_prestige_base
add = subrealm_size_modifier
}
multiply = learning_law_cost_modifier
}
}
else_if = { # (2% less expensive for each skill point below 8 Learning)
limit = {
learning > 8
}
add = {
desc = "learning_law_cost_tooltip"
value = {
add = increase_crown_authority_prestige_base
add = subrealm_size_modifier
}
multiply = learning_law_cost_modifier
}
}
# Tenet Modifiers
if = {
limit = {
faith = {
has_doctrine_parameter = legalism_modified_law_costs
}
}
add = {
desc = "rite_legalism_law_cost_tooltip"
value = {
add = increase_crown_authority_prestige_base
add = subrealm_size_modifier
}
multiply = legalism_law_cost_modifier
}
}
if = {
limit = {
faith = {
has_doctrine_parameter = natural_primitivism_law_cost_increase
}
}
multiply = {
desc = "rite_primitivism_law_cost_tooltip"
value = natural_primitivism_modifier
}
}
if = {
limit = {
is_independent_ruler = no
vassal_contract_has_flag = locked_to_partition
}
multiply = {
desc = "succession_rights_forced_partition"
value = 1.25 # succession_rights_contract_law_cost = 0.25
}
}
if = {
limit = {
faith = {
has_doctrine_parameter = religious_legal_pronouncements_law_cost_reduction
}
}
multiply = {
desc = "rite_pronouncements_law_cost_tooltip"
value = 0.9 # religious_legal_pronouncements_modifier = -0.1
}
}
# Apply All-Things cooldown breaker multiplier.
if = {
limit = {
has_variable = crown_authority_cooldown
culture = { has_innovation = innovation_all_things }
}
# If the tally exists, multiply by that.
if = {
limit = { has_variable = authority_cooldown_break_tally }
multiply = {
desc = "breaking_authority_cooldown"
value = var:authority_cooldown_break_tally
}
}
# Otherwise, multiply by the stock tally base.
else = {
multiply = {
desc = "breaking_authority_cooldown"
value = authority_cooldown_breaker_value
}
}
}
# Character Modifier Bonuses
if = {
limit = { has_character_modifier = yearly_benevolent_forgiveness_modifier }
multiply = {
desc = "character_modifiers_law_cost_tooltip"
value = 0.9 # yearly_benevolent_forgiveness_modifier = -10%
}
}
# Character Modifier Maluses
if = {
limit = { has_character_modifier = vassal_distrust_modifier }
multiply = {
desc = "character_modifiers_law_cost_tooltip"
value = 1.1 # vassal_distrust_modifier = +10%
}
}
}
#Tribal Authority Change
increase_tribal_authority_prestige_base = 200
increase_tribal_authority_prestige_cost = {
add = {
desc = "BASE_VALUE"
value = increase_tribal_authority_prestige_base
format = "BASE_VALUE_FORMAT"
}
# +10 Prestige cost per county controlled by you(r vassals)
add = {
desc = "realm_size"
format = "BREAKDOWN_FORMAT_REALM_SIZE_PRESTIGE_COST"
value = subrealm_size_modifier
}
# Learning Modifier (2% more expensive for each skill point below 8 Learning)
if = {
limit = {
learning < 8
}
add = {
desc = "poor_learning_law_cost_tooltip"
value = {
add = increase_crown_authority_prestige_base
add = subrealm_size_modifier
}
multiply = learning_law_cost_modifier
}
}
else_if = { # (2% less expensive for each skill point below 8 Learning)
limit = {
learning > 8
}
add = {
desc = "learning_law_cost_tooltip"
value = {
add = increase_crown_authority_prestige_base
add = subrealm_size_modifier
}
multiply = learning_law_cost_modifier
}
}
# Tenet Modifiers
if = {
limit = {
faith = {
has_doctrine_parameter = legalism_modified_law_costs
}
}
add = {
desc = "rite_legalism_law_cost_tooltip"
value = {
add = increase_crown_authority_prestige_base
add = subrealm_size_modifier
}
multiply = legalism_law_cost_modifier
}
}
if = {
limit = {
faith = {
has_doctrine_parameter = natural_primitivism_law_cost_increase
}
}
add = {
desc = "rite_primitivism_law_cost_tooltip"
value = natural_primitivism_modifier
}
}
if = {
limit = {
faith = {
has_doctrine_parameter = religious_legal_pronouncements_law_cost_reduction
}
}
multiply = {
desc = "rite_pronouncements_law_cost_tooltip"
value = 0.9 # religious_legal_pronouncements_modifier = -0.1
}
}
# Apply All-Things cooldown breaker multiplier.
if = {
limit = {
has_variable = tribal_authority_cooldown
culture = { has_innovation = innovation_all_things }
}
# If the tally exists, multiply by that.
if = {
limit = { has_variable = authority_cooldown_break_tally }
multiply = {
desc = "breaking_authority_cooldown"
value = var:authority_cooldown_break_tally
}
}
# Otherwise, multiply by the stock tally base.
else = {
multiply = {
desc = "breaking_authority_cooldown"
value = authority_cooldown_breaker_value
}
}
}
# Character Modifier Bonuses
if = {
limit = { has_character_modifier = yearly_benevolent_forgiveness_modifier }
multiply = {
desc = "character_modifiers_law_cost_tooltip"
value = 0.9 # yearly_benevolent_forgiveness_modifier = -10%
}
}
# Character Modifier Maluses
if = {
limit = { has_character_modifier = vassal_distrust_modifier }
multiply = {
desc = "character_modifiers_law_cost_tooltip"
value = 1.1 # vassal_distrust_modifier = +10%
}
}
}
#Succession Law Change
change_succession_law_prestige_base = 500
@title_succession_law_mult = 3 #How many times more expensive is it to add custom title succession than change your realm succession?
change_succession_law_prestige_cost = {
add = {
desc = "BASE_VALUE"
value = change_succession_law_prestige_base
format = "BASE_VALUE_FORMAT"
}
#Clans pay more
if = {
limit = {
government_has_flag = government_is_clan
}
add = {
desc = "clan_government_cost_tooltip"
value = change_succession_law_prestige_base
multiply = 4
}
}
#Calculate the Legalism modifier if relevant
if = {
limit = {
faith = {
has_doctrine_parameter = legalism_modified_law_costs
}
}
add = {
desc = "rite_legalism_law_cost_tooltip"
value = change_succession_law_prestige_base
multiply = legalism_law_cost_modifier
}
}
if = {
limit = {
faith = {
has_doctrine_parameter = natural_primitivism_law_cost_increase
}
}
add = {
desc = "rite_primitivism_law_cost_tooltip"
value = natural_primitivism_modifier
}
}
if = {
limit = {
is_independent_ruler = no
vassal_contract_has_flag = locked_to_partition
}
multiply = {
desc = "succession_rights_forced_partition"
value = 1.25 # succession_rights_contract_law_cost = 0.25
}
}
if = {
limit = {
faith = {
has_doctrine_parameter = religious_legal_pronouncements_law_cost_reduction
}
}
multiply = {
desc = "rite_pronouncements_law_cost_tooltip"
value = 0.9 # religious_legal_pronouncements_modifier = -0.1
}
}
}
change_title_succession_law_prestige_cost = {
add = {
desc = "BASE_VALUE"
value = change_succession_law_prestige_base
multiply = @title_succession_law_mult
}
#Calculate the Legalism modifier if relevant
if = {
limit = {
faith = {
has_doctrine_parameter = legalism_modified_law_costs
}
}
add = {
desc = "rite_legalism_law_cost_tooltip"
value = change_succession_law_prestige_base
multiply = legalism_law_cost_modifier
multiply = @title_succession_law_mult
}
}
if = {
limit = {
faith = {
has_doctrine_parameter = natural_primitivism_law_cost_increase
}
}
add = {
desc = "rite_primitivism_law_cost_tooltip"
value = natural_primitivism_modifier
}
}
if = {
limit = {
is_independent_ruler = no
vassal_contract_has_flag = locked_to_partition
}
multiply = {
desc = "succession_rights_forced_partition"
value = 1.25 # succession_rights_contract_law_cost = 0.25
}
}
if = {
limit = {
faith = {
has_doctrine_parameter = religious_legal_pronouncements_law_cost_reduction
}
}
multiply = {
desc = "rite_pronouncements_law_cost_tooltip"
value = 0.9 # religious_legal_pronouncements_modifier = -0.1
}
}
}
@hre_title_succession_law_mult = 20
change_hre_title_succession_law_prestige_cost = {
add = {
desc = "BASE_VALUE"
value = change_succession_law_prestige_base
multiply = @hre_title_succession_law_mult
}
#Calculate the Legalism modifier if relevant
if = {
limit = {
faith = {
has_doctrine_parameter = legalism_modified_law_costs
}
}
add = {
desc = "rite_legalism_law_cost_tooltip"
value = change_succession_law_prestige_base
multiply = legalism_law_cost_modifier
multiply = @hre_title_succession_law_mult
}
}
if = {
limit = {
faith = {
has_doctrine_parameter = natural_primitivism_law_cost_increase
}
}
add = {
desc = "rite_primitivism_law_cost_tooltip"
value = natural_primitivism_modifier
}
}
if = {
limit = {
faith = {
has_doctrine_parameter = religious_legal_pronouncements_law_cost_reduction
}
}
multiply = {
desc = "rite_pronouncements_law_cost_tooltip"
value = 0.9 # religious_legal_pronouncements_modifier = -0.1
}
}
}
admin_law_prestige_base_cost = 200
admin_law_realm_size_cost = {
value = realm_size
max = admin_law_prestige_base_cost # Realm size can double the cost
if = {
limit = {
culture = { has_cultural_parameter = cheaper_to_change_laws }
}
multiply = 0.5
}
}
admin_law_prestige_cost = {
add = {
desc = "BASE_VALUE"
value = admin_law_prestige_base_cost
format = "BASE_VALUE_FORMAT"
}
# Realm Size Penalty: +10 Prestige cost per county controlled by you(r vassals)
if = {
limit = {
NOT = {
culture = { has_cultural_parameter = cheaper_to_change_laws }
}
}
add = {
desc = "realm_size"
format = "BREAKDOWN_FORMAT_REALM_SIZE_PRESTIGE_COST"
value = admin_law_realm_size_cost
}
}
if = { #Reduced penalty from Tradition (for tooltip)
limit = {
culture = { has_cultural_parameter = cheaper_to_change_laws }
}
add = {
desc = "realm_size"
format = "TRADITION_BREAKDOWN_LAW_REALM_SIZE_COST"
value = admin_law_realm_size_cost
}
}
# Learning Modifier (2% more expensive for each skill point below 8 Learning)
if = {
limit = {
learning < 8
}
add = {
desc = "poor_learning_law_cost_tooltip"
value = {
add = admin_law_prestige_base_cost
add = admin_law_realm_size_cost
}
multiply = learning_law_cost_modifier
}
}
else_if = { # (2% less expensive for each skill point below 8 Learning)
limit = {
learning > 8
}
add = {
desc = "learning_law_cost_tooltip"
value = {
add = admin_law_prestige_base_cost
add = admin_law_realm_size_cost
}
multiply = learning_law_cost_modifier
}
}
# Tenet Modifiers
if = {
limit = {
faith = {
has_doctrine_parameter = legalism_modified_law_costs
}
}
add = {
desc = "rite_legalism_law_cost_tooltip"
value = {
add = admin_law_prestige_base_cost
add = admin_law_realm_size_cost
}
multiply = legalism_law_cost_modifier
}
}
if = {
limit = {
faith = {
has_doctrine_parameter = natural_primitivism_law_cost_increase
}
}
multiply = {
desc = "rite_primitivism_law_cost_tooltip"
value = natural_primitivism_modifier
}
}
if = {
limit = {
faith = {
has_doctrine_parameter = religious_legal_pronouncements_law_cost_reduction
}
}
multiply = {
desc = "rite_pronouncements_law_cost_tooltip"
value = 0.9 # religious_legal_pronouncements_modifier = -0.1
}
}
# Character Modifier Bonuses
if = {
limit = { has_character_modifier = yearly_benevolent_forgiveness_modifier }
multiply = {
desc = "character_modifiers_law_cost_tooltip"
value = 0.9 # yearly_benevolent_forgiveness_modifier = -10%
}
}
# Character Modifier Maluses
if = {
limit = { has_character_modifier = vassal_distrust_modifier }
multiply = {
desc = "character_modifiers_law_cost_tooltip"
value = 1.1 # vassal_distrust_modifier = +10%
}
}
}

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,703 @@
######################
# Men-at-Arms Values #
######################
#########
# Costs #
#########
@high_maint_mult = 3
### Base Cost Values
@skirmisher_recruitment_cost = 45
@skirmisher_low_maint_cost = 0.15
@skirmisher_high_maint_cost = @[skirmisher_low_maint_cost * high_maint_mult]
@archers_recruitment_cost = 55
@archers_low_maint_cost = 0.2
@archers_high_maint_cost = @[archers_low_maint_cost * high_maint_mult]
@pikemen_recruitment_cost = 75
@pikemen_low_maint_cost = 0.3
@pikemen_high_maint_cost = @[pikemen_low_maint_cost * high_maint_mult]
@heavy_infantry_recruitment_cost = 90
@heavy_infantry_low_maint_cost = 0.4
@heavy_infantry_high_maint_cost = @[heavy_infantry_low_maint_cost * high_maint_mult]
@light_cavalry_recruitment_cost = 85
@light_cavalry_low_maint_cost = 0.35
@light_cavalry_high_maint_cost = @[light_cavalry_low_maint_cost * high_maint_mult]
@heavy_cavalry_recruitment_cost = 200
@heavy_cavalry_low_maint_cost = 0.7
@heavy_cavalry_high_maint_cost = @[heavy_cavalry_low_maint_cost * high_maint_mult]
@siege_weapons_recruitment_cost = 60
@siege_weapons_low_maint_cost = 0.1
@siege_weapons_high_maint_cost = @[siege_weapons_low_maint_cost * high_maint_mult]
### Base MAA
skirmisher_recruitment_cost = @[skirmisher_recruitment_cost]
skirmisher_low_maint_cost = @[skirmisher_low_maint_cost]
skirmisher_high_maint_cost = @[skirmisher_high_maint_cost]
bowmen_recruitment_cost = @[archers_recruitment_cost]
bowmen_low_maint_cost = @[archers_low_maint_cost]
bowmen_high_maint_cost = @[archers_high_maint_cost]
crossbowmen_recruitment_cost = @[archers_recruitment_cost * 1.6]
crossbowmen_low_maint_cost = @[archers_low_maint_cost * 1.5]
crossbowmen_high_maint_cost = @[archers_high_maint_cost * 1.5]
pikemen_recruitment_cost = @[pikemen_recruitment_cost]
pikemen_low_maint_cost = @[pikemen_low_maint_cost]
pikemen_high_maint_cost = @[pikemen_high_maint_cost]
heavy_infantry_recruitment_cost = @[heavy_infantry_recruitment_cost]
heavy_infantry_low_maint_cost = @[heavy_infantry_low_maint_cost]
heavy_infantry_high_maint_cost = @[heavy_infantry_high_maint_cost]
light_cavalry_recruitment_cost = @[light_cavalry_recruitment_cost]
light_cavalry_low_maint_cost = @[light_cavalry_low_maint_cost]
light_cavalry_high_maint_cost = @[light_cavalry_high_maint_cost]
heavy_cavalry_recruitment_cost = @[heavy_cavalry_recruitment_cost]
heavy_cavalry_low_maint_cost = @[heavy_cavalry_low_maint_cost]
heavy_cavalry_high_maint_cost = @[heavy_cavalry_high_maint_cost]
### Siege Weapons MAA
onager_recruitment_cost = @[siege_weapons_recruitment_cost]
onager_low_maint_cost = @[siege_weapons_low_maint_cost]
onager_high_maint_cost = @[siege_weapons_high_maint_cost]
mangonel_recruitment_cost = @[siege_weapons_recruitment_cost * 1.1]
mangonel_low_maint_cost = @[siege_weapons_low_maint_cost * 1.1]
mangonel_high_maint_cost = @[siege_weapons_high_maint_cost * 1.1]
trebuchet_recruitment_cost = @[siege_weapons_recruitment_cost * 1.3]
trebuchet_low_maint_cost = @[siege_weapons_low_maint_cost * 1.3]
trebuchet_high_maint_cost = @[siege_weapons_high_maint_cost * 1.3]
bombard_recruitment_cost = @[siege_weapons_recruitment_cost * 1.6]
bombard_low_maint_cost = @[siege_weapons_low_maint_cost * 1.6]
bombard_high_maint_cost = @[siege_weapons_high_maint_cost * 1.6]
### Cultural MAA
huscarls_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.28]
huscarls_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.28]
huscarls_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.28]
landsknecht_recruitment_cost = @[pikemen_recruitment_cost * 1.2]
landsknecht_low_maint_cost = @[pikemen_low_maint_cost * 1.2]
landsknecht_high_maint_cost = @[pikemen_high_maint_cost * 1.2]
longbowmen_recruitment_cost = @[archers_recruitment_cost * 1.2]
longbowmen_low_maint_cost = @[archers_low_maint_cost * 1.2]
longbowmen_high_maint_cost = @[archers_high_maint_cost * 1.2]
goedendag_recruitment_cost = @[skirmisher_recruitment_cost + 0]
goedendag_low_maint_cost = @[skirmisher_low_maint_cost + 0]
goedendag_high_maint_cost = @[skirmisher_high_maint_cost + 0]
gendarme_recruitment_cost = @[heavy_cavalry_recruitment_cost * 1.2]
gendarme_low_maint_cost = @[heavy_cavalry_low_maint_cost * 1.2]
gendarme_high_maint_cost = @[heavy_cavalry_high_maint_cost * 1.2]
chasseur_recruitment_cost = @[light_cavalry_recruitment_cost * 1.3]
chasseur_low_maint_cost = @[light_cavalry_low_maint_cost * 1.3]
chasseur_high_maint_cost = @[light_cavalry_high_maint_cost * 1.3]
picchieri_recruitment_cost = @[pikemen_recruitment_cost * 1.3]
picchieri_low_maint_cost = @[pikemen_low_maint_cost * 1.3]
picchieri_high_maint_cost = @[pikemen_high_maint_cost * 1.3]
praetorian_recruitment_cost = @[heavy_infantry_recruitment_cost * 2]
praetorian_low_maint_cost = @[heavy_infantry_low_maint_cost * 2]
praetorian_high_maint_cost = @[heavy_infantry_high_maint_cost * 2]
caballero_recruitment_cost = @[light_cavalry_recruitment_cost + 0]
caballero_low_maint_cost = @[light_cavalry_low_maint_cost * 1.1]
caballero_high_maint_cost = @[light_cavalry_high_maint_cost * 1.1]
mulaththamun_recruitment_cost = @[light_cavalry_recruitment_cost + 0]
mulaththamun_low_maint_cost = @[light_cavalry_low_maint_cost * 1.1]
mulaththamun_high_maint_cost = @[light_cavalry_high_maint_cost * 1.1]
paiks_recruitment_cost = @[archers_recruitment_cost * 1.1]
paiks_low_maint_cost = @[archers_low_maint_cost * 1.1]
paiks_high_maint_cost = @[archers_high_maint_cost * 1.1]
archers_of_the_nile_recruitment_cost = @[archers_recruitment_cost * 1.1]
archers_of_the_nile_low_maint_cost = @[archers_low_maint_cost * 1.1]
archers_of_the_nile_high_maint_cost = @[archers_high_maint_cost * 1.1]
sahel_rider_recruitment_cost = @[light_cavalry_recruitment_cost + 5]
sahel_rider_low_maint_cost = @[light_cavalry_low_maint_cost * 1.1]
sahel_rider_high_maint_cost = @[light_cavalry_high_maint_cost * 1.1]
cataphract_recruitment_cost = @[heavy_cavalry_recruitment_cost * 1.3]
cataphract_low_maint_cost = @[heavy_cavalry_low_maint_cost * 1.3]
cataphract_high_maint_cost = @[heavy_cavalry_high_maint_cost * 1.3]
monaspa_recruitment_cost = @[heavy_cavalry_recruitment_cost * 1.25]
monaspa_low_maint_cost = @[heavy_cavalry_low_maint_cost * 1.25]
monaspa_high_maint_cost = @[heavy_cavalry_high_maint_cost * 1.25]
hobelar_recruitment_cost = @[light_cavalry_recruitment_cost * 1.1]
hobelar_low_maint_cost = @[light_cavalry_low_maint_cost * 1.1]
hobelar_high_maint_cost = @[light_cavalry_high_maint_cost * 1.1]
schiltron_recruitment_cost = @[pikemen_recruitment_cost * 1.5]
schiltron_low_maint_cost = @[pikemen_low_maint_cost * 1.5]
schiltron_high_maint_cost = @[pikemen_high_maint_cost * 1.5]
metsanvartija_recruitment_cost = @[archers_recruitment_cost * 1.1]
metsanvartija_low_maint_cost = @[archers_low_maint_cost * 1.1]
metsanvartija_high_maint_cost = @[archers_high_maint_cost * 1.1]
horse_archers_recruitment_cost = @[skirmisher_recruitment_cost * 3]
horse_archers_low_maint_cost = @[skirmisher_low_maint_cost * 3]
horse_archers_high_maint_cost = @[skirmisher_high_maint_cost * 3]
ayyar_recruitment_cost = @[heavy_infantry_recruitment_cost - 15]
ayyar_low_maint_cost = @[heavy_infantry_low_maint_cost * 0.9]
ayyar_high_maint_cost = @[heavy_infantry_high_maint_cost * 0.9]
mubarizun_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.2]
mubarizun_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.2]
mubarizun_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.2]
druzhina_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.3]
druzhina_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.3]
druzhina_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.3]
hussar_recruitment_cost = @[light_cavalry_recruitment_cost * 1.3]
hussar_low_maint_cost = @[light_cavalry_low_maint_cost * 1.3]
hussar_high_maint_cost = @[light_cavalry_high_maint_cost * 1.3]
horn_warrior_recruitment_cost = @[skirmisher_recruitment_cost + 0]
horn_warrior_low_maint_cost = @[skirmisher_low_maint_cost + 0]
horn_warrior_high_maint_cost = @[skirmisher_high_maint_cost + 0]
bush_hunter_recruitment_cost = @[archers_recruitment_cost + 0]
bush_hunter_low_maint_cost = @[archers_low_maint_cost * 1.1]
bush_hunter_high_maint_cost = @[archers_high_maint_cost * 1.1]
shomer_recruitment_cost = @[skirmisher_recruitment_cost + 0]
shomer_low_maint_cost = @[skirmisher_low_maint_cost + 0]
shomer_high_maint_cost = @[skirmisher_high_maint_cost + 0]
khandayat_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.2]
khandayat_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.2]
khandayat_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.2]
garudas_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.28]
garudas_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.28]
garudas_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.28]
mountaineer_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.2]
mountaineer_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.2]
mountaineer_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.2]
guinea_warrior_recruitment_cost = @[skirmisher_recruitment_cost * 1.2]
guinea_warrior_low_maint_cost = @[skirmisher_low_maint_cost * 1.2]
guinea_warrior_high_maint_cost = @[skirmisher_high_maint_cost * 1.2]
sarawit_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.2]
sarawit_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.2]
sarawit_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.2]
abudrar_recruitment_cost = @[skirmisher_recruitment_cost * 1.8]
abudrar_low_maint_cost = @[skirmisher_low_maint_cost * 1.8]
abudrar_high_maint_cost = @[skirmisher_high_maint_cost * 1.8]
zbrojnosh_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.1]
zbrojnosh_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.1]
zbrojnosh_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.1]
palace_guards_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.2]
palace_guards_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.2]
palace_guards_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.2]
chu_ko_nu_recruitment_cost = @[archers_recruitment_cost * 1.5]
chu_ko_nu_low_maint_cost = @[archers_low_maint_cost * 1.5]
chu_ko_nu_high_maint_cost = @[archers_high_maint_cost * 1.5]
bondi_recruitment_cost = @[pikemen_recruitment_cost * 0.67]
bondi_low_maint_cost = @[pikemen_low_maint_cost * 0.67]
bondi_high_maint_cost = @[pikemen_high_maint_cost * 0.67]
vigmen_recruitment_cost = @[archers_recruitment_cost * 1.1]
vigmen_low_maint_cost = @[archers_low_maint_cost * 1.1]
vigmen_high_maint_cost = @[archers_high_maint_cost * 1.1]
varangian_veterans_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.67]
varangian_veterans_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.67]
varangian_veterans_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.67]
jomsviking_pirates_recruitment_cost = @[skirmisher_recruitment_cost * 1.4]
jomsviking_pirates_low_maint_cost = @[skirmisher_low_maint_cost * 1.4]
jomsviking_pirates_high_maint_cost = @[skirmisher_high_maint_cost * 1.4]
tawashi_recruitment_cost = @[light_cavalry_recruitment_cost * 1.1]
tawashi_low_maint_cost = @[light_cavalry_low_maint_cost * 1.1]
tawashi_high_maint_cost = @[light_cavalry_high_maint_cost * 1.1]
ayrudzi_recruitment_cost = @[light_cavalry_recruitment_cost]
ayrudzi_low_maint_cost = @[light_cavalry_low_maint_cost]
ayrudzi_high_maint_cost = @[light_cavalry_high_maint_cost]
conrois_recruitment_cost = @[heavy_cavalry_recruitment_cost * 0.85]
conrois_low_maint_cost = @[heavy_cavalry_low_maint_cost * 0.85]
conrois_high_maint_cost = @[heavy_cavalry_high_maint_cost * 0.85]
akritai_recruitment_cost = @[skirmisher_recruitment_cost * 0.9]
akritai_low_maint_cost = @[skirmisher_low_maint_cost * 0.9]
akritai_high_maint_cost = @[skirmisher_high_maint_cost * 0.9]
skoutatoi_recruitment_cost = @[pikemen_recruitment_cost * 1.1]
skoutatoi_low_maint_cost = @[pikemen_low_maint_cost * 1.1]
skoutatoi_high_maint_cost = @[pikemen_high_maint_cost * 1.1]
ballistrai_recruitment_cost = @[archers_recruitment_cost * 1.15]
ballistrai_low_maint_cost = @[archers_low_maint_cost * 0.75]
ballistrai_high_maint_cost = @[archers_high_maint_cost * 0.75]
asawira_recruitment_cost = 300
asawira_low_maint_cost = 1
asawira_high_maint_cost = 3
### Regional MAA
camel_rider_recruitment_cost = @[light_cavalry_recruitment_cost + 0]
camel_rider_low_maint_cost = @[light_cavalry_low_maint_cost * 0.8]
camel_rider_high_maint_cost = @[light_cavalry_high_maint_cost * 0.8]
war_elephant_recruitment_cost = @[heavy_cavalry_recruitment_cost * 2]
war_elephant_low_maint_cost = @[heavy_cavalry_low_maint_cost * 1.2]
war_elephant_high_maint_cost = @[heavy_cavalry_high_maint_cost * 1.4]
guanch_vaulter_recruitment_cost = @[skirmisher_recruitment_cost * 1.2]
guanch_vaulter_low_maint_cost = @[skirmisher_low_maint_cost * 1.2]
guanch_vaulter_high_maint_cost = @[skirmisher_high_maint_cost * 1.2]
###Accolade MaA
accolade_skirmisher_recruitment_cost = @[skirmisher_recruitment_cost * 2]
accolade_bowmen_recruitment_cost = @[archers_recruitment_cost * 2]
accolade_crossbowmen_recruitment_cost = @[archers_recruitment_cost * 1.6 * 2]
accolade_pikemen_recruitment_cost = @[pikemen_recruitment_cost * 2]
accolade_heavy_infantry_recruitment_cost = @[heavy_infantry_recruitment_cost * 2]
accolade_light_cavalry_recruitment_cost = @[light_cavalry_recruitment_cost * 2]
accolade_heavy_cavalry_recruitment_cost = @[heavy_cavalry_recruitment_cost * 2]
accolade_camel_rider_recruitment_cost = @[light_cavalry_recruitment_cost * 2]
accolade_siege_weapons_recruitment_cost = @[siege_weapons_recruitment_cost * 2]
accolade_war_elephant_recruitment_cost = @[heavy_cavalry_recruitment_cost * 4]
accolade_horse_archers_recruitment_cost = @[skirmisher_recruitment_cost * 3 * 2]
varangian_guards_recruitment_cost = @[heavy_infantry_recruitment_cost * 0.8]
varangian_guards_low_maint_cost = @[heavy_infantry_low_maint_cost * 0.8]
varangian_guards_high_maint_cost = @[heavy_infantry_high_maint_cost * 0.8]
handpicked_faithful_recruitment_cost = @[heavy_infantry_recruitment_cost * 0.75]
handpicked_faithful_low_maint_cost = @[heavy_infantry_low_maint_cost * 0.75]
handpicked_faithful_high_maint_cost = @[heavy_infantry_high_maint_cost * 0.75]
##############
# AI Weights #
##############
culture_ai_weight_skirmishers = {
value = -10
if = { # Cultures that favours skirmishers
limit = {
culture = {
OR = {
has_cultural_pillar = heritage_baltic
has_cultural_pillar = heritage_ugro_permian
has_cultural_pillar = heritage_balto_finnic
}
}
}
add = 20
}
if = { # Cultures that dislike skirmishers
limit = {
culture = {
OR = {
has_cultural_pillar = heritage_central_germanic
has_cultural_pillar = heritage_frankish
has_cultural_pillar = heritage_iberian
has_cultural_pillar = heritage_latin
}
}
}
add = -60
}
if = { # Cultures with a special MaA of that type should avoid the base version of the unit
limit = {
culture = {
culture_has_skirmisher_maa = yes
}
}
add = -500
}
}
culture_ai_weight_archers = {
value = 0
if = { # Cultures that favours archers
limit = {
culture = {
OR = {
has_cultural_pillar = heritage_west_germanic
has_cultural_pillar = heritage_brythonic
has_cultural_pillar = heritage_east_african
has_cultural_pillar = heritage_indo_aryan
has_cultural_pillar = heritage_dravidian
has_cultural_pillar = heritage_burman
has_cultural_pillar = heritage_chinese
}
}
}
add = 40
}
if = { # Cultures that dislike archers
limit = {
OR = {
culture = { has_cultural_pillar = heritage_central_germanic }
culture = { has_cultural_pillar = heritage_frankish }
}
}
add = -60
}
if = { # Cultures with a special MaA of that type should avoid the base version of the unit
limit = {
culture = {
culture_has_archer_maa = yes
}
}
add = -500
}
}
culture_ai_weight_heavy_infantry = {
value = 0
if = { # Cultures that favours heavy infantry
limit = {
culture = {
OR = {
has_cultural_pillar = heritage_central_germanic
has_cultural_pillar = heritage_north_germanic
has_cultural_pillar = heritage_west_germanic
has_cultural_pillar = heritage_east_slavic
}
}
}
add = 40
}
if = { # Cultures with a special MaA of that type should avoid the base version of the unit
limit = {
culture = {
culture_has_heavy_infantry_maa = yes
}
}
add = -500
}
}
culture_ai_weight_pikemen = {
value = 0
if = { # Cultures that favours spearmen
limit = {
OR = {
culture = { has_cultural_pillar = heritage_central_germanic }
culture = { has_cultural_pillar = heritage_latin }
}
}
add = 40
}
if = { # Cultures with a special MaA of that type should avoid the base version of the unit
limit = {
culture = {
culture_has_pikemen_maa = yes
}
}
add = -500
}
}
culture_ai_weight_light_cavalry = {
value = 20
if = { # Cultures that REALLY like light cavalry
limit = {
OR = {
culture = { has_cultural_pillar = heritage_iranian }
# Steppe cultures
culture = { has_cultural_pillar = heritage_turkic }
culture = { has_cultural_pillar = heritage_mongolic }
}
}
add = 80
}
if = { # Cultures that favours light cavalry
limit = {
culture = {
OR = {
has_cultural_pillar = heritage_arabic
has_cultural_pillar = heritage_iranian
has_cultural_pillar = heritage_berber
has_cultural_pillar = heritage_iberian
has_cultural_pillar = heritage_indo_aryan
}
}
}
add = 40
}
if = { # Cultures that dislike light cavalry
limit = {
OR = {
culture = { has_cultural_pillar = heritage_central_germanic }
culture = { has_cultural_pillar = heritage_tibetan }
culture = { has_cultural_pillar = heritage_baltic }
culture = { has_cultural_pillar = heritage_burman }
culture = { has_cultural_pillar = heritage_somalian }
}
}
add = -60
}
if = { # Cultures with a special MaA of that type should avoid the base version of the unit
limit = {
culture = {
culture_has_light_cavalry_maa = yes
}
}
add = -500
}
if = { # Cultures with a preference for Camel Riders should buy those over normal light cavalry
limit = {
culture = {
has_innovation = innovation_war_camels
}
OR = {
culture = { has_cultural_pillar = heritage_arabic }
culture = { has_cultural_pillar = heritage_berber }
}
}
add = -200
}
}
culture_ai_weight_heavy_cavalry = {
value = 0
if = { # Cultures that REALLY like heavy cavalry
limit = {
OR = {
culture = { has_cultural_pillar = heritage_iranian }
# Steppe cultures
culture = { has_cultural_pillar = heritage_turkic }
culture = { has_cultural_pillar = heritage_mongolic }
}
}
add = 80
}
if = { # Cultures that favours heavy cavalry
limit = {
OR = {
culture = { has_cultural_pillar = heritage_central_germanic }
culture = { has_cultural_pillar = heritage_frankish }
culture = { has_cultural_pillar = heritage_indo_aryan }
}
}
add = 40
}
if = { # Cultures that dislike heavy cavalry
limit = {
culture = {
OR = {
has_cultural_pillar = heritage_tibetan
has_cultural_pillar = heritage_baltic
has_cultural_pillar = heritage_south_slavic
has_cultural_pillar = heritage_sahelian
has_cultural_pillar = heritage_senegambian
has_cultural_pillar = heritage_west_african
has_cultural_pillar = heritage_yoruba
has_cultural_pillar = heritage_somalian
has_cultural_pillar = heritage_east_african
has_cultural_pillar = heritage_burman
}
}
}
add = -60
}
if = { # Cultures with a special MaA of that type should avoid the base version of the unit
limit = {
culture = {
culture_has_heavy_cavalry_maa = yes
}
}
add = -500
}
}
culture_ai_weight_camels = {
value = 20
if = { # Cultures that favours camel riders
limit = {
OR = {
culture = { has_cultural_pillar = heritage_arabic }
culture = { has_cultural_pillar = heritage_berber }
}
}
add = 80
}
}
culture_ai_weight_elephants = {
value = 0
if = { # Cultures that favours war elephants
limit = {
OR = {
culture = { has_cultural_pillar = heritage_dravidian }
culture = { has_cultural_pillar = heritage_indo_aryan }
culture = { has_cultural_pillar = heritage_burman }
}
}
add = 60
}
}
culture_ai_weight_vigmen = {
value = 60
if = { # Cultures that favours heavy infantry
limit = {
any_sub_realm_county = { is_coastal_county = yes }
}
add = 20
}
}
counter_synergy_ai_weight_archers = {
value = 0
if = {
limit = {
number_maa_regiments_of_base_type = {
type = heavy_infantry
value >= 3
}
NOT = { #no need to add more if i.e. regional or inherited maa of that type already exists
number_maa_regiments_of_base_type = {
type = archers
value >= 1
}
}
}
add = 60
}
}
counter_synergy_ai_weight_pikemen = {
value = 0
if = {
limit = {
number_maa_regiments_of_base_type = {
type = archers
value >= 3
}
NOT = { #no need to add more if i.e. regional or inherited maa of that type already exists
number_maa_regiments_of_base_type = {
type = pikemen
value >= 1
}
}
}
add = 60
}
}
counter_synergy_ai_weight_heavy_infantry = {
value = 0
if = {
limit = {
OR = {
number_maa_regiments_of_base_type = {
type = heavy_cavalry
value >= 3
}
number_maa_regiments_of_base_type = {
type = light_cavalry
value >= 3
}
}
NOT = { #no need to add more if i.e. regional or inherited maa of that type already exists
number_maa_regiments_of_base_type = {
type = heavy_infantry
value >= 1
}
}
}
add = 60
}
}
counter_synergy_ai_weight_light_cavalry = {
value = 0
if = {
limit = {
number_maa_regiments_of_base_type = {
type = skirmishers
value >= 3
}
NOT = { #no need to add more if i.e. regional or inherited maa of that type already exists
number_maa_regiments_of_base_type = {
type = light_cavalry
value >= 1
}
}
}
add = 60
}
}
###################
# Provisions Costs #
###################
#TODO_CD_EP3; these can't actually be used due to some kind of load order issue: they're synced in each file instead. We should file a bug and see if Code can fix.
provisions_cost_infantry_cheap = 3
provisions_cost_infantry_moderate = 7
provisions_cost_infantry_expensive = 12
provisions_cost_infantry_bankrupting = 15
provisions_cost_cavalry_cheap = 7
provisions_cost_cavalry_moderate = 15
provisions_cost_cavalry_expensive = 21
provisions_cost_cavalry_bankrupting = 30
# Generally used for siege weapons & adjacent similar stuff.
## Cheaper than cavalry, as they need less support infrastructure than mounted troops, but more expensive than infantry — tools may not eat but heavy supplies still need transporting, proofing against the elements, etc, whilst hard-to-find engineers may not put up with common grub.
provisions_cost_special_cheap = 6
provisions_cost_special_moderate = 12
provisions_cost_special_expensive = 18
provisions_cost_special_bankrupting = 24

View file

@ -0,0 +1,225 @@
#######################
# MONGOL VALUES
#######################
# Conquering things
# Drinking mare's milk
# Destroying civilisations
# Fighting
# Chance of Mongols appearing per year between 1180 and 1250
temujin_appearance_base_chance = 1
# Weight used in selecting targets for the automated Mongol invasions
mongol_invasion_target_character_weight = {
value = 0.001
every_sub_realm_county = {
if = {
limit = {
title_province = {
geographical_region = special_mongol_empire_start_region
}
}
add = 10000
}
else_if = {
limit = {
title_province = {
geographical_region = special_mongol_empire_conquest_region_prio_1
}
}
add = 5000
}
else_if = {
limit = {
title_province = {
geographical_region = special_mongol_empire_conquest_region_prio_2
}
}
add = 3000
}
else_if = {
limit = {
title_province = {
geographical_region = special_mongol_empire_conquest_region_prio_3
}
}
add = 2000
}
else_if = {
limit = {
title_province = {
geographical_region = special_mongol_empire_conquest_region_prio_4
}
}
add = 1000
}
else_if = {
limit = {
title_province = {
geographical_region = special_mongol_empire_conquest_region_prio_5
}
}
add = 500
}
else_if = {
limit = {
title_province = {
geographical_region = special_mongol_empire_conquest_region_cleanup
}
}
add = 250
}
else_if = {
limit = {
title_province = {
geographical_region = world_tibet
}
}
add = -100
}
}
}
# Mongol breakup succession score
mongol_breakup_succession_score = {
# Prioritize the actual heir
if = {
limit = {
exists = scope:old_mongol_emperor.primary_heir
this = scope:old_mongol_emperor.primary_heir
}
add = 100
}
# A bonus for being of the same house
if = {
limit = {
exists = house
house = scope:old_mongol_emperor.house
}
add = 50
}
# Prioritize siblings
if = {
limit = {
is_sibling_of = scope:old_mongol_emperor
}
add = 100
}
# Children of children of the old khan gain some priority
else_if = {
limit = {
any_parent = {
any_parent = {
this = scope:old_mongol_emperor
}
}
}
add = 50
}
else_if = {
limit = {
is_close_family_of = scope:old_mongol_emperor
}
add = 30
}
else_if = {
limit = {
is_close_or_extended_family_of = scope:old_mongol_emperor
}
add = 15
}
# Skill bonuses
add = sum_of_all_skills_value
# Gender preference, can't check for realm law so using faith
if = {
limit = {
is_female = yes
scope:old_mongol_emperor.faith = {
has_doctrine_parameter = male_dominated_law
}
}
multiply = 0.1
}
else_if = {
limit = {
scope:old_mongol_emperor.faith = {
has_doctrine_parameter = female_dominated_law
}
}
multiply = 0.1
}
# A penalty for not being the same culture, mongol, or an accepted culture
if = {
limit = {
NOR = {
culture = scope:old_mongol_emperor.culture
culture = culture:mongol
culture = {
cultural_acceptance = {
target = scope:old_mongol_emperor.culture
value >= 75
}
}
}
}
multiply = 0.1
}
# Not adult
if = {
limit = {
is_adult = no
}
multiply = 0.1
}
# Ill health
if = {
limit = {
OR = {
has_contagious_deadly_disease_trigger = yes
has_epidemic_disease_trigger = yes
health <= poor_health
has_trait = infirm
has_trait = incapable
}
}
multiply = 0.01
}
}
temujin_soldier_female_chance = {
if = {
limit = {
NOT = { dummy_female = { can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:temujin } } }
dummy_male = { can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:temujin } }
}
add = 0
}
else_if = {
limit = {
dummy_female = { can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:temujin } }
NOT = { dummy_male = { can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:temujin } } }
}
add = 100
}
else = {
add = 50
}
}
mongol_successor_faith_chance = {
value = 0
save_temporary_scope_as = county_faith_check
add = {
scope:faith_changer = {
every_vassal = {
faith = scope:county_faith_check.faith
}
add = 5
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,63 @@

visit_settlement_minimum_cooldown_days = 90 #3 months
visit_settlement_minimum_cooldown_months = 3 #Sync with visit_settlement_minimum_cooldown_days
visit_settlement_small_cooldown_days = 180 #6 months
visit_settlement_small_cooldown_months = 6 #Sync with visit_settlement_small_cooldown_days
visit_settlement_medium_cooldown_days = 365 #1 year
visit_settlement_medium_cooldown_year = 1 #Sync with visit_settlement_medium_cooldown_days
visit_settlement_cooldown_days = 730 #2 years
visit_settlement_large_cooldown_days = 1460 #4 years
num_contracts_spawned_value = 2
old_adventurer_stashed_gold_value = 50
old_adventurer_stashed_provisions_value = 1000
many_followers_value = 15
visit_settlement_provision_refill_value = {
value = provision_refill_value
multiply = 1.5
}
#Provisions split into percentages, steps of 20%
twenty_percent_provisions_value = {
value = max_provisions
multiply = 0.2
}
forty_percent_provisions_value = {
value = max_provisions
multiply = 0.4
}
sixty_percent_provisions_value = {
value = max_provisions
multiply = 0.6
}
eighty_percent_provisions_value = {
value = max_provisions
multiply = 0.8
}
#Used to calculate quarter of the provisions needed for you to reach max provisions, maxed at 2000
quarter_to_max_provisions_value = {
value = root.domicile.max_provisions
subtract = root.domicile.provisions
divide = 4
max = 2000
}
#Used to calculate half of the provisions needed for you to reach max provisions
half_to_max_provisions_value = {
value = root.domicile.max_provisions
subtract = root.domicile.provisions
divide = 2
}
visit_settlement_skill_gain_cap_value = 5
laamp_ai_spending_pants_value = 500
visit_settlement_piety_gain_value = {
value = major_piety_gain
divide = root.var:visit_settlement_church_donation
}

View file

@ -0,0 +1,914 @@
##############
# WAR VALUES #
##############
# Truce Durations
## Since we want these to work out to nice, even numbers, we calc them manually rather than use multipliers.
standard_truce_duration_days = {
value = 1825
# Deductions.
## Flexible truces perk.
if = {
limit = {
scope:attacker = { has_perk = flexible_truces_perk }
}
add = -450
}
## Certain struggle phases.
if = {
limit = {
scope:attacker = {
any_character_struggle = {
is_struggle_parameter_active_secondary_character_involvement_either_trigger = {
PARAMETER = truces_by_involved_or_interlopers_within_region_shorter
CHAR = scope:defender
}
}
}
}
add = -900
}
if = {
limit = {
scope:attacker = {
any_character_struggle = {
is_struggle_parameter_active_secondary_character_involvement_either_trigger = {
PARAMETER = truces_by_involved_or_interlopers_within_region_longer
CHAR = scope:defender
}
}
}
}
add = 900
}
# A truce should at least give a 2-year breather.
min = 730
if = {
limit = {
scope:attacker = {
any_character_war = {
primary_attacker = scope:attacker
primary_defender = scope:defender
using_cb = fp2_border_raid
}
}
}
multiply = 2
}
}
#Victory Prestige Experience Gain
mongol_invasion_cb_prestige_experience_gain = 10
#Ally contribution prestige gain
mongol_invasion_cb_ally_prestige = 100
#Prestige gain
mongol_invasion_cb_prestige_gain = 250
#White peace prestige values
mongol_invasion_cb_prestige_white_peace = -100
# Determined Independence Cultural Tradition
determined_independence_defensive_advantage_value = 15
#############
# Raid
#############
# Practiced Pirates Cultural Tradition
not_tribal_raid_prestige_multiplier = 1.5
raid_gold_value = { #How much cash does this settlement generate in a raid?
value = monthly_income
multiply = 10
#Sensible max-mins.
min = 30
max = 100
#Give a whole number.
ceiling = yes
}
tour_tax_gold_value = {
value = monthly_income
multiply = 4
#Give a whole number.
ceiling = yes
}
viking_conquest_ai_score_value = {
value = 1
scope:attacker = {
if = {
limit = {
can_use_viking_invasion_cbs_trigger = yes
}
if = {
limit = { NOT = { culture = scope:defender.culture } }
add = 0.5
if = {
limit = {
NOT = { culture = { has_same_culture_heritage = scope:defender.culture } }
}
add = 0.5
}
}
if = {
limit = { NOT = { faith = scope:defender.faith } }
add = 0.5
if = {
limit = { NOT = { faith.religion = scope:defender.faith.religion } }
add = 0.5
}
}
if = {
limit = {
scope:defender.faith = {
has_doctrine_parameter = unreformed
}
}
multiply = 0.2
}
if = {
limit = {
scope:defender.faith = scope:attacker.faith
}
multiply = 0.2
}
if = { # Russian Vikings stay home
limit = {
scope:attacker = {
capital_province = {
geographical_region = world_europe_east
}
NOT = {
character_is_realm_neighbor = scope:defender
}
}
}
multiply = 0.1
}
if = { # Norsemen should prefer their historical targets
limit = {
scope:attacker = {
OR = {
capital_province = {
geographical_region = world_europe_north
}
capital_province = {
geographical_region = world_europe_west
}
capital_province = {
geographical_region = world_europe_west_francia
}
capital_province = {
geographical_region = world_europe_west_germania
}
}
}
scope:defender = {
OR = {
capital_province = {
geographical_region = world_europe_west
}
capital_province = {
geographical_region = world_europe_west_francia
}
capital_province = {
geographical_region = world_europe_west_germania
}
}
}
}
multiply = 10
}
if = { # Norsemen should not rush the Pope...
limit = {
scope:attacker.faith.religion = faith:norse_pagan.religion
scope:defender = {
has_title = title:k_papal_state
}
}
multiply = 0.01
}
}
# Haesteinn needs to stop merc'ing East Francia when the resulting kingdom simply will not last.
if = {
limit = { this = character:6878 }
# Assuming the player hasn't opted into batshit Vikings.
if = {
limit = {
NOT = { has_game_rule = fp1_scandi_adventurers_apocalyptic }
}
# Tell him to calm it down a bit and pick a damned duchy realm or something.
if = {
limit = {
scope:defender = {
OR = {
realm_size >= massive_realm_size
highest_held_title_tier >= tier_kingdom
}
}
}
multiply = 0
}
# ... and a bit of bonus score if said-realm is an NPC Mercia to get him to behave a bit more historically.
if = {
limit = {
scope:defender = {
primary_title = title:d_hereford
is_independent_ruler = yes
is_ai = yes
}
}
multiply = 100
}
}
# ... in which case, go extra wild.
else_if = {
limit = { has_game_rule = fp1_scandi_adventurers_apocalyptic }
# Nothing but a shiny new kingdom will satisfy apocalypse-Haesteinn.
if = {
limit = {
scope:defender = { highest_held_title_tier <= tier_duchy }
}
multiply = 0
}
}
}
}
}
struggle_conquest_ai_score_value = {
value = 1
scope:attacker = {
# Are they a different faith than me?
if = {
limit = {
NOT = { faith = scope:defender.faith }
}
add = 1
}
# Are they a different culture than me?
if = {
limit = {
NOT = { culture = scope:defender.culture }
}
add = 1
}
# Do I have a negative relationship with them?
if = {
limit = { has_relation_nemesis = scope:defender }
add = 2
}
else_if = {
limit = {
has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:defender }
}
add = 1
}
# Do I have a positive relationship with them?
if = {
limit = {
OR = {
has_relation_soulmate = scope:defender
has_relation_best_friend = scope:defender
}
}
add = -5
}
else_if = {
limit = {
has_any_good_relationship_with_character_trigger = { CHARACTER = scope:defender }
}
add = -1
}
# Multiply this up or down per the phase.
## Some phases make people hunger for violence...
if = {
limit = {
any_character_struggle = {
is_struggle_type = iberian_struggle
is_struggle_phase = struggle_iberia_phase_hostility
}
# Unless you're just not that sort of person.
NOR = {
has_trait = content
has_trait = compassionate
}
}
multiply = 2
}
## ... but in others, it seems abhorrent.
if = {
limit = {
any_character_struggle = {
is_struggle_type = iberian_struggle
OR = {
is_struggle_phase = struggle_iberia_phase_compromise
is_struggle_phase = struggle_iberia_phase_conciliation
}
}
NOR = {
has_trait = ambitious
has_trait = callous
has_trait = sadistic
}
}
multiply = 0.5
}
}
}
byzantium_conquests_ai_score_value = {
value = 1
# Are we part of the Roman empire?
if = {
limit = {
scope:attacker = {
# We only care about governors and above, so don't worry about counts even if they're within the empire.
highest_held_title_tier >= tier_duchy
# Now check title ownership.
OR = {
has_title = title:e_byzantium
has_title = title:e_roman_empire
any_liege_or_above = {
OR = {
has_title = title:e_byzantium
has_title = title:e_roman_empire
}
}
# Account for the 4th crusade.
## Y'know, roughly.
AND = {
NOT = {
exists = title:e_byzantium
}
primary_title = {
OR = {
empire = title:e_byzantium
empire = title:e_latin_empire
}
}
OR = {
culture = { has_cultural_pillar = heritage_byzantine }
culture = culture:greek
culture = {
any_parent_culture_or_above = {
this = culture:greek
}
}
}
}
}
}
}
# Ok, cool. Now let's set some historical priorities.
every_target_title = {
title_province = {
# Constantinople is king.
if = {
limit = { county = title:c_byzantion }
add = 100
}
## We literally do not care about Rome: New York beats OG York, New Rome beats OG Rome.
# Next, we prioritise Anatolia.
else_if = {
limit = { geographical_region = ghw_region_anatolia }
add = 5
}
# Then Greece and the Balkans.
else_if = {
limit = {
OR = {
geographical_region = ghw_region_greece
geographical_region = ghw_region_thessalonika
geographical_region = custom_eastern_balkans
}
}
add = 4.5
}
# Then Syria and co.
else_if = {
limit = { geographical_region = custom_roman_syria_palestina }
add = 4
}
# Egypt.
else_if = {
limit = { geographical_region = custom_roman_aegyptus }
add = 3.5
}
# Mesopotamia.
else_if = {
limit = { geographical_region = custom_roman_mesopotamia }
add = 3
}
# Illyria.
else_if = {
limit = { geographical_region = custom_roman_illyricum }
add = 2.5
}
# North Africa.
else_if = {
limit = {
OR = {
geographical_region = custom_roman_cyrenaica
geographical_region = custom_roman_africa
geographical_region = custom_roman_mauretania
}
}
add = 2
}
# Italy.
else_if = {
limit = { geographical_region = ghw_region_italy }
add = 1.8
}
# Iberia.
else_if = {
limit = { geographical_region = custom_roman_hispania }
add = 1.5
}
# The remainder.
## Anything we missed in the east.
else_if = {
# You say "why not use Eastern Roman Empire borders?", I say, if the players are gonna obsess over historical borders then so too shall the AI.
limit = { geographical_region = custom_theodosian_ere }
add = 1
}
## Then total.
else_if = {
limit = { geographical_region = custom_roman_empire }
add = 0.5
}
# And _otherwise_, we probably don't want to even look at this thing.
## May be overridden by weird preferance combination from other values, but generally we'll hopefully get a fairly insular, naval gazing Rome.
}
}
}
}
muslim_invasions_prefer_nonmuslims_ai_score_value = {
value = 1
if = {
limit = {
scope:attacker.religion = religion:islam_religion
}
every_in_list = {
list = target_titles
if = {
limit = {
OR = {
AND = {
tier = tier_county
NOT = { holder.top_liege.religion = religion:islam_religion }
any_county_province = {
geographical_region = ghw_region_holy_land
}
}
AND = {
tier > tier_county
any_in_de_jure_hierarchy = {
tier = tier_county
NOT = { holder.top_liege.religion = religion:islam_religion }
any_county_province = {
geographical_region = ghw_region_holy_land
}
}
}
}
}
add = 1000
}
else_if = {
limit = {
OR = {
AND = {
tier = tier_county
NOT = { holder.top_liege.religion = religion:islam_religion }
any_county_province = {
OR = {
geographical_region = ghw_region_anatolia
geographical_region = world_india
}
}
}
AND = {
tier > tier_county
any_in_de_jure_hierarchy = {
tier = tier_county
NOT = { holder.top_liege.religion = religion:islam_religion }
any_county_province = {
OR = {
geographical_region = ghw_region_anatolia
geographical_region = world_india
}
}
}
}
}
}
add = 200
}
else_if = {
limit = {
OR = {
AND = {
tier = tier_county
NOT = { holder.top_liege.religion = religion:islam_religion }
}
AND = {
tier > tier_county
any_in_de_jure_hierarchy = {
tier = tier_county
NOT = { holder.top_liege.religion = religion:islam_religion }
}
}
}
}
add = 2
}
}
}
}
# Raid for captives
raid_for_captives_ai_score_value = {
value = 10
scope:attacker = {
if = {
limit = {
piety < 0
}
add = 15
}
if = {
limit = {
ai_zeal >= medium_positive_ai_value
piety < 500
}
add = 5
}
if = {
limit = {
ai_zeal >= very_high_positive_ai_value
}
add = ai_zeal
}
if = {
limit = {
piety > 500
}
multiply = 0.5
}
if = {
limit = {
ai_zeal < 0
NOT = {
piety < -100
}
}
multiply = 0
}
}
}
# Artifact wars
relic_artifact_war_ai_score_value = {
value = 10
scope:attacker = {
if = {
limit = {
ai_greed > 0
}
add = {
value = ai_greed
divide = 2
}
}
if = {
limit = {
ai_zeal > 0
}
add = ai_zeal
}
}
}
artifact_war_ai_score_value = {
value = 10
scope:attacker = {
if = {
limit = {
ai_greed > 0
}
add = {
value = ai_greed
divide = 2
}
}
if = {
limit = {
ai_vengefulness > 0
}
add = ai_vengefulness
}
}
}
#############
# Vassalization CB
#############
vassalize_default_size = 4
vassalize_growth_per_innovation = 3
vassalization_size_limit = {
value = vassalize_default_size
scope:attacker = {
if = {
limit = {
culture = {
has_innovation = innovation_casus_belli
}
}
add = vassalize_growth_per_innovation
}
if = {
limit = {
culture = {
has_innovation = innovation_chronicle_writing
}
}
add = vassalize_growth_per_innovation
}
if = {
limit = {
culture = {
has_innovation = innovation_divine_right
}
}
add = vassalize_growth_per_innovation
}
if = {
limit = {
culture = {
has_innovation = innovation_rightful_ownership
}
}
add = vassalize_growth_per_innovation
}
}
}
#############
# GHWs
#############
third_of_defenders_strength = {
value = ghw_defenders_strength
multiply = 0.33
}
#############
# Siege
#############
siege_base_capture_chance = {
value = 35
# Dynasty Perk: Practiced Kidnappers
if = {
limit = {
scope:occupant = {
exists = dynasty
dynasty = { has_dynasty_perk = fp1_pillage_legacy_3 }
}
}
add = 20
}
# Cultural Parameter: State Ransoms
if = {
limit = {
OR = {
# Either you're involved in large groups of the holding surrendering...
scope:barony.culture = { has_cultural_parameter = knights_die_less_but_are_captured_more }
# ... or you know your liege will pay your ransom.
scope:barony.holder.culture = { has_cultural_parameter = knights_die_less_but_are_captured_more }
}
# Ransoms or no, the primary participants & their heirs know better than to surrender.
character_is_potential_valuable_prisoner = no
# And independent characters likewise have no incentive.
is_independent_ruler = no
}
add = 50
}
}
raid_base_capture_chance = {
value = 20
if = {
limit = {
exists = root.army_commander
}
# Trait: Viking
if = {
limit = { root.army_commander = { has_trait = viking } }
add = 5
}
# Dynasty Perk: Practiced Kidnappers
if = {
limit = {
exists = root.army_commander.dynasty
root.army_commander.dynasty = { has_dynasty_perk = fp1_pillage_legacy_3 }
}
add = 20
}
}
}
county_control_loss_value = {
value = -40
# Dynasty Perk: No Quarter
if = {
limit = {
root = {
exists = dynasty
dynasty = { has_dynasty_perk = fp1_pillage_legacy_5 }
}
}
add = -40
}
}
raid_county_control_loss_value = {
value = -10
# Dynasty Perk: No Quarter
if = {
limit = {
scope:raider ?= {
exists = dynasty
dynasty = { has_dynasty_perk = fp1_pillage_legacy_5 }
}
}
add = -20
}
}
#############
# CB Costs
#############
scale_10_war_defender_win = {
value = 10
if = {
limit= {
scope:defender.culture = {
has_cultural_parameter = more_fame_for_successful_defensive_wars
}
}
multiply = 2
}
}
######################
# AI Decision Making #
######################
# The two effects below are to be used in combination as "root_military_strength_higher_than_value > target_military_strength_root_value" to check player vs enemy strength
root_military_strength_higher_than_value = { # Once again joe saves the day or erm, script.
value = 0
add = max_military_strength # Add num of troops
if = {
limit = {
any_ally = {
NOT = { has_truce = scope:target_military }
}
}
every_ally = {
limit = {
NOT = { has_truce = scope:target_military }
}
add = max_military_strength
}
}
if = {
limit = { exists = var:ai_strength_multiplier }
multiply = var:ai_strength_multiplier # 1.25 == 25% stronger than, remember to potty train your script and have it remove the variable after usage!!
}
}
target_military_strength_root_value = { # One above calcs player strength (plus multiplier), this one is enemy strenth
value = 0
add = scope:target_military.max_military_strength # this should be a character, probably a top liege
if = {
limit = {
any_ally = {
NOT = { has_truce = root }
}
}
every_ally = {
limit = {
NOT = { has_truce = root }
}
add = max_military_strength
}
}
}
war_attacker_total_strength_value = {
value = 0
every_war_attacker = { add = max_military_strength }
}
war_defender_total_strength_value = {
value = 0
every_war_defender = { add = max_military_strength }
}
war_attacker_total_strength_halved_value = {
value = war_attacker_total_strength_value
divide = 2
}
war_defender_total_strength_halved_value = {
value = war_defender_total_strength_value
divide = 2
}
war_attacker_total_strength_tenth_value = {
value = war_attacker_total_strength_value
divide = 10
}
war_defender_total_strength_tenth_value = {
value = war_defender_total_strength_value
divide = 10
}
war_attacker_total_current_strength_value = {
value = 0
every_war_attacker = { add = current_military_strength }
}
war_defender_total_current_strength_value = {
value = 0
every_war_defender = { add = current_military_strength }
}
war_attacker_total_current_strength_halved_value = {
value = war_attacker_total_current_strength_value
divide = 2
}
war_defender_total_current_strength_halved_value = {
value = war_defender_total_current_strength_value
divide = 2
}
war_attacker_total_current_strength_tenth_value = {
value = war_attacker_total_current_strength_value
divide = 10
}
war_defender_total_current_strength_tenth_value = {
value = war_defender_total_current_strength_value
divide = 10
}
war_attacker_total_current_strength_divided_by_defender_value = {
value = war_attacker_total_current_strength_value
divide = war_defender_total_current_strength_value
round = yes
}
war_defender_total_current_strength_divided_by_attacker_value = {
value = war_defender_total_current_strength_value
divide = war_attacker_total_current_strength_value
round = yes
}
war_total_participants_current_strength_value = {
value = 0
every_war_participant = { add = current_military_strength }
}
total_war_attacker_strength_value = {
value = 0
every_character_war = {
limit = { prev = primary_defender }
every_war_attacker = { add = current_military_strength }
}
}
total_war_enemy_strength_value = {
value = 0
every_war_enemy = { add = current_military_strength }
}

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

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,923 @@
actor_current_military_strength = {
value = {
add = scope:actor.current_military_strength
}
}
recipient_current_military_strength = {
value = {
add = scope:recipient.current_military_strength
}
}
actor_ally_military_strength = {
value = 0
scope:actor = {
every_ally = { add = current_military_strength }
}
}
recipient_ally_military_strength = {
value = 0
scope:recipient = {
every_ally = { add = current_military_strength }
}
}
max_strength_ninety_percent_value = {
value = max_military_strength
multiply = 0.9
}
max_strength_seventy_five_percent_value = {
value = max_military_strength
multiply = 0.9
}
current_strength_ninety_percent_value = {
value = current_military_strength
multiply = 0.9
}
current_strength_seventy_five_percent_value = {
value = current_military_strength
multiply = 0.9
}
current_strength_with_allies_value = {
value = current_military_strength
every_ally = { add = current_military_strength }
}
current_allies_strength_value = {
value = 0
every_ally = { add = current_military_strength }
}
current_strength_with_allies_fifty_percent_value = {
value = current_military_strength
every_ally = { add = current_military_strength }
multiply = 0.5
}
current_strength_with_allies_seventy_five_percent_value = {
value = current_military_strength
every_ally = { add = current_military_strength }
multiply = 0.75
}
recipient_strength_divided_by_actors_value = {
value = 1
add = {
value = scope:recipient.current_military_strength # 1828
scope:recipient = {
every_ally = { add = current_military_strength }
}
divide = {
value = scope:actor.current_military_strength # 1382
scope:actor = {
every_ally = { add = current_military_strength }
}
min = 1
}
# 1828 / 1382 = 1.32
subtract = 1 # 1.32 - 1 = 0.32
multiply = 100 # 0.32 * 100 = 32
max = 50
min = -50
}
max = 20
}
hostage_secondary_recipient_place_in_succession = {
scope:recipient.primary_title = {
if = {
limit = {
place_in_line_of_succession = { target = scope:secondary_recipient value = 1 }
}
add = 4
}
else_if = {
limit = {
place_in_line_of_succession = { target = scope:secondary_recipient value = 2 }
}
add = 3
}
else_if = {
limit = {
place_in_line_of_succession = { target = scope:secondary_recipient value = 3 }
}
add = 2
}
else = { add = 1 }
}
}
hostage_secondary_actor_place_in_succession = {
scope:actor.primary_title = {
if = {
limit = {
place_in_line_of_succession = { target = scope:secondary_actor value = 1 }
}
add = 4
}
else_if = {
limit = {
place_in_line_of_succession = { target = scope:secondary_actor value = 2 }
}
add = 3
}
else_if = {
limit = {
place_in_line_of_succession = { target = scope:secondary_actor value = 3 }
}
add = 2
}
else = { add = 1 }
}
}
demand_hostage_acceptance_value = {
value = 10
if = {
limit = {
NOR = { # Close in power
scope:actor.current_strength_ninety_percent_value > scope:recipient.current_military_strength
scope:actor.current_military_strength < scope:recipient.current_strength_ninety_percent_value
}
}
add = 10
}
}
bp2_yearly_6203_levy_size = {
value = 250
multiply = {
value = 0
add = scope:home_court.primary_title.tier
if = {
limit = {
scope:home_court.culture = {
has_cultural_era_or_later = culture_era_high_medieval
}
}
add = 1
}
else_if = {
limit = {
scope:home_court.culture = {
has_cultural_era_or_later = culture_era_late_medieval
}
}
add = 1
}
subtract = 1
min = 1
}
}
bp2_yearly_6203_skirmishers_size = {
value = 1
multiply = {
value = 0
add = scope:home_court.primary_title.tier
if = {
limit = {
scope:home_court.culture = {
has_cultural_era_or_later = culture_era_high_medieval
}
}
add = 1
}
else_if = {
limit = {
scope:home_court.culture = {
has_cultural_era_or_later = culture_era_late_medieval
}
}
add = 1
}
subtract = 1
min = 1
}
}
# Determine how much Prestige the Warden receives
# root - hostage
# scope:warden - warden
# scope:home_court - home court
hostage_prestige_income_value = {
# Defines
# < 20 - 0.1 per month
# 20-49 - 0.5 per month
# >= 50 - 1 per month
value = 0
if = {
limit = {
# No gain within dynasty
bp2_hostage_benefits_valid_trigger = yes
}
# Dynasty Level Difference
if = {
limit = { bp2_warden_dynasty_renown_lower_trigger = { WARDEN = scope:warden HOME_COURT = home_court } }
add = {
value = scope:home_court.dynasty.dynasty_prestige_level
subtract = scope:warden.dynasty.dynasty_prestige_level
min = 1
multiply = 15
desc = HOSTAGE_DYNASTY_PRESTIGE_LEVEL_DIFFERENCES
}
}
# Tier Difference
if = {
limit = { bp2_warden_title_tier_lower_trigger = { WARDEN = scope:warden HOME_COURT = home_court } }
add = {
value = scope:home_court.primary_title.tier
subtract = scope:warden.primary_title.tier
min = 1
multiply = 15
desc = HOSTAGE_TIER_DIFFERENCES_REASON
}
}
# Prestige Level Difference
if = {
limit = { bp2_warden_prestige_level_lower_trigger = { WARDEN = scope:warden HOME_COURT = home_court } }
add = {
value = scope:home_court.prestige_level
subtract = scope:warden.prestige_level
min = 1
multiply = 15
desc = HOSTAGE_PRESTIGE_DIFFERENCES_REASON
}
}
# Hostage from Liege or above
if = {
limit = {
scope:home_court = { is_liege_or_above_of = scope:warden }
}
add = {
value = 15
desc = HOSTAGE_LIEGE_OF_WARDEN
}
}
if = {
limit = {
scope:warden = { has_character_flag = halved_hostage_prestige_income }
}
add = -25
}
}
}
# Determines how much Piety the Warden receives
# root - hostage
# scope:warden - warden
# scope:home_court - home court
hostage_piety_income_value = {
# Defines
# < 20 - 0.1 per month
# 20-49 - 0.5 per month
# >= 50 - 1 per month
value = 0
if = {
limit = {
# No gain within same dynasty
bp2_hostage_benefits_valid_trigger = yes
# Piety gain only for lower renown or rank
OR = {
bp2_warden_dynasty_renown_lower_trigger = {
WARDEN = scope:warden
HOME_COURT = scope:home_court
}
bp2_warden_title_tier_lower_trigger = {
WARDEN = scope:warden
HOME_COURT = scope:home_court
}
}
}
# Faith Hostility
if = {
limit = { scope:warden.faith != scope:home_court.faith }
if = {
limit = {
scope:warden.faith = {
faith_hostility_level = {
target = scope:home_court.faith
value = faith_hostile_level
}
}
}
add = 10
}
else_if = {
limit = {
scope:warden.faith = {
faith_hostility_level = {
target = scope:home_court.faith
value = faith_evil_level
}
}
}
add = 20
}
}
# Dynasty Renown Difference
if = {
limit = { bp2_warden_dynasty_renown_lower_trigger = { WARDEN = scope:warden HOME_COURT = home_court } }
add = 10
}
# Title Difference
if = {
limit = { bp2_warden_title_tier_lower_trigger = { WARDEN = scope:warden HOME_COURT = home_court } }
add = 10
}
}
}
# Determines how much Renown the Warden's Dynasty receives
# root - hostage
# scope:warden - warden
# scope:home_court - home court
hostage_renown_income_value = {
# Defines
# < 20 - nothing
# 20-49 - 0.25 per month
# >= 50 - 0.5 per month
value = 0
if = {
limit = { bp2_hostage_benefits_valid_trigger = yes } # No gain within same dynasty
# Dynasty Renown Difference
if = {
limit = { bp2_warden_dynasty_renown_lower_trigger = { WARDEN = scope:warden HOME_COURT = home_court } }
add = {
value = scope:home_court.dynasty.dynasty_prestige_level
subtract = scope:warden.dynasty.dynasty_prestige_level
min = 1
multiply = 20
desc = HOSTAGE_DYNASTY_PRESTIGE_LEVEL_DIFFERENCES
}
}
# Title Tier Difference
if = {
limit = { bp2_warden_title_tier_lower_trigger = { WARDEN = scope:warden HOME_COURT = home_court } }
add = {
value = scope:home_court.primary_title.tier
subtract = scope:warden.primary_title.tier
min = 1
multiply = 10
desc = HOSTAGE_TIER_DIFFERENCES_REASON
}
}
}
}
# Sorts hostages by relevance in various character lists
# root - hostage
hostage_value = {
value = 0
# Age inversed, younger is better, over 25 is bad
if = {
limit = { age != 25 }
add = {
value = 25
subtract = age
}
desc = HOSTAGE_AGE_REASON
}
# Bonus for young children
if = {
limit = { age <= 12 }
add = {
value = 10
desc = HOSTAGE_CHILD_REASON
}
}
# Bonus for own children
if = {
limit = { is_child_of = scope:home_court }
add = {
value = 20
desc = HOSTAGE_OWN_CHILD_REASON
}
}
# Bonus for own grandchildren
else_if = {
limit = { is_grandchild_of = scope:home_court }
add = {
value = 10
desc = HOSTAGE_OWN_GRANDCHILD_REASON
}
}
# Line of succession
if = {
limit = { is_heir_of = scope:home_court }
add = {
value = 10
scope:home_court.primary_title = {
if = {
limit = {
place_in_line_of_succession = { target = scope:hostage value = 1 }
}
add = 90
}
else_if = {
limit = {
place_in_line_of_succession = { target = scope:hostage value = 2 }
}
add = 40
}
else_if = {
limit = {
place_in_line_of_succession = { target = scope:hostage value = 3 }
}
add = 15
}
}
desc = HOSTAGE_SUCCESSION_PLACE_REASON
}
}
# Non-inheriting
if = {
limit = {
OR = {
has_trait_with_flag = can_not_marry
switch = {
trigger = is_female
yes = {
scope:home_court = { has_realm_law = male_only_law }
}
no = {
scope:home_court = { has_realm_law = female_only_law }
}
}
}
}
add = {
value = -50
desc = HOSTAGE_RECIPIENT_SEX_REASON
}
}
# Sickly
if = {
limit = {
OR = {
has_trait = sickly
has_weak_physical_health_traits_trigger = yes
has_short_disease_trigger = yes
has_serious_disease_trigger = yes
has_trait = incapable
has_trait = infirm
health <= poor_health
}
}
add = {
value = -25
desc = HOSTAGE_SICK_REASON
}
}
# Bad genes
if = {
limit = {
OR = {
has_trait = physique_bad
has_trait = intellect_bad
has_trait = beauty_bad
has_trait = inbred
}
}
add = {
value = -15
desc = HOSTAGE_BAD_GENES_REASON
}
}
# Good genes/healthy
if = {
limit = {
OR = {
has_trait = physique_good
has_trait = beauty_good
has_trait = intellect_good
has_trait = fecund
}
}
add = {
value = 15
desc = HOSTAGE_GOOD_GENES_REASON
}
}
# Good genes/healthy
if = {
limit = { health >= good_health }
add = {
value = 10
if = {
limit = { health >= excellent_health }
add = 10
}
desc = HOSTAGE_HEALTHY_REASON
}
}
# Dynasty Level Difference
if = {
limit = { bp2_warden_dynasty_renown_lower_trigger = { WARDEN = scope:warden HOME_COURT = scope:home_court } }
add = {
value = scope:home_court.dynasty.dynasty_prestige_level
subtract = scope:warden.dynasty.dynasty_prestige_level
min = 1
multiply = 20
desc = HOSTAGE_RENOWN_DIFFERENCES_REASON
}
}
# Tier Difference
if = {
limit = { bp2_warden_title_tier_lower_trigger = { WARDEN = scope:warden HOME_COURT = scope:home_court } }
add = {
value = scope:home_court.primary_title.tier
subtract = scope:warden.primary_title.tier
min = 1
multiply = 20
desc = HOSTAGE_TIER_DIFFERENCES_REASON
}
}
# Prestige Level Difference
if = {
limit = { bp2_warden_prestige_level_lower_trigger = { WARDEN = scope:warden HOME_COURT = scope:home_court } }
add = {
value = scope:home_court.prestige_level
subtract = scope:warden.prestige_level
min = 1
multiply = 20
desc = HOSTAGE_PRESTIGE_DIFFERENCES_REASON
}
}
# Independence
if = {
limit = {
scope:home_court = { is_independent_ruler = yes }
}
add = {
value = 10
desc = HOSTAGE_HOME_COURT_INDEPENDENT_RULER_REASON
}
}
# Neighboring
if = {
limit = {
scope:home_court = { character_is_land_realm_neighbor = scope:warden }
}
add = {
value = 10
desc = HOSTAGE_HOME_COURT_NEIGHBORING_RULER_REASON
}
}
# Hostage from Liege or above
if = {
limit = {
scope:home_court = { is_liege_or_above_of = scope:warden }
}
add = {
value = 50
desc = HOSTAGE_HOME_COURT_LIEGE_REASON
}
}
}
# Positive actor interaction
interaction_actor_hostage_value = {
value = 0
if = {
limit = { exists = scope:secondary_actor }
scope:actor = { save_temporary_scope_as = home_court }
scope:recipient = { save_temporary_scope_as = warden }
scope:secondary_actor = { save_temporary_scope_as = hostage }
add = scope:hostage.hostage_value
ceiling = yes
}
}
# Negative recipient interaction
interaction_recipient_hostage_value = {
value = 0
if = {
limit = { exists = scope:secondary_recipient }
scope:actor = { save_temporary_scope_as = warden }
scope:recipient = { save_temporary_scope_as = home_court }
scope:secondary_recipient = { save_temporary_scope_as = hostage }
add = scope:hostage.hostage_value
floor = yes
multiply = -1 # Negative as hostage value makes home court more reluctant
}
}
# Positive actor interaction
war_actor_hostage_value = {
value = 0
if = {
limit = { exists = scope:secondary_actor }
scope:actor = { save_temporary_scope_as = home_court }
scope:recipient = { save_temporary_scope_as = warden }
scope:secondary_actor = { save_temporary_scope_as = hostage }
add = scope:hostage.hostage_value
ceiling = yes
}
if = { # Cowardly characters more willing to use hostages
limit = {
exists = scope:warden
scope:warden.ai_boldness < 0
}
add = {
value = scope:warden.ai_boldness
multiply = 0.2
}
desc = HOSTAGE_AI_VALUE_MODIFIER_BOLDNESS
}
if = { # Compassionate characters are less willing to use hostages
limit = {
exists = scope:warden
scope:warden.ai_compassion > 0
}
add = {
value = scope:warden.ai_compassion
multiply = -0.2
}
desc = HOSTAGE_AI_VALUE_MODIFIER_COMPASSION
}
if = { # Greedy characters are more willing to gain but not give hostage
limit = {
exists = scope:warden
scope:warden.ai_greed != 0
}
add = {
value = scope:warden.ai_greed
multiply = 0.2
}
desc = HOSTAGE_AI_VALUE_MODIFIER_GREED
}
if = { # Honorable characters are more willing to use hostages, dishonorable only to take them
limit = {
exists = scope:warden
scope:warden.ai_honor != 0
}
add = {
value = scope:warden.ai_honor
if = {
limit = { scope:warden.ai_honor < 0 }
multiply = -0.2
}
else = { multiply = 0.2 }
}
desc = HOSTAGE_AI_VALUE_MODIFIER_HONOR
}
if = { # Honorable characters are more willing to use hostages, dishonorable only when to take them
limit = {
exists = scope:home_court
scope:home_court.ai_honor > 0
exists = scope:warden
scope:home_court = { is_vassal_of = scope:warden }
scope:warden = { has_realm_law_flag = vassal_refusal_is_treason }
}
add = {
value = scope:home_court.ai_honor
if = {
limit = { scope:warden.ai_honor < 0 }
multiply = -0.2
}
else = { multiply = 0.2 }
}
desc = HOSTAGE_REALM_LAW_REASON
}
if = { # Rational characters are more willing to use hostages
limit = {
exists = scope:warden
scope:warden.ai_rationality != 0
}
add = {
value = scope:warden.ai_rationality
multiply = 0.2
}
desc = HOSTAGE_AI_VALUE_MODIFIER_RATIONALITY
}
if = { # Special trait bonus
limit = {
scope:home_court = { has_trait = education_diplomacy_5 }
}
add = {
value = 50
}
desc = HOSTAGE_HOME_COURT_EDUCATION_REASON
}
divide = 10
min = 1
max = {
value = 15
if = {
limit = {
scope:home_court = { has_trait = education_diplomacy_5 }
}
add = 10
}
}
round = yes
}
# Negative recipient interaction
war_recipient_hostage_value = {
value = 0
if = {
limit = { exists = scope:secondary_recipient }
scope:actor = { save_temporary_scope_as = warden }
scope:recipient = { save_temporary_scope_as = home_court }
scope:secondary_recipient = { save_temporary_scope_as = hostage }
add = scope:hostage.hostage_value
floor = yes
multiply = -1 # Negative as hostage value makes home court more reluctant
}
# -7
if = { # Cowardly characters more willing to use hostages
limit = {
exists = scope:home_court
scope:home_court.ai_boldness < 0
}
add = {
value = scope:home_court.ai_boldness
multiply = -0.2
}
desc = HOSTAGE_AI_VALUE_MODIFIER_BOLDNESS
}
if = { # Compassionate characters are less willing to use hostages
limit = {
exists = scope:home_court
scope:home_court.ai_compassion > 0
}
add = {
value = scope:home_court.ai_compassion
multiply = -0.2
}
desc = HOSTAGE_AI_VALUE_MODIFIER_COMPASSION
}
if = { # Greedy characters are more willing to gain but not give hostage
limit = {
exists = scope:home_court
scope:home_court.ai_greed != 0
}
add = {
value = scope:home_court.ai_greed
multiply = -0.2
}
desc = HOSTAGE_AI_VALUE_MODIFIER_GREED
}
if = { # Honorable characters are more willing to use hostages, dishonorable only to take them
limit = {
exists = scope:home_court
scope:home_court.ai_honor != 0
}
add = {
value = scope:home_court.ai_honor
multiply = 0.2
}
desc = HOSTAGE_AI_VALUE_MODIFIER_HONOR
}
if = { # Honorable characters are more willing to use hostages, dishonorable only when to take them
limit = {
exists = scope:home_court
scope:home_court.ai_honor > 0
exists = scope:warden
scope:home_court = { is_vassal_of = scope:warden }
scope:warden = { has_realm_law_flag = vassal_refusal_is_treason }
}
add = {
value = scope:home_court.ai_honor
multiply = 0.2
}
desc = HOSTAGE_REALM_LAW_REASON
}
if = { # Rational characters are more willing to use hostages
limit = {
exists = scope:home_court
scope:home_court.ai_rationality != 0
}
add = {
value = scope:home_court.ai_rationality
multiply = 0.2
}
desc = HOSTAGE_AI_VALUE_MODIFIER_RATIONALITY
}
divide = 10
max = -1
min = -15
round = yes
}
# Negative recipient interaction
interaction_relative_hostage_value = {
value = 0
add = interaction_actor_hostage_value
subtract = interaction_recipient_hostage_value
round = yes
}
# Negative recipient interaction
call_to_arms_hostage_value = {
home_court = { save_temporary_scope_as = home_court }
warden = { save_temporary_scope_as = warden }
save_temporary_scope_as = hostage
value = hostage_value
}
bp2_hostage_loyalty_hook_chance_value = {
value = 20
# Time - max +35
if = {
limit = {
hostage_duration = { years >= 2 }
}
add = 5
}
if = {
limit = {
hostage_duration = { years >= 4 }
}
add = 5
}
if = {
limit = {
hostage_duration = { years >= 6 }
}
add = 5
}
if = {
limit = {
hostage_duration = { years >= 8 }
}
add = 5
}
if = {
limit = {
hostage_duration = { years >= 10 }
}
add = 10
}
if = {
limit = {
hostage_duration = { years >= 14 }
}
add = 10
}
# Traits - max +30
if = {
limit = { has_trait = loyal }
add = 10
}
else_if = {
limit = { has_trait = disloyal }
add = -10
}
if = {
limit = { has_trait = trusting }
add = 10
}
else_if = {
limit = { has_trait = paranoid }
add = -10
}
if = {
limit = { has_trait = just }
add = 10
}
else_if = {
limit = { has_trait = arbitrary }
add = -10
}
# Opinion - max +33
if = {
limit = { exists = scope:warden_opinion }
add = {
value = scope:warden_opinion
multiply = 0.33
}
}
}
hostage_adulthood_retained_halved_prestige_duration_value = 10
offer_hostage_military_strength_value = {
value = current_military_strength
multiply = 1.5
}
demand_hostage_military_strength_value = {
value = current_military_strength
multiply = 0.65
}
hostage_tier_check_value = {
value = highest_held_title_tier
subtract = 1
min = tier_county
}

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,204 @@
wayfarer_the_real_threat_value = {
value = 1
if = {
limit = { is_landed = yes }
add = {
add = 100
multiply = primary_title.tier
}
}
if = {
limit = { has_relation_rival = root }
add = 100
}
if = {
limit = { is_close_family_of = root }
add = 100
}
if = {
limit = { has_any_court_position = yes }
add = 10
}
}
max_regiment_count_plus_one = {
value = maa_regiments_max_count
add = 1
}
battle_poi_number_value = {
value = 3500
if = {
limit = {
current_year > 1400
}
multiply = 6
}
else_if = {
limit = {
current_year > 1300
}
multiply = 5
}
else_if = {
limit = {
current_year > 1200
}
multiply = 4
}
else_if = {
limit = {
current_year > 1100
}
multiply = 3
}
else_if = {
limit = {
current_year > 1000
}
multiply = 2
}
}
inspection_levy_reward_value = {
value = 150
multiply = {
value = root.highest_held_title_tier
subtract = 1
}
multiply = {
value = current_year
subtract = 900
divide = 100
floor = yes
}
min = 100
max = 2000
}
extra_building_resources_value = {
value = 0
if = {
limit = {
has_variable = extra_building_resources
}
add = var:extra_building_resources
}
min = 1
desc = MODIFIER_DEFINITION_EXTRA_BUILDING_RESOURCES
}
court_brewmaster_multiplier = {
value = 1
if = {
limit = {
any_court_position_holder = {
type = court_brewmaster_court_position
aptitude = {
court_position = court_brewmaster_court_position
value >= 4
}
}
}
multiply = 1.25
}
else_if = {
limit = {
any_court_position_holder = {
type = court_brewmaster_court_position
aptitude = {
court_position = court_brewmaster_court_position
value >= 3
}
}
}
multiply = 1.2
}
else_if = {
limit = {
any_court_position_holder = {
type = court_brewmaster_court_position
aptitude = {
court_position = court_brewmaster_court_position
value >= 2
}
}
}
multiply = 1.15
}
else_if = {
limit = {
any_court_position_holder = {
type = court_brewmaster_court_position
aptitude = {
court_position = court_brewmaster_court_position
value >= 1
}
}
}
multiply = 1.1
}
else_if = {
limit = {
any_court_position_holder = {
type = court_brewmaster_court_position
}
}
multiply = 1.05
}
}
brewery_counter_value = {
value = current_year
scope:brewery_county ?= {
subtract = var:brewery_counter_var
}
}
brewery_counter_25 = {
value = current_year
subtract = var:brewery_counter_var
divide = 25
floor = yes
multiply = 25
}
church_investment_value = {
value = current_year
subtract = var:church_investment_year_var
divide = 2
ceiling = yes
min = 1
desc = MODIFIER_DEFINITION_CHURCH_INVESTMENTS
}
of_the_people_perk_value = {
value = 0
add = diplomacy
multiply = 10
min = 50
}
bosporan_kingdom_modifier_scale_value = {
value = 1
every_house_member = {
every_held_title = {
limit = {
tier = tier_county
title_province = { geographical_region = black_sea_coast_region }
}
add = 1
}
}
max = 15
desc = MODIFIER_DEFINITION_BOSPORAN_KINGDOM
}

View file

@ -0,0 +1,756 @@
# Dependencies:
# _basic_values.txt
# When their health drop too low and they're slated for death, a character will die within 15-50 days (based on DEATH_MAXIMUM_DELAY , DEATH_MINIMUM_DELAY and DEATH_CHECK_INTERVAL in defines)
######################
# Diseases
######################
#### TREATMENT PROCESS SPEED ###
#The speed should most likely be under the minimum delay between health check and death DEATH_MINIMUM_DELAY (15)
court_physician_search_min = 7
court_physician_search_max = 10
physician_treatment_delay_ruler_min = 2
physician_treatment_delay_ruler_max = 4
physician_treatment_delay_subject_min = 6 #Subject span should be after ruler span so ruler's own treatment is always first
physician_treatment_delay_subject_max = 15
### RECOVERY TIMES ###
minimum_recovery_time = 51 #Needs to be higher than 50 (the longest amount of days between health change and death, so that a character can't recover before they're slated to be checked for death)
ill_recovery_min = minimum_recovery_time
ill_recovery_max = 365
pneumonic_recovery_min = minimum_recovery_time
pneumonic_recovery_max = 250
gout_ridden_recovery_min = { #1 year
value = minimum_recovery_time
add = 314
}
gout_ridden_recovery_max = 10950 #30 years
smallpox_min_recovery_time = minimum_recovery_time
smallpox_max_recovery_time = 150
bubonic_plague_min_recovery_time = minimum_recovery_time
bubonic_plague_max_recovery_time = 150
measles_min_recovery_time = minimum_recovery_time
measles_max_recovery_time = 100
dysentery_min_recovery_time = minimum_recovery_time
dysentery_max_recovery_time = 100
ergotism_min_recovery_time = minimum_recovery_time
ergotism_max_recovery_time = 150
### CONTAGION ###
smallpox_contagion_min = 15 #If there is a physician, the character should be likely to meet them before first spread
smallpox_contagion_max = 65
bubonic_plague_contagion_min = 15 #If there is a physician, the character should be likely to meet them before first spread
bubonic_plague_contagion_max = 45 #Shorter than smallpox because you die faster
physician_contagion_prevention_value = {
add = physician_base_skill_factor #Between 1 for average skill and 3 for high skill
if = {
limit = {
AND = {
has_trait = lifestyle_physician
has_trait_xp = {
trait = lifestyle_physician
value >= 100
}
}
}
multiply = 2
}
else_if = {
limit = {
OR = {
AND = {
has_trait = lifestyle_physician
has_trait_xp = {
trait = lifestyle_physician
value >= 50
}
}
AND = {
has_trait = lifestyle_mystic
has_trait_xp = {
trait = lifestyle_mystic
value >= 100
}
}
}
}
multiply = 1.5
}
else_if = {
limit = {
OR = {
has_trait = lifestyle_physician
AND = {
has_trait = lifestyle_mystic
has_trait_xp = {
trait = lifestyle_mystic
value >= 50
}
}
has_trait = lifestyle_herbalist
}
}
multiply = 1.3
}
else_if = {
limit = {
has_trait = lifestyle_mystic
}
multiply = 1.1
}
max = 7.5
}
#####################
# Treatments
#####################
######################
# Court Physician
######################
high_skill_court_physician_cost = {
value = medium_gold_value
if = {
limit = {
has_perk = anatomical_studies_perk
}
multiply = 0.5
}
}
low_skill_court_physician_cost = {
value = minor_gold_value
if = {
limit = {
has_perk = anatomical_studies_perk
}
multiply = 0.5
}
}
physician_base_skill_factor = {
# 1 for an average learning skill character without traits
# 0.2 min for low learning
# ~3 for high skill character without traits
add = learning
divide = average_skill_rating #At average skill rating, we have a factor of 1
if = {
limit = { learning >= high_skill_rating } #At high skill rating, they become 30% better
multiply = 1.3
}
min = 0.2
}
physician_safe_treatment_skill_factor = {
# 1 for an average learning skill character without traits
# 0.2 min for low learning
# ~3 for high skill character without traits
# ~12 for high skill character with best trait (physician_3)
value = physician_base_skill_factor
if = {
limit = {
AND = {
has_trait = lifestyle_physician
has_trait_xp = {
trait = lifestyle_physician
value >= 100
}
}
}
multiply = 4
}
else_if = {
limit = {
OR = {
AND = {
has_trait = lifestyle_physician
has_trait_xp = {
trait = lifestyle_physician
value >= 50
}
}
AND = {
has_trait = lifestyle_mystic
has_trait_xp = {
trait = lifestyle_mystic
value >= 100
}
}
}
}
multiply = 2
}
else_if = {
limit = {
OR = {
has_trait = lifestyle_physician
AND = {
has_trait = lifestyle_mystic
has_trait_xp = {
trait = lifestyle_mystic
value >= 50
}
}
has_trait = lifestyle_herbalist
}
}
multiply = 1.5
}
else_if = {
limit = {
has_trait = lifestyle_mystic
}
multiply = 1.2
}
if = {
limit = {
liege ?= {
domicile ?= {
has_domicile_building_or_higher = bath_04
}
}
}
multiply = 1.4
}
else_if = {
limit = {
liege ?= {
domicile ?= {
has_domicile_building_or_higher = bath_01
}
}
}
multiply = 1.2
}
if = {
limit = {
exists = liege
liege = { has_perk = anatomical_studies_perk }
}
multiply = 2
}
}
#################
# Weight
################
#These values are used to calculate the target weight that characters will trend towards once every three years
underweight_threshold = 0
overweight_threshold = 0
feast_weight_modifier_value = {
add = 5
# You have a lot of very desirable food
if = {
limit = {
scope:activity.activity_host = {
has_royal_court = yes
has_dlc_feature = royal_court
amenity_level = {
type = court_food_quality
value >= 5
}
}
}
add = 3
}
# You have a lot of food in general
else_if = {
limit = {
scope:activity.activity_host = {
has_royal_court = yes
has_dlc_feature = royal_court
amenity_level = {
type = court_food_quality
value >= 3
}
}
}
add = 2
}
# It's a smaller amount of food, but it's still a feast
else_if = {
limit = {
scope:activity.activity_host = {
has_royal_court = yes
has_dlc_feature = royal_court
amenity_level = {
type = court_food_quality
value <= 1
}
}
}
add = -1
}
}
hunt_weight_modifier_value = -4
cake_shaft_modifier_value = 4
character_weight_base_value = {
add = 0
#Any modifiers that will affect weight?
if = {
limit = {
is_ai = yes # Players gaining weight is handled through health.5004
has_character_modifier = gaining_weight_modifier
}
add = 35
}
if = {
limit = {
is_ai = yes # Players losing weight is handled through health.5005
has_character_modifier = losing_weight_modifier
}
add = -35
}
if = {
limit = {
has_character_modifier = fasting_bad_modifier
}
add = -10
}
#Do you have a food taster? For some reason your plate is always weirdly empty since you employed them...
if = {
limit = {
employs_court_position = food_taster_court_position
}
add = -5
}
#Any activities attended/other things that will affect weight?
if = {
limit = {
has_variable = character_weight_variable
}
add = var:character_weight_variable
}
# PRISON/STARVATION
if = {
limit = {
is_imprisoned = yes
}
if = {
limit = {
is_in_prison_type = dungeon
}
add = -75
}
else = {
add = -30
}
}
# DISEASE
if = {
limit = {
has_trait = consumption
}
add = -75
}
if = {
limit = {
has_trait = cancer
}
add = -50
}
if = {
limit = {
has_trait = great_pox
}
add = -35
}
if = {
limit = {
has_trait = leper
}
add = -15
}
# Court amenities, weight gain from court_food_quality
if = {
limit = {
has_royal_court = yes
has_dlc_feature = royal_court
court_owner = {
amenity_level = { type = court_food_quality value = 3 }
}
}
add = 3
}
else_if = {
limit = {
has_royal_court = yes
has_dlc_feature = royal_court
court_owner = {
amenity_level = { type = court_food_quality value = 4 }
}
}
add = 5
}
else_if = {
limit = {
has_royal_court = yes
has_dlc_feature = royal_court
court_owner = {
amenity_level = { type = court_food_quality value = 5 }
}
}
add = 7
}
########
#Trait check
########
#ADD
if = {
limit = { has_trait = gluttonous }
add = 50
}
if = {
limit = { has_trait = comfort_eater }
add = 25
}
if = {
limit = { has_trait = drunkard }
add = 20
}
if = {
limit = { has_trait = hashishiyah }
add = 20
}
if = {
limit = { has_trait = lazy }
add = 10
}
if = {
limit = { has_trait = greedy }
add = 10
}
if = {
limit = { has_trait = calm }
add = 10
}
if = {
limit = { has_trait = trusting }
add = 10
}
if = {
limit = { has_trait = gregarious }
add = 10
}
if = {
limit = { has_trait = patient }
add = 5
}
if = {
limit = { has_trait = arrogant }
add = 5
}
if = {
limit = { has_trait = ambitious }
add = 5
}
if = {
limit = {
has_trait = lifestyle_reveler
}
add = 5
if = {
limit = {
has_trait_xp = {
trait = lifestyle_reveler
value >= 100
}
}
add = 15
}
else_if = {
limit = {
has_trait_xp = {
trait = lifestyle_reveler
value >= 50
}
}
add = 10
}
}
#SUBTRACT
if = {
limit = { has_trait = shy }
add = -5
}
if = {
limit = { has_trait = zealous }
add = -5
}
if = {
limit = { has_trait = craven }
add = -5
}
if = {
limit = { has_trait = impatient }
add = -10
}
if = {
limit = { has_trait = fickle}
add = -10
}
if = {
limit = { has_trait = vengeful }
add = -10
}
if = {
limit = { has_trait = wrathful }
add = -10
}
if = {
limit = { has_trait = humble }
add = -10
}
if = {
limit = { has_trait = content }
add = -15
}
if = {
limit = { has_trait = generous }
add = -15
}
if = {
limit = { has_trait = diligent }
add = -15 # Further 'moderation' impact below.
}
if = {
limit = { has_trait = temperate }
add = -20 # Further 'moderation' impact below.
}
if = {
limit = { has_trait = reclusive }
add = -20
}
if = {
limit = { has_trait = paranoid }
add = -25
}
if = {
limit = { has_trait = inappetetic }
add = -50
}
# MODERATION - reduces weight if overweight, and increases it if underweight
if = {
limit = {
has_trait = athletic
}
multiply = 0.8
}
if = {
limit = {
has_trait = whole_of_body
}
multiply = 0.75
}
if = {
limit = { is_very_young_character = yes }
multiply = 0.33
}
if = {
limit = { is_young_character = yes }
multiply = 0.66
}
if = {
limit = { is_aging_character = yes }
multiply = 1.5
}
if = {
limit = {
has_trait = physique_good_1
}
multiply = 0.9
}
if = {
limit = {
has_trait = physique_good_2
}
multiply = 0.8
}
if = {
limit = {
has_trait = physique_good_3
}
multiply = 0.7
}
if = {
limit = {
has_trait = temperate
}
multiply = 0.9
}
if = {
limit = {
has_trait = diligent
}
multiply = 0.9
}
#Bad physique has the opposite effect, making you skew even further towards extremes
if = {
limit = {
has_trait = physique_bad_1
}
multiply = 1.1
}
if = {
limit = {
has_trait = physique_bad_2
}
multiply = 1.2
}
if = {
limit = {
has_trait = physique_bad_3
}
multiply = 1.3
}
}
base_weight_plus = {
add = base_weight
add = 10
}
base_weight_minus = {
add = base_weight
add = -10
}
#The actual value that will be looked at
character_weight_target_value = {
add = character_weight_base_value
#To even the numbers out some if you have "good" and/or active traits
if = {
limit = {
OR = {
character_weight_base_value < base_weight_minus
character_weight_base_value > base_weight_plus
}
}
if = {
limit = { #You weigh too little
character_weight_base_value < base_weight_minus
}
if = {
limit = { has_trait = lifestyle_hunter }
add = 2
if = {
limit = {
hunt_lifestyle_track_greater_equal_trigger = { TRACK = hunter GREATER_EQUAL = 50 }
}
add = 2
}
if = {
limit = {
hunt_lifestyle_track_greater_equal_trigger = { TRACK = hunter GREATER_EQUAL = 100 }
}
add = 2
}
}
if = {
limit = {
has_lifestyle = martial_lifestyle
}
add = 10
}
}
else = { #You weigh too much
if = {
limit = { has_trait = lifestyle_hunter }
if = {
limit = {
hunt_lifestyle_track_greater_equal_trigger = { TRACK = hunter GREATER_EQUAL = 50 }
}
add = -2
}
if = {
limit = {
hunt_lifestyle_track_greater_equal_trigger = { TRACK = hunter GREATER_EQUAL = 100 }
}
add = -2
}
else = {
add = -2
}
}
if = {
limit = {
has_lifestyle = martial_lifestyle
}
add = -10
}
}
}
}
# Pregnancy
pregnancy_month = {
value = pregnancy_days
divide = 30
floor = yes
min = 1
}
vigorous_sex_age_difference_value = {
value = age
subtract = 25
}
harm_event_random_list_low_odd_success_value = 40
harm_event_random_list_low_odd_failure_value = 60
harm_event_random_list_medium_odd_success_value = 60
harm_event_random_list_medium_odd_failure_value = 40
harm_event_random_list_high_odd_success_value = 70
harm_event_random_list_high_odd_failure_value = 30

View file

@ -0,0 +1,44 @@

#Central Asia Decision values
greatest_of_khans_target_counties = 100
invite_claimants_decision_prestige_value = {
if = {
limit = { highest_held_title_tier = tier_empire }
add = monumental_prestige_value
}
else_if = {
limit = { highest_held_title_tier = tier_kingdom }
add = massive_prestige_value
}
else_if = {
limit = { highest_held_title_tier = tier_duchy }
add = major_prestige_value
}
else_if = {
limit = { highest_held_title_tier = tier_county }
add = medium_prestige_value
}
}
# Adopt Feudalism
convert_to_feudalism_development_requirement = {
value = 10
if = {
limit = {
holder = {
any_neighboring_top_liege_realm_owner = {
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
}
}
}
}
subtract = 5
}
}
convert_whole_realm_to_feudalism_west_african_pagan_decision_vassal_count_value = 6
convert_whole_realm_to_feudalism_west_african_pagan_decision_wa_capital_development_value = terrible_development_level

View file

@ -0,0 +1,10 @@
feudalize_tribal_holding_interaction_cost = {
value = 500
if = {
limit = {
is_ai = yes
capital_province = { has_holding_type = tribal_holding }
}
add = -250
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,838 @@
##################
# Foreign Affairs
##################
# Foreign Affairs opinion base modifier
chancellor_foreign_affairs_opinion_base = {
add = diplomacy
divide = 2
}
# Bonus to opinion from Adaptive Traditions
chancellor_foreign_affairs_opinion_max_perk_bonus_modifier = {
add = chancellor_foreign_affairs_opinion_base
multiply = {
add = adaptive_traditions_perk_impact_percent
divide = 100
}
}
# Bonus to opinion from Bureaucrats
chancellor_foreign_affairs_opinion_max_erudition_modifier = {
add = chancellor_foreign_affairs_opinion_base
multiply = {
add = erudition_legacy_5_percentage
divide = 100
}
}
# Bonus to opinion from Family Business
chancellor_foreign_affairs_opinion_max_family_business_modifier = {
add = chancellor_foreign_affairs_opinion_base
multiply = {
add = family_business_councillors_percentage
divide = 100
}
}
# Bonus to opinion from FP3 Consulted House Member
chancellor_foreign_affairs_opinion_max_consulted_house_modifier = {
add = chancellor_foreign_affairs_opinion_base
multiply = {
add = consulted_house_councillors_percentage
divide = 100
}
}
# Bonus to opinion from Astounding Presence
chancellor_foreign_affairs_opinion_max_court_fashion_modifier = {
add = chancellor_foreign_affairs_opinion_base
multiply = {
add = 10
divide = 100
}
}
# Calculated max opinion
chancellor_foreign_affairs_opinion_max = {
add = chancellor_foreign_affairs_opinion_base
# Add bonus from Clerical Justification:
if = {
limit = {
scope:councillor_liege = { has_perk = adaptive_traditions_perk }
}
add = chancellor_foreign_affairs_opinion_max_perk_bonus_modifier
}
# Add bonus from Bureaucrats
if = {
limit = {
councillor_liege_has_erudition_legacy_5_perk = yes
}
add = chancellor_foreign_affairs_opinion_max_erudition_modifier
}
# Add bonus from Family Business
if = {
limit = {
councillor_liege_has_family_business_bonus = yes
}
add = chancellor_foreign_affairs_opinion_max_family_business_modifier
}
# Add bonus from FP3 Consulted House
if = {
limit = {
councillor_liege_has_consulted_house_bonus = yes
}
add = chancellor_foreign_affairs_opinion_max_consulted_house_modifier
}
# Add bonus from Astounding Presence
if = {
limit = {
scope:councillor_liege = { has_character_modifier = court_fashion_foreign_modifier }
}
add = chancellor_foreign_affairs_opinion_max_court_fashion_modifier
}
}
# Set to max for AI, or gradual scale for players
chancellor_foreign_affairs_realm_opinion_scale = {
add = 0
if = {
limit = {
scope:councillor_liege = {
is_independent_ruler = no
is_ai = yes
}
}
add = chancellor_foreign_affairs_opinion_max
}
else_if = {
limit = {
scope:councillor_liege = {
is_independent_ruler = no
has_variable = chancellor_foreign_affairs_opinion_value
}
}
add = liege.var:chancellor_foreign_affairs_opinion_value
}
}
chancellor_foreign_affairs_independent_opinion_scale = {
add = 0
if = {
limit = {
scope:councillor_liege = {
is_ai = yes
is_independent_ruler = yes
}
}
add = chancellor_foreign_affairs_opinion_max
}
else_if = {
limit = {
scope:councillor_liege = {
is_independent_ruler = yes
has_variable = chancellor_foreign_affairs_opinion_value
}
}
add = liege.var:chancellor_foreign_affairs_opinion_value
}
}
# Calculate monthly increase
chancellor_foreign_affairs_monthly_increase = {
add = chancellor_foreign_affairs_opinion_max
divide = 24
}
### Prestige gain
# Base prestige gain scale
chancellor_foreign_affairs_prestige_gain_base = {
add = diplomacy
divide = 20
}
# Adaptive Traditions bonus
chancellor_foreign_affairs_prestige_gain_perk_bonus_modifier = {
if = {
limit = { scope:councillor_liege = { has_perk = adaptive_traditions_perk } }
add = chancellor_foreign_affairs_prestige_gain_base
multiply = {
value = adaptive_traditions_perk_impact_percent
divide = 100
}
}
}
# Bureaucrats bonus
chancellor_foreign_affairs_prestige_gain_erudition_modifier = {
if = {
limit = { councillor_liege_has_erudition_legacy_5_perk = yes }
add = chancellor_foreign_affairs_prestige_gain_base
multiply = {
add = erudition_legacy_5_percentage
divide = 100
}
}
}
# Family Business bonus
chancellor_foreign_affairs_prestige_gain_family_business_modifier = {
if = {
limit = { councillor_liege_has_family_business_bonus = yes }
add = chancellor_foreign_affairs_prestige_gain_base
multiply = {
add = family_business_councillors_percentage
divide = 100
}
}
}
# FP3 Consulted House bonus
chancellor_foreign_affairs_prestige_gain_consulted_house_modifier = {
if = {
limit = { councillor_liege_has_consulted_house_bonus = yes }
add = chancellor_foreign_affairs_prestige_gain_base
multiply = {
add = consulted_house_councillors_percentage
divide = 100
}
}
}
# Total prestige gained per month through foreign affairs, including all modifiers
chancellor_foreign_affairs_prestige_total = {
add = chancellor_foreign_affairs_prestige_gain_base
add = chancellor_foreign_affairs_prestige_gain_perk_bonus_modifier
add = chancellor_foreign_affairs_prestige_gain_erudition_modifier
add = chancellor_foreign_affairs_prestige_gain_family_business_modifier
add = chancellor_foreign_affairs_prestige_gain_consulted_house_modifier
}
####################
# Domestic Affairs
####################
chancellor_domestic_affairs_opinion_base = {
add = diplomacy
divide = 2
}
chancellor_domestic_affairs_opinion_chains_of_loyalty_bonus = {
add = chancellor_domestic_affairs_opinion_base
multiply = {
add = chains_of_loyalty_percentage
divide = 100
}
}
chancellor_domestic_affairs_opinion_erudition_bonus = {
add = chancellor_domestic_affairs_opinion_base
multiply = {
add = erudition_legacy_5_percentage
divide = 100
}
}
chancellor_domestic_affairs_opinion_family_business_bonus = {
add = chancellor_domestic_affairs_opinion_base
multiply = {
add = family_business_councillors_percentage
divide = 100
}
}
chancellor_domestic_affairs_opinion_consulted_house_bonus = {
add = chancellor_domestic_affairs_opinion_base
multiply = {
add = consulted_house_councillors_percentage
divide = 100
}
}
chancellor_domestic_affairs_opinion_pandidakterion_bonus = {
add = chancellor_domestic_affairs_opinion_base
multiply = {
add = 20
divide = 100
}
}
chancellor_domestic_affairs_opinion_food_bonus = {
add = chancellor_domestic_affairs_opinion_base
multiply = {
add = 15
divide = 100
}
}
chancellor_domestic_affairs_opinion_cupbearer_bonus = {
add = chancellor_domestic_affairs_opinion_base
multiply = {
add = 20
divide = 100
}
}
chancellor_domestic_affairs_opinion_max = {
add = chancellor_domestic_affairs_opinion_base
if = {
limit = {
scope:councillor_liege = { has_perk = chains_of_loyalty_perk }
}
add = chancellor_domestic_affairs_opinion_chains_of_loyalty_bonus
}
if = {
limit = {
councillor_liege_has_erudition_legacy_5_perk = yes
}
add = chancellor_domestic_affairs_opinion_erudition_bonus
}
if = {
limit = {
councillor_liege_has_family_business_bonus = yes
}
add = chancellor_domestic_affairs_opinion_family_business_bonus
}
if = {
limit = {
councillor_liege_has_consulted_house_bonus = yes
}
add = chancellor_domestic_affairs_opinion_consulted_house_bonus
}
if = {
limit = {
scope:councillor_liege = {
has_title = title:c_byzantion
title:c_byzantion = { has_county_modifier = pandidakterion_university_modifier }
}
}
add = chancellor_domestic_affairs_opinion_pandidakterion_bonus
}
if = {
limit = {
scope:councillor_liege = {
has_character_flag = food_improves_opinion
}
}
add = chancellor_domestic_affairs_opinion_food_bonus
}
}
chancellor_domestic_affairs_opinion_scale = {
value = 0
if = {
limit = {
scope:councillor_liege = {
is_ai = yes
is_independent_ruler = yes
}
}
add = chancellor_domestic_affairs_opinion_max
}
else_if = {
limit = {
scope:councillor_liege = { has_variable = chancellor_domestic_affairs_opinion_value }
}
add = scope:councillor_liege.var:chancellor_domestic_affairs_opinion_value
}
}
chancellor_domestic_affairs_monthly_increase = {
add = chancellor_domestic_affairs_opinion_max
divide = 24
}
chancellor_domestic_affairs_tyranny_base = {
add = diplomacy
#multiply = 2
min = 1
}
chancellor_domestic_affairs_tyranny_chains_of_loyalty_bonus = {
value = 0
if = {
limit = {
scope:councillor_liege = { has_perk = chains_of_loyalty_perk }
}
add = {
value = chancellor_domestic_affairs_tyranny_base
multiply = {
add = chains_of_loyalty_percentage
divide = 100
}
}
}
}
chancellor_domestic_affairs_tyranny_erudition_bonus = {
value = 0
if = {
limit = {
councillor_liege_has_erudition_legacy_5_perk = yes
}
add = {
value = chancellor_domestic_affairs_tyranny_base
multiply = {
add = erudition_legacy_5_percentage
divide = 100
}
}
}
}
chancellor_domestic_affairs_tyranny_family_business_bonus = {
value = 0
if = {
limit = {
councillor_liege_has_family_business_bonus = yes
}
add = {
value = chancellor_domestic_affairs_tyranny_base
multiply = {
add = family_business_councillors_percentage
divide = 100
}
}
}
}
chancellor_domestic_affairs_tyranny_consulted_house_bonus = {
value = 0
if = {
limit = {
councillor_liege_has_consulted_house_bonus = yes
}
add = {
value = chancellor_domestic_affairs_tyranny_base
multiply = {
add = consulted_house_councillors_percentage
divide = 100
}
}
}
}
chancellor_domestic_affairs_tyranny_food_bonus = {
value = 0
if = {
limit = {
scope:councillor_liege = {
has_character_flag = food_improves_opinion
}
}
add = {
value = chancellor_domestic_affairs_tyranny_base
multiply = {
add = 10
divide = 100
}
}
}
}
chancellor_domestic_affairs_tyranny_total = {
add = chancellor_domestic_affairs_tyranny_base
add = chancellor_domestic_affairs_tyranny_chains_of_loyalty_bonus
add = chancellor_domestic_affairs_tyranny_erudition_bonus
add = chancellor_domestic_affairs_tyranny_family_business_bonus
add = chancellor_domestic_affairs_tyranny_consulted_house_bonus
add = chancellor_domestic_affairs_tyranny_food_bonus
}
#####################
# Integrate Title
#####################
chancellor_integrate_title_current_progress = {
value = 0
if = {
limit = { exists = scope:county }
add = scope:county.active_de_jure_drift_progress
}
}
chancellor_integrate_title_progress_gain = {
add = diplomacy
multiply = 0.035
}
chancellor_integrate_title_erudition_bonus = {
add = chancellor_integrate_title_progress_gain
multiply = family_business_councillors_percentage
divide = 100
}
chancellor_integrate_title_family_business_bonus = {
add = chancellor_integrate_title_progress_gain
multiply = family_business_councillors_percentage
divide = 100
}
chancellor_integrate_title_consulted_house_bonus = {
add = chancellor_integrate_title_progress_gain
multiply = consulted_house_councillors_percentage
divide = 100
}
# Relation impact
chancellor_integrate_title_monthly_increase_friend_bonus = {
value = chancellor_integrate_title_progress_gain
multiply = {
add = council_friend_impact_percentage
divide = 100
}
}
chancellor_integrate_title_monthly_increase_best_friend_bonus = {
value = chancellor_integrate_title_progress_gain
multiply = {
add = council_best_friend_impact_percentage
divide = 100
}
}
chancellor_integrate_title_monthly_increase_rival_bonus = {
value = chancellor_integrate_title_progress_gain
multiply = {
add = council_rival_impact_percentage
divide = 100
}
}
chancellor_integrate_title_monthly_increase_nemesis_bonus = {
value = chancellor_integrate_title_progress_gain
multiply = {
add = council_nemesis_impact_percentage
divide = 100
}
}
chancellor_integrate_title_contextual_bonuses = {
# Relation Bonuses/Penalties
if = { # Friend
limit = {
scope:councillor_liege = {
has_relation_friend = scope:councillor
NOT = { has_relation_best_friend = scope:councillor }
}
}
add = {
value = scope:councillor.chancellor_integrate_title_monthly_increase_friend_bonus
desc = COUNCILLOR_IS_YOUR_FRIEND
}
}
if = { # Best Friend
limit = {
scope:councillor_liege = {
has_relation_best_friend = scope:councillor
}
}
add = {
value = scope:councillor.chancellor_integrate_title_monthly_increase_best_friend_bonus
desc = COUNCILLOR_IS_YOUR_BEST_FRIEND
}
}
if = { # Rival
limit = {
scope:councillor_liege = {
has_relation_rival = scope:councillor
NOT = { has_relation_nemesis = scope:councillor }
}
}
add = {
value = scope:councillor.chancellor_integrate_title_monthly_increase_rival_bonus
desc = COUNCILLOR_IS_YOUR_RIVAL
}
}
if = { # Nemesis
limit = {
scope:councillor_liege = {
has_relation_nemesis = scope:councillor
}
}
add = {
value = scope:councillor.chancellor_integrate_title_monthly_increase_nemesis_bonus
desc = COUNCILLOR_IS_YOUR_NEMESIS
}
}
if = {
limit = {
councillor_liege_has_erudition_legacy_5_perk = yes
}
add = {
value = scope:councillor.chancellor_integrate_title_erudition_bonus
desc = INTEGRATE_TITLE_DYNASTY_PERK_BONUS_VALUE
}
}
if = {
limit = {
councillor_liege_has_family_business_bonus = yes
}
add = {
value = scope:councillor.chancellor_integrate_title_family_business_bonus
desc = FAMILY_BUSINESS_BONUS_VALUE
}
}
if = {
limit = {
councillor_liege_has_consulted_house_bonus = yes
}
add = {
value = scope:councillor.chancellor_integrate_title_consulted_house_bonus
desc = CONSULTED_HOUSE_BONUS_VALUE
}
}
# EP3 Promote Integration
if = {
limit = {
scope:county = { has_county_modifier = improve_de_jure_integration_modifier }
scope:councillor_liege = scope:county.holder.top_liege
}
add = {
value = chancellor_integrate_title_consulted_house_bonus
desc = improve_de_jure_integration_modifier
}
}
# EP3 Admin Emperor Bonus
if = {
limit = { # Task instigator is admin top liege
scope:councillor_liege = {
is_independent_ruler = yes
government_allows = administrative
}
}
add = {
value = chancellor_integrate_title_admin_top_liege_bonus
desc = chancellor_integrate_title_admin_top_liege_bonus_desc
}
}
# EP3 Admin Realm County Bonus
if = {
limit = { # Task target is de jure part of an admin empire/kingdom
NOT = {
scope:councillor_liege = { government_allows = administrative }
}
trigger_if = {
limit = { exists = scope:county.empire.holder }
scope:county.empire.holder = { government_allows = administrative }
}
trigger_else = {
scope:county.kingdom.holder ?= {
is_independent_ruler = yes
government_allows = administrative
}
}
}
add = {
value = chancellor_integrate_title_admin_target_bonus
desc = chancellor_integrate_title_admin_target_bonus_desc
}
}
}
#####################
# Bestow Royal Favor
#####################
chancellor_bestow_royal_favor_base = 5
chancellor_bestow_royal_favor_monthly_change = {
value = {
add = scope:councillor.diplomacy
}
}
chancellor_bestow_royal_favor_progress_gain = {
add = diplomacy
multiply = 0.5
}
chancellor_bestow_royal_favor_opinion_increase_per_success_base = {
add = {
value = scope:councillor.diplomacy
multiply = 0.3
min = 1
max = 10
ceiling = yes
}
}
chancellor_bestow_royal_favor_opinion_increase_per_success_grandeur = {
add = {
value = scope:councillor_liege.court_grandeur_current
multiply = 0.05
min = 1
max = 10
ceiling = yes
}
}
chancellor_bestow_royal_favor_opinion_gain_erudition_bonus = {
if = {
limit = { councillor_liege_has_erudition_legacy_5_perk = yes }
add = chancellor_bestow_royal_favor_opinion_increase_per_success_base
multiply = {
add = erudition_legacy_5_percentage
divide = 100
}
round = yes
}
}
chancellor_bestow_royal_favor_opinion_gain_family_business_bonus = {
if = {
limit = { councillor_liege_has_family_business_bonus = yes }
add = chancellor_bestow_royal_favor_opinion_increase_per_success_base
multiply = {
add = erudition_legacy_5_percentage
divide = 100
}
round = yes
}
}
chancellor_bestow_royal_favor_opinion_gain_consulted_house_bonus = {
if = {
limit = { councillor_liege_has_consulted_house_bonus = yes }
add = chancellor_bestow_royal_favor_opinion_increase_per_success_base
multiply = {
add = consulted_house_councillors_percentage
divide = 100
}
round = yes
}
}
chancellor_bestow_royal_favor_opinion_increase_per_success = {
add = chancellor_bestow_royal_favor_opinion_increase_per_success_base
add = chancellor_bestow_royal_favor_opinion_increase_per_success_grandeur
add = chancellor_bestow_royal_favor_opinion_gain_erudition_bonus
add = chancellor_bestow_royal_favor_opinion_gain_family_business_bonus
add = chancellor_bestow_royal_favor_opinion_gain_consulted_house_bonus
}
# Base prestige gain scale
chancellor_bestow_royal_favor_prestige_gain_base = {
add = scope:councillor.diplomacy
divide = 5
ceiling = yes
divide = 10
}
# Vassal's base prestige gain scale (static so we can add a character modifier)
chancellor_bestow_royal_favor_prestige_gain_base_vassal = {
add = 0.5
}
chancellor_bestow_favor_prestige_gain_erudition_modifier = {
if = {
limit = { councillor_liege_has_erudition_legacy_5_perk = yes }
add = chancellor_bestow_royal_favor_prestige_gain_base
multiply = {
add = erudition_legacy_5_percentage
divide = 100
}
}
}
chancellor_bestow_favor_prestige_gain_family_business_modifier = {
if = {
limit = { councillor_liege_has_family_business_bonus = yes }
add = chancellor_bestow_royal_favor_prestige_gain_base
multiply = {
add = family_business_councillors_percentage
divide = 100
}
}
}
chancellor_bestow_favor_prestige_gain_consulted_house_modifier = {
if = {
limit = { councillor_liege_has_consulted_house_bonus = yes }
add = chancellor_bestow_royal_favor_prestige_gain_base
multiply = {
add = consulted_house_councillors_percentage
divide = 100
}
}
}
chancellor_bestow_royal_favor_prestige_total = {
add = chancellor_bestow_royal_favor_prestige_gain_base
add = chancellor_bestow_favor_prestige_gain_erudition_modifier
add = chancellor_bestow_favor_prestige_gain_family_business_modifier
add = chancellor_bestow_favor_prestige_gain_consulted_house_modifier
}
# Relation impact
chancellor_bestow_royal_favor_base_total = {
add = chancellor_bestow_royal_favor_base
add = chancellor_bestow_royal_favor_monthly_change
}
chancellor_bestow_royal_favor_monthly_increase_friend_bonus = {
value = chancellor_bestow_royal_favor_base_total
multiply = {
add = council_friend_impact_percentage
divide = 100
}
}
chancellor_bestow_royal_favor_monthly_increase_best_friend_bonus = {
value = chancellor_bestow_royal_favor_base_total
multiply = {
add = council_best_friend_impact_percentage
divide = 100
}
}
chancellor_bestow_royal_favor_monthly_increase_rival_bonus = {
value = chancellor_bestow_royal_favor_base_total
multiply = {
add = council_rival_impact_percentage
divide = 100
}
}
chancellor_bestow_royal_favor_monthly_increase_nemesis_bonus = {
value = chancellor_bestow_royal_favor_base_total
multiply = {
add = council_nemesis_impact_percentage
divide = 100
}
}
### Learn on the Job modifier
chancellor_learn_on_the_job_scale = {
value = 0
if = {
limit = {
exists = liege
liege = { has_perk = learn_on_the_job_perk }
}
add = diplomacy
multiply = {
add = learn_on_the_job_percentage
divide = 100
}
floor = yes
min = 1
}
}
### Reliable House modifier
chancellor_reliable_house_scale = {
value = 0
if = {
limit = {
exists = liege.dynasty
liege.dynasty = { has_dynasty_perk = fp2_coterie_legacy_2 }
house = liege.house
}
add = diplomacy
multiply = {
add = council_reliable_house_percentage
divide = 100
}
floor = yes
min = 1
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,647 @@

######################
# Organize Levies
######################
### Improving Levies
# Base value
marshal_organize_levies_base = {
add = 1
}
marshal_organize_levies_skill_base = {
add = martial
multiply = 2
}
# Erudition bonus
marshal_organize_levies_erudition_bonus = {
if = {
limit = { councillor_liege_has_erudition_legacy_5_perk = yes }
add = {
value = marshal_organize_levies_base
add = marshal_organize_levies_skill_base
multiply = {
add = erudition_legacy_5_percentage
divide = 100
}
}
}
}
# Tradition: Family business
marshal_organize_levies_family_business_bonus = {
if = {
limit = { councillor_liege_has_family_business_bonus = yes }
add = {
value = marshal_organize_levies_base
add = marshal_organize_levies_skill_base
multiply = {
add = family_business_councillors_percentage
divide = 100
}
}
}
}
marshal_organize_levies_consulted_house_bonus = {
if = {
limit = { councillor_liege_has_consulted_house_bonus = yes }
add = {
value = marshal_organize_levies_base
add = marshal_organize_levies_skill_base
multiply = {
add = consulted_house_councillors_percentage
divide = 100
}
}
}
}
marshal_organize_levies_pandidakterion_bonus = {
if = {
limit = {
scope:councillor_liege = {
has_title = title:c_byzantion
title:c_byzantion = { has_county_modifier = pandidakterion_university_modifier }
}
}
add = {
value = marshal_organize_levies_base
add = marshal_organize_levies_skill_base
multiply = {
add = 10
divide = 100
}
}
}
}
# Final value
marshal_organize_levies_modifier_total = {
add = marshal_organize_levies_base
add = marshal_organize_levies_skill_base
add = marshal_organize_levies_erudition_bonus
add = marshal_organize_levies_family_business_bonus
add = marshal_organize_levies_consulted_house_bonus
add = marshal_organize_levies_pandidakterion_bonus
}
### Army maintenance
# Base value
marshal_organize_levies_maintenance_base = {
add = 1
}
marshal_organize_levies_maintenance_skill_base = {
add = martial
}
# Erudition bonus
marshal_organize_levies_maintenance_erudition_bonus = {
if = {
limit = { councillor_liege_has_erudition_legacy_5_perk = yes }
add = {
value = marshal_organize_levies_maintenance_base
add = marshal_organize_levies_maintenance_skill_base
multiply = {
add = erudition_legacy_5_percentage
divide = 100
}
}
}
}
# Tradition: Family business
marshal_organize_levies_maintenance_family_business_bonus = {
if = {
limit = { councillor_liege_has_family_business_bonus = yes }
add = {
value = marshal_organize_levies_maintenance_base
add = marshal_organize_levies_maintenance_skill_base
multiply = {
add = family_business_councillors_percentage
divide = 100
}
}
}
}
# FP3 Consulted House
marshal_organize_levies_maintenance_consulted_house_bonus = {
if = {
limit = { councillor_liege_has_consulted_house_bonus = yes }
add = {
value = marshal_organize_levies_maintenance_base
add = marshal_organize_levies_maintenance_skill_base
multiply = {
add = consulted_house_councillors_percentage
divide = 100
}
}
}
}
task_organize_levies_maintenance_pandidakterion_bonus = {
if = {
limit = {
scope:councillor_liege = {
has_title = title:c_byzantion
title:c_byzantion = { has_county_modifier = pandidakterion_university_modifier }
}
}
add = {
value = marshal_organize_levies_base
add = marshal_organize_levies_skill_base
multiply = {
add = 10
divide = 100
}
}
}
}
# Final value
marshal_organize_levies_maintenance_total = {
add = marshal_organize_levies_maintenance_base
add = marshal_organize_levies_maintenance_skill_base
add = marshal_organize_levies_maintenance_erudition_bonus
add = marshal_organize_levies_maintenance_family_business_bonus
add = marshal_organize_levies_maintenance_consulted_house_bonus
add = task_organize_levies_maintenance_pandidakterion_bonus
}
########################
# Train Commanders
########################
### Overtime Boost MaA
# Base modifier
marshal_maa_overtime_boost_base = {
add = martial
}
# Max value
marshal_maa_overtime_boost_max = {
add = martial
}
# Monthly Increase
marshal_maa_overtime_boost_monthly_increase = {
add = 1
}
# Current
marshal_maa_overtime_boost_scale = {
add = 0
if = {
limit = {
has_variable = marshal_maa_overtime_boost
}
add = var:marshal_maa_overtime_boost
}
}
## Boost Knights
marshal_knights_overtime_boost_scale = {
add = 0
if = {
limit = {
has_variable = marshal_maa_overtime_boost
}
add = var:marshal_maa_overtime_boost
}
}
### Improve commanders
# Base value
marshal_train_commanders_monthly_chance_value_base = {
add = martial
divide = 2
}
# Erudition value
marshal_train_commanders_monthly_chance_erudition_bonus = {
add = marshal_train_commanders_monthly_chance_value_base
multiply = erudition_legacy_5_percentage
divide = 100
}
# Family Business
marshal_train_commanders_monthly_chance_family_business_bonus = {
add = marshal_train_commanders_monthly_chance_value_base
multiply = family_business_councillors_percentage
divide = 100
}
# FP3 Consulted House
marshal_train_commanders_monthly_chance_consulted_house_bonus = {
add = marshal_train_commanders_monthly_chance_value_base
multiply = consulted_house_councillors_percentage
divide = 100
}
# Master of Horse
marshal_train_commanders_monthly_chance_master_of_horse_bonus = {
add = marshal_train_commanders_monthly_chance_value_base
multiply = 10
divide = 100
}
# Total value
marshal_train_commanders_monthly_chance_value = {
value = marshal_train_commanders_monthly_chance_value_base
if = {
limit = {
councillor_liege_has_erudition_legacy_5_perk = yes
}
add = marshal_train_commanders_monthly_chance_erudition_bonus
}
if = {
limit = {
councillor_liege_has_family_business_bonus = yes
}
add = marshal_train_commanders_monthly_chance_family_business_bonus
}
if = {
limit = {
councillor_liege_has_consulted_house_bonus = yes
}
add = marshal_train_commanders_monthly_chance_consulted_house_bonus
}
if = {
limit = {
scope:councillor_liege = {
OR = {
has_character_modifier = employer_booner_master_of_horse_2_modifier
has_character_modifier = employer_booner_master_of_horse_3_modifier
}
}
}
add = marshal_train_commanders_monthly_chance_master_of_horse_bonus
}
}
task_supress_crime_progress = {
add = martial
divide = 10
}
################################
# Increase Control
################################
marshal_increase_control_full_progress = {
if = {
limit = { exists = scope:county }
add = scope:county.monthly_county_control_change
}
}
marshal_increase_control_current_progress = {
value = 0
if = {
limit = { exists = scope:county }
add = scope:county.county_control
}
}
marshal_increase_control_base = 0.2
marshal_increase_county_control_monthly_change = {
add = martial
divide = 30
}
marshal_increase_control_base_total = {
add = marshal_increase_control_base
add = marshal_increase_county_control_monthly_change
}
marshal_increase_control_monthly_increase_friend_bonus = {
if = {
limit = {
scope:councillor_liege = {
has_relation_friend = scope:councillor
NOT = { has_relation_best_friend = scope:councillor }
}
}
add = {
value = marshal_increase_control_base_total
multiply = {
value = council_friend_impact_percentage
divide = 100
}
}
}
}
marshal_increase_control_monthly_increase_best_friend_bonus = {
if = {
limit = {
scope:councillor_liege = {
has_relation_best_friend = scope:councillor
}
}
add = {
value = marshal_increase_control_base_total
multiply = {
value = council_best_friend_impact_percentage
divide = 100
}
}
}
}
marshal_increase_control_monthly_increase_rival_bonus = {
if = {
limit = {
scope:councillor_liege = {
has_relation_rival = scope:councillor
NOT = { has_relation_nemesis = scope:councillor }
}
}
add = {
value = marshal_increase_control_base_total
multiply = {
value = council_rival_impact_percentage
divide = 100
}
}
}
}
marshal_increase_control_monthly_increase_nemesis_bonus = {
if = {
limit = {
scope:councillor_liege = {
has_relation_nemesis = scope:councillor
}
}
add = {
value = marshal_increase_control_base_total
multiply = {
value = council_nemesis_impact_percentage
divide = 100
}
}
}
}
marshal_increase_county_control_perk_bonus_monthly_change = {
value = 0
if = {
limit = {
exists = liege
liege = { has_perk = strict_organization_perk }
}
add = marshal_increase_control_base_total
multiply = {
add = strict_organization_percentage
divide = 100
}
}
}
marshal_increase_county_control_erudition_bonus_monthly_change = {
value = 0
add = marshal_increase_control_base_total
multiply = {
add = erudition_legacy_5_percentage
divide = 100
}
}
marshal_increase_county_control_family_business_bonus_monthly_change = {
value = 0
add = marshal_increase_control_base_total
multiply = {
add = family_business_councillors_percentage
divide = 100
}
}
marshal_increase_county_control_consulted_house_bonus_monthly_change = {
value = 0
add = marshal_increase_control_base_total
multiply = {
add = consulted_house_councillors_percentage
divide = 100
}
}
marshal_increase_county_control_experience_bonus_monthly_change = {
value = 0
add = marshal_increase_control_base_total
multiply = {
add = 10
divide = 100
}
}
marshal_increase_control_total = {
value = marshal_increase_control_base
add = marshal_increase_county_control_monthly_change
add = marshal_increase_control_monthly_increase_friend_bonus
add = marshal_increase_control_monthly_increase_best_friend_bonus
add = marshal_increase_control_monthly_increase_rival_bonus
add = marshal_increase_control_monthly_increase_nemesis_bonus
add = marshal_increase_county_control_perk_bonus_monthly_change
if = {
limit = {
councillor_liege_has_erudition_legacy_5_perk = yes
}
add = marshal_increase_county_control_erudition_bonus_monthly_change
}
if = {
limit = {
councillor_liege_has_family_business_bonus = yes
}
add = marshal_increase_county_control_family_business_bonus_monthly_change
}
if = {
limit = {
has_character_modifier = event_bonus_to_county_control
}
add = marshal_increase_county_control_experience_bonus_monthly_change
}
}
marshal_councillor_county_corruption_value = {
add = martial
divide = 5
}
marshal_county_county_corruption_value = {
if = {
limit = { exists = scope:county }
add = scope:county.county_control
divide = 5
}
}
marshal_remove_county_corruption_chance = {
add = martial
if = {
limit = { exists = scope:county }
add = {
value = scope:county.county_control
}
}
divide = 5
}
marshal_learn_on_the_job_scale = {
value = 0
if = {
limit = {
liege = { has_perk = learn_on_the_job_perk }
}
add = martial
multiply = {
add = learn_on_the_job_percentage
divide = 100
}
floor = yes
min = 1
}
}
marshal_scheme_overtime_boost_scale = {
add = 0
if = {
limit = {
has_variable = marshal_overtime_decrease
}
subtract = var:marshal_overtime_decrease
}
}
# Monthly Increase
marshal_overtime_boost_monthly_increase = {
add = martial
multiply = 0.1
floor = yes
min = 0.1
}
marshal_overtime_decrease_monthly_increase = {
subtract = martial
multiply = 0.05
}
# Max value
marshal_overtime_boost_base = {
add = martial
multiply = 2
}
marshal_manage_guards_max_erudition_bonus = {
if = {
limit = { councillor_liege_has_erudition_legacy_5_perk = yes }
add = marshal_overtime_boost_base
multiply = {
add = erudition_legacy_5_percentage
divide = 100
}
}
}
marshal_manage_guards_max_family_business_bonus = {
if = {
limit = { councillor_liege_has_family_business_bonus = yes }
add = marshal_overtime_boost_base
multiply = {
add = family_business_councillors_percentage
divide = 100
}
}
}
marshal_manage_guards_max_consulted_house_bonus = {
if = {
limit = { councillor_liege_has_consulted_house_bonus = yes }
add = marshal_overtime_boost_base
multiply = {
add = consulted_house_councillors_percentage
divide = 100
}
}
}
marshal_overtime_boost_max = {
add = marshal_overtime_boost_base
add = marshal_manage_guards_max_erudition_bonus
add = marshal_manage_guards_max_family_business_bonus
add = marshal_manage_guards_max_consulted_house_bonus
}
marshal_overtime_boost_scale = {
value = 0
if = {
limit = {
scope:councillor_liege = {
is_ai = yes
is_independent_ruler = yes
}
}
add = marshal_overtime_boost_max
}
else_if = {
limit = {
scope:councillor_liege = { has_variable = marshal_overtime_boost }
}
add = liege.var:marshal_overtime_boost
}
}
marshal_overtime_decrease_base = {
subtract = martial
multiply = 2
floor = yes
min = -40
}
marshal_overtime_decrease_max = {
add = marshal_overtime_decrease_base
subtract = marshal_manage_guards_max_erudition_bonus
subtract = marshal_manage_guards_max_family_business_bonus
subtract = marshal_manage_guards_max_consulted_house_bonus
}
marshal_overtime_decrease_scale = {
value = 0
if = {
limit = {
scope:councillor_liege = {
is_ai = yes
is_independent_ruler = yes
}
}
add = marshal_overtime_decrease_max
}
else_if = {
limit = {
scope:councillor_liege = { has_variable = marshal_overtime_boost }
}
add = liege.var:marshal_overtime_decrease
}
multiply = -1
}
### Reliable House modifier
marshal_reliable_house_scale = {
value = 0
if = {
limit = {
exists = liege.dynasty
liege.dynasty = { has_dynasty_perk = fp2_coterie_legacy_2 }
house = liege.house
}
add = martial
multiply = {
add = council_reliable_house_percentage
divide = 100
}
floor = yes
min = 1
}
}

File diff suppressed because it is too large Load diff