#These values are balanced based on samples taken 2018-11-13. The data is found in the spreadsheet "Ai value divergence & trait compatibility" on the drive.
#Note that they're balanced for adults only.
high_negative_trait_compatibility = -31 #About 8% of characters will have compatibility below this value for average character
medium_negative_trait_compatibility = -16 #About 21% of characters will have compatibility below this value for average character
low_negative_trait_compatibility = -1 #About 43% of characters will have compatibility below this value for average character
neutral_trait_compatibility = 0 # ~20% of chars are neutral towards average character
low_positive_trait_compatibility = 1 # ~38% of chars has compatibility over this value for average character
medium_positive_trait_compatibility = 11 # ~21% of chars has compatibility over this value for average character
high_positive_trait_compatibility = 26 # ~8% of char has compatibility over this value for average character
########################
# ai_values_divergence #
########################
#These are balanced based on samples taken the 2018-03-28. The data is found in the spreadsheet "Ai value divergence" on the drive.
#The values are only intended to be used for adults. Note that they
very_low_ai_values_divergence = 150 #About 10% (>1 to 24%) of character will be at or below this value for the average character.
low_ai_values_divergence = 200 #About 30% (3-57%) of characters will be at or below this value for the average character
medium_ai_values_divergence = 250 #About 52% (10-85%) of characters will be at or below this value for the average character
high_ai_values_divergence = 300 #About 71% (24-85%) of characters will be at or below this value for the average character
very_high_ai_values_divergence = 350 #About 85% (46-98%) of characters will be at or below this value for the average character
#Percentages in parentheses are the observed spans
####################
# Ai value inverse #
####################
high_positive_ai_value_inverse = {
value = 1
divide = high_positive_ai_value
}
high_negative_ai_value_inverse = {
value = 1
divide = high_negative_ai_value
}
###########
# retired #
###########
######################
# ai_value_modifiers #
######################
#For a character with a "high" ai value (see above), the product of ai_value * modifier_scripted_value should be:
#High = 400
#Medium = 200
#Low = 100
#Tiny = 50
#Example: high positive ai value is 40. As high should return the product 400, the high_chance_impact_positive_ai_value should be 10.
high_chance_impact_positive_ai_value = 10
medium_chance_impact_positive_ai_value = 5
low_chance_impact_positive_ai_value = 2.5
tiny_chance_impact_positive_ai_value = 1.25
high_chance_impact_negative_ai_value = -10
medium_chance_impact_negative_ai_value = -5
low_chance_impact_negative_ai_value = -2.5
tiny_chance_impact_negative_ai_value = -1.25
#################
# old ai values #
#################
#Base:
#max: having the top 3 personality traits
#high: having the top 1 (not 100)
#medium: having the top 2nd highest (or slightly higher if traits with this ai value is common)
#low: 10/15/20 (depending on how common it is, this level should be quite common)
low_negative_rationality = -10 #impatient etc. 6 different traits
#There are a lot of lifestyle/physical traits which have big impacts on rationality. Maybe throw the intellect_good_3 +30 and the intellect_bad_3 -30 into the list as the highest ranking traits? Especially important for the positive rationality, as many characters will become more rational with age (if progressing in a lifestyle)
conqueror_safe_spending_gold = { # Conquerors generally want to keep more gold than their war chest maximum around, so they can wage more & longer wars
value = war_chest_gold_maximum
multiply = 2
}
# Calc rough opinion values.
calc_rough_liege_opinion_value = {
if = {
limit = {
opinion = {
target = liege
value >= 95
}
}
add = 100
}
else_if = {
limit = {
opinion = {
target = liege
value >= 90
}
}
add = 95
}
else_if = {
limit = {
opinion = {
target = liege
value >= 85
}
}
add = 90
}
else_if = {
limit = {
opinion = {
target = liege
value >= 80
}
}
add = 85
}
else_if = {
limit = {
opinion = {
target = liege
value >= 75
}
}
add = 80
}
else_if = {
limit = {
opinion = {
target = liege
value >= 70
}
}
add = 75
}
else_if = {
limit = {
opinion = {
target = liege
value >= 65
}
}
add = 70
}
else_if = {
limit = {
opinion = {
target = liege
value >= 60
}
}
add = 65
}
else_if = {
limit = {
opinion = {
target = liege
value >= 55
}
}
add = 60
}
else_if = {
limit = {
opinion = {
target = liege
value >= 50
}
}
add = 55
}
else_if = {
limit = {
opinion = {
target = liege
value >= 45
}
}
add = 50
}
else_if = {
limit = {
opinion = {
target = liege
value >= 40
}
}
add = 45
}
else_if = {
limit = {
opinion = {
target = liege
value >= 35
}
}
add = 40
}
else_if = {
limit = {
opinion = {
target = liege
value >= 30
}
}
add = 35
}
else_if = {
limit = {
opinion = {
target = liege
value >= 25
}
}
add = 30
}
else_if = {
limit = {
opinion = {
target = liege
value >= 20
}
}
add = 25
}
else_if = {
limit = {
opinion = {
target = liege
value >= 15
}
}
add = 20
}
else_if = {
limit = {
opinion = {
target = liege
value >= 10
}
}
add = 15
}
else_if = {
limit = {
opinion = {
target = liege
value >= 5
}
}
add = 10
}
else_if = {
limit = {
opinion = {
target = liege
value >= 0
}
}
add = 5
}
else_if = {
limit = {
opinion = {
target = liege
value >= -4
}
}
add = 0
}
else_if = {
limit = {
opinion = {
target = liege
value >= -5
}
}
add = -5
}
else_if = {
limit = {
opinion = {
target = liege
value >= -10
}
}
add = -10
}
else_if = {
limit = {
opinion = {
target = liege
value >= -15
}
}
add = -15
}
else_if = {
limit = {
opinion = {
target = liege
value >= -20
}
}
add = -20
}
else_if = {
limit = {
opinion = {
target = liege
value >= -25
}
}
add = -25
}
else_if = {
limit = {
opinion = {
target = liege
value >= -30
}
}
add = -30
}
else_if = {
limit = {
opinion = {
target = liege
value >= -35
}
}
add = -35
}
else_if = {
limit = {
opinion = {
target = liege
value >= -40
}
}
add = -40
}
else_if = {
limit = {
opinion = {
target = liege
value >= -45
}
}
add = -45
}
else_if = {
limit = {
opinion = {
target = liege
value >= -50
}
}
add = -50
}
else_if = {
limit = {
opinion = {
target = liege
value >= -55
}
}
add = -55
}
else_if = {
limit = {
opinion = {
target = liege
value >= -60
}
}
add = -60
}
else_if = {
limit = {
opinion = {
target = liege
value >= -65
}
}
add = -65
}
else_if = {
limit = {
opinion = {
target = liege
value >= -70
}
}
add = -70
}
else_if = {
limit = {
opinion = {
target = liege
value >= -75
}
}
add = -75
}
else_if = {
limit = {
opinion = {
target = liege
value >= -80
}
}
add = -80
}
else_if = {
limit = {
opinion = {
target = liege
value >= -85
}
}
add = -85
}
else_if = {
limit = {
opinion = {
target = liege
value >= -90
}
}
add = -90
}
else_if = {
limit = {
opinion = {
target = liege
value >= -95
}
}
add = -95
}
else_if = {
limit = {
opinion = {
target = liege
value >= -100
}
}
add = -100
}
}
calc_rough_root_opinion_value = {
if = {
limit = {
opinion = {
target = root
value >= 95
}
}
add = 100
}
else_if = {
limit = {
opinion = {
target = root
value >= 90
}
}
add = 95
}
else_if = {
limit = {
opinion = {
target = root
value >= 85
}
}
add = 90
}
else_if = {
limit = {
opinion = {
target = root
value >= 80
}
}
add = 85
}
else_if = {
limit = {
opinion = {
target = root
value >= 75
}
}
add = 80
}
else_if = {
limit = {
opinion = {
target = root
value >= 70
}
}
add = 75
}
else_if = {
limit = {
opinion = {
target = root
value >= 65
}
}
add = 70
}
else_if = {
limit = {
opinion = {
target = root
value >= 60
}
}
add = 65
}
else_if = {
limit = {
opinion = {
target = root
value >= 55
}
}
add = 60
}
else_if = {
limit = {
opinion = {
target = root
value >= 50
}
}
add = 55
}
else_if = {
limit = {
opinion = {
target = root
value >= 45
}
}
add = 50
}
else_if = {
limit = {
opinion = {
target = root
value >= 40
}
}
add = 45
}
else_if = {
limit = {
opinion = {
target = root
value >= 35
}
}
add = 40
}
else_if = {
limit = {
opinion = {
target = root
value >= 30
}
}
add = 35
}
else_if = {
limit = {
opinion = {
target = root
value >= 25
}
}
add = 30
}
else_if = {
limit = {
opinion = {
target = root
value >= 20
}
}
add = 25
}
else_if = {
limit = {
opinion = {
target = root
value >= 15
}
}
add = 20
}
else_if = {
limit = {
opinion = {
target = root
value >= 10
}
}
add = 15
}
else_if = {
limit = {
opinion = {
target = root
value >= 5
}
}
add = 10
}
else_if = {
limit = {
opinion = {
target = root
value >= 0
}
}
add = 5
}
else_if = {
limit = {
opinion = {
target = root
value >= -4
}
}
add = 0
}
else_if = {
limit = {
opinion = {
target = root
value >= -5
}
}
add = -5
}
else_if = {
limit = {
opinion = {
target = root
value >= -10
}
}
add = -10
}
else_if = {
limit = {
opinion = {
target = root
value >= -15
}
}
add = -15
}
else_if = {
limit = {
opinion = {
target = root
value >= -20
}
}
add = -20
}
else_if = {
limit = {
opinion = {
target = root
value >= -25
}
}
add = -25
}
else_if = {
limit = {
opinion = {
target = root
value >= -30
}
}
add = -30
}
else_if = {
limit = {
opinion = {
target = root
value >= -35
}
}
add = -35
}
else_if = {
limit = {
opinion = {
target = root
value >= -40
}
}
add = -40
}
else_if = {
limit = {
opinion = {
target = root
value >= -45
}
}
add = -45
}
else_if = {
limit = {
opinion = {
target = root
value >= -50
}
}
add = -50
}
else_if = {
limit = {
opinion = {
target = root
value >= -55
}
}
add = -55
}
else_if = {
limit = {
opinion = {
target = root
value >= -60
}
}
add = -60
}
else_if = {
limit = {
opinion = {
target = root
value >= -65
}
}
add = -65
}
else_if = {
limit = {
opinion = {
target = root
value >= -70
}
}
add = -70
}
else_if = {
limit = {
opinion = {
target = root
value >= -75
}
}
add = -75
}
else_if = {
limit = {
opinion = {
target = root
value >= -80
}
}
add = -80
}
else_if = {
limit = {
opinion = {
target = root
value >= -85
}
}
add = -85
}
else_if = {
limit = {
opinion = {
target = root
value >= -90
}
}
add = -90
}
else_if = {
limit = {
opinion = {
target = root
value >= -95
}
}
add = -95
}
else_if = {
limit = {
opinion = {
target = root
value >= -100
}
}
add = -100
}
}
calc_rough_opcalc_char_opinion_value = {
if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 95
}
}
add = 100
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 90
}
}
add = 95
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 85
}
}
add = 90
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 80
}
}
add = 85
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 75
}
}
add = 80
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 70
}
}
add = 75
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 65
}
}
add = 70
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 60
}
}
add = 65
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 55
}
}
add = 60
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 50
}
}
add = 55
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 45
}
}
add = 50
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 40
}
}
add = 45
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 35
}
}
add = 40
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 30
}
}
add = 35
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 25
}
}
add = 30
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 20
}
}
add = 25
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 15
}
}
add = 20
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 10
}
}
add = 15
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 5
}
}
add = 10
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= 0
}
}
add = 5
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -4
}
}
add = 0
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -5
}
}
add = -5
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -10
}
}
add = -10
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -15
}
}
add = -15
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -20
}
}
add = -20
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -25
}
}
add = -25
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -30
}
}
add = -30
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -35
}
}
add = -35
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -40
}
}
add = -40
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -45
}
}
add = -45
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -50
}
}
add = -50
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -55
}
}
add = -55
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -60
}
}
add = -60
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -65
}
}
add = -65
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -70
}
}
add = -70
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -75
}
}
add = -75
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -80
}
}
add = -80
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -85
}
}
add = -85
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -90
}
}
add = -90
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -95
}
}
add = -95
}
else_if = {
limit = {
opinion = {
target = scope:opcalc_char
value >= -100
}
}
add = -100
}
}
### Brief: ai_men_at_arms_expense_gold_min
# The AI will quickly try to spend this much of its gold income on MAA
# maintenance. This is referenced in code, so do not rename or remove this
# without talking with a programmer about it.
#
# Value between 0 and 1, where 1 eqivalents using 100% of its income on maa
# maintenance.
#
# Scopes:
# root - character
# AI character evaluating the ideal percentile.
#
ai_men_at_arms_expense_gold_min = {
value = {
value = 0.15
desc = "default value"
}
if = {
limit = {
ai_has_warlike_personality = yes
}
add = {
desc = ai_warlike_personality
value = 0.1
}
}
if = {
limit = {
ai_has_conqueror_personality = yes
}
add = {
desc = ai_conqueror_personality
value = 0.2
}
}
if = {
limit = {
ai_has_cautious_personality = yes
}
add = {
desc = ai_cautious_personality
value = 0.1
}
}
if = {
limit = {
ai_has_economical_boom_personality = yes
}
add = {
desc = ai_economical_boom_personality
value = -0.1
}
}
if = {
limit = {
has_character_flag = vassal_directive_build_maa
vassal_is_valid_and_follows_directive_trigger = { VASSAL = this LIEGE = liege }
}
add = {
desc = ai_directive
value = 0.5
}
}
min = 0
max = 0.9
}
### Brief: ai_men_at_arms_expense_ideal
# The AI will try to spend this much of its gold income on MAA maintenance. It won't
# buy beyond this, but might end up higher due to reduced income. This is
# referenced in code, so do not rename or remove this without talking with a
# programmer about it.
#
# Value between 0 and 1, where 1 eqivalents using 100% of its income on maa