Common folder updating pt 2

This commit is contained in:
trashmasteruni 2025-12-05 12:22:06 +01:00
parent 090f62bc4e
commit 4dae51d80b
433 changed files with 2615 additions and 412268 deletions

View file

@ -1097,7 +1097,7 @@ NCulture = {
# Chance (0..100) to advance with the innovation each month:
# base + from spread + from fascination
INNOVATION_PROGRESS_CHANCE_BASE = 20
INNOVATION_PROGRESS_CHANCE_BASE = 10
INNOVATION_PROGRESS_CHANCE_FROM_SPREAD = 65 # chance bonus to innovation if there is any spread by nearby cultures
INNOVATION_PROGRESS_CHANCE_SPREAD_AND_FASCINATION_MULTIPLIER = 1.5 # multiply Cultural Acceptance (100-based) by this as bonus multiplier if the current spread innovation is ALSO a fascination
# from fascination = base + SKILL_LEVEL_BONUS( max( 0, head relevant skill - HEAD_SKILL_BASE ) )

View file

@ -1,163 +0,0 @@
japan_administrative_government = { # Ritsuryo
government_rules = {
create_cadet_branches = yes
rulers_should_have_dynasty = yes
dynasty_named_realms = no
administrative = yes
legitimacy = yes
landless_playable = yes
use_as_base_on_landed = yes
use_as_base_on_rank_up = yes
inherit_from_dynastic_government = no
sticky_government = yes
house_aspirations = yes
noble_families = yes
deny_powerful_vassal = yes
}
royal_court = any
domicile_type = japanese_manor
main_administrative_tier = county
min_appointment_tier = county
minimum_provincial_maa_tier = duchy
primary_holding = castle_holding
primary_heritages = { heritage_japonic }
valid_holdings = { city_holding temple_citadel_holding }
required_county_holdings = { castle_holding city_holding church_holding }
vassal_contract_group = japan_administrative_vassal
character_modifier = {
# LEVIES & TAXES
japan_feudal_government_tax_contribution_mult = -0.5
japan_feudal_government_levy_contribution_mult = -0.5
garrison_size = -0.5
# MEN-AT-ARMS
men_at_arms_cap = -2
men_at_arms_limit = -2
# KNIGHTS
knight_limit = -5
# VASSALS
vassal_limit = 50 # Kampaku
# DOMAIN
domain_limit_max = 1 # Raised further by manor
domain_tax_mult = 0.3
}
can_get_government = {
has_tgp_dlc_trigger = yes
top_liege = {
OR = {
government_is_japanese_trigger = yes
has_character_flag = tgp_japan_restore_japanese_government_flag
culture = culture:japanese
culture = {
any_parent_culture_or_above = { this = culture:japanese }
}
}
}
}
# The Regent always remains in the same place.
can_move_realm_capital = {
NOT = { primary_title ?= title:e_japan }
}
compatible_government_type_succession = { japan_feudal_government }
# Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player).
flags = {
government_is_japan_administrative
# These flags only exist for loc and in-game descriptions
government_has_influence
government_has_title_men_at_arms
government_has_powerful_families
government_has_county_tier_noble_families
has_special_house_aspirations
government_is_settled
government_uses_domicile_but_not_adventurer
has_unique_government_perks
government_uses_admin_province_obligations
government_has_house_blocs
}
color = { 250 90 150 }
realm_mask_offset = { 0.02 0.072 }
realm_mask_scale = { 0.88 0.88 }
}
japan_feudal_government = { # Soryo
government_rules = {
create_cadet_branches = yes
rulers_should_have_dynasty = yes
dynasty_named_non_independent_landed_rulers = yes
landless_playable = yes
legitimacy = yes
house_aspirations = yes
use_as_base_on_landed = yes
use_as_base_on_rank_up = yes
noble_families = yes
}
royal_court = any
character_modifier = {
# LEVIES & TAXES
japan_administrative_government_tax_contribution_mult = -0.5
japan_administrative_government_levy_contribution_mult = -0.5
garrison_size = -0.5
# VASSALS
vassal_limit = 50 # Shogun
# KNIGHTS
knight_effectiveness_mult = 0.1
knight_limit = 2
# DOMAIN
domain_limit_max = 2 # Raised further by manor
# SAMURAI
archer_cavalry_recruitment_cost_mult = -0.25
heavy_infantry_recruitment_cost_mult = -0.25
}
domicile_type = japanese_manor
primary_holding = castle_holding
primary_heritages = { heritage_japonic }
valid_holdings = { temple_citadel_holding }
required_county_holdings = { castle_holding city_holding church_holding }
vassal_contract_group = japan_feudal_vassal
can_get_government = {
has_tgp_dlc_trigger = yes
}
# The Regent always remains in the same place.
can_move_realm_capital = {
NOT = { primary_title ?= title:e_japan }
}
compatible_government_type_succession = { japan_administrative_government }
ai = {
use_legends = yes
}
# Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player).
flags = {
may_elevate_co_monarch
government_is_japan_feudal
government_has_county_tier_noble_families
has_special_house_aspirations
government_is_settled
government_uses_domicile_but_not_adventurer
has_unique_government_perks
government_has_house_blocs
}
color = { 68 100 250 }
realm_mask_offset = { 0.0 0.075 }
realm_mask_scale = { 0.95 0.95 }
}

View file

@ -303,6 +303,11 @@
# Default is no
#
radiance = no
### Brief: disable_regnal_numbers (bool)
# Will this government disable regnal numbers for titles held by people with the same name
# throughout its history? Default is no.
disable_regnal_numbers = no
}
### mechanic_type ( government type )
@ -441,6 +446,12 @@
#
royal_court = none / any / top_liege
### brief: blocked_subject_courts (government_type)
# prevents any vassals of the listed types from having their own royal court in tandem with the restrictions from royal_court
# if left empty or not present no special restrictions will be set on vassal courts other than those specified by royal_court
#
blocked_subject_courts = { government_type_key ... }
### brief: main_administrative_tier ( enum )
# Title tier that enables most administrative mechanics
# Such as title troops, map modes etc

View file

@ -1,266 +0,0 @@
castle_holding = {
primary_building = castle_01
buildings = {
capital_bureau_01
hospices_01
curtain_walls_01
watchtowers_01
outposts_01
hill_forts_01
ramparts_01
farm_estates_01
cereal_fields_01
paddy_fields_01
pastures_01
peat_quarries_01
hill_farms_01
logging_camps_01
plantations_01
quarries_01
orchards_01
elephant_pens_01
hunting_grounds_01
regimental_grounds_01
barracks_01
military_camps_01
camel_farms_01
stables_01
smiths_01
hillside_grazing_01
warrior_lodges_01
horse_pastures_01
windmills_01
watermills_01
caravanserai_01
workshops_01
wind_furnace_01
powder_magazine_01
common_tradeport_01
hall_of_heroes_01
special_sicilian_parliament_01
special_greenhouse_01
qanats_01
murex_farm_01
waterworks_01
spice_plantation_01
oath_warriors_building_01
oath_faithful_building_01
oath_poor_building_01
monastic_schools_01 # only for the monastic_schools_allowed_in_every_holding_type faith tenet
}
}
tribal_holding = {
primary_building = tribe_01
buildings = {
palisades_01
war_camps_01
longhouses_01
market_villages_01
idjang_forts_01
wantilan_01
kora_kora_yards_01
water_temples_01
stilted_granaries_01
hillside_grazing_01
warrior_lodges_01
horse_pastures_01
common_tradeport_01 # only for trade_ports_enabled_for_tribals culture parameter
oath_warriors_building_01
oath_faithful_building_01
oath_poor_building_01
monastic_schools_01 # only for the monastic_schools_allowed_in_every_holding_type faith tenet
}
}
city_holding = {
primary_building = city_01
buildings = {
hospices_01
outposts_01
farm_estates_01
cereal_fields_01
paddy_fields_01
pastures_01
peat_quarries_01
hill_farms_01
logging_camps_01
plantations_01
quarries_01
orchards_01
elephant_pens_01
hunting_grounds_01
regimental_grounds_01
barracks_01
military_camps_01
camel_farms_01
stables_01
smiths_01
hillside_grazing_01
warrior_lodges_01
horse_pastures_01
windmills_01
watermills_01
caravanserai_01
workshops_01
wind_furnace_01
guild_halls_01
common_tradeport_01
qanats_01
murex_farm_01
waterworks_01
spice_plantation_01
breweries_01
oath_warriors_building_01
oath_faithful_building_01
oath_poor_building_01
monastic_schools_01 # only for the monastic_schools_allowed_in_every_holding_type faith tenet
}
can_be_inherited = yes
}
church_holding = {
primary_building = temple_01
buildings = {
hospices_01
scriptorium_01
outposts_01
farm_estates_01
cereal_fields_01
paddy_fields_01
pastures_01
peat_quarries_01
hill_farms_01
logging_camps_01
plantations_01
quarries_01
orchards_01
elephant_pens_01
hunting_grounds_01
regimental_grounds_01
barracks_01
military_camps_01
camel_farms_01
stables_01
smiths_01
hillside_grazing_01
warrior_lodges_01
horse_pastures_01
windmills_01
watermills_01
caravanserai_01
workshops_01
wind_furnace_01
monastic_schools_01
megalith_01
common_tradeport_01
hall_of_heroes_01
qanats_01
waterworks_01
breweries_01
oath_warriors_building_01
oath_faithful_building_01
oath_poor_building_01
}
can_be_inherited = yes
}
nomad_holding = {
primary_building = nomadic_camp_01
counts_toward_domain_limit_if_disabled = no
can_be_inherited = yes
required_heir_government_types = { nomad_government }
parameters = {
no_buildings
no_levies
county_fertility
}
}
herder_holding = {
primary_building = herder_camp_01
counts_toward_domain_limit_if_disabled = no
can_be_inherited = yes
required_heir_government_types = {
nomad_government
herder_government
}
parameters = {
no_buildings
no_levies
county_fertility
}
}
temple_citadel_holding = {
primary_building = temple_citadel_01
buildings = {
citadel_shrine_01
sacred_pool_01
vihara_halls_01
waterworks_01
spice_plantation_01
capital_bureau_01
scriptorium_01
monastic_schools_01
megalith_01
hospices_01
farm_estates_01
cereal_fields_01
paddy_fields_01
pastures_01
peat_quarries_01
hill_farms_01
logging_camps_01
plantations_01
quarries_01
orchards_01
elephant_pens_01
regimental_grounds_01
barracks_01
military_camps_01
camel_farms_01
stables_01
smiths_01
hillside_grazing_01
warrior_lodges_01
horse_pastures_01
windmills_01
watermills_01
caravanserai_01
workshops_01
wind_furnace_01
powder_magazine_01
common_tradeport_01
hall_of_heroes_01
qanats_01
breweries_01
}
can_be_inherited = yes
}

View file

