unfucking the mod

This commit is contained in:
trashmasteruni 2026-01-06 14:25:21 +01:00
parent cbe3fbcda2
commit d887392b56
1167 changed files with 26982 additions and 13 deletions

View file

@ -0,0 +1,307 @@
namespace = court_astrologer_events
#Triggered by the "Consult the Skies" decision
court_astrologer_events.0001 = {
type = character_event
title = court_astrologer_events.0001.t
desc = court_astrologer_events.0001.desc
theme = faith
override_effect_2d = {
reference = legend_glow
}
left_portrait = {
character = root
triggered_animation = {
trigger = {
has_trait = zealous
}
animation = beg
}
triggered_animation = {
trigger = {
OR = {
has_trait = craven
has_trait = paranoid
}
}
animation = worry
}
triggered_animation = {
trigger = {
OR = {
has_trait = cynical
has_trait = arrogant
}
}
animation = boredom
}
animation = prayer
}
right_portrait = {
character = scope:astrologer
animation = holding_staff
}
immediate = {
random_courtier = {
limit = { has_court_position = court_astrologer_court_position }
save_scope_as = astrologer
}
}
option = { # Tell me about my love life
name = court_astrologer_events.0001.a
random_list = {
50 = {
desc = court_astrologer_events.0001.a.success
send_interface_toast = {
title = court_astrologer_events.0001.a.success
left_icon = root
custom_tooltip = court_astrologer_events.0001.a.success.tt
if = {
limit = {
culture ?= { has_cultural_pillar = ethos_spiritual }
}
add_character_modifier = {
modifier = mpo_divination_love_spiritual_modifier
years = 5
}
}
else = {
add_character_modifier = {
modifier = mpo_divination_love_modifier
years = 5
}
}
}
}
50 = {
desc = court_astrologer_events.0001.a.failure
send_interface_toast = {
title = court_astrologer_events.0001.a.failure
left_icon = root
add_stress = minor_stress_loss
}
}
}
stress_impact = {
paranoid = miniscule_stress_impact_gain
cynical = miniscule_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Tell me about war
name = court_astrologer_events.0001.b
random_list = {
50 = {
desc = court_astrologer_events.0001.b.success
send_interface_toast = {
title = court_astrologer_events.0001.b.success
left_icon = root
if = {
limit = {
culture ?= { has_cultural_pillar = ethos_spiritual }
}
add_character_modifier = {
modifier = mpo_divination_war_spiritual_modifier
years = 5
}
}
else = {
add_character_modifier = {
modifier = mpo_divination_war_modifier
years = 5
}
}
}
}
50 = {
desc = court_astrologer_events.0001.a.failure
send_interface_toast = {
title = court_astrologer_events.0001.a.failure
left_icon = root
add_stress = minor_stress_loss
}
}
}
stress_impact = {
paranoid = miniscule_stress_impact_gain
cynical = miniscule_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Just tell me about life
name = court_astrologer_events.0001.c
random_list = {
50 = {
desc = court_astrologer_events.0001.c.success
send_interface_toast = {
title = court_astrologer_events.0001.c.success
left_icon = root
if = {
limit = {
culture ?= { has_cultural_pillar = ethos_spiritual }
}
add_character_modifier = {
modifier = mpo_divination_life_spiritual_modifier
years = 5
}
}
else = {
add_character_modifier = {
modifier = mpo_divination_life_modifier
years = 5
}
}
}
}
50 = {
desc = court_astrologer_events.0001.a.failure
send_interface_toast = {
title = court_astrologer_events.0001.a.failure
left_icon = root
add_stress = minor_stress_loss
}
}
}
stress_impact = {
paranoid = miniscule_stress_impact_gain
cynical = miniscule_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Actually, not right now
name = court_astrologer_events.0001.d
remove_decision_cooldown = mpo_divination_decision
ai_chance = {
base = 0
}
}
}
# Migration Suggestion
scripted_trigger court_astrologer_events_0002_neighbour_trigger = {
government_has_flag = government_is_nomadic
current_domain_fertility >= root.current_domain_fertility
is_independent_ruler = yes
}
court_astrologer_events.0002 = {
type = character_event
title = court_astrologer_events.0002.t
desc = {
desc = court_astrologer_events.0002.desc.intro
first_valid = {
triggered_desc = {
trigger = {
location.county.county_fertility <= bad_county_fertility_level
}
desc = court_astrologer_events.0002.desc.bad
}
desc = court_astrologer_events.0002.desc.meh
}
desc = court_astrologer_events.0002.desc.outro
}
theme = nomads
override_background = { reference = mpo_steppe_evening }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:astrologer
animation = holding_staff
}
lower_center_portrait = scope:target_realm_owner
cooldown = { years = 5 }
trigger = {
has_mpo_dlc_trigger = yes
government_has_flag = government_is_nomadic
is_available = yes
employs_court_position = court_astrologer_court_position
court_position:court_astrologer_court_position = { is_available = yes }
any_neighboring_realm_same_rank_owner = {
court_astrologer_events_0002_neighbour_trigger = yes
}
}
weight_multiplier = {
base = 1
modifier = {
current_domain_fertility <= bad_county_fertility_level
factor = 2
}
}
immediate = {
court_position:court_astrologer_court_position = {
save_scope_as = astrologer
get_quirk_character_effect = yes
}
ordered_neighboring_realm_same_rank_owner = {
limit = {
court_astrologer_events_0002_neighbour_trigger = yes
}
order_by = current_domain_fertility
save_scope_as = target_realm_owner
primary_title = { save_scope_as = target_realm }
}
}
option = { # Sounds like a great idea
name = court_astrologer_events.0002.a
custom_tooltip = court_astrologer_events.0002.a.tt
set_variable = {
name = astrologer_desired_area
value = scope:target_realm
years = 5
}
stress_impact = {
paranoid = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Thank you for your feedback
name = court_astrologer_events.0002.b
scope:astrologer = {
add_opinion = {
target = root
modifier = respect_opinion
opinion = 20
}
}
stress_impact = {
paranoid = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # I'm good
name = court_astrologer_events.0002.c
add_prestige = minor_prestige_gain
stress_impact = {
paranoid = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,988 @@
namespace = mpo_events_anna
##################################################
# Anna's Events for MPO
#Train Them Young - teach a child how to ride a horse
mpo_events_anna.0001 = {
type = character_event
title = mpo_events_anna.0001.t
desc = mpo_events_anna.0001.desc
theme = nomads
left_portrait = {
character = scope:pushy_adult
animation = standing_horse
camera = camera_event_standing_with_horse_left
}
right_portrait = {
character = scope:child
animation = clutching_ball
}
cooldown = { years = 20 }
trigger = {
has_mpo_dlc_trigger = yes
is_adult = yes
location = { geographical_region = world_steppe }
government_has_flag = government_is_nomadic
any_child = {
is_available_child = yes
location = root.location
age >= 5
}
any_courtier = {
is_available_healthy_ai_adult = yes
}
}
immediate = {
random_child = {
limit = {
is_available_child = yes
location = root.location
age >= 5
}
save_scope_as = child
}
random_courtier = {
limit = {
is_available_healthy_ai_adult = yes
}
save_scope_as = pushy_adult
}
}
#Put the child on the horse
option = {
name = mpo_events_anna.0001.a
flavor = mpo_events_anna.0001.a.tt
random_list = {
70 = {
desc = mpo_events_anna.0001.a.toast.good
send_interface_toast = {
type = event_toast_effect_good
title = mpo_events_anna.0001.a.toast.good
left_icon = scope:child
right_icon = root
scope:child = { add_learning_lifestyle_xp = medium_lifestyle_experience }
}
}
20 = {
desc = mpo_events_anna.0001.a.toast.neutral
send_interface_toast = {
type = event_toast_effect_neutral
title = mpo_events_anna.0001.a.toast.neutral
left_icon = scope:child
right_icon = root
scope:child = { add_stress = miniscule_stress_gain }
}
}
10 = {
desc = mpo_events_anna.0001.a.toast.bad
send_interface_toast = {
type = event_toast_effect_bad
title = mpo_events_anna.0001.a.toast.bad
left_icon = scope:child
right_icon = root
scope:child = { increase_wounds_effect = { REASON = fall }
}
}
}
}
reverse_add_opinion = {
target = scope:pushy_adult
modifier = respect_opinion
opinion = 10
}
stress_impact = {
craven = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
brave = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = 1
ai_boldness = 1
}
}
}
#Ride together with the child on the horse
option = {
name = mpo_events_anna.0001.b
reverse_add_opinion = {
target = scope:child
modifier = kindness_opinion
opinion = 20
}
add_prestige = minor_prestige_loss
stress_impact = {
callous = minor_stress_impact_gain
compassionate = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = 1
ai_rationality = 1
}
}
}
#Refuse their request
option = {
name = mpo_events_anna.0001.c
reverse_add_opinion = {
target = scope:pushy_adult
modifier = disrespect_opinion
opinion = -10
}
stress_impact = {
craven = minor_stress_impact_loss
paranoid = minor_stress_impact_loss
brave = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = -1
ai_boldness = -1
}
}
}
}
#Stories from the Past - choose a story to be told
mpo_events_anna.0005 = {
type = character_event
title = mpo_events_anna.0005.t
desc = mpo_events_anna.0005.desc
theme = nomads
left_portrait = {
character = root
animation = ecstasy
}
right_portrait = {
character = scope:storyteller
animation = storyteller
}
override_background = mpo_campfire_steppe
cooldown = { years = 20 }
trigger = {
has_mpo_dlc_trigger = yes
is_available_child = yes
age >= 5
location = { geographical_region = world_steppe }
government_has_flag = government_is_nomadic
any_courtier = {
is_available_healthy_ai_adult = yes
}
}
immediate = {
random_courtier = {
limit = {
is_available_healthy_ai_adult = yes
}
save_scope_as = storyteller
}
}
#Fantastical creatures
option = {
name = mpo_events_anna.0005.a
flavor = mpo_events_anna.0005.a.tt
add_character_modifier = {
modifier = mpo_storyteller_fantastical_creatures_modifier
years = 5
}
stress_impact = {
eccentric = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = -1
ai_energy = 1
}
}
}
#Humorous tales
option = {
name = mpo_events_anna.0005.b
flavor = mpo_events_anna.0005.b.tt
add_character_modifier = {
modifier = mpo_storyteller_humorous_tales_modifier
years = 5
}
add_stress = minor_stress_loss
stress_impact = {
gregarious = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = 1
ai_sociability = 1
}
}
}
#Heroic triumphs
option = {
name = mpo_events_anna.0005.c
flavor = mpo_events_anna.0005.c.tt
add_character_modifier = {
modifier = mpo_storyteller_heroic_triumphs_modifier
years = 5
}
stress_impact = {
wrathful = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = 1
ai_boldness = 1
}
}
}
}
#Whistle Like an Arrow - being taught how to whistle as a child
mpo_events_anna.0010 = {
type = character_event
title = mpo_events_anna.0010.t
desc = mpo_events_anna.0010.desc
theme = nomads
left_portrait = {
character = root
animation = shame
}
right_portrait = {
character = scope:whistler
animation = storyteller
}
cooldown = { years = 10 }
trigger = {
has_mpo_dlc_trigger = yes
is_available_child = yes
age >= 5
location = { geographical_region = world_steppe }
government_has_flag = government_is_nomadic
OR = {
any_relation = {
type = guardian
location = root.location
is_available = yes
}
any_parent = {
location = root.location
is_available = yes
}
}
}
immediate = {
if = {
limit = {
any_relation = {
type = guardian
location = root.location
is_available = yes
}
}
random_relation = {
type = guardian
limit = {
location = root.location
is_available = yes
}
save_scope_as = whistler
}
}
else_if = {
limit = {
any_parent = {
location = root.location
is_available = yes
}
}
random_parent = {
limit = {
location = root.location
is_available = yes
}
save_scope_as = whistler
}
}
}
option = {
name = mpo_events_anna.0010.a
custom_tooltip = mpo_events_anna.0010.a.tt.learning
duel = {
skill = learning
value = mediocre_skill_rating
50 = {
compare_modifier = {
value = scope:duel_value
#This takes the whistlers learning skill into account, using their skills to teach the child of how to whistle
multiplier = { add = scope:whistler.learning multiply = 0.5 }
min = -39
}
desc = mpo_events_anna.0010.a.tt.success
send_interface_toast = {
type = event_toast_effect_good
title = mpo_events_anna.0010.a.tt.success
left_icon = root
right_icon = scope:whistler
add_learning_lifestyle_xp = medium_lifestyle_experience
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = { add = scope:whistler.learning multiply = -0.5 }
min = -39
}
desc = mpo_events_anna.0010.a.tt.failure
send_interface_toast = {
type = event_toast_effect_bad
title = mpo_events_anna.0010.a.tt.failure
left_icon = root
right_icon = scope:whistler
add_character_modifier = {
modifier = mpo_whistling_is_difficult_modifier
years = 5
}
}
}
}
stress_impact = {
pensive = minor_stress_impact_loss
bossy = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = 1
ai_sociability = 1
}
}
}
option = {
name = mpo_events_anna.0010.b
add_prestige = miniscule_prestige_gain
reverse_add_opinion = {
target = scope:whistler
modifier = disappointed_opinion
opinion = -5
}
stress_impact = {
bossy = minor_stress_impact_loss
pensive = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = -1
ai_sociability = -1
}
}
}
}
#A Morsel of Meat - choose the fate of a fawn stuck in a trap
mpo_events_anna.0015 = {
type = character_event
title = mpo_events_anna.0015.t
desc = mpo_events_anna.0015.desc
theme = travel
left_portrait = {
character = root
animation = personality_dishonorable
}
right_portrait = {
character = scope:sceptic
animation = personality_cynical
}
cooldown = { years = 10 }
trigger = {
has_mpo_dlc_trigger = yes
is_adult = yes
location = { geographical_region = world_steppe }
government_has_flag = government_is_landless_adventurer
NOT = {
culture = { has_cultural_tradition = tradition_vegetarianism }
}
is_available_travelling = yes
domicile = {
provisions <= medium_provisions_value
}
current_travel_plan = {
any_entourage_character = {
is_available_allow_travelling = yes
}
}
}
immediate = {
current_travel_plan = {
random_entourage_character = {
limit = {
is_available_allow_travelling = yes
}
save_scope_as = sceptic
}
}
}
#Steal the prey, kill it for provisions
option = {
name = mpo_events_anna.0015.a
domicile = {
change_provisions = minor_provisions_gain
}
add_prestige = minor_prestige_loss
stress_impact = {
humble = minor_stress_impact_gain
arrogant = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = -1
ai_greed = 1
}
}
}
#Convince the entourage that it is your trap you laid out
option = {
name = mpo_events_anna.0015.b
duel = {
skill = intrigue
value = high_skill_rating
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
domicile = {
change_provisions = minor_provisions_gain
}
add_character_modifier = {
modifier = mpo_sufficient_liar_modifier
years = 5
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
add_prestige = minor_prestige_loss
add_stress = medium_stress_gain
}
}
stress_impact = {
honest = minor_stress_impact_gain
deceitful = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = -1
ai_greed = 1
ai_boldness = 1
}
}
}
#Release the animal
option = {
name = mpo_events_anna.0015.c
add_character_modifier = {
modifier = mpo_trapped_fawn_modifier
years = 5
}
add_prestige = miniscule_prestige_loss
stress_impact = {
callous = minor_stress_impact_gain
compassionate = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = 1
ai_rationality = 1
}
}
}
#It isn't your trap, leave it be
option = {
name = mpo_events_anna.0015.d
add_prestige = miniscule_prestige_gain
stress_impact = {
arbitrary = minor_stress_impact_gain
just = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = 1
ai_rationality = 1
}
}
}
}
#Race Against Time - encounter a wounded messenger
mpo_events_anna.0020 = {
type = character_event
title = mpo_events_anna.0020.t
desc = mpo_events_anna.0020.desc
theme = travel
left_portrait = {
character = root
animation = disbelief
}
right_portrait = {
character = scope:messenger
animation = loss_1
}
cooldown = { years = 20 }
trigger = {
has_mpo_dlc_trigger = yes
is_adult = yes
location = { geographical_region = world_steppe }
government_has_flag = government_is_nomadic
is_independent_ruler = no
is_available_travelling = yes
}
immediate = {
create_character = {
template = wounded_messenger_character_template
location = root.location
culture = this.culture
faith = this.faith
save_scope_as = messenger
after_creation = {
scope:messenger = {
increase_wounds_effect = { REASON = battle }
}
}
}
#This is to make sure that the Trait Wounded is being cured by the root (player) in option A
save_scope_as = physician
}
#Treat the messengers wounds
option = {
name = mpo_events_anna.0020.a
current_travel_plan = {
delay_travel_plan = { days = 14 }
}
custom_tooltip = mpo_events_anna.0020.war_impact.tt
hidden_effect = {
liege = {
add_character_modifier = {
modifier = mpo_messenger_negative_liege_modifier
years = 10
}
}
}
duel = {
skill = learning
value = high_skill_rating
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
modifier = {
current_travel_plan = {
any_entourage_character = {
has_court_position = court_physician_court_position
}
}
add = 10
}
modifier = {
root = {
has_trait = lifestyle_herbalist
}
add = 10
}
send_interface_toast = {
type = event_toast_effect_good
title = mpo_events_anna.0020.a.toast.good
left_icon = scope:messenger
right_icon = root
scope:messenger = {
wound_treatment_results_effect = { TREATMENT = safe OUTCOME = success }
}
current_travel_plan = { add_companion = scope:messenger }
reverse_add_opinion = {
modifier = grateful_opinion
target = scope:messenger
opinion = 10
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
send_interface_toast = {
type = event_toast_effect_bad
title = mpo_events_anna.0020.a.toast.bad
left_icon = scope:messenger
right_icon = root
}
scope:messenger = {
death = {
death_reason = death_wounds
}
}
}
}
stress_impact = {
cynical = minor_stress_impact_gain
compassionate = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = 1
}
}
}
#Deliver the message
option = {
name = mpo_events_anna.0020.b
current_travel_plan = {
delay_travel_plan = { days = 21 }
}
scope:messenger = {
death = {
death_reason = death_wounds
}
}
custom_tooltip = mpo_events_anna.0020.war_impact.tt
duel = {
skill = prowess
value = high_skill_rating
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
modifier = {
any_owned_story = {
story_type = story_cycle_martial_lifestyle_warhorse
}
add = 10
}
send_interface_toast = {
type = event_toast_effect_good
title = mpo_events_anna.0020.b.toast.good
left_icon = root
add_hook = {
target = liege
type = favor_hook
}
}
hidden_effect = {
liege = {
add_character_modifier = {
modifier = mpo_messenger_positive_liege_modifier
years = 10
}
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
send_interface_toast = {
type = event_toast_effect_bad
title = mpo_events_anna.0020.b.toast.bad
left_icon = root
hidden_effect = {
liege = {
add_character_modifier = {
modifier = mpo_messenger_negative_liege_modifier
years = 10
}
}
}
}
}
}
stress_impact = {
brave = minor_stress_impact_loss
diligent = minor_stress_impact_loss
craven = minor_stress_impact_gain
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 1
}
}
}
#How can they be trusted?
option = {
name = mpo_events_anna.0020.c
flavor = mpo_events_anna.0020.c_flavor
hidden_effect = {
liege = {
add_character_modifier = {
modifier = mpo_messenger_negative_liege_modifier
years = 10
}
}
}
add_gold = { 5 15 }
scope:messenger = {
death = {
death_reason = death_wounds
}
}
custom_tooltip = mpo_events_anna.0020.war_impact.tt
current_travel_plan = {
every_entourage_character = {
limit = {
has_trait = trusting
}
add_opinion = {
modifier = cruelty_opinion
target = root
opinion = -10
}
}
}
stress_impact = {
trusting = minor_stress_impact_gain
paranoid = minor_stress_impact_loss
sadistic = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 1
}
}
}
}
#Familiar Tunes - encounter with a performer
mpo_events_anna.0025 = {
type = character_event
title = mpo_events_anna.0025.t
desc = mpo_events_anna.0025.desc
theme = travel
left_portrait = {
character = root
animation = happiness
}
right_portrait = {
character = scope:throat_singer
animation = lute_active
}
cooldown = { years = 10 }
trigger = {
has_mpo_dlc_trigger = yes
is_adult = yes
location = { geographical_region = world_steppe }
government_has_flag = government_is_nomadic
is_available_travelling = yes
}
immediate = {
create_character = {
template = throat_singer_character_template
location = root.location
culture = this.culture
faith = this.faith
save_scope_as = throat_singer
}
}
option = {
name = mpo_events_anna.0025.a
duel = {
skill = learning
value = low_skill_rating
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = mpo_events_anna.0025.a.toast.success
send_interface_toast = {
type = event_toast_effect_good
title = mpo_events_anna.0025.a.toast.success
left_icon = root
right_icon = scope:throat_singer
add_character_modifier = {
modifier = mpo_inspiring_tunes_modifier
years = 5
}
add_learning_lifestyle_xp = medium_lifestyle_experience
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = mpo_events_anna.0025.a.toast.failure
send_interface_toast = {
type = event_toast_effect_bad
title = mpo_events_anna.0025.a.toast.failure
left_icon = root
right_icon = scope:throat_singer
add_prestige = miniscule_prestige_loss
}
}
}
stress_impact = {
calm = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = -1
ai_energy = 1
ai_sociability = 1
}
}
}
option = {
name = mpo_events_anna.0025.b
add_stress = medium_stress_loss
stress_impact = {
calm = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 1
ai_energy = 1
ai_sociability = 1
}
}
}
after = {
scope:throat_singer = {
silent_disappearance_ai_effect = yes
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,453 @@
namespace = mpo_flavor_events_settled
# mpo_flavor_events_settled.0001 - You hear of a Havsarsan Zud
# mpo_flavor_events_settled.0010 - Horse Lord at your door
#######################
# You hear of a Havsarsan Zud
#######################
mpo_flavor_events_settled.0001 = {
type = character_event
title = mpo_flavor_events_settled.0001.t
desc = mpo_flavor_events_settled.0001.desc
theme = nomads
override_background = { reference = ep3_city_gate }
left_portrait = {
character = root
triggered_animation = {
trigger = {
OR = {
has_trait = callous
has_trait = sadistic
}
}
animation = schadenfreude
}
triggered_animation = {
trigger = {
OR = {
has_trait = brave
has_trait = arrogant
}
}
animation = dismissal
}
animation = worry
}
right_portrait = {
character = scope:nomad
animation = horse_exhausted
camera = camera_event_horse_right
}
widget = {
gui = "event_window_widget_vfx_snowstorm"
container = "foreground_shader_vfx_container"
}
cooldown = { years = 10 }
trigger = {
has_mpo_dlc_trigger = yes
NOT = { government_has_flag = government_is_nomadic }
OR = {
any_character_situation = { # You are a settled ruler in the Great Steppe
any_participant_group = {
participant_group_type = settled_rulers
participant_group_has_character = root
}
any_situation_sub_region = {
sub_region_current_phase = situation_steppe_havsarsan_zud_season
}
}
any_sub_realm_county = { # You are neighbouring the Great Steppe
any_neighboring_county = {
holder != root
any_county_situation = {
situation:the_great_steppe ?= this
any_situation_sub_region = {
sub_region_current_phase = situation_steppe_havsarsan_zud_season
}
}
}
}
}
}
immediate = {
if = {
limit = {
any_neighboring_top_liege_realm_owner = {
government_has_flag = government_is_nomadic
}
}
random_neighboring_top_liege_realm_owner = {
limit = { government_has_flag = government_is_nomadic }
save_scope_as = nomad_lord
}
}
else = {
random_ruler = {
limit = {
in_diplomatic_range = root
government_has_flag = government_is_nomadic
}
save_scope_as = nomad_lord
}
}
create_character = {
location = root.location
template = nomadic_hunter_template
faith = scope:nomad_lord.faith
culture = scope:nomad_lord.culture
save_scope_as = nomad
}
scope:nomad = { add_trait = nomadic_philosophy }
}
option = { # Get out
name = mpo_flavor_events_settled.0001.aa
reason = faith
add_internal_flag = special
trigger = {
faith = {
trait_is_virtue = callous
}
}
add_piety = medium_piety_gain
stress_impact = {
callous = major_stress_impact_loss
generous = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 2
has_trait = callous
}
modifier = {
factor = 0
OR = {
has_trait = generous
has_trait = paranoid
}
}
}
}
option = { # Let's prepare
name = mpo_flavor_events_settled.0001.a
remove_short_term_gold = medium_gold_value
every_sub_realm_county = {
limit = { holder = root }
add_county_modifier = {
modifier = mpo_settled_preparations_war_county_modifier
years = 15
}
}
stress_impact = {
wrathful = medium_stress_impact_loss
brave = medium_stress_impact_loss
craven = medium_stress_impact_gain
greedy = medium_stress_impact_gain
avaricious = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
OR = {
has_trait = wrathful
has_trait = brave
}
factor = 0
}
modifier = {
OR = {
short_term_gold <= major_gold_value
has_trait = greedy
has_trait = avaricious
has_trait = craven
}
factor = 0
}
}
}
option = { # We should focus on building
name = mpo_flavor_events_settled.0001.b
every_sub_realm_county = {
limit = { holder = root }
add_county_modifier = {
modifier = mpo_settled_preparations_building_county_modifier
years = 10
}
}
stress_impact = {
compassionate = major_stress_impact_loss
greedy = medium_stress_impact_gain
avaricious = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Recruit this guy
name = mpo_flavor_events_settled.0001.c
trigger = {
NOT = {
faith = {
trait_is_virtue = callous
}
}
}
add_courtier = scope:nomad
if = {
limit = {
faith = { trait_is_virtue = compassionate }
}
add_piety = major_piety_gain
}
else = {
add_piety = medium_piety_gain
}
stress_impact = {
compassionate = major_stress_impact_loss
callous = major_stress_impact_gain
}
ai_chance = {
base = 100
}
}
after = {
custom_tooltip = mpo_flavor_events_settled.0001.tt
if = {
limit = { is_ai = yes }
scope:nomad = { silent_disappearance_effect = yes }
}
}
}
#######################
# Horse Lord at your door
#######################
scripted_trigger mpo_flavor_events_settled_0010_valid_nomad_lord_trigger = {
government_has_flag = government_is_nomadic
NOR = {
is_close_family_of = root
is_vassal_of = root
is_tributary_of = root
this = root.liege
this = root.suzerain
}
any_character_situation = {
situation:the_great_steppe ?= this
}
}
mpo_flavor_events_settled.0010 = {
type = character_event
title = mpo_flavor_events_settled.0010.t
desc = mpo_flavor_events_settled.0010.desc
theme = nomads
override_background = { reference = ep3_city_gate }
left_portrait = {
character = root
animation = anger
}
right_portrait = {
character = scope:nomad
animation = horse_conversing_left
camera = camera_event_horse_right
}
lower_right_portrait = scope:nomad_lord
cooldown = { years = 10 }
trigger = {
has_mpo_dlc_trigger = yes
NOT = { government_has_flag = government_is_nomadic }
any_neighboring_top_liege_realm_owner = {
mpo_flavor_events_settled_0010_valid_nomad_lord_trigger = yes
}
}
weight_multiplier = {
base = 1
modifier = {
any_neighboring_top_liege_realm_owner = {
government_has_flag = government_is_nomadic
highest_held_title_tier >= tier_kingdom
}
factor = 2
}
}
immediate = {
random_neighboring_top_liege_realm_owner = {
limit = { mpo_flavor_events_settled_0010_valid_nomad_lord_trigger = yes }
weight = {
base = 1
modifier = {
highest_held_title_tier >= tier_kingdom
add = 5
}
}
save_scope_as = nomad_lord
}
create_character = {
location = root.location
template = nomadic_commander_template
faith = scope:nomad_lord.faith
culture = scope:nomad_lord.culture
save_scope_as = nomad
}
hidden_effect = {
scope:nomad = { add_trait = nomadic_philosophy }
scope:nomad_lord = { add_courtier = scope:nomad }
}
}
option = { # Pay tribute
name = mpo_flavor_events_settled.0010.a
trigger = {
OR = {
scope:nomad_lord.primary_title.tier > root.primary_title.tier
scope:nomad_lord.current_military_strength > root.current_military_strength
}
}
start_tributary_interaction_effect = {
TRIBUTARY = root
SUZERAIN = scope:nomad_lord
}
scope:nomad_lord = {
add_opinion = {
target = root
modifier = pleased_opinion
opinion = 25
}
}
add_prestige = medium_prestige_gain
stress_impact = {
vengeful = major_stress_impact_loss
compassionate = medium_stress_impact_gain
}
ai_chance = {
base = 0
}
}
option = { # Pay to get truce
name = mpo_flavor_events_settled.0010.b
trigger = {
NOR = {
scope:nomad_lord.primary_title.tier > root.primary_title.tier
scope:nomad_lord.current_military_strength > root.current_military_strength
}
}
if = {
limit = {
has_perk = defensive_measures_perk
}
custom_tooltip = mpo_flavor_events_settled.0010.b_perk_tt
pay_short_term_gold = {
target = scope:nomad_lord
gold = root.purchase_truce_interaction_small_sum
}
add_truce_both_ways = {
character = scope:nomad_lord
days = purchase_truce_interaction_truce_days_medium_value
name = TRUCE_PURCHASED
}
}
else = {
pay_short_term_gold = {
target = scope:nomad_lord
gold = root.purchase_truce_interaction_medium_sum
}
add_truce_both_ways = {
character = scope:nomad_lord
days = purchase_truce_interaction_truce_days_medium_value
name = TRUCE_PURCHASED
}
}
stress_impact = {
brave = medium_stress_impact_gain
ambitious = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
OR = {
has_trait = content
has_trait = craven
}
factor = 2
}
modifier = {
OR = {
has_trait = brave
has_trait = ambitious
has_trait = arrogant
has_trait = greedy
gold <= root.purchase_truce_interaction_major_sum
}
factor = 0
}
}
}
option = { # Offend them
name = mpo_flavor_events_settled.0010.c
add_dread = medium_dread_value
scope:nomad_lord = {
progress_towards_rival_effect = {
CHARACTER = root
OPINION = -40
REASON = rival_disrespected_envoy
}
}
stress_impact = {
callous = major_stress_impact_loss
craven = major_stress_impact_gain
vengeful = major_stress_impact_gain
}
ai_chance = {
base = 0
modifier = {
add = 150
has_trait = callous
current_military_strength > scope:nomad_lord.current_military_strength
}
}
}
option = { # Let's just be friends
name = mpo_flavor_events_settled.0010.d
add_diplomacy_lifestyle_xp = minor_lifestyle_xp
scope:nomad_lord = {
add_opinion = {
target = root
modifier = pleased_opinion
opinion = 5
}
}
stress_impact = {
gregarious = medium_stress_impact_loss
}
ai_chance = {
base = 200
}
}
after = {
if = {
limit = { is_ai = yes }
scope:nomad = { silent_disappearance_effect = yes }
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,450 @@
namespace = mpo_jamukha_flavor
#######################
# Become Blood Brothers with Temujin
#######################
mpo_jamukha_flavor.0001 = {
type = character_event
title = mpo_jamukha_flavor.0001.t
desc = mpo_jamukha_flavor.0001.desc
theme = nomads
override_background = {
reference = mpo_campfire_steppe
}
left_portrait = {
character = root
animation = happiness
camera = camera_event_very_left
}
right_portrait = {
character = scope:temujin
animation = inspect_weapon
}
trigger = {
scope:temujin = {
is_alive = yes
NOR = {
has_relation_blood_brother = root
has_relation_rival = root
}
}
is_alive = yes
}
immediate = {
play_music_cue = "mx_cue_touching_moment"
scope:temujin = {
save_scope_as = blood_bro
}
}
option = { # Yay
name = mpo_jamukha_flavor.0001.a
name = mpo_jamukha_flavor.0001.a.tt
scope:temujin = {
set_relation_blood_brother = {
target = scope:jamukha
reason = blood_brother_temujin_jamukha
}
}
if = {
limit = {
NOR = {
has_character_flag = had_warhorse_story
any_owned_story = {
story_type = story_cycle_martial_lifestyle_warhorse
exists = var:story_cycle_horse_name
}
}
scope:jamukha = {
NOR = {
has_character_flag = had_warhorse_story
any_owned_story = {
story_type = story_cycle_martial_lifestyle_warhorse
exists = var:story_cycle_horse_name
}
}
}
}
custom_tooltip = temujin_warhorse_jamukha_tt
custom_tooltip = jamukha_warhorse_jamukha_tt
hidden_effect = {
start_warhorse_story_cycle_effect = yes
scope:temujin = {
start_warhorse_story_cycle_effect = yes
}
}
}
custom_tooltip = blood_brother_gains_hook_tt
custom_tooltip = blood_brother_gains_hook_other_tt
add_character_modifier = blood_brother_warrior_modifier
scope:temujin = {
add_character_modifier = blood_brother_warrior_modifier
}
stress_impact = {
gregarious = medium_stress_impact_loss
callous = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Not a chance
name = mpo_jamukha_flavor.0001.b
add_dread = minor_dread_gain
add_prestige = minor_prestige_gain
scope:temujin = {
add_opinion = {
target = root
modifier = disappointed_opinion
opinion = -25
}
}
stress_impact = {
base = minor_stress_impact_gain
callous = medium_stress_impact_loss
gregarious = medium_stress_impact_gain
}
ai_chance = {
base = 0
}
}
}
#######################
# You consider breaking free from Temujin
#######################
scripted_effect mpo_jamukha_flavor_0010_jamukha_leaving_effect = {
if = {
limit = { is_vassal_of = scope:temujin }
create_title_and_vassal_change = {
type = independency
save_scope_as = change
add_claim_on_loss = no
}
becomes_independent = {
change = scope:change
}
resolve_title_and_vassal_change = scope:change
}
else = {
end_tributary = yes
}
add_truce_both_ways = {
character = scope:temujin
years = 5
name = temujin_jamukha_truce
}
if = {
limit = {
current_military_strength < scope:temujin.current_military_strength
}
domicile ?= {
change_herd = {
value = scope:temujin.domicile.herd
multiply = 0.5
}
}
}
if = {
limit = {
exists = scope:togrul
}
show_as_tooltip = {
custom_tooltip = negotiate_togrul_alliance_effect_tooltip
create_alliance = {
target = scope:togrul
allied_through_owner = root
allied_through_target = scope:togrul
}
scope:togrul = {
add_opinion = {
target = scope:jamukha
modifier = event_negotiated_alliance_opinion
}
}
}
}
custom_tooltip = jamukha_temujin_response_warning_tt
}
scripted_trigger mpo_jamukha_flavor_0010_togrul_trigger = {
is_ai = yes
is_at_war = no
is_alive = yes
is_ruler = yes
NOR = {
is_at_war_with = root
has_relation_rival = root
is_vassal_of = scope:temujin
}
in_diplomatic_range = root
NOT = {
government_has_flag = government_is_herder
}
}
mpo_jamukha_flavor.0010 = {
type = character_event
title = mpo_jamukha_flavor.0010.t
desc = {
desc = mpo_jamukha_flavor.0010.desc
triggered_desc = {
trigger = {
exists = scope:togrul
}
desc = mpo_jamukha_flavor.0010.desc_togrul
}
}
theme = nomads
override_background = {
reference = mpo_steppe_evening
}
left_portrait = {
character = root
animation = war_attacker
camera = camera_event_very_left
}
right_portrait = {
character = scope:temujin
animation = dismissal
camera = camera_event_very_right
}
lower_right_portrait = scope:togrul
trigger = {
character:125501 = {
has_variable = had_mpo_temujin_flavor_0001
}
is_alive = yes
is_ruler = yes
character:125501 = {
is_alive = yes
is_available = yes
}
OR = {
is_vassal_of = character:125501
is_tributary_of = character:125501
}
NOT = {
is_at_war_with = character:125501
}
}
immediate = {
save_scope_as = jamukha
character:125501 = {
save_scope_as = temujin
}
if = {
limit = {
character:303211 = {
mpo_jamukha_flavor_0010_togrul_trigger = yes
}
}
character:303211 = {
save_scope_as = togrul
}
}
else_if = {
limit = {
character:303211.house ?= {
any_house_member = {
mpo_jamukha_flavor_0010_togrul_trigger = yes
}
}
}
character:303211.house ?= {
ordered_house_member = {
order_by = current_military_strength
limit = {
mpo_jamukha_flavor_0010_togrul_trigger = yes
}
save_scope_as = togrul
}
}
}
else = {
capital_county.empire ?= {
ordered_de_jure_county_holder = {
order_by = current_military_strength
limit = {
highest_held_title_tier <= tier_duchy
mpo_jamukha_flavor_0010_togrul_trigger = yes
}
save_scope_as = togrul
}
}
}
}
#I want to leave Temujin and take Togrul as an ally
option = {
name = mpo_jamukha_flavor.0010.a
show_as_tooltip = {
mpo_jamukha_flavor_0010_jamukha_leaving_effect = yes
}
scope:temujin = {
trigger_event = mpo_temujin_flavor.0010
add_opinion = {
target = root
modifier = betrayal_opinion
opinion = -40
}
}
ai_chance = {
base = 100
}
}
#I want to stay with Temujin and be friends forever
option = {
name = mpo_jamukha_flavor.0010.b
add_character_modifier = {
modifier = jamukha_chose_loyalty_modifier
years = 5
}
scope:temujin = {
add_opinion = {
target = root
modifier = loyalty_opinion
opinion = 30
}
}
stress_impact = {
base = miniscule_stress_impact_gain
}
ai_chance = {
base = 0
}
}
on_trigger_fail = { # Jamukha becomes your rival anyways if you've migrated away
if = {
limit = {
is_independent_ruler = yes
NOT = { is_tributary_of = scope:temujin }
}
hidden_effect = {
scope:temujin = {
trigger_event = {
days = { 360 420 }
id = mpo_temujin_flavor.0020
}
}
}
}
}
}
#######################
# Temujin becomes your rival -- now you must kill him
#######################
mpo_jamukha_flavor.0020 = {
type = character_event
title = mpo_jamukha_flavor.0020.t
desc = mpo_jamukha_flavor.0020.desc
theme = nomads
override_background = {
reference = mpo_campfire_steppe
}
left_portrait = {
character = root
animation = threatening
camera = camera_event_very_left
}
right_portrait = {
character = scope:temujin
animation = aggressive_sword
outfit_tags = { nightgown }
camera = camera_event_very_right
}
window = scheme_successful_event_no_text
immediate = {
play_music_cue = "mx_cue_murder"
custom_tooltip = jamukha_temujin_no_more_positive_tt
custom_tooltip = jamukha_temujin_rivals_tt
custom_tooltip = mpo_temujin_flavor.0020.cb.tt
if = {
limit = {
current_military_strength < scope:temujin.current_military_strength
}
domicile ?= {
change_herd = {
value = scope:temujin.domicile.herd
multiply = 1.5
}
}
add_prestige = major_prestige_gain # For MAA maintenance, mainly
custom_tooltip = jamukha_gain_from_defectors_tt
}
}
option = { # You who I once called brother
name = mpo_jamukha_flavor.0020.a
reason = blood_brother
add_internal_flag = special
trigger = { has_character_flag = was_temujins_bro }
custom_tooltip = {
text = mpo_jamukha_flavor.0020.a_war_win
set_variable = temujin_jamukha_war_var
}
add_character_modifier = {
modifier = temujin_jamukha_war_modifier
years = 5
}
stress_impact = {
base = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Murderrrrrrr
name = mpo_jamukha_flavor.0020.b
custom_tooltip = {
text = mpo_jamukha_flavor.0020.b_murder
set_variable = {
name = temujin_jamukha_murder_var
value = scope:temujin
}
}
stress_impact = {
deceitful = massive_stress_impact_loss
sadistic = massive_stress_impact_loss
}
ai_chance = {
base = 0
}
}
option = { # I'm going to crush your skull
name = mpo_jamukha_flavor.0020.c
trigger = {
NOT = { has_relation_blood_brother = scope:jamukha }
}
add_character_modifier = {
modifier = temujin_jamukha_war_smaller_modifier
years = 5
}
stress_impact = {
wrathful = massive_stress_impact_loss
vengeful = massive_stress_impact_loss
}
ai_chance = {
base = 100
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,131 @@
namespace = mpo_bb_events
############################
## Nomadic blood brother events
## 0001-0099
## By Alexander Windahl
############################
mpo_bb_events.0001 = {
type = character_event
title = mpo_bb_events.0001.t
desc = mpo_bb_events.0001.desc
theme = nomads
cooldown = { years = 15 }
left_portrait = {
character = root
animation = stayback
}
right_portrait = {
character = scope:my_blood_brother
animation = aggressive_unarmed
}
trigger = {
has_mpo_dlc_trigger = yes
government_has_flag = government_is_nomadic
is_available_adult = yes
any_ally = {
has_relation_blood_brother = root
is_available_ai_adult = yes
}
}
immediate = {
random_ally = {
limit = {
has_relation_blood_brother = root
is_available_ai_adult = yes
}
save_scope_as = my_blood_brother
}
}
option = {
ai_chance = {
base = 100
}
name = mpo_bb_events.0001.a
duel = {
skill = prowess
target = scope:my_blood_brother
# You win
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = mpo_bb_events.0001.a.tt_success
send_interface_toast = {
title = mpo_bb_events.0001.a.tt_success
left_icon = scope:my_blood_brother
add_prestige = minor_prestige_gain
reverse_add_opinion = {
target = scope:my_blood_brother
modifier = impressed_opinion
opinion = 30
}
}
}
# You lose
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = mpo_bb_events.0001.a.tt_failure
send_interface_toast = {
title = mpo_bb_events.0001.a.tt_failure
left_icon = scope:my_blood_brother
add_prestige = miniscule_prestige_loss
reverse_add_opinion = {
target = scope:my_blood_brother
modifier = amused_opinion
opinion = 10
}
}
}
}
}
option = {
ai_chance = {
base = 100
}
name = mpo_bb_events.0001.b
add_dread = minor_dread_loss
reverse_add_opinion = {
target = scope:my_blood_brother
modifier = softening_disposition_opinion
opinion = 5
}
}
option = {
ai_chance = {
base = 100
}
name = mpo_bb_events.0001.c
add_dread = minor_dread_gain
stress_impact = {
callous = miniscule_stress_impact_loss
arbitrary = miniscule_stress_impact_loss
eccentric = miniscule_stress_impact_loss
}
reverse_add_opinion = {
target = scope:my_blood_brother
modifier = angry_opinion
opinion = -30
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,856 @@
namespace = mpo_nomads_season_events
mpo_nomads_season_events.0001 = { # Riding the Storm
type = character_event
title = mpo_nomads_season_events.0001.t
desc = mpo_nomads_season_events.0001.desc
theme = nomads
override_background = { reference = mpo_steppe_evening }
cooldown = { years = 10 }
left_portrait = {
character = root
animation = scheme
}
right_portrait = {
character = scope:storm_chaser
animation = marshal_random_weapon
}
lower_right_portrait = {
character = scope:raid_target
}
trigger = {
has_mpo_dlc_trigger = yes
government_has_flag = government_is_nomadic
is_available = yes
any_character_situation = {
any_situation_sub_region = {
sub_region_current_phase = situation_steppe_severe_drought_season
situation_sub_region_has_county = root.capital_county
}
}
any_councillor = {
is_kurultai_trigger = yes
is_available = yes
}
any_neighboring_top_liege_realm_owner = {
is_ai = yes
NOR = {
is_at_war_with = root
is_allied_to = root
has_truce = root
has_relation_friend = root
has_relation_best_friend = root
}
}
}
weight_multiplier = {
base = 1
modifier = {
factor = -0.5
is_ai = yes
}
}
immediate = {
random_councillor = {
limit = {
is_kurultai_trigger = yes
is_available = yes
}
save_scope_as = storm_chaser
}
random_neighboring_top_liege_realm_owner = {
limit = {
is_ai = yes
NOR = {
is_at_war_with = root
is_allied_to = root
has_truce = root
has_relation_friend = root
has_relation_best_friend = root
}
}
save_scope_as = raid_target
}
scope:raid_target = {
capital_county = {
save_scope_as = raid_county
}
}
}
option = { # Tomorrow, we ride!
name = mpo_nomads_season_events.0001.a
scope:raid_target = {
pay_herd = {
target = root
value = scope:raid_target.domicile.medium_herd_value
}
add_opinion = {
target = root
modifier = stole_my_herd
}
}
add_dread = medium_dread_gain
if = {
limit = {
can_set_relation_rival_trigger = { CHARACTER = scope:raid_target }
}
progress_towards_rival_effect = {
REASON = stole_my_herd
CHARACTER = scope:raid_target
OPINION = 0
}
}
stress_impact = {
lazy = minor_stress_impact_gain
content = minor_stress_impact_gain
just = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
OR = {
has_trait = lazy
has_trait = content
has_trait = just
}
add = -50
}
ai_value_modifier = {
ai_honor = -1
}
}
}
option = { # We must see to our own shelter.
name = mpo_nomads_season_events.0001.b
root.capital_county = {
add_county_modifier = {
modifier = mpo_storm_shelter_modifier
years = 5
}
}
stress_impact = {
vengeful = medium_stress_impact_gain
sadistic = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
OR = {
has_trait = vengeful
has_trait = sadistic
}
add = -50
}
ai_value_modifier = {
ai_honor = 1
}
}
}
}
mpo_nomads_season_events.0005 = { # Hungry vassal
type = character_event
title = mpo_nomads_season_events.0005.t
desc = mpo_nomads_season_events.0005.desc
theme = nomads
override_background = { reference = mpo_tent_interior_mongol }
cooldown = { years = 10 }
left_portrait = {
character = root
animation = shame
}
right_portrait = {
character = scope:hungry_neighbour
animation = obsequious_bow
}
trigger = {
government_has_flag = government_is_nomadic
has_mpo_dlc_trigger = yes
is_available = yes
any_character_situation = {
NOR = {
any_situation_sub_region = {
sub_region_current_phase = situation_steppe_abundant_grazing_season
situation_sub_region_has_county = root.capital_county
}
any_situation_sub_region = {
sub_region_current_phase = situation_steppe_sky_blessing_season
situation_sub_region_has_county = root.capital_county
}
any_situation_sub_region = {
sub_region_current_phase = situation_steppe_warm_nights_season
situation_sub_region_has_county = root.capital_county
}
}
}
any_vassal = {
is_available_ai = yes
NOT = {
has_opinion_modifier = {
modifier = obedience_opinion
target = root
}
}
domicile ?= {
herd < minor_herd_value
}
}
}
immediate = {
random_vassal = {
limit = {
is_available_ai = yes
NOT = {
has_opinion_modifier = {
modifier = obedience_opinion
target = root
}
}
domicile ?= {
herd < minor_herd_value
}
}
save_scope_as = hungry_neighbour
}
}
option = { # Give herd
name = mpo_nomads_season_events.0005.a
pay_herd = {
target = scope:hungry_neighbour
value = domicile.minor_herd_value
}
send_interface_toast = {
type = event_toast_effect_good
title = mpo_demand_obedience_interaction_toast
left_icon = scope:hungry_neighbour
scope:hungry_neighbour = {
add_opinion = {
target = root
modifier = obedience_opinion
}
}
}
scope:hungry_neighbour = {
add_character_flag = given_herd
}
stress_impact = {
compassionate = medium_stress_impact_loss
paranoid = medium_stress_impact_gain
greedy = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
domicile ?= {
herd < medium_herd_value
}
has_trait = paranoid
has_trait = greedy
}
}
modifier = {
factor = 20
has_trait = compassionate
}
ai_value_modifier = {
ai_sociability = 1
ai_greed = -1
}
}
}
option = { # Arrange trade
name = mpo_nomads_season_events.0005.b
trigger = {
scope:hungry_neighbour = {
gold > root.medium_gold_value
}
}
pay_herd = {
target = scope:hungry_neighbour
value = domicile.minor_herd_value
}
scope:hungry_neighbour = {
pay_short_term_gold = {
target = root
gold = root.medium_gold_value
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 1
}
modifier = {
factor = 0
domicile ?= {
herd < medium_herd_value
}
}
}
}
option = { # I think not!
name = mpo_nomads_season_events.0005.c
reverse_add_opinion = {
target = scope:hungry_neighbour
modifier = insulted_opinion
opinion = -15
}
ai_chance = {
base = 20
ai_value_modifier = {
ai_sociability = -1
ai_greed = -1
}
}
}
}
mpo_nomads_season_events.0010 = { # Your vassal offers herd during a season of bounty
type = character_event
title = mpo_nomads_season_events.0010.t
desc = {
desc = mpo_nomads_season_events.0010.desc
first_valid = {
triggered_desc = {
trigger = {
scope:rich_neighbour = { has_character_flag = given_herd }
}
desc = mpo_nomads_season_events.0010.desc_offered_herd
}
desc = mpo_nomads_season_events.0010.desc_fallback
}
}
theme = nomads
override_background = { reference = mpo_tent_interior_mongol }
cooldown = { years = 10 }
left_portrait = {
character = root
triggered_animation = {
trigger = {
has_trait = cynical
}
animation = personality_cynical
}
triggered_animation = {
trigger = {
scope:rich_neighbour = { has_character_flag = given_herd }
}
animation = flirtation
}
animation = personality_greedy
}
right_portrait = {
character = scope:rich_neighbour
triggered_animation = {
trigger = {
scope:rich_neighbour = { has_character_flag = given_herd }
}
animation = obsequious_bow
}
animation = steward
}
trigger = {
has_mpo_dlc_trigger = yes
government_has_flag = government_is_nomadic
is_available = yes
any_character_situation = {
OR = {
any_situation_sub_region = {
sub_region_current_phase = situation_steppe_abundant_grazing_season
situation_sub_region_has_county = root.capital_county
}
any_situation_sub_region = {
sub_region_current_phase = situation_steppe_sky_blessing_season
situation_sub_region_has_county = root.capital_county
}
any_situation_sub_region = {
sub_region_current_phase = situation_steppe_warm_nights_season
situation_sub_region_has_county = root.capital_county
}
}
}
any_vassal = {
is_available_ai = yes
trigger_if = {
limit = {
NOT = { has_character_flag = given_herd }
}
NOR = {
is_councillor_of = root
has_relation_blood_brother = root
has_relation_friend = root
has_relation_best_friend = root
}
}
domicile ?= {
herd > minor_herd_value
}
}
}
immediate = {
random_vassal = {
limit = {
is_available_ai = yes
trigger_if = {
limit = {
NOT = { has_character_flag = given_herd }
}
NOR = {
is_councillor_of = root
has_relation_blood_brother = root
has_relation_friend = root
has_relation_best_friend = root
}
}
domicile ?= {
herd > minor_herd_value
}
}
save_scope_as = rich_neighbour
}
}
option = { # Yes, I will buy herd from you.
name = mpo_nomads_season_events.0010.a
trigger = {
NOT = {
scope:rich_neighbour = {
has_character_flag = given_herd
}
}
}
pay_short_term_gold = {
target = scope:rich_neighbour
gold = medium_gold_value
}
scope:rich_neighbour = {
pay_herd = {
target = root
value = scope:rich_neighbour.domicile.minor_herd_value
}
}
stress_impact = {
greedy = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = -1
}
modifier = {
factor = 50
domicile ?= {
herd < minor_herd_value
}
}
modifier = {
gold <= major_gold_value
factor = 0
}
}
}
option = { # Forget the herd, I want you as my bro!
name = mpo_nomads_season_events.0010.c
trigger = {
scope:rich_neighbour = {
has_character_flag = given_herd
}
can_set_relation_blood_brother_trigger = { CHARACTER = scope:rich_neighbour }
}
add_internal_flag = special
reason = gave_herd
set_relation_blood_brother = {
reason = sworn_blood_brother
target = scope:rich_neighbour
}
stress_impact = {
paranoid = medium_stress_impact_gain
gregarious = medium_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_sociability = 1
}
modifier = {
factor = 0
has_trait = paranoid
}
modifier = {
add = 50
has_trait = gregarious
}
}
}
option = { # Free herd? Yes please!
name = mpo_nomads_season_events.0010.b
trigger = {
scope:rich_neighbour = {
has_character_flag = given_herd
}
}
scope:rich_neighbour = {
pay_herd = {
target = root
value = scope:rich_neighbour.domicile.medium_herd_value
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = 1
}
}
}
option = { # Give me your herd, or your head!
name = mpo_nomads_season_events.0010.d
trigger = {
NOT = {
scope:rich_neighbour = {
has_character_flag = given_herd
}
}
is_ai = no
}
duel = {
skill = prowess
target = scope:rich_neighbour
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
min = 5
desc = mpo_nomads_season_events.0010.d.tt.success
scope:rich_neighbour = {
pay_herd = {
target = root
value = scope:rich_neighbour.domicile.medium_herd_value
}
increase_wounds_effect = { REASON = fight }
}
send_interface_toast = {
title = mpo_nomads_season_events.0010.d.tt.success
left_icon = root
right_icon = scope:rich_neighbour
scope:rich_neighbour = {
add_opinion = {
target = root
modifier = stole_my_herd
}
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
min = 5
desc = mpo_nomads_season_events.0010.d.tt.failure
add_prestige = minor_prestige_loss
send_interface_toast = {
title = mpo_nomads_season_events.0010.d.tt.failure
left_icon = scope:rich_neighbour
reverse_add_opinion = {
target = scope:rich_neighbour
modifier = insult_opinion
opinion = -25
}
}
}
}
if = {
limit = {
can_set_relation_rival_trigger = { CHARACTER = scope:rich_neighbour }
}
progress_towards_rival_effect = {
REASON = stole_my_herd
CHARACTER = scope:rich_neighbour
OPINION = 0
}
}
stress_impact = {
just = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = 1
}
modifier = {
factor = 0
has_trait = just
}
modifier = {
factor = 50
prowess > mediocre_skill_rating
}
}
}
option = { # I have no need to trade.
name = mpo_nomads_season_events.0010.e
trigger = {
NOT = {
scope:rich_neighbour = {
has_character_flag = given_herd
}
}
}
reverse_add_opinion = {
target = scope:rich_neighbour
modifier = insulted_opinion
opinion = -15
}
ai_chance = {
base = 20
ai_value_modifier = {
ai_greed = 1
}
}
}
after = {
scope:rich_neighbour = {
if = {
limit = {
has_character_flag = given_herd
}
remove_character_flag = given_herd
}
}
}
}
mpo_nomads_season_events.0015 = { # Two Kurultai members fight over food
type = character_event
title = mpo_nomads_season_events.0015.t
desc = mpo_nomads_season_events.0015.desc
theme = nomads
override_background = { reference = mpo_campfire_steppe }
cooldown = { years = 10 }
left_portrait = {
character = scope:kurultai_1
animation = war_attacker
}
right_portrait = {
character = scope:kurultai_2
animation = aggressive_unarmed
}
trigger = {
has_mpo_dlc_trigger = yes
government_has_flag = government_is_nomadic
is_available = yes
any_character_situation = {
NOR = {
any_situation_sub_region = {
sub_region_current_phase = situation_steppe_abundant_grazing_season
situation_sub_region_has_county = root.capital_county
}
any_situation_sub_region = {
sub_region_current_phase = situation_steppe_sky_blessing_season
situation_sub_region_has_county = root.capital_county
}
any_situation_sub_region = {
sub_region_current_phase = situation_steppe_warm_nights_season
situation_sub_region_has_county = root.capital_county
}
}
}
OR = {
domicile ?= {
herd <= minor_herd_value
}
}
any_councillor = {
count >= 2
is_kurultai_trigger = yes
is_available_ai = yes
NOT = { is_spouse_of = root }
}
}
immediate = {
random_councillor = {
limit = {
is_kurultai_trigger = yes
is_available_ai = yes
NOT = { is_spouse_of = root }
}
save_scope_as = kurultai_1
}
random_councillor = {
limit = {
is_kurultai_trigger = yes
is_available_ai = yes
NOT = {
this = scope:kurultai_1
is_spouse_of = root
}
}
save_scope_as = kurultai_2
}
}
option = { # Do not cry over spilled kumis.
name = mpo_nomads_season_events.0015.a
reverse_add_opinion = {
target = scope:kurultai_1
modifier = grateful_opinion
opinion = 30
}
add_prestige = minor_prestige_loss
stress_impact = {
calm = medium_stress_impact_loss
wrathful = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 20
has_trait = calm
}
modifier = {
factor = 0
has_trait = wrathful
}
}
}
option = { # Go on, fight! Entertain the rest of us.
name = mpo_nomads_season_events.0015.b
reverse_add_opinion = {
target = scope:kurultai_2
modifier = grateful_opinion
opinion = 30
}
scope:kurultai_2 = {
duel = {
skill = prowess
target = scope:kurultai_1
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
min = 5
desc = mpo_nomads_season_events.0015.b.tt.success
scope:kurultai_1 = {
add_trait = wounded_1
}
send_interface_toast = {
title = mpo_nomads_season_events.0015.b.tt.success
left_icon = scope:kurultai_1
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
min = 5
desc = mpo_nomads_season_events.0015.b.tt.failure
scope:kurultai_2 = {
add_trait = wounded_1
}
send_interface_toast = {
title = mpo_nomads_season_events.0015.b.tt.failure
left_icon = scope:kurultai_2
}
}
}
}
stress_impact = {
wrathful = medium_stress_impact_loss
calm = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 20
has_trait = wrathful
}
modifier = {
factor = 0
has_trait = calm
}
}
}
option = { # Let it go, both of you.
name = mpo_nomads_season_events.0015.c
reverse_add_opinion = {
target = scope:kurultai_1
modifier = disappointed_opinion
opinion = -15
}
reverse_add_opinion = {
target = scope:kurultai_2
modifier = disappointed_opinion
opinion = -15
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 1
}
}
}
}

