Stavropul start

This commit is contained in:
Heidesommer 2026-04-25 18:55:31 -04:00
parent 50e221bcef
commit 4c1f524d62
158 changed files with 10079 additions and 10160 deletions

View file

@ -2056,6 +2056,8 @@ accolade_leader_of_the_lieges_maa = {
has_innovation = innovation_sarawit
has_innovation = innovation_legionnaires
has_cultural_parameter = unlock_maa_skoutatoi
has_cultural_parameter = unlock_zhanmadao
has_cultural_parameter = unlock_burenjia
}
}
}
@ -2088,6 +2090,9 @@ accolade_leader_of_the_lieges_maa = {
has_cultural_parameter = unlock_maa_monaspa
has_innovation = innovation_valets
has_cultural_parameter = unlock_maa_conrois
has_cultural_parameter = unlock_maa_cataphract_archers
has_innovation = innovation_tiefutu
has_cultural_parameter = unlock_maa_black_armor_cavalry
}
}

File diff suppressed because it is too large Load diff

View file

@ -26,7 +26,7 @@ activity_feast = {
has_character_flag = feasts_a_lot
short_term_gold >= feast_activity_cost
AND = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
short_term_treasury >= feast_activity_cost
}
}
@ -447,8 +447,8 @@ activity_feast = {
}
if = {
limit = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
short_term_treasury >= hunt_activity_base_cost
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
short_term_treasury >= feast_activity_cost
short_term_treasury >= major_gold_value
}
add = {
@ -985,7 +985,7 @@ activity_feast = {
}
government_has_flag = government_is_mandala
AND = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
government_allows = barter
@ -1008,7 +1008,7 @@ activity_feast = {
limit = {
OR = {
NAND = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
AND = {
@ -1067,7 +1067,7 @@ activity_feast = {
OR = {
government_has_flag = government_is_mandala
AND = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
government_allows = barter
@ -1091,7 +1091,7 @@ activity_feast = {
if = {
limit = {
NAND = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
}
@ -3021,7 +3021,7 @@ activity_feast = {
has_character_flag = feast_ai_override
}
AND = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
}
@ -3044,7 +3044,7 @@ activity_feast = {
limit = {
OR = {
NAND = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
AND = {
@ -3311,7 +3311,7 @@ activity_feast = {
}
government_has_flag = government_is_mandala
AND = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
government_allows = barter
@ -3328,7 +3328,7 @@ activity_feast = {
limit = {
OR = {
NAND = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
AND = {
@ -3405,7 +3405,7 @@ activity_feast = {
}
government_has_flag = government_is_mandala
AND = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
government_allows = barter
@ -3422,7 +3422,7 @@ activity_feast = {
limit = {
OR = {
NAND = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
AND = {
@ -3510,7 +3510,7 @@ activity_feast = {
}
government_has_flag = government_is_mandala
AND = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
government_allows = barter
@ -3527,7 +3527,7 @@ activity_feast = {
limit = {
OR = {
NAND = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
AND = {
@ -3622,7 +3622,7 @@ activity_feast = {
}
government_has_flag = government_is_mandala
AND = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
government_allows = barter
@ -3639,7 +3639,7 @@ activity_feast = {
limit = {
OR = {
NAND = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
AND = {
@ -3741,7 +3741,7 @@ activity_feast = {
gold = {
if = {
limit = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
value = 0
@ -3801,7 +3801,7 @@ activity_feast = {
treasury = { # Make sure this matches the gold cost above
if = {
limit = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
add = {
@ -3887,7 +3887,7 @@ activity_feast = {
gold = {
if = {
limit = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
value = 0
@ -3947,7 +3947,7 @@ activity_feast = {
treasury = { # Make sure this matches the gold cost above
if = {
limit = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
add = {
@ -4028,7 +4028,7 @@ activity_feast = {
gold = {
if = {
limit = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
value = 0
@ -4088,7 +4088,7 @@ activity_feast = {
treasury = { # Make sure this matches the gold cost above
if = {
limit = {
house ?= { has_house_power_parameter = feasts_costs_treasury }
house ?= { has_house_aspiration_parameter = feasts_costs_treasury }
has_treasury = yes
}
add = {
@ -4164,7 +4164,7 @@ activity_feast = {
# PHASES
###################
max_guest_arrival_delay_time = { months = 8 }
max_guest_arrival_delay_time = { months = 5 }
phases = {
# Meal.
@ -4874,6 +4874,45 @@ activity_feast = {
limit = { has_character_modifier = mpo_si_slaughtered_animals }
remove_character_modifier = mpo_si_slaughtered_animals
}
random_knight = {
limit = {
can_unlock_accolade_attribute_trigger = {
ATTRIBUTE = master_of_revels
}
}
weight = {
base = 1
modifier = {
add = 50
is_acclaimed = yes
}
modifier = {
add = 50
involved_activity ?= scope:activity
}
}
save_scope_as = accolade_knight
liege = {
save_scope_as = accolade_liege
set_variable = {
name = accolade_progress
value = 0
}
send_interface_message = {
type = msg_accolade_eligibility
title = accolade_master_of_revels_unlock.t_feast
left_icon = scope:accolade_knight
right_icon = scope:accolade_liege
custom_tooltip = accolade_master_of_revels_unlock.tt
scope:accolade_knight = {
set_variable = {
name = master_of_revels_attribute_unlock
value = yes
}
}
}
}
}
}
# Conclusion event for guests
else = {

View file

@ -1461,7 +1461,7 @@ activity_funeral = {
# PHASES
###################
max_guest_arrival_delay_time = { months = 8 }
max_guest_arrival_delay_time = { months = 5 }
phases = {
# Mingling and socialising

View file

@ -37,6 +37,23 @@
is_location_valid = {
trigger_if = {
limit = {
scope:host = {
is_ai = no
is_landless_adventurer = no
}
}
custom_tooltip = {
text = hike_province_requirement_landed
county_controller ?= {
OR = {
target_is_liege_or_above = scope:host
this = scope:host
}
}
}
}
trigger_else_if = {
limit = {
scope:host = {
is_ai = no
@ -62,22 +79,6 @@
}
}
}
trigger_else_if = {
limit = {
scope:host = {
is_ai = no
is_landless_adventurer = no
}
}
custom_tooltip = {
text = hike_province_requirement_landed
scope:host = {
any_realm_province = {
this = root
}
}
}
}
trigger_else = {
always = yes
}

View file

@ -17,7 +17,7 @@
ai_has_warlike_personality = yes
}
AND = {
house ?= { has_house_power_parameter = hunts_costs_treasury }
house ?= { has_house_aspiration_parameter = hunts_costs_treasury }
short_term_treasury >= hunt_activity_base_cost
}
government_has_flag = government_is_nomadic
@ -305,7 +305,7 @@
has_character_flag = free_hunt
government_has_flag = government_is_mandala
AND = {
house ?= { has_house_power_parameter = hunts_costs_treasury }
house ?= { has_house_aspiration_parameter = hunts_costs_treasury }
has_treasury = yes
}
AND = {
@ -424,7 +424,7 @@
treasury = { # Make sure this matches the gold cost above
if = {
limit = {
house ?= { has_house_power_parameter = hunts_costs_treasury }
house ?= { has_house_aspiration_parameter = hunts_costs_treasury }
has_treasury = yes
}
add = {
@ -711,7 +711,7 @@
}
government_has_flag = government_is_mandala
AND = {
house ?= { has_house_power_parameter = hunts_costs_treasury }
house ?= { has_house_aspiration_parameter = hunts_costs_treasury }
has_treasury = yes
}
}
@ -798,7 +798,7 @@
treasury = { # Make sure this matches the gold cost above
if = {
limit = {
house ?= { has_house_power_parameter = hunts_costs_treasury }
house ?= { has_house_aspiration_parameter = hunts_costs_treasury }
has_treasury = yes
}
add = { # Base cost, scaled by era
@ -1360,7 +1360,7 @@
}
if = {
limit = {
house ?= { has_house_power_parameter = hunts_costs_treasury }
house ?= { has_house_aspiration_parameter = hunts_costs_treasury }
has_treasury = yes
short_term_treasury >= hunt_activity_base_cost
short_term_treasury >= major_gold_value
@ -1508,11 +1508,9 @@
limit = {
any_held_title = {
tier = tier_county
any_county_province = {
any_province_epidemic = {
count >= 1
outbreak_intensity < apocalyptic
}
any_county_province_epidemic = {
count >= 1
outbreak_intensity < apocalyptic
}
}
would_follow_social_distancing_value >= -1
@ -1525,11 +1523,9 @@
else_if = {
limit = {
any_realm_county = {
any_county_province = {
any_province_epidemic = {
count >= 1
outbreak_intensity < apocalyptic
}
any_county_province_epidemic = {
count >= 1
outbreak_intensity < apocalyptic
}
}
would_follow_social_distancing_value >= -1
@ -1543,11 +1539,9 @@
limit = {
any_held_title = {
tier = tier_county
any_county_province = {
any_province_epidemic = {
count >= 1
outbreak_intensity = apocalyptic
}
any_county_province_epidemic = {
count >= 1
outbreak_intensity = apocalyptic
}
}
}
@ -1560,11 +1554,9 @@
limit = {
any_held_title = {
tier = tier_county
any_county_province = {
any_province_epidemic = {
count >= 1
outbreak_intensity = apocalyptic
}
any_county_province_epidemic = {
count >= 1
outbreak_intensity = apocalyptic
}
}
}
@ -1839,6 +1831,13 @@
}
desc = activity_hunt_province_desc_rainbow_mountains_major
}
triggered_desc = {
trigger = {
has_building_or_higher = chocolate_hills_01
NOT = { scope:special_option ?= flag:hunt_type_nerge }
}
desc = activity_hunt_province_desc_chocolate_hills_major
}
triggered_desc = {
trigger = {
has_building_or_higher = visegrad_castle_01
@ -1846,6 +1845,17 @@
}
desc = activity_hunt_province_desc_visegrad_castle_01_major
}
triggered_desc = {
trigger = {
county = {
any_county_province = {
has_building_or_higher = legendary_hunting_lodge
}
}
NOT = { scope:special_option ?= flag:hunt_type_nerge }
}
desc = activity_hunt_province_desc_legendary_hunting_lodge
}
triggered_desc = {
trigger = {
OR = {
@ -3742,7 +3752,7 @@
}
government_has_flag = government_is_mandala
AND = {
house ?= { has_house_power_parameter = hunts_costs_treasury }
house ?= { has_house_aspiration_parameter = hunts_costs_treasury }
has_treasury = yes
}
}
@ -3794,7 +3804,7 @@
treasury = { # Make sure this matches the gold cost above
if = {
limit = {
house ?= { has_house_power_parameter = hunts_costs_treasury }
house ?= { has_house_aspiration_parameter = hunts_costs_treasury }
has_treasury = yes
}
add = {
@ -4213,7 +4223,7 @@
}
government_has_flag = government_is_mandala
AND = {
house ?= { has_house_power_parameter = hunts_costs_treasury }
house ?= { has_house_aspiration_parameter = hunts_costs_treasury }
has_treasury = yes
}
}
@ -4254,7 +4264,7 @@
treasury = { # Make sure this matches the gold cost above
if = {
limit = {
house ?= { has_house_power_parameter = hunts_costs_treasury }
house ?= { has_house_aspiration_parameter = hunts_costs_treasury }
has_treasury = yes
}
add = {
@ -4444,7 +4454,7 @@
}
government_has_flag = government_is_mandala
AND = {
house ?= { has_house_power_parameter = hunts_costs_treasury }
house ?= { has_house_aspiration_parameter = hunts_costs_treasury }
has_treasury = yes
}
}
@ -4485,7 +4495,7 @@
treasury = { # Make sure this matches the gold cost above
if = {
limit = {
house ?= { has_house_power_parameter = hunts_costs_treasury }
house ?= { has_house_aspiration_parameter = hunts_costs_treasury }
has_treasury = yes
}
add = {
@ -4735,7 +4745,7 @@
}
government_has_flag = government_is_mandala
AND = {
house ?= { has_house_power_parameter = hunts_costs_treasury }
house ?= { has_house_aspiration_parameter = hunts_costs_treasury }
has_treasury = yes
}
}
@ -4776,7 +4786,7 @@
treasury = { # Make sure this matches the gold cost above
if = {
limit = {
house ?= { has_house_power_parameter = hunts_costs_treasury }
house ?= { has_house_aspiration_parameter = hunts_costs_treasury }
has_treasury = yes
}
add = {
@ -4951,7 +4961,7 @@
}
government_has_flag = government_is_mandala
AND = {
house ?= { has_house_power_parameter = hunts_costs_treasury }
house ?= { has_house_aspiration_parameter = hunts_costs_treasury }
has_treasury = yes
}
}
@ -4992,7 +5002,7 @@
treasury = { # Make sure this matches the gold cost above
if = {
limit = {
house ?= { has_house_power_parameter = hunts_costs_treasury }
house ?= { has_house_aspiration_parameter = hunts_costs_treasury }
has_treasury = yes
}
add = {
@ -5123,7 +5133,7 @@
# PHASES
###################
max_guest_arrival_delay_time = { months = 8 }
max_guest_arrival_delay_time = { months = 5 }
phases = {
hunt_phase = {
@ -5247,7 +5257,7 @@
# House aspiration - gain merit
if = {
limit = {
house ?= { has_house_power_parameter = hunts_provides_merit }
house ?= { has_house_aspiration_parameter = hunts_provides_merit }
}
scope:activity = {
add_activity_log_entry = {
@ -5785,5 +5795,49 @@
}
}
}
if = {
limit = {
this = scope:host
}
random_knight = {
limit = {
can_unlock_accolade_attribute_trigger = {
ATTRIBUTE = huntsmaster
}
}
weight = {
base = 1
modifier = {
add = 50
is_acclaimed = yes
}
modifier = {
add = 50
involved_activity ?= scope:activity
}
}
save_scope_as = accolade_knight
liege = {
save_scope_as = accolade_liege
set_variable = {
name = accolade_progress
value = 0
}
send_interface_message = {
type = msg_accolade_eligibility
title = accolade_huntsmaster_unlock.t
left_icon = scope:accolade_knight
right_icon = scope:accolade_liege
custom_tooltip = accolade_huntsmaster_unlock.tt
scope:accolade_knight = {
set_variable = {
name = huntsmaster_attribute_unlock
value = yes
}
}
}
}
}
}
}
}

View file

@ -78,6 +78,7 @@
limit = {
faith = { has_doctrine_parameter = mandatory_hajj }
capital_province.barony ?= title:b_makka
is_landless_adventurer = no
}
custom_tooltip = {
text = activity_pilgrimage.is_location_valid.capital_is_mecca
@ -126,7 +127,10 @@
#Invalidate flag, until/unless this is fixed in code
NOT = { has_variable = pilgrimage_invalidated_illness }
#Don't change your capital to be the holy site destination
capital_province.barony != scope:activity.activity_location.barony
trigger_if = {
limit = { is_landless_adventurer = no }
capital_province.barony != scope:activity.activity_location.barony
}
}
# Converting mid-pilgrimage is a big no-no.
scope:activity = {
@ -252,10 +256,15 @@
}
}
}
#You can't pilgrimage to your own capital
custom_tooltip = {
text = activity_pilgrimage.is_location_valid.capital_is_holy_site
scope:host.capital_province != root
#You can't pilgrimage to your own capital - Except for if you are an adventurer because then you travel around all the time anyway
trigger_if = {
limit = {
scope:host = { is_landless_adventurer = no }
}
custom_tooltip = {
text = activity_pilgrimage.is_location_valid.capital_is_holy_site
scope:host.capital_province != root
}
}
# If you are supposed to be the realm's reserve ruler, then you can't take a multi-year foreign trip.
@ -266,10 +275,14 @@
custom_tooltip = {
text = activity_pilgrimage.serving_diarch
county.holder = {
any_liege_or_above = { this = scope:host.liege }
OR = {
any_liege_or_above = { this = scope:host.liege }
this = scope:host.liege
}
}
}
}
trigger_if = {
limit = {
scope:host = {
@ -852,13 +865,13 @@
gold = {
add = {
add = {
value = root.pilgrimage_base_cost
value = pilgrimage_base_cost
desc = pilgrimage_base_cost
}
add = {
value = root.pilgrimage_base_cost
value = pilgrimage_base_cost
multiply = activity_cost_scale_by_era
subtract = root.pilgrimage_base_cost
subtract = pilgrimage_base_cost
desc = activity_cost_scale_by_era_desc
}
if = {
@ -889,7 +902,7 @@
dynasty ?= { has_dynasty_perk = ep2_activities_legacy_1 }
}
subtract = {
value = root.pilgrimage_base_cost
value = pilgrimage_base_cost
multiply = ep2_activities_legacy_1_pilgrimages_discount_value
desc = ep2_activities_legacy_track
}
@ -922,7 +935,7 @@
#House Aspiration Humility
if = {
limit = {
house ?= { has_house_power_parameter = humility_pilgrimage_discount }
house ?= { has_house_aspiration_parameter = humility_pilgrimage_discount }
}
multiply = {
value = 0.75
@ -1015,6 +1028,12 @@
}
min = minor_gold_value
}
if = {
limit = {
has_title = title:e_minister_of_revenue
}
multiply = 0.85
}
}
}
@ -1163,7 +1182,7 @@
dynasty ?= { has_dynasty_perk = ep2_activities_legacy_1 }
}
subtract = {
value = root.pilgrimage_base_cost
value = pilgrimage_base_cost
multiply = ep2_activities_legacy_1_pilgrimages_discount_value
desc = ep2_activities_legacy_track
}
@ -1220,6 +1239,12 @@
divide = 5
ceiling = yes
multiply = 5
if = {
limit = {
has_title = title:e_minister_of_revenue
}
multiply = 0.85
}
}
}
@ -1362,6 +1387,7 @@
NAND = {
exists = capital_province
capital_province.barony = title:b_makka
is_landless_adventurer = no
}
}
}
@ -1906,6 +1932,34 @@
add = 1
}
}
# Bonus wandering XP from travel_events_bp3.95
if = {
limit = {
has_variable_list = holy_site_dreams
is_target_in_variable_list = {
name = holy_site_dreams
target = root.location.barony
}
}
send_interface_message = {
type = send_interface_message_good
title = travel_events_bp3.95.t
left_icon = root
if = {
limit = {
has_lifestyle = wanderer_lifestyle
}
add_wanderer_lifestyle_xp = 500
}
stress_impact = {
base = major_stress_impact_loss
zealous = medium_stress_impact_loss
}
add_piety = major_piety_gain
}
}
#Arrival events - where Pilgrims gain their Pilgrim trait
#We have the Obligatory option selected - we skip the destination events
@ -2041,6 +2095,10 @@
can_be_activity_guest = {
age > 5
OR = {
faith.religion = scope:host.faith.religion
current_travel_plan ?= { travel_plan_owner = scope:host } #When people join you on the way there.
}
}
max_guests = 30
@ -2846,7 +2904,11 @@
trigger = {
scope:host = {
faith.religion = {
is_in_family = rf_eastern
OR = {
is_in_family = rf_eastern
is_in_family = rf_sinitic
this = religion:shintoism_religion
}
}
culture = {
has_graphical_east_asia_culture_group_trigger = yes
@ -2863,6 +2925,19 @@
environment = "environment_ep3_holysite_orthodox"
ambience = "event:/DLC/EP3/SFX/Events/Event_Images/ep3_evn_eventimage_orthodox_holy_site"
}
background = {
trigger = {
activity_location.culture = {
OR = {
has_graphical_mena_culture_group_trigger = yes
has_graphical_iranian_culture_group_trigger = yes
}
}
}
texture = "gfx/interface/illustrations/event_scenes/ep2_holysite_mena.dds"
environment = "environment_generic_holy_site_mena"
ambience = "event:/SFX/Events/Backgrounds/town_market_middleeastern_day"
}
background = {
trigger = {
activity_location.culture = { has_graphical_mena_culture_group_trigger = yes }

View file

@ -271,7 +271,7 @@
}
wait_time_before_start = { days = 7 }
max_guest_arrival_delay_time = { months = 8 }
max_guest_arrival_delay_time = { months = 5 }
###################

View file

@ -228,6 +228,7 @@
limit = {
any_vassal = {
count >= 5
highest_held_title_tier >= tier_county
}
}
desc = "I have many vassals"
@ -2748,6 +2749,11 @@
# Scripted Modifiers
activity_guest_shared_ai_accept_modifier = yes
modifier = {
is_acclaimed = yes
add = 20
desc = ACTIVITY_GUEST_ACCLAIMED_KNIGHT_REASON
}
}
travel_entourage_selection = {
@ -3335,6 +3341,49 @@
value = yes
}
}
random_knight = {
limit = {
can_unlock_accolade_attribute_trigger = {
ATTRIBUTE = reeve
}
}
weight = {
base = -10
modifier = {
add = stewardship
factor = 1.5
}
modifier = {
add = 10
is_acclaimed = yes
}
modifier = {
add = 10
involved_activity ?= scope:activity
}
}
save_scope_as = accolade_knight
liege = {
save_scope_as = accolade_liege
set_variable = {
name = accolade_progress
value = 0
}
send_interface_message = {
type = msg_accolade_eligibility
title = accolade_reeve_unlock.t
left_icon = scope:accolade_knight
right_icon = scope:accolade_liege
custom_tooltip = accolade_reeve_unlock.tt
scope:accolade_knight = {
set_variable = {
name = reeve_attribute_unlock
value = yes
}
}
}
}
}
}
}
}

View file

@ -45,9 +45,11 @@
#That someone and their betrothed are alive and adults and can marry
var:promised_grand_wedding_marriage_countdown = {
is_valid_grand_wedding_special_guest_trigger = { OTHER_SPOUSE = root.var:promised_grand_wedding_marriage_countdown.betrothed }
NOT = { any_invited_activity = {} }
}
var:promised_grand_wedding_marriage_countdown.betrothed = {
is_valid_grand_wedding_special_guest_trigger = { OTHER_SPOUSE = root.var:promised_grand_wedding_marriage_countdown }
NOT = { any_invited_activity = {} }
}
}
}
@ -71,12 +73,7 @@
scope:activity.var:spouse_2_var = {
is_alive = no
}
scope:activity = { #you're in a murder wedding
has_activity_option = {
category = special_type
option = wedding_type_bloody
}
}
is_bloody_wedding = yes
}
}
}
@ -92,10 +89,7 @@
}
scope:host = {
# The host becoming unlanded will invalidate
OR = {
is_landed_or_landless_administrative = yes
has_government = landless_minority_government
}
is_landed_or_landless_administrative = yes
# The new host being only a baron will invalidate
highest_held_title_tier >= tier_county
# Incapable host will invalidate
@ -135,12 +129,7 @@
is_ai = no
AND = {
is_alive = no
scope:activity = { #you're in a murder wedding
has_activity_option = {
category = special_type
option = wedding_type_bloody
}
}
is_bloody_wedding = yes
}
}
}
@ -167,7 +156,7 @@
if = {
limit = {
scope:host = { has_trait = incapable }
scope:host = { is_physically_able = no }
}
scope:activity = {
activity_type = { save_scope_as = activity_type }
@ -187,8 +176,7 @@
scope:activity = {
has_variable = wedding_invalidated_said_no
}
exists = scope:spouse_1
scope:spouse_1 = { is_alive = yes }
scope:spouse_1 ?= { is_alive = yes }
}
scope:spouse_1 = { trigger_event = ep2_wedding.0152 }
}
@ -257,12 +245,8 @@
scope:activity.var:spouse_2_var ?= {
is_alive = no
}
scope:activity = { #you're not in a murder wedding
has_activity_option = {
category = special_type
option = wedding_type_normal
}
}
#you're not in a murder wedding
is_bloody_wedding = no
}
}
}
@ -495,8 +479,8 @@
}
if = {
limit = { exists = scope:officiant }
scope:officiant = {
limit = { var:officiant ?= { is_alive = yes } }
var:officiant = {
if = {
limit = { has_character_flag = need_priest_outfit }
remove_character_flag = need_priest_outfit
@ -514,6 +498,9 @@
}
}
scope:host = {
clean_grand_wedding_betrothal_variables = yes
}
}
on_host_death = {
@ -522,9 +509,15 @@
# Make the player heir the new host if attending (unless it was the host's wedding!)
if = {
limit = {
exists = scope:host.player_heir
scope:host.player_heir = {
involved_activity = scope:activity
scope:host.player_heir ?= {
OR = {
involved_activity ?= scope:activity
AND = {
location = scope:activity.activity_location
is_available_allow_travelling = yes
NOT = { exists = involved_activity }
}
}
}
scope:host = {
NOR = {
@ -533,9 +526,27 @@
}
}
}
scope:host.player_heir = { save_scope_as = new_host }
scope:host.player_heir = {
save_scope_as = new_host
if = {
limit = { NOT = { exists = involved_activity } }
add_to_activity = scope:activity
}
}
}
# Otherwise, spouse_1 takes over
else_if = {
limit = {
scope:spouse_1 = { is_landed_or_landless_administrative = yes }
}
scope:spouse_1 = { save_scope_as = new_host }
}
else_if = {
limit = {
scope:spouse_2 = { is_landed_or_landless_administrative = yes }
}
scope:spouse_2 = { save_scope_as = new_host }
}
# Otherwise, spouse_1 takes over (and invalidate at once)
else = {
scope:spouse_1 = { save_scope_as = new_host }
}
@ -633,6 +644,14 @@
desc = "Holy Site"
}
}
#Kizuki Taisha
if = {
limit = { has_building = izumo_taisha_01 }
add = {
value = 30
desc = "Kizuki Taisha"
}
}
}
max_province_icons = 5
@ -680,6 +699,11 @@
limit = { barony = { is_holy_site_of = scope:host.faith } }
add = 75
}
#Kizuki Taisha
if = {
limit = { has_building = izumo_taisha_01 }
add = 30
}
}
province_description = {
@ -715,6 +739,10 @@
trigger = { has_building = pleasure_dome }
desc = province_desc_wedding_pleasure_dome
}
triggered_desc = {
trigger = { has_building = izumo_taisha_01 }
desc = province_desc_wedding_izumo_taisha
}
triggered_desc = {
trigger = { barony = { is_holy_site_of = scope:host.faith } }
desc = province_desc_wedding_holy_site
@ -2005,105 +2033,32 @@
scope:host = { trigger_event = ep2_wedding.0101 }
}
else = { trigger_event = ep2_wedding.0100 }
# Accolade stuff
if = {
limit = {
this = scope:host
any_active_accolade = {
accolade_parameter = accolade_party_fertility
}
}
add_character_modifier = {
modifier = accolade_charmer_party_modifier
}
}
if = {
limit = {
this = scope:host
any_active_accolade = {
accolade_parameter = accolade_party_fertility_high
}
}
add_character_modifier = {
modifier = accolade_charmer_party_high_modifier
}
}
if = {
limit = {
exists = scope:host.faith.religious_head
scope:host.faith.religious_head = {
NOR = {
this = scope:activity.special_guest:spouse_1
this = scope:activity.special_guest:spouse_2
limit = { this = scope:host }
# Accolade stuff
if = {
limit = {
any_active_accolade = {
accolade_parameter = accolade_party_fertility
}
}
scope:activity = {
any_attending_character = {
this = scope:host.faith.religious_head
}
add_character_modifier = {
modifier = accolade_charmer_party_modifier
}
}
scope:host.faith.religious_head = { save_scope_as = officiant }
}
else_if = {
limit = {
scope:host != scope:activity.special_guest:spouse_1
}
scope:host = { save_scope_as = officiant }
}
else_if = {
limit = {
exists = scope:host.cp:councillor_court_chaplain
scope:activity = {
any_attending_character = {
this = scope:host.cp:councillor_court_chaplain
}
}
}
scope:host.cp:councillor_court_chaplain = { save_scope_as = officiant }
}
else_if = {
limit = {
NOT = { scope:host.faith = { has_doctrine = doctrine_theocracy_lay_clergy } }
}
if = {
limit = {
NOT = {
scope:activity = {
any_attending_character = {
is_ai = no
}
}
}
any_pool_character = {
province = scope:activity.activity_location
is_physically_able_ai_adult = yes
faith = scope:host.faith
can_be_clergy_due_to_gender_trigger = yes
any_active_accolade = {
accolade_parameter = accolade_party_fertility_high
}
}
random_pool_character = {
province = scope:activity.activity_location
limit = {
is_physically_able_ai_adult = yes
faith = scope:host.faith
can_be_clergy_due_to_gender_trigger = yes
}
save_scope_as = officiant
}
}
else = {
create_character = {
template = priest_character_template
dynasty = none
location = scope:host.location
save_scope_as = officiant
add_character_modifier = {
modifier = accolade_charmer_party_high_modifier
}
}
wedding_assign_officiant_effect = yes
}
scope:officiant ?= {
add_character_flag = officiant
}
# Fires the conclusion events for every attendee, and advance to next phase, with a delay of 2 months
trigger_event = {
on_action = wedding_ceremony_ending_event_pulse
@ -2145,17 +2100,12 @@
if = {
limit = {
scope:activity = {
has_activity_option = {
category = special_type
option = wedding_type_bloody
}
}
is_bloody_wedding = yes
}
if = { #if you have the wedding night kill we progress to that
limit = {
has_variable = bloody_wedding_murder_spouse_var
var:bloody_wedding_murder ?= flag:spouse
}
scope:activity = { progress_activity_phase_after = { months = 2 } }
}
@ -2210,13 +2160,8 @@
if = {
limit = {
OR = {
scope:activity = {
has_activity_option = {
category = special_type
option = wedding_type_normal
}
}
scope:host = { has_variable = bloody_wedding_murder_spouse_var }
is_bloody_wedding = no
scope:host = { var:bloody_wedding_murder ?= flag:spouse }
}
}
trigger_event = ep2_wedding.0300
@ -2231,58 +2176,35 @@
# Bloody Wedding only has a murder event, no regular wnight
if = {
limit = {
scope:activity = {
has_activity_option = {
category = special_type
option = wedding_type_bloody
}
}
is_bloody_wedding = yes
}
if = {
limit = {
scope:host = scope:activity.special_guest:spouse_1 #if you're the spouse
scope:host = { has_variable = bloody_wedding_murder_spouse_var } #and you've chosen to kill them during the wedding night
scope:host = { var:bloody_wedding_murder ?= flag:spouse } #and you've chosen to kill them during the wedding night
}
scope:host = { trigger_event = ep2_wedding.3060 }
}
}
# For a regular wedding
# Fires only for the spouses
if = {
limit = {
OR = {
scope:activity = {
has_activity_option = {
category = special_type
option = wedding_type_normal
}
else = {
# Fires only for the spouses
if = {
limit = {
OR = {
root = scope:activity.special_guest:spouse_1
root = scope:activity.special_guest:spouse_2
}
scope:host = { has_variable = bloody_wedding_backed_down_var }
}
OR = {
root = scope:activity.special_guest:spouse_1
root = scope:activity.special_guest:spouse_2
trigger_event = {
on_action = wedding_wnight_spouse_event_pulse
}
}
trigger_event = {
on_action = wedding_wnight_spouse_event_pulse
# Fires for the guests and host
else = {
trigger_event = { on_action = wedding_wnight_ongoing_event_pulse }
}
}
# Fires for the guests
else_if = {
limit = {
OR = {
scope:activity = {
has_activity_option = {
category = special_type
option = wedding_type_normal
}
}
scope:host = { has_variable = bloody_wedding_backed_down_var }
}
}
trigger_event = { on_action = wedding_wnight_ongoing_event_pulse }
}
}
ai_will_do = {
@ -2813,11 +2735,8 @@
# Remove the wedding reward for Bloody Weddings
if = {
limit = {
is_bloody_wedding = yes
scope:activity = {
has_activity_option = {
category = special_type
option = wedding_type_bloody
}
activity_location.county = {
has_county_modifier = ruler_married_here_county_modifier
}
@ -2830,19 +2749,7 @@
# Clean up for murder host / guests
if = {
limit = {
scope:activity = {
has_activity_option = {
category = special_type
option = wedding_type_bloody
}
}
scope:host = {
#You haven't failed/backed down
NOR = {
has_variable = bloody_wedding_backed_down_var
has_variable = bloody_murder_fail
}
}
is_successful_bloody_wedding = yes
}
scope:activity.special_guest:spouse_1 = {
save_scope_as = spouse_1
@ -2888,21 +2795,56 @@
}
remove_character_modifier = accolade_charmer_party_high_modifier
}
if = {
limit = {
this = scope:host
}
random_knight = {
limit = {
can_unlock_accolade_attribute_trigger = {
ATTRIBUTE = politicker
}
}
weight = {
base = 1
modifier = {
add = 50
is_acclaimed = yes
}
modifier = {
add = 50
involved_activity ?= scope:activity
}
}
save_scope_as = accolade_knight
liege = {
save_scope_as = accolade_liege
set_variable = {
name = accolade_progress
value = 0
}
send_interface_message = {
type = msg_accolade_eligibility
title = accolade_politicker_unlock.t_wedding
left_icon = scope:accolade_knight
right_icon = scope:accolade_liege
custom_tooltip = accolade_politicker_unlock.tt
scope:accolade_knight = {
set_variable = {
name = politicker_attribute_unlock
value = yes
}
}
}
}
}
}
# Rewards for Bloody Weddings given out in event ep2_wedding.0955
# Rewards for Normal Weddings
if = {
limit = {
OR = {
scope:activity = {
has_activity_option = {
category = special_type
option = wedding_type_normal
}
}
scope:host = { has_variable = bloody_wedding_backed_down_var } #you've backed down from a Red Wedding
}
is_bloody_wedding = no
}
if = {
limit = {
@ -3007,16 +2949,7 @@
limit = {
exists = global_var:started_black_dinner_achievement
is_ai = no
scope:activity = {
has_activity_option = {
category = special_type
option = wedding_type_bloody
}
}
NOR = {
has_variable = bloody_murder_fail
has_variable = bloody_wedding_backed_down_var
}
is_successful_bloody_wedding = yes
}
set_global_variable = {
name = finished_black_dinner_achievement
@ -3027,17 +2960,12 @@
}
# Free the officiant!
if = {
limit = { exists = scope:officiant }
scope:officiant = {
if = {
limit = { has_character_flag = need_priest_outfit }
remove_character_flag = need_priest_outfit
}
if = {
limit = { has_character_flag = officiant }
remove_character_flag = officiant
}
limit = { has_character_flag = officiant }
if = {
limit = { has_character_flag = need_priest_outfit }
remove_character_flag = need_priest_outfit
}
remove_character_flag = officiant
}
}

View file

@ -116,6 +116,12 @@
# Filter for struggles
trigger_if = {
limit = {
scope:attacker = {
any_character_struggle = {
involvement = involved
is_struggle_type = iberian_struggle
}
}
scope:defender = {
any_character_struggle = {
involvement = involved
@ -559,8 +565,10 @@ religious_war = {
# Additional requirements to the defines in 00_casus_belli_groups.txt
allowed_for_character = {
scope:attacker.faith = {
NOT = { has_doctrine_parameter = unreformed }
NOT = { has_doctrine_parameter = holy_wars_forbidden }
NOR = {
has_doctrine_parameter = unreformed
has_doctrine_parameter = holy_wars_forbidden
}
}
NOR = {
government_has_flag = government_is_nomadic
@ -679,6 +687,12 @@ religious_war = {
# Filter for struggles
trigger_if = {
limit = {
scope:attacker = {
any_character_struggle = {
involvement = involved
is_struggle_type = iberian_struggle
}
}
scope:defender = {
any_character_struggle = {
involvement = involved
@ -689,7 +703,6 @@ religious_war = {
are_holy_wars_disabled_in_struggle_phase_trigger = yes
}
are_holy_wars_disabled_by_struggle_conciliation_trigger = no # Disabled against other involved faiths in FP2 Conciliation ending
}
should_invalidate = {
@ -1275,6 +1288,12 @@ major_religious_war = {
# Filter for struggles
trigger_if = {
limit = {
scope:attacker = {
any_character_struggle = {
involvement = involved
is_struggle_type = iberian_struggle
}
}
scope:defender = {
any_character_struggle = {
involvement = involved
@ -4043,9 +4062,6 @@ directed_great_holy_war = {
}
}
}
scope:attacker.religious_head = {
piety_level >= 2
}
religion = { exists = var:variable_ghw_unlocked } #Activated by event for every religion.
}
}
@ -4126,9 +4142,6 @@ directed_great_holy_war = {
pledge_attacker = scope:attacker
}
}
scope:attacker.religious_head = {
add_piety_level = -1
}
}
scope:attacker.faith.great_holy_war = {
every_pledged_attacker = { #Add Beneficiary automatically on victory of direct GHW for any attacker that doesn't have one already.

View file

@ -355,13 +355,6 @@
## Seizing control so things *vaguely* work.
custom_tooltip = fp1_varangian_adventurer_conquest.summaries.control_rebate
scope:attacker = { trigger_event = fp1_varangian_adventures.0001 }
## And giving them a gold bounty to keep them afloat.
scope:attacker = {
add_gold = {
value = varangian_adventures_bounty_amount_value
multiply = 0.5 #Half it for counties
}
}
# Finally, general cleanup.
ep3_become_landed_cleanup_effect = yes
# Prestige Progress for the Attacker
@ -938,13 +931,6 @@ ep3_laamp_adventurer_duchy_invasion = {
## Seizing control so things *vaguely* work.
custom_tooltip = fp1_varangian_adventurer_conquest.summaries.control_rebate
scope:attacker = { trigger_event = fp1_varangian_adventures.0001 }
## And giving them a gold bounty to keep them afloat.
scope:attacker = {
add_gold = {
value = varangian_adventures_bounty_amount_value
multiply = 0.5 #Half it for counties
}
}
# Finally, general cleanup.
ep3_become_landed_cleanup_effect = yes
# Prestige Progress for the Attacker
@ -1533,13 +1519,6 @@ ep3_laamp_adventurer_kingdom_invasion = {
## Seizing control so things *vaguely* work.
custom_tooltip = fp1_varangian_adventurer_conquest.summaries.control_rebate
scope:attacker = { trigger_event = fp1_varangian_adventures.0001 }
## And giving them a gold bounty to keep them afloat.
scope:attacker = {
add_gold = {
value = varangian_adventures_bounty_amount_value
multiply = 0.5 #Half it for counties
}
}
# Finally, general cleanup.
ep3_become_landed_cleanup_effect = yes
# Prestige Progress for the Attacker
@ -3729,7 +3708,7 @@ imperial_expedition_cb = {
allowed_for_character = {
top_liege != this
liege ?= { has_diarchy_parameter = unlock_diarch_requests_military_expedition_interaction }
liege ?= { has_diarchy_active_parameter = unlock_diarch_requests_military_expedition_interaction }
is_diarch_of_target = liege
NOT = {
government_has_flag = government_is_landless_adventurer
@ -4641,6 +4620,14 @@ ep3_roman_empire_border_war = {
}
is_ai = no
}
top_liege = {
NOR = {
any_owned_story = {
type = ep3_story_cycle_restoring_rome
}
is_roman_emperor_excluding_byzantium_trigger = yes
}
}
}
allowed_for_character_display_regardless = {
@ -5137,6 +5124,7 @@ ep3_laamp_apprehend_adventurer_cb = {
}
}
every_character_artifact = {
limit = { NOT = { has_variable = artifact_prevent_transfer } }
set_owner = {
target = scope:defender
history = {
@ -5966,6 +5954,44 @@ ep3_laamp_peasant_war = {
}
remove_variable = number_rebel_reinforcements
}
if = {
limit = {
has_variable = ep3_laamp_peasant_war_remain_laamp
variable_list_size = {
name = war_met_peasant_leaders_list
value <= 0
}
}
ordered_in_list = {
variable = war_supported_counties_list
order_by = development_level
save_scope_as = new_capital
}
create_character = {
location = scope:new_capital.title_province
template = peasant_faction_leader_template
faith = scope:new_capital.faith
culture = scope:new_capital.culture
gender_female_chance = {
if = {
limit = { scope:new_capital.faith = { has_doctrine = doctrine_gender_male_dominated } }
add = 0
}
else_if = {
limit = { scope:new_capital.faith = { has_doctrine = doctrine_gender_female_dominated } }
add = 100
}
else = {
add = 50
}
}
save_scope_as = peasant_leader
}
add_to_variable_list = {
name = war_met_peasant_leaders_list
target = scope:peasant_leader
}
}
}
}
@ -5993,7 +6019,7 @@ ep3_laamp_peasant_war = {
involvement = involved
activate_struggle_catalyst = {
catalyst = catalyst_populist_uprise
character = this
character = scope:defender
}
}
}
@ -6004,16 +6030,24 @@ ep3_laamp_peasant_war = {
first_valid = {
triggered_desc = {
trigger = {
scope:attacker = { is_local_player = yes }
scope:attacker = {
is_local_player = yes
has_variable = ep3_laamp_peasant_war_remain_laamp
}
}
desc = county_conquest_cb_victory_desc_attacker
desc = county_conquest_cb_victory_desc_remain_laamp
}
desc = county_conquest_cb_victory_desc
desc = county_conquest_cb_victory_desc_attacker
}
}
on_victory = {
scope:attacker = {
ordered_in_list = {
variable = war_supported_counties_list
order_by = development_level
save_scope_as = new_capital
}
primary_title = {
save_scope_as = old_title
}
@ -6023,6 +6057,46 @@ ep3_laamp_peasant_war = {
#swap the peasant trait for the better one
remove_trait = peasant_leader
add_trait = populist_leader
if = {
limit = {
has_variable = ep3_laamp_peasant_war_remain_laamp
}
random_in_list = {
variable = war_met_peasant_leaders_list
limit = {
this != scope:attacker
}
save_scope_as = peasant_leader
}
if = {
limit = {
NOT = { exists = scope:peasant_leader }
}
create_character = {
location = scope:new_capital.title_province
template = peasant_faction_leader_template
faith = scope:new_capital.faith
culture = scope:new_capital.culture
gender_female_chance = {
if = {
limit = { scope:new_capital.faith = { has_doctrine = doctrine_gender_male_dominated } }
add = 0
}
else_if = {
limit = { scope:new_capital.faith = { has_doctrine = doctrine_gender_female_dominated } }
add = 100
}
else = {
add = 50
}
}
save_scope_as = peasant_leader
}
}
}
else = {
save_scope_as = peasant_leader
}
}
# Set up titles in the new realm.
# Determine potential breakaways
@ -6050,18 +6124,18 @@ ep3_laamp_peasant_war = {
if = {
limit = {
OR = {
scope:attacker.faith = {
scope:peasant_leader.faith = {
faith_hostility_level_comparison = { prev.holder.faith >= scope:defender.faith }
}
holder = scope:defender
holder.primary_title.tier >= scope:target.tier
scope:attacker = { has_claim_on = scope:title_temp }
scope:peasant_leader = { has_claim_on = scope:title_temp }
}
}
add_to_temporary_list = titles_taken
add_to_list = titles_taken
}
else = {
holder = { add_to_temporary_list = vassals_taken }
holder = { add_to_list = vassals_taken }
}
}
}
@ -6069,7 +6143,7 @@ ep3_laamp_peasant_war = {
every_in_list = {
list = titles_taken
change_title_holder = {
holder = scope:attacker
holder = scope:peasant_leader
change = scope:change
take_baronies = yes
}
@ -6078,20 +6152,13 @@ ep3_laamp_peasant_war = {
every_in_list = {
list = vassals_taken
change_liege = {
liege = scope:attacker
liege = scope:peasant_leader
change = scope:change
}
}
}
resolve_title_and_vassal_change = scope:change
## Grab the best county to be the capital
scope:attacker = {
ordered_in_list = {
variable = war_supported_counties_list
order_by = development_level
save_scope_as = new_capital
}
}
scope:new_capital = {
duchy = {
save_scope_as = new_capital_duchy
@ -6110,7 +6177,7 @@ ep3_laamp_peasant_war = {
}
scope:new_title = {
change_title_holder = {
holder = scope:attacker
holder = scope:peasant_leader
change = scope:change
}
}
@ -6118,30 +6185,21 @@ ep3_laamp_peasant_war = {
#make the new title look like your landless adventurer title
hidden_effect = {
scope:new_title = {
set_de_jure_liege_title = scope:new_capital.title_province.empire
set_coa = scope:old_title
set_color_from_title = scope:new_capital
set_capital_county = scope:new_capital
}
}
scope:attacker = {
#stop being a landless adventurer
destroy_laamp_effect = { ADVENTURER = scope:attacker }
#set new capital
set_realm_capital = scope:new_capital
#increase county control and remove all county corruption modifiers
every_in_list = {
variable = war_supported_counties_list
change_county_control = 100
remove_every_county_corruption_modifier_effect = yes
add_county_modifier = {
modifier = ep3_peasant_leader_modifier
years = 10
scope:peasant_leader = {
if = {
limit = {
has_variable = ep3_laamp_peasant_war_remain_laamp
}
#stop being a landless adventurer
destroy_laamp_effect = { ADVENTURER = scope:attacker }
return_home = yes
}
clear_variable_list = war_supported_counties_list
clear_variable_list = war_met_peasant_leaders_list
return_home = yes
}
scope:defender = {
# Legitimacy effect
@ -6175,7 +6233,29 @@ ep3_laamp_peasant_war = {
}
}
}
scope:attacker = {
#increase county control and remove all county corruption modifiers
every_in_list = {
variable = war_supported_counties_list
if = {
limit = {
scope:attacker = {
has_variable = ep3_laamp_peasant_war_remain_laamp
}
}
custom_tooltip = taken_county_remain_laamp
}
change_county_control = 100
remove_every_county_corruption_modifier_effect = yes
add_county_modifier = {
modifier = ep3_peasant_leader_modifier
years = 10
}
}
clear_variable_list = war_supported_counties_list
clear_variable_list = war_met_peasant_leaders_list
remove_variable = ep3_laamp_peasant_war_remain_laamp
}
# EP3: note gold gained from military assistance/join war contracts and their war contribution threshold
laamp_as_mercenary_payout_tooltip_effect = yes
}
@ -6202,6 +6282,7 @@ ep3_laamp_peasant_war = {
#clear all variable lists, you only get one chance!
clear_variable_list = war_supported_counties_list
clear_variable_list = war_met_peasant_leaders_list
remove_variable = ep3_laamp_peasant_war_remain_laamp
stress_impact = {
ambitious = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
@ -6240,6 +6321,7 @@ ep3_laamp_peasant_war = {
#clear all variable lists, you only get one chance!
clear_variable_list = war_supported_counties_list
clear_variable_list = war_met_peasant_leaders_list
remove_variable = ep3_laamp_peasant_war_remain_laamp
#lose the trait, because you didn't win
remove_trait = peasant_leader
}
@ -6333,7 +6415,7 @@ admin_barbarian_conquest_cb = {
}
}
}
target_titles = all
target_titles = neighbor_land_or_water
target_title_tier = duchy
target_de_jure_regions_above = yes
ignore_effect = change_title_holder

View file

@ -3760,7 +3760,7 @@ join_war_interaction = {
}
scope:recipient = {
show_as_tooltip = {
if = {
if = { # if war leader is AI, will directly increase friendship for contributing
limit = {
is_ai = yes
}
@ -3770,7 +3770,7 @@ join_war_interaction = {
REASON = friend_alliance
}
}
else = {
else = { # otherwise will create potential friendship
hidden_effect = { #To nudge friendship
if = {
limit = {
@ -4058,6 +4058,7 @@ join_vassal_war_interaction = {
}
any_in_list = {
list = target_titles
tier <= tier_duchy
count = 1
}

View file

@ -36,7 +36,7 @@ ce1_ask_to_promote_legend_interaction = {
scope:recipient.dynasty = scope:actor.dynasty
scope:recipient = { knows_language_of_culture = scope:actor.culture }
scope:actor = {
has_friendly_relationship_with_character_trigger = { CHARACTER = scope:recipient }
has_any_moderate_good_relationship_with_character_trigger = { CHARACTER = scope:recipient }
}
scope:recipient = {
any_character_to_title_neighboring_county = {

View file

@ -650,7 +650,14 @@ offer_vassalization_interaction = {
character_is_realm_neighbor = scope:recipient
}
}
scope:recipient.capital_province = { squared_distance = { target = scope:actor.capital_province value < 200000 } }
scope:recipient = {
# landless ruler count as within realm
trigger_if = {
limit = { is_landed = no }
NOT = { capital_county.holder = { target_is_same_character_or_above = scope:actor } }
}
capital_province = { squared_distance = { target = scope:actor.capital_province value < 200000 } }
}
}
add = -250
}
@ -662,7 +669,14 @@ offer_vassalization_interaction = {
character_is_realm_neighbor = scope:recipient
}
}
scope:recipient.capital_province = { squared_distance = { target = scope:actor.capital_province value >= 200000 } }
scope:recipient = {
# landless ruler count as within realm
trigger_if = {
limit = { is_landed = no }
NOT = { capital_county.holder = { target_is_same_character_or_above = scope:actor } }
}
capital_province = { squared_distance = { target = scope:actor.capital_province value >= 200000 } }
}
}
add = -500
}
@ -1530,8 +1544,13 @@ offer_fealty_interaction = {
NOT = {
any_neighboring_top_liege_realm_owner = { this = scope:recipient }
}
# landless ruler count as within realm
trigger_if = {
limit = { is_landed = no }
NOT = { capital_county.holder = { target_is_same_character_or_above = scope:actor } }
}
capital_province = { squared_distance = { target = scope:recipient.capital_province value < 200000 } }
}
scope:actor.capital_province = { squared_distance = { target = scope:recipient.capital_province value < 200000 } }
}
add = -15
}
@ -1542,14 +1561,13 @@ offer_fealty_interaction = {
NOT = {
any_neighboring_top_liege_realm_owner = { this = scope:recipient }
}
}
trigger_if = {
limit = {
exists = scope:recipient.suzerain
scope:recipient.suzerain != scope:actor
# landless ruler count as within realm
trigger_if = {
limit = { is_landed = no }
NOT = { capital_county.holder = { target_is_same_character_or_above = scope:actor } }
}
capital_province = { squared_distance = { target = scope:recipient.capital_province value >= 200000 } }
}
scope:actor.capital_province = { squared_distance = { target = scope:recipient.capital_province value >= 200000 } }
}
add = -25
}

View file

@ -122,9 +122,7 @@ ai_cultural_hybridization_interaction = {
sub_realm_size >= 4
is_physically_able_adult = yes
is_at_war = no
NOT = {
has_game_rule = none_hybrid_culture_ai_frequency
}
game_rule_can_create_hybird_culture_trigger = yes
}
is_shown = {
@ -216,11 +214,6 @@ ai_cultural_hybridization_interaction = {
has_game_rule = less_common_hybrid_culture_ai_frequency
}
modifier = {
factor = 0
exists = global_var:has_ai_hybrid_event_cooldown
}
modifier = {
factor = 0
culture = {

View file

@ -1577,11 +1577,16 @@ diarch_imprison_interaction = {
on_decline = {
scope:actor = {
save_scope_as = use_strife_not_tyranny
imprison_HoF_consequences_effect = yes
imprison_tyranny_effect = yes
}
# Do we want a war or an escape?
scope:recipient = {
add_opinion = {
target = scope:actor
modifier = attempted_imprisonment_opinion
}
# If target is count or higher, we want the option to start a war.
if = {
limit = {
@ -1599,6 +1604,11 @@ diarch_imprison_interaction = {
diarch_declare_recipient_criminal_effect = yes
}
50 = {
trigger = {
scope:actor = {
is_landed = yes # consistent with char_interaction.0283
}
}
show_chance = no
desc = char_interaction.0263.result.war
scope:recipient = {
@ -5010,10 +5020,14 @@ diarch_coup_liege_interaction = {
scope:recipient = scope:actor.liege
}
}
scope:recipient = { save_scope_as = secondary_recipient }
scope:recipient = {
save_scope_as = secondary_recipient
}
}
# Always make sure we're targeting your liege as the recipient for UX consistency.
scope:actor.liege = { save_scope_as = recipient }
scope:actor.liege = {
save_scope_as = recipient
}
}
is_shown = {
@ -5028,12 +5042,11 @@ diarch_coup_liege_interaction = {
is_designated_diarch = yes
}
}
# Valid on vassals of your liege or your liege themselves.
## More complex triggers don't generally work because redirect brings the interaction back to targeting the liege as scope:recipient, so we're left with this.
### Don't try to improve it, it's not worth it, but if you _do_, then test your changes thoroughly.
#### When this breaks (which it does easily), it tends to mean the interaction shows up as valid against _every_ other character in diplomatic range.
OR = {
scope:recipient = scope:actor.liege
# secondary_recipient is always saved whenever you use it on anyone who isn't yourself or your liege, so we use this fact to validate it after the redirect, otherwise it will show up on every other ruler in the game
trigger_if = {
limit = {
exists = scope:secondary_recipient
}
scope:secondary_recipient.liege ?= scope:actor.liege
}
}
@ -5256,12 +5269,18 @@ diarch_coup_liege_interaction = {
# Opinion.
## Of scope:actor.
opinion_modifier = {
trigger = {
exists = scope:secondary_recipient # because the secondary_recipient hasn't been chosen when the interaction is initialized
}
who = scope:secondary_recipient
opinion_target = scope:actor
multiplier = 1
}
## Of scope:recipient.
opinion_modifier = {
trigger = {
exists = scope:secondary_recipient
}
who = scope:secondary_recipient
opinion_target = scope:recipient
multiplier = -0.5
@ -5269,6 +5288,9 @@ diarch_coup_liege_interaction = {
# Personality.
## Values.
ai_value_modifier = {
trigger = {
exists = scope:secondary_recipient
}
who = scope:secondary_recipient
ai_honor = -1
ai_boldness = 0.25
@ -5278,68 +5300,69 @@ diarch_coup_liege_interaction = {
modifier = {
add = diarch_ai_desire_plus_3_value
desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.disloyal
scope:secondary_recipient = { has_trait = disloyal }
scope:secondary_recipient ?= { has_trait = disloyal }
}
### +++ Ambitious.
modifier = {
add = diarch_ai_desire_plus_3_value
desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.ambitious
scope:secondary_recipient = { has_trait = ambitious }
scope:secondary_recipient ?= { has_trait = ambitious }
}
### ++ Arbitrary.
modifier = {
add = diarch_ai_desire_plus_2_value
desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.arbitrary
scope:secondary_recipient = { has_trait = arbitrary }
scope:secondary_recipient ?= { has_trait = arbitrary }
}
### + Fickle.
modifier = {
add = diarch_ai_desire_plus_1_value
desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.fickle
scope:secondary_recipient = { has_trait = fickle }
scope:secondary_recipient ?= { has_trait = fickle }
}
### - Stubborn.
modifier = {
add = diarch_ai_desire_minus_1_value
desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.stubborn
scope:secondary_recipient = { has_trait = stubborn }
scope:secondary_recipient ?= { has_trait = stubborn }
}
### -- Just.
modifier = {
add = diarch_ai_desire_minus_2_value
desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.just
scope:secondary_recipient = { has_trait = just }
scope:secondary_recipient ?= { has_trait = just }
}
### --- Content.
modifier = {
add = diarch_ai_desire_minus_3_value
desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.content
scope:secondary_recipient = { has_trait = content }
scope:secondary_recipient ?= { has_trait = content }
}
### --- Loyal.
modifier = {
add = diarch_ai_desire_minus_3_value
desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook.tt.has_trait.loyal
scope:secondary_recipient = { has_trait = loyal }
scope:secondary_recipient ?= { has_trait = loyal }
}
# Hooks.
## Weak hooks are happy to have you in power.
modifier = {
add = 25
scope:secondary_recipient = { has_weak_hook = scope:actor }
scope:secondary_recipient ?= { has_weak_hook = scope:actor }
}
## Strong hooks are *very* happy to have you in power.
modifier = {
add = 75
scope:secondary_recipient = { has_strong_hook = scope:actor }
scope:secondary_recipient ?= { has_strong_hook = scope:actor }
}
## And conversely, don't want you to coup scope:recipient if they've already got a strong hook on them.
modifier = {
add = -100
scope:secondary_recipient = { has_strong_hook = scope:recipient }
scope:secondary_recipient ?= { has_strong_hook = scope:recipient }
}
## Loyalty hooks stop the AI signing up.
modifier = {
exists = scope:secondary_recipient
add = -1000
desc = diarch_coup_liege_interaction.tt.liege_has_loyalty_hook
diarch_loyalty_due_to_hook_trigger = {
@ -5355,12 +5378,12 @@ diarch_coup_liege_interaction = {
# Reduce the malus a little if also allied to scope:actor.
if = {
limit = {
scope:secondary_recipient = { is_allied_to = scope:actor }
scope:secondary_recipient ?= { is_allied_to = scope:actor }
}
add = 50
}
}
scope:secondary_recipient = { is_allied_to = scope:recipient }
scope:secondary_recipient ?= { is_allied_to = scope:recipient }
}
## Heirs don't generally want to betray scope:recipient, as they'll lose out.
modifier = {
@ -6996,9 +7019,11 @@ diarch_swing_scales_currency_interaction = {
scope:actor.var:movement_power_individual >= decent_movement_power_value
}
is_shown = {
exists = scope:actor.var:movement_power_individual
scope:actor = {
government_has_flag = government_is_celestial
is_diarch_of_target = scope:recipient
exists = var:movement_power_individual
}
scope:recipient = { government_has_flag = government_is_celestial }
}
@ -8580,7 +8605,7 @@ liege_dismiss_vizier_interaction = {
declare_me_regent_interaction = {
category = interaction_category_diarch
icon = icon_declare_me_regent
filter_tags = { admin_liege rep_liege }
filter_tags = { admin_liege }
desc = declare_me_regent_interaction_desc
notification_text = DECLARE_ME_REGENT_PROPOSAL
@ -9193,16 +9218,26 @@ appoint_vizier_interaction = {
NOT = { has_diarchy_active_parameter = diarchy_is_vizierate }
}
# We perform this upon ourselves or our (probable) candidates.
scope:recipient = {
OR = {
this = scope:actor
is_courtier_of = scope:actor
AND = {
highest_held_title_tier = tier_barony
liege = scope:actor
trigger_if = {
limit = {
exists = scope:secondary_recipient
}
scope:secondary_recipient = {
is_valid_basic_candidate_for_vizier_trigger = yes
OR = {
is_courtier_of = scope:actor
AND = {
highest_held_title_tier = tier_barony
liege = scope:actor
}
}
}
}
trigger_else = {
scope:recipient = {
this = scope:actor
}
}
}
is_valid_showing_failures_only = {
@ -9227,6 +9262,14 @@ appoint_vizier_interaction = {
populate_recipient_list = { sort_vizier_candidates_to_list_effect = yes }
redirect = {
if = {
limit = { scope:recipient != scope:actor }
scope:recipient = { save_scope_as = secondary_recipient }
scope:actor = { save_scope_as = recipient }
}
}
cost = {
prestige = major_prestige_value
renown = {

View file

@ -14,6 +14,8 @@ invite_agent_to_scheme_interaction = {
always = scope:mandala_trickster
always = scope:gift
always = scope:gift_significant
always = scope:treasury
always = scope:treasury_significant
always = scope:offer_hook
always = scope:offer_hook_strong
always = scope:hook
@ -45,6 +47,8 @@ invite_agent_to_scheme_interaction = {
always = scope:mandala_trickster
always = scope:gift
always = scope:gift_significant
always = scope:treasury
always = scope:treasury_significant
always = scope:offer_hook
always = scope:offer_hook_strong
always = scope:hook
@ -87,6 +91,22 @@ invite_agent_to_scheme_interaction = {
}
stress_impact = { greedy = medium_stress_impact_gain }
}
# Treasury Bribe
if = {
limit = { always = scope:treasury }
pay_treasury_to_gold = {
value = bribe_value
target = scope:recipient
}
}
# Big Treasury Bribe
if = {
limit = { always = scope:treasury_significant }
pay_treasury_to_gold = {
value = greater_bribe_value
target = scope:recipient
}
}
# Offer Hook
if = {
limit = { always = scope:offer_hook }
@ -449,6 +469,12 @@ invite_agent_to_scheme_interaction = {
send_option = {
flag = gift
is_shown = {
NOT = {
scope:actor = {
has_treasury = yes
has_title = title:e_minister_censor
}
}
# We don't show bribes for schemes where agents will always auto-accept or else deny.
NAND = {
scope:scheme = { is_scheme_category = contract }
@ -476,6 +502,12 @@ invite_agent_to_scheme_interaction = {
send_option = {
flag = gift_significant
is_shown = {
NOT = {
scope:actor = {
has_treasury = yes
has_title = title:e_minister_censor
}
}
# We don't show bribes for schemes where agents will always auto-accept or else deny.
NAND = {
scope:scheme = { is_scheme_category = contract }
@ -499,6 +531,68 @@ invite_agent_to_scheme_interaction = {
}
}
}
## Treasury
send_option = {
flag = treasury
is_shown = {
scope:actor = {
has_treasury = yes
has_title = title:e_minister_censor
}
# We don't show bribes for schemes where agents will always auto-accept or else deny.
NAND = {
scope:scheme = { is_scheme_category = contract }
scope:recipient = { is_courtier_of = scope:actor }
}
}
is_valid = {
scope:actor.treasury >= bribe_value
custom_tooltip = {
text = offer_gold.tt.cannot_offer_both_bribes
scope:treasury_significant = no
}
would_agent_accept_petty_bribes_against_target_trigger = yes
}
localization = SCHEME_AGENT_TREASURY_BRIBE
current_description = {
# Triggered desc so that we don't get a weird double tooltip.
triggered_desc = {
trigger = { scope:actor.treasury >= bribe_value }
desc = SCHEME_AGENT_TREASURY_BRIBE_VALID
}
}
}
## Even more treasury
send_option = {
flag = treasury_significant
is_shown = {
scope:actor = {
has_treasury = yes
has_title = title:e_minister_censor
}
# We don't show bribes for schemes where agents will always auto-accept or else deny.
NAND = {
scope:scheme = { is_scheme_category = contract }
scope:recipient = { is_courtier_of = scope:actor }
}
}
is_valid = {
scope:actor.treasury >= greater_bribe_value
custom_tooltip = {
text = offer_gold.tt.cannot_offer_both_bribes
scope:treasury = no
}
would_agent_accept_petty_bribes_against_target_trigger = yes
}
localization = SCHEME_AGENT_TREASURY_SIGNIFICANT_BRIBE
current_description = {
# Triggered desc so that we don't get a weird double tooltip.
triggered_desc = {
trigger = { scope:actor.treasury >= greater_bribe_value }
desc = SCHEME_AGENT_TREASURY_SIGNIFICANT_VALID
}
}
}
## Offer a hook
send_option = {
flag = offer_hook

File diff suppressed because it is too large Load diff

View file

@ -15,7 +15,8 @@
is_shown = {
scope:recipient = {
this != scope:actor
liege ?= scope:actor # this excludes tributary contracts by default
liege = scope:actor
is_tributary = no # this excludes tributary contracts by default
is_ruler = yes
vassal_contract_has_modifiable_obligations = yes
NOT = { government_allows = administrative }
@ -339,12 +340,14 @@ vassal_modify_vassal_contract_interaction = {
is_shown = {
scope:recipient = {
top_liege != this
liege = scope:actor
this != scope:actor
liege ?= scope:actor # this excludes tributary contracts by default
is_tributary = no # this excludes tributary contracts by default
vassal_contract_has_modifiable_obligations = yes
NOT = { government_allows = administrative }
NOT = { government_has_flag = government_is_nomadic }
NOR = {
government_allows = administrative
government_has_flag = government_is_nomadic
}
}
}
@ -595,10 +598,11 @@ ai_only_liege_modify_vassal_contract_interaction = {
}
scope:recipient = {
this != scope:actor
liege = scope:actor
NOT = {
has_strong_hook = scope:actor
}
liege ?= scope:actor # this excludes tributary contracts by default
is_tributary = no # this excludes tributary contracts by default
is_ruler = yes
vassal_contract_can_be_modified_trigger = yes
does_ai_liege_in_vassal_contract_desire_obligation_change = yes
@ -683,10 +687,11 @@ ai_only_liege_modify_vassal_contract_admin_province_interaction = {
}
scope:recipient = {
this != scope:actor
liege = scope:actor
is_tributary = no
NOT = {
has_strong_hook = scope:actor
}
liege ?= scope:actor # this excludes tributary contracts by default
is_ruler = yes
government_has_flag = government_uses_admin_province_obligations
@ -748,10 +753,11 @@ ai_only_vassal_modify_vassal_contract_interaction = {
has_usable_hook = scope:recipient
vassal_contract_can_be_modified_trigger = yes
does_ai_vassal_in_vassal_contract_desire_obligation_change = yes
is_tributary = no # this excludes tributary contracts by default
liege = scope:recipient
}
scope:recipient = {
this != scope:actor
liege ?= scope:actor # this excludes tributary contracts by default
is_ruler = yes
NOT = {
has_strong_hook = scope:actor
@ -824,11 +830,12 @@ admin_liege_modify_vassal_contract_interaction = {
is_shown = {
scope:recipient = {
this != scope:actor
liege = scope:actor
OR = {
is_landed = yes
is_councillor_of = scope:actor.top_liege
}
liege ?= scope:actor # this excludes tributary contracts by default
is_tributary = no # this excludes tributary contracts by default
is_ruler = yes
vassal_contract_has_modifiable_obligations = yes
government_allows = administrative
@ -1017,7 +1024,6 @@ admin_liege_modify_vassal_contract_interaction = {
government_has_flag = government_is_celestial
scope:obligation.vassal_contract_type = vassal_contract:celestial_provinces
}
if = {
limit = {
OR = {
@ -1040,6 +1046,51 @@ admin_liege_modify_vassal_contract_interaction = {
add_realm_law_skip_effects = celestial_appointment_succession_law
}
}
# Update the succession law for meritocratic province types if applicable - That way, we don't have to wait until the current law invalidates.
else_if = {
limit = {
government_has_flag = government_is_meritocratic
scope:obligation.vassal_contract_type = vassal_contract:meritocratic_provinces
}
if = {
limit = {
vassal_contract_has_flag = meritocratic_province_military
NOT = { has_realm_law = meritocratic_military_appointment_succession_law }
}
add_realm_law_skip_effects = meritocratic_military_appointment_succession_law
}
else_if = {
limit = {
OR = {
vassal_contract_has_flag = meritocratic_province_standard
vassal_contract_has_flag = meritocratic_province_industrial
}
NOT = { has_realm_law = meritocratic_appointment_succession_law }
}
add_realm_law_skip_effects = meritocratic_appointment_succession_law
}
}
# Update the succession law for japanese province types if applicable - That way, we don't have to wait until the current law invalidates.
else_if = {
limit = {
government_has_flag = government_is_japanese_administrative
scope:obligation.vassal_contract_type = vassal_contract:japan_administrative_provinces
}
if = {
limit = {
NOT = { vassal_contract_has_flag = japan_administrative_military_appointment }
NOT = { has_realm_law = japanese_appointment_succession_law }
}
add_realm_law_skip_effects = japanese_appointment_succession_law
}
else_if = {
limit = {
vassal_contract_has_flag = japan_administrative_military_appointment
NOT = { has_realm_law = japanese_military_appointment_succession_law }
}
add_realm_law_skip_effects = japanese_military_appointment_succession_law
}
}
}
}
}
@ -1060,7 +1111,7 @@ admin_vassal_modify_vassal_contract_interaction = {
common_interaction = yes
icon = icon_contract_modification_single
filter_tags = { admin_liege rep_liege }
filter_tags = { admin_liege }
send_name = "admin_vassal_modify_vassal_contract_interaction_send"
desc = admin_vassal_modify_vassal_contract_interaction_desc
@ -1069,7 +1120,8 @@ admin_vassal_modify_vassal_contract_interaction = {
scope:actor = {
top_liege != this
this != scope:recipient
liege ?= scope:recipient # this excludes tributary contracts by default
liege = scope:recipient
is_tributary = no # this excludes tributary contracts by default
vassal_contract_has_modifiable_obligations = yes
government_allows = administrative
tgp_is_ceremonial_liege_trigger = no
@ -1235,6 +1287,51 @@ admin_vassal_modify_vassal_contract_interaction = {
add_realm_law_skip_effects = celestial_appointment_succession_law
}
}
# Update the succession law for meritocratic province types if applicable - That way, we don't have to wait until the current law invalidates.
else_if = {
limit = {
government_has_flag = government_is_meritocratic
scope:obligation.vassal_contract_type = vassal_contract:meritocratic_provinces
}
if = {
limit = {
vassal_contract_has_flag = meritocratic_province_military
NOT = { has_realm_law = meritocratic_military_appointment_succession_law }
}
add_realm_law_skip_effects = meritocratic_military_appointment_succession_law
}
else_if = {
limit = {
OR = {
vassal_contract_has_flag = meritocratic_province_standard
vassal_contract_has_flag = meritocratic_province_industrial
}
NOT = { has_realm_law = meritocratic_appointment_succession_law }
}
add_realm_law_skip_effects = meritocratic_appointment_succession_law
}
}
# Update the succession law for japanese province types if applicable - That way, we don't have to wait until the current law invalidates.
else_if = {
limit = {
government_has_flag = government_is_japanese_administrative
scope:obligation.vassal_contract_type = vassal_contract:japan_administrative_provinces
}
if = {
limit = {
NOT = { vassal_contract_has_flag = japan_administrative_military_appointment }
NOT = { has_realm_law = japanese_appointment_succession_law }
}
add_realm_law_skip_effects = japanese_appointment_succession_law
}
else_if = {
limit = {
vassal_contract_has_flag = japan_administrative_military_appointment
NOT = { has_realm_law = japanese_military_appointment_succession_law }
}
add_realm_law_skip_effects = japanese_military_appointment_succession_law
}
}
}
}
}
@ -1427,8 +1524,9 @@ nomad_liege_modify_vassal_contract_interaction = {
is_shown = {
scope:recipient = {
NOT = { this = scope:actor }
liege ?= scope:actor # this excludes tributary contracts by default
this != scope:actor
liege = scope:actor
is_tributary = no # this excludes tributary contracts by default
is_ruler = yes
vassal_contract_has_modifiable_obligations = yes
government_has_flag = government_is_nomadic
@ -1692,8 +1790,9 @@ nomad_vassal_modify_vassal_contract_interaction = {
is_shown = {
scope:recipient = {
is_independent_ruler = no
NOT = { this = scope:actor }
liege ?= scope:actor # this excludes tributary contracts by default
this != scope:actor
liege = scope:actor
is_tributary = no # this excludes tributary contracts by default
vassal_contract_has_modifiable_obligations = yes
government_has_flag = government_is_nomadic
}
@ -1874,7 +1973,7 @@ suzerain_modify_tributary_contract_interaction = {
scope:recipient = {
is_tributary_of = scope:actor # excludes vassals by default
subject_contract_has_modifiable_obligations = yes
NOT = { government_has_flag = government_is_true_herder }
NOT = { government_has_flag = government_is_herder }
}
}

File diff suppressed because it is too large Load diff

View file

@ -2234,7 +2234,7 @@ seek_indulgences_interaction = {
trigger_if = {
limit = {
has_trait = kinslayer_3
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_3 GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_3 GENDER_CHARACTER = scope:actor }
}
gold >= seek_indulgences_major_criminal_trait_value
}
@ -2243,19 +2243,19 @@ seek_indulgences_interaction = {
OR = {
AND = {
has_trait = kinslayer_2
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_2 GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_2 GENDER_CHARACTER = scope:actor }
}
AND = {
has_trait = witch
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = witch GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:witch GENDER_CHARACTER = scope:actor }
}
AND = {
has_trait = deviant
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = deviant GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:deviant GENDER_CHARACTER = scope:actor }
}
AND = {
has_trait = sodomite
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = sodomite GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:sodomite GENDER_CHARACTER = scope:actor }
}
}
}
@ -2266,15 +2266,15 @@ seek_indulgences_interaction = {
OR = {
AND = {
has_trait = kinslayer_1
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_1 GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_1 GENDER_CHARACTER = scope:actor }
}
AND = {
has_trait = fornicator
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = fornicator GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:fornicator GENDER_CHARACTER = scope:actor }
}
AND = {
has_trait = adulterer
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = adulterer GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:adulterer GENDER_CHARACTER = scope:actor }
}
}
}
@ -4089,7 +4089,7 @@ take_vows_interaction = {
if = {
limit = {
house = {
has_house_power_parameter = humility_take_the_vows_bonus
has_house_aspiration_parameter = humility_take_the_vows_bonus
}
}
add_piety_experience = 100
@ -5426,11 +5426,11 @@ hof_ask_for_gold_interaction = {
OR = {
AND = {
has_trait = fornicator
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = fornicator GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:fornicator GENDER_CHARACTER = scope:actor }
}
AND = {
has_trait = adulterer
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = adulterer GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:adulterer GENDER_CHARACTER = scope:actor }
}
}
}
@ -5460,15 +5460,15 @@ hof_ask_for_gold_interaction = {
OR = {
AND = {
has_trait = kinslayer_1
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_1 GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_1 GENDER_CHARACTER = scope:actor }
}
AND = {
has_trait = kinslayer_2
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_2 GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_2 GENDER_CHARACTER = scope:actor }
}
AND = {
has_trait = kinslayer_3
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_3 GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_3 GENDER_CHARACTER = scope:actor }
}
}
}
@ -6255,11 +6255,11 @@ hof_ask_for_claim_interaction = {
OR = {
AND = {
has_trait = fornicator
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = fornicator GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:fornicator GENDER_CHARACTER = scope:actor }
}
AND = {
has_trait = adulterer
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = adulterer GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:adulterer GENDER_CHARACTER = scope:actor }
}
}
}
@ -6272,11 +6272,11 @@ hof_ask_for_claim_interaction = {
OR = {
AND = {
has_trait = fornicator
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = fornicator GENDER_CHARACTER = scope:secondary_recipient }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:fornicator GENDER_CHARACTER = scope:secondary_recipient }
}
AND = {
has_trait = adulterer
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = adulterer GENDER_CHARACTER = scope:secondary_recipient }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:adulterer GENDER_CHARACTER = scope:secondary_recipient }
}
}
}
@ -6323,15 +6323,15 @@ hof_ask_for_claim_interaction = {
OR = {
AND = {
has_trait = kinslayer_1
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_1 GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_1 GENDER_CHARACTER = scope:actor }
}
AND = {
has_trait = kinslayer_2
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_2 GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_2 GENDER_CHARACTER = scope:actor }
}
AND = {
has_trait = kinslayer_3
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_3 GENDER_CHARACTER = scope:actor }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_3 GENDER_CHARACTER = scope:actor }
}
}
}
@ -6344,15 +6344,15 @@ hof_ask_for_claim_interaction = {
OR = {
AND = {
has_trait = kinslayer_1
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_1 GENDER_CHARACTER = scope:secondary_recipient }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_1 GENDER_CHARACTER = scope:secondary_recipient }
}
AND = {
has_trait = kinslayer_2
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_2 GENDER_CHARACTER = scope:secondary_recipient }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_2 GENDER_CHARACTER = scope:secondary_recipient }
}
AND = {
has_trait = kinslayer_3
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_3 GENDER_CHARACTER = scope:secondary_recipient }
trait_is_shunned_or_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_3 GENDER_CHARACTER = scope:secondary_recipient }
}
}
}

View file

@ -738,7 +738,7 @@ befriend_interaction = {
involvement = involved
has_struggle_phase_parameter = struggle_unlocks_befriend_schemes_for_everyone
}
house ?= { has_house_power_parameter = aspect_of_serenity }
house ?= { has_house_aspiration_parameter = aspect_of_serenity }
}
NOR = {
has_trait = shy
@ -903,7 +903,7 @@ befriend_interaction = {
factor = 25
OR = {
has_focus = diplomacy_family_focus
house ?= { has_house_power_parameter = aspect_of_serenity }
house ?= { has_house_aspiration_parameter = aspect_of_serenity }
}
}
@ -1388,7 +1388,7 @@ seduce_interaction = {
}
}
modifier = { # Try to avoid agressive seduction unless you're geared for it
modifier = { # Try to avoid aggressive seduction unless you're geared for it
add = -10
scope:actor = {
NOR = {

View file

@ -416,31 +416,19 @@ appoint_podesta_interaction = {
}
resolve_title_and_vassal_change = scope:change
}
}
}
else = {
scope:recipient = {
show_as_tooltip = {
change_government = republic_government
create_title_and_vassal_change = {
type = returned
save_scope_as = change
add_claim_on_loss = no
every_vassal = {
limit = {
government_has_flag = government_is_republic
}
every_vassal = {
limit = {
government_has_flag = government_is_republic
}
every_held_title = {
change_title_holder = {
holder = scope:recipient
change = scope:change
take_baronies = yes
}
every_held_title = {
change_title_holder = {
holder = scope:recipient
change = scope:change
take_baronies = yes
}
}
resolve_title_and_vassal_change = scope:change
}
resolve_title_and_vassal_change = scope:change
}
}
}

View file

@ -182,27 +182,23 @@
}
}
if = {
limit = {
scope:target = {
scope:target ?= {
if = {
limit = {
title_province = {
geographical_region = geographical_region:mpo_region_permafrost
}
}
}
if = {
limit = {
scope:target = { has_county_modifier = mpo_siberian_permafrost_modifier }
if = {
limit = { has_county_modifier = mpo_siberian_permafrost_modifier }
remove_county_modifier = mpo_siberian_permafrost_modifier
}
scope:target = { remove_county_modifier = mpo_siberian_permafrost_modifier }
}
else_if = {
limit = {
scope:target = { has_county_modifier = mpo_siberian_permafrost_modifier_bad }
else_if = {
limit = { has_county_modifier = mpo_siberian_permafrost_modifier_bad }
remove_county_modifier = mpo_siberian_permafrost_modifier_bad
}
scope:target = { remove_county_modifier = mpo_siberian_permafrost_modifier_bad }
}
}
}
}
}
}
}
@ -364,29 +360,7 @@ tribalize_holding_interaction = {
scope:target.title_province = {
set_holding_type = tribal_holding
}
}
if = {
limit = {
scope:target = {
title_province = {
geographical_region = geographical_region:mpo_region_permafrost
}
}
}
if = {
limit = {
scope:target = { has_county_modifier = mpo_siberian_permafrost_modifier }
}
scope:target = { remove_county_modifier = mpo_siberian_permafrost_modifier }
}
else_if = {
limit = {
scope:target = { has_county_modifier = mpo_siberian_permafrost_modifier_bad }
}
scope:target = { remove_county_modifier = mpo_siberian_permafrost_modifier_bad }
}
}
}
}
}
}
@ -847,7 +821,7 @@ turn_subject_into_mandala_interaction = {
scope:actor = { is_at_war = no }
custom_tooltip = {
text = cannot_take_overt_hostile_actions_against_diarch.tt
NOT = { scope:recipient ?= scope:actor.diarch }
NOT = { scope:actor.diarch ?= scope:recipient }
}
custom_tooltip = {
text = head_of_faith_unable_to_change_government_desc
@ -938,6 +912,16 @@ turn_subject_into_mandala_interaction = {
scope:recipient = { highest_held_title_tier >= tier_kingdom }
gold >= 2000
}
modifier = {
scope:recipient.capital_county.title_province = {
NOR = {
has_holding_type = temple_citadel_holding
has_holding_type = church_holding
has_holding_type = castle_holding
}
}
factor = 0
}
}
ai_accept = {

View file

@ -12,13 +12,6 @@ become_tributary_interaction = {
desc = become_tributary_interaction_desc
is_shown = {
scope:actor = {
trigger_if = {
limit = { is_ai = yes }
current_military_strength < scope:recipient.one_and_a_half_times_current_military_strength
primary_title.tier < scope:recipient.primary_title.tier
}
}
scope:recipient = {
is_independent_ruler = yes # while it's possible for tributaries to have their own tributaries, it should not be possible to create a tributary relationship with a non-independent ruler
NOR = {
@ -28,6 +21,13 @@ become_tributary_interaction = {
}
can_have_tributaries_trigger = yes
}
scope:actor = {
trigger_if = {
limit = { is_ai = yes }
current_military_strength < scope:recipient.one_and_a_half_times_current_military_strength
primary_title.tier < scope:recipient.primary_title.tier
}
}
}
is_valid_showing_failures_only = {
@ -76,22 +76,6 @@ become_tributary_interaction = {
is_confederation_member = no
is_at_war = no
}
trigger_if = {
limit = { scope:recipient = title:h_china.holder }
scope:actor = {
custom_tooltip = {
text = neighbor_is_china
is_tributary = no
is_independent_ruler = yes
OR = {
has_variable = wants_to_become_tributary_of_china
any_neighboring_and_across_water_top_liege_realm_owner = {
primary_title = title:h_china
}
}
}
}
}
}
needs_confirmation = {
@ -1289,8 +1273,7 @@ demand_tributary_interaction = {
scope:recipient = {
NOT = {
any_neighboring_top_suzerain_realm_owner = {
exists = this
NOT = { this = scope:actor }
this != scope:actor
}
}
NOT = {
@ -2020,6 +2003,7 @@ release_tributary_interaction = {
add_truce_both_ways = {
character = scope:actor
years = 5
override = yes
name = TRUCE_TRIBUTARY_STOPPED
}
add_opinion = {
@ -2170,7 +2154,7 @@ exact_tribute_interaction = {
ai_max_reply_days = 9
can_send_despite_rejection = yes
popup_on_receive = yes
common_interaction = yes
common_interaction = no
interface_priority = 4
@ -2228,9 +2212,7 @@ exact_tribute_interaction = {
is_tributary = no
custom_tooltip = {
text = exact_tribute_interaction_hegemony_not_neighbor_tt
any_neighboring_and_across_water_top_liege_realm_owner = {
this = scope:actor
}
any_neighboring_realm_with_tributaries_owner = { this = scope:actor }
}
}
}
@ -2432,9 +2414,7 @@ exact_tribute_interaction = {
GIVER = scope:recipient
CHARACTER = scope:actor
}
is_adult = yes
has_any_disease_trigger = no
has_easily_mocked_physical_attribute_trigger = no
tribute_mission_is_available_concubine_trigger = yes
}
add_to_list = potential_concubine_tribute_list
random_in_list = {
@ -3462,7 +3442,7 @@ offer_courtier_interaction = {
add_opinion = {
target = scope:recipient
modifier = annoyed_opinion
opinion = 10
opinion = -10
}
}
scope:recipient = {

View file

@ -2,7 +2,7 @@
grant_vassal_interaction = {
category = interaction_category_vassal
common_interaction = yes
common_interaction = no
interface = transfer_vassal
icon = icon_vassal
@ -1393,24 +1393,17 @@ create_claimant_faction_against_interaction = {
exists = scope:recipient
exists = scope:landed_title
scope:recipient = {
OR = {
has_title = title:e_minister_chancellor
has_title = title:e_minister_censor
has_title = title:e_minister_grand_marshal
has_title = title:e_minister_of_personnel
has_title = title:e_minister_of_revenue
has_title = title:e_minister_of_rites
has_title = title:e_minister_of_war
has_title = title:e_minister_of_justice
has_title = title:e_minister_of_works
}
tgp_is_any_minister = yes
}
}
scope:recipient = {
custom_description = {
text = target_is_a_minister_desc
subject = this
scope:landed_title = { this = title:h_china }
any_held_title = {
tgp_is_minister_title = yes
de_jure_liege ?= scope:landed_title
}
}
}
}
@ -1681,10 +1674,7 @@ force_onto_council = {
NAND = {
has_council_position = councillor_court_chaplain
faith = {
OR = {
has_doctrine = doctrine_clerical_succession_temporal_fixed_appointment
has_doctrine = doctrine_clerical_succession_spiritual_fixed_appointment
}
has_doctrine_parameter = clerical_appointment_fixed
}
}
}
@ -2291,7 +2281,7 @@ ask_for_pardon_interaction = {
first_valid = {
triggered_desc = {
trigger = {
scope:actor != scope:recipient.liege
scope:actor.top_liege != scope:recipient
}
desc = ask_for_pardon_interaction_minister_desc
}
@ -2332,7 +2322,9 @@ ask_for_pardon_interaction = {
is_highlighted = {
OR = {
has_usable_hook = scope:recipient
scope:actor = {
has_usable_hook = scope:recipient
}
AND = {
scope:recipient = {
has_title = title:e_minister_of_justice
@ -4008,6 +4000,7 @@ grant_court_position = {
scope:recipient = {
liege ?= scope:actor
tgp_is_ceremonial_liege_trigger = no
NOT = { has_character_flag = travel_option_added_character }
}
}

View file

@ -114,7 +114,9 @@
NOT = { has_strong_hook = scope:actor }
trigger_if = {
limit = { is_imprisoned = yes }
imprisoner != scope:actor
NOT = {
imprisoner = scope:actor
}
}
}
scope:actor = {

View file

@ -3411,7 +3411,11 @@ contract_assistance_interaction = {
greedy = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
custom_tooltip = contract_assistance_interaction_condition_tt
custom_description_no_bullet = {
text = contract_assistance_interaction_condition_tt
subject = scope:recipient
object = scope:actor
}
show_as_tooltip = {
pay_short_term_gold = {
target = scope:actor
@ -3996,7 +4000,11 @@ request_contract_assistance_interaction = {
greedy = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
custom_tooltip = request_contract_assistance_interaction_condition_tt
custom_description_no_bullet = {
text = contract_assistance_interaction_condition_tt
subject = scope:actor
object = scope:recipient
}
show_as_tooltip = {
pay_short_term_gold = {
target = scope:recipient
@ -4778,8 +4786,8 @@ bargain_fealty_interaction = {
top_liege = this
is_at_war = yes
any_character_war = {
is_war_leader = prev
primary_defender = prev
is_war_leader = scope:actor
primary_defender = scope:actor
}
trigger_if = {
limit = {
@ -4799,24 +4807,36 @@ bargain_fealty_interaction = {
}
}
}
# Recipient is not at war with Actor
scope:recipient = {
any_neighboring_and_across_water_top_liege_realm_owner = { this = scope:actor }
NOT = { this = scope:actor }
primary_title = { is_mercenary_company = no }
NOR = {
this = scope:actor
is_at_war_with = scope:actor
}
}
}
is_valid_showing_failures_only = {
scope:actor = {
custom_tooltip = {
text = bargain_fealty_interaction_valid_tt
any_character_war = {
is_war_leader = scope:actor
primary_defender = scope:actor
NOT = { using_cb = fp2_border_raid }
NOT = { using_cb = county_struggle_cb }
}
}
any_character_struggle = {
involvement = involved
has_struggle_phase_parameter = unlocks_bargain_fealty_interaction
}
}
scope:recipient = {
custom_tooltip = {
text = bargain_fealty_interaction_neighbor_tt
any_neighboring_and_across_water_top_liege_realm_owner = { this = scope:actor }
}
# Recipient is not at war with Actor
NOT = { is_at_war_with = scope:actor }
}
}
can_be_picked = {
@ -4841,45 +4861,45 @@ bargain_fealty_interaction = {
}
}
can_send = {
exists = scope:target
}
on_accept = {
if = {
limit = { exists = scope:target }
scope:target = {
# Add Recipient to Actor's war
scope:target = {
hidden_effect = { set_called_to = scope:recipient }
if = {
limit = { is_attacker = scope:actor }
add_attacker = scope:recipient
}
else = { add_defender = scope:recipient }
hidden_effect = { set_called_to = scope:recipient }
add_defender = scope:recipient
}
create_title_and_vassal_change = {
type = swear_fealty
save_scope_as = change
}
scope:actor = {
change_liege = {
liege = scope:recipient
change = scope:change
}
create_title_and_vassal_change = {
type = swear_fealty
save_scope_as = change
}
scope:actor = {
change_liege = {
liege = scope:recipient
change = scope:change
}
resolve_title_and_vassal_change = scope:change
}
# Actor effects
scope:actor = {
stress_impact = {
arrogant = medium_stress_impact_gain
craven = medium_stress_impact_gain
}
}
# Recipient effects
scope:recipient = {
stress_impact = {
greedy = medium_stress_impact_gain
craven = medium_stress_impact_gain
}
resolve_title_and_vassal_change = scope:change
}
# Actor effects
scope:actor = {
stress_impact = {
arrogant = medium_stress_impact_gain
craven = medium_stress_impact_gain
}
}
else = {
# Recipient effects
scope:recipient = {
stress_impact = {
greedy = medium_stress_impact_gain
craven = medium_stress_impact_gain
}
}
if = {
limit = {
NOT = { exists = scope:target }
}
scope:actor = {
send_interface_toast = {
type = event_toast_effect_neutral
@ -5377,7 +5397,7 @@ invite_foreign_ruler_to = {
# is_imprisoned = no
# # Matches the regular minimum triggers.
# any_character_struggle = { involvement = involved }
# short_term_gold > standard_activity_cost
# short_term_gold > standard_activity_base_cost
#}
#
#ai_target_quick_trigger = { adult = yes }

View file

@ -168,21 +168,18 @@ purchase_land_interaction = {
}
is_valid_showing_failures_only = {
scope:actor = { top_liege = this }
scope:actor = {
top_liege = this
prestige_level >= 2
}
scope:actor = {
NOT = {
NOR = {
has_trait = gallowsbait
}
}
scope:actor = {
NOT = {
has_trait = gallivanter
}
}
scope:recipient = { is_at_war = no }
scope:recipient = {
is_at_war = no
NOT = { has_strong_hook = scope:actor }
}
trigger_if = { # Can't purchase Baronies
limit = {
scope:target ?= { tier = tier_barony }
@ -240,9 +237,6 @@ purchase_land_interaction = {
always = no
}
}
scope:recipient = {
NOT = { has_strong_hook = scope:actor }
}
#Has to be used instead of diplo range checks in laamp to landed interactions
ep3_laamp_diplo_range_trigger = {
TARGET = scope:recipient
@ -320,9 +314,7 @@ purchase_land_interaction = {
multiply = 0.5
}
if = {
limit = {
scope:offer_gold = yes
}
limit = { scope:offer_gold = yes }
multiply = 2
}
}
@ -346,7 +338,9 @@ purchase_land_interaction = {
}
}
}
show_as_tooltip = { purchase_land_interaction_shortened_effect = yes }
show_as_tooltip = {
scope:actor = { purchase_land_interaction_effect = yes }
}
if = {
limit = { always = scope:hook }
scope:actor = { use_hook = scope:recipient }
@ -2010,10 +2004,7 @@ negotiate_settlement_interaction = {
any_claim = {
OR = {
holder ?= {
OR = {
this = scope:actor
target_is_liege_or_above = scope:actor
}
target_is_same_character_or_above = scope:actor
}
target_is_de_jure_liege_or_above = scope:actor.primary_title
}
@ -4801,6 +4792,11 @@ hire_laamp_mercenaries_interaction = {
is_ai = yes
}
scope:recipient.current_military_strength >= 100
scope:recipient = {
NOT = {
has_character_flag = ai_hire_blocker
}
}
}
}
}
@ -4922,9 +4918,20 @@ hire_laamp_mercenaries_interaction = {
}
}
scope:actor = {
pay_short_term_gold = {
target = scope:recipient
gold = ep3_hire_laamp_mercs_cost_value
if = {
limit = {
has_treasury = no
}
pay_short_term_gold = {
target = scope:recipient
gold = ep3_hire_laamp_mercs_cost_value
}
}
else = {
pay_short_term_treasury = {
target = scope:recipient
treasury = ep3_hire_laamp_mercs_cost_value
}
}
add_to_variable_list = {
name = hired_mercenaries
@ -4945,7 +4952,10 @@ hire_laamp_mercenaries_interaction = {
}
}
scope:recipient = {
add_character_flag = joined_as_mercenary
set_variable = {
name = joined_as_mercenary
value = scope:actor
}
}
add_clan_unity_interaction_effect = {
CHARACTER = scope:actor
@ -5665,10 +5675,7 @@ evict_adventurer_interaction = {
scope:recipient = {
# Adventurer must be in the subrealm
domicile.domicile_location.county.holder ?= {
OR = {
this = scope:actor
any_liege_or_above = { this ?= scope:actor }
}
target_is_same_character_or_above = scope:actor
}
}
# AI should not against hired adventurers
@ -5709,10 +5716,7 @@ evict_adventurer_interaction = {
every_character_task_contract = {
limit = {
task_contract_location.county.holder = {
OR = {
this = scope:actor
any_liege_or_above = { this = scope:actor }
}
target_is_same_character_or_above = scope:actor
}
}
invalidate_contract = yes
@ -5733,14 +5737,14 @@ evict_adventurer_interaction = {
modifier = demanded_eviction_opinion
}
custom_tooltip = evict_adventurer_contracts_tt
}
scope:actor = {
custom_description_no_bullet = {
text = evict_adventurer_consequences_tt
object = scope:recipient
subject = scope:actor
object = scope:actor
subject = scope:recipient
}
custom_tooltip = evict_adventurer_casus_belli_tt
}
scope:actor = {
show_as_tooltip = {
add_opinion = {
target = scope:recipient
@ -5835,6 +5839,10 @@ evict_adventurer_interaction = {
target = scope:recipient
}
}
modifier = {
add = 100
has_imprisonment_reason = scope:recipient
}
modifier = {
add = {
if = {

View file

@ -369,9 +369,7 @@
scope:recipient = {
NOT = {
any_land_neighboring_realm_with_tributaries_owner = {
NOT = {
this = scope:actor
}
this != scope:actor
}
}
NOT = {
@ -2631,7 +2629,43 @@ migration_interaction = {
value = scope:target_title
}
}
if = {
limit = {
OR = {
has_variable = crowned_king_var
has_variable = crowned_emperor_var
}
}
set_variable = {
name = nomad_migration_preserve_coronation
value = yes
}
}
if = {
limit = {
highest_held_title_tier = tier_duchy
}
add_character_modifier = {
modifier = mpo_migrating_accolade_duke_modifier
}
}
else_if = {
limit = {
highest_held_title_tier = tier_kingdom
}
add_character_modifier = {
modifier = mpo_migrating_accolade_king_modifier
}
}
else_if = {
limit = {
highest_held_title_tier >= tier_empire
}
add_character_modifier = {
modifier = mpo_migrating_accolade_emperor_modifier
}
}
# Save your old lands
save_scope_as = old_holder
capital_county = { save_scope_as = old_capital_county }
@ -2716,17 +2750,6 @@ migration_interaction = {
migration_set_obedient_vassal_effect = yes
}
}
# Player and non obedient vassals get turned into Tributaries instead
every_vassal = {
limit = {
exists = scope:target_title
OR = {
NOT = { is_obedient_to = scope:actor }
is_ai = no
}
}
break_subject_contract_and_establish_tributary_effect = { SUZERAIN = scope:actor TRIBUTARY = prev }
}
# Migration travel is handled by code
}
}
@ -2751,6 +2774,44 @@ migration_interaction = {
}
}
}
scope:actor = {
if = {
limit = {
OR = {
has_variable = crowned_king_var
has_variable = crowned_emperor_var
}
}
set_variable = {
name = nomad_migration_preserve_coronation
value = yes
}
}
if = {
limit = {
highest_held_title_tier = tier_duchy
}
add_character_modifier = {
modifier = mpo_migrating_accolade_duke_modifier
}
}
else_if = {
limit = {
highest_held_title_tier = tier_kingdom
}
add_character_modifier = {
modifier = mpo_migrating_accolade_king_modifier
}
}
else_if = {
limit = {
highest_held_title_tier >= tier_empire
}
add_character_modifier = {
modifier = mpo_migrating_accolade_emperor_modifier
}
}
}
# Migration wars are handled by code
scope:actor = {
if = {
@ -3332,9 +3393,7 @@ migration_interaction = {
}
AND = {
tier = tier_county
any_county_province = {
any_province_epidemic = {
}
any_county_province_epidemic = {
}
}
}
@ -7716,7 +7775,9 @@ mpo_retrieve_land_from_herder_interaction = {
desc = YOU_ARE_AN_ADVENTURER_REASON
}
modifier = {
exists = scope:actor.suzerain
scope:recipient = {
is_tributary = yes
}
add = -25
desc = ADVENTURER_SUZERAIN_REASON
}
@ -7775,6 +7836,7 @@ mpo_vassal_to_tributary_interaction = {
is_valid_showing_failures_only = {
scope:recipient = {
is_imprisoned = no
is_independent_ruler = yes
}
scope:actor = {
is_imprisoned = no
@ -8769,9 +8831,7 @@ mpo_offer_submission_or_ruin = {
scope:recipient = {
NOT = {
any_neighboring_top_liege_realm_owner = {
NOT = {
this = scope:actor
}
this != scope:actor
}
}
NOT = {

View file

@ -382,8 +382,7 @@ tribute_mission_concubine_interaction = {
GIVER = scope:actor
CHARACTER = scope:actor.overlord
}
has_any_disease_trigger = no
has_easily_mocked_physical_attribute_trigger = no
tribute_mission_is_available_concubine_trigger = yes
}
add_to_list = characters
}

View file

@ -567,17 +567,18 @@ task_integrate_title = {
trigger_if = {
limit = {
has_tgp_dlc_trigger = yes
liege = {
any_character_situation = {
situation_type = dynastic_cycle
save_temporary_scope_as = dynastic_cycle
top_liege = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = hegemon_ruler
}
}
}
custom_tooltip = {
text = dynastic_cycle_locks_title_integration_tt
top_participant_group:dynastic_cycle ?= {
NOT = { has_participant_group_parameter = dynastic_cycle_locks_title_integration }
top_liege = {
top_participant_group:dynastic_cycle ?= {
NOT = { has_participant_group_parameter = dynastic_cycle_locks_title_integration }
}
}
}
}
@ -585,6 +586,17 @@ task_integrate_title = {
on_finish_task_county = {
start_default_task = yes
# Add the title to the Dynastic Cycle core region
if = {
limit = {
scope:councillor_liege = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = hegemon_ruler
}
}
}
situation:dynastic_cycle.situation_sub_region:core = { add_dejure_title_to_sub_region = scope:county.empire }
}
}
potential_county = {

View file

@ -0,0 +1,34 @@
kalmyk = {
color = { 0.2 0.2 1.0 }
ethos = ethos_bellicose
heritage = heritage_mongolic
language = language_mongolic
martial_custom = martial_custom_male_only
head_determination = head_determination_herd
traditions = {
#tradition_horse_lords
#tradition_loyal_soldiers
tradition_hunters
tradition_zealous_people
tradition_mountain_homes
}
dlc_tradition = {
trait = tradition_mpo_northern_tribes
requires_dlc_flag = khans_of_the_steppe
}
name_list = name_list_oirat
coa_gfx = { mongol_coa_gfx steppe_coa_gfx }
building_gfx = { steppe_building_gfx }
clothing_gfx = { mongol_clothing_gfx }
unit_gfx = { mongol_unit_gfx }
house_coa_frame = house_frame_14
ethnicities = {
100 = asian_mongol
}
}

View file

@ -34,33 +34,6 @@ culture_era_early_medieval = {
damage = 5
toughness = 2
}
# Accolade
## Accolade Archers
maa_upgrade = {
men_at_arms = accolade_maa_archers
damage = 6
}
## Accolade Skirmishers
maa_upgrade = {
men_at_arms = accolade_maa_skirmishers
damage = 6
}
## Accolade Pikes
maa_upgrade = {
men_at_arms = accolade_maa_pikes
damage = 6
}
## Accolade Outriders
maa_upgrade = {
men_at_arms = accolade_maa_outriders
pursuit = 6
}
## Accolade Cameliers
maa_upgrade = {
men_at_arms = accolade_maa_cameliers
pursuit = 6
}
}
culture_era_high_medieval = {
@ -105,55 +78,6 @@ culture_era_high_medieval = {
damage = 5
screen = 3
}
# Accolade
## Accolade Archers
maa_upgrade = {
men_at_arms = accolade_maa_archers
damage = 4
toughness = 4
}
## Accolade Skirmishers
maa_upgrade = {
men_at_arms = accolade_maa_skirmishers
damage = 4
toughness = 4
pursuit = 4
screen = 4
}
## Accolade Pikes
maa_upgrade = {
men_at_arms = accolade_maa_pikes
damage = 4
toughness = 4
}
## Accolade Outriders
maa_upgrade = {
men_at_arms = accolade_maa_outriders
damage = 4
toughness = 4
pursuit = 4
screen = 4
}
## Accolade Vanguards
maa_upgrade = {
men_at_arms = accolade_maa_vanguards
damage = 10
toughness = 10
}
## Accolade Lancers
maa_upgrade = {
men_at_arms = accolade_maa_lancers
pursuit = 10
}
## Accolade Cameliers
maa_upgrade = {
men_at_arms = accolade_maa_cameliers
damage = 4
toughness = 4
pursuit = 4
screen = 4
}
}
culture_era_late_medieval = {
@ -199,59 +123,4 @@ culture_era_late_medieval = {
damage = 8
screen = 5
}
# Accolade
## Accolade Archers
maa_upgrade = {
men_at_arms = accolade_maa_archers
damage = 10
toughness = 10
}
## Accolade Skirmishers
maa_upgrade = {
men_at_arms = accolade_maa_skirmishers
damage = 6
toughness = 6
pursuit = 4
screen = 4
}
## Accolade Pikes
maa_upgrade = {
men_at_arms = accolade_maa_pikes
damage = 10
toughness = 6
}
## Accolade Outriders
maa_upgrade = {
men_at_arms = accolade_maa_outriders
damage = 16
toughness = 16
pursuit = 20
screen = 6
}
## Accolade Vanguards
maa_upgrade = {
men_at_arms = accolade_maa_vanguards
damage = 10
toughness = 10
}
## Accolade Lancers
maa_upgrade = {
men_at_arms = accolade_maa_lancers
screen = 20
}
## Accolade Crossbowers
maa_upgrade = {
men_at_arms = accolade_maa_crossbowers
damage = 10
toughness = 10
}
## Accolade Cameliers
maa_upgrade = {
men_at_arms = accolade_maa_cameliers
damage = 16
toughness = 6
pursuit = 20
screen = 6
}
}

View file

@ -181,17 +181,7 @@ innovation_sericulture = { # VICTORIA TECHS ARE BACK BABEYYY AWOOOOU (wolf howl)
icon = @sericulture
potential = {
has_tgp_dlc_trigger = yes
}
can_progress = {
custom_tooltip = {
text = silk_road_sericulture_trigger_tt
OR = {
has_cultural_pillar = heritage_chinese
has_cultural_pillar = heritage_byzantine
}
}
silk_road_innovation_trigger = { INNOVATION = sericulture }
}
parameters = {

View file

@ -932,7 +932,7 @@ morganna_female = { Morganna Morganne }
morna_female = { Morna Muirne }
moses_male = { MosE_ Moses Mouses Musa Muza }
mstislav_male = { Mstislav ML_cisL_aw MS_cisL_aw }
muhammad_male = { Muhammad Mahammad Mamlan Mihemed Mohammed Muhammed Mahamed }
muhammad_male = { Muhammad Mahammad Mamlan Mihemed Mohammed Muhammed Mahamed Muhammad_Bughra Muhammad_Toghan }
mungo_male = { Mungo Mwyn }
munia_female = { Moninha Monnia Munia MU_nia Munya }
muniadomna_female = { Mumadona MU_niadomna Muniadona }
@ -1218,7 +1218,7 @@ skule_male = { Skule Scule Skuli SkU_li }
slaine_female = { Slaine SlA_I_ne }
smbat_male = { Smbat Sumbat }
sobeslaus_male = { Sobeslaus SobE_slav Sobieslav }
solomon_male = { Salemon Salman Salomon Selevan Selyf Solomon SolomO_n Sulayman Suleyman Suleiman }
solomon_male = { Salemon Salman Salomon Selevan Selyf Solomon SolomO_n Sulayman Suleyman Suleiman Suleyman-Arslan }
solve_male = { SO_lve SO_lvi }
somerled_male = { Somerled Somhairle SumarliT_i }
sonpala_male = { Sonpala Sonpal }

View file

@ -551,6 +551,7 @@ tradition_gardening = {
}
}
}
NOT = { culture_tradition:tradition_tgp_ephemeral_grace = { is_in_list = traits } }
}
parameters = {
@ -1624,7 +1625,7 @@ tradition_culture_blending = {
scope:character = {
any_sub_realm_county = {
percent >= 0.3
NOT = { culture = root }
culture != root
}
}
}
@ -1718,9 +1719,7 @@ tradition_isolationist = {
any_sub_realm_county = {
culture = scope:character.culture
any_neighboring_county = {
NOT = {
culture = scope:character.culture
}
culture != scope:character.culture
culture = {
cultural_acceptance = { target = scope:character.culture value >= 40 }
}
@ -1760,6 +1759,14 @@ tradition_isolationist = {
}
}
can_pick = {
# Mutually exclusive with other Isolationist
NOR = {
culture_tradition:tradition_tgp_inward_perfection = { is_in_list = traits }
culture_tradition:tradition_cultural_primacy = { is_in_list = traits }
}
}
ai_will_do = {
value = 100
if = {
@ -1903,16 +1910,20 @@ tradition_agrarian = {
1 = indian
4 = farmland.dds
}
is_shown = {
NOT = {
culture_tradition:tradition_intensive_farming = { is_in_list = traits }
}
}
can_pick = {
custom_tooltip = {
text = culture_in_farmlands_or_floodplains_terrain_desc
any_culture_county = {
any_county_province = {
OR = {
terrain = farmlands
terrain = floodplains
}
county_has_province_with_terrain = {
terrain = farmlands
terrain = floodplains
}
}
}
@ -1966,11 +1977,9 @@ tradition_agrarian = {
NOT = {
any_culture_county = {
count >= 5
any_county_province = {
OR = {
terrain = farmlands
terrain = floodplains
}
county_has_province_with_terrain = {
terrain = farmlands
terrain = floodplains
}
}
}
@ -2004,11 +2013,9 @@ tradition_agrarian = {
any_sub_realm_county = {
count >= 2
culture = scope:character.culture
any_county_province = {
OR = {
terrain = farmlands
terrain = floodplains
}
county_has_province_with_terrain = {
terrain = farmlands
terrain = floodplains
}
}
}
@ -2130,11 +2137,9 @@ tradition_pastoralists = {
any_sub_realm_county = {
percent >= 0.6
culture = scope:character.culture
any_county_province = {
OR = {
terrain = plains
terrain = steppe
}
county_has_province_with_terrain = {
terrain = plains
terrain = steppe
}
}
}
@ -2437,9 +2442,7 @@ tradition_staunch_traditionalists = {
limit = {
scope:character = {
any_sub_realm_county = {
NOT = {
culture = scope:character.culture
}
culture != scope:character.culture
}
}
}
@ -2516,7 +2519,7 @@ tradition_hill_dwellers = {
custom_description = {
text = culture_in_hills_desc
any_culture_county = {
any_county_province = {
county_has_province_with_terrain = {
terrain = hills
}
}
@ -2562,7 +2565,7 @@ tradition_hill_dwellers = {
NOT = {
any_culture_county = {
percent >= 0.3
any_county_province = {
county_has_province_with_terrain = {
terrain = hills
}
}
@ -2597,7 +2600,7 @@ tradition_hill_dwellers = {
any_sub_realm_county = {
percent >= 0.2
culture = scope:character.culture
any_county_province = {
county_has_province_with_terrain = {
terrain = hills
}
}
@ -2610,7 +2613,7 @@ tradition_hill_dwellers = {
limit = {
any_culture_county = {
percent >= 0.6
any_county_province = {
county_has_province_with_terrain = {
terrain = hills
}
}
@ -2642,11 +2645,9 @@ tradition_forest_folk = {
custom_description = {
text = culture_in_forest_desc
any_culture_county = {
any_county_province = {
OR = {
terrain = forest
terrain = taiga
}
county_has_province_with_terrain = {
terrain = forest
terrain = taiga
}
}
}
@ -2695,11 +2696,9 @@ tradition_forest_folk = {
NOT = {
any_culture_county = {
percent >= 0.3
any_county_province = {
OR = {
terrain = forest
terrain = taiga
}
county_has_province_with_terrain = {
terrain = forest
terrain = taiga
}
}
}
@ -2733,11 +2732,9 @@ tradition_forest_folk = {
any_sub_realm_county = {
percent >= 0.2
culture = scope:character.culture
any_county_province = {
OR = {
terrain = forest
terrain = taiga
}
county_has_province_with_terrain = {
terrain = forest
terrain = taiga
}
}
}
@ -2749,11 +2746,9 @@ tradition_forest_folk = {
limit = {
any_culture_county = {
percent >= 0.6
any_county_province = {
OR = {
terrain = forest
terrain = taiga
}
county_has_province_with_terrain = {
terrain = forest
terrain = taiga
}
}
}
@ -2791,11 +2786,9 @@ tradition_mountain_homes = {
custom_description = {
text = culture_in_mountains_desc
any_culture_county = {
any_county_province = {
OR = {
terrain = mountains
terrain = desert_mountains
}
county_has_province_with_terrain = {
terrain = mountains
terrain = desert_mountains
}
}
}
@ -2844,11 +2837,9 @@ tradition_mountain_homes = {
NOT = {
any_culture_county = {
percent >= 0.3
any_county_province = {
OR = {
terrain = mountains
terrain = desert_mountains
}
county_has_province_with_terrain = {
terrain = mountains
terrain = desert_mountains
}
}
}
@ -2882,11 +2873,9 @@ tradition_mountain_homes = {
any_sub_realm_county = {
percent >= 0.2
culture = scope:character.culture
any_county_province = {
OR = {
terrain = mountains
terrain = desert_mountains
}
county_has_province_with_terrain = {
terrain = mountains
terrain = desert_mountains
}
}
}
@ -2898,11 +2887,9 @@ tradition_mountain_homes = {
limit = {
any_culture_county = {
percent >= 0.6
any_county_province = {
OR = {
terrain = mountains
terrain = desert_mountains
}
county_has_province_with_terrain = {
terrain = mountains
terrain = desert_mountains
}
}
}
@ -2924,11 +2911,9 @@ tradition_dryland_dwellers = {
custom_description = {
text = culture_in_dryland_desc
any_culture_county = {
any_county_province = {
OR = {
terrain = drylands
terrain = desert
}
county_has_province_with_terrain = {
terrain = drylands
terrain = desert
}
}
}
@ -2981,11 +2966,9 @@ tradition_dryland_dwellers = {
NOT = {
any_culture_county = {
percent >= 0.3
any_county_province = {
OR = {
terrain = drylands
terrain = desert
}
county_has_province_with_terrain = {
terrain = drylands
terrain = desert
}
}
}
@ -3019,11 +3002,9 @@ tradition_dryland_dwellers = {
any_sub_realm_county = {
percent >= 0.2
culture = scope:character.culture
any_county_province = {
OR = {
terrain = drylands
terrain = desert
}
county_has_province_with_terrain = {
terrain = drylands
terrain = desert
}
}
}
@ -3035,11 +3016,9 @@ tradition_dryland_dwellers = {
limit = {
any_culture_county = {
percent >= 0.6
any_county_province = {
OR = {
terrain = drylands
terrain = desert
}
county_has_province_with_terrain = {
terrain = drylands
terrain = desert
}
}
}
@ -3068,7 +3047,7 @@ tradition_jungle_dwellers = {
custom_description = {
text = culture_in_jungle_desc
any_culture_county = {
any_county_province = {
county_has_province_with_terrain = {
terrain = jungle
}
}
@ -3111,7 +3090,7 @@ tradition_jungle_dwellers = {
NOT = {
any_culture_county = {
percent >= 0.3
any_county_province = {
county_has_province_with_terrain = {
terrain = jungle
}
}
@ -3146,7 +3125,7 @@ tradition_jungle_dwellers = {
any_sub_realm_county = {
percent >= 0.2
culture = scope:character.culture
any_county_province = {
county_has_province_with_terrain = {
terrain = jungle
}
}
@ -3159,7 +3138,7 @@ tradition_jungle_dwellers = {
limit = {
any_culture_county = {
percent >= 0.6
any_county_province = {
county_has_province_with_terrain = {
terrain = jungle
}
}
@ -3182,7 +3161,7 @@ tradition_wetlanders = {
custom_tooltip = {
text = culture_in_wetlands_desc
any_culture_county = {
any_county_province = {
county_has_province_with_terrain = {
terrain = wetlands
}
}
@ -3237,7 +3216,7 @@ tradition_wetlanders = {
NOT = {
any_culture_county = {
count >= 3
any_county_province = {
county_has_province_with_terrain = {
terrain = wetlands
}
}
@ -3272,7 +3251,7 @@ tradition_wetlanders = {
any_sub_realm_county = {
count >= 3
culture = scope:character.culture
any_county_province = {
county_has_province_with_terrain = {
terrain = wetlands
}
}
@ -3285,7 +3264,7 @@ tradition_wetlanders = {
limit = {
any_culture_county = {
percent >= 0.6
any_county_province = {
county_has_province_with_terrain = {
terrain = wetlands
}
}
@ -3315,7 +3294,7 @@ tradition_hidden_cities = {
custom_description = {
text = culture_in_jungle_desc
any_culture_county = {
any_county_province = {
county_has_province_with_terrain = {
terrain = jungle
}
}
@ -3358,7 +3337,7 @@ tradition_hidden_cities = {
NOT = {
any_culture_county = {
percent >= 0.3
any_county_province = {
county_has_province_with_terrain = {
terrain = jungle
}
}
@ -3391,7 +3370,7 @@ tradition_hidden_cities = {
NOT = {
any_culture_county = {
percent >= 0.3
any_county_province = {
county_has_province_with_terrain = {
terrain = jungle
}
}
@ -3419,8 +3398,8 @@ tradition_hidden_cities = {
limit = {
any_culture_county = {
percent >= 0.6
any_county_province = {
terrain = wetlands
county_has_province_with_terrain = {
terrain = jungle
}
}
}
@ -3478,7 +3457,7 @@ tradition_ancient_miners = {
scope:character = {
any_sub_realm_county = {
culture = scope:character.culture
any_county_province = {
county_has_province_with_terrain = {
terrain = hills
}
}
@ -3503,8 +3482,11 @@ tradition_castle_keepers = {
custom_tooltip = {
scope:character = {
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan
government_has_flag = government_is_feudal
government_has_flag = government_is_clan #Update for FP3
government_has_flag = government_is_administrative
government_has_flag = government_has_merit
government_has_flag = government_is_japan_feudal
}
}
text = must_be_feudal_or_clan
@ -3611,13 +3593,20 @@ tradition_city_keepers = {
can_pick = {
trigger_if = {
limit = { has_ep3_dlc_trigger = yes }
limit = {
OR = {
has_ep3_dlc_trigger = yes
has_tgp_dlc_trigger = yes
}
}
custom_tooltip = {
scope:character = {
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan #Update for FP3
government_has_flag = government_is_clan
government_has_flag = government_is_administrative
government_has_flag = government_has_merit
government_has_flag = government_is_japan_feudal
}
}
text = must_be_feudal_clan_or_admin
@ -3628,7 +3617,7 @@ tradition_city_keepers = {
scope:character = {
OR = {
government_has_flag = government_is_feudal
government_has_flag = government_is_clan #Update for FP3
government_has_flag = government_is_clan
}
}
text = must_be_feudal_or_clan
@ -3735,9 +3724,7 @@ tradition_maritime_mercantilism = {
custom_description = {
text = culture_on_coast_desc
any_culture_county = {
any_county_province = {
is_coastal = yes
}
has_coastal_province = yes
}
}
}
@ -3779,9 +3766,7 @@ tradition_maritime_mercantilism = {
NOT = {
any_culture_county = {
percent >= 0.3
any_county_province = {
is_coastal = yes
}
has_coastal_province = yes
}
}
}
@ -3812,9 +3797,7 @@ tradition_maritime_mercantilism = {
scope:character = {
any_sub_realm_county = {
percent >= 0.6
any_county_province = {
is_coastal = yes
}
has_coastal_province = yes
}
}
}
@ -3835,9 +3818,7 @@ tradition_maritime_mercantilism = {
scope:character = {
any_sub_realm_county = {
percent >= 0.3
any_county_province = {
is_coastal = yes
}
has_coastal_province = yes
}
}
}
@ -3848,9 +3829,7 @@ tradition_maritime_mercantilism = {
limit = {
any_culture_county = {
percent >= 0.6
any_county_province = {
is_coastal = yes
}
has_coastal_province = yes
}
}
multiply = 2

View file

@ -1238,6 +1238,7 @@ tradition_music_theory = {
gregarious_trait_gives_bonuses = yes
characters_are_better_court_musicians = yes # Also hooked in to increase the Feast opinion bonus
better_court_musicians = yes
withering_mind_less_likely = yes
}
cost = {

View file

@ -781,6 +781,7 @@ tradition_fp3_fierce_independence = {
}
parameters = {
unlock_maa_tawashi = yes
harder_to_hybridize = yes
harder_to_convert_county_culture = yes
}

View file

@ -302,7 +302,17 @@ GetSuccessionHeirMotion = {
trigger = {
trigger_if = {
limit = { is_ruler = yes }
has_government = landless_adventurer_government
OR = {
has_government = landless_adventurer_government
AND = {
OR = {
any_held_title = { is_noble_family_title = yes }
government_allows = administrative
}
is_independent_ruler = no
}
tgp_is_ceremonial_regent_trigger = yes
}
}
trigger_else = {
liege ?= { has_government = landless_adventurer_government }
@ -508,10 +518,10 @@ GetRealmOrDomicileTooltip = {
trigger = {
trigger_if = {
limit = { is_ruler = yes }
is_governor = yes
is_governor_or_admin_count = yes
}
trigger_else = {
liege ?= { is_governor = yes }
liege ?= { is_governor_or_admin_count = yes }
}
}
localization_key = GOVERNORSHIP_TOOLTIP

View file

@ -800,7 +800,7 @@ FormOfAddressForLiege = {
trigger = {
tgp_is_ceremonial_regent_trigger = yes
}
localization_key = form_of_address_ladylord_regent
localization_key = form_of_address_liege_title
}
text = {
trigger = {

View file

@ -203,6 +203,24 @@ DeathMessageIntro = {
}
}
NicknameReason = {
type = character
random_valid = yes
text = {
localization_key = SUCCESSION_EVENT_WINDOW_NICKNAME
trigger = {
has_any_nickname = yes
}
}
text = {
localization_key = blank_line
trigger = {
has_any_nickname = no
}
}
}
DeathMessageReason = {
type = character
@ -455,7 +473,10 @@ DeathMessageOutro = {
text = {
localization_key = SUCCESSION_EVENT_WINDOW_DEAD_OUTRO_MIND_INFIRM
trigger = {
has_trait = infirm
OR = {
has_trait = infirm
has_trait = withering_mind
}
}
weight_multiplier = {
base = 2
@ -2099,6 +2120,22 @@ GameOverMessageNotableAchievements = {
}
}
text = {
localization_key = SUCCESSION_EVENT_WINDOW_END_DATE_CREATED_BRUNEI_KINGDOM_DESC
trigger = {
exists = global_var:flag_created_brunei_kingdom
dynasty = global_var:flag_created_brunei_kingdom.dynasty
}
}
text = {
localization_key = SUCCESSION_EVENT_WINDOW_END_DATE_CREATED_BRUNEI_EMPIRE_DESC
trigger = {
exists = global_var:flag_created_brunei_empire
dynasty = global_var:flag_created_brunei_empire.dynasty
}
}
text = {
localization_key = SUCCESSION_EVENT_WINDOW_END_DATE_CREATED_RUM_DESC
trigger = {

View file

@ -390,6 +390,12 @@ GetLearningBuilding = {
RockStoryName = {
type = character
text = {
trigger = {
NOT = { exists = var:story_cycle_rock_name }
}
localization_key = not_yet_chosen
}
text = {
trigger = {
AND = {

View file

@ -701,31 +701,31 @@ GetTurbanRebellionColor = {
type = all
text = {
trigger = {
has_global_variable = old_dynastic_color_is_red
situation:dynastic_cycle.var:wuking_element ?= flag:metal
}
localization_key = red
}
text = {
trigger = {
has_global_variable = old_dynastic_color_is_green
situation:dynastic_cycle.var:wuking_element ?= flag:earth
}
localization_key = green
}
text = {
trigger = {
has_global_variable = old_dynastic_color_is_white
situation:dynastic_cycle.var:wuking_element ?= flag:wood
}
localization_key = white
}
text = {
trigger = {
has_global_variable = old_dynastic_color_is_black
situation:dynastic_cycle.var:wuking_element ?= flag:fire
}
localization_key = black
}
text = {
trigger = {
has_global_variable = old_dynastic_color_is_yellow
situation:dynastic_cycle.var:wuking_element ?= flag:water
}
localization_key = yellow
}

View file

@ -95,6 +95,10 @@ unite_the_western_slavs_decision = {
name = unite_the_western_slavs_decision_title
value = scope:western_slav_uniter.primary_title
}
close_view = {
view = decisions
player = root
}
}
@ -126,7 +130,7 @@ unite_the_southern_slavs_decision = {
is_shown = {
culture = { has_cultural_pillar = heritage_south_slavic }
NOT = {
NOR = {
has_culture = culture:vlach # Not technically Slavic despite being in the South Slavic group.
is_target_in_global_variable_list = {
name = unavailable_unique_decisions

View file

@ -401,7 +401,7 @@ initiate_consolamentum_decision = {
is_valid = {
OR = {
age >= 60
age >= ritual_suicide_age
custom_description = {
text = decision_consolamentum_health
health <= 1
@ -414,7 +414,7 @@ initiate_consolamentum_decision = {
hidden_effect = {
add_piety_level = 1
}
death = { death_reason = death_suicide}
death = { death_reason = death_ritual_suicide }
show_as_tooltip = {
add_piety_level = 1
}
@ -1356,12 +1356,18 @@ return_rome_decision = {
resolve_title_and_vassal_change = scope:change
add_piety = major_piety_value
faith.religious_head = {
add_opinion = {
target = root
modifier = grateful_opinion
opinion = 20
if = {
limit = {
faith.religious_head ?= {
this != root
}
}
faith.religious_head = {
add_opinion = {
target = root
modifier = grateful_opinion
opinion = 20
}
}
}

View file

@ -39,7 +39,7 @@ restore_roman_empire_decision = {
is_valid = {
prestige_level >= max_prestige_level
restore_roman_empire_decision_religion_culture_trigger = yes
completely_controls = title:d_latium
completely_controls = title:d_venice
completely_controls = title:d_romagna
@ -62,13 +62,6 @@ restore_roman_empire_decision = {
is_capable_adult = yes
is_imprisoned = no
top_liege = this
OR = {
religion = { is_in_family = rf_abrahamic }
religion = religion:hellenism_religion
culture = { has_cultural_pillar = heritage_latin }
culture = { has_cultural_pillar = heritage_byzantine }
}
}
effect = {
@ -151,6 +144,7 @@ restore_roman_empire_holy_decision = {
is_valid = {
prestige_level >= max_prestige_level
restore_roman_empire_decision_religion_culture_trigger = yes
completely_controls = title:d_latium
completely_controls = title:d_venice
completely_controls = title:d_romagna
@ -173,13 +167,6 @@ restore_roman_empire_holy_decision = {
is_capable_adult = yes
is_imprisoned = no
top_liege = this
OR = {
religion = { is_in_family = rf_abrahamic }
religion = religion:hellenism_religion
culture = { has_cultural_pillar = heritage_latin }
culture = { has_cultural_pillar = heritage_byzantine }
}
}
effect = {
@ -263,7 +250,7 @@ restore_roman_empire_italian_decision = {
is_valid = {
prestige_level >= max_prestige_level
restore_roman_empire_decision_religion_culture_trigger = yes
completely_controls = title:d_latium
completely_controls = title:d_venice
completely_controls = title:d_romagna
@ -286,13 +273,6 @@ restore_roman_empire_italian_decision = {
is_capable_adult = yes
is_imprisoned = no
top_liege = this
OR = {
religion = { is_in_family = rf_abrahamic }
religion = religion:hellenism_religion
culture = { has_cultural_pillar = heritage_latin }
culture = { has_cultural_pillar = heritage_byzantine }
}
}
effect = {
@ -907,7 +887,7 @@ restore_pope_in_rome_decision = {
}
NOT = { title:c_roma.holder = { has_title = title:k_papal_state } }
NOT = { capital_county = { this = title:c_roma } }
title:k_papal_state.holder = {
title:k_papal_state.holder ?= {
NOT = {
has_opinion_modifier = { #Not accepting it if you conquered it yourself.
target = root
@ -1277,7 +1257,10 @@ dismantle_byz_pretender_decision = {
}
is_ruler = yes
is_playable_character = yes
is_roman_emperor_trigger = yes
OR = {
is_roman_emperor_trigger = yes
has_title = title:e_hre
}
NOR = { #Once an Emperor throws the challenge, he has only one chance to dismantle the Empire.
has_character_flag = flag_emperor_challenging_byz #Applied below.
has_character_flag = flag_emperor_challenged_byz #Applied in war.

View file

@ -5,6 +5,7 @@
# by Joe Parkin #
#############################################
### [ROOT.Char.GetPrimaryTitle.GetAdjectiveNoTooltip] Dominance ###
struggle_iberia_ending_hostility_decision = {
decision_group_type = major
title = struggle_iberia_ending_hostility_decision
@ -17,6 +18,7 @@ struggle_iberia_ending_hostility_decision = {
confirm_click_sound = "event:/DLC/FP2/SFX/UI/fp2_struggle_ending_decision_confirm"
is_invisible = yes
sort_order = 80
cooldown = { days = 1 }
is_shown = {
is_landless_adventurer = no
@ -29,9 +31,7 @@ struggle_iberia_ending_hostility_decision = {
OR = {
custom_tooltip = {
text = struggle_iberia_ending_hostility_decision_correct_phase_tt
any_character_struggle = {
involvement = involved
is_struggle_type = iberian_struggle
struggle:iberian_struggle = {
is_struggle_phase = struggle_iberia_phase_hostility
}
}
@ -45,15 +45,6 @@ struggle_iberia_ending_hostility_decision = {
}
}
custom_tooltip = {
text = struggle_ending_decision_correct_involvement_spain_tt
any_character_struggle = {
involvement = involved
is_struggle_type = iberian_struggle
}
}
# Hold and completely control two de jure kingdoms of Hispania
OR = {
custom_tooltip = { #
@ -221,6 +212,7 @@ struggle_iberia_ending_hostility_decision = {
# by Joe Parkin #
#############################################
### Status Quo ###
struggle_iberia_ending_compromise_decision = {
decision_group_type = major
title = struggle_iberia_ending_compromise_decision
@ -232,6 +224,7 @@ struggle_iberia_ending_compromise_decision = {
selection_tooltip = struggle_iberia_ending_compromise_decision_tooltip
confirm_click_sound = "event:/DLC/FP2/SFX/UI/fp2_struggle_ending_decision_confirm"
is_invisible = yes
cooldown = { days = 1 }
sort_order = 80
@ -245,20 +238,11 @@ struggle_iberia_ending_compromise_decision = {
custom_tooltip = {
text = struggle_iberia_ending_compromise_decision_correct_phase_tt
any_character_struggle = {
is_struggle_type = iberian_struggle
struggle:iberian_struggle = {
is_struggle_phase = struggle_iberia_phase_compromise
}
}
custom_tooltip = {
text = struggle_ending_decision_correct_involvement_spain_tt
any_character_struggle = {
involvement = involved
is_struggle_type = iberian_struggle
}
}
OR = {
# Exalted among Men or higher
prestige_level >= very_high_prestige_level
@ -434,6 +418,7 @@ struggle_iberia_ending_compromise_decision = {
# by Joe Parkin #
#############################################
### Détente ###
struggle_iberia_ending_conciliation_decision = {
decision_group_type = major
title = struggle_iberia_ending_conciliation_decision
@ -445,6 +430,7 @@ struggle_iberia_ending_conciliation_decision = {
selection_tooltip = struggle_iberia_ending_conciliation_decision_tooltip
confirm_click_sound = "event:/DLC/FP2/SFX/UI/fp2_struggle_ending_decision_confirm"
is_invisible = yes
cooldown = { days = 1 }
sort_order = 80
@ -458,20 +444,11 @@ struggle_iberia_ending_conciliation_decision = {
custom_tooltip = {
text = struggle_iberia_ending_conciliation_decision_correct_phase_tt
any_character_struggle = {
is_struggle_type = iberian_struggle
struggle:iberian_struggle = {
is_struggle_phase = struggle_iberia_phase_conciliation
}
}
custom_tooltip = {
text = struggle_ending_decision_correct_involvement_spain_tt
any_character_struggle = {
involvement = involved
is_struggle_type = iberian_struggle
}
}
prestige_level >= very_high_prestige_level # Exalted among Men or higher
# Hold and completely control a de jure kingdom of Hispania
@ -560,10 +537,192 @@ struggle_iberia_ending_conciliation_decision = {
ai_will_do = { base = 100 }
}
###################################
# Secure the Mediterranean
# By Hugo Cortell
###################################
### Secure The Mediterranean ###
secure_mediterranean_decision = {
title = fp2_secure_mediterranean.t
picture = {
reference = "gfx/interface/illustrations/event_scenes/fp1_ocean.dds"
}
desc = fp2_secure_mediterranean.desc
decision_group_type = major
selection_tooltip = fp2_secure_mediterranean.tip
sort_order = 50
is_shown = {
# DLC check
has_fp2_dlc_trigger = yes
# Standard checks
is_playable_character = yes
exists = dynasty
NOT = {
is_target_in_global_variable_list = {
name = unavailable_unique_decisions
target = flag:flag_secured_the_mediterranean
}
}
OR = {
completely_controls = title:d_sardinia
completely_controls = title:d_sicily
AND = {
completely_controls = title:d_mallorca
completely_controls = title:d_corsica
}
}
}
is_valid = {
completely_controls = title:d_mallorca
completely_controls = title:d_sardinia
completely_controls = title:d_corsica
completely_controls = title:d_sicily
}
is_valid_showing_failures_only = {
is_landed = yes
}
effect = {
add_to_global_variable_list = {
name = unavailable_unique_decisions
target = flag:flag_secured_the_mediterranean
}
# LOC
root = {
save_scope_as = mediterranean_conqueror
house = { save_scope_as = mediterranean_house }
}
title:d_mallorca = { save_scope_as = mallorca }
title:d_sardinia = { save_scope_as = sardinas }
title:d_sicily = { save_scope_as = sicily }
title:k_mediterranean_sea = { save_scope_as = mediterranean_title }
every_player = {
limit = {
this != ROOT
any_held_title = { title_province = { geographical_region = dlc_fp2_mediterranean_shoreline } }
}
send_interface_message = {
type = event_generic_bad_with_text
title = secure_mediterranean_decision.involved_notif
desc = secure_mediterranean_decision.involved_notif_desc # Players who get this: "why do I hear boss music?" (It is meant to sound vaguely threatening)
left_icon = scope:mediterranean_conqueror
show_as_tooltip = {
scope:mediterranean_conqueror = {
house = {
add_house_modifier = {
modifier = fp2_controls_the_mediterranean_house_modifier
years = 100
}
}
dynasty = { add_dynasty_prestige = major_prestige_gain }
}
}
}
}
house = {
add_house_modifier = {
modifier = fp2_controls_the_mediterranean_house_modifier
years = 100
}
}
dynasty = { add_dynasty_prestige = major_prestige_gain } # You used to get +25% prestiege, but that caused UI issues
custom_tooltip = secure_mediterranean_decision.a
create_title_and_vassal_change = {
type = created
save_scope_as = title_change
add_claim_on_loss = yes
}
title:k_mediterranean_sea = {
change_title_holder = {
holder = root
change = scope:title_change
}
}
resolve_title_and_vassal_change = scope:title_change
title:d_mallorca = { set_de_jure_liege_title = title:k_mediterranean_sea }
title:d_sardinia = { set_de_jure_liege_title = title:k_mediterranean_sea }
title:d_corsica = { set_de_jure_liege_title = title:k_mediterranean_sea }
title:d_sicily = { set_de_jure_liege_title = title:k_mediterranean_sea }
hidden_effect = {
title:k_mediterranean_sea = { set_de_jure_liege_title = title:e_italy } # Straying closer to remaking the roman empire
trigger_event = iberia_north_africa.2105
}
}
cost = {
gold = {
value = 0
if = {
limit = {
has_treasury = no
}
add = major_gold_value
multiply = 1.5
round = yes
}
}
treasury = {
value = 0
if = {
limit = {
has_treasury = yes
}
add = major_gold_value
multiply = 1.5
round = yes
}
}
prestige = {
value = major_prestige_gain
multiply = 3
round = yes
}
}
ai_check_interval_by_tier = {
barony = 0
county = 0
duchy = 0
kingdom = 730
empire = 730
hegemony = 730
}
ai_potential = {
is_ruler = yes
short_term_gold >= {
value = major_gold_value
multiply = 1.5
round = yes
}
prestige >= {
value = major_prestige_gain
multiply = 3
round = yes
}
}
ai_will_do = {
base = 80
}
}
#############################################
# Eat a Cheese
# by Daniel "yes I know what exciting content is stop bullying me" Moore
###########################################################################
### Eat Your Cheese ###
eat_cheese_decision = {
picture = {
reference = "gfx/interface/illustrations/decisions/decision_personal_religious.dds"
@ -599,6 +758,7 @@ eat_cheese_decision = {
# Sponsor Jewish Sciences
# By Hugo Cortell
###################################
### Sponsor Jewish Sciences ###
golden_age_jewish_science_in_iberia_decision = {
picture = {
reference = "gfx/interface/illustrations/decisions/decision_golden_age.dds"
@ -793,6 +953,7 @@ golden_age_jewish_science_in_iberia_decision = {
# Convene Council of Toledo #
# by Joe Parkin and Ola Jentzsch #
#############################################
### Council Of Toledo Decision ###
council_of_toledo_decision = {
title = council_of_toledo_decision_title
picture = {
@ -927,6 +1088,7 @@ council_of_toledo_decision = {
# Secure Iberian Foothold
# by Joe Parkin and Ola Jentzsch
#############################################
### Secure Iberian Foothold Decision ###
secure_iberian_foothold_decision = {
title = secure_iberian_foothold_decision_title
picture = {
@ -1110,6 +1272,7 @@ secure_iberian_foothold_decision = {
# Build Pilgrim Roads
# By Hugo Cortell
###################################
### Build Pilgrim Roads ###
build_holy_pilgrim_roads_decision = {
picture = {
reference = "gfx/interface/illustrations/decisions/fp2_decision_struggle_opening.dds"
@ -1285,6 +1448,7 @@ build_holy_pilgrim_roads_decision = {
# Found Kingdom of Toledo
# by Joe Parkin
#############################################
### Found Kingdom Toledo Decision ###
found_kingdom_toledo_decision = {
title = found_kingdom_toledo_decision_title
picture = {
@ -1415,6 +1579,7 @@ found_kingdom_toledo_decision = {
# Develop a city
# by Maxence Voleau
#############################################
### Expand Cities ###
improve_city_province_decision = {
title = improve_city_province_decision_name
picture = {

View file

@ -43,7 +43,7 @@ NSetup = {
# chance that a courtless character is sent to a court as a guest instead of a regular courtier on game start (0..1)
COURTLESS_CHARACTER_GUEST_CHANCE = 0
# Random range for number of characters per pool (duchy) generated at the start of the game
GENERATED_POOL_CHARACTERS = { 2 9 }
GENERATED_POOL_CHARACTERS = { 2 6 }
# Templates used for the pool character. The weights correspond to the template names at the same index.
# The scope of the template is a random ruler whose capital is in that pool.
GENERATED_POOL_CHARACTER_TEMPLATES = {
@ -227,8 +227,10 @@ NCharacter = {
SKILL_MODIFIER_OFFSET = -8 # skill modifiers with offset add this from skill value (see common/modifiers/00_basic_modifiers.txt)
#Character window info
# Standard RelationTo number of relations to show
MAX_RELATIONS_TO_SHOW = 3
# Standard RelationToShort number of relations to show
MAX_RELATIONS_TO_SHOW_SHORT = 2
MARRIAGE_TIER_DIFF_PRESTIGE_MULT = 100
@ -782,9 +784,18 @@ NPowerfulVassal = {
VALUE_INCOME_MULT = 50 # Multiplier applied to the income of the vassal
}
NFaith = {
BASE_FERVOR = 50.0 # Default fervor
MAX_FERVOR = 100.0 # Max amount of fervor
YEARLY_FERVOR_GROWTH = 3.5 # Fervor yearly change, can be negative
MINIMUM_FAITH_SIZE_FERVOR_MODIFIER = 10 # Adjusts the size modifier for monthly fervor gain for a faith according to the following formula: 1/squareroot(max(define_value, faith_size)/define_value) where define value is the value of MINIMUM_FAITH_SIZE_FERVOR_MODIFIER and faith_size is the current amount of provinces that follows the faith.
FERVOR_CHANGELOG_DURATION = 10 # After how many years do fervor changelog entries get deleted?
FAITH_CREATION_FERVOR_DISCOUNT_PER_MISSING_FERVOR = 1 # How much cheaper does creating a faith get per fervor below 100%? 1 means 1% per point
FAITH_CREATION_FERVOR_DISCOUNT_MAX = 50 # What percentage does the discount cap out at? With these numbers, 0-50 fervor means a 50% discount. Above 50 means between 0% and 50% discount
}
NReligion = {
DEFAULT_FERVOR = 50 # Default fervor
TIME_AT_PEACE_FOR_PIETY = 730 # For faiths with a doctrine with piety_from_long_peace, how long do they need to be at peace (in days)
TIME_AT_PEACE_FOR_PIETY = 730 # For faiths with a doctrine with piety_from_long_peace, how long do they need to be at peace (in days)
# Hostility levels start at 0 (same faith or equivalent to same faith)
HOSTILITY_OPINION_EFFECTS = { # The opinion effects of each hostility level
@ -817,17 +828,12 @@ NReligion = {
PIETY_LOSS_PER_MISSING_SPOUSE = 0.5 # If you have fewer spouses than expected in a polygamous faith, you'll lose this much piety for each spouse you fall short.
DESIRED_SPOUSES_PER_TIER = { 0 1 1 2 3 4 4 } # Number of spouses you are expected to have per tier, starging with unlanded, then baron and ending with hegemon
FAITH_CONVERSION_PIETY_MINIMUM = 250 # The minimum amount of piety converting faith costs
FAITH_CREATION_FERVOR_DISCOUNT_PER_MISSING_FERVOR = 1 # How much cheaper does creating a faith get per fervor below 100%? 1 means 1% per point
FAITH_CREATION_FERVOR_DISCOUNT_MAX = 50 # What percentage does the discount cap out at? With these numbers, 0-50 fervor means a 50% discount. Above 50 means between 0% and 50% discount
PART_OF_GHW_POT_DESIGNATED_FOR_KINGDOM_RECIPIENT = 10 # How many percent of the pot will be reserved for the person receiving the kingdom?
GHW_HOSTILITY_MIN_LEVEL = 2 # Any independent ruler within the target kingdom at least this hostile to the caller faith will be a forced defender
PREFERRED_GENDER_CHANCE = 3 # When deciding if clergy characters should be male or female a 3 here means that the preferred gender will be three times as likely
GHW_DAYS_LIMIT_CAN_CHANGE_TARGET = 30 # is GHW starts sooner than this number, you can no longer change target
GHW_COST_PIETY_CHANGE_TARGET = 250 # cost to chagne GHW target. Grows linearly with each change
MAX_FERVOR = 100 # Max amount of fervor
HEAD_OF_FAITH_PIETY_GAIN = 1.0 # Monthly piety gain for heads of faith
MINIMUM_FAITH_SIZE_FERVOR_MODIFIER = 10 # Adjusts the size modifier for monthly fervor gain for a faith according to the following formula: 1/squareroot(max(define_value, faith_size)/define_value) where define value is the value of MINIMUM_FAITH_SIZE_FERVOR_MODIFIER and faith_size is the current amount of provinces that follows the faith.
FERVOR_CHANGELOG_DURATION = 10 # After how many years do fervor changelog entries get deleted?
FAITH_COLOR_DEVIATION = { 0.25 0.35 } # How much should generated colors differ from the faith they're based on? Distance within the HSV colorspace
}
@ -855,7 +861,7 @@ NTitle = {
DRIFT_ADJACENT_ACROSS_WATER_DISTANCE = 2
REVOKE_LAWS_COST_SCALE = { 0 0 0.1 0.25 0.5 1 2 }
DYNAMIC_TITLE_MAP_COLOR_S_V = { 0.8 1.0 } # What is the Saturation and Value of dynamic title map colors? (via HSV color - Hue is fully randomized)
CREATE_TITLE_PIETY_LEVEL = { 0 0 0 2 3 5 5 } # not a global requirement, it is used only for goverment with rule considers_piety_for_title_creation
CREATE_TITLE_PIETY_LEVEL = { 0 0 0 2 3 5 5 } # not a global requirement, it is used only for government with rule considers_piety_for_title_creation
CREATE_TITLE_PIETY_COST = { 0 0 0 500 2500 5000 10000 }
# Default desired titles to keep for AI - per current primary title tier. (-1 = keep all)
@ -966,7 +972,7 @@ NCounty = {
COUNTY_FERTILITY_DECLINE_FACTOR = 0.125 # Makes all county fertility decline modifiers give out more adjusted growth. 1.1 = 10% stronger decline. Moves equilibriums
COUNTY_FERTILITY_EQUILIBRIUM_FACTOR = 0.09 # 0.007 # Factor value for how sensitive the fertility equilibrium is towards small changes. Inverted in calculations: the lower the value the more sensitive the behavior. Set to 100 to have a clear curve.
COUNTY_FERTILITY_MONTHLY_CHANGE_LEVELS = { -20 -0.01 0.01 20 }
COUNTY_FERTILITY_NON_NOMAD_HOLDING_MALUS = -0.001 # Negative mult malus applied to the amount of Herd gained from the county fertility in a county that does not have a Nomad or Herder Holding
COUNTY_FERTILITY_NON_NOMAD_HOLDING_MALUS = -0.75 # Negative mult malus applied to the amount of Herd gained from the county fertility in a county that does not have a Nomad or Herder Holding
HERD_GAIN_FROM_COUNTY_MULTIPLIER = 0.5 # Direct multiplier on the base Herd gained from County ( Base Gain = CountyFertility * HERD_GAIN_FROM_COUNTY_MULTIPLIER )
}
@ -1057,7 +1063,7 @@ NDomain = {
ABOVE_LIMIT_HERD_INCOME_PENALTY = 0.5 # How much herd income from domain is reduced per holding over the limit
ABOVE_LIMIT_MAX_HERD_INCOME_PENALTY = 1 # How much herd income from domain can be reduced at most
HOLDING_GRACE_PERIOD = 365 # How many days do newly gained holdings not count towards the domain size for the purposes of penalties (but also not produce any levies)
STEWARDSHIP_SKILL_FOR_DOMAIN_LIMIT_INCREASE = 6 # domain limit += floor( <stewardship skill> / STEWARDSHIP_SKILL_FOR_DOMAIN_LIMIT_INCREASE )
STEWARDSHIP_SKILL_FOR_DOMAIN_LIMIT_INCREASE = 200 # domain limit += floor( <stewardship skill> / STEWARDSHIP_SKILL_FOR_DOMAIN_LIMIT_INCREASE )
LEVIES_AT_ZERO_COUNTY_CONTROL = 0.5 # How many % levies do you get at 0 county control? Interpolated between this value and 100% when between 0 and 100
TAX_AT_ZERO_COUNTY_CONTROL = 0.0 # How much % tax do you get at 0 county control? Interpolated between this value and 100% when between 0 and 100
LEVIES_AT_MAX_COUNTY_DEVELOPMENT = 0.5 # How many % levies bonus do you get at 100 county development? Interpolated between this value and 0% when between 0 and 100
@ -1078,7 +1084,11 @@ NFaction =
DEFAULT_POWER_THRESHOLD = 80 # The default power threshold if there no one defined.
MAX_DEMAND_DELAY_DAYS = 90 # The faction is guaranteed to send demands on the next update after this number of days has passed since it started being able to send demands.
POTENTIAL_FORCE_JOIN_HOOK_TYPE = "strong" # The type of hook that means the UI will show a member as potentially joining
POTENTIAL_FORCE_JOIN_HOOK_TYPE = "strong" # The type of hook that means the UI will show a member as potentially joining
# the minimum warscore a defender in a faction war must have to win the war when the faction is destroyed due to other reasons.
# If below this warscore the war will just be invalidated.
MIN_WARSCORE_FOR_VICTORY_ON_FACTION_INVALIDATION = 75
}
NPathFinding = {
@ -1379,7 +1389,7 @@ NRaid = {
MIN_SOLDIERS_TO_RAID = 200 # How small can a raid army be and still be able to loot?
MONTHLY_ATTRITION = 0.01 # How much attrition do you take while looting a province? 0.01 = 1% per month
MONTHS_OF_RAID_LOOT = 12 # How many months of holding income (with owner effects discounted) does raiding provide?
LESS_MONTHS_OF_RAID_LOOT = 6 # This is subtracted from MONTHS_OF_RAID_LOOT if you have the goverment 'barter = yes'
LESS_MONTHS_OF_RAID_LOOT = 6 # This is subtracted from MONTHS_OF_RAID_LOOT if you have the government 'barter = yes'
# Progress cannot be lower than 1/day (except when interrupted by combat)
BASE_PROGRESS = 20 # How much base raid action progress do you get per day?
@ -1399,7 +1409,7 @@ NBarter = {
BASE_PROGRESS = 15
PROGRESS_PER_SOLDIER = 0.005
LOOT_PER_SOLDIER = 0.1 # How much loot can a single soldier carry? Minimum increment is 0.001
BARTER_GOODS_TO_LOOT_MULT = 1.5 # Used to convert Barter Goods to Loot. A value of 0.5 means that 2 Barter Goods are worth 1 Loot
BARTER_GOODS_TO_LOOT_MULT = 0.5 # Used to convert Barter Goods to Loot. A value of 0.5 means that 2 Barter Goods are worth 1 Loot
}
NCharacterGlow = {
@ -1644,6 +1654,24 @@ NAccolade = {
"badge_color9.dds"
}
ACCOLADE_GLORY_LEVELS = {
100
300
600
1000
1500
2100
}
ACCOLADE_SQUIRE_LEVELS = {
20
40
60
80
}
ACCOLADE_MAX_TYPES = 3 # maximum number of accolade attributes (types) an acclaimed knight can have
STARTING_GLORY = 100 # how much glory does each created accolade start out with? 100 is default to unlock rank 1
POTENTIAL_ACCLAIMED_KNIGHT_UPDATE_TIME = 0.5 # Time between potential acclaimed knights window updates, in seconds
}

View file

@ -4469,7 +4469,7 @@ proving_grounds_01 = {
}
proving_grounds_02 = {
construction_time = @camp_building_main_slot_construction_duration_t2
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_01
internal_slots = 2
@ -4518,7 +4518,7 @@ proving_grounds_02 = {
}
proving_grounds_03 = {
construction_time = @camp_building_main_slot_construction_duration_t3
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_02
internal_slots = 3
@ -4567,7 +4567,7 @@ proving_grounds_03 = {
}
proving_grounds_04 = {
construction_time = @camp_building_main_slot_construction_duration_t4
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_03
internal_slots = 4
@ -4619,7 +4619,7 @@ proving_grounds_04 = {
}
proving_grounds_05 = {
construction_time = @camp_building_main_slot_construction_duration_t5
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_04
internal_slots = 5
@ -4670,7 +4670,7 @@ proving_grounds_05 = {
}
proving_grounds_06 = {
construction_time = @camp_building_main_slot_construction_duration_t6
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_05
internal_slots = 6
@ -4725,7 +4725,7 @@ proving_grounds_06 = {
proving_grounds_horse_run = { # Horse Run
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t2
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_01
cost = { gold = proving_grounds_horse_run_domicile_building_gold_cost_value }
@ -4790,7 +4790,7 @@ proving_grounds_horse_run = { # Horse Run
proving_grounds_camel_run = { # Camel Run
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t2
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_01
cost = { gold = proving_grounds_camel_run_domicile_building_gold_cost_value }
@ -4859,7 +4859,7 @@ proving_grounds_camel_run = { # Camel Run
proving_grounds_elephantry_reserve = { # Elephantry Reserve
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_01
cost = { gold = proving_grounds_elephantry_reserve_domicile_building_gold_cost_value }
@ -4922,7 +4922,7 @@ proving_grounds_elephantry_reserve = { # Elephantry Reserve
proving_grounds_nightly_barding_drills = { # Nightly Barding Drills
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_01
cost = { gold = proving_grounds_nightly_barding_drills_domicile_building_gold_cost_value }
@ -4987,7 +4987,7 @@ proving_grounds_nightly_barding_drills = { # Nightly Barding Drills
proving_grounds_life_in_the_saddle = { # Life in the Saddle
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_01
cost = { gold = proving_grounds_life_in_the_saddle_domicile_building_gold_cost_value }
@ -5002,12 +5002,7 @@ proving_grounds_life_in_the_saddle = { # Life in the Saddle
can_construct = {
custom_tooltip = {
text = proving_grounds_life_in_the_saddle_horse_archers_tt
any_maa_regiment = {
OR = {
is_maa_type = horse_archers
is_maa_type = heavy_horse_archers
}
}
number_maa_regiments_of_base_type:archer_cavalry > 0
}
}
@ -5065,7 +5060,7 @@ proving_grounds_life_in_the_saddle = { # Life in the Saddle
proving_grounds_the_stump = { # The Stump
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_01
cost = { gold = proving_grounds_the_stump_domicile_building_gold_cost_value }
@ -5130,7 +5125,7 @@ proving_grounds_the_stump = { # The Stump
proving_grounds_personal_bouts = { # Personal Bouts
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_01
cost = { gold = proving_grounds_personal_bouts_domicile_building_gold_cost_value }
@ -5196,7 +5191,7 @@ proving_grounds_personal_bouts = { # Personal Bouts
proving_grounds_training_circle = { # Training Circle
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_01
cost = { gold = proving_grounds_training_circle_domicile_building_gold_cost_value }
@ -5262,7 +5257,7 @@ proving_grounds_training_circle = { # Training Circle
proving_grounds_mock_battle_drills = { # Mock Battle Drills
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_01
cost = { gold = proving_grounds_mock_battle_drills_domicile_building_gold_cost_value }
@ -5327,7 +5322,7 @@ proving_grounds_mock_battle_drills = { # Mock Battle Drills
proving_grounds_lockwagon = { # Lockwagon
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t2
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_01
cost = { gold = proving_grounds_lockwagon_domicile_building_gold_cost_value }
@ -5392,7 +5387,7 @@ proving_grounds_lockwagon = { # Lockwagon
proving_grounds_martial_study = { # Martial Study
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_01
cost = { gold = proving_grounds_martial_study_domicile_building_gold_cost_value }
@ -5454,7 +5449,7 @@ proving_grounds_martial_study = { # Martial Study
proving_grounds_the_stick_game = { # The Stick Game
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t1
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_01
cost = { gold = proving_grounds_the_stick_game_domicile_building_gold_cost_value }
@ -5514,7 +5509,7 @@ proving_grounds_the_stick_game = { # The Stick Game
proving_grounds_bodyguard_drills = { # Bodyguard Drills
slot_type = internal
construction_time = @camp_building_internal_slot_construction_duration_t3
allowed_domicile_types = { camp}
allowed_domicile_types = { camp }
previous_building = proving_grounds_01
cost = { gold = proving_grounds_bodyguard_drills_domicile_building_gold_cost_value }
@ -5535,7 +5530,7 @@ proving_grounds_bodyguard_drills = { # Bodyguard Drills
character_modifier = {
enemy_hostile_scheme_phase_duration_add = minor_scheme_phase_duration_malus_value
scheme_discovery_chance_mult = 0.15
enemy_scheme_secrecy_add = -15
}
parameters = {
@ -5907,7 +5902,7 @@ camp_perimeter_good_siting = { # Good Siting
}
character_modifier = {
scheme_discovery_chance_mult = 0.1
enemy_scheme_secrecy_add = -10
enemy_hostile_scheme_phase_duration_add = minor_scheme_phase_duration_malus_value
}
@ -6021,7 +6016,7 @@ camp_perimeter_extra_watch = { # Extra Watch
character_modifier = {
enemy_hostile_scheme_phase_duration_add = major_scheme_phase_duration_malus_value
scheme_discovery_chance_mult = 0.1
enemy_scheme_secrecy_add = -10
archers_damage_mult = 0.1
archer_cavalry_damage_mult = 0.05
}

View file

@ -633,9 +633,7 @@ east_asian_peasant_quarters_01 = {
}
can_construct = {
top_participant_group:dynastic_cycle ?= {
NOT = { participant_group_type = conservative_movement }
}
}
cost = {
@ -668,9 +666,7 @@ east_asian_peasant_quarters_02 = {
previous_building = east_asian_peasant_quarters_01
can_construct = {
top_participant_group:dynastic_cycle ?= {
NOT = { participant_group_type = conservative_movement }
}
}
cost = {
@ -704,9 +700,7 @@ east_asian_peasant_quarters_03 = {
previous_building = east_asian_peasant_quarters_02
can_construct = {
top_participant_group:dynastic_cycle ?= {
NOT = { participant_group_type = conservative_movement }
}
}
cost = {
@ -742,9 +736,7 @@ east_asian_peasant_quarters_04 = {
previous_building = east_asian_peasant_quarters_03
can_construct = {
top_participant_group:dynastic_cycle ?= {
NOT = { participant_group_type = conservative_movement }
}
}
cost = {
@ -2656,7 +2648,10 @@ east_asian_estate_commander_study_01 = {
custom_tooltip = {
text = is_a_military_governor_county_or_above_desc
highest_held_title_tier >= tier_county
vassal_contract_has_flag = celestial_military_appointment
OR = {
vassal_contract_has_flag = celestial_military_appointment
vassal_contract_has_flag = meritocratic_military_appointment
}
}
}
}
@ -2674,6 +2669,7 @@ east_asian_estate_commander_study_01 = {
parameters = {
celestial_military_score_bonus_1 = yes
meritocratic_military_score_bonus_1 = yes
}
character_modifier = {
@ -2701,7 +2697,10 @@ east_asian_estate_commander_study_02 = {
custom_tooltip = {
text = is_a_military_governor_duchy_or_above_desc
highest_held_title_tier >= tier_duchy
vassal_contract_has_flag = celestial_military_appointment
OR = {
vassal_contract_has_flag = celestial_military_appointment
vassal_contract_has_flag = meritocratic_military_appointment
}
}
}
@ -2718,6 +2717,7 @@ east_asian_estate_commander_study_02 = {
parameters = {
celestial_military_score_bonus_2 = yes
meritocratic_military_score_bonus_2 = yes
}
character_modifier = {
@ -2746,7 +2746,10 @@ east_asian_estate_commander_study_03 = {
custom_tooltip = {
text = is_a_military_governor_kingdom_or_above_desc
highest_held_title_tier >= tier_kingdom
vassal_contract_has_flag = celestial_military_appointment
OR = {
vassal_contract_has_flag = celestial_military_appointment
vassal_contract_has_flag = meritocratic_military_appointment
}
}
domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 }
}
@ -2764,6 +2767,7 @@ east_asian_estate_commander_study_03 = {
parameters = {
celestial_military_score_bonus_3 = yes
meritocratic_military_score_bonus_3 = yes
}
character_modifier = {
@ -2806,6 +2810,7 @@ east_asian_estate_commander_study_04 = {
parameters = {
celestial_military_score_bonus_4 = yes
meritocratic_military_score_bonus_4 = yes
}
character_modifier = {
@ -2837,7 +2842,10 @@ east_asian_estate_office_01 = {
custom_tooltip = {
text = is_a_civilian_governor_county_or_above_desc
highest_held_title_tier >= tier_county
vassal_contract_has_flag = celestial_civil_appointment
OR = {
vassal_contract_has_flag = celestial_civil_appointment
vassal_contract_has_flag = meritocratic_civil_appointment
}
}
}
@ -2854,6 +2862,7 @@ east_asian_estate_office_01 = {
parameters = {
celestial_civilian_score_bonus_1 = yes
meritocratic_civilian_score_bonus_1 = yes
}
character_modifier = {
@ -2881,7 +2890,10 @@ east_asian_estate_office_02 = {
custom_tooltip = {
text = is_a_civilian_governor_duchy_or_above_desc
highest_held_title_tier >= tier_duchy
vassal_contract_has_flag = celestial_civil_appointment
OR = {
vassal_contract_has_flag = celestial_civil_appointment
vassal_contract_has_flag = meritocratic_civil_appointment
}
}
}
@ -2898,6 +2910,7 @@ east_asian_estate_office_02 = {
parameters = {
celestial_civilian_score_bonus_2 = yes
meritocratic_civilian_score_bonus_2 = yes
estate_governor_efficiency_bonus = yes
}
@ -2926,7 +2939,10 @@ east_asian_estate_office_03 = {
custom_tooltip = {
text = is_a_civilian_governor_kingdom_or_above_desc
highest_held_title_tier >= tier_kingdom
vassal_contract_has_flag = celestial_civil_appointment
OR = {
vassal_contract_has_flag = celestial_civil_appointment
vassal_contract_has_flag = meritocratic_civil_appointment
}
}
domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 }
}
@ -2944,6 +2960,7 @@ east_asian_estate_office_03 = {
parameters = {
celestial_civilian_score_bonus_3 = yes
meritocratic_civilian_score_bonus_3 = yes
estate_governor_efficiency_bonus = yes
estate_governor_efficiency_bonus_for_house_members = yes
}
@ -2986,6 +3003,7 @@ east_asian_estate_office_04 = {
parameters = {
celestial_civilian_score_bonus_4 = yes
meritocratic_civilian_score_bonus_4 = yes
estate_governor_efficiency_bonus = yes
estate_governor_efficiency_bonus_for_house_members = yes
estate_governor_trait_xp_bonus_for_contracts = yes
@ -4007,9 +4025,6 @@ east_asian_estate_reception_hall_01 = {
previous_building = east_asian_estate_main_01
can_construct_potential = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = conservative_movement
}
}
cost = {
@ -4050,9 +4065,6 @@ east_asian_estate_reception_hall_02 = {
previous_building = east_asian_estate_reception_hall_01
can_construct = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = conservative_movement
}
}
cost = {
@ -4094,9 +4106,6 @@ east_asian_estate_reception_hall_03 = {
previous_building = east_asian_estate_reception_hall_02
can_construct = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = conservative_movement
}
domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_02 }
}
@ -4138,11 +4147,6 @@ east_asian_estate_reception_hall_04 = {
slot_type = internal
previous_building = east_asian_estate_reception_hall_03
can_construct = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = conservative_movement
}
}
cost = {
gold = {
@ -4183,9 +4187,6 @@ east_asian_estate_reception_hall_05 = {
previous_building = east_asian_estate_reception_hall_04
can_construct = {
top_participant_group:dynastic_cycle ?= {
participant_group_type = conservative_movement
}
domicile ?= { has_domicile_building_or_higher = east_asian_estate_main_04 }
}
@ -4229,7 +4230,7 @@ east_asian_estate_cabinet_of_curiosities_01 = {
slot_type = internal
previous_building = east_asian_estate_main_01
can_construct_potential = {
can_construct = {
dynasty ?= { has_dynasty_perk = ep3_administrative_legacy_4 }
}
@ -5106,6 +5107,7 @@ east_asian_estate_health_01 = {
parameters = {
estate_increase_safe_treatment_success_1 = yes
estate_increase_physician_aptitude_1 = yes
}
ai_value = {
@ -5152,7 +5154,7 @@ east_asian_estate_health_02 = {
parameters = {
estate_increase_safe_treatment_success_1 = yes
estate_increase_physician_aptitude = yes
estate_increase_physician_aptitude_2 = yes
}
ai_value = {
@ -5194,7 +5196,7 @@ east_asian_estate_health_03 = {
parameters = {
estate_increase_safe_treatment_success_1 = yes
estate_increase_physician_aptitude = yes
estate_increase_physician_aptitude_3 = yes
}
ai_value = {
@ -5236,7 +5238,7 @@ east_asian_estate_health_04 = {
parameters = {
estate_increase_safe_treatment_success_2 = yes
estate_increase_physician_aptitude_2 = yes
estate_increase_physician_aptitude_4 = yes
}
ai_value = {
@ -5278,7 +5280,7 @@ east_asian_estate_health_05 = {
parameters = {
estate_increase_safe_treatment_success_2 = yes
estate_increase_physician_aptitude_2 = yes
estate_increase_physician_aptitude_5 = yes
}
ai_value = {
@ -5320,7 +5322,7 @@ east_asian_estate_health_06 = {
parameters = {
estate_increase_safe_treatment_success_2 = yes
estate_increase_physician_aptitude_3 = yes
estate_increase_physician_aptitude_6 = yes
}
ai_value = {
@ -6572,6 +6574,7 @@ east_asian_estate_watchtower_01 = {
}
parameters = {
estate_increase_bodyguard_aptitude_1 = yes
raids_less_likely_to_make_prisoners_1 = yes
house_head_can_ask_for_knight = yes
}
@ -6617,7 +6620,7 @@ east_asian_estate_watchtower_02 = {
parameters = {
raids_less_likely_to_make_prisoners_1 = yes
estate_increase_bodyguard_aptitude_1 = yes
estate_increase_bodyguard_aptitude_2 = yes
house_head_can_ask_for_knight = yes
}
@ -6657,7 +6660,7 @@ east_asian_estate_watchtower_03 = {
parameters = {
raids_less_likely_to_make_prisoners_2 = yes
estate_unlock_bolster_security_decision = yes
estate_increase_bodyguard_aptitude_1 = yes
estate_increase_bodyguard_aptitude_3 = yes
house_head_can_ask_for_knight = yes
house_head_can_ask_for_maa = yes
}
@ -6709,7 +6712,7 @@ east_asian_estate_watchtower_04 = {
raids_less_likely_to_make_prisoners_2 = yes
house_head_can_ask_for_maa = yes
estate_unlock_bolster_security_decision = yes
estate_increase_bodyguard_aptitude_2 = yes
estate_increase_bodyguard_aptitude_4 = yes
house_head_can_ask_for_knight = yes
}
@ -6760,7 +6763,7 @@ east_asian_estate_watchtower_05 = {
raids_less_likely_to_make_prisoners_3 = yes
house_head_can_ask_for_maa = yes
estate_unlock_bolster_security_decision = yes
estate_increase_bodyguard_aptitude_2 = yes
estate_increase_bodyguard_aptitude_5 = yes
house_head_can_ask_for_knight = yes
}
@ -6812,7 +6815,7 @@ east_asian_estate_watchtower_06 = {
estate_unlock_patrol_decision = yes
house_head_can_ask_for_maa = yes
estate_unlock_bolster_security_decision = yes
estate_increase_bodyguard_aptitude_2 = yes
estate_increase_bodyguard_aptitude_6 = yes
house_head_can_ask_for_knight = yes
}
@ -7119,7 +7122,7 @@ east_asian_estate_garden_leisure_04 = {
}
parameters = {
increased_gardener_aptitude_3 = yes
increased_gardener_aptitude_4 = yes
}
on_complete = {
@ -7206,7 +7209,7 @@ east_asian_estate_garden_leisure_05 = {
}
parameters = {
increased_gardener_aptitude_3 = yes
increased_gardener_aptitude_5 = yes
}
on_complete = {
@ -7293,7 +7296,7 @@ east_asian_estate_garden_leisure_06 = {
}
parameters = {
increased_gardener_aptitude_3 = yes
increased_gardener_aptitude_6 = yes
}
on_complete = {
@ -7383,7 +7386,7 @@ east_asian_estate_garden_fruit_04 = {
}
parameters = {
increased_gardener_aptitude_3 = yes
increased_gardener_aptitude_4 = yes
}
on_complete = {
@ -7471,7 +7474,7 @@ east_asian_estate_garden_fruit_05 = {
}
parameters = {
increased_gardener_aptitude_3 = yes
increased_gardener_aptitude_5 = yes
}
on_complete = {
@ -7559,7 +7562,7 @@ east_asian_estate_garden_fruit_06 = {
}
parameters = {
increased_gardener_aptitude_3 = yes
increased_gardener_aptitude_6 = yes
}
on_complete = {
@ -11280,7 +11283,10 @@ east_asian_estate_militia_muster_green_01 = {
can_construct = {
custom_tooltip = {
text = celestial_military_appointment_allowed_desc
vassal_contract_has_flag = celestial_military_appointment
OR = {
vassal_contract_has_flag = celestial_military_appointment
vassal_contract_has_flag = meritocratic_military_appointment
}
}
}
@ -11436,7 +11442,10 @@ east_asian_estate_ration_wine_stores_01 = {
can_construct = {
custom_tooltip = {
text = celestial_military_appointment_allowed_desc
vassal_contract_has_flag = celestial_military_appointment
OR = {
vassal_contract_has_flag = celestial_military_appointment
vassal_contract_has_flag = meritocratic_military_appointment
}
}
}
@ -13765,7 +13774,10 @@ east_asian_estate_tea_horse_road_office_01 = {
custom_tooltip = {
text = is_a_military_governor_county_or_above_desc
highest_held_title_tier >= tier_county
vassal_contract_has_flag = celestial_military_appointment
OR = {
vassal_contract_has_flag = celestial_military_appointment
vassal_contract_has_flag = meritocratic_military_appointment
}
}
}
}
@ -14626,7 +14638,10 @@ east_asian_estate_field_surgeon_cart_01 = {
custom_tooltip = {
text = is_a_military_governor_county_or_above_desc
highest_held_title_tier >= tier_county
vassal_contract_has_flag = celestial_military_appointment
OR = {
vassal_contract_has_flag = celestial_military_appointment
vassal_contract_has_flag = meritocratic_military_appointment
}
}
}
}
@ -15870,7 +15885,7 @@ east_asian_estate_history_school_04 = {
}
}
parameters = {
estate_increased_tutor_aptitude_1 = yes
estate_increased_tutor_aptitude_4 = yes
}
character_modifier = {
monthly_merit = @east_asian_manor_monthly_merit_2
@ -16316,7 +16331,10 @@ east_asian_estate_armorer_01 = {
custom_tooltip = {
text = is_a_military_governor_county_or_above_desc
highest_held_title_tier >= tier_county
vassal_contract_has_flag = celestial_military_appointment
OR = {
vassal_contract_has_flag = celestial_military_appointment
vassal_contract_has_flag = meritocratic_military_appointment
}
}
}
}
@ -16741,7 +16759,10 @@ east_asian_estate_sergeants_school_01 = {
custom_tooltip = {
text = is_a_military_governor_county_or_above_desc
highest_held_title_tier >= tier_county
vassal_contract_has_flag = celestial_military_appointment
OR = {
vassal_contract_has_flag = celestial_military_appointment
vassal_contract_has_flag = meritocratic_military_appointment
}
}
}
}
@ -16886,7 +16907,10 @@ east_asian_estate_drill_yard_01 = {
custom_tooltip = {
text = is_a_military_governor_county_or_above_desc
highest_held_title_tier >= tier_county
vassal_contract_has_flag = celestial_military_appointment
OR = {
vassal_contract_has_flag = celestial_military_appointment
vassal_contract_has_flag = meritocratic_military_appointment
}
}
}
}
@ -17604,7 +17628,10 @@ east_asian_estate_crossbow_storage_01 = {
can_construct = {
custom_tooltip = {
text = celestial_military_appointment_allowed_desc
vassal_contract_has_flag = celestial_military_appointment
OR = {
vassal_contract_has_flag = celestial_military_appointment
vassal_contract_has_flag = meritocratic_military_appointment
}
}
}
@ -18445,7 +18472,10 @@ east_asian_estate_foaling_pens_01 = {
custom_tooltip = {
text = is_a_military_governor_county_or_above_desc
highest_held_title_tier >= tier_county
vassal_contract_has_flag = celestial_military_appointment
OR = {
vassal_contract_has_flag = celestial_military_appointment
vassal_contract_has_flag = meritocratic_military_appointment
}
}
}
}
@ -19712,7 +19742,10 @@ east_asian_estate_leatherworks_01 = {
can_construct = {
custom_tooltip = {
text = celestial_military_appointment_allowed_desc
vassal_contract_has_flag = celestial_military_appointment
OR = {
vassal_contract_has_flag = celestial_military_appointment
vassal_contract_has_flag = meritocratic_military_appointment
}
}
}
@ -20987,7 +21020,10 @@ east_asian_estate_salt_lick_terraces_01 = {
custom_tooltip = {
text = is_a_military_governor_county_or_above_desc
highest_held_title_tier >= tier_county
vassal_contract_has_flag = celestial_military_appointment
OR = {
vassal_contract_has_flag = celestial_military_appointment
vassal_contract_has_flag = meritocratic_military_appointment
}
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -297,6 +297,15 @@
}
}
trigger_if = {
limit = {
government_allows = administrative
}
custom_tooltip = {
text = admin_high_tier_vassal_create_faction
highest_held_title_tier >= tier_kingdom
}
}
#PROPPA CONFEDERATION VASSALS
trigger_if = {
limit = {
@ -371,6 +380,15 @@
}
}
trigger_if = {
limit = {
government_allows = administrative
}
custom_tooltip = {
text = admin_high_tier_vassal_create_faction
highest_held_title_tier >= tier_kingdom
}
}
#PROPPA CONFEDERATION VASSALS
trigger_if = {
limit = {
@ -417,6 +435,15 @@
}
}
trigger_if = {
limit = {
government_allows = administrative
}
custom_tooltip = {
text = admin_high_tier_vassal_join_faction
highest_held_title_tier >= tier_kingdom
}
}
#PROPPA CONFEDERATION VASSALS
trigger_if = {
limit = {
@ -672,97 +699,15 @@ liberty_faction = {
# Bloc Cohesion requirement
japan_faction_cohesion_trigger = yes
trigger_if = {
limit = { scope:target = { realm_law_use_imperial_bureaucracy = yes } }
custom_description = {
text = has_lowest_imperial_bureaucracy
subject = scope:target
scope:target = {
OR = {
has_realm_law = imperial_bureaucracy_1
has_realm_law = imperial_bureaucracy_2
has_realm_law = imperial_bureaucracy_3
}
}
}
}
trigger_else_if = {
limit = { scope:target = { government_has_flag = government_is_tribal } }
custom_description = {
text = has_lowest_tribal_authority
subject = scope:target
scope:target = {
OR = {
has_realm_law = tribal_authority_1
has_realm_law = tribal_authority_2
has_realm_law = tribal_authority_3
}
}
}
}
trigger_else_if = {
limit = { scope:target = { realm_law_use_celestial_bureaucracy = yes } }
custom_description = {
text = has_lowest_celestial_bureaucracy
subject = scope:target
scope:target = {
OR = {
has_realm_law = celestial_bureaucracy_1
has_realm_law = celestial_bureaucracy_2
has_realm_law = celestial_bureaucracy_3
}
}
}
}
trigger_else_if = {
limit = { scope:target = { realm_law_use_meritocratic_bureaucracy = yes } }
custom_description = {
text = has_lowest_meritocratic_bureaucracy
subject = scope:target
scope:target = {
OR = {
has_realm_law = meritocratic_bureaucracy_1
has_realm_law = meritocratic_bureaucracy_2
has_realm_law = meritocratic_bureaucracy_3
}
}
}
}
trigger_else_if = {
limit = { scope:target = { realm_law_use_japanese_bureaucracy = yes } }
custom_description = {
text = has_lowest_japanese_bureaucracy
subject = scope:target
scope:target = {
OR = {
has_realm_law = japanese_bureaucracy_1
has_realm_law = japanese_bureaucracy_2
has_realm_law = japanese_bureaucracy_3
}
}
}
}
trigger_else = {
custom_description = {
text = has_lowest_crown_authority
subject = scope:target
scope:target = {
OR = {
has_realm_law = crown_authority_1
has_realm_law = crown_authority_2
has_realm_law = crown_authority_3
}
}
}
has_valid_realm_laws_for_liberty_faction_trigger = {
TARGET = scope:target
}
trigger_if = {
limit = {
scope:target = { government_has_flag = government_is_administrative }
}
scope:target = {
top_liege = this
scope:target = { government_allows = administrative }
}
is_vassal_of = scope:target.top_liege
}
}
@ -781,9 +726,7 @@ liberty_faction = {
limit = {
scope:target = { government_allows = administrative }
}
scope:target = {
top_liege = this
}
is_vassal_of = scope:target.top_liege
}
}
@ -802,9 +745,7 @@ liberty_faction = {
limit = {
scope:faction.faction_target = { government_allows = administrative }
}
scope:faction.faction_target = {
top_liege = this
}
is_vassal_of = scope:faction.faction_target
}
}
@ -1031,22 +972,15 @@ claimant_faction = {
# Ministers cannot be claimants unless we are targeting h_china
trigger_if = {
limit = {
OR = {
has_title = title:e_minister_chancellor
has_title = title:e_minister_censor
has_title = title:e_minister_grand_marshal
has_title = title:e_minister_of_personnel
has_title = title:e_minister_of_revenue
has_title = title:e_minister_of_rites
has_title = title:e_minister_of_war
has_title = title:e_minister_of_justice
has_title = title:e_minister_of_works
}
tgp_has_minister_title = yes
}
custom_description = {
text = target_is_a_minister_desc
subject = this
root.special_title = { this = title:h_china }
any_held_title = {
tgp_is_minister_title = yes
de_jure_liege = root.special_title
}
}
}
}

View file

@ -3771,7 +3771,7 @@ king_feudal_male_grand_duke_independent = {
priority = 47
governments = { feudal_government administrative_government }
#name_lists = { name_list_lithuanian }
titles = { k_lotharingia k_brittany k_lithuania k_white_rus }
titles = { k_lotharingia k_brittany k_lithuania }
flavourization_rules = {
#only_independent = yes
}
@ -3784,7 +3784,7 @@ king_feudal_female_grand_duke_independent = {
priority = 47
governments = { feudal_government administrative_government }
#name_lists = { name_list_lithuanian }
titles = { k_lotharingia k_brittany k_lithuania k_white_rus }
titles = { k_lotharingia k_brittany k_lithuania }
flavourization_rules = {
#only_independent = yes
}
@ -3795,7 +3795,7 @@ kingdom_feudal_grand_duke_independent = {
priority = 47
governments = { feudal_government administrative_government }
#name_lists = { name_list_lithuanian }
titles = { k_lotharingia k_brittany k_lithuania k_white_rus }
titles = { k_lotharingia k_brittany k_lithuania }
flavourization_rules = {
#only_independent = yes
}

View file

@ -1265,12 +1265,36 @@ illness = {
texture = "gfx/interface/icons/traits/ill.dds"
}
clouded_eyes_mitigation = {
texture = "gfx/interface/icons/traits/clouded_eyes.dds"
parent = elder_traits
}
fragile_bones_mitigation = {
texture = "gfx/interface/icons/traits/fragile_bones.dds"
parent = elder_traits
}
withering_mind_mitigation = {
texture = "gfx/interface/icons/traits/withering_mind.dds"
parent = elder_traits
}
infirm_mitigation = {
texture = "gfx/interface/icons/traits/infirm.dds"
parent = elder_traits
}
elder_traits = {
texture = "gfx/interface/icons/traits/faltering_heart.dds"
}
medical_treatments = {
texture = "gfx/interface/icons/traits/ill.dds"
}
occupation = {
alias = {occupy occupying occupied occupations}
alias = {occupy occupying occupied occupations occupies}
}
fortified_holding = {
@ -1305,6 +1329,7 @@ physical_trait = {
fame_trait = {
texture = "gfx/interface/icons/traits/augustus.dds"
parent = trait
alias = { fame_traits }
}
health_trait = {
@ -3216,6 +3241,10 @@ state_faith = {
parent = faith
}
story_cycle = {
alias = { story_cycles }
}
story_content_hereward = {
texture = "gfx/interface/icons/court_position_types/champion_court_position.dds"
shown_in_encyclopedia = no

View file

@ -8,6 +8,7 @@ feudal_government = {
rulers_should_have_dynasty = yes
dynasty_named_realms = no
legitimacy = yes
allow_accolades = yes
}
royal_court = any
@ -134,9 +135,17 @@ theocracy_government = {
can_get_government = {
NOT = {
faith = {
has_doctrine = doctrine_theocracy_lay_clergy
faith = { has_doctrine = doctrine_theocracy_lay_clergy }
}
#The LAAMP Construct Holding decision
trigger_if = {
limit = {
OR = {
has_variable = city_construction_is_temple_citadel
has_variable = city_construction_is_castle
}
}
always = no
}
}
@ -165,6 +174,7 @@ clan_government = {
legitimacy = yes
dynasty_named_realms = no
always_use_patronym = yes
allow_accolades = yes
}
royal_court = any
@ -245,6 +255,7 @@ tribal_government = {
legitimacy = yes
always_use_patronym = yes
affected_by_development = no
allow_accolades = yes
}
royal_court = any
@ -305,6 +316,7 @@ wanua_government = { # "Wanua"
gain_legitimacy_becoming_tributary = yes
regiments_use_barter_goods_as_gold = yes
barter = yes
allow_accolades = yes
}
royal_court = any
@ -347,6 +359,7 @@ wanua_government = { # "Wanua"
flags = {
government_is_tribal
government_is_wanua
government_is_settled
government_can_raid_rule
government_enables_naval_raiding
government_enables_river_travel
@ -368,6 +381,7 @@ mercenary_government = {
court_generate_spouses = no
council = no
inherit_from_dynastic_government = no
allow_accolades = no
}
court_generate_commanders = 5
@ -406,6 +420,7 @@ holy_order_government = {
council = no
court_generate_spouses = no
inherit_from_dynastic_government = no
allow_accolades = no
}
court_generate_commanders = 5
@ -450,6 +465,7 @@ administrative_government = {
administrative = yes
use_as_base_on_landed = yes
use_as_base_on_rank_up = yes
allow_as_base_for_baronies = no
inherit_from_dynastic_government = no
sticky_government = yes
house_aspirations = yes
@ -457,9 +473,11 @@ administrative_government = {
admin_allows_holding_multiple_primary_tier_titles = yes
treasury = yes
replace_gold_cost_by_treasury = yes
allow_accolades = yes
}
royal_court = top_liege
royal_court = any
blocked_subject_courts = { meritocratic_government celestial_government japan_administrative_government administrative_government steppe_admin_government }
domicile_type = estate
main_administrative_tier = duchy
@ -474,6 +492,19 @@ administrative_government = {
vassal_contract_group = admin_vassal
can_get_government = {
#The LAAMP Construct Holding decision
trigger_if = {
limit = {
OR = {
has_variable = city_construction_is_temple_citadel
has_variable = city_construction_is_castle
}
}
always = no
}
}
character_modifier = {
levy_size = -0.5
feudal_government_tax_contribution_mult = -0.5
@ -484,7 +515,7 @@ administrative_government = {
men_at_arms_limit = -2
knight_limit = -5
vassal_limit = 100
active_accolades = -1
accolades = -1
title_creation_cost_mult = -0.5
mercenary_hire_cost_mult = 2
men_at_arms_maintenance = 0.5
@ -545,6 +576,7 @@ landless_adventurer_government = {
allow_out_of_realm_inheritance = yes
use_as_base_on_landed = yes
use_maa_maintenance = no
allow_accolades = no
}
domicile_type = camp
@ -560,7 +592,6 @@ landless_adventurer_government = {
valid_holdings = { tribal_holding church_holding castle_holding city_holding temple_citadel_holding }
character_modifier = {
active_accolades = -100
knight_limit = 2
men_at_arms_cap = -3
men_at_arms_limit = -2
@ -872,6 +903,7 @@ nomad_government = {
no_capital_movement_cooldown = yes
affected_by_development = no
buildings = no
allow_accolades = yes
}
royal_court = any
@ -888,6 +920,10 @@ nomad_government = {
vassal_contract_group = nomad_vassal
can_get_government = {
has_mpo_dlc_trigger = yes
}
character_modifier = {
steppe_travel_danger = steppe_high_danger_reduction
plains_travel_danger = steppe_high_danger_reduction
@ -955,11 +991,11 @@ herder_government = {
deny_powerful_vassal = yes
redirects_wars_to_overlord = yes
buildings = no
allow_accolades = no
}
character_modifier = {
knight_limit = -100
active_accolades = -100
county_opinion_add = 100
monthly_income_mult = -10
}
@ -1006,6 +1042,7 @@ celestial_government = {
legitimacy = yes
use_as_base_on_landed = yes
use_as_base_on_rank_up = yes
allow_as_base_for_baronies = no
inherit_from_dynastic_government = no
sticky_government = yes
house_aspirations = yes
@ -1017,9 +1054,12 @@ celestial_government = {
replace_gold_cost_by_treasury = yes
block_alliance_child_marriage = yes
admin_allows_holding_multiple_primary_tier_titles = no
disable_regnal_numbers = yes
allow_accolades = yes
}
royal_court = top_liege
royal_court = any
blocked_subject_courts = { meritocratic_government celestial_government japan_administrative_government administrative_government steppe_admin_government }
domicile_type = east_asian_estate
main_administrative_tier = duchy
@ -1030,7 +1070,7 @@ celestial_government = {
fallback = 3
primary_holding = castle_holding
valid_holdings = { city_holding temple_citadel_holding }
valid_holdings = { city_holding temple_citadel_holding tribal_holding }
required_county_holdings = { castle_holding city_holding church_holding }
vassal_contract_group = celestial_vassal
@ -1045,7 +1085,7 @@ celestial_government = {
men_at_arms_limit = -2
knight_limit = -5
vassal_limit = 20
active_accolades = -1
accolades = -1
character_max_merit_level_add = 1
mercenary_hire_cost_mult = 2
@ -1130,6 +1170,7 @@ mandala_government = {
count_tributaries_for_title_requirements = yes
radiance = yes
allow_accolades = yes
}
royal_court = any
@ -1142,8 +1183,18 @@ mandala_government = {
has_tgp_dlc_trigger = yes
always = no
OR = {
liege = { has_government = mandala_government }
highest_held_title_tier > tier_barony
liege ?= { has_government = mandala_government }
is_independent_ruler = yes
}
#The LAAMP Construct Holding decision
trigger_if = {
limit = {
OR = {
has_variable = city_construction_is_temple_citadel
has_variable = city_construction_is_castle
}
}
capital_province = { has_holding_type = temple_citadel_holding }
}
}
@ -1288,6 +1339,7 @@ steppe_admin_government = {
legitimacy = yes
use_as_base_on_rank_up = yes
use_as_base_on_landed = yes
allow_as_base_for_baronies = no
inherit_from_dynastic_government = no
sticky_government = yes
house_aspirations = yes
@ -1299,9 +1351,12 @@ steppe_admin_government = {
replace_gold_cost_by_treasury = yes
government_ignores_rightful_liege_penalties = yes
deny_powerful_vassal = yes
disable_regnal_numbers = yes
allow_accolades = yes
}
royal_court = any
blocked_subject_courts = { meritocratic_government celestial_government japan_administrative_government administrative_government steppe_admin_government }
domicile_type = east_asian_estate
@ -1310,7 +1365,7 @@ steppe_admin_government = {
minimum_provincial_maa_tier = duchy
primary_holding = castle_holding
valid_holdings = { city_holding temple_citadel_holding }
valid_holdings = { city_holding temple_citadel_holding tribal_holding }
required_county_holdings = { castle_holding city_holding church_holding }
vassal_contract_group = meritocratic_vassal
@ -1326,8 +1381,8 @@ steppe_admin_government = {
men_at_arms_cap = -2
men_at_arms_limit = -2
knight_limit = -5
vassal_limit = 100
active_accolades = -1
vassal_limit = 20
accolades = -1
ignore_negative_opinion_of_culture = yes
movement_speed = 0.1
movement_speed_land_raiding = 0.1
@ -1381,6 +1436,7 @@ steppe_admin_government = {
can_raze_holdings
government_is_settled
government_uses_domicile_but_not_adventurer
government_uses_domain_limit
government_uses_admin_province_obligations
government_uses_merit_family_aspirations
has_special_house_aspirations
@ -1409,6 +1465,7 @@ meritocratic_government = { # e.g. Korea, Dai Viet
legitimacy = yes
use_as_base_on_landed = yes
use_as_base_on_rank_up = yes
allow_as_base_for_baronies = no
inherit_from_dynastic_government = no
sticky_government = yes
house_aspirations = yes
@ -1418,9 +1475,12 @@ meritocratic_government = { # e.g. Korea, Dai Viet
treasury = yes
replace_gold_cost_by_treasury = yes
deny_powerful_vassal = yes
disable_regnal_numbers = yes
allow_accolades = yes
}
royal_court = any
blocked_subject_courts = { meritocratic_government celestial_government japan_administrative_government administrative_government steppe_admin_government }
domicile_type = east_asian_estate
main_administrative_tier = duchy
@ -1428,7 +1488,7 @@ meritocratic_government = { # e.g. Korea, Dai Viet
minimum_provincial_maa_tier = duchy
primary_holding = castle_holding
valid_holdings = { city_holding temple_citadel_holding }
valid_holdings = { city_holding temple_citadel_holding tribal_holding }
required_county_holdings = { castle_holding city_holding church_holding }
vassal_contract_group = meritocratic_vassal
@ -1442,8 +1502,8 @@ meritocratic_government = { # e.g. Korea, Dai Viet
men_at_arms_cap = -2
men_at_arms_limit = -2
knight_limit = -5
vassal_limit = 100
active_accolades = -1
vassal_limit = 20
accolades = -1
title_creation_cost_mult = -0.5
character_max_merit_level_add = 2
mercenary_hire_cost_mult = 2
@ -1478,7 +1538,6 @@ meritocratic_government = { # e.g. Korea, Dai Viet
can_get_government = {
has_tgp_dlc_trigger = yes
always = no
}
# Use flags instead of has_government for moddability if possible (i.e., wherever not visible to the player).

View file

@ -2639,7 +2639,51 @@ e_nistrenia = {
province = 8870
color = { 8 3 95 }
}
}
}
c_turkmensky = {
color = { 200 40 50 }
b_turkmensky = { # Mozdog
province = 12377
color = { 200 40 50 }
}
b_blagodarnesky = {
province = 12381
color = { 170 20 40 }
}
}
c_levokumsky = {
color = { 170 20 40 }
b_arzgir = {
province = 12382
color = { 170 20 40 }
}
b_levokumskoye = {
province = 12379
color = { 170 20 40 }
}
}
c_stavropul = {
color = { 80 10 40 }
b_stavropul = {
province = 12378
color = { 80 10 40 }
}
b_novoalexandrovsky = {
province = 12380
color ={ 80 10 40 }
}
}
c_ipatovsky = {
color = { 200 40 100 }
b_ipatovsky = {
province = 12376
color = { 200 40 100 }
}
b_apanasenkovsky = {
province = 12375
color = { 200 40 100 }
}
}
}
d_vainakhia = { # Vainakhia
color = { 5 8 120 }
@ -2888,11 +2932,6 @@ e_nistrenia = {
color = { 151 118 30 }
}
b_sara = {
province = 5312
color = { 151 118 30 }
}
b_khazaran = {
province = 604
@ -3106,6 +3145,52 @@ e_nistrenia = {
color = { 125 80 18 }
}
}
}
d_kalmykia = { # Kalmykia
color = { 60 150 230 }
capital = c_elista
c_elista = {
color = { 60 150 230 }
b_elista = { # Elista
province = 12388
color = { 60 150 230 }
}
b_ketchenery = {
province = 12385
color = { 60 150 230 }
}
b_yashkul = {
province = 12383
color = { 60 150 230 }
}
}
c_laganya = {
b_lagan = {
province = 5312
color = { 130 180 220 }
}
b_komsomolsky = {
province = 12390
ccolor = { 130 180 220 }
}
b_ik_buurla = {
province = 12389
ccolor = { 130 180 220 }
}
b_yusta = {
province = 5514
color = { 130 180 220 }
}
}
c_gorodovikovsk = {
color = { 60 100 130 }
b_gorodovikovsk = {
province = 12384
color = { 60 100 130 }
}
}
}
d_krasnodar = { # Krasnodar
color = { 111 45 80 }

View file

@ -708,6 +708,7 @@
government_has_flag = government_is_celestial
government_has_flag = government_is_japan_administrative
government_has_flag = government_is_meritocratic
government_has_flag = government_is_steppe_admin
}
is_independent_ruler = no
}
@ -1231,6 +1232,7 @@
}
flag = advanced_succession_law
flag = appointment_type_succession
flag = appointment_with_level_requirement
modifier = {
glory_hound_opinion = -10
courtly_opinion = 5
@ -1302,6 +1304,7 @@
}
flag = advanced_succession_law
flag = appointment_type_succession
flag = appointment_with_level_requirement
modifier = {
glory_hound_opinion = 5
courtly_opinion = -10
@ -1380,17 +1383,30 @@
japanese_appointment_succession_law = {
can_keep = {
can_keep_japanese_appointment_succession_law_trigger = yes
custom_tooltip = {
text = celestial_military_appointment_allowed_desc
NOT = { vassal_contract_has_flag = japan_administrative_military_appointment }
}
}
can_pass = {
can_change_japanese_appointment_succession_law_trigger = yes
custom_tooltip = {
text = celestial_military_appointment_allowed_desc
NOT = { vassal_contract_has_flag = japan_administrative_military_appointment }
}
}
can_have = {
can_have_japanese_appointment_succession_law_trigger = yes
custom_tooltip = {
text = celestial_military_appointment_allowed_desc
NOT = { vassal_contract_has_flag = japan_administrative_military_appointment }
}
}
should_start_with = {
government_has_flag = government_is_japan_administrative
is_independent_ruler = no
NOT = { has_title = title:k_chrysanthemum_throne }
NOT = { vassal_contract_has_flag = japan_administrative_military_appointment }
}
succession = {
order_of_succession = appointment
@ -1449,11 +1465,13 @@
can_have = {
government_allows = administrative
is_independent_ruler = no
vassal_contract_has_flag = japan_administrative_military_appointment
}
can_pass = {
can_change_succession_law_trigger = yes
government_allows = administrative
is_independent_ruler = no
vassal_contract_has_flag = japan_administrative_military_appointment
}
should_start_with = {
government_has_flag = government_is_japan_administrative
@ -1538,7 +1556,7 @@
government_allows = administrative
is_independent_ruler = no
custom_tooltip = {
text = celestial_military_appointment_allowed_desc
text = celestial_appointment_allowed_desc
NOT = { vassal_contract_has_flag = meritocratic_military_appointment }
}
# Vassal Contract allows it
@ -1565,7 +1583,7 @@
}
is_independent_ruler = no
custom_tooltip = {
text = celestial_military_appointment_allowed_desc
text = celestial_appointment_allowed_desc
NOT = { vassal_contract_has_flag = meritocratic_military_appointment }
}
}
@ -1575,6 +1593,7 @@
}
flag = advanced_succession_law
flag = appointment_type_succession
flag = appointment_with_level_requirement
modifier = {
glory_hound_opinion = -10
courtly_opinion = 5
@ -1602,7 +1621,10 @@
}
potential = {
government_has_flag = government_is_meritocratic
OR = {
government_has_flag = government_is_steppe_admin
government_has_flag = government_is_meritocratic
}
is_independent_ruler = no
}
}
@ -1649,6 +1671,7 @@
}
flag = advanced_succession_law
flag = appointment_type_succession
flag = appointment_with_level_requirement
modifier = {
glory_hound_opinion = -10
courtly_opinion = 5
@ -1676,7 +1699,10 @@
}
potential = {
government_has_flag = government_is_meritocratic
OR = {
government_has_flag = government_is_steppe_admin
government_has_flag = government_is_meritocratic
}
is_independent_ruler = no
}
}

View file

@ -79,11 +79,7 @@
can_change_title_law_trigger = yes
}
can_title_have = {
tier >= tier_county
is_temporal_head_of_faith_trigger = no
NOT = {
is_nomad_title = yes
}
can_title_have_law_general_trigger = yes
}
succession = {
order_of_succession = election
@ -360,16 +356,7 @@
can_pass = {
}
can_title_have = {
OR = {
this = title:e_minister_chancellor
this = title:e_minister_censor
this = title:e_minister_of_personnel
this = title:e_minister_of_revenue
this = title:e_minister_of_rites
this = title:e_minister_of_war
this = title:e_minister_of_justice
this = title:e_minister_of_works
}
tgp_is_civilian_minister_title = yes
}
can_realm_have = {
always = no
@ -388,6 +375,7 @@
celestial_government_opinion = 5
}
flag = appointment_type_succession
flag = appointment_with_level_requirement
}
# Celestial Grand Marshal Succession
@ -421,6 +409,7 @@
celestial_government_opinion = 5
}
flag = appointment_type_succession
flag = appointment_with_level_requirement
}
}

View file

@ -269,8 +269,9 @@
faith = same_faith
### brief: create_primary_tier_titles ( bool, optional )
# If set, then under partition all titles you can create of your primary
# tier will be created for free, resulting in a more split-up realm
# If set and under partition, titles you can create of your primary tier
# ( up to your number of secondary heirs ) will be created for free,
# resulting in a more split-up realm
# default = no
#
create_primary_tier_titles = no

View file

@ -57,6 +57,7 @@
holy_order_fallback = no # Holy order will have a lower priority to use this type
allowed_in_hired_troops = yes # MaA type can be used in hired troops
max_sub_regiments = -1 # If positive, only one reginemt of this type can be created, and have this maximum size. Unaffected by bonuses to MaA regiment size
max_regiments = -1 # If positive, only this number of this type can be created.
provision_cost = 0 # The amount of provison cost for this MAA type when moving your domicile
}

View file

@ -33,6 +33,43 @@ prowess_no_portrait = {
prefix = MOD_PROWESS_PREFIX
}
diplomacy_mult = {
decimals = 0
percent = yes
prefix = MOD_DIPLOMACY_PREFIX
}
martial_mult = {
decimals = 0
percent = yes
prefix = MOD_MARTIAL_PREFIX
}
stewardship_mult = {
decimals = 0
percent = yes
prefix = MOD_STEWARDSHIP_PREFIX
}
intrigue_mult = {
decimals = 0
percent = yes
prefix = MOD_INTRIGUE_PREFIX
}
learning_mult = {
decimals = 0
percent = yes
prefix = MOD_LEARNING_PREFIX
}
prowess_mult = {
decimals = 0
percent = yes
prefix = MOD_PROWESS_PREFIX
}
negate_diplomacy_penalty_add = {
decimals = 0
prefix = MOD_DIPLOMACY_PREFIX
@ -2358,23 +2395,6 @@ domicile_monthly_gold_add = {
suffix = MOD_MONTHLY_POSTFIX
}
domicile_monthly_barter_goods = {
decimals = 2
prefix = MOD_MONTHLY_BARTER_GOODS_PREFIX
suffix = MOD_MONTHLY_POSTFIX
}
domicile_monthly_barter_goods_mult = {
decimals = 0
prefix = MOD_MONTHLY_BARTER_GOODS_PREFIX
percent = yes
}
domicile_monthly_barter_goods_add = {
decimals = 2
prefix = MOD_MONTHLY_BARTER_GOODS_PREFIX
suffix = MOD_MONTHLY_POSTFIX
}
domicile_monthly_prestige_add = {
decimals = 2
prefix = MOD_MONTHLY_PRESTIGE_PREFIX
@ -2762,7 +2782,7 @@ strife_opinion_loss_mult = {
percent = yes
}
active_accolades = {
accolades = {
decimals = 0
dlc_feature = accolades
}

View file

@ -72,7 +72,7 @@ flourishing_culture_modifier = {
}
hungarian_resettlement_modifier = {
icon = horse_positive
icon = horse_mixed
county_opinion_add = -10
build_speed = -0.1
development_growth_factor = small_development_growth_gain
@ -167,10 +167,12 @@ winter_harsh_modifier = {
# End of winter modifiers
spurned_by_traders = {
icon = social_negative
development_growth_factor = -0.25
}
elevate_mann_and_the_isles_modifier = {
icon = social_positive
development_growth_factor = 0.5
levy_size = 1
tax_mult = 0.5
@ -208,7 +210,7 @@ wayfarer_astronomical_phenomenon = {
}
innkeeper_bad_result = {
icon = county_modifier_development_negative
icon = county_modifier_development_mixed
monthly_income = 0.5
county_opinion_add = -20
}

View file

@ -58,6 +58,189 @@ on_army_monthly = {
# scope:war is the war causing the previous controller and the occupant to be hostile
on_county_occupied = {
effect = {
random = { # chance of granting a knight eligibility for marauder / besieger accolade
chance = 2
modifier = {
factor = accolade_progress
}
modifier = {
NOT = {
any_knight = {
OR = {
can_be_acclaimed = yes
accolade ?= {
accolade_can_have_more_attributes = yes
}
}
knight_army ?= {
location.county = scope:county
}
OR = {
AND = { # needed for besieger
knight_army ?= {
any_army_maa_regiment = {
is_unit_type = siege_weapon
}
}
besieger_attribute_trigger = no
}
AND = { # needed for marauder
NOT = {
has_trait = compassionate
}
marauder_attribute_trigger = no
}
}
}
}
factor = 0
}
set_variable = {
name = accolade_progress
value = 0
}
random_list = {
10 = { # marauder
trigger = {
any_knight = {
OR = {
can_be_acclaimed = yes
accolade ?= {
accolade_can_have_more_attributes = yes
}
}
knight_army ?= {
location.county = scope:county
}
NOT = {
has_trait = compassionate
}
marauder_attribute_trigger = no
}
}
random_knight = {
limit = {
OR = {
can_be_acclaimed = yes
accolade ?= {
accolade_can_have_more_attributes = yes
}
}
knight_army ?= {
location.county = scope:county
}
NOT = {
has_trait = compassionate
}
marauder_attribute_trigger = no
}
weight = {
base = 1
modifier = {
add = 60
is_acclaimed = yes
}
modifier = {
add = 30
has_trait = sadistic
}
modifier = {
add = 30
has_trait = callous
}
modifier = {
add = 30
has_trait = wrathful
}
modifier = {
add = 30
has_trait = greedy
}
}
save_scope_as = marauder
}
send_interface_message = {
type = msg_accolade_eligibility
title = accolade_marauder_unlock.t
left_icon = scope:marauder
right_icon = scope:recipient
custom_tooltip = accolade_marauder_unlock.tt
scope:marauder = {
set_variable = {
name = marauder_attribute_unlock
value = yes
}
}
}
}
10 = { # besieger
trigger = {
any_knight = {
OR = {
can_be_acclaimed = yes
accolade ?= {
accolade_can_have_more_attributes = yes
}
}
knight_army ?= {
location.county = scope:county
any_army_maa_regiment = {
is_unit_type = siege_weapon
}
}
besieger_attribute_trigger = no
}
}
random_knight = {
limit = {
OR = {
can_be_acclaimed = yes
accolade ?= {
accolade_can_have_more_attributes = yes
}
}
knight_army ?= {
location.county = scope:county
any_army_maa_regiment = {
is_unit_type = siege_weapon
}
}
besieger_attribute_trigger = no
}
weight = {
base = 1
modifier = {
add = 60
is_acclaimed = yes
}
modifier = {
add = 30
has_trait = calm
}
modifier = {
add = 30
has_trait = patient
}
}
save_scope_as = besieger
}
send_interface_message = {
type = msg_accolade_eligibility
title = accolade_besieger_unlock.t
left_icon = scope:besieger
right_icon = scope:recipient
custom_tooltip = accolade_besieger_unlock.tt
scope:besieger = {
set_variable = {
name = besieger_attribute_unlock
value = yes
}
}
}
}
}
}
scope:county = {
if = {
limit = {
@ -186,28 +369,28 @@ on_county_occupied = {
limit = {
house ?= {
OR = {
has_house_power_parameter = occupations_give_bonuses_1
has_house_power_parameter = occupations_give_bonuses_2
has_house_power_parameter = occupations_give_bonuses_3
has_house_aspiration_parameter = occupations_give_bonuses_1
has_house_aspiration_parameter = occupations_give_bonuses_2
has_house_aspiration_parameter = occupations_give_bonuses_3
}
}
}
send_interface_message = {
type = msg_siege_effect
title = tactical_besiegers_house_power
title = tactical_besiegers_house_aspiration
left_icon = root
right_icon = scope:barony
if = {
limit = {
house = { has_house_power_parameter = occupations_give_bonuses_3 }
house = { has_house_aspiration_parameter = occupations_give_bonuses_3 }
}
add_gold = occupations_give_bonuses_3_value
change_influence = occupations_give_bonuses_3_value
}
else_if = {
limit = {
house = { has_house_power_parameter = occupations_give_bonuses_2 }
house = { has_house_aspiration_parameter = occupations_give_bonuses_2 }
}
add_gold = occupations_give_bonuses_2_value
change_influence = occupations_give_bonuses_2_value

View file

@ -516,48 +516,44 @@ on_death = {
# EP2 - Handle Grand Wedding betrothals
if = {
limit = {
is_ai = no
limit = { # You have promised someone else in a grand marriage
has_variable = promised_grand_wedding_marriage_countdown
exists = player_heir
var:promised_grand_wedding_marriage_countdown != this
}
var:promised_grand_wedding_marriage_countdown = { save_scope_as = temp_marriage_scope }
player_heir = {
set_variable = {
name = promised_grand_wedding_marriage_countdown
value = prev.var:promised_grand_wedding_marriage_countdown
years = grand_wedding_timeout_alt
if = { # Find a player heir or primary heir that hasn't ALSO promised a grand wedding
limit = {
player_heir ?= { NOT = { has_variable = promised_grand_wedding_marriage_countdown } }
}
# Notification that the countdown has expired (one day before, to avoid getting the variable deleted before we have used it)
trigger_event = {
id = ep2_wedding.0001
days = grand_wedding_timeout_notification_alt
player_heir = { save_scope_as = new_wedding_host }
}
else_if = {
limit = {
primary_heir ?= { NOT = { has_variable = promised_grand_wedding_marriage_countdown } }
}
primary_heir = { save_scope_as = new_wedding_host }
}
if = { # If such an heir exists, copy all involved scopes, clean up, and recreate the promise on all relevant characters
limit = {
exists = scope:new_wedding_host
has_variable = promised_grand_wedding_to
}
var:promised_grand_wedding_marriage_countdown = {
save_scope_as = spouse_1
betrothed = { save_scope_as = spouse_2 }
}
var:promised_grand_wedding_to = {
save_scope_as = promisee
}
clean_grand_wedding_betrothal_variables = yes
set_grand_wedding_betrothal_variables = {
HOST = scope:new_wedding_host
SPOUSE_1 = scope:spouse_1
SPOUSE_2 = scope:spouse_2
PROMISEE = scope:promisee
}
}
}
if = {
limit = {
is_ai = no
has_variable = promised_grand_wedding_marriage_countdown
exists = primary_heir
NOT = {
primary_heir = {
has_variable = promised_grand_wedding_marriage_countdown
}
}
}
var:promised_grand_wedding_marriage_countdown = { save_scope_as = temp_marriage_scope }
primary_heir = {
set_variable = {
name = promised_grand_wedding_marriage_countdown
value = prev.var:promised_grand_wedding_marriage_countdown
years = grand_wedding_timeout_alt
}
# Notification that the countdown has expired (one day before, to avoid getting the variable deleted before we have used it)
trigger_event = {
id = ep2_wedding.0001
days = grand_wedding_timeout_notification_alt
}
else = { # Otherwise, clean up all variables on all characters (cancelling the Grand Wedding promise but retaining the betrothal)
clean_grand_wedding_betrothal_variables = yes
}
}
if = {
@ -565,8 +561,7 @@ on_death = {
# You are a spouse to be
has_variable = promised_grand_wedding_by
# your Grand Wedding has not been organized yet
NOR = {
exists = involved_activity
NOT = {
involved_activity ?= {
has_activity_type = activity_wedding
OR = {
@ -1640,7 +1635,7 @@ on_death = {
}
# save Wallada's scope
save_scope_as = wallada
random_artifact = {
random_character_artifact = {
limit = {
has_artifact_modifier = double_moon_modifier
}
@ -1879,10 +1874,10 @@ on_death = {
limit = {
house ?= {
OR = {
has_house_power_parameter = inherit_merit_bonus_1
has_house_power_parameter = inherit_merit_bonus_2
has_house_power_parameter = inherit_merit_bonus_3
has_house_power_parameter = inherit_merit_bonus_4
has_house_aspiration_parameter = inherit_merit_bonus_1
has_house_aspiration_parameter = inherit_merit_bonus_2
has_house_aspiration_parameter = inherit_merit_bonus_3
has_house_aspiration_parameter = inherit_merit_bonus_4
}
}
}

View file

@ -126,6 +126,30 @@ mpo_migration_finished = {
move_domicile = prev.capital_province
}
}
if = {
limit = {
has_character_modifier = mpo_migrating_accolade_duke_modifier
}
remove_character_modifier = mpo_migrating_accolade_duke_modifier
}
else_if = {
limit = {
has_character_modifier = mpo_migrating_accolade_king_modifier
}
remove_character_modifier = mpo_migrating_accolade_king_modifier
}
else_if = {
limit = {
has_character_modifier = mpo_migrating_accolade_emperor_modifier
}
remove_character_modifier = mpo_migrating_accolade_emperor_modifier
}
if = {
limit = {
has_variable = nomad_migration_preserve_coronation
}
remove_variable = nomad_migration_preserve_coronation
}
}
}
@ -225,6 +249,12 @@ on_migration_war_end = {
trigger_event = {
on_action = mpo_migration_finished
}
if = {
limit = {
has_variable = nomad_migration_preserve_coronation
}
remove_variable = nomad_migration_preserve_coronation
}
every_character_situation = {
limit = {
any_participant_group = {
@ -294,7 +324,7 @@ on_kurultai_succession_stable = {
list = obedient_kurultai
limit = {
exists = this
NOT = { this = root }
this != root
}
add_opinion = {
target = root
@ -336,7 +366,7 @@ on_kurultai_succession_chaotic = {
list = obedient_kurultai
limit = {
exists = this
NOT = { this = root }
this != root
}
add_opinion = {
target = root

View file

@ -84,6 +84,7 @@ on_game_start = {
add_confederation_member = title:d_trier.holder
}
}
set_global_variable = { name = is_game_start_date days = 1 }
# Chinese Song-fashion
if = {
limit = {
@ -689,6 +690,7 @@ on_game_start = {
}
}
}
}
religion:eastern_orthodox_religion = {
every_faith = {
@ -1536,6 +1538,7 @@ on_game_start = {
limit = {
government_has_flag = government_is_wanua
}
empty_treasury_when_abandoning_landed_life_effect = yes
change_government = tribal_government
}
# TGP: Clean up mandala govs and revert them to non-dlc feudals
@ -1543,6 +1546,7 @@ on_game_start = {
limit = {
government_has_flag = government_is_mandala
}
empty_treasury_when_abandoning_landed_life_effect = yes
change_government = feudal_government
}
### Every Celestial/Meritocratic/Japanese Government becomes feudal if DLC not enabled, pre-lobby history setup ###
@ -1556,8 +1560,8 @@ on_game_start = {
has_government = japan_feudal_government
}
}
empty_treasury_when_abandoning_landed_life_effect = yes
change_government = feudal_government
}
if = {
limit = {
@ -2571,26 +2575,29 @@ on_game_start = {
}
### TGP Earthquake Regions
# background regions
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_europe }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_europe_south }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_china }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_japan }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:north_pacific_earthquake_region } # Basically Japan, whole region as risky
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_north_east_and_korea }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_southeast_mainland } # no Burma since it's already fully covered by sichuan_myanmar_earthquake_region
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_southeast_islands }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_minor }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_indonesia }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_philippines }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_asia_sakhalin_hokkaido }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_middle_east }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_india }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_steppe }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_siberia }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_burma }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:custom_arakan_mountains }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:custom_bactria }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_tibet }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_himalaya }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_africa }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:world_africa_north_east }
# strips
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:himalaya_earthquake_region }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:sichuan_myanmar_earthquake_region }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:south_china_coastaline_earthquake_region }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:north_china_earthquake_region }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:mongolia_baikal_earthquake_region }
add_to_global_variable_list = { name = earthquake_region_list target = geographical_region:central_asian_earthquake_region }
### TGP Flood Regions
add_to_global_variable_list = { name = flood_region_list target = geographical_region:amur_river_region }
@ -2632,8 +2639,13 @@ on_game_start = {
limit = { has_tgp_dlc_trigger = yes }
### DYNASTIES
tgp_dynasty_house_name_setup_effect = yes
### BLOCS
tgp_setup_historical_house_bloc_effect = yes
### BLOCS — AuH defers to after noble_family_title_realm_setup (see TGP SETUP); else house heads lack NF titles and create_confederation asserts.
if = {
limit = {
NOT = { has_dlc_feature = all_under_heaven }
}
tgp_setup_historical_house_bloc_effect = yes
}
}
#
if = {
@ -2675,6 +2687,8 @@ on_game_start = {
# Like on_game_start, except it is called once the host (or player, in single player) exits the lobby. Good for anything where you need to know who the players are, or what the game rules are
on_game_start_after_lobby = {
effect = {
disable_succession_calculation = yes
# To prevent the Season Changes event from triggering on game start
situation:the_great_steppe ?= {
every_participant_group = {
@ -2805,34 +2819,6 @@ on_game_start_after_lobby = {
}
}
}
title:k_xia ?= {
every_in_de_jure_hierarchy = {
limit = {
holder ?= {
government_has_flag = government_is_tribal
}
}
holder = {
set_variable = {
name = steppe_game_start_var
years = 1
}
every_held_title = {
if = {
limit = {
title_province = {
has_holding_type = tribal_holding
}
}
title_province = {
set_holding_type = nomad_holding
}
}
}
change_government = nomad_government
}
}
}
}
#Sami
if = {
@ -2970,6 +2956,12 @@ on_game_start_after_lobby = {
culture = culture:bedouin
is_ai = no
}
NOR = {
culture = culture:welayta
culture = culture:ethiopian
culture = culture:nubian
culture = culture:daju
}
}
}
holder = {
@ -3059,6 +3051,9 @@ on_game_start_after_lobby = {
enact_treasury_budgets_init = yes
}
}
every_ruler = { # PUT EVERY_RULER TYPE STUFF HERE FOR PERFORMANCE REASONS
### Every nomad in the Steppe Region gets their yurt domicile goodies ###
if = {
@ -3141,7 +3136,6 @@ on_game_start_after_lobby = {
domicile ?= {
add_domicile_building = yurt_main_02
add_random_yurt_external_building_effect = yes
add_random_yurt_external_building_effect = yes
upgrade_random_yurt_external_building_effect = yes
}
}
@ -4555,6 +4549,8 @@ on_game_start_after_lobby = {
}
}
}
if = {
limit = { has_game_rule = sexuality_distribution_default }
@ -8341,6 +8337,7 @@ on_game_start_after_lobby = {
has_government = landless_adventurer_government
}
add_realm_law_skip_effects = camp_purpose_scholars
add_realm_law_skip_effects = equal_law
trigger_event = ep3_story_cycle_violet_poet.0001
}
}
@ -8584,7 +8581,7 @@ on_game_start_after_lobby = {
add_realm_law_skip_effects = camp_purpose_mercenaries
}
}
character:bojo_jinul_1 ?= {
character:il_eom_1 ?= {
if = {
limit = {
is_alive = yes
@ -8713,6 +8710,35 @@ on_game_start_after_lobby = {
limit = { has_tgp_dlc_trigger = yes }
### JAPAN
# History defaults e_japan to feudal + single heir so partial DLC / no AuH bookmarks load cleanly.
# Restore Ritsuryō Kampaku when All Under Heaven is active (must run before noble-family / bureaucracy setup).
if = {
limit = { has_dlc_feature = all_under_heaven }
title:e_japan.holder ?= {
# can_get_government for japan_administrative checks top_liege for japanese government OR this flag; independent Kampaku is neither until flagged.
if = {
limit = {
NOT = { government_has_flag = government_is_japan_administrative }
OR = {
has_government = feudal_government
has_government = japan_feudal_government
}
}
add_character_flag = tgp_japan_restore_japanese_government_flag
change_government = japan_administrative_government
remove_character_flag = tgp_japan_restore_japanese_government_flag
}
# Separate if (not else_if): first block can flip government same pass; law must still run for that case and for history Ritsuryō holders missing the law.
if = {
limit = {
government_has_flag = government_is_japan_administrative
NOT = { has_realm_law = japanese_regency_succession_law }
}
add_realm_law_skip_effects = japanese_regency_succession_law
}
}
}
# Special variable that UI uses to display correct title
title:e_japan = {
# More starting house relations
@ -8795,6 +8821,14 @@ on_game_start_after_lobby = {
}
}
if = {
limit = {
has_dlc_feature = all_under_heaven
exists = title:e_japan.holder
}
tgp_setup_historical_house_bloc_effect = yes
}
### MANDALA
@ -8847,11 +8881,11 @@ on_game_start_after_lobby = {
add_great_building = mandala_capital_01
}
else_if = {
limit = { game_start_date >= 1066.1.1 }
add_great_building = mandala_capital_02
limit = { game_start_date > 1066.09.15 }
add_great_building = mandala_capital_03
}
else = {
add_great_building = mandala_capital_03
add_great_building = mandala_capital_02
}
add_to_global_variable_list = { # Add to list so it can be found by the PoI
name = mandala_poi_list
@ -8928,6 +8962,37 @@ on_game_start_after_lobby = {
create_story = story_mandala
}
}
#Tai Migrations
every_county_in_region = { # save all migration counties to variable list
region = custom_tai_migration_target
add_to_global_variable_list = {
name = tai_migration_target_counties
target = this
}
}
every_in_global_list = { # give all saved migration county holders the story
variable = tai_migration_target_counties
holder = {
if = {
limit = {
NOT = {
any_owned_story = {
type = story_tai_migrations
}
}
has_tgp_dlc_trigger = yes
any_realm_province = {
culture = {
NOT = {
has_cultural_pillar = heritage_tai
}
}
}
}
create_story = story_tai_migrations
}
}
}
}
### TGP MERIT AND TREASURY HANDOUT ON GAME START ###
if = {
@ -9762,26 +9827,65 @@ on_game_start_after_lobby = {
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
is_governor = yes
tgp_is_any_minister = yes
}
trigger_if = {
limit = { has_trait_with_flag = civilian_province }
OR = {
vassal_contract_has_flag = celestial_military_appointment
vassal_contract_has_flag = meritocratic_military_appointment
}
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
}
trigger_else = {
OR = {
vassal_contract_has_flag = celestial_civil_appointment
vassal_contract_has_flag = meritocratic_civil_appointment
}
}
}
tgp_flip_education_track_on_game_start = yes
if = {
limit = { has_trait_with_flag = civilian_province }
set_variable = {
name = appointment_trait_override
value = trait:education_martial_1
}
}
else = {
set_variable = {
name = appointment_trait_override
value = trait:education_stewardship_1
}
}
}
}
if = {
limit = {
has_game_rule = no_easteregg_characters
}
# needed for error suppression as all characters are added to the list in the history
if = {
limit = {
always = no
}
add_to_global_variable_list = {
name = easteregg_characters_list
target = this
}
}
every_in_global_list = {
variable = easteregg_characters_list
limit = {
is_ai = yes
}
death = {
death_reason = death_vanished
}
}
clear_global_variable_list = easteregg_characters_list
}
enable_and_run_succession_calculation = yes
}
events = {

View file

@ -101,34 +101,8 @@ on_title_destroyed = {
}
}
}
every_vassal = {
# Because a change in liege isn't triggered when the title being destroyed
if = {
limit = {
government_has_flag = government_is_celestial
highest_held_title_tier >= tier_kingdom
primary_title = {
has_custom_title_name = no
}
tgp_capital_not_in_chinese_naming_region = no
}
if = {
limit = {
is_ai = no
}
trigger_event = {
id = tgp_dynastic_cycle.9000
days = 1 # so the player gets to choose first
}
}
else = {
trigger_event = {
id = tgp_dynastic_cycle.9000
days = 2
}
}
}
}
# Because a change in liege isn't triggered when the title being destroyed
tgp_fire_china_realm_name_event_for_vassals_effect = yes
title:h_china = {
reset_title_name = yes
}
@ -661,7 +635,7 @@ on_title_gain = {
###########
if = {
limit = {
scope:title.title_province = {
scope:title.title_province ?= {
geographical_region = geographical_region:mpo_region_permafrost
}
}
@ -1142,7 +1116,7 @@ on_title_gain = {
}
every_held_title = {
limit = { exists = var:administrative_ui_special_title }
var:administrative_ui_special_title.holder = { tgp_destroy_ceremonial_throne_effect = yes }
holder = { tgp_destroy_ceremonial_throne_effect = yes }
}
if = {
limit = { has_trait = former_emperor }
@ -1174,12 +1148,16 @@ on_title_gain = {
limit = { has_trait = devoted }
remove_trait = devoted
}
destroy_laamp_effect = { ADVENTURER = this }
if = {
limit = { government_has_flag = government_is_landless_adventurer }
destroy_laamp_effect = { ADVENTURER = this }
}
}
# Reset raid remit
if = {
limit = {
this = top_liege
scope:title = primary_title
any_noble_family = { }
}
every_noble_family = {
@ -1442,7 +1420,10 @@ on_title_gain = {
# When conquering China - Change to conquest phase
if = {
limit = {
root.dynasty != scope:previous_holder.dynasty
OR = {
root.dynasty != scope:previous_holder.dynasty
is_lowborn = yes # in the rare instance that a lowborn theocrat reunites China
}
}
if = {
limit = {
@ -1527,6 +1508,7 @@ on_title_gain = {
set_family_accomplishment_effect = { ACCOMPLISHMENT = family_accomplishment_dynasty }
}
}
# left them in enum since we can not avoid touch here with encapsulated macro
else_if = {
limit = {
OR = {
@ -1673,16 +1655,8 @@ on_title_gain = {
}
}
# That isn't a part of the ministry
NOR = {
scope:title = title:e_minister_chancellor
scope:title = title:e_minister_censor
scope:title = title:e_minister_grand_marshal
scope:title = title:e_minister_of_personnel
scope:title = title:e_minister_of_revenue
scope:title = title:e_minister_of_rites
scope:title = title:e_minister_of_war
scope:title = title:e_minister_of_justice
scope:title = title:e_minister_of_works
scope:title = {
tgp_is_minister_title = no
}
}
trigger_event = {
@ -1799,7 +1773,10 @@ on_title_gain = {
limit = { has_trait = devoted }
remove_trait = devoted
}
destroy_laamp_effect = { ADVENTURER = this }
if = {
limit = { government_has_flag = government_is_landless_adventurer }
destroy_laamp_effect = { ADVENTURER = this }
}
trigger_event = {
id = tgp_japan_general.9100
days = 1
@ -2029,6 +2006,14 @@ on_title_gain = {
}
has_appointment_level_for_title = scope:title
}
# prevent penalty for giving non-feudal lands to nomad/tribals
OR = {
scope:title = {
has_title_law_flag = appointment_with_level_requirement
}
has_realm_law_flag = appointment_with_level_requirement
}
has_global_variable = game_has_started # Don't mess up for initialization
}
situation:dynastic_cycle ?= {
if = {
@ -2044,17 +2029,8 @@ on_title_gain = {
if = {
limit = {
scope:title = {
OR = {
this = title:e_minister_chancellor
this = title:e_minister_censor
this = title:e_minister_grand_marshal
this = title:e_minister_of_personnel
this = title:e_minister_of_revenue
this = title:e_minister_of_rites
this = title:e_minister_of_war
this = title:e_minister_of_justice
this = title:e_minister_of_works
}
tgp_is_minister_title = yes
de_jure_liege = title:h_china
}
NOT = { has_appointment_level_for_title = scope:title }
}
@ -2071,40 +2047,21 @@ on_title_gain = {
# Admin Stuff
if = {
limit = {
OR = {
government_allows = administrative
government_has_flag = government_is_japan_feudal
}
NOT = { has_variable = laamp_invasion_flag }
government_allows = noble_families
}
government_type = { save_scope_as = nf_gov_type }
# Note: anything that should be run after creation can go in on_noble_family_title_created
give_new_noble_family_title_effect = yes
# EP3 - Ensure Emperor keeps old realm capital in admin realms & apply unique domicile building bonus if appropriate
}
if = {
limit = {
government_allows = administrative
NOT = { has_variable = laamp_invasion_flag }
}
# EP3 - apply unique domicile building bonus if appropriate
if = {
limit = {
top_liege = this
highest_held_title_tier >= tier_empire
NOT = {
any_held_title = {
OR = {
tier = tier_empire
tier = tier_hegemony
}
this != scope:title
}
}
}
if = { # Ensure we keep the old realm capital
limit = {
scope:title = {
tier >= tier_empire
title_capital_county != root.capital_county
# Constantinople must have been inherited
title_capital_county.holder = root
}
}
set_realm_capital = scope:title.title_capital_county
}
if = { # Get legitimacy from Reception Hall House Bonus
limit = {
@ -2160,37 +2117,17 @@ on_title_gain = {
scope:title = root.primary_title
has_ep3_dlc_trigger = yes
#Checks so this event doesn't fire after character creation, although it's not really a problem if it does
trigger_if = {
limit = {
game_start_date = 867.1.1
}
current_date >= 867.1.4
}
trigger_if = {
limit = {
game_start_date = 1066.9.15
}
current_date >= 1066.9.18
}
trigger_if = {
limit = {
game_start_date = 1178.10.1
}
current_date >= 1178.10.4
}
current_date_is_start_date_trigger = no
}
save_scope_as = emperor
#Should trigger special event during fourth crusade!
if = {
limit = {
exists = global_var:byz_claimant_champion
global_var:byz_claimant_champion = {
scope:title = title:e_byzantium
global_var:byz_claimant_champion ?= {
any_owned_story = {
type = frankokratia_story
exists = var:byz_claimant
var:byz_claimant = {
this = root
}
var:byz_claimant ?= root
}
}
}
@ -2201,27 +2138,24 @@ on_title_gain = {
trigger_event = ep3_frankokratia_events.0110
}
}
else = {
if = {
else_if = {
limit = {
exists = house
exists = scope:previous_holder
is_alive = yes
is_ruler = yes
is_imprisoned = no
top_liege = this
}
every_vassal_or_below = {
limit = {
exists = root.house
}
#normal triggering
every_vassal_or_below = {
limit = {
is_playable_character = yes
exists = scope:previous_holder
has_government = administrative_government
OR = {
highest_held_title_tier >= main_administrative_tier # All governors
liege = root
}
}
trigger_event = {
id = ep3_governor_yearly.3060
days = 1
is_playable_character = yes
OR = {
highest_held_title_tier >= main_administrative_tier # All governors
liege = root
}
}
trigger_event = ep3_governor_yearly.3060
}
}
}
@ -2691,6 +2625,7 @@ on_title_gain = {
limit = {
scope:title = {
tier = tier_county
is_landless_type_title = no
OR = {
has_county_modifier = major_coronation_approval_unsettled_modifier
has_county_modifier = medium_coronation_approval_unsettled_modifier
@ -3923,17 +3858,9 @@ on_title_lost = {
# 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
}
is_landed = no
tgp_is_any_minister = no
any_character_situation = { this = situation:dynastic_cycle }
}
situation:dynastic_cycle = {
remove_manual_participant = prev
@ -4146,6 +4073,64 @@ on_rank_up = { # Will not fire during history execution or for dying characters
events = {
}
effect = {
# EP3 - Ensure Emperor keeps old realm capital in admin realms
if = {
limit = {
government_allows = administrative
NOT = { has_variable = laamp_invasion_flag }
top_liege = this
trigger_if = {
limit = { exists = scope:title }
highest_held_title_tier > scope:title.tier
}
}
# celestial emperor+ ruler keep their capital when they were kingdom
# but if they become emperor+ without ever being a king, follow normal de jure realm
if = {
limit = {
tgp_use_chinese_naming_trigger = yes
trigger_if = {
limit = {
NOT = { exists = title:h_china.holder }
capital_county.title_province ?= {
OR = {
geographical_region = tgp_county_chinese_naming_region
geographical_region = tgp_duchy_chinese_naming_region
}
}
}
highest_held_title_tier >= tier_duchy
}
trigger_else = {
highest_held_title_tier >= tier_empire
}
primary_title = {
is_de_jure_liege_or_above_target = prev.capital_county
}
}
primary_title = {
if = {
limit = {
title_capital_county != prev.capital_county
NOT = { previous_holder.house ?= prev.house }
}
set_capital_county = prev.capital_county
}
}
}
else_if = { # Ensure we keep the old realm capital
limit = {
highest_held_title_tier >= tier_empire
primary_title = {
title_capital_county != root.capital_county
# Constantinople must have been inherited
title_capital_county.holder = root
}
}
set_realm_capital = primary_title.title_capital_county
}
}
if = { # ACH call to coronation reminder
limit = {
coronation_trigger = yes
@ -4302,8 +4287,23 @@ on_rank_up = { # Will not fire during history execution or for dying characters
if = {
limit = {
is_independent_ruler = yes
government_has_flag = government_is_celestial
highest_held_title_tier >= tier_kingdom
OR = {
tgp_use_chinese_naming_trigger = yes
primary_title = {
recent_history = {
type = conquest_populist
days = 1
}
previous_holder = {
tgp_use_chinese_naming_trigger = yes
}
}
AND = {
exists = var:claimed_mandate_var
primary_title ?= title:h_china
}
}
tgp_chinese_naming_tier_trigger = yes
OR = {
primary_title ?= {
has_custom_title_name = no
@ -4312,56 +4312,12 @@ on_rank_up = { # Will not fire during history execution or for dying characters
}
trigger_if = {
limit = {
tgp_capital_not_in_chinese_naming_region = yes
tgp_has_unique_chinese_naming = no
}
primary_title ?= title:h_china
}
}
if = {
limit = {
is_ai = no
}
trigger_event = {
id = tgp_dynastic_cycle.9000
days = 1 # so the player gets to choose first
}
}
else = {
trigger_event = {
id = tgp_dynastic_cycle.9000
days = 2
}
}
}
else_if = { # Make sure non-Celestials get to rename/recolor china
limit = {
is_independent_ruler = yes
has_tgp_dlc_trigger = yes
NOT = { government_has_flag = government_is_celestial }
exists = var:claimed_mandate_var
primary_title ?= title:h_china
OR = {
primary_title ?= {
has_custom_title_name = no
}
primary_title.previous_holder.dynasty != root.dynasty
}
}
if = {
limit = {
is_ai = no
}
trigger_event = {
id = tgp_dynastic_cycle.9000
days = 1 # so the player gets to choose first
}
}
else = {
trigger_event = {
id = tgp_dynastic_cycle.9000
days = 2
}
}
tgp_fire_china_realm_name_event_effect = yes
}
# ACH - Remove Coronated laws when titles are passed onto a new character
@ -4386,6 +4342,7 @@ on_rank_up = { # Will not fire during history execution or for dying characters
limit = {
is_house_head = yes
NOT = { house.house_confederation.leading_house = this.house }
house.house_confederation.leading_house.house_head.top_liege = this
}
house.house_confederation = {
tgp_set_house_bloc_leading_house_effect = { LEADER = root.house }
@ -4476,6 +4433,46 @@ on_rank_down = { # Will not fire during history execution or for dying character
}
ach_remove_oaths_on_king_minus_effect = yes
}
# Grand Wedding: no longer valid host
if = {
limit = {
highest_held_title_tier < tier_county
has_variable = promised_grand_wedding_marriage_countdown
scope:transfer_type = flag:abdication
}
scope:title.holder ?= {
if = {
limit = { NOT = { has_variable = promised_grand_wedding_marriage_countdown } }
save_scope_as = new_wedding_host
}
}
if = {
limit = {
exists = scope:new_wedding_host
has_variable = promised_grand_wedding_to
}
var:promised_grand_wedding_marriage_countdown = {
save_scope_as = spouse_1
betrothed = { save_scope_as = spouse_2 }
}
var:promised_grand_wedding_to = {
save_scope_as = promisee
}
clean_grand_wedding_betrothal_variables = yes
set_grand_wedding_betrothal_variables = {
HOST = scope:new_wedding_host
SPOUSE_1 = scope:spouse_1
SPOUSE_2 = scope:spouse_2
PROMISEE = scope:promisee
}
}
else = {
clean_grand_wedding_betrothal_variables = yes
}
}
}
}
@ -4551,6 +4548,37 @@ on_vassal_gained = {
# TGP end the ceremonial liege
tgp_destroy_ceremonial_throne_effect = yes
}
# TGP Put vassals in blocs
if = {
limit = {
top_liege != this # independent rulers are an exception
exists = house.house_confederation
scope:vassal = {
tgp_uses_house_blocs_trigger = yes
house.house_head = scope:vassal
}
trigger_if = {
limit = { exists = scope:vassal.house.house_confederation }
scope:vassal.house.house_confederation != house.house_confederation
}
}
if = {
limit = { exists = scope:vassal.house.house_confederation }
scope:vassal.house = {
tgp_leave_house_bloc_effect = {
OPINION = flag:no
TRUCE = flag:yes
}
}
}
scope:vassal.house = {
tgp_join_house_bloc_effect = {
INVITER = root.house
OPINION = flag:no
}
}
}
}
}
@ -4566,7 +4594,7 @@ on_vassal_change = {
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
# This trigger is intentionally different from the similar effect 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
}
@ -4590,27 +4618,50 @@ on_vassal_change = {
### If an admin ruler becomes independent...
if = {
limit = {
liege = root # I.e. root is independent
government_has_flag = government_is_administrative
}
# And is not of a high enough rank, change government
if = {
limit = {
administrative_tier_allows_independence = no
limit = {
liege = root # I.e. root is independent
}
admin_change_government_effect = yes
}
# If they can be independent, make sure they have a noble family title
else_if = {
limit = {
NOT = {
any_held_title = {
is_noble_family_title = yes
# And is not of a high enough rank, change government
if = {
limit = {
administrative_tier_allows_independence = no
}
admin_change_government_effect = yes
}
# If they can be independent, make sure they have a noble family title
else_if = {
limit = {
NOT = {
any_held_title = {
is_noble_family_title = yes
}
}
}
create_noble_family_effect = { GOVERNMENT_GIVER = this }
domicile ?= { set_up_domicile_estate_effect = yes }
}
create_noble_family_effect = { GOVERNMENT_GIVER = this }
domicile ?= { set_up_domicile_estate_effect = yes }
}
# Byz admin landless NF should always be direct vassal of top liege
else_if = {
limit = {
liege != top_liege
primary_title = {
is_noble_family_title = yes
}
is_landed = no
}
create_title_and_vassal_change = {
type = appointment
save_scope_as = change
}
change_liege = {
liege = top_liege
change = scope:change
}
resolve_title_and_vassal_change = scope:change
}
}
### Independent Celestial rulers who become direct vassals of a top liege adopt Military obligations if they have title troops - Everyone else will default to Standard.
@ -4623,6 +4674,12 @@ on_vassal_change = {
primary_title = {
any_title_maa_regiment = { count >= 1 }
}
liege = { #only if the liege didn't reach the limit yet
any_vassal = {
count < celestial_province_military_max_value
vassal_contract_has_flag = celestial_province_military
}
}
}
vassal_contract_set_obligation_level = { type = celestial_provinces level = 3 }
}
@ -4636,52 +4693,14 @@ on_vassal_change = {
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
this = title:e_minister_grand_marshal
this = title:e_minister_of_personnel
this = title:e_minister_of_revenue
this = title:e_minister_of_rites
this = title:e_minister_of_war
this = title:e_minister_of_justice
this = title:e_minister_of_works
}
}
# has a ministry title that is not being swapped
tgp_has_minister_title = yes
}
every_held_title = {
switch = {
trigger = this
title:e_minister_chancellor = {
root = { destroy_title = title:e_minister_chancellor }
}
title:e_minister_censor = {
root = { destroy_title = title:e_minister_censor }
}
title:e_minister_grand_marshal = {
root = { destroy_title = title:e_minister_grand_marshal }
}
title:e_minister_of_personnel = {
root = { destroy_title = title:e_minister_of_personnel }
}
title:e_minister_of_revenue = {
root = { destroy_title = title:e_minister_of_revenue }
}
title:e_minister_of_rites = {
root = { destroy_title = title:e_minister_of_rites }
}
title:e_minister_of_war = {
root = { destroy_title = title:e_minister_of_war }
}
title:e_minister_of_justice = {
root = { destroy_title = title:e_minister_of_justice }
}
title:e_minister_of_works = {
root = { destroy_title = title:e_minister_of_works }
}
limit = {
tgp_is_minister_title = yes
}
root = { destroy_title = prev }
}
}
# Make sure independent rulers and their vassals leave movements if they are part of the Dynastic Cycle
@ -4711,42 +4730,24 @@ on_vassal_change = {
if = {
limit = {
# We have become independent!
NOT = {
scope:old_liege = root
}
scope:old_liege != root
liege = root
government_has_flag = government_is_celestial
highest_held_title_tier >= tier_kingdom
tgp_use_chinese_naming_trigger = yes
tgp_chinese_naming_tier_trigger = yes
primary_title = {
has_custom_title_name = no # sanity check
}
OR = {
tgp_capital_not_in_chinese_naming_region = no
tgp_has_unique_chinese_naming = yes
primary_title = title:h_china # failsafe, in case this somehow ends up here
}
}
if = {
limit = {
is_ai = no
}
trigger_event = {
id = tgp_dynastic_cycle.9000
days = 1 # so the player gets to choose first
}
}
else = {
trigger_event = {
id = tgp_dynastic_cycle.9000
days = 2
}
}
tgp_fire_china_realm_name_event_effect = yes
}
if = {
limit = {
scope:old_liege = root
NOT = {
liege = root
}
liege != root
primary_title ?= {
has_custom_title_name = yes
}
@ -4946,6 +4947,43 @@ on_realm_capital_change = {
}
}
}
# Move ministers to realm capital.
if = {
limit = {
tgp_has_access_to_ministry_trigger = yes
}
every_vassal = {
limit = {
tgp_has_minister_title = yes
}
every_held_title = {
limit = {
OR = {
is_noble_family_title = yes
tgp_is_minister_title = yes
}
}
set_capital_county = ROOT.county
}
if = {
limit = { is_ai = yes }
domicile ?= {
move_domicile = ROOT.title_province
}
}
# don't move them in such cases
if = {
limit = {
is_landed = no
is_in_army = no
is_travelling = no
NOT = { exists = involved_activity }
}
set_location_to_default = yes
}
}
}
}
}
}

View file

@ -13,7 +13,7 @@ on_travel_plan_movement = {
delay = { days = 2 }
adventurer_talent_scouting_on_action
delay = { days = 3 }
adventurer_encourage_realtionships_on_action
adventurer_encourage_relationships_on_action
migration_events_on_action
delay = { days = 1 }
}
@ -493,7 +493,10 @@ on_travel_plan_movement = {
# laamp_base_1041/Ambush Travellers task contract minigame.
current_travel_plan ?= {
if = {
limit = { has_variable = activate_laamp_base_1041_logic }
limit = {
has_variable = activate_laamp_base_1041_logic
current_location = { is_sea_province = no }
}
travel_plan_owner.var:laamp_base_1041_travel_plan_contract_storage = {
if = {
limit = { var:event_ratio_tracker >= 1 }
@ -553,6 +556,62 @@ travel_danger_events_on_action = {
is_migrating = no # No Danger events while migrating
exists = current_travel_plan
}
effect = {
random = { # chance of inspiring a knight to become eligible for stalwart accolade
chance = 0.05
modifier = {
factor = current_travel_plan.current_danger_value # scales with danger (even if mitigated)
}
modifier = {
factor = accolade_progress # scales with accolade progress
}
modifier = { # must have an eligible knight
NOT = {
any_knight = {
current_travel_plan ?= root.current_travel_plan
can_unlock_accolade_attribute_trigger = {
ATTRIBUTE = stalwart
}
}
}
factor = 0
}
set_variable = {
name = accolade_progress
value = 0
}
random_knight = {
limit = {
current_travel_plan ?= root.current_travel_plan
can_unlock_accolade_attribute_trigger = {
ATTRIBUTE = stalwart
}
}
weight = {
base = 1
modifier = {
add = 50
is_acclaimed = yes
}
}
save_scope_as = accolade_knight
}
save_scope_as = accolade_liege
send_interface_message = {
type = msg_accolade_eligibility
title = accolade_stalwart_unlock.t
left_icon = scope:accolade_knight
right_icon = scope:accolade_liege
custom_tooltip = accolade_stalwart_unlock.tt
scope:accolade_knight = {
set_variable = {
name = stalwart_attribute_unlock
value = yes
}
}
}
}
}
random_events = {
chance_of_no_event = {
value = {
@ -641,6 +700,15 @@ travel_danger_events_on_action = {
350 = ep3_laamp_flavour_ewan.4071 # Slavers - bastards try to kidnap people from the edges of your train.
350 = ep3_laamp_flavour_ewan.4081 # Born of Desperation - hungry locals swarm at you, searching for food.
350 = ep3_laamp_flavour_ewan.4091 # Night Attack - unknown group assaults your camp one evening.
# TGP Travel Danger Events
100 = tgp_travel_danger_events.0001 # Encounter an orphan in an area struck by natural disaster.
# Simple Danger Events
100 = travel_danger_events.9030 # Rain: delay
100 = travel_danger_events.9040 # Rainstorm, someone is lost & gone forever!
100 = travel_danger_events.9050 # Someone with Withering Mind walks off
100 = travel_danger_events.9060 # Faltering Heart/Fragile Bones entourage character suffers during travel
}
}
@ -664,18 +732,18 @@ travel_events_on_action = {
random_events = {
chance_of_no_event = {
value = 80
value = 95
if = {
limit = {
is_ai = yes
}
add = 19 # Not very important that AI's get these
add = 4 # Not very important that AI's get these
}
if = { # Less regular travel events when you're migrating
limit = {
is_migrating = yes
}
add = 15
add = 4
}
}
100 = 0
@ -745,6 +813,7 @@ travel_events_on_action = {
100 = travel_events.4050 # hostage/ward/different culture courtier acts as cultural mediator
200 = hunt.8200 # Falconry Practice
500 = hunt.8210 #Pursued by a Shrine Maiden
100 = travel_events.5100 #You reach a spirit haunted bridge
#Cultural Tradition events
100 = travel_events.1200 #Friendly People
100 = travel_events.1201 #Chivalry
@ -866,6 +935,18 @@ travel_events_on_action = {
100 = tgp_travel_events.0035
100 = tgp_travel_events.0040
100 = tgp_travel_events.0045
#Travel Events Japan
100 = tgp_japan_yearly_events.0006 # 0006 - Treasures from the Sea - ama divers
100 = tgp_japan_yearly_events.0012 # 0012 - Monkey Business - Onsen
100 = tgp_japan_yearly_events.0013 # 0013 - Purifying the Spirit - Onsen
100 = tgp_japan_yearly_events.0014 # 0014 - Taking It Easy - Onsen
100 = tgp_japan_yearly_events.0027 # 0027 - Prove Your Worth - Tengu
10 = tgp_japan_yearly_events.0028 # 0028 - False Rumors - Tengu
100 = tgp_japan_yearly_events.1000 # 1000 - You see some Onibi, follow them or no?
50 = tgp_japan_yearly_events.1040 # 1040 - You come across a red bridge
50 = tgp_japan_yearly_events.1120 # 1120 - You meet a warrior monk
50 = tgp_japan_yearly_events.1140 # 1140 - You are stopped in Soryo lands as a Ritsuryo ruler
}
}
@ -942,7 +1023,8 @@ travel_event_tombola = {
1 = travel_events_on_action
2 = on_tour_travel
2 = pilgrimage_journey_events
2 = hajj_journey_events
#2 = hajj_journey_events # They're the same as Pilgrimage for now, commenting out until further notice to save performance
# If Hajj content is added, also see comment in is_on_a_pilgrimage_trigger
}
}
@ -1289,18 +1371,24 @@ on_travel_plan_start = {
}
}
events = {
travel_start_event.1000 #Generic start (no activity)
travel_start_event.1010 #Travelling to a Tournament
# Commented-out events are removed due to spam concerns
# The ones who are left have mechanical impacts; Tours give prestige/stress loss, pilgrimages add additional pilgrims, wanderer activities give boons based ona ctivity options for Monument Explorations, etc.
# Chinese debates/examinations give necessary context effects, such as choosing movement if you have none, or resigning from your alnds if you need to take the exam
travel_start_event.1130 # Generic 'travel started' toast, also plays mx_cue_travel_start
#travel_start_event.1000 #Generic start (no activity)
#travel_start_event.1010 #Travelling to a Tournament
travel_start_event.1020 #Setting off on a Tour
travel_start_event.1030 #Travelling to a Wedding
travel_start_event.1040 #Travelling to a Feast
travel_start_event.1050 #Travelling to a Playdate
#travel_start_event.1030 #Travelling to a Wedding
#travel_start_event.1040 #Travelling to a Feast
#travel_start_event.1050 #Travelling to a Playdate
travel_start_event.1060 #Going on a Pilgrimage
travel_start_event.1070 #Travelling to a Hunt
travel_start_event.1080 #Travelling to a Witch Ritual
#travel_start_event.1070 #Travelling to a Hunt
#travel_start_event.1080 #Travelling to a Witch Ritual
travel_start_event.1090 #Travelling to a Travel Lifestyle Activity
travel_start_event.1100 #Travelling to an Examination
travel_start_event.1110 #Travelling to a Mandala Ritual
#travel_start_event.1110 #Travelling to a Mandala Ritual
travel_start_event.1120 #Travelling to a Debate
ep3_contract_event.0002 #When doing a Contract as Landless Adventurer fill your entourage with relevant people
@ -1608,6 +1696,9 @@ on_travel_plan_complete = {
trigger_event = laamp_base_learning_contract_events.4017
}
tribute_mission_clean_up_variables_effect = yes
#Remove characters added by travel options at the start of travel plan
remove_travel_option_added_character_effect = yes
}
}
@ -1681,10 +1772,10 @@ on_travel_plan_abort = {
# refund prestige and influence cost
if = {
limit = { petition_liege_admin_valid_trigger = yes }
change_influence_no_experience = standard_activity_cost
change_influence_no_experience = standard_activity_base_cost
}
else = {
add_prestige_no_experience = standard_activity_cost
add_prestige_no_experience = standard_activity_base_cost
}
}
# remove variables and flags
@ -1707,6 +1798,9 @@ on_travel_plan_abort = {
#Hit absentee Tributary with Tribute Mission penalty
requested_tribute_mission_penalty_effect = yes
tribute_mission_clean_up_variables_effect = yes
#Remove characters added by travel options at the start of travel plan
remove_travel_option_added_character_effect = yes
}
}
@ -1731,10 +1825,10 @@ on_travel_plan_cancel = {
# refund prestige and influence cost
if = {
limit = { petition_liege_admin_valid_trigger = yes }
change_influence_no_experience = standard_activity_cost
change_influence_no_experience = standard_activity_base_cost
}
else = {
add_prestige_no_experience = standard_activity_cost
add_prestige_no_experience = standard_activity_base_cost
}
}
# remove variables and flags
@ -1750,9 +1844,9 @@ on_travel_plan_cancel = {
# refund prestige and influence cost
if = {
limit = { petition_liege_admin_valid_trigger = yes }
change_influence_no_experience = standard_activity_cost
change_influence_no_experience = standard_activity_base_cost
}
else = { add_prestige_no_experience = standard_activity_cost }
else = { add_prestige_no_experience = standard_activity_base_cost }
}
# remove variables and flags
petition_liege_variable_cleanup_effect = yes
@ -1788,7 +1882,7 @@ on_travel_plan_cancel = {
remove_variable = pledge_loyalty_to_liege_grace
}
# refund any costs
add_prestige = standard_activity_cost
add_prestige = standard_activity_base_cost
if = {
limit = {
has_variable = pay_homage_gold_value
@ -1989,7 +2083,7 @@ adventurer_talent_scouting_on_action = {
}
}
adventurer_encourage_realtionships_on_action = {
adventurer_encourage_relationships_on_action = {
trigger = {
current_travel_plan ?= { has_travel_option = adventurers_encourage_relationships_option }
}

View file

@ -265,7 +265,262 @@
holy_order_names = { #placeholder
}
}
}
lamaism = { # Nangchos aka Tibetan Buddhism - syncretic of Mahayana, Vajrayana and native Tibetan elements
color = { 200 100 20 }
icon = lamaism_buddhism
holy_site = kusinagara
holy_site = bodh_gaya
holy_site = lhasa
holy_site = sagya
holy_site = purang
doctrine = doctrine_gender_equal
doctrine = doctrine_polygamy
doctrine = doctrine_adultery_men_accepted
doctrine = doctrine_adultery_women_accepted
doctrine = doctrine_deviancy_accepted
doctrine = doctrine_witchcraft_accepted
# Carried over from pre-Buddhist Tibet. Similar theological motivations as cremation, demonstrating the impermanence of life
doctrine = doctrine_funeral_sky_burial
doctrine = tenet_dharmic_pacifism
doctrine = tenet_monasticism
doctrine = tenet_esotericism
localization = {
ReligiousText = lamaism_religious_text
ReligiousText2 = lamaism_religious_text_2
ReligiousText3 = lamaism_religious_text_3
HouseOfWorship = lamaism_house_of_worship
HouseOfWorship2 = lamaism_house_of_worship_2
HouseOfWorship3 = lamaism_house_of_worship_3
HouseOfWorshipPlural = lamaism_house_of_worship_plural
ReligiousHeadName = lamaism_religious_head_title
DevoteeMale = lamaism_devotee_male
DevoteeMalePlural = lamaism_devotee_male_plural
DevoteeFemale = lamaism_devotee_female
DevoteeFemalePlural = lamaism_devotee_female_plural
DevoteeNeuter = lamaism_devotee_neuter
DevoteeNeuterPlural = lamaism_devotee_neuter_plural
PriestMale = lamaism_priest
PriestMalePlural = lamaism_priest_plural
PriestFemale = lamaism_priest
PriestFemalePlural = lamaism_priest_plural
PriestNeuter = lamaism_priest
PriestNeuterPlural = lamaism_priest_plural
AltPriestTermPlural = lamaism_priest_term_plural
BishopMale = lamaism_bishop
BishopMalePlural = lamaism_bishop_plural
BishopFemale = lamaism_bishop
BishopFemalePlural = lamaism_bishop_plural
BishopNeuter = lamaism_bishop
BishopNeuterPlural = lamaism_bishop_plural
WitchGodName = bon_evil_god_shinje
WitchGodNamePossessive = bon_evil_god_shinje_possessive
WitchGodHerHis = CHARACTER_HERHIS_HIS
WitchGodSheHe = CHARACTER_SHEHE_HE
WitchGodHerHim = CHARACTER_HERHIM_HIM
WitchGodMistressMaster = master
WitchGodMotherFather = father
#Creator
CreatorName = lamaism_creator_god_name
CreatorNamePossessive = lamaism_creator_god_name_possessive
CreatorSheHe = CHARACTER_HERHIM_IT
CreatorHerHis = CHARACTER_HERHIS_ITS
CreatorHerHim = CHARACTER_HERHIM_IT
#HealthGod
HealthGodName = lamaism_health_god_name
HealthGodNamePossessive = lamaism_health_god_name_possessive
HealthGodSheHe = CHARACTER_SHEHE_HE
HealthGodHerHis = CHARACTER_HERHIS_HIS
HealthGodHerHim = CHARACTER_HERHIM_HIM
#FertilityGod
FertilityGodName = lamaism_fertility_god_name
FertilityGodNamePossessive = lamaism_fertility_god_name_possessive
FertilityGodSheHe = CHARACTER_SHEHE_HE
FertilityGodHerHis = CHARACTER_HERHIS_HIS
FertilityGodHerHim = CHARACTER_HERHIM_HIM
#WealthGod
WealthGodName = lamaism_wealth_god_name
WealthGodNamePossessive = lamaism_wealth_god_name_possessive
WealthGodSheHe = CHARACTER_SHEHE_HE
WealthGodHerHis = CHARACTER_HERHIS_HIS
WealthGodHerHim = CHARACTER_HERHIM_HIM
#HouseholdGod
HouseholdGodName = lamaism_household_god_name
HouseholdGodNamePossessive = lamaism_household_god_name_possessive
HouseholdGodSheHe = CHARACTER_SHEHE_SHE
HouseholdGodHerHis = CHARACTER_HERHIS_HER
HouseholdGodHerHim = CHARACTER_HERHIM_HER
#KnowledgeGod
KnowledgeGodName = lamaism_knowledge_god_name
KnowledgeGodNamePossessive = lamaism_knowledge_god_name_possessive
KnowledgeGodSheHe = CHARACTER_SHEHE_HE
KnowledgeGodHerHis = CHARACTER_HERHIS_HIS
KnowledgeGodHerHim = CHARACTER_HERHIM_HIM
#WarGod
WarGodName = lamaism_war_god_name
WarGodNamePossessive = lamaism_war_god_name_possessive
WarGodSheHe = CHARACTER_SHEHE_HE
WarGodHerHis = CHARACTER_HERHIS_HIS
WarGodHerHim = CHARACTER_HERHIM_HIM
#NightGod
NightGodName = lamaism_night_god_name
NightGodNamePossessive = lamaism_night_god_name_possessive
NightGodSheHe = CHARACTER_SHEHE_HE
NightGodHerHis = CHARACTER_HERHIS_HIS
NightGodHerHim = CHARACTER_HERHIM_HIM
#WaterGod
WaterGodName = lamaism_water_god_name
WaterGodNamePossessive = lamaism_water_god_name_possessive
WaterGodSheHe = CHARACTER_SHEHE_SHE
WaterGodHerHis = CHARACTER_HERHIS_HER
WaterGodHerHim = CHARACTER_HERHIM_HER
GoodGodNames = {
bon_good_god_gyalpo_pehar
}
}
}
rime = { # Nangchos aka Tibetan Buddhism - syncretic of Mahayana, Vajrayana and native Tibetan elements
color = { 230 200 180 }
icon = lamaism_buddhism
holy_site = kusinagara
holy_site = bodh_gaya
holy_site = lhasa
holy_site = sagya
holy_site = purang
doctrine = doctrine_gender_equal
doctrine = doctrine_polygamy
doctrine = doctrine_adultery_men_accepted
doctrine = doctrine_adultery_women_accepted
doctrine = doctrine_deviancy_accepted
doctrine = doctrine_witchcraft_accepted
# Carried over from pre-Buddhist Tibet. Similar theological motivations as cremation, demonstrating the impermanence of life
doctrine = doctrine_funeral_sky_burial
doctrine = tenet_dharmic_pacifism
doctrine = tenet_monasticism
doctrine = tenet_esotericism
localization = {
ReligiousText = lamaism_religious_text
ReligiousText2 = lamaism_religious_text_2
ReligiousText3 = lamaism_religious_text_3
HouseOfWorship = lamaism_house_of_worship
HouseOfWorship2 = lamaism_house_of_worship_2
HouseOfWorship3 = lamaism_house_of_worship_3
HouseOfWorshipPlural = lamaism_house_of_worship_plural
ReligiousHeadName = lamaism_religious_head_title
DevoteeMale = lamaism_devotee_male
DevoteeMalePlural = lamaism_devotee_male_plural
DevoteeFemale = lamaism_devotee_female
DevoteeFemalePlural = lamaism_devotee_female_plural
DevoteeNeuter = lamaism_devotee_neuter
DevoteeNeuterPlural = lamaism_devotee_neuter_plural
PriestMale = lamaism_priest
PriestMalePlural = lamaism_priest_plural
PriestFemale = lamaism_priest
PriestFemalePlural = lamaism_priest_plural
PriestNeuter = lamaism_priest
PriestNeuterPlural = lamaism_priest_plural
AltPriestTermPlural = lamaism_priest_term_plural
BishopMale = lamaism_bishop
BishopMalePlural = lamaism_bishop_plural
BishopFemale = lamaism_bishop
BishopFemalePlural = lamaism_bishop_plural
BishopNeuter = lamaism_bishop
BishopNeuterPlural = lamaism_bishop_plural
WitchGodName = bon_evil_god_shinje
WitchGodNamePossessive = bon_evil_god_shinje_possessive
WitchGodHerHis = CHARACTER_HERHIS_HIS
WitchGodSheHe = CHARACTER_SHEHE_HE
WitchGodHerHim = CHARACTER_HERHIM_HIM
WitchGodMistressMaster = master
WitchGodMotherFather = father
#Creator
CreatorName = lamaism_creator_god_name
CreatorNamePossessive = lamaism_creator_god_name_possessive
CreatorSheHe = CHARACTER_HERHIM_IT
CreatorHerHis = CHARACTER_HERHIS_ITS
CreatorHerHim = CHARACTER_HERHIM_IT
#HealthGod
HealthGodName = lamaism_health_god_name
HealthGodNamePossessive = lamaism_health_god_name_possessive
HealthGodSheHe = CHARACTER_SHEHE_HE
HealthGodHerHis = CHARACTER_HERHIS_HIS
HealthGodHerHim = CHARACTER_HERHIM_HIM
#FertilityGod
FertilityGodName = lamaism_fertility_god_name
FertilityGodNamePossessive = lamaism_fertility_god_name_possessive
FertilityGodSheHe = CHARACTER_SHEHE_HE
FertilityGodHerHis = CHARACTER_HERHIS_HIS
FertilityGodHerHim = CHARACTER_HERHIM_HIM
#WealthGod
WealthGodName = lamaism_wealth_god_name
WealthGodNamePossessive = lamaism_wealth_god_name_possessive
WealthGodSheHe = CHARACTER_SHEHE_HE
WealthGodHerHis = CHARACTER_HERHIS_HIS
WealthGodHerHim = CHARACTER_HERHIM_HIM
#HouseholdGod
HouseholdGodName = lamaism_household_god_name
HouseholdGodNamePossessive = lamaism_household_god_name_possessive
HouseholdGodSheHe = CHARACTER_SHEHE_SHE
HouseholdGodHerHis = CHARACTER_HERHIS_HER
HouseholdGodHerHim = CHARACTER_HERHIM_HER
#KnowledgeGod
KnowledgeGodName = lamaism_knowledge_god_name
KnowledgeGodNamePossessive = lamaism_knowledge_god_name_possessive
KnowledgeGodSheHe = CHARACTER_SHEHE_HE
KnowledgeGodHerHis = CHARACTER_HERHIS_HIS
KnowledgeGodHerHim = CHARACTER_HERHIM_HIM
#WarGod
WarGodName = lamaism_war_god_name
WarGodNamePossessive = lamaism_war_god_name_possessive
WarGodSheHe = CHARACTER_SHEHE_HE
WarGodHerHis = CHARACTER_HERHIS_HIS
WarGodHerHim = CHARACTER_HERHIM_HIM
#NightGod
NightGodName = lamaism_night_god_name
NightGodNamePossessive = lamaism_night_god_name_possessive
NightGodSheHe = CHARACTER_SHEHE_HE
NightGodHerHis = CHARACTER_HERHIS_HIS
NightGodHerHim = CHARACTER_HERHIM_HIM
#WaterGod
WaterGodName = lamaism_water_god_name
WaterGodNamePossessive = lamaism_water_god_name_possessive
WaterGodSheHe = CHARACTER_SHEHE_SHE
WaterGodHerHis = CHARACTER_HERHIS_HER
WaterGodHerHim = CHARACTER_HERHIM_HER
GoodGodNames = {
bon_good_god_gyalpo_pehar
}
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -65,6 +65,9 @@
}
valid = {
is_incapable = no
NOT = {
has_character_modifier = partially_mute_modifier
}
NOT = {
knows_language_of_culture = scope:target.culture
}

View file

@ -665,6 +665,12 @@ court_language_ai_score = {
min = 1
}
#Increase from number of other courts using the Language (1.5 per court).
add = {
value = scope:courts_with_language
multiply = 1.5
}
#Adjust for Court Grandeur.
#World religions primarily cares about other courts that share their faith.
add = {
@ -732,6 +738,15 @@ court_language_ai_score = {
}
#Add nothing
}
else_if = { # Immaterial harmony wants immaterial harmony languages
limit = {
faith = { has_doctrine = special_doctrine_immaterial_harmony }
NOT = {
scope:target.faith = { has_doctrine = special_doctrine_immaterial_harmony }
}
}
#Add nothing
}
else_if = { #Eastern religion matching vs non Eastern religion - CGV Ignored
limit = {
OR = {
@ -750,13 +765,27 @@ court_language_ai_score = {
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
if = { # Only care about checking rulers who speak the language that their court speaks
limit = {
scope:target = {
NOT = {
knows_court_language_of = scope:target
}
}
}
multiply = 0
}
else_if = { # Reduce if the target does not have the court language of their own culture
limit = {
scope:target = {
is_ai = yes
NOT = {
has_court_language_of_culture = scope:target.culture
}
}
}
multiply = 0.5
}
}
#Arbitrary Geographical Bias - if our courts are not in the same region the score is divided by 2.

View file

@ -386,6 +386,10 @@ 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]
teulu_recruitment_cost = @[light_cavalry_recruitment_cost * 1.2]
teulu_low_maint_cost = @[light_cavalry_low_maint_cost * 1.2]
teulu_high_maint_cost = @[light_cavalry_high_maint_cost * 1.2]
###Accolade MaA
accolade_skirmisher_recruitment_cost = @[skirmisher_recruitment_cost * 2]

View file

@ -3329,11 +3329,11 @@ holy_war_defensive_join_value = {
# Root = faith
faith_conversion_fervor_mult = {
value = define:NReligion|MAX_FERVOR
value = define:NFaith|MAX_FERVOR
subtract = fervor
multiply = define:NReligion|FAITH_CREATION_FERVOR_DISCOUNT_PER_MISSING_FERVOR
max = define:NReligion|FAITH_CREATION_FERVOR_DISCOUNT_MAX
divide = define:NReligion|MAX_FERVOR
multiply = define:NFaith|FAITH_CREATION_FERVOR_DISCOUNT_PER_MISSING_FERVOR
max = define:NFaith|FAITH_CREATION_FERVOR_DISCOUNT_MAX
divide = define:NFaith|MAX_FERVOR
}
# Modify (multiply) the doctrine cost when creating a faith.

View file

@ -816,7 +816,7 @@
if = {
limit = {
scope:actor = {
scope:actor ?= {
has_variable = severed_head_vassalization
var:severed_head_vassalization = {
this = scope:impress_check

View file

@ -1047,7 +1047,7 @@ ep3_hire_laamp_mercs_payment_value = {
min = scope:employer.medium_gold_value
if = {
limit = {
scope:laamp_temp.domicile ?= { has_domicile_parameter = camp_improved_mercenary_contract_rewards }
domicile ?= { has_domicile_parameter = camp_improved_mercenary_contract_rewards }
}
multiply = camp_improved_mercenary_contract_rewards_value
}
@ -1062,10 +1062,14 @@ ep3_hire_laamp_mercs_payment_value = {
}
if = {
limit = {
scope:laamp_temp ?= { has_perk = hard_rule_perk }
has_perk = hard_rule_perk
}
multiply = adventurer_hard_rule_contract_rewards_value
}
if = {
limit = { exists = var:aggregate_war_contribution_value }
add = var:aggregate_war_contribution_value
}
max = {
value = scope:employer.yearly_character_income
if = {
@ -1421,514 +1425,7 @@ governor_efficiency = {
}
divide = 100
}
if = {
limit = {
OR = {
AND = {
realm_size >= 65
realm_size < 75
}
liege ?= {
realm_size >= 65
realm_size < 75
}
}
}
add = {
add = {
value = -5
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 75
realm_size < 85
}
liege ?= {
realm_size >= 75
realm_size < 85
}
}
}
add = {
add = {
value = -10
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 85
realm_size < 95
}
liege ?= {
realm_size >= 85
realm_size < 95
}
}
}
add = {
add = {
value = -15
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 95
realm_size < 105
}
liege ?= {
realm_size >= 95
realm_size < 105
}
}
}
add = {
add = {
value = -20
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 105
realm_size < 115
}
liege ?= {
realm_size >= 105
realm_size < 115
}
}
}
add = {
add = {
value = -25
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 115
realm_size < 125
}
liege ?= {
realm_size >= 115
realm_size < 125
}
}
}
add = {
add = {
value = -30
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 125
realm_size < 135
}
liege ?= {
realm_size >= 125
realm_size < 135
}
}
}
add = {
add = {
value = -35
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 135
realm_size < 145
}
liege ?= {
realm_size >= 135
realm_size < 145
}
}
}
add = {
add = {
value = -40
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 145
realm_size < 155
}
liege ?= {
realm_size >= 145
realm_size < 155
}
}
}
add = {
add = {
value = -45
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 155
realm_size < 165
}
liege ?= {
realm_size >= 155
realm_size < 165
}
}
}
add = {
add = {
value = -50
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 175
realm_size < 185
}
liege ?= {
realm_size >= 175
realm_size < 185
}
}
}
add = {
add = {
value = -55
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 185
realm_size < 195
}
liege ?= {
realm_size >= 185
realm_size < 195
}
}
}
add = {
add = {
value = -60
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 195
realm_size < 205
}
liege ?= {
realm_size >= 195
realm_size < 205
}
}
}
add = {
add = {
value = -65
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 205
realm_size < 215
}
liege ?= {
realm_size >= 205
realm_size < 215
}
}
}
add = {
add = {
value = -70
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 215
realm_size < 225
}
liege ?= {
realm_size >= 215
realm_size < 225
}
}
}
add = {
add = {
value = -75
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 225
realm_size < 235
}
liege ?= {
realm_size >= 225
realm_size < 235
}
}
}
add = {
add = {
value = -80
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 235
realm_size < 245
}
liege ?= {
realm_size >= 235
realm_size < 245
}
}
}
add = {
add = {
value = -85
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 245
realm_size < 255
}
liege ?= {
realm_size >= 245
realm_size < 255
}
}
}
add = {
add = {
value = -90
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 255
realm_size < 265
}
liege ?= {
realm_size >= 255
realm_size < 265
}
}
}
add = {
add = {
value = -95
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 265
realm_size < 275
}
liege ?= {
realm_size >= 265
realm_size < 275
}
}
}
add = {
add = {
value = -100
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 275
realm_size < 285
}
liege ?= {
realm_size >= 275
realm_size < 285
}
}
}
add = {
add = {
value = -105
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 285
realm_size < 295
}
liege ?= {
realm_size >= 285
realm_size < 295
}
}
}
add = {
add = {
value = -110
desc = game_concept_realm_size
}
divide = 100
}
}
else_if = {
limit = {
OR = {
AND = {
realm_size >= 300
}
liege ?= {
realm_size >= 300
}
}
}
add = {
add = {
value = -115
desc = game_concept_realm_size
}
divide = 100
}
}
else = {
}
# Rank 4 or 5 education trait
if = {
limit = {
@ -2042,7 +1539,7 @@ governor_efficiency = {
# Aspirations
if = {
limit = { # Service
house ?= { has_house_power_parameter = service_house_governor_efficiency_bonus }
house ?= { has_house_aspiration_parameter = service_house_governor_efficiency_bonus }
}
add = {
add = {
@ -2055,7 +1552,7 @@ governor_efficiency = {
}
if = {
limit = { # Governance
house ?= { has_house_power_parameter = governance_improved_governor_efficiency_bonus }
house ?= { has_house_aspiration_parameter = governance_improved_governor_efficiency_bonus }
}
add = {
add = {
@ -2540,10 +2037,8 @@ governor_efficiency = {
}
if = { # The Forbidden City special building bonus
limit = {
top_liege ?= {
capital_province = {
has_building_or_higher = forbidden_city_01
}
top_liege.capital_province ?= {
has_building_or_higher = forbidden_city_01
}
}
add = {
@ -2900,20 +2395,38 @@ estate_local_theme_cost_reduction_value = -0.25
estate_court_tutor_cost_reduction_low_value = 0.25
estate_court_tutor_cost_reduction_value = 0.5
estate_court_tutor_cost_reduction_high_value = 0.75
estate_increased_tutor_aptitude_value = 20
estate_increased_tutor_aptitude_1_value = 5
estate_increased_tutor_aptitude_2_value = 10
estate_increased_tutor_aptitude_3_value = 15
estate_increased_tutor_aptitude_4_value = 20
estate_increased_tutor_aptitude_5_value = 25
estate_increased_tutor_aptitude_6_value = 30
domicile_increased_wet_nurse_aptitude_1_value = 5
domicile_increased_wet_nurse_aptitude_2_value = 10
domicile_increased_wet_nurse_aptitude_3_value = 15
domicile_increased_wet_nurse_aptitude_4_value = 20
domicile_increased_wet_nurse_aptitude_5_value = 25
domicile_increased_wet_nurse_aptitude_6_value = 30
estate_increase_charioteer_aptitude_value = 20
estate_improved_wine_cellar_1_value = 0.1
estate_improved_wine_cellar_2_value = 0.25
estate_improved_wine_cellar_3_value = 0.5
estate_increase_bodyguard_aptitude_1_value = 5
estate_increase_bodyguard_aptitude_2_value = 15
estate_increase_bodyguard_aptitude_2_value = 10
estate_increase_bodyguard_aptitude_3_value = 15
estate_increase_bodyguard_aptitude_4_value = 20
estate_increase_bodyguard_aptitude_5_value = 25
estate_increase_bodyguard_aptitude_6_value = 30
estate_cheaper_feast_cost_value = 0.2
estate_reduce_council_position_cost_value = 0.2
estate_reduce_commission_artifact_cost_value = 0.5
estate_increase_antiquarian_aptitude_value = 20
estate_increase_physician_aptitude_value = 10
estate_increase_physician_aptitude_2_value = 15
estate_increase_physician_aptitude_3_value = 20
estate_increase_physician_aptitude_1_value = 5
estate_increase_physician_aptitude_2_value = 10
estate_increase_physician_aptitude_3_value = 15
estate_increase_physician_aptitude_4_value = 20
estate_increase_physician_aptitude_5_value = 25
estate_increase_physician_aptitude_6_value = 30
estate_increase_master_of_hunt_aptitude_value = 20
estate_increase_master_of_horse_aptitude_value = 20
estate_cheaper_hunt_cost_value = 0.2
@ -4643,6 +4156,38 @@ appointment_investment_cap = {
limit = { has_domicile_building = reception_hall_05 }
add = 40
}
if = {
limit = { has_domicile_building = east_asian_estate_main_02 }
add = 10
}
else_if = {
limit = { has_domicile_building = east_asian_estate_main_03 }
add = 20
}
else_if = {
limit = { has_domicile_building = east_asian_estate_main_04 }
add = 30
}
else_if = {
limit = { has_domicile_building = east_asian_estate_main_05 }
add = 40
}
if = {
limit = { has_domicile_building = east_asian_estate_reception_hall_02 }
add = 10
}
else_if = {
limit = { has_domicile_building = east_asian_estate_reception_hall_03 }
add = 20
}
else_if = {
limit = { has_domicile_building = east_asian_estate_reception_hall_04 }
add = 30
}
else_if = {
limit = { has_domicile_building = east_asian_estate_reception_hall_05 }
add = 40
}
if = {
limit = { has_domicile_building = japanese_manor_office_01 }
add = 5
@ -4676,15 +4221,15 @@ appointment_investment_cap = {
add = {
value = 0
if = {
limit = { has_house_power_parameter = increased_investment_cap_bonus_3 }
limit = { has_house_aspiration_parameter = increased_investment_cap_bonus_3 }
add = increased_investment_cap_bonus_3_value
}
else_if = {
limit = { has_house_power_parameter = increased_investment_cap_bonus_2 }
limit = { has_house_aspiration_parameter = increased_investment_cap_bonus_2 }
add = increased_investment_cap_bonus_2_value
}
else_if = {
limit = { has_house_power_parameter = increased_investment_cap_bonus_1 }
limit = { has_house_aspiration_parameter = increased_investment_cap_bonus_1 }
add = increased_investment_cap_bonus_1_value
}
desc = political_meddlers_attribute_name_desc
@ -6744,13 +6289,6 @@ laamp_city_construction_year_value = {
add = 100
}
estate_increase_tutor_aptitude_value_1 = 5
estate_increase_tutor_aptitude_value_2 = 10
estate_increase_tutor_aptitude_value_3 = 15
estate_increase_tutor_aptitude_value_4 = 20
estate_increase_tutor_aptitude_value_5 = 25
estate_increase_tutor_aptitude_value_6 = 30
force_step_down_interaction_gold_cost_value = {
value = 0
scope:recipient = {
@ -6831,15 +6369,15 @@ building_construction_dynasty_prestige_gain_value = {
value = 0
scope:character.house ?= {
if = {
limit = { has_house_power_parameter = gain_dynasty_prestige_on_building_construction_3 }
limit = { has_house_aspiration_parameter = gain_dynasty_prestige_on_building_construction_3 }
add = gain_dynasty_prestige_on_building_construction_3_value
}
else_if = {
limit = { has_house_power_parameter = gain_dynasty_prestige_on_building_construction_2 }
limit = { has_house_aspiration_parameter = gain_dynasty_prestige_on_building_construction_2 }
add = gain_dynasty_prestige_on_building_construction_2_value
}
else_if = {
limit = { has_house_power_parameter = gain_dynasty_prestige_on_building_construction_1 }
limit = { has_house_aspiration_parameter = gain_dynasty_prestige_on_building_construction_1 }
add = gain_dynasty_prestige_on_building_construction_1_value
}
}
@ -6855,20 +6393,25 @@ swing_scales_cost_reduction_3_value = -0.2
swing_scales_cost_multipler_value = {
value = 1
house ?= {
if = {
limit = { has_house_power_parameter = respected_despots }
if = {
limit = {
exists = house
}
house = {
if = {
limit = { has_house_power_parameter = swing_scales_cost_reduction_3 }
add = swing_scales_cost_reduction_3_value
}
else_if = {
limit = { has_house_power_parameter = swing_scales_cost_reduction_2 }
add = swing_scales_cost_reduction_2_value
}
else_if = {
limit = { has_house_power_parameter = swing_scales_cost_reduction_1 }
add = swing_scales_cost_reduction_1_value
limit = { has_house_aspiration_parameter = respected_despots }
if = {
limit = { has_house_aspiration_parameter = swing_scales_cost_reduction_3 }
add = swing_scales_cost_reduction_3_value
}
else_if = {
limit = { has_house_aspiration_parameter = swing_scales_cost_reduction_2 }
add = swing_scales_cost_reduction_2_value
}
else_if = {
limit = { has_house_aspiration_parameter = swing_scales_cost_reduction_1 }
add = swing_scales_cost_reduction_1_value
}
}
}
}

View file

@ -1,5 +1,6 @@
bleeding_diplomat_character = {
age = { 18 60 }
dynasty = none
gender = male
random_traits_list = {
count = 2
@ -26,6 +27,7 @@
preaching_tour_priest_character = {
age = { 50 80 }
dynasty = none
gender_female_chance = root_faith_clergy_gender_female_chance
random_traits_list = {
count = 2
@ -55,6 +57,7 @@ preaching_tour_priest_character = {
bernard_of_clairvaux_character = {
name = Bernard_of_Clairvaux
age = { 20 63 }
dynasty = none
gender = male
trait = saint
trait = ambitious
@ -66,6 +69,7 @@ bernard_of_clairvaux_character = {
head_chasing_monk_character = {
age = { 20 30 }
dynasty = none
gender_female_chance = root_faith_clergy_gender_female_chance
faith = root.faith
culture = root.culture
@ -80,6 +84,7 @@ head_chasing_monk_character = {
fake_artifact_peddler_character = {
age = { 20 80 }
dynasty = none
trait = greedy
trait = education_intrigue_2
random_traits = yes
@ -87,6 +92,7 @@ fake_artifact_peddler_character = {
adoring_fan_character = {
age = { 20 80 }
dynasty = none
gender_female_chance = root_faith_clergy_gender_female_chance
trait = trusting
trait = education_martial_3
@ -95,6 +101,7 @@ adoring_fan_character = {
trepanner_character = {
age = { 20 40 }
dynasty = none
gender_female_chance = root_faith_clergy_gender_female_chance
trait = lifestyle_physician

View file

@ -1,6 +1,7 @@

scribe_travel_option_character = {
age = { 25 30 }
dynasty = none
gender_female_chance = 50
trait = devoted

View file

@ -1,5 +1,6 @@
adventurer_pregnant_lover_character = {
age = { 18 40 }
dynasty = none
gender = female
random_traits_list = {
count = 2
@ -24,6 +25,7 @@
adventurer_female_lover_character = {
age = { 18 40 }
dynasty = none
gender = female
random_traits = yes
trait = beauty_good_3
@ -31,6 +33,7 @@ adventurer_female_lover_character = {
adventurer_male_lover_character = {
age = { 18 40 }
dynasty = none
gender = male
random_traits = yes
trait = beauty_good_3

View file

@ -1,6 +1,7 @@

demanding_poet_character = {
age = { 20 30 }
dynasty = none
faith = root.faith
culture = root.culture
trait = education_learning_2
@ -19,6 +20,7 @@ demanding_poet_character = {
demanding_poet_lover_character = {
age = { 20 30 }
dynasty = none
faith = root.faith
culture = root.culture
trait = beauty_good_2
@ -37,6 +39,7 @@ demanding_poet_lover_character = {
demanding_poet_diplomacy_character = {
age = { 20 30 }
dynasty = none
faith = root.faith
culture = root.culture
trait = beauty_good_2
@ -68,6 +71,7 @@ demanding_poet_diplomacy_character = {
demanding_poet_stewardship_character = {
age = { 20 30 }
dynasty = none
faith = root.faith
culture = root.culture
trait = beauty_good_2
@ -87,6 +91,7 @@ demanding_poet_stewardship_character = {
demanding_poet_martial_character = {
age = { 20 30 }
dynasty = none
faith = root.faith
culture = root.culture
trait = beauty_good_2
@ -118,6 +123,7 @@ demanding_poet_martial_character = {
demanding_poet_intrigue_character = {
age = { 20 30 }
dynasty = none
faith = root.faith
culture = root.culture
trait = beauty_good_2
@ -136,6 +142,7 @@ demanding_poet_intrigue_character = {
}
demanding_poet_learning_character = {
age = { 20 30 }
dynasty = none
faith = root.faith
culture = root.culture
trait = beauty_good_2
@ -155,6 +162,7 @@ demanding_poet_learning_character = {
suspicious_genealogist_character = {
age = { 70 80 }
dynasty = none
faith = root.faith
culture = root.culture
trait = education_intrigue_2
@ -169,6 +177,7 @@ suspicious_genealogist_character = {
alluring_suitor_character = {
age = { 18 35 }
dynasty = none
random_traits_list = {
count = 1
beauty_good_2 = {}

View file

@ -1,5 +1,6 @@
knight_errant_character = {
age = { 18 32 }
dynasty = none
random_traits = no
culture = root.location.culture
faith = root.location.faith
@ -43,6 +44,7 @@
knight = {
age = { 18 32 }
dynasty = none
random_traits = yes
culture = root.culture
faith = root.faith
@ -86,6 +88,7 @@ knight = {
wandering_knight_character = {
age = { 18 35 }
dynasty = none
random_traits_list = {
count = 1
education_martial_2 = {}

View file

@ -1,5 +1,6 @@
default_mystic_character = {
age = { 30 80 }
dynasty = none
trait = lifestyle_mystic
random_traits = yes
faith = root.faith
@ -37,6 +38,7 @@ local_saint_template = {
age = { 30 80 }
faith = root.faith
culture = root.culture
dynasty = none
gender_female_chance = {
if = {
limit = { root.faith = { has_doctrine = doctrine_gender_male_dominated } }
@ -243,6 +245,7 @@ local_saint_template = {
mendicant_mystic_character = {
age = { 30 80 }
dynasty = none
# Education
random_traits_list = {
count = 1
@ -295,6 +298,7 @@ mendicant_mystic_character = {
wise_woman_character = {
age = { 30 80 }
dynasty = none
#Education
random_traits_list = {
count = 1
@ -425,6 +429,7 @@ stylite_saint_character = {
ancient_forest_traveler_character = {
age = { 60 90 }
dynasty = none
# Education
random_traits_list = {
count = 1

View file

@ -1,6 +1,7 @@

tax_collector_character = {
age = { 30 65 }
dynasty = none
gender_female_chance = root_faith_dominant_gender_female_chance
random_traits = yes
culture = scope:county.culture
@ -173,6 +174,7 @@ administrator_character = {
estate_owner_character = {
age = { 20 40 }
dynasty = none
trait = deceitful
random_traits_list = {
count = 1
@ -203,6 +205,7 @@ estate_owner_character = {
herald_character = {
age = { 30 50 }
dynasty = none
faith = root.faith
culture = root.culture
gender_female_chance = root_faith_dominant_gender_female_chance

View file

@ -1,5 +1,6 @@
peasant_leader_stewardship_character = {
age = { 20 40 }
dynasty = none
random_traits = yes
culture = scope:project_county.culture
faith = scope:project_county.faith
@ -25,6 +26,7 @@
peasant_leader_martial_character = {
age = { 20 40 }
dynasty = none
random_traits = yes
culture = scope:project_county.culture
faith = scope:project_county.faith

View file

@ -1,5 +1,6 @@
physician_low_character_template = {
age = { 18 50 }
dynasty = none
faith = root.faith
culture = root.culture
gender_female_chance = 50
@ -32,6 +33,7 @@
physician_high_character_template = {
age = { 24 50 }
dynasty = none
faith = root.faith
culture = root.culture
gender_female_chance = 50
@ -65,6 +67,7 @@ physician_high_character_template = {
physician_excellent_character_template = {
age = { 30 60 }
dynasty = none
faith = root.faith
culture = root.culture
gender_female_chance = 50

View file

@ -1186,7 +1186,6 @@ pool_repopulate_local_flavor = {
lifestyle_hunter = {}
}
dynasty = none
after_creation = {
random_list = {
@ -1534,7 +1533,7 @@ pool_repopulate_local_flavor = {
450 = {
trigger = {
NOT = {
trait_is_criminal_in_faith_trigger = { TRAIT = witch FAITH = this.faith GENDER_CHARACTER = this }
trait_is_criminal_in_faith_trigger = { TRAIT = trait:witch FAITH = this.faith GENDER_CHARACTER = this }
}
}
add_trait = witch

View file

@ -1,5 +1,6 @@
priest_character_template = {
age = { 30 60 }
dynasty = none
random_traits_list = {
count = 1
education_learning_2 = {}
@ -25,6 +26,7 @@
simple_priest_character_template = {
age = { 30 60 }
dynasty = none
random_traits_list = {
count = 1
education_learning_2 = {}
@ -46,6 +48,7 @@ simple_priest_character_template = {
virtuous_priest_character_template = {
age = { 30 60 }
dynasty = none
random_traits_list = {
count = 1
education_learning_3 = {}
@ -1088,6 +1091,7 @@ location_pilgrim_template = {
tournament_priest_character_template = {
age = { 30 60 }
dynasty = none
random_traits_list = {
count = 1
education_learning_2 = {}

View file

@ -1,6 +1,7 @@
#Clan leader
saharan_clan_leader_character = {
age = { 30 50 }
dynasty = none
#Education
random_traits_list = {
count = 1

View file

@ -2,6 +2,7 @@
# Root scholars
scholar_character = {
age = { 35 50 }
dynasty = none
random_traits_list = {
count = 1
education_learning_3 = {}
@ -29,6 +30,7 @@ scholar_character = {
writer_character = {
age = { 25 60 }
dynasty = none
random_traits_list = {
count = 1
education_learning_2 = {}
@ -59,6 +61,7 @@ writer_character = {
# Capital county-based scholars
capital_scholar_character = {
age = { 35 50 }
dynasty = none
random_traits_list = {
count = 1
education_learning_2 = {}
@ -77,6 +80,7 @@ capital_scholar_character = {
capital_writer_character = {
age = { 25 60 }
dynasty = none
random_traits_list = {
count = 1
education_learning_2 = {}

View file

@ -1,5 +1,6 @@
frankish_knight_character = {
age = { 20 40 }
dynasty = none
random_traits = yes
culture = culture:frankish
faith = faith:catholic

View file

@ -1,6 +1,7 @@

soldier_friend_character = {
age = { 18 35 }
dynasty = none
random_traits_list = {
count = 1
education_martial_2 = {}
@ -59,6 +60,7 @@ soldier_friend_character = {
new_commander_character = {
age = { 18 40 }
dynasty = none
random_traits_list = {
count = 1
education_martial_2 = {}
@ -129,6 +131,7 @@ new_commander_character = {
new_warrior_character = {
age = { 18 40 }
dynasty = none
random_traits_list = {
count = 1
education_martial_2 = {}
@ -245,6 +248,7 @@ new_warrior_character = {
new_siege_engineer = {
age = { 30 45 }
dynasty = none
random_traits_list = {
count = 1
education_martial_4 = {}
@ -319,6 +323,7 @@ new_siege_engineer = {
new_berserker_character = {
age = { 18 40 }
dynasty = none
random_traits_list = {
count = 1
education_martial_1 = {}
@ -396,6 +401,7 @@ new_berserker_character = {
mercenary = {
age = { 25 42 }
dynasty = none
random_traits_list = {
count = 1
education_martial_3 = {}
@ -446,6 +452,7 @@ mercenary = {
great_mercenary = {
age = { 25 42 }
dynasty = none
random_traits_list = {
count = 1
@ -504,6 +511,7 @@ great_mercenary = {
retired_mercenary = {
age = { 40 60 }
dynasty = none
random_traits_list = {
count = 1
education_martial_3 = {}
@ -556,6 +564,7 @@ retired_mercenary = {
new_raider_character = {
age = { 40 60 }
dynasty = none
random_traits_list = {
count = 1
education_martial_2 = {}
@ -592,6 +601,7 @@ new_raider_character = {
honorable_soldier_character = {
age = { 30 50 }
dynasty = none
random_traits_list = {
count = 1
education_martial_3 = {}
@ -641,6 +651,7 @@ honorable_soldier_character = {
old_knight_teacher = {
age = { 55 60 }
dynasty = none
random_traits_list = {
count = 1
education_martial_3 = {}
@ -687,6 +698,7 @@ old_knight_teacher = {
wrestler_character = {
age = { 25 42 }
dynasty = none
trait = education_martial_1

View file

@ -1,5 +1,6 @@
winter_commander_character = {
age = { 18 40 }
dynasty = none
random_traits_list = {
count = 1
education_martial_2 = {}
@ -56,6 +57,7 @@
forest_commander_character = {
age = { 18 40 }
dynasty = none
random_traits_list = {
count = 1
education_martial_2 = {}
@ -107,6 +109,7 @@ forest_commander_character = {
mountain_commander_character = {
age = { 18 40 }
dynasty = none
random_traits_list = {
count = 1
education_martial_2 = {}
@ -149,6 +152,7 @@ mountain_commander_character = {
desert_commander_character = {
age = { 18 40 }
dynasty = none
random_traits_list = {
count = 1
education_martial_2 = {}
@ -192,6 +196,7 @@ desert_commander_character = {
hill_commander_character = {
age = { 18 40 }
dynasty = none
random_traits_list = {
count = 1
education_martial_2 = {}
@ -231,6 +236,7 @@ hill_commander_character = {
jungle_commander_character = {
age = { 18 40 }
dynasty = none
random_traits_list = {
count = 1
education_martial_2 = {}
@ -282,6 +288,7 @@ jungle_commander_character = {
open_commander_character = {
age = { 18 40 }
dynasty = none
random_traits_list = {
count = 1
education_martial_2 = {}
@ -331,6 +338,7 @@ open_commander_character = {
#Slightly different to the above; used in the Hereward story cycle
wetlands_commander_character = {
age = { 18 40 }
dynasty = none
culture = root.culture
faith = root.faith
gender_female_chance = root_soldier_female_chance

View file

@ -1,6 +1,7 @@

bp1_yearly_2021_martial_person_template = {
age = { 18 35 }
dynasty = none
random_traits_list = {
count = 1
education_martial_3 = {}
@ -56,6 +57,7 @@ bp1_yearly_2021_martial_person_template = {
bp1_yearly_2021_learning_witch_template = {
age = { 18 35 }
dynasty = none
random_traits_list = {
count = 1
lifestyle_mystic = {}
@ -114,6 +116,7 @@ bp1_yearly_2021_learning_witch_template = {
bp1_yearly_2021_learning_person_template = {
age = { 18 35 }
dynasty = none
random_traits_list = {
count = 1
lifestyle_mystic = {}
@ -176,6 +179,7 @@ bp1_yearly_2021_learning_person_template = {
bp1_yearly_2021_stewardship_person_template = {
age = { 18 35 }
dynasty = none
random_traits_list = {
count = 1
education_stewardship_3 = {}
@ -212,6 +216,7 @@ bp1_yearly_2021_stewardship_person_template = {
bp1_yearly_2021_diplomacy_person_template = {
age = { 18 35 }
dynasty = none
random_traits_list = {
count = 1
education_diplomacy_3 = {}
@ -254,6 +259,7 @@ bp1_yearly_2021_diplomacy_person_template = {
bp1_yearly_2021_intrigue_person_template = {
age = { 18 35 }
dynasty = none
random_traits_list = {
count = 1
education_intrigue_3 = {}

View file

@ -1,5 +1,6 @@
frontier_hero_template = {
age = { 18 30 }
dynasty = none
trait = education_martial_4
trait = brave
random_traits_list = {
@ -225,7 +226,6 @@ inspired_template = {
local_artisan_template = {
age = { 20 40 }
dynasty = none
faith = root.faith
culture = root.culture
dynasty = none
@ -995,6 +995,7 @@ local_dispute_template = {
symposium_template = {
# General
age = { 55 65 }
dynasty = none
faith = scope:symposium_ruler.faith
culture = scope:symposium_ruler.culture
gender_female_chance = root_faith_dominant_gender_adjusted_female_chance

View file

@ -250,6 +250,7 @@ fp1_ms_vagrant_character = {
fp1_western_warrior_character = {
#General
age = { 30 60 }
dynasty = none
faith = scope:scandinavian_county.faith
culture = scope:scandinavian_county.culture
#Education
@ -309,6 +310,7 @@ fp1_western_warrior_character = {
fp1_eastern_warrior_character = {
#General
age = { 30 60 }
dynasty = none
faith = scope:scandinavian_county.faith
culture = scope:scandinavian_county.culture
#Education
@ -371,6 +373,7 @@ fp1_eastern_warrior_character = {
fp1_jomsviking_bigwig = {
#General
age = { 30 60 }
dynasty = none
faith = faith:norse_pagan
culture = culture:norse
#Education
@ -441,6 +444,7 @@ fp1_jomsviking_bigwig = {
fp1_jomsviking_retainer_martial = {
#General
age = { 25 45 }
dynasty = none
faith = faith:norse_pagan
culture = root.culture
#Education
@ -499,6 +503,7 @@ fp1_jomsviking_retainer_martial = {
fp1_jomsviking_retainer_prowess = {
#General
age = { 25 45 }
dynasty = none
faith = faith:norse_pagan
culture = root.culture
#Education
@ -712,6 +717,7 @@ fp1_truthful_explorer_character = {
fp1_islamic_explorer_character = {
#General
age = { 30 60 }
dynasty = none
faith = scope:sponsoring_liege.faith
culture = scope:sponsoring_liege.culture
dynasty = generate
@ -1216,6 +1222,7 @@ fp1_trade_partner_warrior = {
# Local Warlords
old_country_local_warlord_template = {
age = { 20 40 }
dynasty = none
random_traits = yes
culture = scope:current_county.title_province.culture
faith = scope:current_county.title_province.faith

View file

@ -5,6 +5,7 @@
tgp_japan_yearly_events_pearl_diver_template = {
age = { 18 70 }
dynasty = none
#Force the character to always be brave and calm
trait = brave
trait = calm
@ -54,6 +55,7 @@ tgp_japan_yearly_events_pearl_diver_template = {
tgp_japan_yearly_events_tengu_warrior_template = {
age = { 35 70 }
dynasty = none
gender_female_chance = root_soldier_female_chance
trait = reclusive
trait = lifestyle_blademaster

View file

@ -7,6 +7,7 @@
# Super Scholar
celebration_scholar_character = {
age = { 35 50 }
dynasty = none
random_traits_list = {
count = 1
education_learning_2 = {}
@ -52,6 +53,7 @@ celebration_scholar_character = {
celebration_martial_character = {
age = { 18 30 }
dynasty = none
trait = brave
random_traits_list = {
count = 1
@ -104,6 +106,7 @@ celebration_martial_character = {
celebration_diplomat_character = {
age = { 18 30 }
dynasty = none
trait = brave
random_traits_list = {
count = 1
@ -254,6 +257,7 @@ celebration_hunter_character = {
celebration_priest_character = {
age = { 30 60 }
dynasty = none
random_traits_list = {
count = 1
education_learning_2 = {}
@ -482,6 +486,7 @@ celebration_artisan_character = {
celebration_chessmaster_character = {
age = { 35 50 }
dynasty = none
random_traits_list = {
count = { 0 1 }
@ -527,6 +532,7 @@ celebration_chessmaster_character = {
spanish_jewish_merchant_character = {
age = { 25 50 }
dynasty = none
random_traits_list = {
count = 1
@ -562,6 +568,7 @@ spanish_jewish_merchant_character = {
spanish_conversos_character = {
age = { 25 50 }
dynasty = none
random_traits = yes
@ -573,6 +580,7 @@ spanish_conversos_character = {
toledan_night_character = {
age = { 25 50 }
dynasty = none
trait = sadistic
random_traits_list = {
count = 1

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