@ -1,71 +0,0 @@
== Structure ==
name_of_the_holding = {
### brief: primary_building ( key )
# The primary building for this holding
# (will be built when creating a holding of this type)
#
primary_building = city_01
### brief: buildings ( keys, optional )
# First levels of all buildings buildable in the holding
# (doesn't include the primary building)
#
buildings = {
city_market_01
common_shipyard_01
...
}
### brief: can_be_inherited ( bool, optional)
# Can a barony with this holding be inherited?
# Default: yes
#
can_be_inherited = yes/no
### brief: counts_toward_domain_limit_if_disabled ( bool, optional)
# Does a barony with this holding type count toward a ruler's domain
# limit if the holding is disabled?
# Default: yes
#
counts_toward_domain_limit_if_disabled = yes/no
### brief: required_heir_government_types ( array of database keys, optional )
# Which government types are required to inherit a county title with
# this holding built in the capital province when succession occurs?
# If generating a character for county title of this province during succession,
# the first government type in the list will be used.
# Keys are mapped to the government types database: common/governments
# Default: none
#
required_heir_government_types = {
nomad_government
...
}
### brief: parameters ( keys, optional )
# An arbitrary list of parameter keys which can be checked with
# the has_holding_parameter trigger
# Default: none
#
parameters = {
no_buildings
...
}
}
== Modifiers ==
The following modifiers are automatically generated for all holding types:
* <holding_type>_build_speed (example: church_holding_build_speed)
* <holding_type>_build_gold_cost
* <holding_type>_build_piety_cost
* <holding_type>_build_prestige_cost
* <holding_type>_holding_build_speed
* <holding_type>_holding_build_gold_cost
* <holding_type>_holding_build_piety_cost
* <holding_type>_holding_build_prestige_cost
These affect building buildings within such a holding or the holdings themselves.
These work everywhere the more generic version works. E.G., church_holding_build_speed will work everywhere build_speed does.

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -16,8 +16,6 @@
can_title_have = {
can_title_have_law_general_trigger = yes
}
should_start_with = {
}
succession = {
order_of_succession = election
election_type = feudal_elective

File diff suppressed because it is too large Load diff

View file

@ -1,361 +0,0 @@
#####################
# IMPERIAL POLICIES #
#####################
@imperial_policy_laws_cooldown_value = 10
@imperial_policy_cost_value = 500
imperial_policy_laws = {
default = manor_reform_law
cumulative = no
flag = imperial_policy
defense_mobilization_law = {
flag = defense_mobilization_law
can_keep = {
realm_law_use_imperial_policy_trigger = yes
trigger_if = {
limit = { is_independent_ruler = no }
liege = { has_realm_law = defense_mobilization_law }
}
}
can_pass = {
trigger_if = {
limit = {
top_liege = this
}
custom_tooltip = {
text = imperial_policy_laws_cooldown_desc
NOT = { has_variable = imperial_policy_laws_cooldown }
}
}
tgp_japan_defense_mobilization_valid_trigger = yes
}
on_pass = {
## Set cooldown
set_variable = {
name = imperial_policy_laws_cooldown
years = @imperial_policy_laws_cooldown_value
}
tgp_imperial_policy_event_effect = yes
}
modifier = {
same_heritage_county_advantage_add = 5
men_at_arms_maintenance = -0.15
fort_level = 1
hostile_raid_time = 0.15
}
flag = governors_may_recruit_japanese_horse_archers
flag = cheaper_japanese_domicile_military_buildings
pass_cost = {
prestige = @imperial_policy_cost_value
}
ai_will_do = {
value = 250
}
}
disarmament_law = {
flag = disarmament_law
flag = vassal_internal_wars_cost_doubled
flag = japan_administrative_can_build_castles
can_keep = {
realm_law_use_imperial_policy_trigger = yes
trigger_if = {
limit = { is_independent_ruler = no }
liege = { has_realm_law = disarmament_law }
}
}
can_pass = {
trigger_if = {
limit = {
top_liege = this
}
custom_tooltip = {
text = imperial_policy_laws_cooldown_desc
NOT = { has_variable = imperial_policy_laws_cooldown }
}
}
}
on_pass = {
## Set cooldown
set_variable = {
name = imperial_policy_laws_cooldown
years = @imperial_policy_laws_cooldown_value
}
tgp_imperial_policy_event_effect = yes
}
modifier = {
men_at_arms_recruitment_cost = 0.25
japan_feudal_government_vassal_opinion = -15
development_growth_factor = 0.15
}
pass_cost = {
prestige = @imperial_policy_cost_value
}
ai_will_do = {
value = 200
if = {
limit = {
ai_has_warlike_personality = yes
}
value = -50
}
if = {
limit = { government_has_flag = government_is_japan_feudal }
add = -1000
}
}
}
isolation_law = {
flag = isolation_law
flag = better_physician_treatments
can_keep = {
realm_law_use_imperial_policy_trigger = yes
trigger_if = {
limit = { is_independent_ruler = no }
liege = { has_realm_law = isolation_law }
}
}
can_pass = {
trigger_if = {
limit = {
top_liege = this
}
custom_tooltip = {
text = imperial_policy_laws_cooldown_desc
NOT = { has_variable = imperial_policy_laws_cooldown }
}
}
}
on_pass = {
## Set cooldown
set_variable = {
name = imperial_policy_laws_cooldown
years = @imperial_policy_laws_cooldown_value
}
tgp_imperial_policy_event_effect = yes
}
modifier = {
development_growth_factor = -0.15
epidemic_resistance = 15
diplomatic_range_mult = -0.15
}
pass_cost = {
prestige = @imperial_policy_cost_value
}
ai_will_do = {
value = 0
if = {
limit = {
any_realm_county = {
any_county_province = {
any_province_epidemic = {
count >= 1
outbreak_intensity >= apocalyptic
}
}
}
}
add = 200
}
}
}
imperial_expansion_law = {
flag = imperial_expansion_law
flag = cheaper_japanese_domicile_military_buildings
can_keep = {
realm_law_use_imperial_policy_trigger = yes
trigger_if = {
limit = { is_independent_ruler = no }
liege = { has_realm_law = imperial_expansion_law }
}
}
can_pass = {
trigger_if = {
limit = {
top_liege = this
}
custom_tooltip = {
text = imperial_policy_laws_cooldown_desc
NOT = { has_variable = imperial_policy_laws_cooldown }
}
}
tgp_japan_imperial_expansion_internal_peace_trigger = yes
}
on_pass = {
## Set cooldown
set_variable = {
name = imperial_policy_laws_cooldown
years = @imperial_policy_laws_cooldown_value
}
tgp_imperial_policy_event_effect = yes
}
modifier = {
mercenary_hire_cost_mult = -0.15
men_at_arms_recruitment_cost = -0.15
japan_administrative_government_vassal_opinion = -35
travel_danger = 20
}
pass_cost = {
prestige = @imperial_policy_cost_value
}
ai_will_do = {
value = 80
if = {
limit = {
ai_has_warlike_personality = yes
}
add = 50
}
if = {
limit = { government_has_flag = government_is_japan_administrative }
add = -1000
}
}
}
manor_reform_law = {
flag = manor_reform_law
can_keep = {
realm_law_use_imperial_policy_trigger = yes
trigger_if = {
limit = { is_independent_ruler = no }
liege = { has_realm_law = manor_reform_law }
}
}
can_pass = {
trigger_if = {
limit = {
top_liege = this
}
custom_tooltip = {
text = imperial_policy_laws_cooldown_desc
NOT = { has_variable = imperial_policy_laws_cooldown }
}
}
}
on_pass = {
## Set cooldown
set_variable = {
name = imperial_policy_laws_cooldown
years = @imperial_policy_laws_cooldown_value
}
tgp_imperial_policy_event_effect = yes
}
should_start_with = {
realm_law_use_imperial_policy_trigger = yes
}
modifier = {
domicile_build_gold_cost = 0.25
domicile_monthly_influence_mult = -0.25
domicile_build_speed = 0.25
build_gold_cost = -0.15
build_speed = -0.15
japan_administrative_government_vassal_opinion = -15
}
pass_cost = {
prestige = @imperial_policy_cost_value
}
ai_will_do = {
value = 100
if = {
limit = {
ai_has_builder_or_pious_builder_personality = yes
}
add = 25
}
if = {
limit = { government_has_flag = government_is_japan_administrative }
add = -100
}
}
}
bandit_crackdown_law = {
flag = bandit_crackdown_law
can_keep = {
realm_law_use_imperial_policy_trigger = yes
trigger_if = {
limit = { is_independent_ruler = no }
liege = { has_realm_law = bandit_crackdown_law }
}
}
can_pass = {
trigger_if = {
limit = {
top_liege = this
}
custom_tooltip = {
text = imperial_policy_laws_cooldown_desc
NOT = { has_variable = imperial_policy_laws_cooldown }
}
}
}
on_pass = {
## Set cooldown
set_variable = {
name = imperial_policy_laws_cooldown
years = @imperial_policy_laws_cooldown_value
}
tgp_imperial_policy_event_effect = yes
}
modifier = {
city_holding_build_gold_cost = -0.1
barons_and_minor_landholders_opinion = 15
monthly_county_control_growth_factor = 0.05
monthly_county_control_growth_add = 0.2
development_growth_factor = -0.15
travel_danger = -10
}
pass_cost = {
prestige = @imperial_policy_cost_value
}
ai_will_do = {
value = 0
if = {
limit = { capital_county.county_control <= low_county_control }
add = 150
}
}
}
}

View file

@ -1060,7 +1060,13 @@ on_game_start = {
limit = {
game_start_date >= 1067.12.25
}
title:k_england = { set_coa = k_england_norman}
title:k_england = { set_coa = k_england_norman }
}
if = {
limit = {
game_start_date >= 938.1.1
}
title:k_viet = { set_coa = k_dai_viet }
}
### GRANDEUR ###
@ -6374,8 +6380,8 @@ on_game_start_after_lobby = {
add_realm_law_skip_effects = camp_purpose_mercenaries
}
}
## Liang Zhu Quanzhong
character:liang_zhu_1 ?= {
## Zhu Quanzhong
character:zhu_quanzhong_1 ?= {
if = {
limit = {
is_alive = yes
@ -6385,7 +6391,7 @@ on_game_start_after_lobby = {
}
}
## Miyoshi Kiyotsura
character:miyoshi_kiyotsura_1 ?= {
character:japanese_miyoshi_4 ?= {
if = {
limit = {
is_alive = yes
@ -6394,8 +6400,8 @@ on_game_start_after_lobby = {
add_realm_law_skip_effects = camp_purpose_scholars
}
}
## Yang-kil
character:yang_kil_1 ?= {
## Ki Hwon
character:ki_hwon_1 ?= {
if = {
limit = {
is_alive = yes
@ -7687,18 +7693,87 @@ on_game_start_after_lobby = {
set_global_variable = game_has_started
every_independent_ruler = {
# Border War Law setup
if = {
limit = {
has_realm_law_flag = top_liege_not_redirected_to_border_wars_law
}
primary_title = {
set_vassal_wars_are_redirected_to_holder = no
}
}
# Treasury setup for any government using treasury
tgp_treasury_setup_effect = yes
}
# TGP China education track switch
if = {
limit = {
exists = title:h_china.holder
}
title:h_china.holder = {
add_to_list = realm_potential_education_flip_list
}
}
if = {
limit = {
exists = title:e_goryeo.holder
}
title:e_goryeo.holder = {
add_to_list = realm_potential_education_flip_list
}
}
if = {
limit = {
exists = title:k_dali.holder
}
title:k_dali.holder = {
add_to_list = realm_potential_education_flip_list
}
}
if = {
limit = {
exists = title:k_viet.holder
}
title:k_viet.holder = {
add_to_list = realm_potential_education_flip_list
}
}
if = {
limit = {
exists = title:k_xia.holder
}
title:k_xia.holder = {
add_to_list = realm_potential_education_flip_list
}
}
if = {
limit = {
exists = title:e_andong.holder
}
title:e_andong.holder = {
add_to_list = realm_potential_education_flip_list
}
}
every_in_list = {
list = realm_potential_education_flip_list
every_vassal_or_below = {
limit = {
is_ai = yes
OR = {
AND = {
OR = {
vassal_contract_has_flag = celestial_province_military
vassal_contract_has_flag = celestial_province_protectorate
}
has_trait_with_flag = civilian_province
}
AND = {
OR = {
vassal_contract_has_flag = celestial_province_standard
vassal_contract_has_flag = celestial_province_industrial
vassal_contract_has_flag = celestial_province_metropolitan
}
has_trait_with_flag = military_province
}
}
}
tgp_flip_education_track_on_game_start = yes
}
}
}
events = {

View file

@ -35,7 +35,7 @@ on_title_destroyed = {
top_liege = this
administrative_counts_can_be_independent = no
NOT = {
has_government_flag = government_is_special_republic2
has_government_flag = government_is_special_republic
}
NOT = {
any_held_title = {
@ -590,7 +590,6 @@ on_title_gain = {
scope:title = {
has_county_modifier = mpo_siberian_permafrost_modifier_bad
}
culture ?= scope:title.culture
culture ?= { has_cultural_parameter = permafrost_modifier_mechanic }
}
scope:title = {
@ -604,7 +603,6 @@ on_title_gain = {
has_county_modifier = mpo_siberian_permafrost_modifier
}
NOR = {
culture ?= scope:title.culture
culture ?= { has_cultural_parameter = permafrost_modifier_mechanic }
}
}
@ -1045,14 +1043,24 @@ on_title_gain = {
# KING+ TIER TITLES #
#####################
else = {
# Newly formed Hegemon of China should spruce up their council
if = {
limit = { scope:title = title:h_china }
save_scope_as = councillor_liege
fill_the_ministry_effect = yes
}
# Hegemonies cannot have Ceremonial Regents
if = {
limit = {
exists = this
tgp_realm_has_ceremonial_liege_trigger = yes
any_held_title = { exists = var:administrative_ui_special_title }
scope:title.tier = tier_hegemony
}
tgp_destroy_ceremonial_throne_effect = yes
if = {
limit = { has_trait = former_emperor }
remove_trait = former_emperor
}
}
# Ceremonial Liege
if = {
@ -1342,7 +1350,10 @@ on_title_gain = {
# When conquering China - Change to conquest phase
if = {
limit = {
root.house != scope:previous_holder.house
root.dynasty != scope:previous_holder.dynasty
}
if = {
limit = {
is_valid_celestial_dynasty = no
}
situation:dynastic_cycle = {
@ -1351,11 +1362,24 @@ on_title_gain = {
}
}
}
# When inheriting China - Move towards instability/chaotic phase
else_if = {
limit = {
situation:dynastic_cycle ?= {
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
}
}
situation:dynastic_cycle = {
situation_top_sub_region = {
change_phase = { phase = situation_dynastic_cycle_phase_instability }
}
}
}
}
# When inheriting China - Move towards instability/chaotic phase
if = {
limit = {
root.house != scope:previous_holder.house
months_from_game_start > 0 # We check this to avoid potentially triggering this immediately on game start
current_date_is_start_date_trigger = no # We check this to avoid potentially triggering this immediately on game start
}
situation:dynastic_cycle = {
if = {
@ -1364,14 +1388,6 @@ on_title_gain = {
}
trigger_situation_catalyst = catalyst_new_dynasty_inherits
}
else_if = {
limit = {
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
}
situation_top_sub_region = {
change_phase = { phase = situation_dynastic_cycle_phase_instability }
}
}
}
}
# Clear the Strengthen Capital great project cooldown
@ -1429,6 +1445,10 @@ on_title_gain = {
scope:title = title:e_minister_of_works
}
}
# set up the council holder as dejure liege of the ministry title, as this effect is not called with the same scope as council onactions
scope:title.de_jure_liege.holder = {
save_scope_as = councillor_liege
}
# If we get a minister title, make sure we set things up correctly
switch = {
trigger = scope:title
@ -2303,21 +2323,32 @@ on_title_gain = {
primary_title.tier <= scope:title.tier
}
every_vassal = {
if = {
limit = {
culture = { has_cultural_parameter = must_pledge_loyalty_to_liege }
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_has_flag = government_is_japan_feudal
}
NOT = { var:pledge_loyalty_to_liege_grace ?= liege }
NOT = { owns_story_of_type = story_cycle_pledge_loyalty_to_liege_overdue }
}
create_story = story_cycle_pledge_loyalty_to_liege_overdue
random_owned_story = {
type = story_cycle_pledge_loyalty_to_liege_overdue
story:story_cycle_pledge_loyalty_to_liege_overdue = {
set_variable = new_liege_variant
}
}
}
}
else_if = { # if you now have a new liege, and they also follow a culture with the Pay Homage requirement, you must swear continued fealty
limit = {
liege.culture = { has_cultural_parameter = must_pledge_loyalty_to_liege }
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_has_flag = government_is_japan_feudal
}
NOT = { var:pledge_loyalty_to_liege_grace ?= liege }
NOT = { owns_story_of_type = story_cycle_pledge_loyalty_to_liege_overdue }
}
@ -2693,14 +2724,81 @@ on_title_gain = {
is_house_head = no
is_ai = yes
government_is_japanese_trigger = yes
scope:previous_holder = {
is_ai = yes
player_heir = { is_ai = yes }
}
scope:new_holder = {
is_ai = yes
player_heir = { is_ai = yes }
}
house.house_head = {
is_ai = yes
player_heir = { is_ai = yes }
is_vassal_or_below_of = root
}
is_independent_ruler = yes
}
house = { set_house_head = root }
}
if = { # If courtiers get lost between governorship assignments, move them home
limit = {
is_ai = no
government_allows = merit
}
if = {
limit = {
is_landed = yes
}
every_courtier = {
limit = {
location != root.capital_province
is_imprisoned = no
is_travelling = no
is_commanding_army = no
NOR = {
exists = involved_activity
exists = knight_army
}
}
set_location_to_default = yes
}
}
else_if = {
limit = {
exists = domicile.domicile_location
}
every_courtier = {
limit = {
location != root.domicile.domicile_location
is_imprisoned = no
is_travelling = no
is_commanding_army = no
NOR = {
exists = involved_activity
exists = knight_army
}
}
set_location_to_default = yes
}
}
}
# If you take another realm's dynasty-named title, reset its name
if = {
limit = {
is_independent_ruler = yes
government_has_flag = government_is_celestial
scope:title ?= {
tier >= tier_kingdom
has_custom_title_name = yes
this != root.primary_title
}
}
scope:title = {
reset_title_name = yes
}
}
}
events = {
roman_restoration.0005 #New Roman Emperor gets Augustus trait. (old holder, if still alive, loses it)
@ -3455,6 +3553,70 @@ on_title_lost = {
}
}
}
if = { # If courtiers get lost between governorship assignments, move them home
limit = {
is_ai = no
government_allows = merit
}
if = {
limit = {
is_landed = yes
}
every_courtier = {
limit = {
location != root.capital_province
is_imprisoned = no
is_travelling = no
is_commanding_army = no
NOR = {
exists = involved_activity
exists = knight_army
}
}
set_location_to_default = yes
}
}
else_if = {
limit = {
is_landed = no
exists = domicile.domicile_location
}
every_courtier = {
limit = {
location != root.domicile.domicile_location
is_imprisoned = no
is_travelling = no
is_commanding_army = no
NOR = {
exists = involved_activity
exists = knight_army
}
}
set_location_to_default = yes
}
}
}
# Remove manually added Ministers if they're not ministers anymore
if = {
limit = {
NOR = {
primary_title = title:e_minister_chancellor
primary_title = title:e_minister_censor
primary_title = title:e_minister_grand_marshal
primary_title = title:e_minister_of_personnel
primary_title = title:e_minister_of_revenue
primary_title = title:e_minister_of_rites
primary_title = title:e_minister_of_war
primary_title = title:e_minister_of_justice
primary_title = title:e_minister_of_works
}
}
situation:dynastic_cycle = {
remove_manual_participant = prev
}
}
}
}
@ -3953,14 +4115,14 @@ on_vassal_change = {
liege = root # I.e. root is independent
government_has_flag = government_is_administrative
NOT = {
government_has_flag = government_is_special_republic2
government_has_flag = government_is_special_republic
}
}
# And is not of a high enough rank, change government
if = {
limit = {
NOT = {
government_has_flag = government_is_special_republic2
government_has_flag = government_is_special_republic
}
administrative_tier_allows_independence = no
}
@ -3996,11 +4158,14 @@ on_vassal_change = {
### If a minister becomes independent we destroy the ministry title
if = {
limit = {
# independent title
OR = {
liege ?= { tgp_has_access_to_ministry_trigger = no }
this = top_liege
}
any_held_title = {
# has a ministry title that is not being swapped
OR = {
this = title:e_minister_chancellor
this = title:e_minister_censor
@ -4113,6 +4278,10 @@ on_vassal_change = {
}
# TGP end the ceremonial liege
tgp_destroy_ceremonial_throne_effect = yes
if = {
limit = { has_trait = former_emperor }
remove_trait = former_emperor
}
}
# Bloc

View file

@ -2,29 +2,6 @@
# Root does not exist
yearly_global_pulse = {
effect = {
if = {
limit = {
government_allows = administrative
is_house_head = yes
trigger_if = {
# This trigger is intentionally different from the similar effecy in on_title_gain up above. We want all direct vassals of the top liege to have a family title if they can
limit = { government_has_flag = government_has_county_tier_noble_families }
highest_held_title_tier >= tier_county
}
trigger_else = { highest_held_title_tier >= tier_duchy }
NOR = {
any_held_title = { is_noble_family_title = yes }
house = {
any_house_member = {
any_held_title = { is_noble_family_title = yes }
}
}
}
}
create_noble_family_effect = { GOVERNMENT_GIVER = this }
domicile ?= { set_up_domicile_estate_effect = yes }
}
# Historical character spawner
if = {
limit = {
@ -898,29 +875,6 @@ yearly_playable_pulse = {
}
trigger_event = tgp_china_ministry.0100
}
# Border War Law
if = {
limit = {
has_realm_law_flag = top_liege_not_redirected_to_border_wars_law
primary_title = {
are_vassal_wars_redirected_to_holder = yes
}
}
primary_title = {
set_vassal_wars_are_redirected_to_holder = no
}
}
else_if = {
limit = {
has_realm_law_flag = top_liege_redirected_to_border_wars_law
primary_title = {
are_vassal_wars_redirected_to_holder = no
}
}
primary_title = {
set_vassal_wars_are_redirected_to_holder = yes
}
}
}
# Assign or level up court type trait for courtiers in a royal court
if = {
@ -1336,6 +1290,47 @@ yearly_playable_pulse = {
}
set_location_to_default = yes
}
if = { # If courtiers get lost between governorship assignments, move them home
limit = {
government_allows = merit
}
if = {
limit = {
is_landed = yes
}
every_courtier = {
limit = {
location != root.capital_province
is_imprisoned = no
is_travelling = no
is_commanding_army = no
NOR = {
exists = involved_activity
exists = knight_army
}
}
set_location_to_default = yes
}
}
else_if = {
limit = {
exists = domicile.domicile_location
}
every_courtier = {
limit = {
location != root.domicile.domicile_location
is_imprisoned = no
is_travelling = no
is_commanding_army = no
NOR = {
exists = involved_activity
exists = knight_army
}
}
set_location_to_default = yes
}
}
}
if = {
limit = {
NOT = {
@ -2419,7 +2414,7 @@ five_year_everyone_pulse = {
is_married = no
is_lowborn = no
NOT = {
government_has_flag = government_is_republic
government_has_flag = government_is_special_republic
}
can_marry_trigger = yes
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,126 +0,0 @@

#Childhood
childhood_personality_age = 3
childhood_education_start_age = 6
adulthood_start_age = 16
age_plus_1 = {
value = age
add = 1
}
age_plus_3 = {
value = age
add = 3
}
age_plus_5 = {
value = age
add = 5
}
age_plus_10 = {
value = age
add = 10
}
age_plus_25 = {
value = age
add = 25
}
age_minus_1 = {
value = age
subtract = 1
}
age_minus_3 = {
value = age
subtract = 3
}
age_minus_5 = {
value = age
subtract = 5
}
age_minus_10 = {
value = age
subtract = 10
}
age_minus_25 = {
value = age
subtract = 25
}
age_dif_child_up = {
value = age
multiply = 1.4
}
age_dif_child_down = {
value = age
divide = 1.2
}
age_dif_child_up_friend = {
value = age
multiply = 1.3
}
age_dif_child_down_friend = {
value = age
divide = 1.3
}
years_to_adulthood = {
value = adulthood_start_age
subtract = age
min = 0
}
less_than_two_years_to_adulthood_value = {
value = adulthood_start_age
subtract = 2
}
# Calculates the difference between the current scope and scope:comparator, with greater age difference resulting in lower negative numbers. Made to use with ordered lists to find characters close in age.
age_difference = {
value = age
subtract = scope:comparator.age
abs = yes
multiply = -1
}
grand_wedding_timeout = {
value = 3 #please update GRAND_WEDDING_PROMISE_INFO loc if this changes
if = {
limit = {
scope:spouse_1.age <= scope:spouse_2.age
}
add = scope:spouse_1.years_to_adulthood
}
else = {
add = scope:spouse_2.years_to_adulthood
}
}
grand_wedding_timeout_alt = {
value = 3 #please update GRAND_WEDDING_PROMISE_INFO loc if this changes
if = {
limit = {
scope:temp_marriage_scope.age <= scope:temp_marriage_scope.betrothed.age
}
add = scope:temp_marriage_scope.years_to_adulthood
}
else = {
add = scope:temp_marriage_scope.betrothed.years_to_adulthood
}
}
grand_wedding_timeout_notification = {
value = grand_wedding_timeout
multiply = 365
subtract = 1
}
grand_wedding_timeout_notification_alt = {
value = grand_wedding_timeout_alt
multiply = 365
subtract = 1
}

File diff suppressed because it is too large Load diff

View file

@ -1,256 +0,0 @@

low_high_wealth_cutoff = 50 # The mid-point between the minimum wealth of an artifact and the maximum wealth of an artifact. Currently minimum and maximum are 0 and 100, respectively.
reforge_artifact_cost = {
value = { # Base cost is the missing durability - It shouldn't matter how often, or when, you repair an artifact
value = scope:artifact.artifact_max_durability
subtract = scope:artifact.artifact_durability
desc = "BASE"
}
if = { # Multiply base cost with artifact rarity - Except for trinkets
limit = {
scope:artifact = { rarity = illustrious }
}
multiply = {
value = 4
desc = reforge_artifact_durability_desc
}
}
else_if = {
limit = {
scope:artifact = { rarity = famed }
}
multiply = {
value = 3
desc = reforge_artifact_durability_desc
}
}
else_if = {
limit = {
scope:artifact = { rarity = masterwork }
}
multiply = {
value = 2
desc = reforge_artifact_durability_desc
}
}
}
# Used by AI when scoring artifacts for equipping
# Will be added to the score of
# code calculation: quality + wealth + (rarity * NDefines::NInventory::ARTIFACT_RARITY_AI_SCORE_MULT) + Scripted Template ai_score (if artifact has a scripted template)
# The score of this will be added to the score of above
# Best artifact will be selected to be equipped, and only artifacts with scores above 0 will be equipped.
# root: character - owner of the Artifact
# scope:artifact: artifact
# scope:current_weight: is the score from the code calculation
artifact_ai_will_equip_score = {
if = { # To prevent the AI from equipping actively detrimental artifacts
limit = {
exists = scope:artifact
scope:artifact = {
has_variable = cursed_artifact
}
}
add = {
value = -10000
}
}
}
# Used by AI when scoring artifacts for reforging
# Will be added to the score of
# code calculation: quality + wealth + (rarity * NDefines::NInventory::ARTIFACT_RARITY_AI_SCORE_MULT) + Scripted Template ai_score (if artifact has a scripted template)
# The score of this will be added to the score of above
# Best artifact will be selected to be reforged, and only artifacts with scores above 0 will be reforged.
# Only artifacts that are not good enough for equipping, will be considered for reforging
# root: character - owner of the Artifact
# scope:artifact: artifact
# scope:current_weight: is the score from the code calculation
artifact_ai_will_reforge_score = {
if = {
limit = {
scope:artifact = {
artifact_slot_type = miscellaneous
}
}
multiply = {
value = 0
}
}
if = {
limit = {
root = {
gold < 200
}
}
multiply = {
value = 0
}
}
if = {
limit = {
root = {
is_at_war = yes
}
}
multiply = {
value = 0
}
}
}
artifact_rarity = {
value = 1
if = {
limit = { rarity = common }
add = 1
}
else_if = {
limit = { rarity = masterwork }
add = 2
}
else_if = {
limit = { rarity = famed }
add = 3
}
else_if = {
limit = { rarity = illustrious }
add = 4
}
}
cheese_artifact_strength = {
value = scope:cheese_artifact.artifact_max_durability
subtract = scope:cheese_artifact.artifact_durability
multiply = -1
}
very_low_mummy_quality = 0
low_mummy_quality = 100
medium_mummy_quality = 250
high_mummy_quality = 500
very_high_mummy_quality = 1000
mummy_quality = {
value = 0
# Am I a good person?
if = {
limit = {
num_virtuous_traits >= 1
}
add = 50
}
if = { # 100
limit = {
num_virtuous_traits >= 2
}
add = 50
}
if = { # 250
limit = {
num_virtuous_traits >= 3
}
add = 250
}
# Am I a bad person?
if = {
limit = {
num_sinful_traits >= 1
}
add = -25
}
if = { # -50
limit = {
num_sinful_traits >= 2
}
add = -25
}
if = { # -100
limit = {
num_sinful_traits >= 3
}
add = -50
}
# Am I a prestigious person?
if = {
limit = {
highest_held_title_tier >= tier_county
}
add = 25
}
if = { # 50
limit = {
highest_held_title_tier >= tier_duchy
}
add = 25
}
if = { # 100
limit = {
highest_held_title_tier >= tier_kingdom
}
add = 50
}
if = { # 250
limit = {
highest_held_title_tier >= tier_empire
}
add = 150
}
# Am I a HoF?
if = {
limit = {
primary_title = { is_head_of_faith = yes }
}
add = 100
}
# Traits that would make someone a good mummy probably
if = {
limit = {
has_trait = pilgrim
NOT = {
faith = { has_doctrine_parameter = forbidden_from_pilgrimage }
}
}
add = 25
}
if = {
limit = {
has_trait = tourney_participant
}
add = 25
}
if = { # Other lifestyles get 25
limit = {
any_trait_in_category = {
category = lifestyle
count >= 1
}
}
add = 25
}
if = {
limit = {
OR = {
has_trait = education_intrigue_5
has_trait = education_diplomacy_5
has_trait = education_stewardship_5
has_trait = education_martial_5
has_trait = education_learning_5
}
}
add = 25
}
#Living Legend and Saints get more value
if = {
limit = {
OR = {
has_trait = legend
has_trait = saint
}
}
multiply = 1.5
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,60 +0,0 @@

bastard_legitimacy_change_cutoff_age = 6
real_father_suspicion_base_value = 50
husband_suspicion_base_value = 3
bastard_legitimization_prestige_cost = 150
house_head_legitimize_acceptance_base_value = -100
house_head_legitimize_approval_rating = {
value = house_head_legitimize_acceptance_base_value
if = {
limit = {
scope:the_house_head = scope:the_legitimizer
}
add = 1000
}
add = {
value = scope:the_legitimizer.prestige_level
multiply = 20
}
if = {
limit = {
scope:the_house_head = {
opinion = {
target = scope:the_legitimizer
value >= 50
}
}
}
add = 51
}
if = {
limit = {
scope:the_house_head = {
opinion = {
target = scope:the_bastard
value >= 80
}
}
}
add = 51
}
if = {
limit = {
scope:the_house_head = {
opinion = {
target = scope:the_legitimizer
value <= 0
}
}
}
add = -30
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,8 +0,0 @@
# Referenced by code. Scoring for the legacy screen
# Root is the played character
legacy_score = {
value = 0
add = prestige_level
add = piety_level
add = dynasty.dynasty_prestige_level
}

View file

@ -1,166 +0,0 @@
# 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 = {
government_has_flag = government_is_nomadic
age >= 25
}
add = 10
}
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

@ -1,10 +0,0 @@
# Check for an enemy Knight with at least 80% of our Prowess to be our opponent/wound-inflicter in combat events
prowess_for_combat_event_opponent = {
value = prowess
multiply = 0.8
}
vastly_outnumbered_combat_side_threshold = {
value = side_strength
multiply = 5
}

View file

@ -1,192 +0,0 @@
##################################################
# Weights
# Control values.
## For default weights.
task_contract_weight_default_value = 50
task_contract_weight_standard_bonus_value = 300
task_contract_weight_slight_bonus_value = 100
task_contract_weight_massive_bonus_value = 700
## For contracts that are a bit shinier, but also quite a bit more specialised — stuff that won't be able to appear as often so we want to weight it up when it does.
task_contract_weight_interesting_almost_rare_value = 100
task_contract_weight_interesting_somewhat_rare_value = 200
task_contract_weight_interesting_quite_rare_value = 300
task_contract_weight_interesting_very_rare_value = 500
## For contract employer traits.
task_contract_weight_bonus_employer_has_associated_traits_value = 50
task_contract_weight_malus_employer_has_associated_traits_value = -25
task_contract_weight_employer_associated_traits_min_value = -50
task_contract_weight_employer_associated_traits_max_value = 50
## Change our weight by tier.
task_contract_weight_by_tier_value = {
## Weight up kings and emperors, if we can get 'em.
if = {
limit = { highest_held_title_tier >= tier_kingdom }
add = 2
}
## And dukes somewhat.
else_if = {
limit = { highest_held_title_tier >= tier_duchy }
add = 1.5
}
## Weight down barons, as they're dramatically less interesting to get work from.
else_if = {
limit = { highest_held_title_tier <= tier_barony }
add = 0.01
}
else = { add = 1 }
}
## For contract employers already being your contact, has to be very high to overcome the above values
task_contract_weight_employer_contact_list_value = {
if = {
limit = { is_contact_of = root }
add = 10000
}
}
# Government weighting values.
## Special contracts.
laamp_contracts_weight_up_mercenary_value = {
if = {
limit = { has_realm_law_flag = laamp_contracts_weight_up_mercenary }
add = task_contract_weight_standard_bonus_value
}
}
laamp_contracts_weight_up_transport_value = {
if = {
limit = { has_realm_law_flag = laamp_contracts_weight_up_transport }
add = task_contract_weight_standard_bonus_value
}
if = {
limit = {
domicile = { has_domicile_parameter = receives_more_escort_contracts }
}
add = task_contract_weight_slight_bonus_value
}
}
laamp_contracts_weight_up_criminal_value = {
if = {
limit = { has_realm_law_flag = laamp_contracts_weight_up_criminal }
add = task_contract_weight_standard_bonus_value
}
# Otherwise, make criminal contracts a bit less likely — unless you're in dire straits...
else_if = {
limit = { gold >= 100 }
add = {
value = task_contract_weight_standard_bonus_value
multiply = -0.75
}
}
}
laamp_contracts_weight_up_criminal_massive_value = {
if = {
limit = { has_realm_law_flag = laamp_contracts_weight_up_criminal }
add = task_contract_weight_massive_bonus_value
}
# Otherwise, make criminal contracts a bit less likely — unless you're in dire straits...
else_if = {
limit = { gold >= 100 }
add = {
value = task_contract_weight_massive_bonus_value
multiply = -0.75
}
}
}
## Diplo contracts.
laamp_contracts_weight_up_diplomacy_value = {
if = {
limit = { has_realm_law_flag = laamp_contracts_weight_up_diplomacy }
add = task_contract_weight_standard_bonus_value
}
}
laamp_contracts_weight_up_diplomacy_slight_value = {
if = {
limit = { has_realm_law_flag = laamp_contracts_weight_up_diplomacy_slight }
add = task_contract_weight_slight_bonus_value
}
}
## Martial contracts.
laamp_contracts_weight_up_martial_value = {
if = {
limit = { has_realm_law_flag = laamp_contracts_weight_up_martial }
add = task_contract_weight_standard_bonus_value
}
}
laamp_contracts_weight_up_martial_slight_value = {
if = {
limit = { has_realm_law_flag = laamp_contracts_weight_up_martial_slight }
add = task_contract_weight_slight_bonus_value
}
}
## Stewardship contracts.
laamp_contracts_weight_up_stewardship_value = {
if = {
limit = { has_realm_law_flag = laamp_contracts_weight_up_stewardship }
add = task_contract_weight_standard_bonus_value
}
}
## Intrigue contracts.
laamp_contracts_weight_up_intrigue_value = {
if = {
limit = { has_realm_law_flag = laamp_contracts_weight_up_intrigue }
add = task_contract_weight_standard_bonus_value
}
}
## Learning contracts.
laamp_contracts_weight_up_learning_value = {
if = {
limit = { has_realm_law_flag = laamp_contracts_weight_up_learning }
add = task_contract_weight_standard_bonus_value
}
}
## Prowess contracts.
laamp_contracts_weight_up_prowess_value = {
if = {
limit = { has_realm_law_flag = laamp_contracts_weight_up_prowess }
add = task_contract_weight_standard_bonus_value
}
}
# Hygiene values.
## Would this character unguardedly let others know what wealth they have?
laamp_contract_would_signpost_own_prosperity_value = {
# Weight up.
## Traits that broadcast their wealth.
if = {
limit = { has_trait = arrogant }
add = task_contract_weight_bonus_employer_has_associated_traits_value
}
if = {
limit = { has_trait = ambitious }
add = task_contract_weight_bonus_employer_has_associated_traits_value
}
if = {
limit = { has_trait = improvident }
add = task_contract_weight_bonus_employer_has_associated_traits_value
}
if = {
limit = { has_trait = profligate }
add = task_contract_weight_bonus_employer_has_associated_traits_value
}
# Weight down.
## Traits that hide their prosperity.
if = {
limit = { has_trait = humble }
add = task_contract_weight_malus_employer_has_associated_traits_value
}
if = {
limit = { has_trait = content }
add = task_contract_weight_malus_employer_has_associated_traits_value
}
if = {
limit = { has_trait = greedy }
add = task_contract_weight_malus_employer_has_associated_traits_value
}
if = {
limit = { has_trait = deceitful }
add = task_contract_weight_malus_employer_has_associated_traits_value
}
# Restrictions.
min = task_contract_weight_employer_associated_traits_min_value
max = task_contract_weight_employer_associated_traits_max_value
}

View file

@ -1,91 +0,0 @@

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
kurultai_task_side_effect_cooldown = 95
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_has_flag = government_is_administrative }
multiply = 0
}
}
council_scaled_by_liege_tier_nomad = {
value = council_scaled_by_liege_tier
if = {
limit = { NOT = { government_has_flag = government_is_nomadic } }
multiply = 0
}
}
council_scaled_by_liege_tier_not_nomad = {
value = council_scaled_by_liege_tier
if = {
limit = { government_has_flag = government_is_nomadic }
multiply = 0
}
}
council_scaled_admin_value = {
value = 0 # This value should be 0 for anyone who isn't admin
if = {
limit = {
government_has_flag = government_is_administrative
}
add = 1
if = {
limit = {
liege = { highest_held_title_tier >= tier_empire }
}
multiply = 2
}
}
}

View file

@ -1,159 +0,0 @@
######################
# 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
}
if = {
limit = {
has_county_modifier = county_corruption_roaming_bandits_modifier
}
add = 1
}
if = {
limit = {
has_county_modifier = county_corruption_wild_beast_attacks_modifier
}
add = 1
}
if = {
limit = {
has_county_modifier = county_corruption_upset_shepherds_modifier
}
add = 1
}
if = {
limit = {
has_county_modifier = county_corruption_rogue_warriors_modifier
}
add = 1
}
if = {
limit = {
has_county_modifier = county_corruption_unruly_nomads_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

@ -1,96 +0,0 @@
# COUNTY FERTILITY VALUES
# GATHERED TOGETHER IN ONE PLACE FOR BALANCING CONVENIENCE
# SEASONS
#
## ABUNDANT GRAZING (GOOD)
cf_abundant_grazing_growth_add_value = 2.0
cf_abundant_grazing_growth_mult_value = 0.25
## SEVERE DROUGHT (BAD)
cf_severe_drought_decline_add_value = -0.5
cf_severe_drought_decline_mult_value = 0.2
cf_severe_drought_growth_mult_value = -0.2
## WHITE ZUD (BAD-BAD)
cf_white_zud_decline_add_value = -2
cf_white_zud_decline_mult_value = 0.8
cf_white_zud_growth_mult_value = -0.8
## COLD ZUD ( BAD )
cf_cold_zud_decline_add_value = -1
cf_cold_zud_decline_mult_value = 0.4
cf_cold_zud_growth_mult_value = -0.4
## EVERLASTING SUMMER ( GOOD-GOOD )
cf_warm_nights_growth_add_value = 2.0
cf_warm_nights_growth_mult_value = 0.75
## BLESSING OF THE BLUE SKY ( BLISS )
cf_sky_blessing_growth_add_value = 8
cf_sky_blessing_growth_mult_value = 3
# HAVSARSAN ( EVERYBODY WILL PERISH )
cf_havsarsan_decline_add_value = 4
cf_havsarsan_decline_mult_value = 1
cf_havsarsan_growth_mult_value = -3
# TERRAIN (only growth add)
# NOTE: these are added per province in the county, so be mindful with the values
steppe_county_fertility_value = 0.35
farmlands_county_fertility_value = 0.35
oasis_county_fertility_value = 0.35
plains_county_fertility_value = 0.25
desert_county_fertility_value = 0.25
drylands_county_fertility_value = 0.25
hills_county_fertility_value = 0.2
floodplains_county_fertility_value = 0.2
wetlands_county_fertility_value = 0.2
mountains_county_fertility_value = 0.15
desert_mountains_county_fertility_value = 0.15
forest_county_fertility_value = 0.15
taiga_county_fertility_value = 0.15
jungle_county_fertility_value = 0.05
# TERRAIN CULTURE MODIFIERS
high_culture_county_fertility_value_add = 0.4
medium_culture_county_fertility_value_add = 0.1
low_culture_county_fertility_value_add = 0.05
high_culture_county_fertility_value_mult = 0.2
medium_culture_county_fertility_value_mult = 0.1
low_culture_county_fertility_value_mult = 0.05
# EVENT ETC MODIFIERS
massive_county_fertility_value_positive_add = 8
major_county_fertility_value_positive_add = 6
medium_county_fertility_value_positive_add = 4
minor_county_fertility_value_positive_add = 2
massive_county_fertility_value_positive_mult = 1
major_county_fertility_value_positive_mult = 0.6
medium_county_fertility_value_positive_mult = 0.4
minor_county_fertility_value_positive_mult = 0.2
massive_county_fertility_value_negative_add = -6
major_county_fertility_value_negative_add = -4
medium_county_fertility_value_negative_add = -2
minor_county_fertility_value_negative_add = -1
massive_county_fertility_value_negative_mult = -0.8
major_county_fertility_value_negative_mult = -0.6
medium_county_fertility_value_negative_mult = -0.2
minor_county_fertility_value_negative_mult = -0.1

View file

@ -1,400 +0,0 @@
############################
# 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
}
}
if = {
limit = {
has_game_rule = hard_difficulty
is_ai = yes
}
multiply = 0.75
}
else_if = {
limit = {
has_game_rule = very_hard_difficulty
is_ai = yes
}
multiply = 0.5
}
}
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

@ -1,20 +0,0 @@
court_grandeur_rank_4_min_level = 9
court_grandeur_rank_3_min_level = 6
court_grandeur_rank_2_min_level = 3
current_cgv_above_expected_exact_value = {
value = court_grandeur_current
subtract = court_grandeur_minimum_expected
}
indebt_guest_interaction_lost_test_grandeur_cost_value = { value = minor_court_grandeur_loss }
# Note: base chance is 50, so this works out at 50 + [this value] = guestimated likelihood (i.e., before traits and such) before the AI will consider using this interaction.
indebt_guest_interaction_likely_success_control_value = 25
indebt_guest_interaction_get_intrigue_difference_value = {
# Grab scope:actor's intrigue.
value = scope:actor.intrigue
# And then remove scope:recipient's.
subtract = scope:recipient.intrigue
}

File diff suppressed because it is too large Load diff

View file

@ -1,969 +0,0 @@

# 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
}
else_if = {
limit = {
root = {
has_trait = nomadic_philosophy
NOT = {
government_has_flag = government_is_nomadic
}
}
}
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
}
# Council Position
if = {
limit = {
root = {
has_variable = kurultai_culture_variable_value
}
}
multiply = {
value = 100
subtract = root.var:kurultai_culture_variable_value
divide = 100
}
}
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 = {
value = 50
if = {
limit = {
culture_head ?= {
has_variable = kurultai_culture_variable_value
}
}
multiply = {
value = 100
subtract = culture_head.var:kurultai_culture_variable_value
divide = 100
}
}
}
tradition_base_cost = {
value = 2000
if = {
limit = {
culture_head ?= {
has_variable = kurultai_culture_variable_value
}
}
multiply = {
value = 100
subtract = culture_head.var:kurultai_culture_variable_value
divide = 100
}
}
}
tradition_double_base_cost = {
value = tradition_base_cost
multiply = 2
}
tradition_incompatible_ethos_penalty = {
value = 2000
if = {
limit = {
culture_head ?= {
has_variable = kurultai_culture_variable_value
}
}
multiply = {
value = 100
subtract = culture_head.var:kurultai_culture_variable_value
divide = 100
}
}
}
tradition_unfulfilled_criteria_penalty = {
value = 3000
if = {
limit = {
culture_head ?= {
has_variable = kurultai_culture_variable_value
}
}
multiply = {
value = 100
subtract = culture_head.var:kurultai_culture_variable_value
divide = 100
}
}
}
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 = {
government_has_flag = government_is_nomadic
domicile ?= { has_domicile_parameter = nomad_yurt_language_cap }
}
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
}
}
}

View file

@ -1,103 +0,0 @@

# Accuse the Krstjani of Heresy
accuse_the_krstjani_of_heresy_cancellation_cooldown_value = 10
accuse_the_krstjani_of_heresy_failure_cooldown_value = 30
accuse_the_krstjani_of_heresy_critical_failure_cooldown_value = 50
# Negotiate the Danelaw
negotiate_the_danelaw_preferable_opponent_value = {
value = 0
# Add 75 for every held duchy in k_england.
every_held_title = {
limit = {
tier = tier_duchy
kingdom = title:k_england
}
add = 75
}
# 50 for every directly held county in k_england.
every_held_title = {
limit = {
tier = tier_county
kingdom = title:k_england
}
add = 50
}
# And 25 for every vassalised county in k_england.
every_vassal = {
limit = {
any_held_title = {
tier = tier_county
kingdom = title:k_england
}
}
every_held_title = {
limit = {
tier = tier_county
kingdom = title:k_england
}
add = 25
}
}
}
standard_commission_artifact_cooldown_time = {
value = 1825
#if = {
# limit = {
# root.culture = {
# has_cultural_parameter = more_frequent_hunts
# }
# }
# multiply = 0.5
#}
}
found_witch_coven_member_count_value = {
value = 4
}
found_witch_coven_member_percent_value = {
value = 0.6
}
found_witch_coven_member_percent_display_value = {
value = found_witch_coven_member_percent_value
multiply = 100
}
invite_knights_decision_standard_value = {
value = 12
if = {
limit = {
root = {
dynasty ?= { has_dynasty_perk = ep2_activities_legacy_5 }
involved_activity ?= { has_activity_type = activity_tournament }
}
}
add = 6
}
}
invite_knights_decision_upper_value = {
value = invite_knights_decision_standard_value
add = 3
}
fp3_antagonize_character_interaction_cooldown = {
value = 2
if = {
limit = { NOT = { any_character_struggle = { is_struggle_type = persian_struggle } } }
add = 3
}
}
invite_poets_decision_standard_value = {
value = 14
}
invite_poets_decision_upper_value = {
value = invite_poets_decision_standard_value
add = 4
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,10 +0,0 @@

#Values used for checking distance with the 'squared_distance' trigger.
squared_distance_small = 22500 #150 map-pixels. Roughly one Wales away (top to bottom).
squared_distance_medium = 62500 #250 map-pixels. Roughly one Ireland away (top to bottom).
squared_distance_large = 422500 #650 map-pixels. Roughly one France away (top to bottom).
squared_distance_huge = 722500 #850 map-pixels. Roughly one Holy Roman Empire away (left to right).
squared_distance_almost_massive = 1440000 #1200 map-pixels. Roughly 1.5 Holy Roman Empire away (left to right).
squared_distance_massive = 2402500 #1550 map-pixels.
squared_distance_monstrous = 9000000 #3000 map-pixels

File diff suppressed because it is too large Load diff

View file

@ -1,114 +0,0 @@
###############
# DYNASTY
###############
# Dynasty Warfare CB Discount Perk
warfare_legacy_2_discount = 0.8 # 20% discount
# Dynasty Glory Marriage Acceptance Perk
glory_legacy_1_marriage_acceptance = 30
# Dynasty Kin Personal Scheme Success Chance on Dynasty Perk
kin_legacy_4_success_chance = 30
# Dynasty House Scheme Success Chance on Cultural Paramater
cultural_house_personal_scheme_success_chance = 30
# Dynasty Blood 4 extra Genetic Trait chance
blood_legacy_4_chance = 5
blood_legacy_4_extra_player_chance = 5
# What age does Graceful Aging start
kin_legacy_5_start_age = 30
# How often should the effect fire
kin_legacy_5_every_x_year = 5
# Calculate whether the effect should be applied this year
kin_legacy_5_age_modulo = {
value = age
modulo = kin_legacy_5_every_x_year
}
erudition_legacy_5_percentage = 10
customs_legacy_percentage = 30
fp1_adventure_legacy_2_success_chance_seduction = 15
fp1_adventure_legacy_2_prestige_value = {
value = 100
if = {
limit = {
exists = scope:target.primary_title
}
multiply = {
value = scope:target.primary_title.tier
add = 1
}
}
if = {
limit = {
scope:target = {
NOT = {
exists = scope:target.primary_title
}
exists = scope:target.primary_spouse
NOT = {
scope:target.primary_spouse = prev
}
exists = scope:target.primary_spouse.primary_title
}
}
multiply = {
value = scope:target.primary_spouse.primary_title.tier
add = 1
}
}
if = {
limit = {
any_liege_or_above = {
scope:target = {
OR = {
is_close_family_of = prev
is_consort_of = prev
}
}
}
}
multiply = 1.5
}
if = {
limit = {
scope:target = {
is_courtier_of = prev
}
}
multiply = 0.5
}
}
ep2_activities_legacy_2_grand_weddings_discount_value = 0.5
ep2_activities_legacy_2_grand_weddings_acceptance_boost_value = 15
ep2_activities_legacy_1_pilgrimages_discount_value = 0.5
ep2_activities_legacy_1_pilgrimages_learning_add_value = 2
ep2_activities_legacy_1_pilgrimages_learning_learning_per_holy_site_value = 2
ep2_activities_legacy_1_pilgrimages_learning_visitable_holy_sites_cap_value = 5
ep2_activities_legacy_1_pilgrimages_learning_cap_value = {
value = ep2_activities_legacy_1_pilgrimages_learning_learning_per_holy_site_value
multiply = ep2_activities_legacy_1_pilgrimages_learning_visitable_holy_sites_cap_value
}
ep2_activities_legacy_3_tours_modifier_duration_value = 20
#FP3 Values
khvarenah_legacy_marriage_acceptance = 10
khvarenah_legacy_aptitude = 10

View file

@ -1,70 +0,0 @@
#Values used in the education of children
matching_childhood_trait_modifier_value = 20
mismatching_childhood_trait_modifier_value = -20
educator_skill_modifier_factor = 0.4
educator_learning_skill_modifier_factor = 0.2
#Values to trigger outcome events from (How well did the child do?)
education_level_1 = 7 # Required for education rank 2
education_level_2 = 12 # Required for education rank 3
education_level_3 = 17 # Required for education rank 4
#One-time bonuses / penalties
education_small_bonus = 1
education_medium_bonus = 2
education_large_bonus = 3
education_small_penalty = -1
education_medium_penalty = -2
education_large_penalty = -3
#Value for balancing point conversion between educations
point_conversion_factor = 0.5
child_education_conversion_chance = {
add = 0.1
if = {
limit = {
age < 14
}
multiply = 0.2
multiply = 0.3
}
if = {
limit = {
age < 13
}
multiply = 0.4
multiply = 0.5
}
if = {
limit = {
age < 12
}
multiply = 0.6
multiply = 0.7
}
if = {
limit = {
age < 11
}
multiply = 0.8
multiply = 0.9
}
}
child_education_conversion_tooltip_chance = {
add = 1
if = {
limit = {
age >= 15
}
subtract = 1
}
else_if = {
limit = {
age > 10
}
subtract = child_education_conversion_chance
}
}

View file

@ -1,325 +0,0 @@
weapon_inspiration_average_skill_value = {
value = martial
add = {
value = prowess
multiply = 2
}
divide = 2
}
armor_inspiration_average_skill_value = {
value = martial
add = {
value = prowess
multiply = 2
}
divide = 2
}
book_inspiration_average_skill_value = {
value = learning
if = {
limit = {
has_variable = legendary_author
}
add = 1000
}
}
weaver_inspiration_average_skill_value = {
value = diplomacy
}
adventure_inspiration_average_skill_value = {
value = prowess
multiply = 3
add = {
value = diplomacy
multiply = 1.5
}
add = {
value = learning
multiply = 1.5
}
divide = 4
}
artisan_inspiration_average_skill_value = {
value = stewardship
}
smith_inspiration_average_skill_value = {
value = stewardship
multiply = 2
add = {
value = prowess
multiply = 2
}
add = diplomacy
divide = 4
}
alchemy_inspiration_average_skill_value = {
value = learning
}
low_inspiration_skill = 8
medium_inspiration_skill = 12
high_inspiration_skill = 16
#This is how much var:artifact_quality needs to have been improved in events to correspond to high or medium skill.
medium_adventurer_epic_quality_level = 6
high_adventurer_epic_quality_level = 8
more_expensive_inspirations_multiplier_value = 0.5
artifact_brooch_value = {
value = 0
# Base score of up to 50 based on brooch quality.
add = {
value = scope:quality
multiply = 0.5
}
# Brooches made out of certain materials gain bonus points.
if = {
limit = { has_artifact_feature = decoration_material_wire_gold }
add = 25
}
else_if = {
limit = { has_artifact_feature = decoration_material_wire_electrum }
add = 15
}
else_if = {
limit = { has_artifact_feature = decoration_material_wire_silver }
add = 10
}
if = {
# brooches set with gems gain up to 25 points based on the wealth/rarity of the gemstones.
limit = { has_artifact_feature = brooch_decoration_centerpiece_and_adornment }
add = {
value = scope:wealth
multiply = 0.25
}
}
else_if = {
# brooches decorating with filigree gain up to 20 points based on quality, or the artisan's skill.
limit = { has_artifact_feature = brooch_decoration_centerpiece }
add = {
value = scope:quality
multiply = 0.20
}
}
else_if = {
# brooches decorating with just an adornment gain up to 15 points based on wealth/rarity of the adornment
limit = { has_artifact_feature = brooch_decoration_adornment }
add = {
value = scope:wealth
multiply = 0.15
}
}
else = {
# Assume brooch value is just based on wealth
add = {
value = scope:wealth
multiply = 0.10
}
}
}
artifact_wealth_quality_average_value = {
if = {
limit = {
exists = var:wealth
exists = var:quality
}
value = var:wealth
add = var:quality
multiply = 0.5
}
else_if = {
limit = {
exists = scope:wealth
exists = scope:quality
}
value = scope:wealth
add = scope:quality
multiply = 0.5
}
else_if = {
limit = {
exists = var:quality
}
value = var:quality
}
else_if = {
limit = {
exists = scope:quality
}
value = scope:quality
}
else_if = {
limit = {
exists = var:wealth
}
value = var:wealth
}
else_if = {
limit = {
exists = scope:wealth
}
value = scope:wealth
}
else = {
value = 20
}
}
artifact_wealth_quality_combined_value = {
value = 0
if = {
limit = { exists = scope:wealth }
add = scope:wealth
}
if = {
limit = { exists = scope:quality }
add = scope:quality
}
}
# Modifiers to decide what armor type someone wants to make/is created
artifact_armor_type_mail_weight_value = {
value = 0
if = {
limit = {
current_date >= 1100.1.1 #Chainmail arrives in India during 12th century
culture_has_south_asian_heritage_pillar_trigger = yes
}
add = 10
}
}
artifact_armor_type_plate_weight_value = {
value = 0
if = {
limit = {
#Full plate armor developed and became more wide-spread (mostly) during the late middle ages
current_date >= 1250.1.1
}
add = 10
}
if = {
limit = {
#Full plate armor developed and became more wide-spread (mostly) during the late middle ages
current_date >= 1300.1.1
}
add = 10
}
if = {
limit = {
#Mostly used in Europe (at least initially)
culture_has_european_heritage_pillar_trigger = yes
}
multiply = 2
}
}
artifact_armor_type_scale_weight_value = {
value = 0
if = {
limit = {
#Fairly common everywhere, but use in Europe had declined
culture_has_european_heritage_pillar_trigger = yes
NOR = {
culture = { has_cultural_pillar = heritage_byzantine }
culture = { has_cultural_pillar = heritage_caucasian }
culture = { has_cultural_pillar = heritage_turkic }
}
}
add = -10
}
if = {
limit = {
# Much more commonly used by the nomadic mongols
culture = { has_cultural_pillar = heritage_mongolic }
}
add = 30
}
}
artifact_armor_type_lamellar_weight_value = {
value = 0
if = {
#More common in the Middle East and Asia
limit = {
OR = {
culture_has_mena_heritage_pillar_trigger = yes
culture_has_asian_heritage_pillar_trigger = yes
}
}
add = 30
}
}
artifact_armor_type_laminar_weight_value = {
value = 0
if = {
#More common in the Middle East and Asia
limit = {
OR = {
culture_has_asian_heritage_pillar_trigger = yes
culture = { has_cultural_pillar = heritage_ugro_permian }
culture_has_mena_heritage_pillar_trigger = yes
}
}
add = 30
}
}
artifact_armor_type_brigandine_weight_value = {
value = 0
if = {
limit = {
culture_has_mena_heritage_pillar_trigger = yes
culture_has_asian_heritage_pillar_trigger = yes
}
add = 30
}
if = {
limit = {
OR = {
AND = {
current_date >= 1240.1.1 #Reached eastern Europe after the Mongol invasion
culture_has_east_european_heritage_pillar_trigger = yes
}
AND = {
current_date >= 1270.1.1 #Reached the rest of Europe some centuries later
culture_has_european_heritage_pillar_trigger = yes
}
}
}
add = 10
}
}
# Used to set quality and wealth for banners found after a battle
conquered_banner_value = {
value = 10
if = {
limit = {
scope:epic_loser = { highest_held_title_tier >= tier_empire }
}
add = 90
}
if = {
limit = {
scope:epic_loser = { highest_held_title_tier = tier_kingdom }
}
add = 60
}
if = {
limit = {
scope:epic_loser = { highest_held_title_tier = tier_duchy }
}
add = 20
}
}
artifact_durability_percent = {
value = artifact_durability
divide = artifact_max_durability
}

View file

@ -1,687 +0,0 @@
# Referenced from code, in code value will be clamped between NRoyalCourt::COURT_GRANDEUR_MIN and NRoyalCourt::COURT_GRANDEUR_MAX
# root = character calculating for
court_grandeur_minimum_expected_value = {
value = sub_realm_size
divide = 4
if = { # Elective Empires have slightly lower expectations (i.e. the HRE)
limit = {
any_held_title = {
tier = tier_empire
has_title_law_flag = elective_succession_law
}
}
divide = 2
}
if = { # Add a baseline depending on rank
limit = {
highest_held_title_tier = tier_empire
}
add = 20
}
else = {
add = 10
}
if = {
limit = {
government_has_flag = government_is_tribal
}
multiply = 0
add = court_grandeur_current
}
}
# Referenced from code for the multiplier of above/below expected court grandeur level modifiers
court_grandeur_level_difference_modifier_multiplier = {
value = 1
if = { # Small realms receives larger bonuses for being above their expected level
limit = {
court_grandeur_current_level >= court_grandeur_minimum_expected_level
}
value = 100 # Realm size baseline
divide = {
value = sub_realm_size
min = 1
}
min = 1
max = 4
}
else = { # Big realms receives larger penalties for being below their expected level
value = sub_realm_size
multiply = 0.025
min = 1
max = 4
}
}
delusions_of_grandeur_level_difference = {
value = court_grandeur_minimum_expected_level
add = 6
}
ep1_court_grandeur_marriage_acceptance_value = {
scope:actor = {
add = court_grandeur_current_level
subtract = court_grandeur_minimum_expected_level
multiply = 5
if = {
limit = {
scope:recipient.faith = {
faith_hostility_level = {
target = scope:actor.faith
value = faith_astray_level
}
}
}
divide = 2
}
else_if = {
limit = {
scope:recipient.faith = {
faith_hostility_level = {
target = scope:actor.faith
value = faith_hostile_level
}
}
}
divide = 3
}
else_if = {
limit = {
scope:recipient.faith = {
faith_hostility_level = {
target = scope:actor.faith
value = faith_evil_level
}
}
}
divide = 4
}
}
}
ep1_court_grandeur_marriage_acceptance_value_penalty = {
scope:actor = {
add = court_grandeur_current_level
subtract = court_grandeur_minimum_expected_level
multiply = 10
}
}
grandeur_loss_on_succession_value = {
value = -10
if = { # 100 Dread makes you lose 5 more grandeur
limit = {
dread > 0
}
subtract = {
value = dread
divide = 20
}
}
if = { # 100 Tyranny makes you lose 10 more grandeur
limit = {
tyranny > 0
}
subtract = {
value = tyranny
divide = 10
}
}
if = {
limit = {
exists = primary_heir
primary_heir = {
has_trait = ambitious
}
}
multiply = 0.5
}
if = {
limit = {
exists = primary_title
primary_title = {
has_order_of_succession = election
}
}
multiply = 0.5
}
}
# The unmodified, average cost of sponsoring an Inspiration.
basic_fund_inspiration_cost = {
value = 100
}
inspiration_cost_skill_multiplier = 0.5
quality_bonus_per_skill_level_value = 2 # A character with an average skill value of 20 will produce artifacts with +40 quality
# Calculates the total number of characters in the world who have an active Inspiration.
num_world_inspired_characters_value = {
value = 0
every_inspired_character = {
limit = { has_completed_inspiration = no }
add = 1
}
}
# Calculates the total number of characters in the world who currently have a Royal Court.
num_world_royal_courts_value = {
value = 0
every_character_with_royal_court = {
add = 1
}
}
# How many new inspirations can be created by inspiration_system.0005 each year if we are below the limit.
max_new_inspirations_per_year_value = {
value = 3 # 16% of the existing world region have a chance to get an inspired character
add = {
value = 15 #if every royal court is wealthy enough, we generate 1x nb of world region inspired characters
multiply = {
value = 0
add = {
every_character_with_royal_court = {
limit = {
OR = {
is_ai = no
AND = {
is_ai = yes
short_term_gold >= ai_inspiration_desired_gold_value
}
}
}
add = 1
}
divide = {
every_character_with_royal_court = {
add = 1
}
min = 1 # security to avoid dividing by 0 if there is none royal court
}
}
}
ceiling = yes
}
}
# The 'ideal' limit for how many total inspirations will exist in the world at a time, per royal court.
# Scripted effects can bring us over this value, but inspiration_system.0005 will not generate new inspirations until we fall back under it.
ideal_total_inspirations_per_royal_court_value = 1.875
ideal_total_world_inspirations = {
value = num_world_royal_courts_value
multiply = ideal_total_inspirations_per_royal_court_value
}
# How many months an inspired character will wait around in a court for before moving on to a new one.
inspired_character_recent_arrival_duration_value = {
value = 15
# Adds -3 or +3 months, if they are (im)patient.
if = {
limit = { has_trait = impatient }
subtract = 3
}
else_if = {
limit = { has_trait = patient }
add = 3
}
# Adds between +3 and -3 months before moving on, based on ai_energy.
add = {
value = ai_energy
multiply = -0.03
round = yes
}
}
# How many years a courtier must serve in a specific court to get the court type trait
years_to_gain_court_type_trait = 5
# The trigger to check time served ("days_since_joined_court") needs days, so we convert the years here
days_to_gain_court_type_trait = {
add = years_to_gain_court_type_trait
multiply = 365
}
cgv_level_threshold_court_type_trait_1 = 5
cgv_level_threshold_court_type_trait_2 = 8
# Court Type Values
court_intrigue_spymaster_task_bonus = 20
court_administrative_steward_task_bonus = 30
# Hold Court Grace Values
hold_court_grace_period_years = 1825
hold_court_grace_period_comparison = {
value = 1
add = {
value = current_year
subtract = var:last_hold_court_date
subtract = hold_court_grace_period_years # 5
multiply = 0.1
min = 0
max = 1
}
# example
# 1066 - 1054 = 12 - 5 = 7 * 0.1 = 0.7 + 1 = 1.7
# subtract 5 as this is the hard cooldown, we only want to increase weight for years beyond that
# modifier caps at 2 (10 years since last hold court)
}
# To be used for court positions that are very mobile and requires a healthy and strong body
court_position_aptitude_high_penalty_value = {
if = {
limit = {
is_playable_character = yes
}
add = {
value = -20
desc = court_position_landed_penalty
}
}
if = {
limit = {
has_trait = maimed
}
add = {
value = -25
desc = court_position_maimed_trait
}
}
if = {
limit = {
has_trait = wounded_3
}
add = {
value = -25
desc = court_position_wounded_3_trait
}
}
else_if = {
limit = {
has_trait = wounded_2
}
add = {
value = -15
desc = court_position_wounded_2_trait
}
}
#Wounded_1 is ok since it's not a serious injury... yet
if = {
limit = {
has_trait = blind
}
add = {
value = -50
desc = court_position_blind_trait
}
}
if = {
limit = {
has_trait = infirm
}
add = {
value = -75
desc = court_position_infirm_trait
}
}
}
# To be used for court positions that are NOT very mobile and doesn't really require a strong/healthy body
court_position_aptitude_low_penalty_value = {
if = {
limit = {
is_playable_character = yes
}
add = {
value = -20
desc = court_position_landed_penalty
}
}
if = {
limit = {
has_trait = maimed
}
add = {
value = -15
desc = court_position_maimed_trait
}
}
if = {
limit = {
has_trait = wounded_3
}
add = {
value = -15
desc = court_position_wounded_3_trait
}
}
else_if = {
limit = {
has_trait = wounded_2
}
add = {
value = -10
desc = court_position_wounded_2_trait
}
}
#Wounded_1 is ok since it's not a serious injury... yet
if = {
limit = {
has_trait = infirm
}
add = {
value = -75
desc = court_position_infirm_trait
}
}
}
court_position_candidate_score_base_value = {
scope:liege = {
# Not very likely to hire rivals
if = {
limit = {
has_relation_rival = scope:employee
}
add = -1000
}
if = {
limit = {
NOT = { exists = scope:firing_court_position }
scope:employee = { has_any_court_position = yes }
}
add = -150
}
}
}
# Aptitude goes from 1 to 5, so the score here goes from 4 to 20 (except significantly discouraging hiring someone who isn't the best)
court_position_candidate_aptitude_value = {
scope:employee = {
# Does the liege have a better candidate that they should be hiring instead?
if = {
limit = {
scope:highest_available_aptitude > scope:employee_aptitude
}
add = -125
}
# More likely to pick a courtier with a high aptitude, less likely to pick one with low
add = {
value = scope:employee_aptitude
multiply = 4
}
}
}
court_position_debt_considerations_value = {
scope:liege = {
if = {
limit = {
debt_level >= 5
}
add = -5000
}
else_if = {
limit = {
debt_level >= 4
}
add = -1000
}
else_if = {
limit = {
debt_level >= 3
}
add = -500
}
else_if = {
limit = {
debt_level >= 2
}
add = -200
}
else_if = {
limit = {
debt_level >= 1
}
add = -50
}
if = { # Needs money for WAR!
limit = {
ai_has_conqueror_personality = yes
}
add = -100
}
}
}
court_position_seneschal_debt_considerations_value = { # Regardless of debt, having a seneschal is good if your control is abysmal
scope:liege = {
if = {
limit = {
is_at_war = no
NOT = {
any_held_title = {
tier = tier_county
county_control < 100
}
}
}
if = {
limit = {
debt_level >= 5
}
add = -5000
}
else_if = {
limit = {
debt_level >= 4
}
add = -1000
}
else_if = {
limit = {
debt_level >= 3
}
add = -500
}
else_if = {
limit = {
debt_level >= 2
}
add = -200
}
else_if = {
limit = {
debt_level >= 1
}
add = -50
}
}
}
}
# This is balanced against a typical base score of 50
# And a typical skill score of 12 (aptitude of 3)
# We want to sit at roughly 10% of income spent
# So 10% income spent needs to give -62 score
# So the cost of them all we multiply by 600, for 10% = -60
# While the cost of the position itself with 100. 5 positions of 2% each will then each get -2
court_position_liege_score_base_value = {
value = 0
scope:liege = {
subtract = {
# Less likely to hire for the really expensive positions
# But this is a pretty minor impact
value = 100
multiply = scope:percent_of_monthly_gold_income
}
subtract = {
# Value decreases as cost of all positions increase
value = 600
if = {
limit = {
ai_should_focus_on_building_in_their_capital = yes
}
add = 400
}
multiply = scope:percent_of_monthly_gold_income_all_positions
}
}
}
order_mass_eviction_decision_cost_value = 350
exoticise_a_grand_hall_decision_cost_value = {
# A nicely hefty base cost.
value = massive_gold_value
# Modified down a bit for architect.
if = {
limit = { has_trait = architect }
multiply = 0.75
}
}
# Check the guts of the value inside a sub-value so that we can script a fallback.
ep1_decision_0111_proportional_cgv_actual_gain_value = {
value = 0
# Add the target's CGV.
add = court_grandeur_current
# Subtract root's CGV to get the difference.
subtract = root.court_grandeur_current
# Reduce it down a bit.
multiply = 0.5
# Round it out.
round = yes
}
ep1_decision_0111_proportional_cgv_gain_value = {
value = 0
# Import the real tally from elsewhere.
add = ep1_decision_0111_proportional_cgv_actual_gain_value
# Fallback: we can't set a minimum, since we can have values either side of zero. If we hit zero, default to 1 instead.
if = {
limit = {
ep1_decision_0111_proportional_cgv_actual_gain_value = 0
}
add = 1
}
}
ep1_decision_0111_proportional_prestige_cost_value = {
# Carry over our CGV differential.
value = ep1_decision_0111_proportional_cgv_gain_value
# Invert it: if you lose CGV, we want you to gain prestige, and if you gain CGV, you should lose prestige.
multiply = -1
# Whilst we're here (and numbers are low), round things.
round = yes
# Make the cost a noteworthy fraction.
multiply = 50
}
ep1_flavour_0001_scion_minimum_age_value = 18
ep1_flavour_0001_scion_parent_minimum_age_value = {
# Base of 20 for something kinda sensible.
value = 20
# Plus the scion's minimum age.
add = ep1_flavour_0001_scion_minimum_age_value
}
# Scripted value used so we can reference it in a custom tooltip.
ep1_flavour_0021_courts_lose_opinion_value = 20
# Aaaaand a further linked value so that the loc plays nicely; otherwise we get a double negative of "loses -20".
ep1_flavour_0021_courts_lose_opinion_actual_value = {
value = ep1_flavour_0021_courts_lose_opinion_value
multiply = -1
}
# Scripted value used so we can reference it in a custom tooltip.
ep1_flavour_0021_courts_gain_opinion_value = 20
# As the name says... value of gained prestige per level of food amenities at feasts!
ep1_feast_prestige_per_food_amenities_value = {
value = medium_prestige_gain
if = {
limit = {
amenity_level = { type = court_food_quality value >= max_amenity_level }
}
add = {
value = medium_prestige_gain
multiply = 0.4
}
}
else_if = {
limit = {
amenity_level = { type = court_food_quality value = very_high_amenity_level }
}
add = {
value = medium_prestige_gain
multiply = 0.25
}
}
else_if = {
limit = {
amenity_level = { type = court_food_quality value = medium_amenity_level }
}
add = {
value = medium_prestige_gain
multiply = -0.25
}
}
else_if = {
limit = {
amenity_level = { type = court_food_quality value <= low_amenity_level }
}
add = {
value = medium_prestige_gain
multiply = -0.4
}
}
}
challenge_for_artifact_prestige_cost_value = {
value = 150
scope:target = {
if = {
limit = { rarity = masterwork }
multiply = 2
}
else_if = {
limit = { rarity = famed }
multiply = 3
}
else_if = {
limit = { rarity = illustrious }
multiply = 4
}
}
}
challenge_for_artifact_prestige_limit_value = {
value = challenge_for_artifact_prestige_cost_value
divide = 3
min = 150
}
ep1_fund_inspiration_2100_rival_difference = {
add = scope:other_inspiration_owner.inspiration.inspiration_gold_invested
subtract = scope:inspiration_owner.inspiration.inspiration_gold_invested
}
50_percent_of_owned_gold = {
value = current_gold_value
multiply = 0.5
min = 1
}
80_percent_of_owned_gold = {
value = current_gold_value
multiply = 0.8
min = 1
}

View file

@ -1,156 +0,0 @@
###################
# 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_horde_riders_to_raise = {
if = {
limit = {
uses_county_fertility = yes
}
value = county_fertility
}
else = {
value = 25
}
min = 10
multiply = 30
# 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_horde_riders_to_raise_power = {
value = county_horde_riders_to_raise
multiply = 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

@ -1,183 +0,0 @@
slower_game_rule_value = 0.5
significantly_slower_game_rule_value = 0.25
faster_game_rule_value = 2
significantly_faster_game_rule_value = 4
random_harm_spiteful_diverse_skilled_value = 15
random_harm_spiteful_multi_skilled_value = 18
random_harm_spiteful_specialist_skilled_value = 23
random_harm_spiteful_perks_in_tree_total_value = 20
harm_game_rule_likelihood_minor_increase_value = 0.1
harm_game_rule_likelihood_medium_increase_value = 0.25
harm_game_rule_likelihood_major_increase_value = 0.4
harm_game_rule_likelihood_value = {
value = 0
# Set a base from the for various game rule configurations.
## Default.
if = {
limit = {
OR = {
has_game_rule = harm_dangerous
has_game_rule = harm_spiteful
}
}
add = 1
}
## Reduced.
else_if = {
limit = { has_game_rule = harm_illusion_of_safety }
add = 0.25
}
## Disabled.
### Covered in the trigger.
## Increased.
else_if = {
limit = {
OR = {
has_game_rule = harm_tragic
has_game_rule = harm_tragically_spiteful
}
}
add = 1.5
}
## Increased even further for interesting characters.
if = {
limit = {
# Must have an appropriate game rule.
OR = {
has_game_rule = harm_spiteful
has_game_rule = harm_tragically_spiteful
}
}
# And be suitably worthwhile!
## Highly skilled.
if = {
limit = {
calc_true_if = {
amount >= 4
diplomacy >= random_harm_spiteful_diverse_skilled_value
martial >= random_harm_spiteful_diverse_skilled_value
stewardship >= random_harm_spiteful_diverse_skilled_value
intrigue >= random_harm_spiteful_diverse_skilled_value
learning >= random_harm_spiteful_diverse_skilled_value
prowess >= random_harm_spiteful_diverse_skilled_value
}
calc_true_if = {
amount >= 2
diplomacy >= random_harm_spiteful_multi_skilled_value
martial >= random_harm_spiteful_multi_skilled_value
stewardship >= random_harm_spiteful_multi_skilled_value
intrigue >= random_harm_spiteful_multi_skilled_value
learning >= random_harm_spiteful_multi_skilled_value
prowess >= random_harm_spiteful_multi_skilled_value
}
OR = {
diplomacy >= random_harm_spiteful_specialist_skilled_value
martial >= random_harm_spiteful_specialist_skilled_value
stewardship >= random_harm_spiteful_specialist_skilled_value
intrigue >= random_harm_spiteful_specialist_skilled_value
learning >= random_harm_spiteful_specialist_skilled_value
prowess >= random_harm_spiteful_specialist_skilled_value
}
}
add = harm_game_rule_likelihood_medium_increase_value
}
## Positive genetic traits.
### First, we check number.
#### We don't tolerate excess.
if = {
limit = { num_of_good_genetic_traits >= 2 }
add = harm_game_rule_likelihood_minor_increase_value
}
#### Let alone impractical excess.
else_if = {
limit = { num_of_good_genetic_traits >= 3 }
add = harm_game_rule_likelihood_medium_increase_value
}
### Then we check quality.
#### Some buffs.
if = {
limit = {
OR = {
has_trait = beauty_good_1
has_trait = intellect_good_1
has_trait = physique_good_1
}
}
add = harm_game_rule_likelihood_minor_increase_value
}
#### Clearly doing some breeding.
else_if = {
limit = {
OR = {
has_trait = beauty_good_2
has_trait = intellect_good_2
has_trait = physique_good_2
}
}
add = harm_game_rule_likelihood_medium_increase_value
}
#### Remember: you opted into this.
else_if = {
limit = {
OR = {
has_trait = beauty_good_3
has_trait = intellect_good_3
has_trait = physique_good_3
}
}
add = harm_game_rule_likelihood_major_increase_value
}
## Notable levels of prestige or piety.
if = {
limit = {
OR = {
prestige_level >= max_prestige_level
piety_level >= max_piety_level
}
}
add = harm_game_rule_likelihood_minor_increase_value
}
## Very young or getting old & in charge of an important realm.
if = {
limit = {
OR = {
AND = {
age <= 28
OR = {
highest_held_title_tier >= tier_kingdom
realm_size >= monumental_realm_size
}
}
AND = {
age >= 66
OR = {
highest_held_title_tier >= tier_kingdom
realm_size >= monumental_realm_size
}
}
}
}
add = harm_game_rule_likelihood_medium_increase_value
}
## Has capped out a noble number of perk trees.
if = {
limit = {
calc_true_if = {
amount >= 2
perks_in_diplomacy_lifestyle >= random_harm_spiteful_perks_in_tree_total_value
perks_in_martial_lifestyle >= random_harm_spiteful_perks_in_tree_total_value
perks_in_stewardship_lifestyle >= random_harm_spiteful_perks_in_tree_total_value
perks_in_intrigue_lifestyle >= random_harm_spiteful_perks_in_tree_total_value
perks_in_learning_lifestyle >= random_harm_spiteful_perks_in_tree_total_value
}
}
add = harm_game_rule_likelihood_medium_increase_value
}
}
# But uhhh, make sure it never gets too ungodly kill-crazy.
max = 2.5
}

View file

@ -1,211 +0,0 @@
###################
# 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 = 4
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
}
#Nomadic government values
exempt_herd_tax = 0
low_herd_tax = 0.05
normal_herd_tax = 0.1
high_herd_tax = 0.25
extortionate_herd_tax = 0.4
herd_tax_exempt_level = 0
herd_tax_low_level = 1
herd_tax_normal_level = 2
herd_tax_high_level = 3
herd_tax_extortionate_level = 4
exempt_nomad_tax = 0
low_nomad_tax = 0.05
normal_nomad_tax = 0.1
high_nomad_tax = 0.15
extortionate_nomad_tax = 0.2
# Default Tributary values
normal_tributary_tax = 0.25
high_tributary_tax = 0.50
normal_prestige_transfer = 0.1
high_prestige_transfer = 0.25
#maguh_development_value = {
# value = 0.01
# multiply = clan_government_tax_collector_aptitude_multiplier
#}

View file

@ -1,53 +0,0 @@

#Domesday Book Quality Levels
stewardship_domain_special_1500_domesday_perfect_quality = 24
stewardship_domain_special_1500_domesday_excellent_quality = 20
stewardship_domain_special_1500_domesday_high_quality = 15
stewardship_domain_special_1500_domesday_mediocre_quality = 10
stewardship_domain_special_1500_domesday_poor_quality = 5
#How much more monthly tax would character have to pay to their liege if obligation level was increased
stewardship_duty_5021_monthly_tax_difference = {
value = 0
if = {
limit = { vassal_contract_obligation_level:feudal_government_taxes = feudal_tax_exempt_level }
add = low_feudal_tax
subtract = feudal_tax_exempt_level
}
else_if = {
limit = { vassal_contract_obligation_level:feudal_government_taxes = feudal_tax_low_level }
add = normal_feudal_tax
subtract = low_feudal_tax
}
else_if = {
limit = { vassal_contract_obligation_level:feudal_government_taxes = feudal_tax_normal_level }
add = high_feudal_tax
subtract = normal_feudal_tax
}
else = { #Else because vassal obligation doesn't go any higher
add = extortionate_feudal_tax
subtract = high_feudal_tax
}
multiply = monthly_character_income
}
#5 years of tax difference
stewardship_duty_5021_big_money = {
value = stewardship_duty_5021_monthly_tax_difference
multiply = 120 #120 months = 10 years
divide = 5
ceiling = yes
multiply = 5
}
#2.5 years of tax difference
stewardship_duty_5021_small_money = {
value = stewardship_duty_5021_monthly_tax_difference
multiply = 60 #60 months = 5 years
divide = 5
ceiling = yes
multiply = 5
}

View file

@ -1,228 +0,0 @@

#Values used for checking relative strengths of neighbors
hold_court_8010_75_strength_value = {
value = ROOT.max_military_strength
multiply = 0.75
}
hold_court_8010_border_length_value = {
value = 0
every_sub_realm_county = {
limit = { hold_court_8010_county_trigger = yes }
add = 1
}
if = {
limit = { has_trait = paranoid }
add = 1
}
if = {
limit = { has_trait = lazy }
add = 1
}
if = {
limit = { has_trait = craven }
add = 1
}
if = {
limit = { is_powerful_vassal = yes }
add = 1
}
}
hold_court_holding_cost_cheaper_value = {
value = main_building_tier_1_cost
multiply = 0.8
}
hold_court_holding_cost_half_value = {
value = main_building_tier_1_cost
multiply = 0.8
divide = 2
}
hold_court_holding_cost_double_value = {
value = main_building_tier_1_cost
multiply = 2
}
hold_court_holding_cost_architect_cheaper_value = {
value = main_building_tier_1_cost
multiply = 0.6
}
hold_court_holding_cost_architect_expensive_value = {
value = main_building_tier_1_cost
multiply = 1.2
}
hold_court_8180_contract_weak_value = {
value = 2
}
hold_court_8180_contract_average_value = {
value = 3
}
hold_court_8180_contract_good_value = {
value = 4
}
hold_court_8180_contract_great_value = {
value = 5
}
hold_court_8180_contract_value = {
value = 0
if = {
limit = { scope:contract_lord.var:hc_8180_contract_var = 1 }
add = hold_court_8180_contract_good_value
}
if = {
limit = { scope:contract_lord.var:hc_8180_contract_var = 2 }
add = hold_court_8180_contract_weak_value
}
if = {
limit = { scope:contract_lord.var:hc_8180_contract_var = 3 }
add = hold_court_8180_contract_weak_value
}
if = {
limit = { scope:contract_lord.var:hc_8180_contract_var = 4 }
add = hold_court_8180_contract_average_value
}
if = {
limit = { scope:contract_lord.var:hc_8180_contract_var = 5 }
add = hold_court_8180_contract_good_value
}
if = {
limit = { scope:contract_lord.var:hc_8180_contract_var = 6 }
add = hold_court_8180_contract_good_value
}
if = {
limit = { scope:contract_lord.var:hc_8180_contract_var = 7 }
add = hold_court_8180_contract_average_value
}
if = {
limit = { scope:contract_lord.var:hc_8180_contract_var = 8 }
add = hold_court_8180_contract_average_value
}
if = {
limit = { scope:contract_lord.var:hc_8180_contract_var = 9 }
add = hold_court_8180_contract_great_value
}
if = {
limit = { scope:contract_lord.var:hc_8180_contract_var = 10 }
add = hold_court_8180_contract_average_value
}
if = {
limit = { scope:contract_lord.var:hc_8180_contract_var = 11 }
add = hold_court_8180_contract_average_value
}
}
hold_court_8180_artifact_value = {
value = scope:vassal_artifact.var:quality
divide = 2
}
court_8190_vassal_modifier_value = {
value = 0
subtract = steward_promote_culture_base_total
multiply = -0.10
}
court_8190_county_value = {
value = 0
if = {
limit = {
any_realm_county = { culture = scope:other_vassal.culture }
}
every_realm_county = {
limit = { culture = scope:other_vassal.culture }
add = 1
}
}
}
court_8200_pope_modifier_value = {
value = 0
subtract = court_chaplain_conversion_base_total
multiply = -0.15
}
court_8200_vassal_modifier_value = {
value = 0
subtract = court_chaplain_conversion_base_total
multiply = -0.10
}
court_8200_county_value = {
value = 0
if = {
limit = {
any_realm_county = { faith = scope:infidel_vassal.faith }
}
every_realm_county = {
limit = { faith = scope:infidel_vassal.faith }
add = 1
}
}
}
court_8260_faction_value = {
value = 0
if = {
limit = { exists = scope:vassal_faction }
scope:vassal_faction = {
every_faction_member = { add = 1 }
}
}
}
court_8090_half_building_cost_value = {
value = medium_gold_value
divide = 2
max = 50
}
court_8090_discount_building_cost_value = {
value = medium_gold_value
divide = 3
multiply = 2
max = 65
}
hold_court_8330_other_vassals_count = {
value = 0
every_vassal = {
limit = {
NOR = {
has_vassal_stance = barons_and_minor_landholders
trigger_if = {
limit = { exists = scope:vassal_1 }
has_same_vassal_stance_as_trigger = { COMPARE = scope:vassal_1 }
}
trigger_if = {
limit = { exists = scope:vassal_2 }
has_same_vassal_stance_as_trigger = { COMPARE = scope:vassal_2 }
}
}
}
add = 1
}
}
initial_petitioners_value = 3
petitioner_total_chain_length_value = {
value = initial_petitioners_value
# Add the start and end events.
add = 2
}
petitioner_current_progress_value = {
value = scope:event_chain_progress
add = 1
}

View file

@ -1,99 +0,0 @@

#Holy Order standard values
holy_order_barony_number_soft_threshold = 10
#Setup values
holy_order_gold_cost = {
value = 500
if = {
limit = {
is_ai = yes
}
add = -300
}
# Remove cost if there's a free credit available.
if = {
limit = { has_character_modifier = next_free_ho_hire_modifier }
multiply = 0
}
}
holy_order_piety_cost = {
value = 1000
if = {
limit = {
is_ai = yes
}
add = -600
}
# Remove cost if there's a free credit available.
if = {
limit = { has_character_modifier = next_free_ho_hire_modifier }
multiply = 0
}
}
holy_order_starting_gold = {
value = 250
}
cancel_holy_order_piety_cost = {
value = 500
}
#Holy Order province calculations
holy_order_barony_value_calculation = {
value = 0
add = scope:request_target.major_gold_value
add = {
value = scope:request_target.medium_gold_value
multiply = {
value = county.development_level
multiply = 0.1
}
}
if = {
limit = {
title_province = {
has_holding_type = castle_holding
}
}
multiply = 1.2
}
if = {
limit = {
title_province = {
OR = {
has_building = castle_02
has_building = city_02
}
}
}
multiply = 1.2
}
if = {
limit = {
title_province = {
OR = {
has_building = castle_03
has_building = city_03
}
}
}
multiply = 1.4
}
if = {
limit = {
title_province = {
OR = {
has_building = castle_04
has_building = city_04
}
}
}
multiply = 1.6
}
max = massive_gold_max_value
}

View file

@ -1,918 +0,0 @@
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_herd_value_recipient = {
value = 0
if = {
limit = {
exists = scope:recipient.domicile
}
add = scope:recipient.domicile.medium_herd_value
}
}
ransom_herd_value_actor = {
value = 0
if = {
limit = {
exists = scope:actor.domicile
}
add = scope:actor.domicile.medium_herd_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
}
}
if = {
limit = {
has_game_rule = hard_difficulty
OR = {
scope:imprisoner ?= {
is_ai = no
}
imprisoner ?= {
is_ai = no
}
}
}
multiply = 0.5
}
else_if = {
limit = {
has_game_rule = very_hard_difficulty
OR = {
scope:imprisoner ?= {
is_ai = no
}
imprisoner ?= {
is_ai = no
}
}
}
multiply = 0.25
}
}
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_belligerent_vassals = {
value = 0
every_vassal = {
limit = {
has_vassal_stance = belligerent
}
add = 1
}
}
number_of_participating_belligerent_vassals = {
value = 0
every_vassal = {
limit = {
has_vassal_stance = belligerent
is_participant_in_activity = root.involved_activity
}
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
}
}
ten_percent_of_current_military_strength = {
value = {
add = current_military_strength
multiply = 0.1
}
}
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
}
duchy_confederation_vassals_value = {
value = 0
scope:actor.confederation = {
every_confederation_member = {
limit = {
highest_held_title_tier >= tier_county
}
add = -1
}
}
#First 3 confederates are free
add = 3
#Multiply by 20 to get impact
max = 0
multiply = 15
}
duchy_confederation_vassals_value_recipient = {
value = 0
scope:recipient.confederation = {
every_confederation_member = {
limit = {
highest_held_title_tier >= tier_county
}
add = -1
}
}
#First 5 confederates are free
add = 5
#Multiply by 20 to get impact
max = 0
multiply = 15
}

View file

@ -1,10 +0,0 @@
scheme_starting_opportunities_per_intrigue_threshold_value = 15
scheme_starting_opportunities_per_intrigue_increment_value = 5
#Depravity Tracking
intrigue_depravity_compassionate_loss_threshold = 3
intrigue_depravity_threshold = 3
#Deceit Tracking
intrigue_deception_honest_loss_threshold = 3
intrigue_deception_threshold = 3

View file

@ -1,12 +0,0 @@

################################
# Almohads
################################
almohad_appearance_base_chance = 1
titles_held_in_k_maghreb = {
every_sub_realm_county = {
limit = { kingdom = title:k_maghreb }
add = 1
}
}

View file

@ -1,739 +0,0 @@
##############
# 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
}
# Prowess: Base Dominance Cost Reduction
prowess_law_cost_modifier = {
value = 0
subtract = prowess
add = 8
divide = 75
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: The modifier used to calculate the Warmonger modifier if the character's faith has Warmonger
warmonger_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 = {
OR = {
has_variable = crown_authority_cooldown
has_variable = imperial_bureaucracy_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%
}
}
}
#Dominance / Nomadic Authority Change
increase_nomadic_authority_herd_cost_base = 500
increase_nomadic_authority_herd_cost = {
add = {
desc = "BASE_VALUE"
value = increase_nomadic_authority_herd_cost_base
format = "BASE_VALUE_FORMAT"
}
multiply = {
desc = "era_law_cost_scale"
value = domicile.herd_value_scale_by_era
}
multiply = {
desc = "dominance_law_cost_scale"
value = dominance_value
}
}
increase_nomadic_authority_prestige_base = 300
increase_nomadic_authority_prestige_cost = {
add = {
desc = "BASE_VALUE"
value = increase_nomadic_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
}
# Prowess Modifier (2% more expensive for each skill point below 8 Prowess)
if = {
limit = {
prowess < 8
}
add = {
desc = "poor_prowess_law_cost_tooltip"
value = {
add = increase_nomadic_authority_prestige_base
add = subrealm_size_modifier
}
multiply = prowess_law_cost_modifier
}
}
else_if = { # (2% less expensive for each skill point above 8 Prowess)
limit = {
prowess > 8
}
add = {
desc = "prowess_law_cost_tooltip"
value = {
add = increase_nomadic_authority_prestige_base
add = subrealm_size_modifier
}
multiply = prowess_law_cost_modifier
}
}
# Tenet Modifiers
if = {
limit = {
faith = {
has_doctrine_parameter = warmonger
}
}
add = {
desc = "tenet_warmonger_law_cost_tooltip"
value = {
add = increase_crown_authority_prestige_base
add = subrealm_size_modifier
}
multiply = warmonger_law_cost_modifier
}
}
# Apply All-Things cooldown breaker multiplier.
if = {
limit = {
has_variable = nomadic_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
}
}
}
}
#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

@ -1,61 +0,0 @@
memory_default_duration = {
value = 5
if = {
limit = {
OR = {
is_ruler = yes
any_close_family_member = {
is_ruler = yes
}
any_spouse = {
is_ruler = yes
}
}
}
add = 125
}
if = {
limit = {
highest_held_title_tier >= tier_duchy
}
add = 25
}
if = {
limit = {
any_relation = {
type = rival
is_ai = no
}
}
add = 25
}
if = {
limit = {
any_relation = {
type = friend
is_ai = no
}
}
add = 25
}
if = {
limit = {
any_relation = {
type = ward
is_ai = no
}
}
add = 25
}
if = {
limit = {
OR = {
is_ai = no
any_parent = {
is_ai = no
}
}
}
add = 195
}
}

View file

@ -1,926 +0,0 @@
######################
# 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]
@gunpowder_recruitment_cost = 76
@gunpowder_low_maint_cost = 0.35
@gunpowder_high_maint_cost = @[gunpowder_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]
handgunner_recruitment_cost = @[gunpowder_recruitment_cost]
handgunner_low_maint_cost = @[gunpowder_low_maint_cost]
handgunner_high_maint_cost = @[gunpowder_high_maint_cost]
### Siege Weapons MAA
torch_bearers_recruitment_cost = @[siege_weapons_recruitment_cost * 0.5]
torch_bearers_low_maint_cost = @[siege_weapons_low_maint_cost * 0.5]
torch_bearers_high_maint_cost = @[siege_weapons_high_maint_cost * 0.5]
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]
ballista_recruitment_cost = @[siege_weapons_recruitment_cost]
ballista_low_maint_cost = @[siege_weapons_low_maint_cost]
ballista_high_maint_cost = @[siege_weapons_high_maint_cost]
cloud_ladder_recruitment_cost = @[siege_weapons_recruitment_cost * 1.1]
cloud_ladder_low_maint_cost = @[siege_weapons_low_maint_cost * 1.1]
cloud_ladder_high_maint_cost = @[siege_weapons_high_maint_cost * 1.1]
siege_tower_recruitment_cost = @[siege_weapons_recruitment_cost * 1.3]
siege_tower_low_maint_cost = @[siege_weapons_low_maint_cost * 1.3]
siege_tower_high_maint_cost = @[siege_weapons_high_maint_cost * 1.3]
cannon_recruitment_cost = @[gunpowder_recruitment_cost * 1.6]
cannon_low_maint_cost = @[gunpowder_low_maint_cost * 1.6]
cannon_high_maint_cost = @[gunpowder_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]
warrior_monks_gold_recruitment_cost = 45
warrior_monks_piety_recruitment_cost = 200
warrior_monks_gold_low_maint_cost = 0.1
warrior_monks_gold_high_maint_cost = 0.3
warrior_monks_piety_low_maint_cost = 0.2
warrior_monks_piety_high_maint_cost = 0.6
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]
shenbigong_recruitment_cost = @[archers_recruitment_cost * 1.75]
shenbigong_low_maint_cost = @[archers_low_maint_cost * 1.75]
shenbigong_high_maint_cost = @[archers_high_maint_cost * 1.75]
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
fire_lancers_recruitment_cost = @[gunpowder_recruitment_cost]
fire_lancers_low_maint_cost = @[gunpowder_low_maint_cost]
fire_lancers_high_maint_cost = @[gunpowder_high_maint_cost]
gakgung_archers_recruitment_cost = @[archers_recruitment_cost * 1.2]
gakgung_archers_low_maint_cost = @[archers_low_maint_cost * 1.2]
gakgung_archers_high_maint_cost = @[archers_high_maint_cost * 1.2]
ballista_elephant_recruitment_cost = @[heavy_cavalry_recruitment_cost * 2.2]
ballista_elephant_low_maint_cost = @[heavy_cavalry_low_maint_cost * 1.4]
ballista_elephant_high_maint_cost = @[heavy_cavalry_high_maint_cost * 1.6]
pesilat_warriors_recruitment_cost = @[skirmisher_recruitment_cost * 0.9]
pesilat_warriors_low_maint_cost = @[skirmisher_low_maint_cost * 0.9]
pesilat_warriors_high_maint_cost = @[skirmisher_high_maint_cost * 0.9]
samurai_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.67]
samurai_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.67]
samurai_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.67]
zhanmadao_infantry_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.2]
zhanmadao_infantry_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.2]
zhanmadao_infantry_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.2]
burenjia_recruitment_cost = @[heavy_infantry_recruitment_cost * 1.33]
burenjia_low_maint_cost = @[heavy_infantry_low_maint_cost * 1.33]
burenjia_high_maint_cost = @[heavy_infantry_high_maint_cost * 1.33]
tiefutu_recruitment_cost = @[heavy_cavalry_recruitment_cost * 1.3]
tiefutu_low_maint_cost = @[heavy_cavalry_low_maint_cost * 1.3]
tiefutu_high_maint_cost = @[heavy_cavalry_high_maint_cost * 1.3]
rocket_carts_recruitment_cost = @[archers_recruitment_cost * 1.25]
rocket_carts_low_maint_cost = @[archers_low_maint_cost * 0.9] # uses gunpowder, but also uses less men than archers would
rocket_carts_high_maint_cost = @[archers_high_maint_cost * 0.9]
### 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]
#MPO
steppe_raiders_recruitment_cost = @[light_cavalry_recruitment_cost * 0.9]
steppe_raiders_low_maint_cost = @[light_cavalry_low_maint_cost * 0.9]
steppe_raiders_high_maint_cost = @[light_cavalry_high_maint_cost * 0.9]
heavy_horse_archers_recruitment_cost = @[skirmisher_recruitment_cost * 3.5]
heavy_horse_archers_low_maint_cost = @[skirmisher_low_maint_cost * 3.5]
heavy_horse_archers_high_maint_cost = @[skirmisher_high_maint_cost * 3.5]
nomad_lancers_recruitment_cost = @[heavy_cavalry_recruitment_cost * 0.95]
nomad_lancers_low_maint_cost = @[heavy_cavalry_low_maint_cost * 0.95]
nomad_lancers_high_maint_cost = @[heavy_cavalry_high_maint_cost * 0.95]
kheshig_recruitment_cost = @[skirmisher_recruitment_cost * 5]
kheshig_veterans_low_maint_cost = @[skirmisher_low_maint_cost * 5]
kheshig_veterans_high_maint_cost = @[skirmisher_high_maint_cost * 5]
mangudai_recruitment_cost = @[skirmisher_recruitment_cost * 2.2]
mangudai_low_maint_cost = @[skirmisher_low_maint_cost * 2.2]
mangudai_high_maint_cost = @[skirmisher_high_maint_cost * 2.2]
cataphract_archers_recruitment_cost = @[heavy_cavalry_recruitment_cost * 1.3]
cataphract_archers_low_maint_cost = @[heavy_cavalry_low_maint_cost * 1.3]
cataphract_archers_high_maint_cost = @[heavy_cavalry_high_maint_cost * 1.3]
maturkan_warriors_recruitment_cost = @[archers_recruitment_cost * 1.05]
maturkan_warriors_low_maint_cost = @[archers_low_maint_cost * 1.05]
maturkan_warriors_high_maint_cost = @[archers_high_maint_cost * 1.05]
##############
# 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 = {
OR = {
culture = {
culture_has_heavy_infantry_maa = yes
}
# Zhanmadao (China)
vassal_contract_has_flag = celestial_province_military
vassal_contract_has_flag = celestial_province_protectorate
}
}
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 = {
mpo_can_recruit_nomad_maa_trigger = no
OR = {
culture = { has_cultural_pillar = heritage_iranian }
}
}
add = 80
}
if = { # Cultures that favours light cavalry
limit = {
mpo_can_recruit_nomad_maa_trigger = no
culture = {
OR = {
has_cultural_pillar = heritage_arabic
has_cultural_pillar = heritage_berber
has_cultural_pillar = heritage_iberian
has_cultural_pillar = heritage_indo_aryan
has_cultural_pillar = heritage_turkic
has_cultural_pillar = heritage_mongolic
}
}
}
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 = {
mpo_can_recruit_nomad_maa_trigger = no
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 = {
mpo_can_recruit_nomad_maa_trigger = no
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_gunpowder = {
value = 200 # Since these are hard-limited elsewhere, prefer them highly
if = {
limit = {
culture = { has_cultural_era_or_later = culture_era_late_medieval }
number_maa_regiments_of_base_type = {
type = pikemen
value >= 3
}
NOT = {
number_maa_regiments_of_base_type = {
type = gunpowder
value >= 1
}
}
}
add = 60
}
if = {
limit = {
culture = { has_cultural_pillar = heritage_chinese }
}
add = 10 # more gun
}
}
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
}
}
culture_ai_weight_crossbowmen = {
value = counter_synergy_ai_weight_crossbowmen
if = { # Cultures with a special MaA of that type should avoid the base version of the unit
limit = {
culture = {
culture_has_improved_crossbowmen = yes
}
}
add = -500
}
}
counter_synergy_ai_weight_crossbowmen = {
value = counter_synergy_ai_weight_archers
if = { # They counter heavy cavalry, so less interesting early on
limit = {
current_date < 1150.1.1
}
add = -100
}
}
###################
# Provisions Costs #
###################
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
############
# GUN MATH #
############
gunpowder_raise_limit_existing_gunpowder_units = {
value = 0
every_maa_regiment = {
limit = {
is_personal_maa_regiment = yes
OR = {
is_maa_type = handgunners
is_maa_type = fire_lancers
}
}
add = 1
}
}
gunpowder_raise_limit_existing_gunpowder_buildings = {
value = 0
every_directly_owned_province = {
limit = {
has_building_or_higher = powder_magazine_01
}
if = {
limit = {
has_building_or_higher = powder_magazine_07
}
add = gunpowder_building_limit_bonus_3
}
else_if = {
limit = {
has_building_or_higher = powder_magazine_04
}
add = gunpowder_building_limit_bonus_2
}
else = {
add = gunpowder_building_limit_bonus_1
}
}
if = {
limit = {
exists = domicile
}
domicile = {
if = {
limit = {
has_domicile_building_or_higher = east_asian_estate_gunpowder_storage_03
}
add = gunpowder_building_limit_bonus_2
}
else_if = {
limit = {
has_domicile_building_or_higher = east_asian_estate_gunpowder_storage_01
}
add = gunpowder_building_limit_bonus_1
}
}
}
}
gunpowder_building_limit_bonus_1 = 1
gunpowder_building_limit_bonus_2 = 2
gunpowder_building_limit_bonus_3 = 3

View file

@ -1,239 +0,0 @@
#######################
# 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 = {
value = 1
#player temujin should start getting a higher chance of becoming Genghis faster
if = {
limit = {
exists = character:125501
character:125501 = {
is_ai = no
is_physically_able_ai_adult = yes
}
current_date > 1190.1.1
}
add = 30
}
}
# 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
}
}
}

