N3OW/common/on_action/dlc/mpo/mpo_on_actions_2.txt

662 lines
19 KiB
Text

mpo_yearly_events_nomads = {
trigger = {
has_mpo_dlc_trigger = yes
government_has_flag = government_is_nomadic
}
random_events = {
chance_to_happen = 100
# EVENT CHAINS/STORY CYCLE EVENTS
100 = nomad_events.0001 # Starts the Achmach Fanakiti event chain
# Regular events
150 = mpo_nomad_events.1030 # You choose a sport for your son to tryhard
200 = mpo_nomad_events.1020 # Your kin wants to break off from your tribe
250 = court_astrologer_events.0002 # Your Astrologer suggest a better place to migrate to
250 = nomad_events.0100 # Two vassals have a herd dispute
250 = nomad_events.0120 # You take an evening ride with someone
200 = nomad_events.0130 # A merchant offers you some herd
150 = nomad_events.0140 # A foreign merchant passes by your capital and asks to stay
250 = nomad_events.0150 # You share a drink with a courtier
300 = nomad_events.0160 # Your spouse tells you they admire you
300 = nomad_events.0170 # Your spouse is scared of your high dread
250 = nomad_events.0180 # Random courtier laughs at your child low prowess
250 = nomad_events.0190 # Reminisce of a past memory
250 = nomad_events.0200 # Someone tells you of a dream they had
250 = nomad_events.0220 # Spouse scolds you for your low Prowess
250 = nomad_events.0230 # Spouse is feeling homesick
200 = nomad_events.0240 # Neighbouring Nomad's herd shows up in your capital
100 = nomad_events.0250 # Enthusiastic priest asks you to convert
100 = nomad_events.0260 # Distant priest arrives at your court
100 = mpo_nomad_events.1050 # A neighboring herder is salty at you
300 = mpo_nomad_events.1060 # You trade with non-nomad neighbors
50 = mpo_nomad_events.1070 #You wake up after having ridden off alone
200 = mpo_nomad_events.1080 #Neighbor is intruding on your land hunting a criminal
150 = mpo_nomad_events.1100 #You adapt your herds to the local terrain
150 = mpo_nomad_events.1110 #Your capital is by a place you can fish
200 = mpo_events_tova.0025 # You are invited to a knucklebone shooting game
200 = mpo_events_tova.0030 # No astrologer? Someone comes to you with a vision
200 = mpo_events_tova.0035 # Anda comes to you with marital concerns
200 = mpo_events_tova.0045 # A Treasured Friend
250 = nomad_events_oltner.0001 # Hunt sighting in your lands
250 = nomad_events_oltner.0002 # Bird sighting in your lands
250 = nomad_events_oltner.0003 # Dangerous Hunt sighting in your lands
150 = nomad_events_oltner.0004 # Zud - Dangerous animals eat your herd
250 = nomad_events_oltner.0005 # Good season! Animals aplenty.
200 = nomad_events_oltner.0006 # You are offered a skilled Master of the Chase from a tributary
200 = nomad_events_oltner.0007 # You are offered a falcon from a tributary
50 = mpo_bb_events.0001 # blood brother comes by for a wrestling match
100 = mpo_events_anna.0001 #Train Them Young - teach a child how to ride a horse
200 = mpo_events_anna.0005 #Stories from the Past - choose a story to be told
200 = mpo_events_anna.0010 #Whistle Like an Arrow - being taught how to whistle as a child
250 = mpo_events_ariana.0001 # Nest Sighting
50 = mpo_events_ariana.0010 # Your Heir wants to convert to a different faith
250 = mpo_events_ariana.0020 # A spouse is suspicious of a councillor
250 = mpo_events_ariana.0050 # A family member risks being branded
150 = mpo_events_ariana.0060 # A child in your family spots an eagles nest with treasure
250 = mpo_events_ariana.0080 # Someone tells you about a magical tree
150 = pet_animal.3050 # Your rival has an eagle
250 = mpo_events_ariana.0090 # Your child wants to be a herder
250 = mpo_events_ariana.0100 # A non-martial gender family member is very skilled
150 = mpo_events_ariana.0110 # Your court astrologer wants you to move your capital
# SEASON SPECIFIC EVENTS
300 = mpo_nomads_season_events.0001 # Herders robbed during drought
300 = mpo_nomads_season_events.0005 # A hungry neighbour asks for herd
300 = mpo_nomads_season_events.0010 # A well-to-do neighbor offers herd
300 = mpo_nomads_season_events.0015 # Two Kurultai members fight over food
150 = nomad_events.0110 # A snow wolf attacks a child (weighted up during white zud/cold zud)
300 = nomad_events.0210 # Spouse/Child is worried about low herd
150 = mpo_nomad_events.1120 #It's winter. wolves are hungry for your herd (weighted up during white zud/cold zud)
}
}
mpo_migration_finished = {
effect = {
if = { # We send an event if you're migrating into a Tributary's lands
limit = {
has_variable = migrating_into_tributary_war_var
}
trigger_event = {
id = migration_events.0002
days = 1
}
}
set_variable = {
name = recently_migrated
years = 3
}
every_held_county = {
limit = {
exists = duchy
duchy = root.capital_province.duchy
}
change_county_control = -50
}
every_realm_province = {
limit = {
has_province_modifier = recently_looted_modifier
}
remove_province_modifier = recently_looted_modifier
}
if = {
limit = {
highest_held_title_tier >= tier_duchy
}
while = {
count = 2
trigger_event = {
on_action = mpo_migration_contract
months = 1
}
}
}
else = {
trigger_event = {
on_action = mpo_migration_contract
months = 1
}
}
domicile ?= {
move_domicile = root.capital_province
}
every_vassal = {
domicile ?= {
move_domicile = prev.capital_province
}
}
}
}
mpo_migration_contract = {
trigger = {
is_landed = yes
has_mpo_dlc_trigger = yes
government_has_flag = government_is_nomadic
has_variable = recently_migrated
any_held_county = {
is_landless_type_title = no
exists = title_province
county_control < 90
}
}
random_events = {
100 = mpo_contract_events.0001
100 = mpo_contract_events.0011
100 = mpo_contract_events.0021
100 = mpo_contract_events.0031
20 = mpo_contract_events.0041
100 = mpo_contract_events.0051
100 = mpo_contract_events.0061
100 = mpo_contract_events.0071
100 = mpo_contract_events.0081
100 = mpo_contract_events.0091
}
}
# Triggered from code on the day after a migration travel ends
#
# root - migrating ruler
# scope:actor - migration ruler (compatibility with triggers and effects used in migration interaction)
# scope:recipient - holder of the target title
# scope:target_title - higher tier title target of the migration. Can be of any tier
# scope:domain - county or duchy tier title, all land within it shall become new personal domain of the migrating ruler
#
on_migration_travel_end = {
events = {
migration_events.0001
}
effect = {
if = { # MPO ACHIEVEMENT Steppe by Steppe
limit = {
is_ai = no
exists = global_var:started_steppe_by_steppe_achievement
situation:the_great_steppe ?= {
situation_sub_region:steppe_west = {
situation_sub_region_has_county = root.capital_county
}
}
}
add_achievement_global_variable_effect = {
VARIABLE = mpo_steppe_by_steppe_achievement_unlocked
VALUE = yes
}
}
migration_title_and_vassal_change_effect = yes
trigger_event = {
on_action = mpo_migration_finished
}
}
}
# triggered from code when migration war ends
#
# root - migrating ruler
# scope:actor - migration ruler (compatibility with triggers and effects used in migration interaction)
# scope:recipient - primary defender in migration war
# scope:target_title - higher tier title target of the migration. Can be of any tier
# scope:domain - county or duchy tier title, all land within it shall become new personal domain of the migrating ruler
# scope:war - migration war. War will disappear after this onaction
on_migration_war_end = {
effect = {
if = { # MPO ACHIEVEMENT Steppe by Steppe
limit = {
is_ai = no
exists = global_var:started_steppe_by_steppe_achievement
location = {
geographical_region = world_steppe_west
}
}
add_achievement_global_variable_effect = {
VARIABLE = mpo_steppe_by_steppe_achievement_unlocked
VALUE = yes
}
}
if = {
limit = {
scope:war = { has_variable = migration_victory }
}
migration_title_and_vassal_change_effect = yes
trigger_event = {
on_action = mpo_migration_finished
}
every_character_situation = {
limit = {
any_participant_group = {
participant_group_type = nomad_rulers_capital
participant_group_has_character = root
}
}
every_participant_group = {
limit = {
participant_group_type = nomad_rulers_capital
participant_group_has_character = root
}
every_situation_group_participant = {
limit = {
save_temporary_scope_as = temp_scope
NOT = { this = root }
is_migrating = yes
exists = current_travel_plan
OR = {
current_travel_plan.final_destination_province.county = scope:target_title
scope:domain = {
any_in_de_jure_hierarchy = {
tier = tier_county
this = scope:temp_scope.current_travel_plan.final_destination_province.county
}
}
}
}
save_scope_as = invalidated_ruler
scope:invalidated_ruler = {
send_interface_message = {
type = msg_migration_into_realm
title = war_invalidated_migration
desc = war_invalidated_migration_desc
left_icon = root
right_icon = scope:invalidated_ruler
}
}
}
}
}
}
}
}
# triggered from code right after kurultai succession has been resolved
#
# root - new heir (character)
# scope:was_kurultai - (bool) if new heir was part of the predecessor's Kurultai Council
# scope:kurultai_members - list all characters who were part of the predecessor's Kurultai Council
# scope:obedient_kurultai - list all obedient characters who were part of the Kurultai Election (both Council and Children)
# scope:disobedient_kurultai - list all disobedient characters who were part of the Kurultai Election (both Council and Children)
#
on_kurultai_succession_stable = {
trigger = {
has_realm_law = single_heir_succession_kurultai_law
}
effect = {
root = {
if = {
limit = {
exists = this
"list_size(obedient_kurultai)" > 0
}
every_in_list = {
list = obedient_kurultai
limit = {
exists = this
NOT = { this = root }
}
add_opinion = {
target = root
modifier = obedience_opinion
years = 5
}
}
create_character_memory = {
type = had_stable_kurultai_succession
}
}
}
}
}
# triggered from code right after kurultai succession has been resolved
#
# root - new heir (character)
# scope:was_kurultai - (bool) if new heir was part of the predecessor's Kurultai Council
# scope:kurultai_members - list all characters who were part of the predecessor's Kurultai Council
# scope:obedient_kurultai - list all obedient characters who were part of the Kurultai Election (both Council and Children)
# scope:disobedient_kurultai - list all disobedient characters who were part of the Kurultai Election (both Council and Children)
#
on_kurultai_succession_chaotic = {
trigger = {
has_realm_law = single_heir_succession_kurultai_law
primary_title = {
title_held_years < 1
}
}
effect = {
root = {
if = {
limit = {
exists = this
"list_size(obedient_kurultai)" > 0
}
every_in_list = {
list = obedient_kurultai
limit = {
exists = this
NOT = { this = root }
}
add_opinion = {
target = root
modifier = obedience_opinion
years = 5
}
}
}
# Siblings gain claims on all your titles
every_held_title = {
limit = {
tier >= tier_county
}
save_scope_as = title_claim
root = {
every_sibling = {
limit = {
OR = {
AND = {
is_male = yes
faith_dominant_gender_male_or_equal = yes
}
AND = {
is_female = yes
faith_dominant_gender_female_or_equal = yes
}
}
NOT = {
has_claim_on = scope:title_claim
}
}
add_pressed_claim = scope:title_claim
add_to_list = ai_claimant_faction_preference
}
every_in_list = {
list = disobedient_kurultai
limit = {
OR = {
AND = {
is_male = yes
faith_dominant_gender_male_or_equal = yes
}
AND = {
is_female = yes
faith_dominant_gender_female_or_equal = yes
}
}
NOT = {
has_claim_on = scope:title_claim
}
}
add_pressed_claim = scope:title_claim
add_to_list = ai_claimant_faction_preference
}
}
}
random_in_list = {
list = ai_claimant_faction_preference
limit = {
is_physically_able = yes
}
weight = {
base = 1
modifier = {
add = martial
}
modifier = {
add = prowess
}
modifier = {
add = dread
}
modifier = {
add = -250
is_adult = no
}
}
add_character_flag = nomad_preferred_claimant
}
create_character_memory = {
type = had_chaotic_kurultai_succession
}
}
}
random_on_action = {
10 = kurultai_succession_chaotic_minor
20 = kurultai_succession_chaotic_medium
90 = kurultai_succession_chaotic_major
}
}
kurultai_succession_chaotic_minor = {
trigger = {
# No trigger for Minor penalties
NOT = {
has_character_flag = had_mongolia_split
}
}
weight_multiplier = {
base = 1
modifier = { # be a bit kinder to the AI
factor = 2
is_ai = yes
}
}
random_events = {
100 = mpo_chaotic_kurultai_succession.0001 # Siblings become your rivals
100 = mpo_chaotic_kurultai_succession.0002 # Brother seizes the lands of a Tributary and becomes independent
100 = mpo_chaotic_kurultai_succession.0003 # Tributary leaves
100 = mpo_chaotic_kurultai_succession.0004 # County Control loss
100 = mpo_chaotic_kurultai_succession.0005 # Loss of Prestige Level
100 = mpo_chaotic_kurultai_succession.0006 # 10% of Herd defects to Neighboring realm
100 = mpo_chaotic_kurultai_succession.0007 # Good Courtiers defect to Neighbor
100 = mpo_chaotic_kurultai_succession.0008 # MaA Regiment defects to neighbor
}
}
kurultai_succession_chaotic_medium = {
trigger = {
OR = {
"list_size(disobedient_kurultai)" >= 2
"list_size(obedient_kurultai)" <= 0
}
OR = {
highest_held_title_tier >= tier_kingdom
any_tributary = {
count >= 10
}
}
NOT = {
has_character_flag = had_mongolia_split
}
}
random_events = {
100 = mpo_chaotic_kurultai_succession.0009 # Gold divided by Siblings
100 = mpo_chaotic_kurultai_succession.0010 # Legitimacy -500
100 = mpo_chaotic_kurultai_succession.0011 # 20% of Herd defects to Neighboring realm
300 = mpo_chaotic_kurultai_succession.0013 # 20% Realm Split
100 = mpo_chaotic_kurultai_succession.0016 # 3 Tributaries leave
}
}
kurultai_succession_chaotic_major = {
trigger = {
OR = {
"list_size(disobedient_kurultai)" >= "list_size(obedient_kurultai)"
"list_size(obedient_kurultai)" <= 0
}
OR = {
highest_held_title_tier >= tier_kingdom
any_tributary = {
count >= 10
}
}
NOT = {
has_character_flag = had_mongolia_split
}
}
weight_multiplier = {
base = 1
modifier = { # be a bit kinder to the AI
factor = 0.5
is_ai = yes
}
}
random_events = {
300 = mpo_chaotic_kurultai_succession.0012 # 50% Split realm De Jure with Sibling
50 = mpo_chaotic_kurultai_succession.0014 # Extreme kurultai disapproval: shatter realm
100 = mpo_chaotic_kurultai_succession.0015 # 40% of Herd defects to Neighboring realm
100 = mpo_chaotic_kurultai_succession.0017 # All Tributaries leave
}
}
mpo_tributary_check_pulse = {
trigger = {
is_landed = no
is_migrating = no
is_at_war = no
number_of_tributaries > 0
}
effect = {
every_tributary = {
root = {
send_interface_message = {
type = msg_tributaries_breaking_free_bad
title = tributaries_breaking_free_message_title
left_icon = root
right_icon = prev
show_as_tooltip = {
prev = { end_tributary = yes }
}
}
}
send_interface_message = {
type = msg_tributaries_breaking_free_good
title = tributaries_breaking_free_message_player_title
left_icon = this
right_icon = root
end_tributary = yes
}
}
}
}
mpo_de_jure_shift = {
trigger = {
government_has_flag = government_is_nomadic
highest_held_title_tier >= tier_kingdom
}
effect = {
switch = {
trigger = root.highest_held_title_tier
tier_empire = {
de_jure_shifting_effect = {
UPPER_TIER = empire
LOWER_TIER = kingdom
}
}
tier_kingdom = {
de_jure_shifting_effect = {
UPPER_TIER = kingdom
LOWER_TIER = duchy
}
}
}
}
}
# root - Character who changed government
# scope:old_government - Character's old government type
on_government_change = {
effect = {
if = {
limit = {
scope:old_government = government_type:nomad_government
NOT = { government_has_flag = government_allows_nomad_domicile_titles }
}
every_held_title = {
limit = { is_nomad_title = yes }
root = {
destroy_title = prev
}
}
}
if = {
limit = {
is_confederation_member = yes
NAND = {
government_is_japanese_trigger = yes
exists = house.house_confederation
}
NOR = {
government_has_flag = government_is_nomadic
government_has_flag = government_is_tribal
}
}
confederation = {
remove_confederation_member = root
}
}
if = {
limit = {
has_variable = crowned_emperor_var
NOR = {
has_game_rule = coronation_laws_off
has_realm_law = crowned_emperor
}
}
add_realm_law = crowned_emperor
}
if = {
limit = {
has_variable = crowned_king_var
NOR = {
has_game_rule = coronation_laws_off
has_realm_law = crowned_king
}
}
add_realm_law = crowned_king
}
if = {
limit = { scope:old_government = government_type:mandala_government }
#Remove Aspect modifiers/variables
if = {
limit = { has_character_modifier = mandala_increments_of_peace_modifier }
remove_character_modifier = mandala_increments_of_peace_modifier
}
if = {
limit = { has_character_modifier = mandala_creator_modifier }
remove_character_modifier = mandala_creator_modifier
}
remove_variable = mandala_house_power_accumulated_increments_of_peace
remove_variable = mandala_house_power_accumulated_creator
#Remove max piety cap modifiers/variables
if = {
limit = { has_character_modifier = budding_divinity_modifier }
remove_character_modifier = budding_divinity_modifier
}
if = {
limit = { has_character_modifier = budding_deity_modifier }
remove_character_modifier = budding_deity_modifier
}
if = {
limit = { has_character_modifier = budding_godhood_modifier }
remove_character_modifier = budding_godhood_modifier
}
remove_variable = not_subject_to_succession_trials
remove_variable = tribute_mission_grace
}
if = {
limit = {
government_has_flag = government_is_mandala
is_house_head = yes
}
#Set the house aspect to default, please
house = {
set_house_aspiration = { type = no_aspect }
}
}
}
}