farmer republic

This commit is contained in:
Fishedotjpg 2026-03-09 03:51:24 +00:00
parent 33a8699bbe
commit e460144cdc
57 changed files with 17327 additions and 156 deletions

View file

@ -46,7 +46,7 @@ building_requirement_nomad_holding_in_county = {
building_requirement_herder = {
scope:holder ?= {
government_has_flag = government_is_herder
government_has_flag = government_is_true_herder
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,849 @@
###TRIGGER LIST###
#GUEST/COURTIER LEAVING/ARRIVING TRIGGERS:
#any_child_not_in_traveling_family_trigger
#any_consort_not_in_traveling_family_trigger
#courtier_allowed_to_leave_trigger
#guest_allowed_to_leave_trigger
#guest_allowed_to_arrive_trigger
#GUEST/COURTIER USEFULNESS:
#courtier_or_guest_claim_trigger
#useful_courtier_or_guest_claim_trigger
#has_useful_potential_spouse_claim_trigger
#guest_knight_candidate_trigger
#guest_commander_candidate_trigger
#guest_vassal_candidate_trigger
#guest_physician_candidate_trigger
#guest_male_female_balance_trigger
#child_available_for_guest_marriage_trigger
#guest_marriage_candidate_trigger
#POOL CHARACTER TRIGGERS:
#pool_character_is_pruneable_trigger
####GUEST/COURTIER LEAVING/ARRIVING TRIGGERS###
same_location_and_court_status_as = { # Same location and both are in court / are guests / are pool characters
exists = location
exists = $CHARACTER$.location
location = $CHARACTER$.location
OR = {
is_in_the_same_court_as = $CHARACTER$
trigger_if = {
limit = { $CHARACTER$ = { is_pool_guest = yes } }
is_pool_guest = yes
}
trigger_if = {
limit = { $CHARACTER$ = { is_pool_character = yes } }
is_pool_character = yes
}
}
}
any_child_not_in_traveling_family_trigger = {
save_temporary_scope_as = traveler
exists = location
any_child = {
is_adult = no
same_location_and_court_status_as = { CHARACTER = scope:traveler }
save_temporary_scope_as = checking_child
scope:traveler = {
NOT = {
any_traveling_family_member = { this = scope:checking_child }
}
}
}
}
any_consort_not_in_traveling_family_trigger = {
save_temporary_scope_as = traveler
exists = location
any_spouse = {
exists = location
same_location_and_court_status_as = { CHARACTER = scope:traveler }
save_temporary_scope_as = checking_consort
scope:traveler = {
NOT = {
any_traveling_family_member = { this = scope:checking_consort }
}
}
}
}
courtier_allowed_to_leave_trigger = {
save_temporary_scope_as = leaving_courtier
NOR = {
# Not blocked by script
has_character_flag = blocked_from_leaving
is_councillor_of = scope:liege
is_consort_of = scope:liege
scope:liege = {
player_heir_position = {
target = scope:leaving_courtier
value <= 2 #Not 1st, 2nd or 3rd player heir (0,1,2)
}
}
has_any_court_position = yes
has_relation_lover = scope:liege
is_knight_of = scope:liege
is_tax_collector_of = scope:liege
any_relation = {
type = ward
OR = {
this = scope:liege
AND = {
is_courtier_of = scope:liege
OR = {
NOT = { any_close_family_member = { this = scope:leaving_courtier } }
any_close_family_member = { this = scope:liege }
}
}
}
}
any_relation = {
type = guardian
OR = {
this = scope:liege
AND = {
is_courtier_of = scope:liege
OR = {
NOT = { any_close_family_member = { this = scope:leaving_courtier } }
any_close_family_member = { this = scope:liege }
}
}
}
}
any_relation = {
type = mentor
OR = {
this = scope:liege
AND = {
is_courtier_of = scope:liege
OR = {
NOT = { any_close_family_member = { this = scope:leaving_courtier } }
any_close_family_member = { this = scope:liege }
}
}
}
}
any_relation = {
type = student
OR = {
this = scope:liege
AND = {
is_courtier_of = scope:liege
OR = {
NOT = { any_close_family_member = { this = scope:leaving_courtier } }
any_close_family_member = { this = scope:liege }
}
}
}
}
#Keep daughters/sons for marriages
AND = {
OR = {
is_child_of = scope:liege
is_grandchild_of = scope:liege
is_great_grandchild_of = scope:liege
}
NOT = { has_trait = bastard }
trigger_if = { #Daughters
limit = { is_female = yes }
scope:liege = {
OR = {
has_realm_law = male_only_law
has_realm_law = male_preference_law
}
}
}
trigger_else = { #Sons
scope:liege = {
OR = {
has_realm_law = female_only_law
has_realm_law = female_preference_law
}
}
}
}
#No children of liege can leave court while children
AND = {
OR = {
is_child_of = scope:liege
is_grandchild_of = scope:liege
is_great_grandchild_of = scope:liege
}
is_adult = no
}
#Claimant won't leave while claim is pressed...
scope:liege = { pressing_claim_of_character_trigger = { CHARACTER = scope:leaving_courtier } }
#Would be leaving without a child or consort
any_child_not_in_traveling_family_trigger = yes
any_consort_not_in_traveling_family_trigger = yes
#...Or while they have a promise for a claim getting pressed
has_character_flag = courtier_staying_for_claim
#...Or if they're involved in an ongoing event
has_variable = stewardship_duty_1062_employer
#...Or if someone is trying to elope with them
any_targeting_scheme = {
scheme_type = elope
}
#Non-dominant spouses don't wander off
AND = {
is_married = yes
any_spouse = {
OR = {
liege ?= scope:leaving_courtier.liege
AND = {
exists = host
exists = scope:leaving_courtier.host
liege = scope:leaving_courtier.host
}
is_in_the_same_court_as = scope:leaving_courtier
}
}
trigger_if = {
limit = { is_female = yes }
scope:liege = {
OR = {
has_realm_law = male_only_law
has_realm_law = male_preference_law
}
}
}
trigger_else = {
scope:liege = {
OR = {
has_realm_law = female_only_law
has_realm_law = female_preference_law
}
}
}
}
# Diarchs don't leave their court.
is_diarch = yes
is_designated_diarch = yes
#Shieldmaidens stay till dismissed.
has_trait = shieldmaiden
# Children taught a lesson won't leave
has_character_modifier = mellowed_spirit
# Courtiers with sponsored inspirations won't leave on their own.
inspiration ?= { exists = inspiration_sponsor }
scope:liege = { government_has_flag = government_is_landless_adventurer }
is_obedient_to = scope:liege
AND = {
scope:liege.primary_title = title:h_china
OR = {
is_child_of = scope:liege
is_grandchild_of = scope:liege
is_great_grandchild_of = scope:liege
}
}
}
}
guest_allowed_to_leave_trigger = {
NOR = {
# Not blocked by script
has_character_flag = blocked_from_leaving
#Agent in a local scheme
scope:host = {
any_courtier = {
any_targeting_scheme = {
any_scheme_agent_character = {
this = scope:guest
}
}
}
}
scope:host = {
any_targeting_scheme = {
any_scheme_agent_character = {
this = scope:guest
}
}
}
any_child = { # No child can be a known child of the host
is_adult = no
any_parent = { this = scope:host }
}
# Diarchs don't leave their court.
is_diarch = yes
is_designated_diarch = yes
#Would be leaving without spouse or underage child
any_child_not_in_traveling_family_trigger = yes
any_consort_not_in_traveling_family_trigger = yes
#Is waiting for inspiration funding
exists = inspiration
}
}
guest_allowed_to_arrive_trigger = {
trigger_if = {
limit = { exists = var:last_visited_ruler }
NOT = { var:last_visited_ruler = $HOST$ }
}
trigger_if = { # Make sure that they're not trying to go back to where they are right now
limit = { exists = host }
NOT = { host = $HOST$ }
}
NOT = { has_trait_with_flag = epidemic_disease }
NOT = { has_relation_rival = $HOST$ }
#Compatible faiths
faith = {
save_temporary_scope_as = potential_guest_faith
faith_hostility_level = {
target = $HOST$.faith
value < faith_evil_level
}
}
$HOST$.faith = {
faith_hostility_level = {
target = scope:potential_guest_faith
value < faith_evil_level
}
}
#Isn't too good for host
NAND = {
OR = {
any_claim = { tier = tier_empire }
any_close_family_member = { highest_held_title_tier = tier_empire }
}
$HOST$ = { highest_held_title_tier <= tier_county }
}
} #Note: this trigger used to contain opinion triggers but then some awful rulers could never get guests because everyone hates them
#This is a localized trigger for checking that a character do not have a spouse that's employed or has some other circumstance blocking them from being recruited to a court
can_recruit_character_to_court_trigger = {
$RECRUITER$ = { save_temporary_scope_as = recruiter }
$RECRUITEE$ = { save_temporary_scope_as = recruitee }
scope:recruitee = {
bp2_valid_for_standard_interactions_trigger = yes
trigger_if = {
limit = { is_adult = no }
custom_description = {
text = is_not_wandering_child
subject = scope:recruitee
OR = {
is_close_or_extended_family_of = scope:recruiter
scope:recruiter = {
any_spouse = {
any_child = { this = scope:recruitee }
}
}
trigger_if = {
limit = {
scope:recruiter.culture = { has_cultural_parameter = wider_adoption }
scope:recruitee.culture = { has_cultural_parameter = wider_adoption }
}
NOT = {
any_parent = {
is_alive = yes
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = liege }
}
}
}
}
}
}
NOR = {
is_imprisoned = yes
is_theocratic_lessee = yes
is_diarch = yes
trigger_if = {
limit = {
exists = host
host = { is_ai = no }
NOT = { is_player_heir_of = scope:recruiter }
}
is_player_heir_of = host
}
trigger_if = {
limit = {
exists = host
host = { is_ai = yes }
NOT = { is_player_heir_of = scope:recruiter }
}
is_primary_heir_of = host
}
trigger_if = {
limit = { exists = host }
is_consort_of = host
}
trigger_if = {
limit = { exists = host }
host = {
pressing_claim_of_character_trigger = { CHARACTER = scope:recruitee }
}
}
trigger_if = {
limit = { exists = host }
#Are they employed?
is_councillor_of = scope:recruitee.host
is_knight_of = scope:recruitee.host
any_relation = {
type = ward
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
}
}
any_relation = {
type = guardian
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
}
}
any_relation = {
type = mentor
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
}
}
any_relation = {
type = student
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
}
}
any_court_position_employer = { this = scope:recruitee.host }
}
trigger_if = {
limit = {
scope:recruiter = { has_government = landless_adventurer_government }
}
custom_tooltip = {
text = can_recruit_character_to_court_trigger.tt.laamps_invitation_restrictions
NOR = {
is_player_heir_of = scope:recruiter
has_relation_soulmate = scope:recruiter
has_relation_best_friend = scope:recruiter
is_consort_of = scope:recruiter
AND = {
is_pool_character = yes
OR = {
has_relation_friend = scope:recruiter
has_relation_lover = scope:recruiter
is_close_family_of = scope:recruiter
}
}
}
}
}
#Do they have the "wrong" marriage type and the spouse is employed?
custom_description = {
text = is_married_matrilineally_and_spouse_is_dominant_partner
subject = scope:recruitee
any_spouse = {
is_female = yes
matrilinear_marriage = yes
host ?= scope:recruitee.host
save_temporary_scope_as = spouse
OR = { #Is employed in some way
is_councillor_of = scope:recruitee.host
is_knight_of = scope:recruitee.host
any_relation = {
type = ward
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
}
}
any_relation = {
type = guardian
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
}
}
any_relation = {
type = mentor
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
}
}
any_relation = {
type = student
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
}
}
scope:spouse = {
any_court_position_employer = { this = scope:recruitee.host }
}
}
}
}
custom_description = {
text = is_married_patrilineally_and_spouse_is_dominant_partner
subject = scope:recruitee
any_spouse = {
is_male = yes
patrilinear_marriage = yes
host ?= scope:recruitee.host
save_temporary_scope_as = spouse
OR = { #Is employed in some way
is_councillor_of = scope:recruitee.host
is_knight_of = scope:recruitee.host
any_relation = {
type = ward
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
}
}
any_relation = {
type = guardian
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
}
}
any_relation = {
type = mentor
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
}
}
any_relation = {
type = student
OR = {
this = scope:recruitee.host
is_close_family_of = scope:recruitee.host
}
}
scope:spouse = {
any_court_position_employer = { this = scope:recruitee.host }
}
}
}
}
custom_description = {
text = "is_escaped_prisoner"
subject = scope:recruitee
OR = {
has_opinion_modifier = {
modifier = attempted_imprisonment_opinion
target = scope:recruiter
}
has_opinion_modifier = {
modifier = treasonous_imprison_refusal
target = scope:recruiter
}
AND = {
exists = var:escaped_imprisonment_from
var:escaped_imprisonment_from = scope:recruiter
}
}
}
}
}
}
###GUEST/COURTIER USEFULNESS TRIGGERS###
courtier_or_guest_claim_trigger = {
exists = holder
NOT = {
holder = {
OR = {
this = $RULER$
target_is_liege_or_above = $RULER$
}
}
}
}
useful_courtier_or_guest_claim_trigger = {
courtier_or_guest_claim_trigger = { RULER = $RULER$ }
tier < $RULER$.highest_held_title_tier
$RULER$ = { is_landed = yes }
OR = { #For distance check
exists = title_province
exists = holder.capital_province
}
#The higher tier the ruler has, the longer distance is acceptable
#We prefer to measure against the title's province, but if there is none, check its holder
trigger_if = {
limit = { $RULER$ = { highest_held_title_tier = tier_empire } }
trigger_if = {
limit = { exists = title_province }
title_province = { squared_distance = { target = $RULER$.capital_province value <= squared_distance_almost_massive } }
}
trigger_else = {
holder.capital_province = { squared_distance = { target = $RULER$.capital_province value <= squared_distance_almost_massive } }
}
}
trigger_else_if = {
limit = { $RULER$ = { highest_held_title_tier = tier_kingdom } }
trigger_if = {
limit = { exists = title_province }
title_province = { squared_distance = { target = $RULER$.capital_province value <= squared_distance_huge } }
}
trigger_else = {
holder.capital_province = { squared_distance = { target = $RULER$.capital_province value <= squared_distance_huge } }
}
}
trigger_else_if = {
limit = { $RULER$ = { highest_held_title_tier = tier_duchy } }
trigger_if = {
limit = { exists = title_province }
title_province = { squared_distance = { target = $RULER$.capital_province value <= squared_distance_large } }
}
trigger_else = {
holder.capital_province = { squared_distance = { target = $RULER$.capital_province value <= squared_distance_large } }
}
}
trigger_else = {
trigger_if = {
limit = { exists = title_province }
title_province = { squared_distance = { target = $RULER$.capital_province value <= squared_distance_medium } }
}
trigger_else = {
holder.capital_province = { squared_distance = { target = $RULER$.capital_province value <= squared_distance_medium } }
}
}
}
neighboring_useful_courtier_or_guest_claim_trigger = {
courtier_or_guest_claim_trigger = { RULER = $RULER$ }
tier < $RULER$.highest_held_title_tier
exists = $RULER$.capital_province
holder = {
any_sub_realm_county = {
is_neighbor_to_realm = $RULER$
}
}
}
has_useful_potential_spouse_claim_trigger = {
any_claim = {
pressed = yes
exists = holder
NOT = {
holder = {
OR = {
this = $RULER$
target_is_liege_or_above = $RULER$
}
}
}
}
}
guest_knight_candidate_trigger = {
can_be_knight_trigger = { ARMY_OWNER = $HOST$ }
age < 60
age >= 25
prowess > medium_skill_rating
}
guest_commander_candidate_trigger = {
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = $HOST$ }
age < 60
age >= 25
martial > medium_skill_rating
}
guest_vassal_candidate_good_traits_trigger = {
OR = { #Gives +opinion of liege
has_trait = content
has_trait = trusting
has_trait = humble
}
}
guest_vassal_candidate_bad_traits_trigger = {
OR = { #Gives -opinion of liege
has_trait = ambitious
has_trait = arrogant
has_trait = impatient
}
}
guest_vassal_candidate_trigger = {
age < 60
faith = scope:host.faith
culture = scope:host.culture
faith = {
has_dominant_ruling_gender = prev
}
guest_vassal_candidate_bad_traits_trigger = no
save_temporary_scope_as = vassal_candidate
is_eunuch_trigger = no
NOR = { #So they don't leave your realm through inheritance
any_heir_title = {
scope:guest = { is_primary_heir_of = scope:vassal_candidate }
}
any_child = { is_playable_character = yes }
has_trait = devoted
has_trait = order_member
}
}
guest_physician_candidate_trigger = {
age < 70
learning >= decent_skill_rating
}
guest_male_female_balance_trigger = { #are you interesting enough to get "upbalanced" to make up for lack of available positions due to your gender?
is_adult = yes
age <= 65
is_lowborn = no
}
child_available_for_guest_marriage_trigger = {
is_married = no
is_betrothed = no
age >= 10
OR = {
is_vassal_of = scope:host
is_courtier_of = scope:host
}
}
guest_marriage_candidate_trigger = {
save_temporary_scope_as = marriage_candidate
OR = {
is_male = yes
age <= 40
}
OR = {
AND = {
is_married = no
can_marry_character_trigger = { CHARACTER = scope:host }
}
scope:host = {
any_child = {
child_available_for_guest_marriage_trigger = yes
can_marry_character_trigger = { CHARACTER = scope:marriage_candidate }
}
}
}
}
###POOL TRIGGERS###
is_visitable_relation_trigger = {
capital_province ?= { local_pool_is_full_trigger = no }
NOR = {
this = $CHARACTER$.host
has_relation_rival = $CHARACTER$
}
$CHARACTER$ = {
NOT = {
var:last_visited_ruler ?= prev
}
}
}
###########################
# POOL CHARACTER TRIGGERS #
###########################
pool_character_is_pruneable_trigger = {
save_temporary_scope_as = pool_prune_check
is_adult = yes
NOR = {
has_trait = heresiarch
has_trait = populist_leader
has_trait = adventurer_follower
has_trait = adventurer
has_trait = historical_character
has_character_flag = ai_will_not_convert
is_married = yes
any_claim = { }
any_child = { is_adult = no }
any_relation = {
type = lover
is_ruler = yes
}
any_relation = {
type = friend
is_ruler = yes
}
any_close_or_extended_family_member = { is_ruler = yes }
#Belongs to a dynasty with more than 1 member
any_relation = {
type = rival
is_ai = no
}
has_character_flag = easteregg
}
trigger_if = {
limit = {
is_lowborn = no
}
NOR = {
diplomacy >= high_skill_rating
martial >= high_skill_rating
stewardship >= high_skill_rating
intrigue >= high_skill_rating
learning >= high_skill_rating
prowess >= high_skill_rating
dynasty ?= { any_dynasty_member = { this != scope:pool_prune_check } }
any_relation = {
type = rival
is_ruler = yes
}
culture = {
has_cultural_tradition = tradition_diasporic
}
}
}
}
local_pool_is_full_trigger = {
number_of_characters_in_pool >= full_pool_size
}
guest_poet_candidate_trigger = {
age < 80
age >= 16
diplomacy > medium_skill_rating
}
is_courtier_or_knight_of_root = {
OR = {
is_courtier_of = root
is_knight_of = root
}
}
guest_herder_candidate_trigger = {
government_has_flag = government_is_true_herder
has_trait = lifestyle_seasoned_pastor
trigger_if = {
limit = { root.faith = { has_doctrine = doctrine_gender_male_dominated } }
is_male = yes
}
trigger_if = {
limit = { root.faith = { has_doctrine = doctrine_gender_female_dominated } }
is_female = yes
}
age < 45
age >= 25
}