View file

@ -1,5 +0,0 @@
##################################################
# Send Poem Interaction
# This needs to be synced with @send_poem_cooldown_years_value in 00_poetry_opinions.txt.
send_poem_cooldown_years_value = 5

View file

@ -1,4 +0,0 @@

dungeon_events_on_action_chance = {
add = 50
}

View file

@ -1,38 +0,0 @@
#############
# SAHARA & SAHEL
#############
local_slave_gold_value = { #How much would a colossal slave raid fetch from this place?
value = monthly_income
multiply = 10
#Sensible max-mins.
min = 30
max = 100
#Give a whole number.
ceiling = yes
}
slaver_reparations_value = {
value = monthly_character_income
#Sensible max-mins.
min = 10
max = 120
#Give a whole number.
ceiling = yes
}
selfish_liege_slave_gold_value = {
value = monthly_income
multiply = 5
#Sensible max-mins.
min = 15
max = 80
#Give a whole number.
ceiling = yes
}

View file

@ -1,44 +0,0 @@
# Default relation opinions
default_friend_opinion = 15
default_rival_opinion = -15
default_lover_opinion = 15
#Rivalry score adjustments
minor_rival_score_gain = 10
medium_rival_score_gain = 20
major_rival_score_gain = 30
massive_rival_score_gain = 40
#Rivalry score diff thresholds
minor_story_owner_advantage = 10
medium_story_owner_advantage = 30
major_story_owner_advantage = 50
minor_target_rival_advantage = -10
medium_target_rival_advantage = -30
major_target_rival_advantage = -50
# Existing Relationship Tallies
sum_friends_and_rivals_tally_value = {
value = 0
every_relation = {
type = friend
add = 1
}
every_relation = {
type = rival
add = 1
}
}
sum_potential_friends_and_potential_rivals_tally_value = {
value = 0
every_relation = {
type = potential_friend
add = 1
}
every_relation = {
type = potential_rival
add = 1
}
}
getwomanmangirlboy_age_threshold_value = 20