View file

@ -0,0 +1,835 @@
namespace = mpo_temujin_flavor
# mpo_temujin_flavor.0001 - Become Blood Brothers with Jamukha
# mpo_temujin_flavor.0010 - Jamukha stops being your vassal
# mpo_temujin_flavor.0020 - Jamukha becomes your rival
# mpo_temujin_flavor.0030 - Borte announces she's pregnant
#######################
# Become Blood Brothers with Jamukha
#######################
mpo_temujin_flavor.0001 = {
type = character_event
title = mpo_temujin_flavor.0001.t
desc = mpo_temujin_flavor.0001.desc
theme = nomads
override_background = {
reference = mpo_campfire_steppe
}
left_portrait = {
character = root
animation = aggressive_dagger
}
right_portrait = {
character = scope:jamukha
animation = celebrate_dagger
}
trigger = {
NOR = {
has_variable = had_mpo_temujin_flavor_0001
has_variable = had_mpo_temujin_flavor_0010
has_variable = had_mpo_temujin_flavor_0020
}
is_physically_able = yes
character:mpo_mongol_1 = {
is_alive = yes
is_physically_able = yes
NOR = {
has_relation_blood_brother = root
has_relation_rival = root
}
}
}
immediate = {
play_music_cue = "mx_cue_touching_moment"
set_variable = had_mpo_temujin_flavor_0001
character:mpo_mongol_1 = {
save_scope_as = jamukha
save_scope_as = blood_bro
}
}
option = { # Yay
name = mpo_temujin_flavor.0001.a
if = {
limit = {
NOR = {
has_character_flag = had_warhorse_story
any_owned_story = {
story_type = story_cycle_martial_lifestyle_warhorse
exists = var:story_cycle_horse_name
}
}
scope:jamukha = {
NOR = {
has_character_flag = had_warhorse_story
any_owned_story = {
story_type = story_cycle_martial_lifestyle_warhorse
exists = var:story_cycle_horse_name
}
}
}
}
custom_tooltip = temujin_warhorse_tt
custom_tooltip = jamukha_warhorse_tt
if = {
limit = {
scope:jamukha = {
is_ai = yes
}
}
hidden_effect = {
start_warhorse_story_cycle_effect = yes
}
}
if = {
limit = {
scope:jamukha = {
is_ai = yes
}
}
hidden_effect = {
scope:jamukha = {
start_warhorse_story_cycle_effect = yes
}
}
}
}
if = {
limit = {
scope:jamukha = {
is_ai = yes
}
}
set_relation_blood_brother = {
target = scope:jamukha
reason = blood_brother_temujin_jamukha
}
add_character_modifier = blood_brother_warrior_modifier
scope:jamukha = {
add_character_modifier = blood_brother_warrior_modifier
}
}
else = {
custom_tooltip = jamukha_choose_blood_brother_tt
save_scope_as = temujin
scope:jamukha = {
trigger_event = mpo_jamukha_flavor.0001
}
show_as_tooltip = {
add_character_modifier = blood_brother_warrior_modifier
scope:jamukha = {
add_character_modifier = blood_brother_warrior_modifier
}
}
}
custom_tooltip = blood_brother_gains_hook_tt
custom_tooltip = blood_brother_gains_hook_other_tt
stress_impact = {
gregarious = medium_stress_impact_loss
callous = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Not a chance
name = mpo_temujin_flavor.0001.b
add_dread = minor_dread_gain
add_prestige = minor_prestige_gain
set_variable = rejected_jamukha_var
scope:jamukha = {
add_opinion = {
target = root
modifier = insult_opinion
opinion = -25
}
}
stress_impact = {
base = minor_stress_impact_gain
callous = medium_stress_impact_loss
gregarious = medium_stress_impact_gain
}
ai_chance = {
base = 0
}
}
after = {
hidden_effect = {
scope:jamukha = {
trigger_event = {
days = { 180 360 }
id = mpo_jamukha_flavor.0010
}
}
}
}
}
#######################
# Jamukha stops being your vassal
#######################
scripted_effect mpo_temujin_flavor_0010_jamukha_leaving_effect = {
if = {
limit = { scope:jamukha = { is_vassal_of = root } }
scope:jamukha = {
create_title_and_vassal_change = {
type = independency
save_scope_as = change
add_claim_on_loss = no
}
becomes_independent = {
change = scope:change
}
resolve_title_and_vassal_change = scope:change
}
}
else = {
scope:jamukha = { end_tributary = yes }
}
add_truce_both_ways = {
character = scope:jamukha
years = 5
name = temujin_jamukha_truce
}
hidden_effect = { # This will put him closer to Temujin
scope:jamukha = {
if = {
limit = {
current_military_strength < scope:temujin.current_military_strength
}
domicile ?= {
change_herd = {
value = scope:temujin.domicile.herd
multiply = 0.5
}
}
}
}
}
if = {
limit = {
exists = scope:togrul
}
scope:jamukha = {
custom_tooltip = negotiate_togrul_alliance_effect_tooltip
create_alliance = {
target = scope:togrul
allied_through_owner = scope:jamukha
allied_through_target = scope:togrul
}
hidden_effect = {
scope:togrul = {
add_opinion = {
target = scope:jamukha
modifier = event_negotiated_alliance_opinion
}
}
}
}
}
}
mpo_temujin_flavor.0010 = {
type = character_event
title = mpo_temujin_flavor.0010.t
desc = {
desc = mpo_temujin_flavor.0010.desc.intro
first_valid = {
triggered_desc = {
trigger = { has_variable = rejected_jamukha_var }
desc = mpo_temujin_flavor.0010.desc.rejected
}
triggered_desc = {
trigger = { has_relation_blood_brother = scope:jamukha }
desc = mpo_temujin_flavor.0010.desc.blood_brothers
}
desc = mpo_temujin_flavor.0010.desc.fallback
}
}
theme = nomads
override_background = {
reference = mpo_campfire_steppe
}
left_portrait = {
character = root
animation = personality_vengeful
}
right_portrait = {
character = scope:jamukha
animation = schadenfreude
}
lower_right_portrait = scope:togrul
trigger = {
has_variable = had_mpo_temujin_flavor_0001
NOR = {
has_variable = had_mpo_temujin_flavor_0010
has_variable = had_mpo_temujin_flavor_0020
}
is_alive = yes
is_ruler = yes
character:mpo_mongol_1 = {
is_alive = yes
OR = {
is_vassal_of = root
is_tributary_of = root
}
}
}
immediate = {
set_variable = {
name = had_mpo_temujin_flavor_0010
value = character:mpo_mongol_1
}
character:mpo_mongol_1 = {
save_scope_as = jamukha
}
mpo_temujin_flavor_0010_jamukha_leaving_effect = yes
}
option = { # I will kill you
name = mpo_temujin_flavor.0010.aa
trigger = { dread >= 100 }
if = {
limit = {
has_relation_blood_brother = scope:jamukha
}
custom_tooltip = {
text = mpo_temujin_flavor.0010.aa_remove_blood_brother
remove_relation_blood_brother = scope:jamukha
}
}
scope:jamukha = {
add_dread = major_dread_loss
add_prestige = medium_prestige_loss
}
every_vassal = {
limit = {
has_vassal_stance = belligerent
is_obedient = no
}
custom = every_belligerent_vassal
add_opinion = {
modifier = obedience_opinion
target = root
}
}
every_courtier = {
limit = {
is_obedient = no
NOR = {
has_trait = brave
has_trait = compassionate
}
}
custom = every_non_brave_compassionate_courtier
add_opinion = {
modifier = obedience_opinion
target = root
}
}
stress_impact = {
gregarious = medium_stress_impact_loss
callous = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Look at this clown
name = mpo_temujin_flavor.0010.a
duel = {
skill = diplomacy
target = scope:jamukha
50 = { # Your people are impressed
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
min = 5
desc = mpo_temujin_flavor.0010.a.tt.success
send_interface_toast = {
title = mpo_temujin_flavor.0010.a.tt.success
left_icon = root
right_icon = scope:jamukha
add_prestige = medium_prestige_gain
scope:jamukha = { add_prestige = medium_prestige_loss }
}
}
50 = { # No one is impressed
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
min = 5
desc = mpo_temujin_flavor.0010.a.tt.failure
send_interface_toast = {
title = mpo_temujin_flavor.0010.a.tt.failure
left_icon = root
add_prestige = minor_prestige_loss
}
}
}
stress_impact = {
gregarious = medium_stress_impact_loss
callous = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Try to force him to stay
name = mpo_temujin_flavor.0010.b
add_dread = minor_dread_gain
scope:jamukha = {
add_opinion = {
target = root
modifier = hurt_opinion
opinion = -30
}
}
stress_impact = {
callous = medium_stress_impact_loss
gregarious = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Let him go
name = mpo_temujin_flavor.0010.c
scope:jamukha = {
add_opinion = {
target = root
modifier = grateful_opinion
opinion = 20
}
}
stress_impact = {
generous = medium_stress_impact_loss
callous = major_stress_impact_gain
}
ai_chance = {
base = 100
}
}
after = {
hidden_effect = {
trigger_event = {
days = { 360 420 }
id = mpo_temujin_flavor.0020
}
}
}
}
#######################
# Jamukha becomes your rival -- now you must kill him
#######################
mpo_temujin_flavor.0020 = {
type = character_event
title = mpo_temujin_flavor.0020.t
desc = {
desc = mpo_temujin_flavor.0020.desc.intro
first_valid = {
triggered_desc = {
trigger = { has_relation_blood_brother = scope:jamukha }
desc = mpo_temujin_flavor.0020.desc.blood_brothers
}
triggered_desc = {
trigger = { has_relation_friend = scope:jamukha }
desc = mpo_temujin_flavor.0020.desc.friend
}
triggered_desc = {
trigger = { has_relation_rival = scope:jamukha }
desc = mpo_temujin_flavor.0020.desc.rival
}
desc = mpo_temujin_flavor.0020.desc.fallback
}
desc = mpo_temujin_flavor.0020.desc.outro
}
theme = nomads
override_background = {
reference = mpo_campfire_steppe
}
left_portrait = {
character = root
animation = anger
outfit_tags = { nightgown }
camera = camera_event_very_left
}
right_portrait = {
character = scope:jamukha
animation = horse_conversing_left
camera = camera_event_horse_right
}
window = scheme_successful_event_no_text
trigger = {
NOT = { has_variable = had_mpo_temujin_flavor_0020 }
OR = {
has_variable = had_mpo_temujin_flavor_0010
AND = {
NOT = { has_variable = had_mpo_temujin_flavor_0010 }
character:mpo_mongol_1 = {
NOR = {
is_vassal_of = root
is_tributary = root
}
}
}
}
is_alive = yes
is_ruler = yes
character:mpo_mongol_1 = {
is_alive = yes
in_diplomatic_range = root
is_ruler = yes
}
}
immediate = {
save_scope_as = temujin
play_music_cue = "mx_cue_murder"
set_variable = {
name = had_mpo_temujin_flavor_0020
value = character:mpo_mongol_1
}
character:mpo_mongol_1 = {
save_scope_as = jamukha
}
if = {
limit = {
current_military_strength < scope:jamukha.current_military_strength
}
domicile ?= {
change_herd = {
value = scope:jamukha.domicile.herd
multiply = 1.5
}
}
add_prestige = major_prestige_gain # For MAA maintenance, mainly
custom_tooltip = temujin_gain_from_defectors_tt
}
if = {
limit = {
has_relation_blood_brother = scope:jamukha
}
scope:jamukha = {
add_character_flag = {
flag = was_temujins_bro
years = 30
}
}
}
}
option = { # You who I once called brother
name = mpo_temujin_flavor.0020.a
reason = blood_brother
add_internal_flag = special
trigger = { has_relation_blood_brother = scope:jamukha }
custom_tooltip = {
text = mpo_temujin_flavor.0020.a_war_win
set_variable = temujin_jamukha_war_var
}
add_character_modifier = {
modifier = temujin_jamukha_war_modifier
years = 5
}
stress_impact = {
base = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # Murderrrrrrr
name = mpo_temujin_flavor.0020.b
custom_tooltip = {
text = mpo_temujin_flavor.0020.b_murder
set_variable = {
name = temujin_jamukha_murder_var
value = scope:jamukha
}
}
stress_impact = {
deceitful = massive_stress_impact_loss
sadistic = massive_stress_impact_loss
}
ai_chance = {
base = 0
}
}
option = { # I'm going to crush your skull
name = mpo_temujin_flavor.0020.c
trigger = {
NOT = { has_relation_blood_brother = scope:jamukha }
}
add_character_modifier = {
modifier = temujin_jamukha_war_smaller_modifier
years = 5
}
stress_impact = {
wrathful = massive_stress_impact_loss
vengeful = massive_stress_impact_loss
}
ai_chance = {
base = 100
}
}
after = {
if = { # Remove hooks
limit = {
scope:jamukha = {
has_hook = root
}
}
scope:jamukha = { remove_hook = { target = root } }
}
if = {
limit = {
has_hook = scope:jamukha
}
remove_hook = { target = scope:jamukha }
}
if = { # Remove Truce
limit = {
any_truce_target = { this = scope:jamukha }
}
cancel_truce_both_ways = scope:jamukha
}
custom_tooltip = mpo_temujin_flavor.0020.jamukha_gok_requirement
if = {
limit = { has_relation_blood_brother = scope:jamukha }
custom_tooltip = {
text = mpo_temujin_flavor.0010.aa_remove_blood_brother
remove_relation_blood_brother = scope:jamukha
}
}
else_if = {
limit = { has_relation_friend = scope:jamukha }
custom_tooltip = {
text = mpo_temujin_flavor.0020.remove_friend
remove_relation_friend = scope:jamukha
}
}
if = {
limit = { NOT = { has_relation_rival = scope:jamukha } }
set_relation_rival = {
target = scope:jamukha
reason = rival_temujin_jamukha
}
}
else_if = {
limit = { has_relation_rival = scope:jamukha }
set_relation_nemesis = {
target = scope:jamukha
reason = rival_temujin_jamukha
}
}
else = {
add_opinion = {
target = root
modifier = hate_opinion
opinion = -100
}
}
custom_tooltip = {
text = mpo_temujin_flavor.0020.cb.tt
add_to_variable_list = {
name = retaliation_cb_var_list
target = scope:jamukha
}
scope:jamukha = {
add_to_variable_list = {
name = retaliation_cb_var_list
target = root
}
}
}
scope:jamukha = {
trigger_event = mpo_jamukha_flavor.0020
}
}
}
#######################
# Borte announces she's pregnant
#######################
mpo_temujin_flavor.0030 = {
type = character_event
title = mpo_temujin_flavor.0030.t
desc = mpo_temujin_flavor.0030.desc
theme = pregnancy
left_portrait = {
character = root
animation = anger
}
right_portrait = {
character = scope:borte
animation = worry
}
lower_right_portrait = scope:mergid
trigger = {
NOT = { has_variable = had_mpo_temujin_flavor_0030 } # To make sure it triggers even if you migrate straight away and lose the event time window
character:172004 = {
is_alive = yes
is_spouse_of = root
is_pregnant = no
}
any_neighboring_top_liege_realm_owner = {
NOT = { has_relation_rival = root }
}
}
immediate = {
play_music_cue = "mx_cue_personal_negative"
set_variable = had_mpo_temujin_flavor_0030
character:172004 = {
save_scope_as = borte
}
if = {
limit = {
character:303116 = {
is_alive = yes
NOT = { has_relation_rival = root }
}
}
character:303116 = {
save_scope_as = mergid
}
}
else_if = {
limit = {
any_ruler = {
dynasty = dynasty:2001144
NOT = { has_relation_rival = root }
}
}
random_ruler = {
limit = {
dynasty = dynasty:2001144
NOT = { has_relation_rival = root }
}
save_scope_as = mergid
}
}
else = {
random_neighboring_top_liege_realm_owner = {
limit = { NOT = { has_relation_rival = root } }
save_scope_as = mergid
}
}
scope:borte = {
custom_tooltip = mpo_temujin_flavor.0030.pregnancy_tt
hidden_effect = {
make_pregnant = {
father = scope:mergid
}
}
set_variable = borte_first_child_var
}
}
option = { # I hate those guys
name = mpo_temujin_flavor.0030.a
set_relation_rival = {
target = scope:mergid
reason = rival_temujin_mergid
}
custom_tooltip = {
text = mpo_temujin_flavor.0030.a.tt
add_to_variable_list = {
name = retaliation_cb_var_list
target = scope:mergid
}
}
add_dread = medium_dread_gain
stress_impact = {
vengeful = major_stress_impact_loss
compassionate = medium_stress_impact_gain
}
ai_chance = {
base = 0 # To prevent AI Temüjin from being murdered immediately
}
}
option = { # Let's forget about that, you are more important
name = mpo_temujin_flavor.0030.b
if = {
limit = {
NOT = { has_relation_lover = scope:borte }
}
set_relation_lover = {
target = scope:borte
reason = lover_temujin_borte
}
}
else = {
scope:borte = {
add_opinion = {
target = root
modifier = grateful_opinion
opinion = 20
}
}
}
set_relation_wedding_very_good_fertility = scope:borte
stress_impact = {
compassionate = major_stress_impact_loss
vengeful = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { # I could not care less
name = mpo_temujin_flavor.0030.c
scope:borte = {
add_opinion = {
target = root
modifier = upset_opinion
opinion = -25
}
}
stress_impact = {
callous = major_stress_impact_loss
compassionate = major_stress_impact_gain
vengeful = major_stress_impact_gain
}
ai_chance = {
base = 0
}
}
}