View file

@ -393,7 +393,7 @@ valid_laamp_basic_trigger = {
# Plus some standard stuff.
is_alive = yes
is_adult = yes
NOT = { government_has_flag = government_is_herder }
NOT = { government_has_flag = government_is_true_herder }
}
$EMPLOYER$ = { is_incapable = no }
# Laamps shouldn't offer contracts in their local area, ever.

View file

@ -424,7 +424,7 @@ can_have_city_succession_law_trigger = {
}
can_have_herder_succession_law_trigger = {
government_has_flag = government_is_herder
government_has_flag = government_is_true_herder
}
title_can_reduce_partition_law_trigger = {

View file

@ -0,0 +1,635 @@
####MARRIAGE TRIGGER LIST###
#GENERAL MARRIAGE TRIGGERS
#can_marry_common_trigger
#can_marry_trigger
#could_marry_character_trigger
#can_marry_character_trigger
#marriage_between_characters_unlocks_alliance_of_min_tier_trigger
#can_become_concubine
#MARRIAGE INTERACTION TRIGGERS
#############################
# GENERAL MARRIAGE TRIGGERS #
#############################
# Is allowed to marry (current marriage/concubine status ignored)
can_marry_common_trigger = {
is_alive = yes
NOT = { has_trait_with_flag = can_not_marry }
trigger_if = {
limit = {
exists = primary_title
}
NOR = {
# Block Mercenaries from marrying or showing up in marriage interactions
primary_title = {
is_mercenary_company = yes
}
is_leading_faction_type = peasant_faction
is_leading_faction_type = populist_faction
government_has_flag = government_is_herder
}
}
# Clergy cannot marry if their faith disallows it
trigger_if = {
limit = {
is_clergy = yes
}
faith = {
has_doctrine_parameter = clergy_can_marry
}
}
trigger_if = {
limit = {
exists = liege.involved_activity.var:tournament_marriage_prize
this = liege.involved_activity.var:tournament_marriage_prize
}
exists = scope:contest_winner
}
}
#Can marry right now
can_marry_trigger = {
can_marry_common_trigger = yes
allowed_more_spouses = yes
#To account for a person marrying their concubines please use can_marry_character_trigger
}
allowed_to_marry_same_sex_trigger = {
has_game_rule = accepted_same_sex_marriage
faith = {
NOR = {
has_doctrine_parameter = homosexuality_shunned
has_doctrine_parameter = homosexuality_illegal
}
}
}
can_have_children_with = {
sex_opposite_of = $CHARACTER$ # Only opposite sex since for now
}
allowed_to_marry_character_gender_trigger = {
OR = {
AND = {
allowed_to_marry_same_sex_trigger = yes
sex_same_as = $CHARACTER$
}
sex_opposite_of = $CHARACTER$
}
}
#two characters could potentially marry (does NOT check that they're unmarried)
could_marry_character_trigger = {
save_temporary_scope_as = can_marry_check
can_marry_common_trigger = yes
$CHARACTER$ = { can_marry_common_trigger = yes }
#Opposite genders if you don't have accepted same-sex marriage game rule enabled and your faith supports it
trigger_if = {
limit = {
$CHARACTER$ = { allowed_to_marry_same_sex_trigger = no }
}
sex_opposite_of = $CHARACTER$
}
#Have you recently divorced this character?
NOT = {
has_opinion_modifier = {
modifier = divorced_me_opinion
target = $CHARACTER$
}
}
#Faith hostility & consanguinity
trigger_if = {
limit = { NOT = { is_courtier_of = $CHARACTER$ } } #If you're someone's courtier, your liege can marry you anyway
faith = {
faith_allows_marriage_consanguinity_trigger = {
CHARACTER_1 = scope:can_marry_check
CHARACTER_2 = $CHARACTER$
}
#faith_hostility_level = {
# target = $CHARACTER$.faith
# value < faith_hostility_prevents_marriage_level
#}
}
}
trigger_if = {
limit = { $CHARACTER$ = { NOT = { is_courtier_of = scope:can_marry_check } } } #If you're someone's courtier, your liege can marry you anyway
$CHARACTER$.faith = {
faith_allows_marriage_consanguinity_trigger = {
CHARACTER_1 = scope:can_marry_check
CHARACTER_2 = $CHARACTER$
}
#faith_hostility_level = {
# target = scope:can_marry_check.faith
# value < faith_hostility_prevents_marriage_level
#}
}
}
trigger_if = {
limit = {
any_close_or_extended_family_member = {
any_spouse = { this = $CHARACTER$ }
}
}
faith = { has_doctrine = doctrine_consanguinity_unrestricted }
$CHARACTER$ = {
faith = { has_doctrine = doctrine_consanguinity_unrestricted }
NOT = {
any_spouse = {
is_close_or_extended_family_of = scope:can_marry_check
NOT = {
faith = { has_doctrine = doctrine_consanguinity_unrestricted }
}
}
}
}
}
# Cannot marry self
NOT = {
scope:can_marry_check = { is_spouse_of = $CHARACTER$ }
}
}
# Same trigger as above with the exception of the recent divorce trigger
can_take_as_concubine_character_trigger = {
save_temporary_scope_as = can_marry_check
can_marry_common_trigger = yes
$CHARACTER$ = { can_marry_common_trigger = yes }
#Opposite genders if you don't have accepted same-sex marriage game rule enabled and your faith supports it
trigger_if = {
limit = {
$CHARACTER$ = { allowed_to_marry_same_sex_trigger = no }
}
sex_opposite_of = $CHARACTER$
}
#Faith hostility & consanguinity
trigger_if = {
limit = { NOT = { is_courtier_of = $CHARACTER$ } } #If you're someone's courtier, your liege can marry you anyway
faith = {
faith_allows_marriage_consanguinity_trigger = {
CHARACTER_1 = scope:can_marry_check
CHARACTER_2 = $CHARACTER$
}
#faith_hostility_level = {
# target = $CHARACTER$.faith
# value < faith_hostility_prevents_marriage_level
#}
}
}
trigger_if = {
limit = { $CHARACTER$ = { NOT = { is_courtier_of = scope:can_marry_check } } } #If you're someone's courtier, your liege can marry you anyway
$CHARACTER$.faith = {
faith_allows_marriage_consanguinity_trigger = {
CHARACTER_1 = scope:can_marry_check
CHARACTER_2 = $CHARACTER$
}
#faith_hostility_level = {
# target = scope:can_marry_check.faith
# value < faith_hostility_prevents_marriage_level
#}
}
}
NOT = {
scope:can_marry_check = { is_spouse_of = $CHARACTER$ }
}
}
#Two characters are able to marry right now
can_marry_character_trigger = {
save_temporary_scope_as = can_marry_char_check
OR = {
AND = {
is_betrothed = yes
betrothed = $CHARACTER$
}
AND = {
can_marry_trigger = yes
$CHARACTER$ = { can_marry_trigger = yes }
}
}
trigger_if = {
limit = {
$CHARACTER$ = { is_concubine = yes }
}
$CHARACTER$ = { is_concubine_of = scope:can_marry_char_check }
}
trigger_if = {
limit = {
is_concubine = yes
}
is_concubine_of = $CHARACTER$
$CHARACTER$ = { could_marry_character_trigger = { CHARACTER = scope:can_marry_char_check } } #Gender, recent divorce, allowed to marry, no illegal incest etc.} If they're your concubine you're rules are the ones looked at
}
trigger_else = {
could_marry_character_trigger = { CHARACTER = $CHARACTER$ } #Gender, recent divorce, allowed to marry, no illegal incest etc.
}
}
#A marriage between MY_CHARACTER and THEIR_CHARACTER would give alliance/would unlock renegotiate alliance for current scope where current scope's ally would be at least TIER
marriage_between_characters_unlocks_alliance_of_min_tier_trigger = {
save_temporary_scope_as = alliance_unlocker
$MY_CHARACTER$ = {
OR = {
this = scope:alliance_unlocker
is_close_family_of = scope:alliance_unlocker
}
}
$THEIR_CHARACTER$ = {
OR = {
AND = {
is_ruler = yes
highest_held_title_tier >= $TIER$
}
any_close_family_member = {
is_ruler = yes
highest_held_title_tier >= $TIER$
}
}
}
}
can_become_concubine_of_character_trigger = {
is_available_quick = {
adult = yes
ruler = no
advanced_ruler = no
hostage = no
}
trigger_if = {
limit = {
NOT = { is_imprisoned_by = $CHARACTER$ }
}
is_married = no
is_betrothed = no
is_concubine = no
number_of_concubines = 0
}
trigger_if = {
limit = {
is_imprisoned_by = $CHARACTER$
is_married = yes
}
NOT = { is_spouse_of = $CHARACTER$ }
}
NOR = {
is_concubine_of = $CHARACTER$
has_character_flag = has_been_offered_as_concubine
}
could_marry_character_trigger = { CHARACTER = $CHARACTER$ } #Gender, recent divorce, allowed to marry, no illegal incest etc.
}
# Same as above, switching out could_marry_character_trigger for can_take_as_concubine_character_trigger, in order to better inform the player that they cannot take their ex-spouse as a concubine
can_become_concubine_of_character_valid_trigger = {
is_available_quick = {
adult = yes
ruler = no
advanced_ruler = no
}
trigger_if = {
limit = {
NOT = { is_imprisoned_by = $CHARACTER$ }
}
is_married = no
is_betrothed = no
is_concubine = no
is_diarch = no
number_of_concubines = 0
}
trigger_if = {
limit = {
is_imprisoned_by = $CHARACTER$
is_married = yes
}
NOT = { is_spouse_of = $CHARACTER$ }
}
NOR = {
is_concubine_of = $CHARACTER$
has_character_flag = has_been_offered_as_concubine
}
can_take_as_concubine_character_trigger = { CHARACTER = $CHARACTER$ } #Gender, allowed to marry, no illegal incest etc.
has_any_disease_trigger = no
has_easily_mocked_physical_attribute_trigger = no
}
can_be_offered_as_concubine_to_character_trigger = {
is_available_quick = {
adult = yes
ruler = no
advanced_ruler = no
}
trigger_if = {
limit = {
NOT = { is_imprisoned_by = $GIVER$ }
}
is_married = no
is_betrothed = no
is_diarch = no
OR = {
is_concubine = no
is_concubine_of = $GIVER$
}
number_of_concubines = 0
}
trigger_if = {
limit = {
is_imprisoned_by = $GIVER$
is_married = yes
}
NOR = {
is_spouse_of = $CHARACTER$
is_spouse_of = $GIVER$
}
}
NOR = {
is_concubine_of = $CHARACTER$
has_character_flag = has_been_offered_as_concubine
}
NOT = {
is_theocratic_lessee = yes
}
could_marry_character_trigger = { CHARACTER = $CHARACTER$ } #Gender, recent divorce, allowed to marry, no illegal incest etc.
}
ready_to_marry_betrothed_trigger = {
trigger_if = {
limit = { exists = betrothed }
is_adult = yes
betrothed = { is_adult = yes }
}
trigger_else = {
always = no
}
}
#################################
# MARRIAGE INTERACTION TRIGGERS #
#################################
marriage_interaction_can_be_picked_trigger = {
can_marry_trigger = yes
is_available_quick = {
hostage = no
imprisoned = no
}
}
marriage_interaction_valid_target_trigger = {
# Clergy cannot marry if their faith doesn't allow it
trigger_if = {
limit = {
scope:secondary_actor = {
is_clergy = yes
NOT = {
faith = {
has_doctrine_parameter = clergy_can_marry
}
}
}
}
custom_description = {
text = character_is_clergy_and_cannot_marry
subject = scope:secondary_actor
object = scope:secondary_recipient
scope:secondary_actor = {
is_clergy = no
}
}
}
trigger_else_if = {
limit = {
scope:secondary_recipient = {
is_clergy = yes
NOT = {
faith = {
has_doctrine_parameter = clergy_can_marry
}
}
}
}
custom_description = {
text = character_is_clergy_and_cannot_marry
subject = scope:secondary_recipient
object = scope:secondary_actor
scope:secondary_recipient = {
is_clergy = no
}
}
}
#Marriage
trigger_else_if = {
limit = {
scope:secondary_actor = { is_adult = yes }
scope:secondary_recipient = { is_adult = yes }
}
scope:secondary_actor = {
custom_description = {
text = "can_marry_check_secondary_actor"
subject = scope:secondary_actor
object = scope:secondary_recipient
can_marry_character_trigger = { CHARACTER = scope:secondary_recipient } #Checks marriage status, betrothed, gender, consanguinity, faith hostility etc.
}
}
}
#Betrothal
trigger_else = {
scope:secondary_actor = {
custom_description = {
text = "can_betroth_check_secondary_actor"
subject = scope:secondary_actor
object = scope:secondary_recipient
can_marry_character_trigger = { CHARACTER = scope:secondary_recipient } #Checks marriage status, betrothed, gender, consanguinity, faith hostility etc.
}
}
}
# If the actor is ai they will not pick a character already considered for concubinage
trigger_if = {
limit = {
scope:actor = { is_ai = yes }
}
NOR = {
scope:secondary_actor = { has_character_flag = has_been_offered_as_concubine }
scope:secondary_recipient = { has_character_flag = has_been_offered_as_concubine }
}
}
}
marriage_interaction_auto_accept_trigger = {
trigger_if = {
limit = {
exists = scope:secondary_actor.betrothed
scope:secondary_actor = {
has_been_promised_grand_wedding = yes
}
}
always = no
}
trigger_else_if = {
limit = {
exists = scope:secondary_actor.betrothed
}
custom_description = {
text = is_betrothed_auto_accept
subject = scope:secondary_actor
object = scope:secondary_recipient
scope:secondary_actor.betrothed = scope:secondary_recipient
}
}
trigger_else_if = {
limit = {
scope:hook = yes
}
#Strong hook = 100% accept (unless marrying 1st or 2nd player heir or the ruler and asking for matrilineal/partrilineal resulting in no dynasty children for them)
custom_description = {
text = "spending_hook"
subject = scope:actor
object = scope:recipient
scope:actor = { has_strong_hook = scope:recipient }
scope:recipient = {
NAND = {
#Secondary recipient can't be recipient or 1st/2nd heir...
OR = {
this = scope:secondary_recipient
player_heir_position = {
target = scope:secondary_recipient
value <= 2
}
}
#...if the marriage (matrilineal/patrilineal) does not match their gender
OR = {
scope:secondary_recipient = {
is_female = yes
NOT = { always = scope:matrilineal }
}
scope:secondary_recipient = {
is_male = yes
always = scope:matrilineal
}
}
}
}
}
}
trigger_else = {
always = no
}
}
make_concubine_is_shown_trigger = {
scope:actor = {
allowed_concubines = yes
is_adult = yes
}
scope:recipient = {
OR = {
is_courtier_of = scope:actor
is_imprisoned_by = scope:actor
}
can_become_concubine_of_character_valid_trigger = { CHARACTER = scope:actor }
}
}
make_concubine_is_valid_trigger = {
custom_description = {
text = take_concubine_allowed_more
object = scope:recipient
scope:actor = {
allowed_more_concubines = yes
}
}
scope:recipient = {
custom_tooltip = {
text = take_concubine_ex_spouse
NOT = {
has_opinion_modifier = {
modifier = divorced_me_opinion
target = scope:actor
}
}
}
OR = {
AND = {
is_imprisoned_by = scope:actor
is_married = yes
}
is_married = no
}
is_hostage = no
}
}
marriage_interaction_non_loyal_diarchs_refuse_secondary_marriage_trigger = {
trigger_if = {
limit = {
scope:$TARGET$ ?= {
is_diarch = yes
# We're only concerned about landed rulers, those who might be married out of their own court.
is_ruler = no
}
}
custom_tooltip = {
text = arrange_marriage_interaction.tt.non_loyal_regents_refuse_to_be_married_off.$TARGET$
scope:$TARGET$ = { diarch_loyalty >= diarch_loyalty_visibly_loyal_threshold }
}
}
}
wants_very_young_wife = {
is_available_quick = {
female = no
adult = no
}
}
wants_young_wife = {
is_available_quick = {
female = no
adult = yes
}
age < 30
NOT = {
any_child = {
count >= 2
is_alive = yes
NOT = { has_trait = bastard }
}
}
}
will_not_be_very_young_wife = {
is_female = yes
is_very_young_character = no
}
will_not_be_young_wife = {
is_female = yes
is_young_character = no
}
will_not_be_fertile_wife = {
is_female = yes
is_aging_character = yes
}
is_ruler_or_close_family = {
OR = {
is_ruler = yes
any_close_family_member = {
even_if_dead = yes
is_ruler = yes
}
}
}
can_have_concubines_trigger = {
$CHAR$ ?= {
custom_tooltip = {
text = can_have_concubines_name_tt
allowed_more_concubines = yes
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -896,7 +896,7 @@ herders_and_tributary_constraints = {
NOR = {
custom_tooltip = {
text = is_a_herder_defender_tt # herders can't fight
government_has_flag = government_is_herder
government_has_flag = government_is_true_herder
}
is_tributary_of_suzerain_or_above = scope:attacker # can't fight your tributaries or your tributaries' tributaries
}

View file

@ -0,0 +1,414 @@
#################################################
# TRIGGER LIST #
#################################################
# ep1_is_valid_character_for_inspiration_trigger - Is the character valid to be used within the inspiration system? Character movement may break if these conditions are not true.
ep1_is_valid_character_for_inspiration_trigger = {
is_adult = yes
is_imprisoned = no
NOT = { exists = inspiration }
trigger_if = {
limit = {
OR = {
is_pool_guest = yes
is_in_pool_at = location
}
}
# For simplicity, inspired characters travel solo for now.
any_traveling_family_member = {
count = 1
}
}
}
ep1_spare_courtier_trigger = { #Used for picking out courtiers in your own court.
is_available_healthy_ai_adult = yes
is_councillor = no
NOR = {
is_close_or_extended_family_of = root
is_spouse_of = root
}
}
# Court type trait 1 is unlocked by court_grandeur_level 5
ep1_courtier_valid_for_court_trait_1_trigger = {
scope:cgv_value >= cgv_level_threshold_court_type_trait_1
NOT = { has_trait = $TYPE$_court }
is_adult = yes
}
# Court type trait 2 is unlocked by court_grandeur_level 8
ep1_courtier_valid_for_court_trait_2_trigger = {
scope:cgv_value >= cgv_level_threshold_court_type_trait_2
NOT = { has_trait = $TYPE$_court_2 }
has_trait = $TYPE$_court_1
is_adult = yes
}
##############
# INSPIRATION/ARTIFACT TRIGGERS
##############
ep1_can_sponsor_inspiration_basic = {
scope:inspiration_owner = {
is_imprisoned = no
}
}
ep1_is_sponsor_valid_inspiration_basic = {
trigger_if = {
limit = {
exists = scope:inspiration_sponsor
}
scope:inspiration_owner = {
is_courtier_of = scope:inspiration_sponsor
is_imprisoned = no
}
}
}
ep1_character_had_or_has_inspiration_type_trigger = {
OR = {
AND = {
exists = var:created_artifact_type
var:created_artifact_type = flag:$TYPE$
}
inspiration ?= { has_inspiration_type = $TYPE$_inspiration }
}
}
ep1_no_artifact_decorations_trigger = {
OR = {
scope:wealth < 40
AND = {
exists = scope:inspiration_owner
scope:inspiration_owner = { has_trait = humble }
}
}
}
ep1_simple_artifact_decorations_trigger = {
scope:wealth >= 5
scope:wealth < 70
}
ep1_advanced_artifact_decorations_trigger = {
scope:wealth >= 40
scope:wealth < 90
}
ep1_extravagant_artifact_decorations_trigger = {
scope:wealth >= 70
}
ep1_artifact_durability_lower_equal_percent_trigger = {
$PERCENT$ > {
value = 0
add = artifact_durability
divide = artifact_max_durability
}
}
ep1_artifact_durability_higher_equal_percent_trigger = {
$PERCENT$ < {
value = 0
add = artifact_durability
divide = artifact_max_durability
}
}
ep1_character_has_court_artifact_trigger = {
any_character_artifact = {
ep1_artifact_is_court_artifact_trigger = yes
}
}
ep1_artifact_is_court_artifact_trigger = {
OR = {
artifact_slot_type = wall_big
artifact_slot_type = wall_small
artifact_slot_type = sculpture
artifact_slot_type = book
artifact_slot_type = throne
artifact_slot_type = pedestal
}
}
##############
# COURT POSITION TRIGGERS
##############
#Used to see if the scoped character has ANY court position that CHARACTER can hold
character_can_be_employed_in_a_court_position_trigger = {
OR = {
AND = {
can_employ_court_position_type = court_physician_court_position
$CHARACTER$ = { can_be_employed_as = court_physician_court_position }
}
AND = {
can_employ_court_position_type = master_of_horse_court_position
$CHARACTER$ = { can_be_employed_as = master_of_horse_court_position }
}
AND = {
can_employ_court_position_type = master_of_hunt_court_position
$CHARACTER$ = { can_be_employed_as = master_of_hunt_court_position }
}
AND = {
can_employ_court_position_type = keeper_of_swans_court_position
$CHARACTER$ = { can_be_employed_as = keeper_of_swans_court_position }
}
AND = {
can_employ_court_position_type = travel_leader_court_position
$CHARACTER$ = { can_be_employed_as = travel_leader_court_position }
}
AND = {
can_employ_court_position_type = court_jester_court_position
$CHARACTER$ = { can_be_employed_as = court_jester_court_position }
}
AND = {
can_employ_court_position_type = high_almoner_court_position
$CHARACTER$ = { can_be_employed_as = high_almoner_court_position }
}
AND = {
can_employ_court_position_type = seneschal_court_position
$CHARACTER$ = { can_be_employed_as = seneschal_court_position }
}
AND = {
can_employ_court_position_type = court_tutor_court_position
$CHARACTER$ = { can_be_employed_as = court_tutor_court_position }
}
AND = {
can_employ_court_position_type = court_guru_court_position
$CHARACTER$ = { can_be_employed_as = court_guru_court_position }
}
AND = {
can_employ_court_position_type = cupbearer_court_position
$CHARACTER$ = { can_be_employed_as = cupbearer_court_position }
}
AND = {
can_employ_court_position_type = chief_eunuch_court_position
$CHARACTER$ = { can_be_employed_as = chief_eunuch_court_position }
}
AND = {
can_employ_court_position_type = antiquarian_court_position
$CHARACTER$ = { can_be_employed_as = antiquarian_court_position }
}
AND = {
can_employ_court_position_type = royal_architect_court_position
$CHARACTER$ = { can_be_employed_as = royal_architect_court_position }
}
AND = {
can_employ_court_position_type = lady_in_waiting_court_position
$CHARACTER$ = { can_be_employed_as = lady_in_waiting_court_position }
}
AND = {
can_employ_court_position_type = court_poet_court_position
$CHARACTER$ = { can_be_employed_as = court_poet_court_position }
}
AND = {
can_employ_court_position_type = court_musician_court_position
$CHARACTER$ = { can_be_employed_as = court_musician_court_position }
}
AND = {
can_employ_court_position_type = bodyguard_court_position
$CHARACTER$ = { can_be_employed_as = bodyguard_court_position }
}
AND = {
can_employ_court_position_type = champion_court_position
$CHARACTER$ = { can_be_employed_as = champion_court_position }
}
AND = {
can_employ_court_position_type = food_taster_court_position
$CHARACTER$ = { can_be_employed_as = food_taster_court_position }
}
AND = {
can_employ_court_position_type = executioner_court_position
$CHARACTER$ = { can_be_employed_as = executioner_court_position }
}
AND = {
can_employ_court_position_type = garuda_court_position
$CHARACTER$ = { can_be_employed_as = garuda_court_position }
}
AND = {
can_employ_court_position_type = wet_nurse_court_position
$CHARACTER$ = { can_be_employed_as = wet_nurse_court_position }
}
AND = {
can_employ_court_position_type = akolouthos_court_position
$CHARACTER$ = { can_be_employed_as = akolouthos_court_position }
}
}
}
#Used to check if the scoped character can hold any court position
can_be_employed_in_any_court_position_trigger = {
OR = {
can_be_employed_as = court_physician_court_position
can_be_employed_as = master_of_horse_court_position
can_be_employed_as = master_of_hunt_court_position
can_be_employed_as = keeper_of_swans_court_position
can_be_employed_as = court_jester_court_position
can_be_employed_as = high_almoner_court_position
can_be_employed_as = seneschal_court_position
can_be_employed_as = court_tutor_court_position
can_be_employed_as = court_guru_court_position
can_be_employed_as = cupbearer_court_position
can_be_employed_as = chief_eunuch_court_position
can_be_employed_as = antiquarian_court_position
can_be_employed_as = royal_architect_court_position
can_be_employed_as = lady_in_waiting_court_position
can_be_employed_as = court_poet_court_position
can_be_employed_as = court_musician_court_position
can_be_employed_as = bodyguard_court_position
can_be_employed_as = champion_court_position
can_be_employed_as = food_taster_court_position
can_be_employed_as = executioner_court_position
can_be_employed_as = garuda_court_position
can_be_employed_as = travel_leader_court_position
can_be_employed_as = wet_nurse_court_position
can_be_employed_as = akolouthos_court_position
}
}
##### Hold court
hold_court_8010_county_trigger = {
any_title_to_title_neighboring_county = {
holder.top_liege = {
NOR = {
THIS = ROOT
is_allied_to = ROOT
is_at_war_with = ROOT
is_close_or_extended_family_of = ROOT
max_military_strength < hold_court_8010_75_strength_value # 75% of ROOT's soldiers
}
}
}
}
target_of_powerful_faction_trigger = {
exists = yes
OR = {
faction_is_type = liberty_faction
faction_is_type = claimant_faction
}
OR = {
faction_power >= faction_power_threshold
faction_is_at_war = yes
}
trigger_if = {
limit = { exists = special_character }
special_character != faction_target.liege
}
}
province_has_no_holding_trigger = { # province has no holding
has_ongoing_construction = no
NOR = {
has_holding_type = castle_holding
has_holding_type = tribal_holding
has_holding_type = city_holding
has_holding_type = church_holding
has_holding_type = herder_holding
has_holding_type = nomad_holding
has_holding_type = temple_citadel_holding
}
}
county_has_all_holding_types = { # county has all three holding types
any_county_province = { has_holding_type = castle_holding }
any_county_province = { has_holding_type = city_holding }
any_county_province = { has_holding_type = church_holding }
}
county_has_empty_province_trigger = {
tier = tier_county
any_county_province = { province_has_no_holding_trigger = yes }
}
county_has_no_city_trigger = { # No city in a county
NOT = {
any_county_province = { has_holding_type = city_holding }
}
}
county_has_no_church_trigger = { # No church in a county
NOT = {
any_county_province = { has_holding_type = church_holding }
}
}
##############
# DECISION TRIGGERS
##############
order_mass_eviction_decision_evictable_courtier_trigger = {
NOR = {
is_of_major_or_minor_interest_trigger = { CHARACTER = root }
any_close_family_member = {
host = root
is_of_major_or_minor_interest_trigger = { CHARACTER = root }
}
}
}
# For technical reasons, this trigger can't be the same as ep1_decision_0111_list_builder_guts_trigger, but maintains (almost) technical parity with it.
exoticise_a_grand_hall_decision_list_builder_guts_trigger = {
# Is the title presently active?
exists = holder
# Can the two communicate?
holder = {
# Filter out anyone who has the right rank but lacks a mechanical royal court.
has_royal_court = yes
has_dlc_feature = royal_court
# Can the two communicate?
in_diplomatic_range = root
}
}
##############
# CHARACTER INTERACTIONS TRIGGERS
##############
indebt_guest_interaction_basic_checks_trigger = {
$ACTOR$ = {
# Gotta have a royal court.
has_royal_court = yes
has_dlc_feature = royal_court
# Gotta have maxed servants to help.
amenity_level = {
target = court_servants
value >= max_amenity_level
}
}
}
##############
# BANNER TRIGGERS
##############
artifact_house_not_owns_or_claims_trigger = {
exists = scope:familial_banner
NOR = {
this = scope:familial_banner.artifact_owner.house
has_house_artifact_claim = scope:familial_banner
}
trigger_if = {
limit = { exists = scope:familial_banner.var:banner_dynasty }
house_head.dynasty = scope:familial_banner.var:banner_dynasty
}
}
is_composite_bow_culture_trigger = {
OR = {
has_cultural_tradition = tradition_horse_lords
has_cultural_pillar = heritage_byzantine
has_cultural_pillar = heritage_caucasian
has_cultural_pillar = heritage_turkic
has_cultural_pillar = heritage_mongolic
has_innovation = innovation_advanced_bowmaking
}
}

View file

@ -52,7 +52,7 @@ mpo_gok_coalition_member_trigger = {
}
highest_held_title_tier < tier_county
government_has_flag = government_is_herder
government_has_flag = government_is_true_herder
is_imprisoned_by = root
is_obedient_to = root
}
@ -139,7 +139,7 @@ mpo_gok_submitting_coward_trigger = {
}
OR = {
is_imprisoned_by = root
government_has_flag = government_is_herder
government_has_flag = government_is_true_herder
has_relation_friend = root
AND = {
exists = root.house
@ -280,7 +280,7 @@ gok_desirable_vassal_trigger = {
mpo_greatest_of_khans_0030_willing_nomad_vassal = {
OR = {
government_has_flag = government_is_nomadic
government_has_flag = government_is_herder
government_has_flag = government_is_true_herder
}
OR = {
is_obedient = yes
@ -305,7 +305,7 @@ mpo_greatest_of_khans_0030_willing_nomad_vassal = {
mpo_greatest_of_khans_0030_dominated_nomad_vassal = {
OR = {
government_has_flag = government_is_nomadic
government_has_flag = government_is_herder
government_has_flag = government_is_true_herder
}
OR = {
is_obedient = yes
@ -334,7 +334,7 @@ mpo_greatest_of_khans_0030_dominated_nomad_vassal = {
mpo_greatest_of_khans_0030_willing_sedentary_vassal = {
NOR = {
government_has_flag = government_is_nomadic
government_has_flag = government_is_herder
government_has_flag = government_is_true_herder
government_has_flag = government_is_theocracy
government_has_flag = government_is_landless_adventurer
}
@ -360,7 +360,7 @@ mpo_greatest_of_khans_0030_willing_sedentary_vassal = {
mpo_greatest_of_khans_0030_dominated_sedentary_vassal = {
NOR = {
government_has_flag = government_is_nomadic
government_has_flag = government_is_herder
government_has_flag = government_is_true_herder
government_has_flag = government_is_theocracy
government_has_flag = government_is_landless_adventurer
}

File diff suppressed because it is too large Load diff