File diff suppressed because it is too large Load diff

View file

@ -1,6 +0,0 @@

#Zealous Tracking
scholarship_zealous_threshold = -3
#Cynical Tracking
scholarsip_cynical_threshold = 3

View file

@ -1,179 +0,0 @@
############################
# COMBAT SETTINGS
############################
# By default, how much % extra do we pump it up when someone is risking injury? Occurs *after* it has been determined that they may be injured, and just increases that chance.
starting_injury_bonus = 10
# How much of a gap do you need, initially, between you and your opponent in order to win?
starting_success_threshold = 125
# How many rounds can the single combat go before it enters sudden death?
round_cap_limit = 4
# When does it get easier to injure yourself, and by how much?
round_injury_bonus_lower = 3
round_injury_bonus_lowest = 4
round_injury_adjustment_lower = 10
round_injury_adjustment_lowest = 30
# When does it get easier to win, and by how much?
round_success_threshold_lower = 3
round_success_threshold_lowest = 4
round_success_adjustment_lower = -15
round_success_adjustment_lowest = -20
############################
# SINGLE COMBAT SKILL RATINGS
############################
low_scsk = low_skill_rating
mediocre_scsk = mediocre_skill_rating
medium_scsk = medium_skill_rating
decent_scsk = decent_skill_rating
high_scsk = high_skill_rating
very_high_scsk = very_high_skill_rating
extremely_high_scsk = extremely_high_skill_rating
############################
# COMBAT ROLLS
############################
# Injury Risk values
injury_risk_none = 0
injury_risk_low = 25
injury_risk_medium = 50
injury_risk_high = 75
injury_risk_very_high = 100
# Duel Success values
duel_success_none = 0
duel_success_low = 25
duel_success_medium = 50
duel_success_high = 75
duel_success_very_high = 100
############################
# DESC THRESHOLDS
############################
sc_defender_injury_check_actual = {
value = scope:sc_defender.var:sc_defender_injury_risk_check
subtract = scope:sc_defender.var:sc_defender_duel_success_score
}
sc_attacker_injury_check_actual = {
value = scope:sc_attacker.var:sc_attacker_injury_risk_check
subtract = scope:sc_attacker.var:sc_attacker_duel_success_score
}
single_combat_injury_very_unlikely_value = -50
single_combat_injury_unlikely_value = -10
single_combat_injury_neutral_value = 10
single_combat_injury_likely_value = 40
single_combat_success_almost_impossible_value = -70
single_combat_success_very_unlikely_value = -45
single_combat_success_unlikely_value = -20
single_combat_success_likely_value = 20
single_combat_success_very_likely_value = 45
single_combat_success_almost_certain_value = 70
############################
# COMBAT MOVE WEIGHTING CONTROLS
############################
sce_regular_combat_repeat_down_weight = -750
############################
# COMBAT MOVE AI WEIGHTS
############################
sce_ai_mod_trait_weight_light = 25
sce_ai_mod_trait_weight_medium = 50
sce_ai_mod_trait_weight_heavy = 75
sce_ai_mod_trait_down_weight_medium = -50
############################
# COMBAT MOVE SPECIAL EFFECTS VALUES
############################
combat_move_pocket_silver_value = 20
combat_move_reason_you_suck_speech_value = {
value = diplomacy
# Every 1pts of diplomacy gives 5 prestige.
multiply = 5
}
combat_move_butchery_dread_value = {
value = prowess
# Every 2pts of prowess gives a point of dread.
divide = 2
# Up to a sensible maximum.
max = 10
}
combat_move_blade_dance_value = {
value = prowess
# Every 1pts of prowess gives 5 prestige.
multiply = 5
}
# Since this doesn't refere to a true threshold, a malus means incrementing the number (bringing you closer to the eventual target).
combat_move_wound_threshold_malus_1 = 30
combat_move_wound_threshold_malus_2 = 40
combat_move_wound_threshold_malus_3 = 50
# Since this doesn't refere to a true threshold, a bonus means decrementing the number (bringing you further away from the eventual target).
combat_move_wound_threshold_bonus_1 = -30
combat_move_wound_threshold_bonus_2 = -40
combat_move_wound_threshold_bonus_3 = -50
############################
# MISC
############################
# Calculates a character's prowess, plus the number of traits they have with beneficial special combat moves.
sce_has_single_combat_special_traits_value = {
value = prowess
# Blademaster.
if = {
limit = { has_trait = lifestyle_blademaster }
add = 10
}
# Hunter.
if = {
limit = { has_trait = lifestyle_hunter }
add = 10
}
# Berserker.
if = {
limit = { has_trait = berserker }
add = 10
}
# Shieldmaiden.
if = {
limit = { has_trait = shieldmaiden }
add = 10
}
# Varangian.
if = {
limit = { has_trait = varangian }
add = 10
}
# Deviant.
if = {
limit = { has_trait = deviant }
add = 10
}
# Viking.
if = {
limit = { has_trait = viking }
add = 10
}
}

View file

@ -1,159 +0,0 @@
############################
# STRESS CHANGES
############################
miniscule_stress_gain = 10
minor_stress_gain = 20
medium_stress_gain = 40
major_stress_gain = 60
massive_stress_gain = 100
monumental_stress_gain = 150
miniscule_stress_loss = -5
minor_stress_loss = -10
medium_stress_loss = -20
major_stress_loss = -40
massive_stress_loss = -60
monumental_stress_loss = -100
#Thresholds
minor_stress_gain_threshold = 100
medium_stress_gain_threshold = 200
major_stress_gain_threshold = 300
max_stress_gain_threshold = 400
#Values to be used in "stress_impact"
miniscule_stress_impact_gain = 10
minor_stress_impact_gain = 20
medium_stress_impact_gain = 40
major_stress_impact_gain = 80
massive_stress_impact_gain = 100
miniscule_stress_impact_loss = -5
minor_stress_impact_loss = -15
medium_stress_impact_loss = -30
major_stress_impact_loss = -65
massive_stress_impact_loss = -100
# For certain traits 'nullifying' most of a medium stress gain, but some left for flavor.
sub_medium_stress_impact_loss = -30
sub_medium_stress_impact_gain = 30
refund_perks_stress_impact = 100
mental_break_opt_out_stress_gain = 25
hunt_stress_loss_value = -30
meager_feast_stress_loss_value = -10
feast_stress_loss_value = -30
medium_feast_stress_loss_value = -35
lavish_feast_stress_loss_value = -40
exotic_feast_stress_loss_value = -45
activity_stress_loss_impact = -15
activity_stress_gain_impact = 15
#Duration of stress-induced opinion penalties in days
default_stress_opinion_duration = 3650
#Cost of changing a child's traits
child_trait_change_stress_penalty = 30
depart_from_own_trait_stress_cost = 10
#Stress trigger values
very_low_stress = 10
low_stress = 25
lower_than_baseline_stress = 50
normal_baseline_stress = 75
higher_than_baseline_stress = 100
low_medium_stress = 125
medium_stress = 150
high_medium_stress = 175
high_stress = 200
very_high_stress = 250
extremely_high_stress = 300
# Mental Break values
stress_threshold_cooldown_duration = {
value = 1824 # 1 day less than 5 years
if = {
limit = {
has_perk = mental_resilience_perk
}
add = 1095 # 3 years extra
}
floor = yes # Should be unneccessary, but ensures it's an int
}
stress_threshold_cooldown_duration_in_years = {
value = 5
if = {
limit = {
has_perk = mental_resilience_perk
}
add = 3
}
}
stress_threshold_second_check_timing = {
value = 1825 # 5 years
if = {
limit = {
has_perk = mental_resilience_perk
}
add = 1095 # 3 years extra
}
floor = yes # Should be unneccessary, but ensures it's an int
}
generous_title_grant_value = {
value = 0
# Base stress value scaled on title tier.
every_in_list = {
list = target_titles
add = {
value = 0
if = {
limit = { this.tier = tier_county }
add = minor_stress_loss # 10 base
}
else_if = {
limit = { this.tier = tier_duchy }
add = {
value = medium_stress_loss
multiply = 1.25 # 25 base
}
}
else_if = {
limit = { this.tier = tier_kingdom }
add = {
value = major_stress_loss
multiply = 2 # 80 base
}
}
else_if = {
limit = { this.tier = tier_empire }
add = {
value = monumental_stress_loss
multiply = 2 # 200 base
}
}
# Lose more stress for giving away titles of your primary tier; lose less stress for giving away titles far below your primary in tier.
multiply = {
value = this.tier
add = 1
divide = scope:actor.primary_title.tier
}
# Round to the nearest multiple of 5.
divide = 5
round = yes
multiply = 5
# For a Duke, this will be x1.25 for Duchies (-30) and x1 for Counties(-10)
# For a King, this will be x1.25 for a Kingdom (-100), x1 for a Duchy (-25) and x0.75 for Counties(-10)
# For an Emperor, this will be x1.25 for an Empire(-200), x1 for a Kingdom(-80), x0.75 for a Duchy(-20) and x0.4 for a Counties (-5)
}
}
}

View file

@ -1,174 +0,0 @@
##################################################
# Struggle Scripted Values
##################################################
##################################################
# Agnostic Values
# Since we never take points away from catalysts, we only need them in the positive.
minimal_struggle_catalyst_gain = 1
minor_struggle_catalyst_gain = 3
medium_struggle_catalyst_gain = 5
major_struggle_catalyst_gain = 10
massive_struggle_catalyst_gain = 25
monumental_struggle_catalyst_gain = 50
# "over time" values for balancing passage of time catalysts.
minimal_struggle_catalyst_over_time_gain = 1
minor_struggle_catalyst_over_time_gain = 2
medium_struggle_catalyst_over_time_gain = 3
major_struggle_catalyst_over_time_gain = 5
massive_struggle_catalyst_over_time_gain = 10
monumental_struggle_catalyst_over_time_gain = 20
# Special values for syncing catalysts between phases that need different values than the standard for balancing purposes.
catalyst_forming_alliance_between_supporter_detractor_rulers_value = 2
catalyst_fp3_yearly_time_out_ending_drift = {
value = 1
# If we're past 960, bump it up.
if = {
limit = { current_year >= 960 }
add = 1
}
# If we're past 1000, really bump it up.
## Remember that this is cumulative.
if = {
limit = { current_year >= 1000 }
add = 3
}
}
# Mess around with the AI's priorities for war targets.
## We mostly apply this in nakedly aggressive wars; AI with claims or de jure rights elsewhere shouldn't want to forgo them completely.
struggle_wars_prioritise_struggle_targets_value = {
value = 1
# If scope:attacker is involved in a struggle, we tank how much they want to attack non-struggle characters.
if = {
limit = {
scope:attacker = {
any_character_struggle = {
involvement = involved
is_secondary_character_involvement_neither_trigger = { CHAR = scope:defender }
}
}
}
multiply = 0.25
}
# And scope:defender is an interloper in the same struggle, we double-dip.
if = {
limit = {
scope:attacker = {
any_character_struggle = {
involvement = involved
is_secondary_character_involvement_interloper_trigger = { CHAR = scope:defender }
}
}
}
multiply = 1.5
}
# Agenda impact
if = {
limit = {
scope:attacker = {
any_character_struggle = {
involvement = involved
}
}
}
multiply = {
value = 0
if = {
limit = {
scope:attacker = {
any_character_struggle = {
phase_has_catalyst = catalyst_winning_large_conquest_war
}
has_character_flag = agenda_towards_escalation
}
}
add = 2
}
else_if = {
limit = {
scope:attacker = {
any_character_struggle = {
phase_has_catalyst = catalyst_winning_large_conquest_war
}
}
}
add = 0.25
}
}
}
}
##################################################
# Catalyst Values
catalyst_forming_alliance_with_major_uninvolved_power_power_realm_size_value = { value = massive_realm_size }
catalyst_cooldown_between_significant_character_deaths_years_value = 25
##################################################
# Phase Values
# Sundry bonuses for council tasks and such.
boost_county_conversion_phase_bonus_value = {
value = court_chaplain_conversion_base_total
multiply = 0.25
}
boost_county_conversion_phase_malus_value = {
value = court_chaplain_conversion_base_total
multiply = -0.25
}
# Used for random weighting.
add_X_per_sub_realm_struggle_county_value = {
every_sub_realm_county = {
limit = {
any_county_struggle = { this = root }
}
add = 2
}
}
fp2_struggle_0011_gift_cost_value = { value = major_gold_value }
fp2_struggle_compromise_ending_minimal_empire_size = 5
# What we show in loc.
fp3_caliph_gets_cheaper_subjugation_cb_show_value = 0.2
# What we actually use in script.
fp3_caliph_gets_cheaper_subjugation_cb_actual_value = {
value = 1
subtract = fp3_caliph_gets_cheaper_subjugation_cb_show_value
}
# Empower viziers.
fp3_empower_viziers_swing_value = 25
##################################################
# FP3 Control Values
# At what threshold of house heads do we activate successively larger antagonistic house catalysts?
catalyst_yearly_influential_house_is_antagonistic_major_control_value = 10
catalyst_yearly_influential_house_is_antagonistic_medium_control_value = 6
catalyst_yearly_influential_house_is_antagonistic_minor_control_value = 3
catalyst_yearly_influential_house_is_antagonistic_minimal_control_value = 1
# At what threshold of house heads do we activate successively larger harmonious house catalysts?
catalyst_yearly_influential_house_is_harmonious_major_control_value = 10
catalyst_yearly_influential_house_is_harmonious_medium_control_value = 6
catalyst_yearly_influential_house_is_harmonious_minor_control_value = 3
catalyst_yearly_influential_house_is_harmonious_minimal_control_value = 1
sub_realm_size_value = {
value = sub_realm_size
}
caliph_realm_size_value = {
value = title:d_sunni.holder.realm_size
}

View file

@ -1,5 +0,0 @@
recommended_num_maa_regiments_value = {
# 1 for counts, 2 for dukes, 3 for kings, 4 for emperors
value = highest_held_title_tier
subtract = 1
}

View file

@ -1,173 +0,0 @@
tier_unlanded = 0
tier_barony = 1
tier_county = 2
tier_duchy = 3
tier_kingdom = 4
tier_empire = 5
highest_held_title_tier_plus_one = {
value = highest_held_title_tier
add = 1
max = tier_empire
}
highest_held_title_tier_minus_one = {
value = highest_held_title_tier
subtract = 1
min = tier_unlanded
}
# Referenced in code, what % of a title's counties you need to own to create it
# Note: First item with 'desc' is considered the base and will be shown as 'neutral'
# root = creating character
# scope:title = the title
create_title_counties_percentage = {
scope:title = {
if = {
limit = {
OR = {
tier = tier_duchy
tier = tier_kingdom
}
}
add = {
value = 0.5
desc = CREATE_TITLE_PERCENTAGE_BASE_DUCHY_KINGDOM
}
if = {
limit = { # Do you have Legitimacy?
root ?= {
has_legitimacy = yes
}
}
if = {
limit = {
root = {
has_legitimacy_flag = extra_reduced_title_creation_cost
}
}
add = {
value = -0.25 #25%
desc = CREATE_TITLE_PERCENTAGE_LEGITIMACY_DISCOUNT_EXTRA_REDUCED
}
}
else_if = {
limit = {
root = { has_legitimacy_flag = very_reduced_title_creation_cost }
}
add = {
value = -0.20 #30%
desc = CREATE_TITLE_PERCENTAGE_LEGITIMACY_DISCOUNT_VERY_REDUCED
}
}
else_if = {
limit = {
root = { has_legitimacy_flag = reduced_title_creation_cost }
}
add = {
value = -0.15 #35%
desc = CREATE_TITLE_PERCENTAGE_LEGITIMACY_DISCOUNT_REDUCED
}
}
else = {
#If you're level 2/1/0 or don't have Legitimacy you get no discounts
add = {
value = 0.0
desc = CREATE_TITLE_PERCENTAGE_LEGITIMACY_DISCOUNT_NONE
}
}
}
else = {
#If you're level 2/1/0 or don't have Legitimacy you get no discounts
add = {
# We add 0 with a 'desc', so we show up in the GUI and people understand legitimacy is a way to improve this
value = 0.0
desc = CREATE_TITLE_PERCENTAGE_LEGITIMACY_DISCOUNT_NONE
}
}
}
else_if = { #Smaller discounts for Empires
limit = {
tier = tier_empire
}
add = {
value = 0.8
desc = CREATE_TITLE_PERCENTAGE_BASE_EMPIRE
}
if = {
limit = { # Do you have Legitimacy?
root = {
has_legitimacy = yes
}
}
if = {
limit = {
root = {
has_legitimacy_flag = extra_reduced_title_creation_cost
}
}
add = {
value = -0.15 #65%
desc = CREATE_TITLE_PERCENTAGE_LEGITIMACY_DISCOUNT_EXTRA_REDUCED
}
}
else_if = {
limit = {
root = { has_legitimacy_flag = very_reduced_title_creation_cost }
}
add = {
value = -0.10 #70%
desc = CREATE_TITLE_PERCENTAGE_LEGITIMACY_DISCOUNT_VERY_REDUCED
}
}
else_if = {
limit = {
root = { has_legitimacy_flag = reduced_title_creation_cost }
}
add = {
value = -0.05 #75%
desc = CREATE_TITLE_PERCENTAGE_LEGITIMACY_DISCOUNT_REDUCED
}
}
else = {
#If you're level 1/0 or don't have Legitimacy you get no discounts
add = {
value = 0.0
desc = CREATE_TITLE_PERCENTAGE_LEGITIMACY_DISCOUNT_NONE
}
}
}
else = {
#If you're level 1/0 or don't have Legitimacy you get no discounts
add = {
# We add 0 with a 'desc', so we show up in the GUI and people understand legitimacy is a way to improve this
value = 0.0
desc = CREATE_TITLE_PERCENTAGE_LEGITIMACY_DISCOUNT_NONE
}
}
}
}
}
# Referenced in code, what % of a title's counties you need to own to usurp it
# root = creating character
# scope:title = the title
usurp_title_counties_percentage = {
scope:title = {
if = {
limit = {
OR = {
tier = tier_duchy
tier = tier_kingdom
}
}
add = 0.5
}
else_if = {
limit = {
tier = tier_empire
}
add = 0.8
}
}
}

View file

@ -1,10 +0,0 @@
#Trait xp
miniscule_trait_xp = 1
minor_trait_xp = 3
medium_trait_xp = 5
major_trait_xp = 10
massive_trait_xp = 20 #Rarely ever use
#XP needed for trait level
trait_second_level = 50
trait_third_level = 100

View file

@ -1,164 +0,0 @@
traveler_rank_up_1_threshold = 10
traveler_rank_up_2_threshold = 20
traveler_rank_up_3_threshold = 30
traveler_rank_up_4_threshold = 40
traveler_rank_up_5_threshold = 50
traveler_rank_up_6_threshold = 60
traveler_rank_up_7_threshold = 70
traveler_rank_up_8_threshold = 80
traveler_rank_up_9_threshold = 90
traveler_rank_up_10_threshold = 100
# Read time constants
@hills_danger_value = 45
@mountains_danger_value = 65
@desert_danger_value = 50
@desert_mountains_danger_value = 65
@jungle_danger_value = 65
@forest_danger_value = 45
@taiga_danger_value = 55
@wetlands_danger_value = 65
@steppe_danger_value = 50
@floodplains_danger_value = 35
@drylands_danger_value = 35
@epidemic_danger_value = 80
@high_reduction_constant = -1
@medium_reduction_constant = @[2 / 3 * -1]
@low_reduction_constant = @[1 / 3 * -1]
# Script values other files can reference
hills_danger_value = @hills_danger_value
mountains_danger_value = @mountains_danger_value
desert_danger_value = @desert_danger_value
desert_mountains_danger_value = @desert_mountains_danger_value
jungle_danger_value = @jungle_danger_value
forest_danger_value = @forest_danger_value
taiga_danger_value = @taiga_danger_value
wetlands_danger_value = @wetlands_danger_value
steppe_danger_value = @steppe_danger_value
floodplains_danger_value = @floodplains_danger_value
drylands_danger_value = @drylands_danger_value
epidemic_danger_value = @epidemic_danger_value
ocean_danger_value = 75
coastal_sea_danger_value = 50
low_sea_danger_reduction = -25
medium_sea_danger_reduction = -45
hills_high_danger_reduction = @[hills_danger_value * high_reduction_constant]
hills_medium_danger_reduction = @[hills_danger_value * medium_reduction_constant -2]
hills_low_danger_reduction = @[hills_danger_value * low_reduction_constant +1]
mountains_high_danger_reduction = @[mountains_danger_value * high_reduction_constant]
mountains_medium_danger_reduction = @[mountains_danger_value * medium_reduction_constant +1]
mountains_low_danger_reduction = @[mountains_danger_value * low_reduction_constant -2]
desert_high_danger_reduction = @[desert_danger_value * high_reduction_constant]
desert_medium_danger_reduction = @[desert_danger_value * medium_reduction_constant +1]
desert_low_danger_reduction = @[desert_danger_value * low_reduction_constant -2]
desert_mountains_high_danger_reduction = @[desert_mountains_danger_value * high_reduction_constant]
desert_mountains_medium_danger_reduction = @[desert_mountains_danger_value * medium_reduction_constant +1]
desert_mountains_low_danger_reduction = @[desert_mountains_danger_value * low_reduction_constant -2]
jungle_high_danger_reduction = @[jungle_danger_value * high_reduction_constant]
jungle_medium_danger_reduction = @[jungle_danger_value * medium_reduction_constant +1]
jungle_low_danger_reduction = @[jungle_danger_value * low_reduction_constant -2]
forest_high_danger_reduction = @[forest_danger_value * high_reduction_constant]
forest_medium_danger_reduction = @[forest_danger_value * medium_reduction_constant -2]
forest_low_danger_reduction = @[forest_danger_value * low_reduction_constant +1]
taiga_high_danger_reduction = @[taiga_danger_value * high_reduction_constant]
taiga_medium_danger_reduction = @[taiga_danger_value * medium_reduction_constant -1]
taiga_low_danger_reduction = @[taiga_danger_value * low_reduction_constant -1]
wetlands_high_danger_reduction = @[wetlands_danger_value * high_reduction_constant]
wetlands_medium_danger_reduction = @[wetlands_danger_value * medium_reduction_constant +1]
wetlands_low_danger_reduction = @[wetlands_danger_value * low_reduction_constant -2]
steppe_high_danger_reduction = @[steppe_danger_value * high_reduction_constant]
steppe_medium_danger_reduction = @[steppe_danger_value * medium_reduction_constant +1]
steppe_low_danger_reduction = @[steppe_danger_value * low_reduction_constant -2]
floodplains_high_danger_reduction = @[floodplains_danger_value * high_reduction_constant]
floodplains_medium_danger_reduction = @[floodplains_danger_value * medium_reduction_constant +1]
floodplains_low_danger_reduction = @[floodplains_danger_value * low_reduction_constant -2]
drylands_high_danger_reduction = @[drylands_danger_value * high_reduction_constant]
drylands_medium_danger_reduction = @[drylands_danger_value * medium_reduction_constant +1]
drylands_low_danger_reduction = @[drylands_danger_value * low_reduction_constant -2]
epidemic_high_danger_reduction = @[epidemic_danger_value * high_reduction_constant]
epidemic_medium_danger_reduction = @[epidemic_danger_value * medium_reduction_constant +1]
epidemic_low_danger_reduction = @[epidemic_danger_value * low_reduction_constant -2]
# Travel Option Cost Scripted Values
low_travel_option_base_cost = 2
medium_travel_option_base_cost = 5
high_travel_option_base_cost = 10
tier_multiplier = {
value = primary_title.tier
subtract = 1
min = 1
}
very_low_travel_option_cost = {
value = low_travel_option_cost
multiply = 0.5
}
low_travel_option_cost = {
value = low_travel_option_base_cost
multiply = tier_multiplier
if = {
limit = {
has_perk = well_prepared_perk
}
multiply = 0.75
}
}
medium_travel_option_cost = {
value = medium_travel_option_base_cost
multiply = tier_multiplier
if = {
limit = {
has_perk = well_prepared_perk
}
multiply = 0.75
}
}
high_travel_option_cost = {
value = high_travel_option_base_cost
multiply = tier_multiplier
if = {
limit = {
has_perk = well_prepared_perk
}
multiply = 0.75
}
}
struggle_low_danger_impact = {
value = 15
}
struggle_medium_danger_impact = {
value = 30
}
struggle_high_danger_impact = {
value = 50
}
food_poison_value = {
value = 15
subtract = health
if = {
limit = {
has_perk = iron_constitution_perk
}
add = -5
}
}

View file

@ -1,113 +0,0 @@
###################
# UNITY VALUES #
###################
# BASE HOUSE UNITY VALUES
miniscule_unity_value = 1
minor_unity_value = 2
medium_unity_value = 4
major_unity_value = 6
massive_unity_value = 10
miniscule_unity_loss = {
value = 0
subtract = miniscule_unity_value
}
minor_unity_loss = {
value = 0
subtract = minor_unity_value
}
medium_unity_loss = {
value = 0
subtract = medium_unity_value
}
major_unity_loss = {
value = 0
subtract = major_unity_value
}
massive_unity_loss = {
value = 0
subtract = massive_unity_value
}
miniscule_unity_gain = miniscule_unity_value
minor_unity_gain = minor_unity_value
medium_unity_gain = medium_unity_value
major_unity_gain = major_unity_value
massive_unity_gain = massive_unity_value
unity_house_head_multiplier_value = 2 # How much more of an impact house heads have on house unity
number_of_landed_house_members_value = {
value = 0
house = {
every_house_member = {
limit = {
is_landed_or_landless_administrative = yes
}
add = 1
}
}
}
number_of_landed_house_unity_members_value = {
value = 0
every_house_member = {
limit = {
is_landed_or_landless_administrative = yes
}
add = 1
max = 10
}
desc = MODIFIER_DEFINITION_MAIN_DESC_HOUSE_UNITY
}
# EFFECTS AND PARAMETER VALUES
unity_antagonistic_cb_cost_display_value = -30
unity_antagonistic_cb_cost_value = {
value = 1
add = {
value = unity_antagonistic_cb_cost_display_value
divide = 100
}
}
unity_competitive_cb_cost_display_value = -15
unity_competitive_cb_cost_value = {
value = 1
add = {
value = unity_competitive_cb_cost_display_value
divide = 100
}
}
unity_friendly_cb_cost_display_value = 15
unity_friendly_cb_cost_value = {
value = 1
add = {
value = unity_friendly_cb_cost_display_value
divide = 100
}
}
unity_harmonious_cb_cost_display_value = 30
unity_harmonious_cb_cost_value = {
value = 1
add = {
value = unity_harmonious_cb_cost_display_value
divide = 100
}
}
unity_antagonistic_invasion_cooldown_value = {
value = 10
}
clan_powerful_vassal_no_alliance_opinion_penalty_value = {
value = -30
}
clan_vassal_no_alliance_opinion_penalty_value = {
value = -15
}
unity_major_decision_piety_cost = { value = 200 }
unity_minor_decision_piety_cost = { value = 100 }

View file

@ -1,69 +0,0 @@

visit_settlement_lock_days = {
value = 0
add = define:NGame|MULTIPLAYER_EVENT_TIME_OUT
add = 2 #Some buffer
}
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

@ -1,970 +0,0 @@
##############
# 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
}
## Shorter truce if both sides are nomads
if = {
limit = {
scope:attacker = { government_has_flag = government_is_nomadic }
scope:defender = { government_has_flag = government_is_nomadic }
}
subtract = 730
}
# 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 #
######################
# Compute military strength against *scope:target_military*.
#
# This script value and the one after it are to be used in combination as
# "root_military_strength_higher_than_military_target_value > target_military_strength_root_value"
# to check player vs enemy strength.
root_military_strength_higher_than_military_target_value = {
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!!
}
}
# One above calcs player strength (plus multiplier), this one is enemy strength.
target_military_strength_root_value = {
value = 0
if = {
limit = { exists = scope:target_military }
add = scope:target_military.max_military_strength # this should be a character, probably a top liege
scope:target_military = {
every_ally = {
limit = {
NOT = { has_truce = root }
}
add = max_military_strength
}
}
}
}
# Compute military strength against *scope:recipient*.
#
# This script value and the one after it are to be used in combination as
# "root_military_strength_higher_than_recipient_value > recipient_strength_root_value"
# to check player vs enemy strength.
root_military_strength_higher_than_recipient_value = {
value = 0
add = max_military_strength # Add num of troops
if = {
limit = {
any_ally = {
NOT = { has_truce = scope:recipient }
}
}
every_ally = {
limit = {
NOT = { has_truce = scope:recipient }
}
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!!
}
}
# One above calcs player strength (plus multiplier), this one is enemy strength.
recipient_strength_root_value = {
value = 0
if = {
limit = { exists = scope:recipient }
add = scope:recipient.max_military_strength # this should be a character, probably a top liege
scope:recipient = {
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 }
}

View file

@ -1,146 +0,0 @@
###################################
# Character Weighting Values
# For a given character, each value will return a given score based on how relevant/important that character is to ROOT given the situation.
###################################
# Weight List:
# captured_combatant_weights_for_root_participant - For evaluating importance of prisoners captured during war, for the participants of that war.
# captured_combatant_weights_for_root_nonparticipant - For evaluating importance of prisoners captured during war for noncombatants (e.g., relatives of the prisoner).
# slain_combatant_weights_for_root_participant - For evaluating importance of casualties slain during war, for the participants of that war.
# slain_combatant_weights_for_root_nonparticipant - For evaluating importance of casualties slain during war for noncombatants (e.g., relatives of the deceased).
captured_combatant_weights_for_root_participant = {
value = 0
if = {
limit = {
# Captured primary participants are worth 100% warscore, so are absolute #1 priority.
exists = scope:combat_war
OR = {
this = scope:combat_war.primary_attacker
this = scope:combat_war.primary_defender
}
}
add = 5000
}
if = {
limit = {
# Captured heirs of primary participants are worth 50% warscore, so are #2 priority.
exists = scope:combat_war
OR = {
is_heir_of = scope:combat_war.primary_attacker
is_heir_of = scope:combat_war.primary_defender
}
}
add = 1000
}
if = { limit = { this = root.player_heir } # My own heir is of 3rd importance, since they are very important in the long term but not immediately relevant to the ongoing war.
add = 500
}
if = {
limit = {
# The person I just defeated in combat is of 4th importance, since they are defeated 'for good' (for the moment).
exists = scope:combat_loser
this = scope:combat_loser
}
add = 100
}
if = { limit = { is_close_family_of = root}
add = 50
}
if = { limit = { is_of_major_interest_to_root_trigger = yes }
add = 10
}
if = { limit = { is_of_minor_interest_to_root_trigger = yes}
add = 5
}
add = this.highest_held_title_tier
}
captured_combatant_weights_for_root_nonparticipant = {
value = 0
if = { limit = { this = root.player_heir }
add = 1000
}
if = { limit = { is_heir_of = root }
add = 500
}
if = { limit = { is_of_major_interest_to_root_trigger = yes }
add = 100
}
if = { limit = { is_consort_of = root }
add = 50
}
if = { limit = { is_child_of = root }
add = 25
}
if = { limit = { is_of_minor_interest_to_root_trigger = yes }
add = 10
}
if = { limit = { is_courtier_of = root }
add = 1
}
add = this.highest_held_title_tier
}
slain_combatant_weights_for_root_participant = {
value = 0
if = {
limit = {
# Slain primary participants do not give warscore, but can change the outcome of the ongoing war (esp. if their successors are reluctant to continue the war).
exists = scope:combat_war
OR = {
this = scope:combat_war.primary_attacker
this = scope:combat_war.primary_defender
}
}
add = 1000
}
if = { limit = { this = root.player_heir } # I care about my heir in the long-term, even if not immediately relevant.
add = 500
}
if = {
limit = {
# If I killed the person I just fought in battle, I don't have to worry about them any more!
exists = scope:combat_loser
this = scope:combat_loser
}
add = 100
}
if = { limit = { is_close_family_of = root}
add = 50
}
if = { limit = { is_of_major_interest_to_root_trigger = yes }
add = 10
}
if = { limit = { is_of_minor_interest_to_root_trigger = yes}
add = 5
}
add = this.highest_held_title_tier
}
slain_combatant_weights_for_root_nonparticipant = {
value = 0
if = { limit = { this = root.player_heir }
add = 1000
}
if = { limit = { is_heir_of = root }
add = 500
}
if = { limit = { is_of_major_interest_to_root_trigger = yes }
add = 100
}
if = { limit = { is_consort_of = root }
add = 50
}
if = { limit = { is_child_of = root }
add = 25
}
if = { limit = { is_of_minor_interest_to_root_trigger = yes }
add = 10
}
if = { limit = { is_courtier_of = root }
add = 1
}
add = this.highest_held_title_tier
}

View file

@ -1,16 +0,0 @@
house_feud_death_counter_value = {
value = var:house_feud_death_counter
}
house_feud_kill_counter_value = {
value = var:house_feud_kill_counter
}
house_feud_balance_value = {
value = house_feud_kill_counter_value
subtract = house_feud_death_counter_value
}
house_feud_small_counter_value = 0.5
house_feud_medium_counter_value = 1
house_feud_big_counter_value = 2

View file

@ -1,55 +0,0 @@
event_troop_150_root_scale = {
value = 150
multiply = {
value = root.primary_title.tier
}
}
event_troop_150_vassal_scale = {
value = 150
multiply = {
value = scope:vassal.primary_title.tier
}
}
event_troop_100_root_scale = {
value = 100
multiply = {
value = root.primary_title.tier
}
}
event_troop_100_vassal_scale = {
value = 100
multiply = {
value = scope:vassal.primary_title.tier
}
}
event_troop_50_root_scale = {
value = 50
multiply = {
value = root.primary_title.tier
}
}
event_troop_50_vassal_scale = {
value = 50
multiply = {
value = scope:vassal.primary_title.tier
}
}
event_troop_25_root_scale = {
value = 25
multiply = {
value = root.primary_title.tier
}
}
event_troop_25_vassal_scale = {
value = 25
multiply = {
value = scope:vassal.primary_title.tier
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,403 +0,0 @@

starting_prestige = {
value = {
# Longer-lived characters start with some inherent prestige.
add = {
value = medium_prestige_value
multiply = {
value = 0
# Bonus for older characters (who have presumably accomplished more).
if = {
limit = { age > 12}
add = 1
}
else_if = {
limit = { age > 24}
add = 2
}
else_if = {
limit = { age > 36}
add = 3
}
else_if = {
limit = { age > 48}
add = 4
}
else_if = {
limit = { age > 60}
add = 5
}
# Bonus/penalty for traits.
if = {
limit = {
OR = {
has_trait = arrogant
has_trait = ambitious
}
}
add = 1
}
else_if = {
limit = {
OR = {
has_trait = humble
has_trait = content
}
}
add = -1
}
# Humble/content children shouldn't have a prestige penalty!
min = 0
}
}
# Rulers also gain bonus prestige based on their tier.
add = {
value = medium_prestige_value
multiply = highest_held_title_tier
}
}
}
starting_piety = {
value = {
# All characters start with some about of piety based on how long they have lived a virtuous life.
add = {
value = medium_piety_value
multiply = {
add = num_virtuous_traits
subtract = num_sinful_traits
if = {
limit = { has_trait = zealous }
add = 1
}
else_if = {
limit = { has_trait = cynical }
add = -1
}
}
multiply = {
value = 0
if = {
limit = { age > 12}
add = 1
}
else_if = {
limit = { age > 24}
add = 2
}
else_if = {
limit = { age > 36}
add = 3
}
else_if = {
limit = { age > 48}
add = 4
}
else_if = {
limit = { age > 60}
add = 5
}
}
}
# Rulers also gain some Piety based on tier (but less than piety than prestige).
add = {
value = minor_piety_value
multiply = highest_held_title_tier
}
# Nobody starts with negative piety, not even even sinful characters.
min = minor_piety_value
}
}
starting_influence = {
value = {
# Longer-lived characters start with some inherent influence.
add = {
value = medium_influence_value
multiply = {
value = 0
# Bonus for older characters (who have presumably had time to establish themselves more).
if = {
limit = { age > 12}
add = 1
}
else_if = {
limit = { age > 24}
add = 2
}
else_if = {
limit = { age > 36}
add = 3
}
else_if = {
limit = { age > 48}
add = 4
}
else_if = {
limit = { age > 60}
add = 5
}
# Bonus/penalty for traits.
if = {
limit = {
OR = {
has_trait = generous
has_trait = deceitful
}
}
add = 1
}
else_if = {
limit = {
OR = {
has_trait = impatient
has_trait = trusting
}
}
add = -1
}
# Children who are impatient/trusting children shouldn't start with negative influence!
min = 0
}
}
# Rulers also gain bonus prestige based on their tier.
add = {
value = medium_prestige_value
multiply = highest_held_title_tier
}
}
}
# What cultural acceptance should two cultures start with?
# root = culture 1
# scope:culture = culture 2
starting_culture_acceptance = {
# Cultures start with the baseline as their default acceptance
value = culture_acceptance_baseline
# Historical one-time increases to Cultural Acceptance (added on top of the baseline)
# Note: List the cultures in the same order as they appear in script in common\culture\cultures.
if = {
limit = { current_date >= 1060.1.1 } # Changes for the 1066 bookmark
if = {
limit = { # The Ghaznavids have ruled over Afghan land for a few generations - Let's help them keep it
this = culture:afghan
scope:culture = culture:turkish
}
add = 25
}
if = {
limit = { # The Ghaznavids have ruled over Punjabi land for some time - We don't want them to revolt too quickly
this = culture:punjabi
scope:culture = culture:turkish
}
add = 20
}
}
}
# What cultural acceptance should two cultures drift down towards if above?
# root = culture 1
# scope:culture = culture 2
# this is calculated late in startup after history setup
culture_acceptance_baseline = {
value = 0
if = {
limit = { # To stop errors in observe mode
exists = root
exists = scope:culture
# Set up some scopes we'll need
trigger_if = {
limit = {
culture_number_of_counties > 0
}
calc_culture_dominant_religion = { save_temporary_scope_as = our_religion }
calc_culture_dominant_faith = { save_temporary_scope_as = our_faith }
}
scope:culture = {
trigger_if = {
limit = {
culture_number_of_counties > 0
}
calc_culture_dominant_religion = { save_temporary_scope_as = their_religion }
calc_culture_dominant_faith = { save_temporary_scope_as = their_faith }
}
}
}
# Increase base acceptance for sharing the same heritage
if = {
limit = {
has_same_culture_heritage = scope:culture
}
add = {
value = 20 # please update CULTURE_PILLAR_TOOLTIP_HERITAGE_EFFECT if this number changes
desc = ACCEPTANCE_BASELINE_HERITAGE
}
}
# Increase base acceptance for sharing same language
if = {
limit = {
has_same_culture_language = scope:culture
}
add = {
value = 10 # please update CULTURE_PILLAR_TOOLTIP_LANGUAGE_EFFECT if this number changes
desc = ACCEPTANCE_BASELINE_LANGUAGE
}
}
# Increase base acceptance for sharing the same ethos if cultures are present within the same geographical area
if = {
limit = {
has_same_culture_ethos = scope:culture
OR = {
cultures_share_relevant_region_trigger = yes
#In case cultures are bordering each other in two different regions
any_culture_county = {
any_neighboring_county = {
culture = scope:culture
}
}
}
}
add = {
value = 10
desc = ACCEPTANCE_BASELINE_ETHOS
}
}
# General Faith acceptance modifiers
if = { # Same Religion
limit = {
exists = scope:our_religion
exists = scope:their_religion
scope:our_religion = scope:their_religion
root = {
any_culture_county = {
percent >= 0.5
religion = scope:our_religion
}
}
scope:culture = {
any_culture_county = {
percent >= 0.5
religion = scope:our_religion
}
}
}
add = {
value = 5
desc = ACCEPTANCE_BASELINE_RELIGION
}
}
if = { # Same exact Faith
limit = {
exists = scope:our_faith
exists = scope:their_faith
scope:our_faith = scope:their_faith
root = {
any_culture_county = {
percent >= 0.5
faith = scope:our_faith
}
}
scope:culture = {
any_culture_county = {
percent >= 0.5
faith = scope:our_faith
}
}
}
add = {
value = 10
desc = ACCEPTANCE_BASELINE_FAITH
}
}
if = { # Eastern faiths
limit = {
exists = scope:our_religion
exists = scope:their_religion
scope:our_religion = {
is_in_family = rf_eastern
}
scope:their_religion = {
is_in_family = rf_eastern
}
any_culture_county = {
percent >= 0.5
title_province = {
religion = {
is_in_family = rf_eastern
}
}
}
scope:culture = {
any_culture_county = {
percent >= 0.5
title_province = {
religion = {
is_in_family = rf_eastern
}
}
}
}
}
add = {
value = 5
desc = ACCEPTANCE_BASELINE_EASTERN_RELIGION
}
}
if = { # Pluralistic close faiths
limit = {
exists = scope:our_faith
exists = scope:their_faith
scope:our_faith = {
has_doctrine = doctrine_pluralism_pluralistic
}
scope:their_faith = {
has_doctrine = doctrine_pluralism_pluralistic
}
any_culture_county = {
percent >= 0.5
title_province = {
faith = {
has_doctrine = doctrine_pluralism_pluralistic
}
}
}
scope:culture = {
any_culture_county = {
percent >= 0.5
title_province = {
faith = {
has_doctrine = doctrine_pluralism_pluralistic
}
}
}
}
OR = {
cultures_share_relevant_region_trigger = yes
#In case cultures are bordering each other in two different regions
any_culture_county = {
any_neighboring_county = {
culture = scope:culture
}
}
}
}
add = {
value = 10
desc = ACCEPTANCE_BASELINE_CLOSE_PLURALISTS
}
}
}
}

View file

@ -1,84 +0,0 @@
## Referenced from code, in code value will be clamped between NRoyalCourt::COURT_GRANDEUR_MIN and NRoyalCourt::COURT_GRANDEUR_MAX
## root = character calculating for
#court_grandeur_minimum_expected_value = {
# value = 50
#}
#
#ep1_court_grandeur_marriage_acceptance_value = 50
#
## Referenced from code for the multiplier of above/below expected court grandeur level modifiers
#court_grandeur_level_difference_modifier_multiplier = {
# value = sub_realm_size
# multiply = 0.01
#}
0_levels_above_expected_level = {
value = court_grandeur_minimum_expected_level
}
1_levels_above_expected_level = {
value = court_grandeur_minimum_expected_level
add = 1
}
2_levels_above_expected_level = {
value = court_grandeur_minimum_expected_level
add = 2
}
3_levels_above_expected_level = {
value = court_grandeur_minimum_expected_level
add = 3
}
4_levels_above_expected_level = {
value = court_grandeur_minimum_expected_level
add = 4
}
5_levels_above_expected_level = {
value = court_grandeur_minimum_expected_level
add = 5
}
6_levels_above_expected_level = {
value = court_grandeur_minimum_expected_level
add = 6
}
7_levels_above_expected_level = {
value = court_grandeur_minimum_expected_level
add = 7
}
9_levels_above_expected_level = {
value = court_grandeur_minimum_expected_level
add = 9
}
1_levels_below_expected_level = {
value = court_grandeur_minimum_expected_level
subtract = 1
}
3_levels_below_expected_level = {
value = court_grandeur_minimum_expected_level
subtract = 3
}
5_levels_below_expected_level = {
value = court_grandeur_minimum_expected_level
subtract = 5
}
7_levels_below_expected_level = {
value = court_grandeur_minimum_expected_level
subtract = 7
}
9_levels_below_expected_level = {
value = court_grandeur_minimum_expected_level
subtract = 9
}
cp_bonus_aptitude_value = 10

View file

@ -38,13 +38,13 @@ faith_doctrine_cost_mid = 400
faith_doctrine_cost_high = 600
faith_doctrine_cost_massive = 1000
faith_tenet_cost_discount_scholar_official_tradition = 0
faith_tenet_cost_low = 500
faith_tenet_cost_mid = 1000
faith_tenet_cost_high = 1500
faith_tenet_cost_massive = 2000
faith_unchanged_doctrine_cost_mult = 0.5
faith_unchanged_tolerance_doctrine_cost_mult = 0
faith_changed_doctrine_cost_mult_two_step = 1.50
faith_changed_doctrine_cost_mult_three_step = 2.25
faith_changed_doctrine_cost_mult_four_step = 3.50
@ -74,6 +74,8 @@ regional_heresy_factor = {
meditation_duration = 185 # In days
local_shrine_duration = 14
faction_county_opinion_astray = {
value = county_opinion
multiply = -1.0
@ -377,7 +379,7 @@ claim_piety_value = {
# Landless adventurers can't get cheap access to legitimists without putting in some leg-work.
if = {
limit = {
scope:actor = { is_landless_adventurer = yes }
scope:actor = { has_government = landless_adventurer_government }
}
multiply = 10
}
@ -2221,7 +2223,7 @@ great_holy_war_target_kingdom_weight = {
limit = {
title_capital_county = {
squared_distance = {
target = title:c_wuluhai
target = title:c_langshan
value >= ghw_target_distance_01_threshold
}
}
@ -2625,7 +2627,7 @@ great_holy_war_target_kingdom_weight = {
limit = {
title_capital_county = {
squared_distance = {
target = title:c_wuluhai
target = title:c_langshan
value >= ghw_target_distance_02_threshold
}
}
@ -3029,7 +3031,7 @@ great_holy_war_target_kingdom_weight = {
limit = {
title_capital_county = {
squared_distance = {
target = title:c_wuluhai
target = title:c_langshan
value >= ghw_target_distance_03_threshold
}
}
@ -3075,6 +3077,8 @@ great_holy_war_target_kingdom_weight = {
geographical_region = ghw_region_the_sahel
geographical_region = ghw_region_north_african_interior
geographical_region = ghw_region_subsahelian_africa
geographical_region = world_steppe
geographical_region = world_asia_north_east
}
}
}
@ -3507,58 +3511,40 @@ faith_conversion_cost_mult = {
# More expensive if you convert to a faith outside of your religion's family
if = {
limit = {
scope:new_faith = {
religion = { is_in_family = rf_abrahamic }
}
scope:character = {
faith = {
religion = {
NOT = { is_in_family = rf_abrahamic }
}
}
}
scope:new_faith = { has_doctrine = special_doctrine_immaterial_harmony }
scope:character.faith = { has_doctrine = special_doctrine_immaterial_harmony }
}
multiply = {
value = 1
add = {
desc = faith_conversion_cost_other_religion_family
desc = faith_conversion_cost_immaterial_harmony
format = "BREAKDOWN_FORMAT_PIETY_PERCENTAGE_POSITIVE_IS_BAD"
value = 2
value = -0.5
}
}
}
if = {
else_if = {
limit = {
scope:new_faith = {
religion = { is_in_family = rf_eastern }
}
scope:character = {
faith = {
religion = {
NOT = { is_in_family = rf_eastern }
OR = {
AND = {
scope:new_faith.religion = { is_in_family = rf_abrahamic }
NOT = {
scope:character.faith.religion = { is_in_family = rf_abrahamic }
}
}
AND = {
scope:new_faith.religion = { is_in_family = rf_eastern }
NOT = {
scope:character.faith.religion = { is_in_family = rf_eastern }
}
}
multiply = {
value = 1
add = {
desc = faith_conversion_cost_other_religion_family
format = "BREAKDOWN_FORMAT_PIETY_PERCENTAGE_POSITIVE_IS_BAD"
value = 2
AND = {
scope:new_faith.religion = { is_in_family = rf_pagan }
NOT = {
scope:character.faith.religion = { is_in_family = rf_pagan }
}
}
}
if = {
limit = {
scope:new_faith = {
religion = { is_in_family = rf_pagan }
}
scope:character = {
faith = {
religion = { NOT = { is_in_family = rf_pagan } }
}
}
}
multiply = {
value = 1
@ -3574,15 +3560,9 @@ faith_conversion_cost_mult = {
if = {
limit = {
scope:new_faith = {
NOT = {
has_doctrine_parameter = unreformed
}
}
scope:character = {
faith = {
has_doctrine_parameter = unreformed
}
NOT = { has_doctrine_parameter = unreformed }
}
scope:character.faith = { has_doctrine_parameter = unreformed }
}
multiply = {
value = 1
@ -3594,19 +3574,32 @@ faith_conversion_cost_mult = {
}
}
if = {
limit = {
scope:character = {
any_courtier = {
has_character_flag = suzerains_missionary
faith = scope:new_faith
}
}
}
multiply = {
value = 1
subtract = {
desc = faith_conversion_cost_suzerains_missionary
format = "BREAKDOWN_FORMAT_PIETY_PERCENTAGE_POSITIVE_IS_BAD"
value = 0.1
}
}
}
# More expensive to convert to something inside your religion family that's not the same religion
if = {
limit = {
scope:new_faith = {
religion = { is_in_family = rf_abrahamic }
}
scope:character = {
faith = {
religion = {
scope:new_faith.religion = { is_in_family = rf_abrahamic }
scope:character.faith.religion = {
is_in_family = rf_abrahamic
NOT = { this = scope:new_faith.religion}
}
}
this != scope:new_faith.religion
}
}
multiply = {
@ -3618,18 +3611,12 @@ faith_conversion_cost_mult = {
}
}
}
if = {
else_if = {
limit = {
scope:new_faith = {
religion = { is_in_family = rf_eastern }
}
scope:character = {
faith = {
religion = {
scope:new_faith.religion = { is_in_family = rf_eastern }
scope:character.faith.religion = {
is_in_family = rf_eastern
NOT = { this = scope:new_faith.religion}
}
}
this != scope:new_faith.religion
}
}
multiply = {
@ -3643,16 +3630,10 @@ faith_conversion_cost_mult = {
}
if = {
limit = {
scope:new_faith = {
religion = { is_in_family = rf_pagan }
}
scope:character = {
faith = {
religion = {
scope:new_faith.religion = { is_in_family = rf_pagan }
scope:character.faith.religion = {
is_in_family = rf_pagan
NOT = { this = scope:new_faith.religion}
}
}
this != scope:new_faith.religion
}
}
multiply = {
@ -3843,15 +3824,11 @@ faith_conversion_cost_mult = {
any_realm_province = {
faith = scope:new_faith
}
AND = {
exists = liege
liege = {
liege ?= {
faith = scope:new_faith
}
}
AND = {
exists = liege
liege = {
liege ?= {
any_vassal = {
faith = scope:new_faith
}
@ -3859,7 +3836,6 @@ faith_conversion_cost_mult = {
}
}
}
}
multiply = {
value = 1
subtract = {
@ -3891,15 +3867,11 @@ faith_conversion_cost_mult = {
any_realm_province = {
faith = scope:new_faith
}
AND = {
exists = liege
liege = {
liege ?= {
faith = scope:new_faith
}
}
AND = {
exists = liege
liege = {
liege ?= {
any_vassal = {
faith = scope:new_faith
}
@ -3907,7 +3879,6 @@ faith_conversion_cost_mult = {
}
}
}
}
multiply = {
value = 1
subtract = {
@ -3939,15 +3910,11 @@ faith_conversion_cost_mult = {
any_realm_province = {
faith = scope:new_faith
}
AND = {
exists = liege
liege = {
liege ?= {
faith = scope:new_faith
}
}
AND = {
exists = liege
liege = {
liege ?= {
any_vassal = {
faith = scope:new_faith
}
@ -3955,7 +3922,6 @@ faith_conversion_cost_mult = {
}
}
}
}
multiply = {
value = 1
subtract = {
@ -3975,7 +3941,7 @@ faith_conversion_cost_mult = {
faith = {
religion = {
is_in_family = rf_abrahamic
NOT = { this = scope:new_faith.religion}
this != scope:new_faith.religion
}
}
OR = {
@ -3988,15 +3954,11 @@ faith_conversion_cost_mult = {
any_realm_province = {
faith = scope:new_faith
}
AND = {
exists = liege
liege = {
liege ?= {
faith = scope:new_faith
}
}
AND = {
exists = liege
liege = {
liege ?= {
any_vassal = {
faith = scope:new_faith
}
@ -4004,7 +3966,6 @@ faith_conversion_cost_mult = {
}
}
}
}
multiply = {
value = 1
subtract = {
@ -4024,7 +3985,7 @@ faith_conversion_cost_mult = {
faith = {
religion = {
is_in_family = rf_eastern
NOT = { this = scope:new_faith.religion}
this != scope:new_faith.religion
}
}
OR = {
@ -4037,15 +3998,11 @@ faith_conversion_cost_mult = {
any_realm_province = {
faith = scope:new_faith
}
AND = {
exists = liege
liege = {
liege ?= {
faith = scope:new_faith
}
}
AND = {
exists = liege
liege = {
liege ?= {
any_vassal = {
faith = scope:new_faith
}
@ -4053,7 +4010,6 @@ faith_conversion_cost_mult = {
}
}
}
}
multiply = {
value = 1
subtract = {
@ -4073,7 +4029,7 @@ faith_conversion_cost_mult = {
faith = {
religion = {
is_in_family = rf_pagan
NOT = { this = scope:new_faith.religion}
this != scope:new_faith.religion
}
}
OR = {
@ -4086,15 +4042,11 @@ faith_conversion_cost_mult = {
any_realm_province = {
faith = scope:new_faith
}
AND = {
exists = liege
liege = {
liege ?= {
faith = scope:new_faith
}
}
AND = {
exists = liege
liege = {
liege ?= {
any_vassal = {
faith = scope:new_faith
}
@ -4102,7 +4054,6 @@ faith_conversion_cost_mult = {
}
}
}
}
multiply = {
value = 1
subtract = {
@ -4125,15 +4076,11 @@ faith_conversion_cost_mult = {
any_realm_province = {
faith = scope:new_faith
}
AND = {
exists = liege
liege = {
liege ?= {
faith = scope:new_faith
}
}
AND = {
exists = liege
liege = {
liege ?= {
any_vassal = {
faith = scope:new_faith
}
@ -4141,7 +4088,6 @@ faith_conversion_cost_mult = {
}
}
}
}
multiply = {
value = 1
subtract = {
@ -4172,6 +4118,87 @@ faith_conversion_cost_mult = {
}
}
################################################
# Conversion Discount from Confucian Education
################################################
if = {
limit = {
scope:new_faith.religion = religion:confucianism_religion
scope:character = {
has_trait = confucian_education
has_trait_xp = {
trait = confucian_education
value >= 20 #Confused Confucian
}
}
}
if = {
limit = {
scope:character = {
has_trait_xp = {
trait = confucian_education
value >= 80 #Moral Paragon
}
}
}
multiply = {
value = 1
subtract = {
desc = faith_conversion_cost_confucian_education
format = "BREAKDOWN_FORMAT_PIETY_PERCENTAGE_POSITIVE_IS_BAD"
value = 0.7
}
}
}
else_if = {
limit = {
scope:character = {
has_trait_xp = {
trait = confucian_education
value >= 60 #Virtuous Ethicist
}
}
}
multiply = {
value = 1
subtract = {
desc = faith_conversion_cost_confucian_education
format = "BREAKDOWN_FORMAT_PIETY_PERCENTAGE_POSITIVE_IS_BAD"
value = 0.5
}
}
}
else_if = {
limit = {
scope:character = {
has_trait_xp = {
trait = confucian_education
value >= 40 #Studious Classicist
}
}
}
multiply = {
value = 1
subtract = {
desc = faith_conversion_cost_confucian_education
format = "BREAKDOWN_FORMAT_PIETY_PERCENTAGE_POSITIVE_IS_BAD"
value = 0.25
}
}
}
else = {
multiply = {
value = 1
subtract = {
desc = faith_conversion_cost_confucian_education
format = "BREAKDOWN_FORMAT_PIETY_PERCENTAGE_POSITIVE_IS_BAD"
value = 0.1
}
}
}
}
########################################
# Conversion Discounts from Traditions #
########################################
@ -4236,6 +4263,38 @@ faith_conversion_cost_mult = {
}
}
}
if = {
limit = {
scope:character = {
has_variable = japan_1010_discount
}
scope:new_faith = var:japan_1010_discount
}
multiply = {
value = 1
subtract = {
desc = faith_conversion_cost_tgp_japan_1010_event
format = "BREAKDOWN_FORMAT_PIETY_PERCENTAGE_POSITIVE_IS_BAD"
value = 0.5
}
}
}
if = {
limit = {
scope:character = {
has_character_flag = tgp_japan_1040_discount
}
scope:new_faith.religion = religion:shintoism_religion
}
multiply = {
value = 1
subtract = {
desc = faith_conversion_cost_tgp_japan_1040_event
format = "BREAKDOWN_FORMAT_PIETY_PERCENTAGE_POSITIVE_IS_BAD"
value = 0.5
}
}
}
# Removing 1 to offset the value and present it as expected by the code
subtract = {
@ -4561,6 +4620,7 @@ holy_site_reform_tracker_value = {
OR = {
is_holy_site_controlled_by = root
root.confederation ?= {
is_house_based = no # any_confederation_member is not performant for house blocs
any_confederation_member = {
scope:current_holy_site = {
is_holy_site_controlled_by = prev

View file

@ -1,123 +0,0 @@
ruler_designer_general_skill_value_cost = {
value = 0
if = {
limit = {
scope:value > 0
scope:value < 5
}
add = 2
multiply = scope:value
}
else_if = {
limit = {
scope:value > 4
scope:value < 9
}
add = 4
multiply = {
value = scope:value
subtract = 4
}
add = 8
}
else_if = {
limit = {
scope:value > 8
scope:value < 13
}
add = 7
multiply = {
value = scope:value
subtract = 8
}
add = 24
}
else_if = {
limit = {
scope:value > 12
scope:value < 17
}
add = 11
multiply = {
value = scope:value
subtract = 12
}
add = 52
}
else_if = {
limit = {
scope:value > 16
}
add = 17
multiply = {
value = scope:value
subtract = 16
}
add = 96
}
}
ruler_designer_diplomacy_skill_value_cost = { value = ruler_designer_general_skill_value_cost }
ruler_designer_martial_skill_value_cost = { value = ruler_designer_general_skill_value_cost }
ruler_designer_stewardship_skill_value_cost = { value = ruler_designer_general_skill_value_cost }
ruler_designer_intrigue_skill_value_cost = { value = ruler_designer_general_skill_value_cost }
ruler_designer_learning_skill_value_cost = { value = ruler_designer_general_skill_value_cost }
ruler_designer_prowess_skill_value_cost = {
value = 0
if = {
limit = {
scope:value > 0
scope:value < 5
}
add = 1
multiply = scope:value
}
else_if = {
limit = {
scope:value > 4
scope:value < 9
}
add = 2
multiply = {
value = scope:value
subtract = 4
}
add = 4
}
else_if = {
limit = {
scope:value > 8
scope:value < 13
}
add = 4
multiply = {
value = scope:value
subtract = 8
}
add = 12
}
else_if = {
limit = {
scope:value > 12
scope:value < 17
}
add = 7
multiply = {
value = scope:value
subtract = 12
}
add = 28
}
else_if = {
limit = {
scope:value > 16
}
add = 11
multiply = {
value = scope:value
subtract = 16
}
add = 56
}
}

View file

@ -1,355 +0,0 @@
#Needs to be loaded after
################
# Stop War attacker chance calculation
################
stop_war_diplomacy_modifier = {
value = diplomacy
multiply = 5
}
stop_war_relation_penalties = {
# Opinion Penalties
if = {
limit = {
opinion = {
target = scope:actor
value < -49
}
}
add = -50
}
else_if = {
limit = {
opinion = {
target = scope:actor
value < 0
}
}
add = -25
}
# Relationship Penalty
if = {
limit = {
has_relation_rival = scope:actor
}
add = -100
}
}
stop_war_relation_bonuses = {
# Opinion Bonuses
if = {
limit = {
opinion = {
target = scope:actor
value >= 50
}
}
add = 50
}
else_if = {
limit = {
opinion = {
target = scope:actor
value > 0
}
}
add = 25
}
# Relationship Bonus
if = {
limit = {
has_relation_friend = scope:actor
}
add = 25
}
}
#Calculated in scope:recipient
stop_war_attacker_likelihood_calculation = {
if = {
# Cowed characters always accept.
limit = {
has_dread_level_towards = {
target = scope:actor
level = 2
}
}
value = 100
}
else = {
# Calculate chance of character accepting.
# Penalties are added first, which then get reduced by Intimidation (if applicable).
# Then bonuses are added, and finally circumstantial modifiers.
###################
# Negative Values #
###################
subtract = stop_war_diplomacy_modifier
add = stop_war_relation_penalties
# Trait Penalties
if = {
limit = {
has_trait = stubborn
}
add = -50
}
if = {
limit = {
has_trait = ambitious
}
add = -30
}
if = {
limit = {
has_trait = disloyal
}
add = -25
}
#########################
# Indimidation Modifier #
#########################
if = {
limit = {
has_dread_level_towards = {
target = scope:actor
level = 1
}
}
multiply = 0.5 # Reduces all current penalties by 50%
}
###################
# Positive Values #
###################
# Liege's Diplomacy
add = scope:actor.stop_war_diplomacy_modifier
add = stop_war_relation_bonuses
# Traits
if = {
limit = {
has_trait = fickle
}
add = 30
}
if = {
limit = {
has_trait = loyal
}
add = 50
}
#######################
# Other Circumstances #
#######################
# Warscore
if = {
limit = {
exists = scope:target
}
subtract = scope:target.attacker_war_score
}
# Admin
if = {
limit = {
is_governor = yes
}
add = 50
if = {
limit = {
scope:target = { has_realm_law = imperial_bureaucracy_3 }
}
add = 30
}
else_if = {
limit = {
scope:target = { has_realm_law = imperial_bureaucracy_2 }
}
add = 20
}
else_if = {
limit = {
scope:target = { has_realm_law = imperial_bureaucracy_1 }
}
add = 10
}
}
#TODO: Strong claim/Weak claim difference
#TODO: Laws
min = 5
max = 95
}
}
stop_war_defender_likelihood_calculation = {
if = {
# Cowed characters always accept.
limit = {
has_dread_level_towards = {
target = scope:actor
level = 2
}
}
value = 100
}
else_if = {
#If it's a war over the defender's last county, they won't say yes.
if = {
limit = {
exists = scope:target
any_held_title = {
count = 1
tier = tier_county
always = yes
save_temporary_scope_as = last_county_title
}
scope:target.casus_belli = {
any_target_title = {
this = scope:last_county_title
}
}
}
value = 0
}
}
else = {
# Calculate chance of character accepting.
# Penalties are added first, which then get reduced by Intimidation (if applicable).
# Then bonuses are added, and finally circumstantial modifiers.
###################
# Negative Values #
###################
subtract = stop_war_diplomacy_modifier
add = stop_war_relation_penalties
# Traits
if = {
limit = {
has_trait = arrogant
}
add = -50
}
if = {
limit = {
has_trait = ambitious
}
add = -30
}
if = {
limit = {
has_trait = disloyal
}
add = -25
}
if = {
limit = {
has_trait = greedy
}
add = -20
}
#########################
# Intimidation Modifier #
#########################
if = {
limit = {
has_dread_level_towards = {
target = scope:actor
level = 1
}
}
multiply = 0.75 # Reduces all current penalties by 25% (Intentionally less than the 50% reduction for attackers, because defenders have more to lose).
}
###################
# Positive Values #
###################
# Liege's Diplomacy
add = scope:actor.stop_war_diplomacy_modifier
add = stop_war_relation_bonuses
# Traits
if = {
limit = {
has_trait = humble
}
add = 20
}
if = {
limit = {
has_trait = loyal
}
add = 50
}
#######################
# Other Circumstances #
#######################
# Warscore
if = {
limit = {
exists = scope:target
}
subtract = scope:target.defender_war_score
}
# Admin
if = {
limit = {
is_governor = yes
}
add = 50
if = {
limit = {
scope:target = { has_realm_law = imperial_bureaucracy_3 }
}
add = 30
}
else_if = {
limit = {
scope:target = { has_realm_law = imperial_bureaucracy_2 }
}
add = 20
}
else_if = {
limit = {
scope:target = { has_realm_law = imperial_bureaucracy_1 }
}
add = 10
}
}
#TODO: Strong claim/Weak claim difference
#TODO: Laws
min = 1
max = 95
}
}
stop_war_attacker_bribe_size = {
value = medium_gold_value
multiply = 2
}
stop_war_defender_bribe_size = {
value = medium_gold_value
multiply = 4
}

File diff suppressed because it is too large Load diff

View file

@ -1,209 +0,0 @@
#######################################
# KNIGHTLY ACCOLADE VALUES
#######################################
accolade_low_value = 5
accolade_medium_value = 10
accolade_high_value = 20
accolade_prowess_requirement_value = 8
accolade_prowess_requirement_high_value = 15
accolade_opinion_multiplier_value = {
value = 0
## Below the minimum opinion, we don't want to factor them in at all.
if = {
limit = {
reverse_opinion = {
target = scope:owner
value < -25
}
}
# Here, we do nothing. Zero is the desired multiplier.
}
## Below the recommended opinion, we like them less.
else_if = {
limit = {
reverse_opinion = {
target = scope:owner
value < 10
}
}
add = 0.5
}
## Above the nepotistic opinion, we prioritise their wants more heavily.
else_if = {
limit = {
reverse_opinion = {
target = scope:owner
value >= 90
}
}
add = 2
}
## Or else they're in the default range, so x1 is good enough.
else = { add = 1 }
}
accolade_uninteresting_base_value = 0
accolade_standard_base_value = 200
accolade_fascinating_base_value = 400
accolade_must_have_base_value = 800
accolade_weighted_up_in_earlier_eras_value = {
value = 0
culture ?= {
# If we're in the TE, weight this attribute up a bit.
if = {
limit = {
NOT = { has_cultural_era_or_later = culture_era_early_medieval }
}
add = 50
}
# If we're in the EME, weight this attribute up even further.
if = {
limit = {
NOT = { has_cultural_era_or_later = culture_era_high_medieval }
}
add = 100
}
}
}
accolade_weighted_up_in_later_eras_value = {
value = 0
culture ?= {
# If we're in the HME, weight this attribute up a bit.
if = {
limit = { has_cultural_era_or_later = culture_era_high_medieval }
add = 100
}
# If we're in the LME, weight this attribute up even further.
if = {
limit = { has_cultural_era_or_later = culture_era_late_medieval }
add = 200
}
}
}
maa_accolade_minimum_martial_value = medium_skill_rating
###############
# COMMON ATTRIBUTES
###############
accolade_agent_acceptance_chance_bonus = accolade_medium_value
accolade_agent_acceptance_chance_bonus_high = accolade_high_value
accolade_invite_courtiers_value = accolade_high_value
accolade_imprisonment_chance_value = 15
accolade_imprisonment_chance_value_high = 25
accolade_wise_educator_prestige = 100
accolade_wise_educator_prestige_high = 250
accolade_wise_educator_prowess = 1
accolade_wise_educator_prowess_high = 3
accolade_white_peace_prestige_value = major_prestige_value
accolade_seduction_vulnerability_value = 15
accolade_politicker_join_scheme_value = 25
accolade_charmer_fertility_value = 0.25
accolade_charmer_fertility_high_value = 0.5
accolade_charmer_attraction_opinion_value = accolade_medium_value
accolade_charmer_attraction_opinion_high_value = accolade_high_value
accolade_piety_reduction_value = 0.5
accolade_piety_reduction_value_high = 0.25
###############
# SKILLED ATTRIBUTES
###############
accolade_scales_of_power_value = -10
accolade_scales_of_power_value_high = -15
accolade_development_growth_on_tournament_completion_value = 50
accolade_development_level_on_tournament_completion_value = 1
accolade_county_control_gain_value = medium_county_control_gain
accolade_contender_trait_xp_low_value = 10
accolade_contender_trait_xp_medium_value = 15
accolade_contender_trait_xp_high_value = 20
accolade_all_knights_trait_xp_low_value = 5
accolade_all_knights_trait_xp_high_value = 10
###############
# MAA ATTRIBUTES
###############
accolade_hostile_knight_death_in_battle_low_value = 0.25
accolade_hostile_knight_death_in_battle_medium_value = 0.5
accolade_hostile_knight_death_in_battle_high_value = 0.75
accolade_hostile_knight_death_in_battle_actual_low_value = {
value = accolade_hostile_knight_death_in_battle_low_value
add = 1
}
accolade_hostile_knight_death_in_battle_actual_medium_value = {
value = accolade_hostile_knight_death_in_battle_medium_value
add = 1
}
accolade_hostile_knight_death_in_battle_actual_high_value = {
value = accolade_hostile_knight_death_in_battle_high_value
add = 1
}
###############
# EMINENT ATTRIBUTES
###############
acclaimed_knight_hunt_danger_value = 10
acclaimed_knight_hunt_danger_value_high = 15
accolade_tournament_invite_acceptance_value = 20
accolade_feast_wedding_invite_acceptance_value = 20
acclaimed_knight_prestige_from_victory_value = miniscule_prestige_value
acclaimed_knight_prestige_from_victory_value_high = minor_prestige_value
accolade_defends_family_low_value = -0.25
accolade_defends_family_medium_value = -0.5
accolade_defends_family_high_value = -0.75
accolade_defends_family_actual_low_value = {
value = accolade_defends_family_low_value
add = 1
}
accolade_defends_family_actual_medium_value = {
value = accolade_defends_family_medium_value
add = 1
}
accolade_defends_family_actual_high_value = {
value = accolade_defends_family_high_value
add = 1
}
num_accolades_multiplier = {
value = 0
every_accolade = {
limit = {
is_accolade_active = no
NOT = { exists = accolade_successor }
has_potential_accolade_successors = no
NOT = {
primary_type = {
this = accolade_type:house_knight_attribute
}
}
}
add = 1
if = {
limit = {
accolade_rank = 3
}
add = 1
}
else_if = {
limit = {
accolade_rank > 3
}
add = 2
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,86 +0,0 @@
tour_stop_value = { # the cost of adding a tour stop
value = medium_gold_value
if = {
limit = { exists = scope:province }
if = {
limit = { "scope:previous_province.squared_distance(scope:province)" <= squared_distance_small }
multiply = 0.25
}
if = {
limit = {
"scope:previous_province.squared_distance(scope:province)" > squared_distance_small
"scope:previous_province.squared_distance(scope:province)" <= squared_distance_medium
}
multiply = 0.45
}
if = {
limit = {
"scope:previous_province.squared_distance(scope:province)" > squared_distance_medium
"scope:previous_province.squared_distance(scope:province)" <= squared_distance_large
}
multiply = 0.65
}
if = {
limit = {
"scope:previous_province.squared_distance(scope:province)" > squared_distance_large
"scope:previous_province.squared_distance(scope:province)" <= squared_distance_huge
}
multiply = 0.85
}
if = {
limit = {
"scope:previous_province.squared_distance(scope:province)" > squared_distance_huge
"scope:previous_province.squared_distance(scope:province)" <= squared_distance_almost_massive
}
multiply = 1.05
}
if = {
limit = {
"scope:previous_province.squared_distance(scope:province)" > squared_distance_almost_massive
"scope:previous_province.squared_distance(scope:province)" <= squared_distance_massive
}
multiply = 1.25
}
#Klingenberg -> Jerusalem
if = {
limit = {
"scope:previous_province.squared_distance(scope:province)" > squared_distance_massive
"scope:previous_province.squared_distance(scope:province)" <= squared_distance_monstrous
}
multiply = 1.55
}
#Klingenberg -> Kanchipuram
if = {
limit = { "scope:previous_province.squared_distance(scope:province)" > squared_distance_monstrous }
multiply = 2.05
}
}
multiply = activity_cost_scale_by_era
}
welcome = 3
neutral = 2
suspicious = 1
tour_entourage_weight_value = {
value = 100
add = standard_travel_entourage_additions
if = {
limit = {
OR = {
has_trait = gregarious
has_trait = lifestyle_reveler
has_trait = gluttonous
}
}
add = 10
}
if = {
limit = {
is_close_family_of = scope:host
}
add = 20
}
}

File diff suppressed because it is too large Load diff

View file

@ -7,6 +7,13 @@
}
add = true_ruler_value
}
# Education 5 boost
if = {
limit = {
has_trait_with_flag = offer_vassalisation_25
}
add = 25
}
#Events
if = {
limit = {
@ -14,6 +21,38 @@
}
add = 20
}
# Struggles
if = {
limit = {
scope:impress_check = {
has_opinion_modifier = {
modifier = scheme_sway_and_compelled_to_submit_opinion
target = prev
}
}
}
add = 20
}
#Rekindler of Iran
if = {
limit = {
dynasty ?= { has_dynasty_modifier = fp3_rekindler_of_iran_modifier }
scope:impress_check = {
culture = { has_cultural_pillar = heritage_iranian }
}
}
add = 20
}
#Obedience
if = {
limit = {
scope:impress_check = {
is_obedient_to = prev
}
}
add = 20
}
#Cultural Acceptance
if = {
limit = {
@ -24,6 +63,12 @@
}
add = offer_vassalage_acceptance_value
}
#Has no Available Vassal Limit
if = {
limit = { vassal_limit_available < 1 }
add = -1000
}
#Different faith, no pluralism.
if = {
limit = {
@ -64,9 +109,7 @@
if = {
limit = {
scope:impress_check = {
NOT = {
faith = root.faith
}
faith != root.faith
faith = { has_doctrine = doctrine_pluralism_pluralistic }
}
NOT = {
@ -103,9 +146,7 @@
if = {
limit = {
scope:impress_check = {
NOT = {
faith = root.faith
}
faith != root.faith
root.faith = { has_doctrine = doctrine_pluralism_pluralistic }
faith = { has_doctrine = doctrine_pluralism_pluralistic }
}
@ -136,7 +177,7 @@
}
}
}
#I am a King!
#I am a King! Or Emperor
if = {
limit = {
scope:impress_check = { highest_held_title_tier = tier_kingdom }
@ -166,6 +207,12 @@
}
add = -100
}
if = {
limit = {
scope:impress_check.highest_held_title_tier = tier_empire
}
multiply = 1.5
}
}
}
#We just fought against each other.
@ -213,12 +260,34 @@
}
add = -20
}
# I am Nomadic and you are Nomadic
if = {
limit = {
scope:impress_check = { government_has_flag = government_is_nomadic }
government_has_flag = government_is_nomadic
}
add = -50
}
# I am Nomadic and you are not
if = {
limit = {
scope:impress_check = { government_has_flag = government_is_nomadic }
NOT = { government_has_flag = government_is_nomadic }
}
add = -75
}
# You are Nomadic and I am not
if = {
limit = {
government_has_flag = government_is_nomadic
scope:impress_check = { government_has_flag = government_is_nomadic }
}
add = -75
}
#Isolationist tradition
if = {
limit = {
NOT = {
root.culture = scope:impress_check.culture
}
root.culture != scope:impress_check.culture
scope:impress_check.culture = {
has_cultural_tradition = tradition_isolationist
}
@ -244,6 +313,13 @@
}
add = 10
}
# Is a Hegemon
if = {
limit = {
highest_held_title_tier = tier_hegemony
}
add = 10
}
# Allied
if = {
limit = {
@ -270,9 +346,7 @@
scope:impress_check = {
NOT = {
any_neighboring_top_liege_realm_owner = {
NOT = {
this = root
}
this != root
}
}
NOT = {
@ -297,162 +371,54 @@
}
add = -100
}
#Distant Realm - No Connection
if = {
limit = {
root = {
number_of_powerful_vassals >= 1
NOT = {
character_is_realm_neighbor = scope:impress_check
}
scope:impress_check.capital_province = {
squared_distance = { target = prev.capital_province value < 200000 }
}
}
add = -250
}
if = { #Remote Realm.
limit = {
NOT = {
character_is_realm_neighbor = scope:impress_check
}
scope:impress_check.capital_province = { squared_distance = { target = prev.capital_province value >= 200000 } }
}
add = -500
}
#Military Strength
add = {
value = 1
subtract = {
value = scope:impress_check.max_military_strength # Intended for recipient to use max, to avoid having vassalizations become too easy for weakened realms
divide = { value = current_military_strength min = 1 }
}
multiply = 20
ceiling = yes
}
#Vassal Opinion
if = {
limit = {
number_of_powerful_vassals >= 1
}
add = {
value = 0
root = {
every_powerful_vassal = {
if = {
limit = {
opinion = { target = root value <= -10 }
NOT = { opinion = { target = root value <= -20 } }
save_temporary_opinion_value_as = {
name = vassal_opinion
target = prev
}
add = -10
}
every_powerful_vassal = {
limit = {
opinion = { target = root value <= -20 }
NOT = { opinion = { target = root value <= -30 } }
add = scope:vassal_opinion
}
add = -20
}
every_powerful_vassal = {
limit = {
opinion = { target = root value <= -30 }
NOT = { opinion = { target = root value <= -40 } }
}
add = -30
}
every_powerful_vassal = {
limit = {
opinion = { target = root value <= -40 }
NOT = { opinion = { target = root value <= -50 } }
}
add = -40
}
every_powerful_vassal = {
limit = {
opinion = { target = root value <= -50 }
NOT = { opinion = { target = root value <= -60 } }
}
add = -50
}
every_powerful_vassal = {
limit = {
opinion = { target = root value <= -60 }
NOT = { opinion = { target = root value <= -70 } }
}
add = -60
}
every_powerful_vassal = {
limit = {
opinion = { target = root value <= -70 }
NOT = { opinion = { target = root value <= -80 } }
}
add = -70
}
every_powerful_vassal = {
limit = {
opinion = { target = root value <= -80 }
NOT = { opinion = { target = root value <= -90 } }
}
add = -80
}
every_powerful_vassal = {
limit = {
opinion = { target = root value <= -90 }
NOT = { opinion = { target = root value <= -100 } }
}
add = -90
}
every_powerful_vassal = {
limit = {
opinion = { target = root value <= -100 }
}
add = -100
}
every_powerful_vassal = {
limit = {
opinion = { target = root value < 10 }
NOT = { opinion = { target = root value > -10 } }
}
add = 1
}
every_powerful_vassal = {
limit = {
opinion = { target = root value >= 10 }
NOT = { opinion = { target = root value >= 20 } }
}
add = 10
}
every_powerful_vassal = {
limit = {
opinion = { target = root value >= 20 }
NOT = { opinion = { target = root value >= 30 } }
}
add = 20
}
every_powerful_vassal = {
limit = {
opinion = { target = root value >= 30 }
NOT = { opinion = { target = root value >= 40 } }
}
add = 30
}
every_powerful_vassal = {
limit = {
opinion = { target = root value >= 40 }
NOT = { opinion = { target = root value >= 50 } }
}
add = 40
}
every_powerful_vassal = {
limit = {
opinion = { target = root value >= 50 }
NOT = { opinion = { target = root value >= 60 } }
}
add = 50
}
every_powerful_vassal = {
limit = {
opinion = { target = root value >= 60 }
NOT = { opinion = { target = root value >= 70 } }
}
add = 60
}
every_powerful_vassal = {
limit = {
opinion = { target = root value >= 70 }
NOT = { opinion = { target = root value >= 80 } }
}
add = 70
}
every_powerful_vassal = {
limit = {
opinion = { target = root value >= 80 }
NOT = { opinion = { target = root value >= 90 } }
}
add = 80
}
every_powerful_vassal = {
limit = {
opinion = { target = root value >= 90 }
NOT = { opinion = { target = root value >= 100 } }
}
add = 90
}
every_powerful_vassal = {
limit = {
opinion = { target = root value >= 100 }
}
add = 100
}
if = {
@ -464,10 +430,12 @@
else = {
divide = 5
}
divide = 5
}
}
}
#MINOR
#Friend modifier.
if = {
limit = {
@ -690,7 +658,7 @@
limit = {
scope:impress_check = {
has_dread_level_towards = {
target = root
target = prev
level = 2
}
}
@ -699,35 +667,29 @@
value = 20
if = {
limit = {
root = {
exists = root.dynasty
exists = dynasty
dynasty = {
has_dynasty_perk = guile_legacy_5
}
}
}
multiply = 2
}
}
}
if = {
if = { # DIPLOMATIC COURT GRANDEUR BONUS
limit = {
root = {
has_royal_court = yes
has_dlc_feature = royal_court
has_court_type = court_diplomatic
court_grandeur_current_level >= 1
}
}
add = {
value = root.court_grandeur_current
value = court_grandeur_current
if = {
limit = { # Reduce the bonus if you are below your expected level
root = {
court_grandeur_current_level < court_grandeur_minimum_expected_level
}
}
multiply = 0.15
}
else = {
@ -735,39 +697,112 @@
}
}
}
# LEGITIMACY
# INSPECTION BONUSES
if = {
limit = {
root = {
is_valid_for_legitimacy_change = yes
legitimacy_level != 3
is_rightful_liege_of = scope:impress_check
scope:impress_check = {
has_variable_list = lesser_inspection_bonus
is_target_in_variable_list = {
name = lesser_inspection_bonus
target = prev
}
}
add = {
value = 0
if = {
limit = { root.legitimacy_level <= 2 }
add = -15
}
add = 5
}
if = {
limit = { root.legitimacy_level <= 1 }
add = -15
limit = {
scope:impress_check = {
has_variable_list = inspection_bonus
is_target_in_variable_list = {
name = inspection_bonus
target = prev
}
}
}
if = {
limit = { root.legitimacy_level >= 4 }
add = 10
}
if = {
limit = { root.legitimacy_level >= 5 }
add = 20
limit = {
scope:impress_check = {
has_variable_list = inspection_reward
is_target_in_variable_list = {
name = inspection_reward
target = prev
}
}
}
add = 10
}
if = {
limit = { root.legitimacy_level >= 6 }
limit = {
has_character_modifier = inspection_reward_focused_vassal_acceptance
}
add = 10
}
# LOW LEGITIMACY
if = {
limit = {
has_legitimacy_flag = reduced_vassalization_acceptance
}
add = -25
}
if = {
limit = {
has_legitimacy_flag = very_reduced_vassalization_acceptance
}
add = -50
}
if = {
limit = {
has_legitimacy_flag = massively_reduced_vassalization_acceptance
}
add = -75
}
# HIGH LEGITIMACY
if = {
limit = {
has_legitimacy_flag = increased_vassalization_acceptance
}
add = 25
}
if = {
limit = {
has_legitimacy_flag = very_increased_vassalization_acceptance
}
add = 50
}
if = {
limit = {
has_legitimacy_flag = extra_increased_vassalization_acceptance
}
add = 75
}
#HISTORICALLY ADMIN PEOPLES WANT TO BE ADMIN
if = {
limit = {
government_has_flag = government_is_administrative
scope:impress_check = {
culture = {
OR = {
this = culture:greek
any_parent_culture_or_above = {
this = culture:greek
}
this = culture:han
any_parent_culture_or_above = {
this = culture:han
}
}
}
}
}
add = 30
}
}
}
# AI-only weights, keep the pope from vassalizing too fast
if = {
@ -778,6 +813,45 @@
}
add = -50
}
if = {
limit = {
scope:actor = {
has_variable = severed_head_vassalization
var:severed_head_vassalization = {
this = scope:impress_check
}
}
}
add = 200
desc = COWED_BY_SEVERED_HEAD_MODIFIER
}
#Mandala Tributaries should not want to be vassals
if = {
limit = {
government_has_flag = government_is_mandala
scope:impress_check = { is_tributary_of = scope:actor }
}
add = -35
}
if = {
limit = {
government_has_flag = government_is_mandala
scope:impress_check = { government_has_flag = government_is_mandala }
}
add = -25
}
#Your Radiance
if = {
limit = {
has_unruined_mandala_capital_trigger = yes
}
add = mandala_radiance_value
}
}
base_wedding_cost = {
@ -1132,7 +1206,7 @@ number_of_current_and_former_spouses = {
add = 1
}
every_memory = {
limit = { has_memory_type = spouse_died }
memory_type = spouse_died
add = 1
}
}

View file

@ -1,928 +0,0 @@
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
}
max_strength_with_allies_value = {
value = max_military_strength
every_ally = { add = max_military_strength }
}
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

@ -1,250 +0,0 @@
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 = 3000
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
}
tally_current_followers = {
value = 0
every_courtier_or_guest = {
add = 1
}
}
tally_roll_of_patrons = {
value = 0
every_contact = {
add = 1
}
}
camp_pavillion_level = {
value = 0
if = {
limit = {
domicile ?= { has_domicile_building_or_higher = camp_main_01 }
}
add = 1
}
else_if = {
limit = {
domicile ?= { has_domicile_building_or_higher = camp_main_02 }
}
add = 1
}
else_if = {
limit = {
domicile ?= { has_domicile_building_or_higher = camp_main_03 }
}
add = 1
}
else_if = {
limit = {
domicile ?= { has_domicile_building_or_higher = camp_main_04 }
}
add = 1
}
}

View file

@ -1,474 +0,0 @@
###################
# NOMAD YURT VALUES #
###################
# Beware, this file is full of MATH!
###############################
#AI VALUES
nomadic_capital_literally_invaluable_building = {
value = 1000
}
nomadic_capital_extremely_important_building = {
value = 100
}
nomadic_capital_very_important_building = {
value = 15
}
nomadic_capital_main_building_1 = {
value = 8
}
nomadic_capital_main_building_2 = {
value = 7
if = {
limit = {
owner = {
short_term_gold >= yurt_main_building_gold_cost_tier_2
prestige >= yurt_main_building_prestige_cost_tier_2
}
herd >= yurt_main_building_herd_cost_tier_2
}
add = 4
}
if = {
limit = {
herd >= {
value = max_herd
multiply = 0.9
}
}
add = 5
}
}
nomadic_capital_main_building_3 = {
value = 6
if = {
limit = {
owner = {
short_term_gold >= yurt_main_building_gold_cost_tier_3
prestige >= yurt_main_building_prestige_cost_tier_3
}
herd >= yurt_main_building_herd_cost_tier_3
}
add = 4
}
if = {
limit = {
herd >= {
value = max_herd
multiply = 0.9
}
}
add = 5
}
}
nomadic_capital_main_building_4 = {
value = 5
if = {
limit = {
owner = {
short_term_gold >= yurt_main_building_gold_cost_tier_4
prestige >= yurt_main_building_prestige_cost_tier_4
}
herd >= yurt_main_building_herd_cost_tier_4
}
add = 4
}
if = {
limit = {
herd >= {
value = max_herd
multiply = 0.9
}
}
add = 5
}
}
nomadic_capital_main_building_5 = {
value = 4
if = {
limit = {
owner = {
short_term_gold >= yurt_main_building_gold_cost_tier_5
prestige >= yurt_main_building_prestige_cost_tier_5
}
herd >= yurt_main_building_herd_cost_tier_5
}
add = 4
}
if = {
limit = {
herd >= {
value = max_herd
multiply = 0.9
}
}
add = 5
}
}
nomadic_capital_main_building_6 = {
value = 3
if = {
limit = {
owner = {
short_term_gold >= yurt_main_building_gold_cost_tier_6
prestige >= yurt_main_building_prestige_cost_tier_6
}
herd >= yurt_main_building_herd_cost_tier_6
}
add = 4
}
if = {
limit = {
herd >= {
value = max_herd
multiply = 0.9
}
}
add = 5
}
}
nomadic_capital_interior_building_1 = {
value = 9
}
nomadic_capital_interior_building_2 = {
value = 8
}
nomadic_capital_interior_building_3 = {
value = 7
}
nomadic_capital_interior_building_4 = {
value = 6
}
nomadic_capital_interior_building_5 = {
value = 5
}
nomadic_capital_interior_building_6 = {
value = 4
}
nomadic_capital_interior_building_7 = {
value = 3
}
nomadic_capital_interior_building_8 = {
value = 2
}
nomadic_capital_exterior_building_1 = {
value = 11
}
nomadic_capital_exterior_building_2 = {
value = 7
}
nomadic_capital_exterior_building_3 = {
value = 6
}
nomadic_capital_exterior_building_4 = {
value = 5
}
nomadic_capital_exterior_building_5 = {
value = 4
}
nomadic_capital_exterior_building_6 = {
value = 3
}
nomadic_capital_exterior_building_7 = {
value = 2
}
nomadic_capital_exterior_building_8 = {
value = 4
}
###################################
# Construction Cost
# NOTE: the costs are designed with different progression. The early tiers are cheap and cost mostly herd, the higher cost more and more prestige, then skyrocket with gold cost
# Control mult values
# They follow the equation Xn = A*X(n-1)+ B^(n-1)*(increase_value), X1 = base_value + increase_value
# Set them all to 1 to get your standard, boring like your life, linear progression
@yurt_building_herd_mult_A = 1
@yurt_building_herd_mult_B = 1
@yurt_building_prestige_mult_A = 1.1
@yurt_building_prestige_mult_B = 0.8
@yurt_building_gold_mult_A = 0.6
@yurt_building_gold_mult_B = 1.6
#main building control costs
@yurt_main_building_herd_base_cost = 200
@yurt_main_building_herd_increase_cost = 200
@yurt_main_building_prestige_base_cost = 40
@yurt_main_building_prestige_increase_cost = 80
@yurt_main_building_gold_base_cost = 100
@yurt_main_building_gold_increase_cost = 40
#external building control costs
@yurt_external_building_herd_base_cost = 200
@yurt_external_building_herd_increase_cost = 100
@yurt_external_building_prestige_base_cost = 15
@yurt_external_building_prestige_increase_cost = 45
@yurt_external_building_gold_base_cost = 0
@yurt_external_building_gold_increase_cost = 20
#internal building control costs
@yurt_internal_building_herd_base_cost = 100
@yurt_internal_building_herd_increase_cost = 50
@yurt_internal_building_prestige_base_cost = 8
@yurt_internal_building_prestige_increase_cost = 24
@yurt_internal_building_gold_base_cost = 4
@yurt_internal_building_gold_increase_cost = 8
###################################
# Construction herd values
# main yurt
@yurt_main_building_herd_cost_1 = @[yurt_main_building_herd_base_cost + yurt_main_building_herd_increase_cost]
@yurt_main_building_herd_cost_2 = @[yurt_building_herd_mult_A*yurt_main_building_herd_cost_1 + yurt_building_herd_mult_B*yurt_main_building_herd_increase_cost]
@yurt_main_building_herd_cost_3 = @[yurt_building_herd_mult_A*yurt_main_building_herd_cost_2 + yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_main_building_herd_increase_cost]
@yurt_main_building_herd_cost_4 = @[yurt_building_herd_mult_A*yurt_main_building_herd_cost_3 + yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_main_building_herd_increase_cost]
@yurt_main_building_herd_cost_5 = @[yurt_building_herd_mult_A*yurt_main_building_herd_cost_4 + yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_main_building_herd_increase_cost]
@yurt_main_building_herd_cost_6 = @[yurt_building_herd_mult_A*yurt_main_building_herd_cost_5 + yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_main_building_herd_increase_cost]
# external yurts
@yurt_external_building_herd_cost_1 = @[yurt_external_building_herd_base_cost + yurt_external_building_herd_increase_cost]
@yurt_external_building_herd_cost_2 = @[yurt_building_herd_mult_A*yurt_external_building_herd_cost_1 + yurt_building_herd_mult_B*yurt_external_building_herd_increase_cost]
@yurt_external_building_herd_cost_3 = @[yurt_building_herd_mult_A*yurt_external_building_herd_cost_2 + yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_external_building_herd_increase_cost]
@yurt_external_building_herd_cost_4 = @[yurt_building_herd_mult_A*yurt_external_building_herd_cost_3 + yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_external_building_herd_increase_cost]
@yurt_external_building_herd_cost_5 = @[yurt_building_herd_mult_A*yurt_external_building_herd_cost_4 + yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_external_building_herd_increase_cost]
@yurt_external_building_herd_cost_6 = @[yurt_building_herd_mult_A*yurt_external_building_herd_cost_5 + yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_external_building_herd_increase_cost]
# internal yurts
@yurt_internal_building_herd_cost_1 = @[yurt_internal_building_herd_base_cost + yurt_internal_building_herd_increase_cost]
@yurt_internal_building_herd_cost_2 = @[yurt_building_herd_mult_A*yurt_internal_building_herd_cost_1 + yurt_building_herd_mult_B*yurt_internal_building_herd_increase_cost]
@yurt_internal_building_herd_cost_3 = @[yurt_building_herd_mult_A*yurt_internal_building_herd_cost_2 + yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_internal_building_herd_increase_cost]
@yurt_internal_building_herd_cost_4 = @[yurt_building_herd_mult_A*yurt_internal_building_herd_cost_3 + yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_internal_building_herd_increase_cost]
@yurt_internal_building_herd_cost_5 = @[yurt_building_herd_mult_A*yurt_internal_building_herd_cost_4 + yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_internal_building_herd_increase_cost]
@yurt_internal_building_herd_cost_6 = @[yurt_building_herd_mult_A*yurt_internal_building_herd_cost_5 + yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_building_herd_mult_B*yurt_internal_building_herd_increase_cost]
###################################
# Construction prestige values
# main yurt
@yurt_main_building_prestige_cost_1 = @[yurt_main_building_prestige_base_cost + yurt_main_building_prestige_increase_cost]
@yurt_main_building_prestige_cost_2 = @[yurt_building_prestige_mult_A*yurt_main_building_prestige_cost_1 + yurt_building_prestige_mult_B*yurt_main_building_prestige_increase_cost]
@yurt_main_building_prestige_cost_3 = @[yurt_building_prestige_mult_A*yurt_main_building_prestige_cost_2 + yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_main_building_prestige_increase_cost]
@yurt_main_building_prestige_cost_4 = @[yurt_building_prestige_mult_A*yurt_main_building_prestige_cost_3 + yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_main_building_prestige_increase_cost]
@yurt_main_building_prestige_cost_5 = @[yurt_building_prestige_mult_A*yurt_main_building_prestige_cost_4 + yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_main_building_prestige_increase_cost]
@yurt_main_building_prestige_cost_6 = @[yurt_building_prestige_mult_A*yurt_main_building_prestige_cost_5 + yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_main_building_prestige_increase_cost]
# external yurts
@yurt_external_building_prestige_cost_1 = @[yurt_external_building_prestige_base_cost + yurt_external_building_prestige_increase_cost]
@yurt_external_building_prestige_cost_2 = @[yurt_building_prestige_mult_A*yurt_external_building_prestige_cost_1 + yurt_building_prestige_mult_B*yurt_external_building_prestige_increase_cost]
@yurt_external_building_prestige_cost_3 = @[yurt_building_prestige_mult_A*yurt_external_building_prestige_cost_2 + yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_external_building_prestige_increase_cost]
@yurt_external_building_prestige_cost_4 = @[yurt_building_prestige_mult_A*yurt_external_building_prestige_cost_3 + yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_external_building_prestige_increase_cost]
@yurt_external_building_prestige_cost_5 = @[yurt_building_prestige_mult_A*yurt_external_building_prestige_cost_4 + yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_external_building_prestige_increase_cost]
@yurt_external_building_prestige_cost_6 = @[yurt_building_prestige_mult_A*yurt_external_building_prestige_cost_5 + yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_external_building_prestige_increase_cost]
# internal yurts
@yurt_internal_building_prestige_cost_1 = @[yurt_internal_building_prestige_base_cost + yurt_internal_building_prestige_increase_cost]
@yurt_internal_building_prestige_cost_2 = @[yurt_building_prestige_mult_A*yurt_internal_building_prestige_cost_1 + yurt_building_prestige_mult_B*yurt_internal_building_prestige_increase_cost]
@yurt_internal_building_prestige_cost_3 = @[yurt_building_prestige_mult_A*yurt_internal_building_prestige_cost_2 + yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_internal_building_prestige_increase_cost]
@yurt_internal_building_prestige_cost_4 = @[yurt_building_prestige_mult_A*yurt_internal_building_prestige_cost_3 + yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_internal_building_prestige_increase_cost]
@yurt_internal_building_prestige_cost_5 = @[yurt_building_prestige_mult_A*yurt_internal_building_prestige_cost_4 + yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_internal_building_prestige_increase_cost]
@yurt_internal_building_prestige_cost_6 = @[yurt_building_prestige_mult_A*yurt_internal_building_prestige_cost_5 + yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_building_prestige_mult_B*yurt_internal_building_prestige_increase_cost]
###################################
# Construction gold values
# main yurt
@yurt_main_building_gold_cost_1 = @[yurt_main_building_gold_base_cost + yurt_main_building_gold_increase_cost]
@yurt_main_building_gold_cost_2 = @[yurt_building_gold_mult_A*yurt_main_building_gold_cost_1 + yurt_building_gold_mult_B*yurt_main_building_gold_increase_cost]
@yurt_main_building_gold_cost_3 = @[yurt_building_gold_mult_A*yurt_main_building_gold_cost_2 + yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_main_building_gold_increase_cost]
@yurt_main_building_gold_cost_4 = @[yurt_building_gold_mult_A*yurt_main_building_gold_cost_3 + yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_main_building_gold_increase_cost]
@yurt_main_building_gold_cost_5 = @[yurt_building_gold_mult_A*yurt_main_building_gold_cost_4 + yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_main_building_gold_increase_cost]
@yurt_main_building_gold_cost_6 = @[yurt_building_gold_mult_A*yurt_main_building_gold_cost_5 + yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_main_building_gold_increase_cost]
# external yurts
@yurt_external_building_gold_cost_1 = @[yurt_external_building_gold_base_cost + yurt_external_building_gold_increase_cost]
@yurt_external_building_gold_cost_2 = @[yurt_building_gold_mult_A*yurt_external_building_gold_cost_1 + yurt_building_gold_mult_B*yurt_external_building_gold_increase_cost]
@yurt_external_building_gold_cost_3 = @[yurt_building_gold_mult_A*yurt_external_building_gold_cost_2 + yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_external_building_gold_increase_cost]
@yurt_external_building_gold_cost_4 = @[yurt_building_gold_mult_A*yurt_external_building_gold_cost_3 + yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_external_building_gold_increase_cost]
@yurt_external_building_gold_cost_5 = @[yurt_building_gold_mult_A*yurt_external_building_gold_cost_4 + yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_external_building_gold_increase_cost]
@yurt_external_building_gold_cost_6 = @[yurt_building_gold_mult_A*yurt_external_building_gold_cost_5 + yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_external_building_gold_increase_cost]
# internal yurts
@yurt_internal_building_gold_cost_1 = @[yurt_internal_building_gold_base_cost + yurt_internal_building_gold_increase_cost]
@yurt_internal_building_gold_cost_2 = @[yurt_building_gold_mult_A*yurt_internal_building_gold_cost_1 + yurt_building_gold_mult_B*yurt_internal_building_gold_increase_cost]
@yurt_internal_building_gold_cost_3 = @[yurt_building_gold_mult_A*yurt_internal_building_gold_cost_2 + yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_internal_building_gold_increase_cost]
@yurt_internal_building_gold_cost_4 = @[yurt_building_gold_mult_A*yurt_internal_building_gold_cost_3 + yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_internal_building_gold_increase_cost]
@yurt_internal_building_gold_cost_5 = @[yurt_building_gold_mult_A*yurt_internal_building_gold_cost_4 + yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_internal_building_gold_increase_cost]
@yurt_internal_building_gold_cost_6 = @[yurt_building_gold_mult_A*yurt_internal_building_gold_cost_5 + yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_building_gold_mult_B*yurt_internal_building_gold_increase_cost]
###################################
# Getting the final values, no calculations
yurt_main_building_herd_cost_tier_1 = @yurt_main_building_herd_cost_1
yurt_main_building_herd_cost_tier_2 = @yurt_main_building_herd_cost_2
yurt_main_building_herd_cost_tier_3 = @yurt_main_building_herd_cost_3
yurt_main_building_herd_cost_tier_4 = @yurt_main_building_herd_cost_4
yurt_main_building_herd_cost_tier_5 = @yurt_main_building_herd_cost_5
yurt_main_building_herd_cost_tier_6 = @yurt_main_building_herd_cost_6
yurt_external_building_herd_cost_tier_1 = @yurt_external_building_herd_cost_1
yurt_external_building_herd_cost_tier_2 = @yurt_external_building_herd_cost_2
yurt_external_building_herd_cost_tier_3 = @yurt_external_building_herd_cost_3
yurt_external_building_herd_cost_tier_4 = @yurt_external_building_herd_cost_4
yurt_external_building_herd_cost_tier_5 = @yurt_external_building_herd_cost_5
yurt_external_building_herd_cost_tier_6 = @yurt_external_building_herd_cost_6
yurt_internal_building_herd_cost_tier_1 = @yurt_internal_building_herd_cost_1
yurt_internal_building_herd_cost_tier_2 = @yurt_internal_building_herd_cost_2
yurt_internal_building_herd_cost_tier_3 = @yurt_internal_building_herd_cost_3
yurt_internal_building_herd_cost_tier_4 = @yurt_internal_building_herd_cost_4
yurt_internal_building_herd_cost_tier_5 = @yurt_internal_building_herd_cost_5
yurt_internal_building_herd_cost_tier_6 = @yurt_internal_building_herd_cost_6
yurt_main_building_prestige_cost_tier_1 = @yurt_main_building_prestige_cost_1
yurt_main_building_prestige_cost_tier_2 = @yurt_main_building_prestige_cost_2
yurt_main_building_prestige_cost_tier_3 = @yurt_main_building_prestige_cost_3
yurt_main_building_prestige_cost_tier_4 = @yurt_main_building_prestige_cost_4
yurt_main_building_prestige_cost_tier_5 = @yurt_main_building_prestige_cost_5
yurt_main_building_prestige_cost_tier_6 = @yurt_main_building_prestige_cost_6
yurt_external_building_prestige_cost_tier_1 = @yurt_external_building_prestige_cost_1
yurt_external_building_prestige_cost_tier_2 = @yurt_external_building_prestige_cost_2
yurt_external_building_prestige_cost_tier_3 = @yurt_external_building_prestige_cost_3
yurt_external_building_prestige_cost_tier_4 = @yurt_external_building_prestige_cost_4
yurt_external_building_prestige_cost_tier_5 = @yurt_external_building_prestige_cost_5
yurt_external_building_prestige_cost_tier_6 = @yurt_external_building_prestige_cost_6
yurt_internal_building_prestige_cost_tier_1 = @yurt_internal_building_prestige_cost_1
yurt_internal_building_prestige_cost_tier_2 = @yurt_internal_building_prestige_cost_2
yurt_internal_building_prestige_cost_tier_3 = @yurt_internal_building_prestige_cost_3
yurt_internal_building_prestige_cost_tier_4 = @yurt_internal_building_prestige_cost_4
yurt_internal_building_prestige_cost_tier_5 = @yurt_internal_building_prestige_cost_5
yurt_internal_building_prestige_cost_tier_6 = @yurt_internal_building_prestige_cost_6
yurt_main_building_gold_cost_tier_1 = {
value = @yurt_main_building_gold_cost_1
}
yurt_main_building_gold_cost_tier_2 = {
value = @yurt_main_building_gold_cost_2
}
yurt_main_building_gold_cost_tier_3 = {
value = @yurt_main_building_gold_cost_3
}
yurt_main_building_gold_cost_tier_4 = {
value = @yurt_main_building_gold_cost_4
}
yurt_main_building_gold_cost_tier_5 = {
value = @yurt_main_building_gold_cost_5
}
yurt_main_building_gold_cost_tier_6 = {
value = @yurt_main_building_gold_cost_6
}
yurt_external_building_gold_cost_tier_1 = {
value = @yurt_external_building_gold_cost_1
}
yurt_external_building_gold_cost_tier_2 = {
value = @yurt_external_building_gold_cost_2
}
yurt_external_building_gold_cost_tier_3 = {
value = @yurt_external_building_gold_cost_3
}
yurt_external_building_gold_cost_tier_4 = {
value = @yurt_external_building_gold_cost_4
}
yurt_external_building_gold_cost_tier_5 = {
value = @yurt_external_building_gold_cost_5
}
yurt_external_building_gold_cost_tier_6 = {
value = @yurt_external_building_gold_cost_6
}
yurt_internal_building_gold_cost_tier_1 = {
value = @yurt_internal_building_gold_cost_1
}
yurt_internal_building_gold_cost_tier_2 = {
value = @yurt_internal_building_gold_cost_2
}
yurt_internal_building_gold_cost_tier_3 = {
value = @yurt_internal_building_gold_cost_3
}
yurt_internal_building_gold_cost_tier_4 = {
value = @yurt_internal_building_gold_cost_4
}
yurt_internal_building_gold_cost_tier_5 = {
value = @yurt_internal_building_gold_cost_5
}
yurt_internal_building_gold_cost_tier_6 = {
value = @yurt_internal_building_gold_cost_6
}

View file

@ -1,5 +0,0 @@
# Catalyst values
minor_the_great_steppe_catalyst_gain = 15
medium_the_great_steppe_catalyst_gain = 100
major_the_great_steppe_catalyst_gain = 250
massive_the_great_steppe_catalyst_gain = 500

File diff suppressed because it is too large Load diff

View file

@ -1,759 +0,0 @@
# 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
underweight_value = -50
overweight_value = 50
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

@ -1,48 +0,0 @@

#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
expand_duchy_max_size_value = {
value = 4
}

View file

@ -1,287 +0,0 @@
#####################
# PILGRIMAGE VALUES #
#####################
# Reward values
short_pilgrimage_piety_gain = {
value = medium_piety_gain
if = {
limit = {
exists = dynasty
dynasty = {
has_dynasty_perk = erudition_legacy_4
}
}
multiply = 1.3
}
}
#Needs to be synced with the x_pilgrimage_piety_multiplier below to display the actual increase in %
medium_pilgrimage_piety_gain = {
value = medium_piety_gain
multiply = 1.5
if = {
limit = {
exists = dynasty
dynasty = {
has_dynasty_perk = erudition_legacy_4
}
}
multiply = 1.3
}
}
medium_pilgrimage_piety_multiplier = { value = 50 }
long_pilgrimage_piety_gain = {
value = medium_piety_gain
multiply = 2.5
if = {
limit = {
exists = dynasty
dynasty = {
has_dynasty_perk = erudition_legacy_4
}
}
multiply = 1.3
}
}
long_pilgrimage_piety_multiplier = { value = 150 }
very_long_pilgrimage_piety_gain = {
value = medium_piety_gain
multiply = 3.5
if = {
limit = {
exists = dynasty
dynasty = {
has_dynasty_perk = erudition_legacy_4
}
}
multiply = 1.3
}
}
very_long_pilgrimage_piety_multiplier = { value = 250 }
#This needs to be synced with cost/length multipliers in the Solo Pilgrimage phase cost in the activity_types\pilgrimage.txt file
pilgrimage_length_cost_tier_1 = {
value = scope:host.medium_gold_value
multiply = 0.2
}
#Praha -> Cologne
pilgrimage_length_cost_tier_2 = {
value = scope:host.medium_gold_value
multiply = 0.4
}
pilgrimage_length_cost_tier_3 = {
value = scope:host.medium_gold_value
multiply = 0.6
}
pilgrimage_length_cost_tier_4 = {
value = scope:host.medium_gold_value
multiply = 0.8
}
pilgrimage_length_cost_tier_5 = {
value = scope:host.medium_gold_value
multiply = 1
}
#Klingenberg -> Jerusalem
pilgrimage_length_cost_tier_6 = {
value = scope:host.medium_gold_value
multiply = 1.2
}
#Klingenberg -> Kanchipuram
pilgrimage_length_cost_tier_7 = {
value = scope:host.medium_gold_value
multiply = 1.5
}
pilgrimage_low_pious_multiplier = { value = 1.1 }
#Make sure the multiplier values sync up with the multiplier_tt values to display the Reward Tiers as percentages
pilgrimage_low_pious_multiplier_tt = {
value = pilgrimage_low_pious_multiplier
multiply = 100
subtract = 100
}
pilgrimage_mid_pious_multiplier = { value = 1.25 }
#Make sure the multiplier values sync up with the multiplier_tt values to display the Reward Tiers as percentages
pilgrimage_mid_pious_multiplier_tt = {
value = pilgrimage_mid_pious_multiplier
multiply = 100
subtract = 100
}
pilgrimage_high_pious_multiplier = { value = 1.75 }
#Make sure the multiplier values sync up with the multiplier_tt values to display the Reward Tiers as percentages
pilgrimage_high_pious_multiplier_tt = {
value = pilgrimage_high_pious_multiplier
multiply = 100
subtract = 100
}
pilgrimage_perfect_pious_multiplier = { value = 2.5 }
#Make sure the multiplier values sync up with the multiplier_tt values to display the Reward Tiers as percentages
pilgrimage_perfect_pious_multiplier_tt = {
value = pilgrimage_perfect_pious_multiplier
multiply = 100
subtract = 100
}
pilgrimage_low_pious_trait_xp_value = { value = medium_trait_xp }
pilgrimage_mid_pious_trait_xp_value = { value = major_trait_xp }
pilgrimage_high_pious_trait_xp_value = { value = massive_trait_xp }
pilgrimage_perfect_pious_trait_xp_value = {
value = massive_trait_xp
multiply = 2
}
pilgrimage_low_worldly_acceptance_value = { value = 1 }
pilgrimage_mid_worldly_acceptance_value = { value = 3 }
pilgrimage_high_worldly_acceptance_value = { value = 5 }
pilgrimage_perfect_worldly_acceptance_value = { value = 7 }
# Distances to target holy site
long_pilgrimage_max_length = 5000000 # 5M Over this distance, it will be an exceptionally long pilgrimage
medium_pilgrimage_max_length = 1000000 # 1M, slightly larger than 1 'holy roman empire' away
short_pilgrimage_max_length = 100000 # 100K, slightly larger than 1 'ireland' away.
hajj_cooldown_value = 1
pilgrimage_cooldown_value = 5
pilgrimage_entourage_pomp_appropriate_max_value = 5
pilgrimage_entourage_pomp_ceremonial_max_value = 10
pilgrimage_entourage_pomp_throng_max_value = 20
# This one doesn't sync with anything, just presenting it here for consistency/ease of tweaking.
pilgrimage_entourage_pomp_humble_max_value = 7
pilgrimage_entourage_base_set_weighting_value = {
if = {
limit = { bannable_serving_diarch_trigger = no }
# We want to have bodyguards most of all.
if = {
limit = { has_court_position = bodyguard_court_position }
add = 1000
}
if = {
limit = { has_court_position = akolouthos_court_position }
add = 1000
}
# But we'll settle for knights.
else_if = {
limit = {
is_knight = yes
prowess >= high_skill_rating
}
# We keep the weight low, since you'll probably have a good few such knights and we don't want them hogging all the spots.
add = 5
}
# Also maybe someone to just chat to.
## Positive relations.
if = {
limit = {
has_any_good_relationship_with_character_trigger = { CHARACTER = scope:host }
}
# Same faith, standard weight.
if = {
limit = { faith = scope:host.faith }
add = 100
}
# Other faith, _ehhhh_, they're for company but it's still a spiritual shindig.
else = { add = 10 }
}
## Religious figures.
if = {
limit = {
save_temporary_scope_as = current_char
OR = {
liege ?= { cp:councillor_court_chaplain ?= scope:current_char }
AND = {
faith = scope:host.faith
has_trait = devoted
}
}
}
add = 300
}
}
if = {
limit = {
bannable_serving_diarch_trigger = yes
}
add = -5000
}
}
pilgrimage_entourage_extras_set_weighting_value = {
# Same-faith only for all of these.
if = {
limit = {
faith = scope:host.faith
bannable_serving_diarch_trigger = no
}
# Assorted hangers-on.
## Anyone with a court position.
if = {
limit = { has_any_court_position = yes }
add = 50
}
## Zealous courtiers & those with high learning.
if = {
limit = {
OR = {
has_trait = zealous
AND = {
learning >= very_high_skill_rating
NOT = { has_trait = cynical }
}
}
}
add = 25
}
}
if = {
limit = {
bannable_serving_diarch_trigger = yes
}
add = -5000
}
}
pilgrimage_entourage_sodding_everyone_set_weighting_value = {
# Same-faith only for all of these.
if = {
limit = {
faith = scope:host.faith
is_designated_diarch = no
}
# Alright, now we're just grabbing everyone.
## Plus landless councillors.
if = {
limit = { is_councillor = yes }
add = 100
}
## Anyone with a learning education.
if = {
limit = { has_trait = education_learning }
add = 25
}
## Finally, any adult courtier.
if = {
limit = { is_adult = yes }
add = 1
}
}
if = {
limit = {
bannable_serving_diarch_trigger = yes
}
add = -5000
}
}

View file

@ -1,3 +0,0 @@
low_available_loot_value = 5
medium_available_loot_value = 10
high_available_loot_value = 15

Some files were not shown because too many files have changed in this diff Show more