N3OW_Western_eastern_europe/events/travel_events/travel_events_bp3.txt
2026-01-06 14:25:21 +01:00

5738 lines
107 KiB
Text

namespace = travel_events_bp3
scripted_trigger bp3_travel_event_default_trigger = {
has_bp3_dlc_trigger = yes
is_location_valid_for_travel_event_on_land = yes
is_available_travelling_adult = yes
}
scripted_trigger travel_events_bp3_1_character = {
age >= 12
OR = {
is_child_of = root
is_spouse_of = root
has_friendly_relationship_trigger = { CHARACTER = root }
}
}
travel_events_bp3.1 = { # Seasons of Change
type = character_event
content_source = dlc_015
title = travel_events_bp3.1.t
desc = {
desc = travel_events_bp3.1.desc
first_valid = {
triggered_desc = {
trigger = {
current_season_spring = yes
}
desc = travel_events_bp3.1.desc.spring
}
triggered_desc = {
trigger = {
current_season_summer = yes
}
desc = travel_events_bp3.1.desc.summer
}
triggered_desc = {
trigger = {
current_season_autumn = yes
location = {
OR = {
terrain = desert
terrain = desert_mountains
terrain = drylands
}
}
}
desc = travel_events_bp3.1.desc.autumn_desert
}
triggered_desc = {
trigger = {
current_season_autumn = yes
location = {
NOR = {
terrain = desert
terrain = desert_mountains
terrain = drylands
}
}
}
desc = travel_events_bp3.1.desc.autumn
}
triggered_desc = {
trigger = {
current_season_winter = yes
location = {
has_winter_trigger = no
}
}
desc = travel_events_bp3.1.desc.winter
}
triggered_desc = {
trigger = {
current_season_winter = yes
location = {
has_winter_trigger = yes
}
}
desc = travel_events_bp3.1.desc.winter_snow
}
triggered_desc = {
trigger = {
current_season_dry_season = yes
}
desc = travel_events_bp3.1.desc.dry_season
}
triggered_desc = {
trigger = {
current_season_rainy_season = yes
}
desc = travel_events_bp3.1.desc.rainy_season
}
}
}
theme = travel
override_background = { reference = wilderness }
cooldown = { years = 10 }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:friendly_character
animation = survey
}
override_effect_2d = {
trigger = {
current_season_rainy_season = yes
}
reference = rain
}
override_effect_2d = {
trigger = {
OR = {
current_season_dry_season = yes
current_season_summer = yes
}
}
reference = legend_glow
}
widget = {
is_shown = {
current_season_winter = yes
location = {
has_winter_trigger = yes
}
}
gui = "event_window_widget_vfx_snow"
container = "foreground_shader_vfx_container"
}
trigger = {
static_group_filter = {
group = travel_events_bp3.1
match = 0.50
}
bp3_travel_event_default_trigger = yes
current_travel_plan = {
any_entourage_character = {
travel_events_bp3_1_character = yes
}
}
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
current_travel_plan = {
random_entourage_character = {
limit = {
travel_events_bp3_1_character = yes
}
save_scope_as = friendly_character
}
}
}
option = {
name = travel_events_bp3.1.a
scope:friendly_character = {
add_opinion = {
modifier = friendliness_opinion
target = root
opinion = 15
}
}
current_travel_plan ?= {
delay_travel_plan = { days = 2 }
}
stress_impact = {
base = minor_stress_impact_loss
}
ai_chance = {
base = 0
}
}
option = {
name = travel_events_bp3.1.b
flavor = travel_events_bp3.1.b.flavor
current_travel_plan ?= {
add_destination_progress = { days = 2 }
}
ai_chance = {
base = 100
}
}
after = {
mp_resume_travel_plan = yes
}
}
travel_events_bp3.5 = { # Caught Outside
type = character_event
content_source = dlc_015
title = travel_events_bp3.5.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
current_season_winter = yes
}
desc = travel_events_bp3.5.desc.snow
}
triggered_desc = {
trigger = {
current_season_winter = no
}
desc = travel_events_bp3.5.desc.rain
}
}
}
theme = travel
override_background = { reference = wilderness }
cooldown = { years = 10 }
left_portrait = {
character = root
animation = disappointed
}
trigger = {
static_group_filter = {
group = travel_events_bp3.5
match = 0.50
}
bp3_travel_event_default_trigger = yes
OR = {
AND = {
current_season_winter = yes
location = {
has_winter_trigger = yes
}
}
current_season_rainy_season = yes
AND = {
OR = {
current_season_spring = yes
current_season_autumn = yes
}
location = {
NOR = {
terrain = desert
terrain = desert_mountains
terrain = drylands
}
}
}
}
}
override_effect_2d = {
trigger = {
current_season_winter = no
}
reference = rain
}
widget = {
is_shown = {
current_season_winter = yes
}
gui = "event_window_widget_vfx_snow"
container = "foreground_shader_vfx_container"
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
}
option = {
name = travel_events_bp3.5.a
stress_impact = {
base = minor_stress_impact_loss
}
current_travel_plan ?= {
delay_travel_plan = { weeks = 1 }
}
ai_chance = {
base = 0
modifier = {
age > 55
add = 100
}
}
}
option = {
name = {
trigger = {
current_season_winter = yes
}
text = travel_events_bp3.5.b.snow
}
name = {
trigger = {
current_season_winter = no
}
text = travel_events_bp3.5.b.rain
}
if = {
limit = {
NOT = { has_trait = ill }
}
random = {
chance = {
value = 20
if = {
limit = {
age > 55
}
add = {
value = age
subtract = 55
}
}
}
contract_disease_effect = { DISEASE = ill TREATMENT_EVENT = yes }
}
}
custom_tooltip = travel_events_bp3.5.b.tt
hidden_effect = {
current_travel_plan = {
every_entourage_character = {
limit = {
this != root
}
random = {
chance = {
value = 5
if = {
limit = {
age > 55
}
add = {
value = age
subtract = 55
}
}
}
contract_disease_effect = { DISEASE = ill TREATMENT_EVENT = yes }
}
}
}
}
current_travel_plan ?= {
add_destination_progress = { days = 5 }
}
ai_chance = {
base = 100
modifier = {
factor = 0
age > 55
}
}
}
after = {
mp_resume_travel_plan = yes
}
}
scripted_effect find_holy_site_effect = {
random_county_province = {
limit = {
is_county_capital = yes
barony = { is_holy_site_of = root.faith }
}
alternative_limit = {
barony = { is_holy_site_of = root.faith }
}
save_scope_as = holy_location
}
}
travel_events_bp3.10 = { # Pilgrims on the Road
type = character_event
content_source = dlc_015
title = travel_events_bp3.10.t
desc = {
desc = travel_events_bp3.10.desc
first_valid = {
triggered_desc = {
trigger = {
exists = scope:holy_order_character
}
desc = travel_events_bp3.10.desc.holy_order
}
triggered_desc = {
trigger = {
NOT = { exists = scope:holy_order_character }
}
desc = travel_events_bp3.10.desc.pilgrims
}
}
}
theme = travel
override_background = { reference = ep3_campfire }
cooldown = { years = 10 }
left_portrait = {
character = root
animation = toast
}
right_portrait = {
character = scope:pilgrim_character
animation = lantern
hide_info = yes
}
trigger = {
static_group_filter = {
group = travel_events_bp3.10
match = 0.50
}
bp3_travel_event_default_trigger = yes
NOT = { government_has_flag = government_is_celestial }
location.county = {
OR = {
any_county_province = {
barony = { is_holy_site_of = root.faith }
}
any_neighboring_county = {
any_county_province = {
barony = { is_holy_site_of = root.faith }
}
}
}
}
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
location.county = {
find_holy_site_effect = yes
if = {
limit = {
NOT = { exists = scope:holy_location }
}
random_neighboring_county = {
limit = {
any_county_province = {
barony = { is_holy_site_of = root.faith }
}
}
find_holy_site_effect = yes
}
}
}
faith = {
random_faith_holy_order = {
leader = { save_scope_as = grandmaster }
}
}
if = {
limit = {
exists = scope:grandmaster
}
create_character = {
template = soldier_friend_character
culture = scope:grandmaster.culture
faith = scope:grandmaster.faith
location = root.location
after_creation = {
save_scope_as = holy_order_character
save_scope_as = pilgrim_character
add_character_flag = {
flag = need_military_outfit
}
add_trait = order_member
add_piety_level = 1
scope:grandmaster = {
add_courtier = prev
}
}
}
}
else = {
create_character = {
template = soldier_friend_character
culture = root.culture
faith = root.faith
gender = root
location = root.location
save_scope_as = pilgrim_character
}
}
}
option = {
name = travel_events_bp3.10.a
if = {
limit = {
exists = scope:holy_order_character
}
add_piety = minor_piety_gain
add_hook = {
type = favor_hook
target = scope:holy_order_character
}
progress_towards_friend_effect = {
REASON = friend_story_by_fire
CHARACTER = scope:holy_order_character
OPINION = default_friend_opinion
}
}
else = {
add_prestige = minor_prestige_gain
}
stress_impact = {
gregarious = minor_stress_impact_loss
paranoid = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = paranoid
}
modifier = {
factor = 5
has_trait = gregarious
}
}
}
option = {
name = travel_events_bp3.10.b
trigger = {
current_travel_plan.next_destination_province = scope:holy_location
}
if = {
limit = {
exists = scope:holy_order_character
}
add_piety = medium_piety_gain
current_travel_plan = {
add_travel_plan_modifier = {
modifier = holy_knights_travel_modifier
years = 1
}
}
}
else = {
current_travel_plan = {
add_travel_plan_modifier = {
modifier = holy_pilgrims_travel_modifier
years = 1
}
}
}
stress_impact = {
gregarious = minor_stress_impact_loss
paranoid = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = paranoid
}
modifier = {
factor = 5
has_trait = gregarious
}
}
}
option = {
name = {
trigger = {
exists = scope:holy_order_character
}
text = travel_events_bp3.10.c.holy_order
}
name = {
trigger = {
NOT = { exists = scope:holy_order_character }
}
text = travel_events_bp3.10.c.pilgrims
}
flavor = travel_events_bp3.10.c.flavor
if = {
limit = {
exists = scope:holy_order_character
}
add_piety = medium_piety_loss
add_gold = {
value = {
value = tiny_gold_value
divide = 2
multiply = scope:holy_order_character.stewardship
}
min = 50
max = 1000
}
scope:holy_order_character = {
death = {
death_reason = death_murder
killer = root
}
}
}
else = {
add_piety = major_piety_loss
add_dread = medium_dread_gain
add_gold = minor_gold_value
hidden_effect = {
scope:pilgrim_character = {
death = {
death_reason = death_murder
killer = root
}
}
}
}
if = {
limit = {
has_government = landless_adventurer_government
NOT = { has_trait = gallowsbait }
}
add_trait = gallowsbait
}
else_if = {
limit = {
has_government = landless_adventurer_government
has_trait = gallowsbait
}
add_trait_xp = {
trait = gallowsbait
track = bandit
value = 5
}
}
stress_impact = {
compassionate = medium_stress_gain
greedy = minor_stress_impact_loss
callous = minor_stress_impact_loss
sadistic = minor_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = compassionate
}
modifier = {
factor = 5
OR = {
has_trait = greedy
has_trait = callous
has_trait = sadistic
}
}
}
}
option = {
name = travel_events_bp3.10.d
if = {
limit = {
exists = scope:holy_order_character
}
scope:holy_order_character = {
add_opinion = {
modifier = disrespect_opinion
target = root
opinion = -15
}
}
}
stress_impact = {
paranoid = minor_stress_impact_loss
gregarious = minor_stress_gain
compassionate = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = gregarious
has_trait = compassionate
}
}
modifier = {
factor = 5
has_trait = paranoid
}
}
}
after = {
mp_resume_travel_plan = yes
if = {
limit = {
NOT = { exists = scope:holy_order_character }
}
scope:pilgrim_character = {
silent_disappearance_ai_effect = yes
}
}
if = {
limit = {
exists = scope:holy_order_character
}
scope:holy_order_character = {
silent_disappearance_ai_effect = yes
}
}
}
}
scripted_trigger bard_murderer_trait_trigger = {
OR = {
has_trait = callous
has_trait = sadistic
has_trait = murderer
has_trait = schemer
has_trait = torturer
}
}
scripted_trigger bard_lustful_trait_trigger = {
OR = {
has_trait = lustful
has_trait = adulterer
has_trait = fornicator
has_trait = deviant
}
}
scripted_trigger bard_gluttonous_trait_trigger = {
OR = {
has_trait = drunkard
has_trait = gluttonous
has_trait = lifestyle_reveler
}
}
scripted_trigger bard_fool_trait_trigger = {
OR = {
has_trait = lunatic
has_trait = possessed
has_trait = intellect_bad
has_trait = dull
}
}
scripted_trigger bard_sinful_trait_trigger = {
OR = {
bard_murderer_trait_trigger = yes
bard_lustful_trait_trigger = yes
bard_gluttonous_trait_trigger = yes
bard_fool_trait_trigger = yes
has_trait = craven
}
}
scripted_effect bard_replace_position_effect = {
add_character_flag = temporary_court_position_cost_removal
replace_court_position = {
recipient = scope:bard_character
holder = court_position:$POSITION$
court_position = $POSITION$
}
remove_character_flag = temporary_court_position_cost_removal
}
travel_events_bp3.15 = { # The Stories of <X>
type = character_event
content_source = dlc_015
title = travel_events_bp3.15.t
desc = {
desc = travel_events_bp3.15.desc
random_valid = {
triggered_desc = {
trigger = {
scope:liege = { bard_murderer_trait_trigger = yes }
}
desc = travel_events_bp3.15.desc.murderer
}
triggered_desc = {
trigger = {
scope:liege = { bard_lustful_trait_trigger = yes }
}
desc = travel_events_bp3.15.desc.lustful.man
}
triggered_desc = {
trigger = {
scope:liege = { bard_lustful_trait_trigger = yes }
}
desc = travel_events_bp3.15.desc.lustful.woman
}
triggered_desc = {
trigger = {
scope:liege = { bard_gluttonous_trait_trigger = yes }
}
desc = travel_events_bp3.15.desc.gluttonous
}
triggered_desc = {
trigger = {
scope:liege = { bard_fool_trait_trigger = yes }
}
desc = travel_events_bp3.15.desc.fool
}
triggered_desc = {
trigger = {
scope:liege = { has_trait = craven }
}
desc = travel_events_bp3.15.desc.craven
}
}
desc = travel_events_bp3.15.desc.outro
}
theme = travel
override_background = { reference = wilderness }
cooldown = { years = 10 }
left_portrait = {
character = root
animation = laugh
}
right_portrait = {
character = scope:bard_character
animation = storyteller
}
lower_right_portrait = scope:liege
trigger = {
static_group_filter = {
group = travel_events_bp3.15
match = 0.50
}
bp3_travel_event_default_trigger = yes
NOR = {
location.county.holder.top_liege = ROOT
location.county.title_province = {
OR = {
has_holding_type = nomad_holding
has_holding_type = herder_holding
}
}
location.county.holder.top_liege = {
has_title = title:h_china
}
}
location.county.holder.top_liege = {
age > 16
bard_sinful_trait_trigger = yes
}
}
immediate = {
location = { save_scope_as = location }
mp_delay_travel_plan = { DAYS = 90 }
location.county.holder.top_liege = {
save_scope_as = liege
}
create_character = {
template = master_bard_camp_officer_template
culture = location.culture
faith = location.faith
gender = root
location = location
save_scope_as = bard_character
}
}
option = {
name = travel_events_bp3.15.a
stress_impact = {
base = minor_stress_impact_loss
}
custom_tooltip = travel_events_bp3.15.a.tt
hidden_effect = {
if = {
limit = {
is_ai = no
}
random = {
chance = 33
scope:liege = {
random_secret = {
expose_secret = root
}
}
}
}
scope:bard_character = {
silent_disappearance_ai_effect = yes
}
}
ai_chance = {
base = 250
modifier = {
factor = 5
has_trait = ambitious
}
}
}
option = {
name = travel_events_bp3.15.b
trigger = {
OR = {
is_valid_to_hire_court_position_type = court_musician_court_position
is_valid_to_hire_court_position_type = court_jester_court_position
is_valid_to_hire_court_position_type = master_bard_camp_officer
}
}
show_as_tooltip = {
if = {
limit = {
is_valid_to_hire_court_position_type = court_musician_court_position
}
appoint_court_position = {
recipient = scope:bard_character
court_position = court_musician_court_position
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = court_jester_court_position
}
appoint_court_position = {
recipient = scope:bard_character
court_position = court_jester_court_position
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = master_bard_camp_officer
}
appoint_court_position = {
recipient = scope:bard_character
court_position = master_bard_camp_officer
}
}
}
custom_tooltip = will_have_excellent_aptitude
hidden_effect = {
scope:bard_character = { add_to_court_and_entourage_effect = yes }
if = {
limit = {
is_valid_to_hire_court_position_type = court_musician_court_position
NOT = { employs_court_position = court_musician_court_position }
}
appoint_court_position = {
recipient = scope:bard_character
court_position = court_musician_court_position
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = court_musician_court_position
employs_court_position = court_musician_court_position
}
bard_replace_position_effect = { POSITION = court_musician_court_position }
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = court_jester_court_position
NOT = { employs_court_position = court_jester_court_position }
}
appoint_court_position = {
recipient = scope:bard_character
court_position = court_jester_court_position
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = court_jester_court_position
employs_court_position = court_jester_court_position
}
bard_replace_position_effect = { POSITION = court_jester_court_position }
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = master_bard_camp_officer
NOT = { employs_court_position = master_bard_camp_officer }
}
appoint_court_position = {
recipient = scope:bard_character
court_position = master_bard_camp_officer
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = master_bard_camp_officer
employs_court_position = master_bard_camp_officer
}
bard_replace_position_effect = { POSITION = master_bard_camp_officer }
}
}
ai_chance = {
base = 100
}
}
option = {
name = travel_events_bp3.15.c
add_dread = minor_dread_gain
scope:liege = {
add_opinion = {
modifier = grateful_opinion
target = root
opinion = 15
}
}
scope:bard_character = {
death = {
death_reason = death_murder
killer = root
}
}
ai_chance = {
base = 50
modifier = {
factor = 0
has_trait = compassionate
}
modifier = {
factor = 10
OR = {
has_trait = callous
has_trait = sadistic
}
}
}
}
after = {
mp_resume_travel_plan = yes
scope:bard_character = {
silent_disappearance_ai_effect = yes
}
}
}
scripted_trigger bp3_home_city_trigger = {
has_holding_type = city_holding
free_building_slots > 0
}
travel_events_bp3.20 = { # The <X> Guild
type = character_event
content_source = dlc_015
title = travel_events_bp3.20.t
desc = travel_events_bp3.20.desc
theme = travel
override_background = { reference = market }
cooldown = { years = 25 }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:merchant_character
animation = debating
}
weight_multiplier = {
base = 1
modifier = {
factor = 0.3
is_ai = yes
}
}
trigger = {
static_group_filter = {
group = travel_events_bp3.20
match = 0.50
}
bp3_travel_event_default_trigger = yes
location = {
has_holding_type = city_holding
local_guild_trigger = yes
}
any_sub_realm_barony = {
title_province = { bp3_home_city_trigger = yes }
}
OR = { # Check if it is at all feasible that these people have an interest in your lands
location.empire = capital_barony.empire
location.county = {
any_title_to_title_neighboring_and_across_water_empire = {
this = root.capital_barony.empire
}
}
}
highest_held_title_tier < tier_empire
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
location = {
local_guild_effect = yes
}
random_sub_realm_barony = {
limit = {
county = { holder = root }
title_province = {
bp3_home_city_trigger = yes
local_guild_compare_trigger = yes
}
}
alternative_limit = {
title_province = {
bp3_home_city_trigger = yes
local_guild_compare_trigger = yes
}
}
alternative_limit = {
title_province = {
bp3_home_city_trigger = yes
}
}
title_province = { save_scope_as = new_home_province }
}
create_character = {
template = merchant_template
faith = location.faith
culture = location.culture
gender = root
location = location
save_scope_as = merchant_character
}
}
option = {
name = travel_events_bp3.20.a
add_gold = 1
scope:new_home_province = {
if = {
limit = {
local_guild_compare_trigger = yes
}
local_guild_reward_effect = yes
}
else = {
add_random_economic_building_effect = yes
}
}
stress_impact = {
diligent = minor_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 5
has_trait = diligent
}
}
}
option = {
name = travel_events_bp3.20.b
flavor = travel_events_bp3.20.b.tt
add_gold = tiny_gold_value
scope:new_home_province.county = {
change_development_progress_with_overflow = 25
change_county_control = -25
}
stress_impact = {
greedy = minor_stress_impact_loss
arbitrary = minor_stress_impact_loss
just = minor_stress_gain
generous = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = just
has_trait = generous
}
}
modifier = {
factor = 5
OR = {
has_trait = greedy
has_trait = arbitrary
}
}
}
}
option = {
name = travel_events_bp3.20.c
if = {
limit = {
location.culture != culture
}
culture = {
change_cultural_acceptance = {
target = root.location.culture
value = 2
desc = cultural_acceptance_gain_event
}
}
}
else = {
add_prestige = minor_prestige_gain
}
stress_impact = {
gregarious = minor_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 5
has_trait = gregarious
}
}
}
after = {
mp_resume_travel_plan = yes
scope:merchant_character = {
silent_disappearance_ai_effect = yes
}
}
}
travel_events_bp3.25 = { # The Toils of War
type = character_event
content_source = dlc_015
title = travel_events_bp3.25.t
desc = {
desc = travel_events_bp3.25.desc
random_valid = {
triggered_desc = {
trigger = {
NOT = { has_trait = sadistic }
}
desc = travel_events_bp3.25.desc.outro
}
triggered_desc = {
trigger = {
has_trait = sadistic
}
desc = travel_events_bp3.25.desc.outro.sadistic
}
}
}
theme = travel
override_background = { reference = market }
cooldown = { years = 10 }
left_portrait = {
character = root
triggered_animation = {
trigger = {
has_trait = sadistic
}
animation = schadenfreude
}
triggered_animation = {
trigger = {
NOT = { has_trait = sadistic }
}
animation = sadness
}
}
right_portrait = {
character = scope:soldier_character
animation = storyteller
hide_info = yes
}
trigger = {
static_group_filter = {
group = travel_events_bp3.25
match = 0.50
}
bp3_travel_event_default_trigger = yes
location = {
has_holding_type = castle_holding
}
OR = {
location.county.holder = {
days_of_continuous_war > 150
NOT = { is_at_war_with = root }
}
location.county.holder.top_liege = {
days_of_continuous_war > 150
NOT = { is_at_war_with = root }
}
}
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
location.county.holder = {
save_scope_as = liege
random_character_war = {
save_scope_as = ongoing_war
}
if = {
limit = {
NOT = { exists = scope:ongoing_war }
}
top_liege = {
save_scope_as = liege
random_character_war = {
save_scope_as = ongoing_war
}
}
}
}
scope:liege = {
random_war_enemy = {
save_scope_as = opponent
}
}
create_character = {
template = soldier_friend_character
culture = root.location.culture
faith = root.location.faith
gender = root
employer = scope:liege
save_scope_as = soldier_character
}
save_scope_value_as = {
name = lifestyle_modifier_xp
value = {
integer_range = {
min = 100 max = 500
}
divide = 10
ceiling = yes
multiply = 10
}
}
}
option = {
name = travel_events_bp3.25.a
add_piety = medium_piety_gain
remove_short_term_gold = tiny_gold_value
if = {
limit = {
location.culture != culture
}
culture = {
change_cultural_acceptance = {
target = root.location.culture
value = 2
desc = cultural_acceptance_gain_event
}
}
}
stress_impact = {
compassionate = medium_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 5
has_trait = compassionate
}
}
}
option = {
name = travel_events_bp3.25.b
random_list = {
25 = {
desc = travel_events_bp3.25.b.insulted
modifier = {
add = {
value = 35
subtract = root.diplomacy
}
}
send_interface_toast = {
type = event_generic_bad
title = travel_events_bp3.25.b.insulted
left_icon = root
add_prestige = medium_prestige_loss
}
}
25 = {
desc = travel_events_bp3.25.b.stories
modifier = {
add = {
value = 0
add = root.martial
add = root.prowess
}
}
send_interface_toast = {
type = event_generic_good
title = travel_events_bp3.25.b.stories
left_icon = root
add_martial_lifestyle_xp = scope:lifestyle_modifier_xp
}
}
50 = {
desc = travel_events_bp3.25.b.martial
modifier = {
add = {
value = 0
subtract = root.martial
}
}
send_interface_toast = {
type = event_generic_good
title = travel_events_bp3.25.b.martial
left_icon = root
add_martial_skill = 1
}
}
50 = {
desc = travel_events_bp3.25.b.prowess
modifier = {
add = {
value = 0
subtract = root.prowess
}
}
send_interface_toast = {
type = event_generic_good
title = travel_events_bp3.25.b.prowess
left_icon = root
add_prowess_skill = 1
}
}
}
stress_impact = {
brave = minor_stress_impact_loss
craven = minor_stress_gain
shy = medium_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = craven
has_trait = shy
}
}
modifier = {
factor = 5
has_trait = brave
}
}
}
option = {
name = travel_events_bp3.25.c
stress_impact = {
base = minor_stress_impact_loss
diligent = minor_stress_impact_loss
}
current_travel_plan ?= {
add_destination_progress = { days = 3 }
}
ai_chance = {
base = 100
modifier = {
factor = 5
has_trait = diligent
}
}
}
after = {
mp_resume_travel_plan = yes
scope:soldier_character = {
silent_disappearance_ai_effect = yes
}
}
}
travel_events_bp3.30 = { # The Mercenaries of <X>
type = character_event
content_source = dlc_015
title = travel_events_bp3.30.t
desc = travel_events_bp3.30.desc
theme = travel
override_background = { reference = tavern }
cooldown = { years = 10 }
left_portrait = {
character = root
animation = drink
}
right_portrait = {
character = scope:soldier_character
animation = toast
}
trigger = {
static_group_filter = {
group = travel_events_bp3.30
match = 0.50
}
bp3_travel_event_default_trigger = yes
location = {
has_holding_type = castle_holding
}
highest_held_title_tier < tier_empire
maa_regiments_max_count > 0 #This is to ensure we don't fire the event for characters that are not allowed to have MAA at all
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
create_character = {
template = great_mercenary
culture = root.location.culture
faith = root.location.faith
gender_female_chance = root_soldier_female_chance
location = root.location
save_scope_as = soldier_character
after_creation = {
add_character_flag = {
flag = need_military_outfit
}
if = {
limit = { NOT = { has_trait = lifestyle_blademaster } }
add_trait = lifestyle_blademaster
}
add_trait_xp = {
trait = lifestyle_blademaster
value = 75
}
}
}
}
option = {
name = travel_events_bp3.30.a
remove_short_term_gold = medium_gold_value
spawn_army = {
name = mercenary_army_default
levies = {
value = 200
multiply = {
min = 1
value = highest_held_title_tier
}
}
location = root.capital_province
inheritable = no
war_keep_on_attacker_victory = yes
}
ai_chance = {
base = 100
modifier = {
factor = 5
has_education_martial_trigger = yes
}
modifier = {
factor = 5
OR = {
has_trait = brave
has_trait = ambitious
}
}
}
}
option = {
name = travel_events_bp3.30.b
trigger = {
NOR = {
is_valid_to_hire_court_position_type = bodyguard_court_position
is_valid_to_hire_court_position_type = master_of_arms_camp_officer
}
}
remove_short_term_gold = {
value = tiny_gold_value
min = 20
max = 100
}
show_as_tooltip = { add_courtier = scope:soldier_character }
hidden_effect = {
scope:soldier_character = { add_to_court_and_entourage_effect = yes }
}
stress_impact = {
paranoid = medium_stress_gain
shy = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = shy
}
}
}
}
option = {
name = travel_events_bp3.30.c
trigger = {
OR = {
is_valid_to_hire_court_position_type = bodyguard_court_position
is_valid_to_hire_court_position_type = master_of_arms_camp_officer
}
}
remove_short_term_gold = {
value = minor_gold_value
min = 20
max = 100
}
show_as_tooltip = {
if = {
limit = {
is_valid_to_hire_court_position_type = bodyguard_court_position
}
appoint_court_position = {
recipient = scope:soldier_character
court_position = bodyguard_court_position
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = master_of_arms_camp_officer
}
appoint_court_position = {
recipient = scope:soldier_character
court_position = master_of_arms_camp_officer
}
}
}
custom_tooltip = will_have_excellent_aptitude
scope:soldier_character = {
add_opinion = {
modifier = friendliness_opinion
target = root
opinion = 25
}
}
hidden_effect = {
scope:soldier_character = { add_to_court_and_entourage_effect = yes }
if = {
limit = {
is_valid_to_hire_court_position_type = bodyguard_court_position
any_court_position_holder = {
count <= 1
has_court_position = bodyguard_court_position
}
}
appoint_court_position = {
recipient = scope:soldier_character
court_position = bodyguard_court_position
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = bodyguard_court_position
any_court_position_holder = {
count > 1
has_court_position = bodyguard_court_position
}
}
add_character_flag = temporary_court_position_cost_removal
replace_court_position = {
recipient = scope:soldier_character
holder = court_position:bodyguard_court_position
court_position = bodyguard_court_position
}
remove_character_flag = temporary_court_position_cost_removal
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = master_of_arms_camp_officer
NOT = { employs_court_position = master_of_arms_camp_officer }
}
appoint_court_position = {
recipient = scope:soldier_character
court_position = master_of_arms_camp_officer
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = master_of_arms_camp_officer
employs_court_position = master_of_arms_camp_officer
}
add_character_flag = temporary_court_position_cost_removal
replace_court_position = {
recipient = scope:soldier_character
holder = court_position:master_of_arms_camp_officer
court_position = master_of_arms_camp_officer
}
remove_character_flag = temporary_court_position_cost_removal
}
}
stress_impact = {
paranoid = medium_stress_gain
shy = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = shy
}
}
}
}
option = {
name = travel_events_bp3.30.d
stress_impact = {
base = minor_stress_impact_loss
}
ai_chance = {
base = 200
modifier = {
factor = 5
OR = {
has_trait = shy
has_trait = paranoid
}
}
}
}
option = {
name = travel_events_bp3.30.e
trigger = {
OR = {
has_trait = callous
has_trait = wrathful
}
}
add_dread = medium_dread_gain
scope:soldier_character = {
death = {
death_reason = death_murder
killer = root
}
}
stress_impact = {
callous = minor_stress_impact_loss
wrathful = medium_stress_impact_loss
compassionate = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 5
OR = {
has_trait = callous
has_trait = wrathful
}
}
modifier = {
factor = 0
has_trait = compassionate
}
}
}
after = {
mp_resume_travel_plan = yes
if = {
limit = {
OR = {
is_ai = yes
scope:soldier_character != root
}
}
scope:soldier_character = {
silent_disappearance_ai_effect = yes
}
}
}
}
scripted_trigger travel_event_teachable_kid_trigger = {
is_child_of = root
is_adult = no
age > 6
has_focus = education_martial
}
travel_events_bp3.35 = { # The Teacher of Knights
type = character_event
content_source = dlc_015
title = travel_events_bp3.35.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
scope:kid_character = { is_travel_entourage_character = yes }
}
desc = travel_events_bp3.35.desc.traveling
}
desc = travel_events_bp3.35.desc.home
}
first_valid = {
triggered_desc = {
trigger = {
NOT = { can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root } }
scope:kid_character = { is_travel_entourage_character = yes }
}
desc = travel_events_bp3.35.outro.non_martial_gender
}
desc = travel_events_bp3.35.outro.martial_gender
}
}
theme = travel
override_background = { reference = courtyard }
cooldown = { years = 10 }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:soldier_character
animation = marshal_wooden_sword
}
lower_right_portrait = scope:kid_character
trigger = {
static_group_filter = {
group = travel_events_bp3.35
match = 0.50
}
bp3_travel_event_default_trigger = yes
any_child = {
travel_event_teachable_kid_trigger = yes
}
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
create_character = {
template = old_knight_teacher
culture = root.location.culture
faith = root.location.faith
gender_female_chance = root_soldier_female_chance
location = root.location
save_scope_as = soldier_character
after_creation = {
add_character_flag = {
flag = roaming_character
flag = need_military_outfit
}
add_trait_xp = {
trait = lifestyle_blademaster
value = 100
}
add_character_modifier = knight_teacher_modifier
}
}
random_child = {
limit = {
is_travel_entourage_character = yes
travel_event_teachable_kid_trigger = yes
}
alternative_limit = {
travel_event_teachable_kid_trigger = yes
}
save_scope_as = kid_character
}
save_scope_value_as = {
name = lifestyle_trait_xp
value = lifestyle_blademaster_xp_gain_minor_value
}
}
option = {
name = {
trigger = {
scope:kid_character = { is_travel_entourage_character = yes }
}
text = travel_events_bp3.35.a.travel
}
name = {
trigger = {
scope:kid_character = { is_travel_entourage_character = no }
}
text = travel_events_bp3.35.a.home
}
if = {
limit = {
scope:kid_character = { is_travel_entourage_character = no }
}
remove_short_term_gold = {
value = minor_gold_value
min = 5
max = 150
}
}
hidden_effect = {
scope:soldier_character = { add_to_court_and_entourage_effect = yes }
}
scope:soldier_character = {
set_relation_ward = scope:kid_character
custom_tooltip = travel_events_bp3.35.a.tt
}
stress_impact = {
diligent = minor_stress_impact_loss
paranoid = medium_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 5
has_trait = diligent
}
modifier = {
factor = 0
has_trait = paranoid
}
}
}
option = {
name = {
trigger = {
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
}
text = travel_events_bp3.35.b.martial
}
name = {
trigger = {
NOT = { can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root } }
}
text = travel_events_bp3.35.b.non_martial
}
if = {
limit = {
has_trait = lifestyle_blademaster
}
add_trait_xp = {
trait = lifestyle_blademaster
value = scope:lifestyle_trait_xp
}
}
duel = {
skill = prowess
target = scope:soldier_character
50 = {
desc = travel_events_bp3.35.b.win
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -39
}
send_interface_toast = {
type = event_generic_good
title = travel_events_bp3.35.b.win
left_icon = root
add_prestige = minor_prestige_gain
stress_impact = {
base = minor_stress_impact_loss
}
if = {
limit = {
NOT = { has_trait = lifestyle_blademaster }
}
add_trait = lifestyle_blademaster
}
}
}
50 = {
desc = travel_events_bp3.35.b.lose
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -39
}
send_interface_toast = {
type = event_generic_good
title = travel_events_bp3.35.b.lose
left_icon = root
add_prowess_skill = 1
}
}
}
hidden_effect = {
scope:soldier_character = {
silent_disappearance_ai_effect = yes
}
}
stress_impact = {
brave = minor_stress_impact_loss
craven = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 5
has_trait = brave
}
modifier = {
factor = 0
has_trait = craven
}
}
}
option = {
name = {
trigger = {
scope:kid_character = { is_travel_entourage_character = yes }
}
text = travel_events_bp3.35.c.travel
}
name = {
trigger = {
scope:kid_character = { is_travel_entourage_character = no }
}
text = travel_events_bp3.35.c.home
}
stress_impact = {
base = medium_stress_impact_loss
gregarious = minor_stress_impact_loss
}
hidden_effect = {
scope:soldier_character = {
silent_disappearance_ai_effect = yes
}
}
ai_chance = {
base = 100
modifier = {
factor = 5
has_trait = gregarious
}
}
}
after = {
mp_resume_travel_plan = yes
scope:soldier_character = {
silent_disappearance_ai_effect = yes
}
}
}
scripted_trigger travel_event_decent_combatant_trigger = {
this != root
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
prowess >= 12
}
travel_events_bp3.40 = { # The Local Champion
type = character_event
content_source = dlc_015
title = travel_events_bp3.40.t
desc = {
desc = travel_events_bp3.40.desc
first_valid = {
triggered_desc = {
trigger = { exists = scope:challenger_character }
desc = travel_events_bp3.40.outro.challenger
}
desc = travel_events_bp3.40.fallback
}
}
theme = travel
override_background = { reference = market }
cooldown = { years = 10 }
left_portrait = {
character = root
triggered_animation = {
trigger = {
OR = {
has_trait = brave
prowess > 12
}
}
animation = anger
}
triggered_animation = {
trigger = {
OR = {
has_trait = craven
prowess <= 12
}
}
animation = fear
}
}
right_portrait = {
character = scope:soldier_character
animation = wrestling_victory
}
lower_right_portrait = scope:challenger_character
trigger = {
static_group_filter = {
group = travel_events_bp3.40
match = 0.50
}
bp3_travel_event_default_trigger = yes
OR = {
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
current_travel_plan = {
any_entourage_character = {
NOT = { this = root }
is_adult = yes
travel_event_decent_combatant_trigger = yes
prowess >= 12
}
}
}
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
create_character = {
template = wrestler_character
culture = root.location.culture
faith = root.location.faith
gender_female_chance = root_soldier_female_chance
location = root.location
save_scope_as = soldier_character
after_creation = {
add_character_flag = should_be_topless
add_character_flag = no_hat
}
}
current_travel_plan = {
ordered_entourage_character = {
limit = {
this != root
is_adult = yes
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
prowess >= 12
}
order_by = prowess
save_scope_as = challenger_character
}
}
}
option = {
name = travel_events_bp3.40.a
trigger = {
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
}
duel = {
skill = prowess
target = scope:soldier_character
50 = {
desc = travel_events_bp3.40.win
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -29
}
send_interface_toast = {
type = event_generic_good
title = travel_events_bp3.40.win
left_icon = root
add_prestige = medium_prestige_gain
add_gold = medium_gold_value
}
}
50 = {
desc = travel_events_bp3.40.lose
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -29
}
send_interface_toast = {
type = event_generic_bad
title = travel_events_bp3.40.lose
left_icon = root
remove_short_term_gold = tiny_gold_value
stress_impact = {
base = minor_stress_gain
ambitious = minor_stress_gain
}
}
}
}
stress_impact = {
craven = medium_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 5
OR = {
has_trait = brave
has_trait = ambitious
has_trait = greedy
}
prowess > 12
}
modifier = {
factor = 0
has_trait = craven
}
}
}
option = {
name = travel_events_bp3.40.b
trigger = {
exists = scope:challenger_character
}
scope:challenger_character ?= {
duel = {
skill = prowess
target = scope:soldier_character
50 = {
desc = travel_events_bp3.40.win
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -29
}
root = {
show_as_tooltip = {
add_prestige = {
value = medium_prestige_gain
multiply = 0.5
}
add_gold = {
value = medium_gold_value
multiply = 0.75
}
scope:challenger_character = {
add_prestige = {
value = medium_prestige_gain
multiply = 0.5
}
add_gold = {
value = root.medium_gold_value
multiply = 0.25
}
}
}
hidden_effect = {
send_interface_toast = {
type = event_generic_good
title = travel_events_bp3.40.win
left_icon = root
right_icon = scope:challenger_character
add_prestige = {
value = medium_prestige_gain
multiply = 0.5
}
add_gold = {
value = medium_gold_value
multiply = 0.75
}
hidden_effect = {
scope:challenger_character = {
add_prestige = {
value = medium_prestige_gain
multiply = 0.5
}
add_gold = {
value = root.medium_gold_value
multiply = 0.25
}
}
}
}
}
}
}
50 = {
desc = travel_events_bp3.40.lose
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -29
}
root = {
send_interface_toast = {
type = event_generic_bad
title = travel_events_bp3.40.lose
left_icon = root
remove_short_term_gold = tiny_gold_value
scope:challenger_character = {
stress_impact = {
base = minor_stress_gain
ambitious = minor_stress_gain
}
}
}
}
}
}
}
ai_chance = {
base = 100
modifier = {
factor = 5
OR = {
has_trait = ambitious
has_trait = greedy
}
prowess <= 12
}
}
}
option = {
name = travel_events_bp3.40.c
current_travel_plan ?= {
add_destination_progress = { days = 2 }
}
}
after = {
mp_resume_travel_plan = yes
scope:soldier_character = {
remove_character_flag = should_be_topless
remove_character_flag = no_hat
silent_disappearance_ai_effect = yes
}
}
}
travel_events_bp3.45 = { # The Wandering Knight
type = character_event
content_source = dlc_015
title = travel_events_bp3.45.t
desc = travel_events_bp3.45.desc
theme = travel
override_background = { reference = market }
cooldown = { years = 10 }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:knight_character
animation = debating
}
trigger = {
static_group_filter = {
group = travel_events_bp3.45
match = 0.50
}
bp3_travel_event_default_trigger = yes
location = { has_holding_type = castle_holding }
has_government = feudal_government
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
create_character = {
template = wandering_knight_character
culture = root.location.culture
faith = root.location.faith
gender_female_chance = root_soldier_female_chance
location = root.location
save_scope_as = knight_character
after_creation = {
add_character_flag = no_hat
add_character_flag = need_military_outfit
add_prestige = { integer_range = { min = 250 max = 1250 } }
add_piety = { integer_range = { min = 100 max = 500 } }
add_gold = { integer_range = { min = 25 max = 250 } }
}
}
save_scope_value_as = {
name = piety_chance
value = { integer_range = { min = 10 max = 30 } }
}
save_scope_value_as = {
name = prestige_chance
value = { integer_range = { min = 10 max = 30 } }
}
}
option = {
name = travel_events_bp3.45.a
pay_short_term_gold = {
target = scope:knight_character
gold = {
value = tiny_gold_value
divide = 2
min = 25
}
}
scope:knight_character = {
add_to_court_and_entourage_effect = yes
}
stress_impact = {
paranoid = medium_stress_gain
shy = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = shy
}
}
}
}
option = {
name = travel_events_bp3.45.b
flavor = travel_events_bp3.45.b.flavor
remove_short_term_gold = {
value = tiny_gold_value
max = 35
}
random_list = {
20 = {
desc = travel_events_bp3.45.diplomacy
modifier = {
add = {
value = 0
subtract = root.diplomacy
}
}
send_interface_message = {
type = event_generic_good
title = travel_events_bp3.45.diplomacy
left_icon = root
right_icon = scope:knight_character
add_diplomacy_skill = 1
}
}
20 = {
desc = travel_events_bp3.45.prowess
modifier = {
add = {
value = 0
subtract = root.prowess
}
}
send_interface_message = {
type = event_generic_good
title = travel_events_bp3.45.prowess
left_icon = root
right_icon = scope:knight_character
add_prowess_skill = 1
}
}
0 = {
desc = travel_events_bp3.45.piety
modifier = {
add = scope:piety_chance
}
send_interface_message = {
type = event_generic_good
title = travel_events_bp3.45.piety
left_icon = root
right_icon = scope:knight_character
add_piety = minor_piety_gain
}
}
0 = {
desc = travel_events_bp3.45.prestige
modifier = {
add = scope:prestige_chance
}
send_interface_message = {
type = event_generic_good
title = travel_events_bp3.45.prestige
left_icon = root
right_icon = scope:knight_character
add_prestige = minor_prestige_gain
}
}
}
stress_impact = {
gregarious = minor_stress_impact_loss
shy = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = shy
}
modifier = {
factor = 5
has_trait = gregarious
}
}
}
option = {
name = travel_events_bp3.45.c
current_travel_plan ?= {
add_destination_progress = { days = 2 }
}
ai_chance = {
base = 100
}
}
after = {
mp_resume_travel_plan = yes
scope:knight_character = {
remove_character_flag = no_hat
silent_disappearance_ai_effect = yes
}
}
}
travel_events_bp3.50 = { # A Band of Two
type = character_event
content_source = dlc_015
title = travel_events_bp3.50.t
desc = travel_events_bp3.50.desc
theme = travel
override_background = { reference = alley_day }
cooldown = { years = 10 }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:child_character
animation = happiness
}
trigger = {
static_group_filter = {
group = travel_events_bp3.50
match = 0.50
}
bp3_travel_event_default_trigger = yes
location = { has_holding_type = city_holding }
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
create_character = {
template = peasant_child_character
age = { 6 10 }
culture = root.location.culture
faith = root.location.faith
location = root.location
save_scope_as = child_character
after_creation = {
create_story = story_cycle_pet_dog
}
}
}
option = {
name = travel_events_bp3.50.a
remove_short_term_gold = {
value = tiny_gold_value
divide = 2
min = 2
max = 7
}
add_piety = minor_piety_gain
add_character_modifier = {
modifier = kind_ruler_modifier
years = 5
}
if = {
limit = {
location.culture != culture
}
culture = {
change_cultural_acceptance = {
target = root.location.culture
value = 1
desc = cultural_acceptance_gain_event
}
}
}
stress_impact = {
generous = medium_stress_impact_loss
greedy = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 5
has_trait = generous
}
modifier = {
factor = 0
has_trait = greedy
}
}
}
option = {
name = travel_events_bp3.50.b
trigger = {
has_trait = compassionate
}
add_character_modifier = {
modifier = kind_ruler_modifier
years = 5
}
stress_impact = {
compassionate = medium_stress_impact_loss
}
scope:child_character = {
add_opinion = {
modifier = saviour_opinion
target = root
opinion = 100
}
}
show_as_tooltip = { add_courtier = scope:child_character }
hidden_effect = {
scope:child_character = {
add_to_court_and_entourage_effect = yes
remove_character_flag = peasant_outfit
}
}
ai_chance = {
base = 100
modifier = {
factor = 5
has_trait = compassionate
}
}
}
option = {
name = travel_events_bp3.50.c
trigger = {
OR = {
has_trait = callous
has_trait = sadistic
}
}
show_as_tooltip = {
add_character_modifier = dog_story_modifier
}
create_story = story_cycle_pet_dog
add_character_modifier = {
modifier = heartless_modifier
years = 5
}
scope:child_character = {
add_opinion = {
modifier = hate_opinion
target = root
opinion = -200
}
}
hidden_effect = {
scope:child_character = {
random_owned_story = {
type = story_cycle_pet_dog
end_story = yes
}
}
}
stress_impact = {
callous = minor_stress_impact_loss
sadistic = minor_stress_impact_loss
compassionate = major_stress_gain
generous = medium_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = generous
has_trait = compassionate
}
}
modifier = {
factor = 5
OR = {
has_trait = sadistic
has_trait = callous
}
}
}
}
option = {
name = travel_events_bp3.50.d
current_travel_plan ?= {
add_destination_progress = { days = 2 }
}
ai_chance = {
base = 100
}
}
after = {
mp_resume_travel_plan = yes
scope:child_character = {
silent_disappearance_ai_effect = yes
}
}
}
scripted_trigger republic_ruler_check_trigger = {
government_has_flag = government_is_republic
in_diplomatic_range = root
NOT = { is_allied_to = root }
}
travel_events_bp3.55 = { # Traveling Traders
type = character_event
content_source = dlc_015
title = travel_events_bp3.55.t
desc = travel_events_bp3.55.desc
theme = travel
override_background = {
trigger = {
location = {
OR = {
is_coastal = yes
is_riverside_province = yes
}
}
}
reference = docks
}
override_background = {
trigger = {
location = {
is_coastal = no
is_riverside_province = no
}
}
reference = market
}
cooldown = { years = 10 }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:merchant_character
animation = anger
}
lower_right_portrait = scope:republic_ruler
trigger = {
static_group_filter = {
group = travel_events_bp3.55
match = 0.50
}
is_ai = no
bp3_travel_event_default_trigger = yes
location = { has_holding_type = city_holding }
OR = {
any_independent_ruler = {
republic_ruler_check_trigger = yes
}
faith = {
any_faith_ruler = {
republic_ruler_check_trigger = yes
}
}
}
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
ordered_independent_ruler = {
order_by = current_military_strength
limit = {
republic_ruler_check_trigger = yes
}
position = 0
save_scope_as = republic_ruler
}
if = {
limit = {
NOT = { exists = scope:republic_ruler }
}
faith = {
ordered_faith_ruler = {
order_by = current_military_strength
limit = {
republic_ruler_check_trigger = yes
}
position = 0
save_scope_as = republic_ruler
}
}
}
create_character = {
template = merchant_template
faith = scope:republic_ruler.faith
culture = scope:republic_ruler.culture
gender = root
location = location
save_scope_as = merchant_character
after_creation = {
add_prestige = { integer_range = { min = 25 max = 500 } }
add_piety = { integer_range = { min = 25 max = 250 } }
add_gold = { integer_range = { min = root.medium_gold_value max = root.major_gold_value } }
}
}
save_scope_value_as = {
name = price_for_alliance
value = {
value = scope:republic_ruler.current_military_strength
divide = 10
}
}
}
option = {
name = travel_events_bp3.55.a
flavor = travel_events_bp3.55.a.flavor
remove_short_term_gold = scope:price_for_alliance
create_alliance = scope:republic_ruler
custom_tooltip = travel_events_bp3.55.a.tt
scope:republic_ruler = {
add_opinion = {
modifier = event_negotiated_alliance_opinion
target = root
}
}
stress_impact = {
generous = minor_stress_impact_loss
greedy = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 5
has_trait = generous
}
modifier = {
factor = 0
has_trait = greedy
}
}
}
option = {
name = travel_events_bp3.55.b
flavor = travel_events_bp3.55.b.flavor
duel = {
skill = stewardship
target = scope:merchant_character
50 = {
desc = travel_events_bp3.55.b.win
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
send_interface_message = {
type = event_generic_good
title = travel_events_bp3.55.b.win
scope:merchant_character = {
pay_short_term_gold = {
target = root
gold = root.medium_gold_value
}
}
scope:republic_ruler = {
add_opinion = {
modifier = angry_opinion
target = root
opinion = -25
}
}
}
}
50 = {
desc = travel_events_bp3.55.b.lose
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
send_interface_message = {
type = event_generic_bad
title = travel_events_bp3.55.b.lose
pay_short_term_gold = {
target = scope:merchant_character
gold = root.minor_gold_value
}
scope:republic_ruler = {
add_opinion = {
modifier = disrespect_opinion
target = root
opinion = -15
}
}
}
}
}
stress_impact = {
generous = minor_stress_gain
greedy = minor_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 5
has_trait = greedy
}
modifier = {
factor = 0
has_trait = generous
}
}
}
option = {
name = travel_events_bp3.55.c
stress_impact = {
base = minor_stress_impact_loss
}
ai_chance = {
base = 300
}
}
after = {
mp_resume_travel_plan = yes
hidden_effect = {
scope:merchant_character = {
set_employer = scope:republic_ruler
}
}
}
}
travel_events_bp3.60 = { # A Small Deal
type = character_event
content_source = dlc_015
title = travel_events_bp3.60.t
desc = travel_events_bp3.60.desc
theme = travel
override_background = {
trigger = {
location = {
OR = {
is_coastal = yes
is_riverside_province = yes
}
}
}
reference = docks
}
override_background = {
trigger = {
location = {
is_coastal = no
is_riverside_province = no
}
}
reference = market
}
cooldown = { years = 10 }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:merchant_character
animation = disbelief
}
trigger = {
static_group_filter = {
group = travel_events_bp3.60
match = 0.50
}
is_landed = yes
bp3_travel_event_default_trigger = yes
location = {
has_holding_type = city_holding
this != root.capital_province
}
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
capital_province = {
set_variable = {
name = extra_building_resources
value = 3
}
}
create_character = {
template = merchant_template
faith = root.location.faith
culture = root.location.culture
gender = root
location = location
save_scope_as = merchant_character
after_creation = {
add_prestige = { integer_range = { min = 25 max = 500 } }
add_piety = { integer_range = { min = 25 max = 250 } }
add_gold = { integer_range = { min = root.medium_gold_value max = root.major_gold_value } }
}
}
}
option = {
name = travel_events_bp3.60.a
remove_short_term_gold = {
value = minor_gold_value
min = 25
max = 500
}
capital_province = {
add_province_modifier = travel_extra_building_resources_modifier
}
ai_chance = {
base = 100
}
}
option = {
name = travel_events_bp3.60.b
remove_short_term_gold = {
value = tiny_gold_value
min = 10
max = 250
}
add_character_modifier = {
modifier = travel_extra_building_resources_character_modifier
years = 5
}
ai_chance = {
base = 100
}
}
option = {
name = travel_events_bp3.60.c
current_travel_plan ?= {
add_destination_progress = { days = 2 }
}
ai_chance = {
base = 100
}
}
after = {
mp_resume_travel_plan = yes
hidden_effect = {
scope:merchant_character = {
silent_disappearance_ai_effect = yes
}
}
}
}
travel_events_bp3.65 = { # Purse Pursuit
type = character_event
content_source = dlc_015
title = travel_events_bp3.65.t
desc = travel_events_bp3.65.desc
theme = travel
override_background = market
cooldown = { years = 10 }
left_portrait = {
character = root
animation = shock
}
right_portrait = {
character = scope:thief_character
animation = betting
}
trigger = {
static_group_filter = {
group = travel_events_bp3.65
match = 0.50
}
bp3_travel_event_default_trigger = yes
location = { has_holding_type = city_holding }
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
create_character = {
random_traits = no
age = { 16 20 }
dynasty = none
faith = root.location.faith
culture = root.location.culture
location = root.location
random_traits_list = {
count = 1
education_intrigue_3 = {}
education_intrigue_4 = {}
}
random_traits_list = {
count = 3
brave = {}
ambitious = {}
stubborn = {}
vengeful = {}
arrogant = {}
deceitful = {}
stubborn = {}
callous = {}
}
intrigue = {
min_template_decent_skill
max_template_decent_skill
}
gender_female_chance = root_soldier_female_chance
save_scope_as = thief_character
after_creation = {
add_gold = { integer_range = { min = 5 max = 75 } }
add_piety = { integer_range = { min = -100 max = -25 } }
}
}
save_scope_value_as = {
name = gold_value
value = {
value = tiny_gold_value
divide = 2
}
}
remove_short_term_gold = scope:gold_value
}
option = {
name = travel_events_bp3.65.a
show_as_tooltip = {
add_courtier = scope:thief_character
}
scope:thief_character = {
hidden_effect = { add_to_court_and_entourage_effect = yes }
add_opinion = {
modifier = respect_opinion
target = root
opinion = 25
}
}
stress_impact = {
paranoid = major_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = paranoid
}
}
}
option = {
name = travel_events_bp3.65.b
add_dread = minor_dread_gain
add_gold = {
value = scope:gold_value
add = scope:thief_character.gold
}
scope:thief_character = {
death = {
death_reason = death_murder
killer = root
}
}
stress_impact = {
wrathful = medium_stress_impact_loss
callous = minor_stress_impact_loss
sadistic = minor_stress_impact_loss
greedy = minor_stress_impact_loss
compassionate = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = compassionate
}
modifier = {
factor = 5
OR = {
has_trait = wrathful
has_trait = callous
has_trait = sadistic
has_trait = greedy
}
}
}
}
option = {
name = travel_events_bp3.65.c
add_gold = scope:gold_value
stress_impact = {
base = minor_stress_impact_loss
compassionate = minor_stress_impact_loss
forgiving = minor_stress_impact_loss
wrathful = medium_stress_gain
vengeful = medium_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = wrathful
has_trait = vengeful
}
}
modifier = {
factor = 5
OR = {
has_trait = compassionate
has_trait = forgiving
}
}
}
}
after = {
mp_resume_travel_plan = yes
scope:thief_character = {
silent_disappearance_ai_effect = yes
}
}
}
travel_events_bp3.70 = { # <X> Festival
type = character_event
content_source = dlc_015
title = travel_events_bp3.70.t
desc = {
desc = travel_events_bp3.70.desc
first_valid = {
triggered_desc = {
trigger = {
exists = scope:local_character
}
desc = travel_events_bp3.70.desc.local
}
triggered_desc = {
trigger = {
exists = scope:dancing_partner
}
desc = travel_events_bp3.70.desc.entourage
}
}
desc = travel_events_bp3.70.desc.outro
}
theme = travel
override_background = { reference = village_festival }
cooldown = { years = 50 }
left_portrait = {
character = root
animation = dancing
}
right_portrait = {
character = scope:dancing_partner
animation = dancing
}
trigger = {
static_group_filter = {
group = travel_events_bp3.70
match = 0.50
}
bp3_travel_event_default_trigger = yes
location = {
has_holding_type = city_holding
culture != root.culture
}
NOT = { exists = var:special_culture }
prestige_level >= 4
NOR = {
has_trait = shy
has_trait = paranoid
}
location.culture = {
NOT = {
any_parent_culture = { this = root.culture }
}
}
culture = {
NOR = {
any_parent_culture = { this = root.location.culture }
has_same_culture_heritage = root.location.culture
}
}
highest_held_title_tier < tier_empire
}
immediate = {
save_scope_as = root_scope
mp_delay_travel_plan = { DAYS = 90 }
current_travel_plan = {
random_entourage_character = {
limit = {
OR = {
is_spouse_of = root
is_child_of = root
}
}
save_scope_as = dancing_partner
}
}
if = {
limit = {
NOT = { exists = scope:dancing_partner }
}
create_character = {
template = merchant_template
age = { 20 25 }
faith = root.location.faith
culture = root.location.culture
opposite_gender = root
location = location
save_scope_as = local_character
save_scope_as = dancing_partner
}
}
set_variable = {
name = special_culture_tooltip
value = root.location.culture
}
}
option = {
name = travel_events_bp3.70.a
reason = prestige_level
culture = {
change_cultural_acceptance = {
target = root.location.culture
value = 5
desc = cultural_acceptance_gain_event
}
}
if = {
limit = {
has_dlc_feature = hybridize_culture
}
custom_tooltip = travel_events_bp3.70.a.cultural_acceptance
custom_tooltip = travel_events_bp3.70.a.counties
set_variable = {
name = special_culture
value = root.location.culture
}
}
ai_chance = {
base = 0
}
}
option = {
name = travel_events_bp3.70.b
stress_impact = {
base = major_stress_impact_loss
}
ai_chance = {
base = 100
}
}
after = {
mp_resume_travel_plan = yes
remove_variable = special_culture_tooltip
}
}
travel_events_bp3.75 = { # Dreams Brewing
type = character_event
content_source = dlc_015
title = travel_events_bp3.75.t
desc = travel_events_bp3.75.desc
theme = travel
override_background = { reference = market }
cooldown = { years = 10 }
left_portrait = {
character = root
animation = drink
}
right_portrait = {
character = scope:brewmaster_character
animation = obsequious_bow
}
trigger = {
static_group_filter = {
group = travel_events_bp3.75
match = 0.50
}
bp3_travel_event_default_trigger = yes
NOT = { has_trait = paranoid }
location = {
has_holding_type = church_holding
}
OR = {
root.culture = { has_cultural_parameter = allows_brewery }
root.faith = {
OR = {
this = faith:catholic
has_doctrine_parameter = allows_brewery
}
}
}
OR = {
any_sub_realm_barony = {
county.holder = root
title_province = {
has_holding_type = city_holding
NOT = { has_building_or_higher = breweries_01 }
}
root.culture = { has_cultural_parameter = allows_brewery }
}
any_sub_realm_barony = {
county.holder = root
title_province = {
has_holding_type = church_holding
NOT = { has_building_or_higher = breweries_01 }
}
root.faith = {
OR = {
has_doctrine_parameter = allows_brewery
this = faith:catholic
}
}
}
}
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
if = {
limit = {
culture = { has_cultural_parameter = allows_brewery }
}
random_sub_realm_barony = {
limit = {
county.holder = root
title_province = {
has_holding_type = city_holding
NOT = { has_building_or_higher = breweries_01 }
}
}
save_scope_as = target_barony
}
}
if = {
limit = {
NOT = { exists = scope:barony }
faith = {
OR = {
has_doctrine_parameter = allows_brewery
this = faith:catholic
}
}
}
random_sub_realm_barony = {
limit = {
county.holder = root
title_province = {
has_holding_type = church_holding
NOT = { has_building_or_higher = breweries_01 }
}
}
save_scope_as = target_barony
}
}
if = {
limit = {
OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion }
faith = {
OR = {
this = faith:catholic
has_doctrine_parameter = allows_brewery
}
}
}
create_character = {
template = monk_brewer_template
culture = root.location.culture
location = root.location
save_scope_as = brewmaster_character
}
}
else = {
create_character = {
template = merchant_template
age = { 18 28 }
culture = root.location.culture
faith = root.faith
gender_female_chance = root_faith_clergy_gender_female_chance
random_traits_list = {
count = 1
diligent = {}
patient = {}
}
random_traits_list = {
count = 2
humble = {}
content = {}
gluttonous = {}
chaste = {}
generous = {}
calm = {}
deceitful = {}
honest = {}
craven = {}
gregarious = {}
arbitrary = {}
just = {}
zealous = {}
trusting = {}
}
location = root.location
save_scope_as = brewmaster_character
}
}
}
option = {
name = travel_events_bp3.75.a
remove_treasury_or_gold = tiny_treasury_or_gold_value
scope:target_barony.title_province = {
add_building = breweries_01
}
ai_chance = {
base = 0
}
}
option = {
name = travel_events_bp3.75.b
remove_short_term_gold = minor_gold_value
scope:target_barony.title_province = {
add_building = breweries_01
}
scope:brewmaster_character = {
show_as_tooltip = { set_employer = root }
hidden_effect = { add_to_court_and_entourage_effect = yes }
}
show_as_tooltip = {
appoint_court_position = {
recipient = scope:brewmaster_character
court_position = court_brewmaster_court_position
}
custom_tooltip = will_have_excellent_aptitude
}
hidden_effect = {
if = {
limit = {
is_valid_to_hire_court_position_type = court_brewmaster_court_position
NOT = { employs_court_position = court_brewmaster_court_position }
}
appoint_court_position = {
recipient = scope:brewmaster_character
court_position = court_brewmaster_court_position
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = court_brewmaster_court_position
employs_court_position = court_brewmaster_court_position
}
add_character_flag = temporary_court_position_cost_removal
replace_court_position = {
recipient = scope:brewmaster_character
holder = court_position:court_brewmaster_court_position
court_position = court_brewmaster_court_position
}
remove_character_flag = temporary_court_position_cost_removal
}
}
ai_chance = {
base = 0
}
}
option = {
name = travel_events_bp3.75.c
stress_impact = {
base = minor_stress_impact_loss
}
ai_chance = {
base = 100
}
}
after = {
mp_resume_travel_plan = yes
stress_impact = {
drunkard = medium_stress_impact_loss
}
if = {
limit = {
scope:brewmaster_character.liege != root
}
scope:brewmaster_character = { silent_disappearance_ai_effect = yes }
}
}
}
scripted_trigger travel_events_monk_child_trigger = {
is_heir_of = root
NOT = { is_primary_heir_of = root }
age > 10
age <= 25
is_married = no
OR = {
has_trait = chaste
has_trait = temperate
has_trait = lazy
has_trait = humble
has_trait = diligent
has_trait = calm
has_trait = patient
has_trait = honest
has_trait = craven
has_trait = content
has_trait = zealous
has_trait = compassionate
has_trait = forgiving
has_trait = education_learning
ai_zeal >= 0
}
NOR = {
has_trait = ambitious
has_trait = cynical
}
}
travel_events_bp3.80 = { # A Life of Service
type = character_event
content_source = dlc_015
title = travel_events_bp3.80.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
exists = scope:grandmaster
}
desc = travel_events_bp3.80.desc.holy_order
}
triggered_desc = {
trigger = {
scope:monk_character = {
is_adult = yes
}
}
desc = travel_events_bp3.80.desc.adult
}
triggered_desc = {
trigger = {
scope:monk_character = {
is_adult = no
}
}
desc = travel_events_bp3.80.desc.child
}
}
}
theme = travel
override_background = { reference = temple }
cooldown = { years = 10 }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:monk_character
animation = debating
}
lower_right_portrait = scope:grandmaster
lower_left_portrait = {
trigger = {
NOT = { exists = scope:grandmaster }
}
character = root.location.barony.holder
}
trigger = {
static_group_filter = {
group = travel_events_bp3.80
match = 0.50
}
bp3_travel_event_default_trigger = yes
location = {
has_holding_type = church_holding
faith = root.faith
}
current_travel_plan = {
any_entourage_character = {
travel_events_monk_child_trigger = yes
save_temporary_scope_as = monk_character_temp
}
}
faith = {
OR = {
has_doctrine_parameter = take_vows_active
AND = {
any_faith_holy_order = { }
scope:monk_character_temp = {
is_adult = yes
OR = {
has_trait = education_martial
prowess > 10
}
}
}
}
}
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
current_travel_plan = {
random_entourage_character = {
limit = {
travel_events_monk_child_trigger = yes
}
save_scope_as = monk_character
}
}
if = {
limit = {
scope:monk_character = {
is_adult = yes
OR = {
has_trait = education_martial
prowess > 10
}
}
}
faith = {
random_faith_holy_order = {
leader = { save_scope_as = grandmaster }
}
}
}
}
option = {
name = travel_events_bp3.80.a
scope:monk_character = {
add_opinion = {
target = root
modifier = friendliness_opinion
opinion = 25
}
}
if = {
limit = {
exists = scope:grandmaster
}
save_scope_as = actor
scope:monk_character = {
save_scope_as = recipient
send_child_to_holy_order_effect = { GRANDMASTER = grandmaster }
}
}
else = {
scope:monk_character = {
simplified_clergy_effect = { RECIPIENT = scope:monk_character }
}
if = {
limit = {
scope:monk_character = { is_adult = yes }
}
root.location.barony.holder = {
add_courtier = scope:monk_character
}
}
}
stress_impact = {
zealous = medium_stress_impact_loss
content = minor_stress_impact_loss
cynical = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = cynical
}
modifier = {
factor = 5
OR = {
has_trait = zealous
has_trait = content
}
}
}
}
option = {
name = travel_events_bp3.80.b
scope:monk_character = {
add_opinion = {
target = root
modifier = angry_opinion
opinion = -10
}
}
stress_impact = {
zealous = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = zealous
}
}
}
after = {
mp_resume_travel_plan = yes
}
}
travel_events_bp3.85 = { # Brewers of Fame
type = character_event
content_source = dlc_015
title = travel_events_bp3.85.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
root.location = {
OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion }
has_holding_type = church_holding
}
}
desc = travel_events_bp3.85.desc.monk
}
triggered_desc = {
trigger = {
root.location = {
NAND = {
OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion }
has_holding_type = church_holding
}
}
}
desc = travel_events_bp3.85.desc
}
}
desc = travel_events_bp3.85.desc.outro
}
theme = travel
override_background = { reference = tavern }
cooldown = { years = 20 }
left_portrait = {
character = root
animation = drink
}
trigger = {
static_group_filter = {
group = travel_events_bp3.85
match = 0.50
}
bp3_travel_event_default_trigger = yes
location = {
has_building_or_higher = breweries_01
county.holder = {
NOR = {
this = root
any_liege_or_above = {
this = root
}
}
}
}
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
if = {
limit = {
any_held_title = {
title_tier = county
has_variable = brewery_counter_var
}
}
ordered_sub_realm_county = {
order_by = {
value = 10000
subtract = var:brewery_counter_var
}
limit = {
has_variable = brewery_counter_var
}
position = 0
save_scope_as = brewery_county
}
}
}
option = {
name = travel_events_bp3.85.a
trigger = {
exists = scope:brewery_county
brewery_counter_value > 25
}
reason = brewery
custom_tooltip = travel_events_bp3.85.a.tt
add_prestige = {
value = brewery_counter_value
divide = 25
floor = yes
multiply = 50
min = 50
max = 500
}
dynasty = {
add_dynasty_prestige = {
value = brewery_counter_value
divide = 25
floor = yes
multiply = 5
min = 5
max = 50
}
}
stress_impact = {
arrogant = minor_stress_impact_loss
humble = minor_stress_gain
}
ai_chance = {
base = 0
}
}
option = {
name = travel_events_bp3.85.b
remove_short_term_gold = minor_gold_value
add_character_modifier = {
modifier = popular_beer_character_modifier
years = 5
}
stress_impact = {
greedy = minor_stress_gain
generous = minor_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = greedy
}
modifier = {
factor = 5
has_trait = generous
}
}
}
option = {
name = travel_events_bp3.85.c
stress_impact = {
base = minor_stress_impact_loss
content = minor_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 5
has_trait = content
}
}
}
after = {
mp_resume_travel_plan = yes
stress_impact = {
drunkard = minor_stress_impact_loss
}
}
}
travel_events_bp3.90 = { # Patron of the <Temple/Mosque/Church>
type = character_event
content_source = dlc_015
title = travel_events_bp3.90.t
desc = travel_events_bp3.90.desc
theme = travel
override_background = { reference = temple }
cooldown = { years = 10 }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:priest_character
animation = obsequious_bow
}
trigger = {
static_group_filter = {
group = travel_events_bp3.90
match = 0.50
}
bp3_travel_event_default_trigger = yes
location = {
has_holding_type = church_holding
faith = root.faith
county.holder.top_liege = root.top_liege
}
NOR = {
has_character_modifier = church_investment_modifier
has_character_modifier = church_investment_cost_modifier
}
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
create_character = {
template = simple_priest_character_template
culture = root.location.culture
faith = root.location.faith
gender_female_chance = root_faith_clergy_gender_female_chance
employer = root.location.barony.holder
save_scope_as = priest_character
}
set_variable = {
name = church_investment_year_var
value = {
value = current_year
subtract = 5
}
}
save_scope_value_as = {
name = investment_cost
value = {
value = tiny_gold_value
divide = 10
min = 2
floor = yes
multiply = 10
max = 100
}
}
}
option = {
name = travel_events_bp3.90.a
flavor = travel_events_bp3.90.a.flavor
add_character_modifier = church_investment_modifier
add_character_modifier = church_investment_cost_modifier
ai_chance = {
base = 100
}
}
option = {
name = travel_events_bp3.90.b
remove_short_term_gold = scope:investment_cost
add_piety = {
value = scope:investment_cost
multiply = 2
}
ai_chance = {
base = 100
}
}
option = {
name = travel_events_bp3.90.c
current_travel_plan ?= {
add_destination_progress = { days = 2 }
}
ai_chance = {
base = 100
}
}
after = {
mp_resume_travel_plan = yes
scope:priest_character ?= { silent_disappearance_ai_effect = yes }
}
}
scripted_trigger unvisited_holy_site_trigger = {
root = {
OR = {
NOT = { has_variable_list = visited_unique_holy_sites_list }
AND = {
has_variable_list = visited_unique_holy_sites_list
NOT = {
is_target_in_variable_list = {
name = visited_unique_holy_sites_list
target = prev
}
}
}
}
}
}
travel_events_bp3.95 = { # A Pilgrim's Tale
type = character_event
content_source = dlc_015
title = travel_events_bp3.95.t
desc = travel_events_bp3.95.desc
theme = travel
override_background = { reference = temple }
cooldown = { years = 10 }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:pilgrim_character
hide_info = yes
animation = storyteller
}
trigger = {
static_group_filter = {
group = travel_events_bp3.95
match = 0.50
}
is_ai = no
bp3_travel_event_default_trigger = yes
location = {
has_holding_type = church_holding
faith = root.faith
barony = { is_holy_site = no }
}
faith = {
NOT = { has_doctrine = doctrine_pilgrimage_forbidden }
any_holy_site = {
unvisited_holy_site_trigger = yes
}
}
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
faith = {
random_holy_site = {
limit = {
unvisited_holy_site_trigger = yes
}
save_scope_as = unvisited_holy_site
}
}
create_character = {
template = merchant_template
faith = root.faith
culture = root.location.culture
gender = root
location = root.location
save_scope_as = pilgrim_character
after_creation = {
add_piety = { integer_range = { min = 25 max = 250 } }
}
}
}
option = {
name = travel_events_bp3.95.a
flavor = travel_events_bp3.95.a.flavor
if = {
limit = {
has_lifestyle = wanderer_lifestyle
}
custom_tooltip = travel_events_bp3.95.a.tt.wanderer
}
else = {
custom_tooltip = travel_events_bp3.95.a.tt
}
remove_short_term_gold = tiny_gold_value
add_to_variable_list = {
name = holy_site_dreams
target = scope:unvisited_holy_site
}
stress_impact = {
zealous = minor_stress_impact_loss
}
}
option = {
name = travel_events_bp3.95.b
stress_impact = {
base = minor_stress_impact_loss
}
}
after = {
mp_resume_travel_plan = yes
scope:pilgrim_character = { silent_disappearance_ai_effect = yes }
}
}
scripted_trigger bp3_good_relations_trigger = {
is_adult = yes
likes_character_trigger = { CHARACTER = root }
OR = {
is_close_family_of = root
is_spouse_of = root
has_important_relationship_with_character_trigger = { CHARACTER = root }
}
}
travel_events_bp3.100 = { # Land of Milk and... Fish?
type = character_event
content_source = dlc_015
title = travel_events_bp3.100.t
desc = travel_events_bp3.100.desc
theme = travel
override_background = {
trigger = {
location = { is_coastal = yes }
}
reference = bp3_coast
}
override_background = {
trigger = {
location = { is_riverside_province = yes }
}
reference = bp3_riverside
}
cooldown = { years = 10 }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:friend_character
animation = happiness
}
trigger = {
static_group_filter = {
group = travel_events_bp3.100
match = 0.50
}
bp3_travel_event_default_trigger = yes
location = {
OR = {
is_coastal = yes
is_riverside_province = yes
}
}
current_travel_plan = {
any_entourage_character = {
bp3_good_relations_trigger = yes
}
}
OR = {
current_season_spring = yes
current_season_summer = yes
current_season_autumn = yes
current_season_dry_season = yes
}
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
current_travel_plan = {
random_entourage_character = {
limit = {
bp3_good_relations_trigger = yes
}
weight = {
base = 1
modifier = {
factor = 5
OR = {
is_spouse_of = root
is_close_family_of = root
}
}
}
save_scope_as = friend_character
}
}
}
option = {
name = travel_events_bp3.100.a
flavor = travel_events_bp3.100.a.flavor
progress_towards_friend_effect = {
REASON = friend_fishing_trip
CHARACTER = scope:friend_character
OPINION = default_friend_opinion
}
domicile ?= { change_provisions = miniscule_provisions_gain }
stress_impact = {
base = minor_stress_impact_loss
content = minor_stress_impact_loss
lazy = minor_stress_impact_loss
patient = minor_stress_impact_loss
}
current_travel_plan ?= {
delay_travel_plan = { days = 3 }
}
ai_chance = {
base = 100
modifier = {
factor = 5
OR = {
has_trait = lazy
has_trait = content
has_trait = patient
}
}
}
}
option = {
name = travel_events_bp3.100.b
flavor = travel_events_bp3.100.b.flavor
domicile ?= { change_provisions = minor_provisions_gain }
stress_impact = {
base = medium_stress_impact_loss
content = minor_stress_impact_loss
lazy = minor_stress_impact_loss
}
current_travel_plan ?= {
delay_travel_plan = { days = 10 }
}
ai_chance = {
base = 100
modifier = {
factor = 5
OR = {
has_trait = lazy
has_trait = content
}
}
}
}
option = {
name = travel_events_bp3.100.c
current_travel_plan ?= {
add_destination_progress = { days = 3 }
}
stress_impact = {
diligent = minor_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 5
has_trait = diligent
}
}
}
after = {
mp_resume_travel_plan = yes
}
}
scripted_effect bp3_skill_learning_duel_effect = {
root = {
duel = {
skill = $SKILL$
value = 15
60 = {
desc = bp3_skill_travel_skill_learn_win
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -59
}
send_interface_message = {
type = event_generic_good
title = bp3_skill_travel_skill_learn_win
left_icon = root
right_icon = scope:lifestyle_character
add_trait = $TRAIT$
}
}
40 = {
desc = bp3_skill_travel_skill_learn_fail
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -39
}
send_interface_message = {
type = event_generic_bad
title = bp3_skill_travel_skill_learn_fail
left_icon = root
right_icon = scope:lifestyle_character
stress_impact = {
base = minor_stress_gain
}
}
}
}
}
}
scripted_trigger bp3_lifestyle_trait_trigger = {
OR = {
has_trait = lifestyle_reveler
has_trait = lifestyle_blademaster
has_trait = lifestyle_hunter
has_trait = lifestyle_mystic
has_trait = lifestyle_physician
has_trait = lifestyle_herbalist
has_trait = lifestyle_gardener
}
}
travel_events_bp3.105 = { # A Woman/Man of Unusual Skills
type = character_event
content_source = dlc_015
title = travel_events_bp3.105.t
desc = {
desc = travel_events_bp3.105.desc
first_valid = {
triggered_desc = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_reveler }
}
desc = travel_events_bp3.105.desc.reveler
}
triggered_desc = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_blademaster }
}
desc = travel_events_bp3.105.desc.blademaster
}
triggered_desc = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_hunter }
}
desc = travel_events_bp3.105.desc.hunter
}
triggered_desc = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_mystic }
}
desc = travel_events_bp3.105.desc.mystic
}
triggered_desc = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_physician }
}
desc = travel_events_bp3.105.desc.physician
}
triggered_desc = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_herbalist }
}
desc = travel_events_bp3.105.desc.herbalist
}
triggered_desc = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_gardener }
}
desc = travel_events_bp3.105.desc.gardener
}
}
}
theme = travel
override_background = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_reveler }
}
reference = ep3_campfire
}
override_background = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_blademaster }
}
reference = ep3_campfire
}
override_background = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_hunter }
}
reference = terrain_travel
}
override_background = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_mystic }
}
reference = terrain_travel
}
override_background = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_physician }
}
reference = market
}
override_background = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_herbalist }
}
reference = terrain_travel
}
override_background = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_gardener }
}
reference = garden
}
cooldown = { years = 10 }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:lifestyle_character
triggered_animation = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_reveler }
}
animation = toast
}
triggered_animation = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_blademaster }
}
animation = inspect_weapon
}
triggered_animation = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_hunter }
}
animation = bow_idle
}
triggered_animation = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_mystic }
}
animation = happy_teacher
}
triggered_animation = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_physician }
}
animation = physician
}
triggered_animation = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_herbalist }
}
animation = storyteller
}
triggered_animation = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_gardener }
}
animation = survey
}
}
trigger = {
static_group_filter = {
group = travel_events_bp3.105
match = 0.50
}
bp3_travel_event_default_trigger = yes
bp3_lifestyle_trait_trigger = no
current_travel_plan = {
any_entourage_character = {
bp3_lifestyle_trait_trigger = yes
}
}
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
current_travel_plan = {
random_entourage_character = {
limit = {
bp3_lifestyle_trait_trigger = yes
}
save_scope_as = lifestyle_character
}
}
}
option = {
name = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_reveler }
}
text = travel_events_bp3.105.a.reveler
}
name = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_blademaster }
}
text = travel_events_bp3.105.a.blademaster
}
name = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_hunter }
}
text = travel_events_bp3.105.a.hunter
}
name = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_mystic }
}
text = travel_events_bp3.105.a.mystic
}
name = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_physician }
}
text = travel_events_bp3.105.a.physician
}
name = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_herbalist }
}
text = travel_events_bp3.105.a.herbalist
}
name = {
trigger = {
scope:lifestyle_character = { has_trait = lifestyle_gardener }
}
text = travel_events_bp3.105.a.gardener
}
scope:lifestyle_character = {
switch = {
trigger = has_trait
lifestyle_reveler = {
bp3_skill_learning_duel_effect = {
TRAIT = lifestyle_reveler
SKILL = diplomacy
}
root = {
stress_impact = {
drunkard = minor_stress_impact_loss
content = minor_stress_impact_loss
gregarious = minor_stress_impact_loss
}
}
}
lifestyle_blademaster = {
bp3_skill_learning_duel_effect = {
TRAIT = lifestyle_blademaster
SKILL = prowess
}
root = {
stress_impact = {
brave = minor_stress_impact_loss
diligent = minor_stress_impact_loss
ambitious = minor_stress_impact_loss
}
}
}
lifestyle_hunter = {
bp3_skill_learning_duel_effect = {
TRAIT = lifestyle_hunter
SKILL = prowess
}
root = {
stress_impact = {
brave = minor_stress_impact_loss
greedy = minor_stress_impact_loss
ambitious = minor_stress_impact_loss
}
}
}
lifestyle_mystic = {
bp3_skill_learning_duel_effect = {
TRAIT = lifestyle_mystic
SKILL = learning
}
root = {
stress_impact = {
patient = minor_stress_impact_loss
eccentric = minor_stress_impact_loss
cynical = minor_stress_impact_loss
}
}
}
lifestyle_physician = {
bp3_skill_learning_duel_effect = {
TRAIT = lifestyle_physician
SKILL = learning
}
root = {
stress_impact = {
patient = minor_stress_impact_loss
compassionate = minor_stress_impact_loss
humble = minor_stress_impact_loss
}
}
}
lifestyle_herbalist = {
bp3_skill_learning_duel_effect = {
TRAIT = lifestyle_herbalist
SKILL = learning
}
root = {
stress_impact = {
patient = minor_stress_impact_loss
calm = minor_stress_impact_loss
content = minor_stress_impact_loss
}
}
}
lifestyle_gardener = {
bp3_skill_learning_duel_effect = {
TRAIT = lifestyle_gardener
SKILL = stewardship
}
root = {
stress_impact = {
patient = minor_stress_impact_loss
calm = minor_stress_impact_loss
diligent = minor_stress_impact_loss
}
}
}
}
}
ai_chance = {
base = 100
modifier = {
factor = 5
scope:lifestyle_character = {
switch = {
trigger = has_trait
lifestyle_reveler = {
root = {
OR = {
has_trait = drunkard
has_trait = content
has_trait = gregarious
}
}
}
lifestyle_blademaster = {
root = {
OR = {
has_trait = brave
has_trait = diligent
has_trait = ambitious
}
}
}
lifestyle_hunter = {
root = {
OR = {
has_trait = brave
has_trait = greedy
has_trait = ambitious
}
}
}
lifestyle_mystic = {
root = {
OR = {
has_trait = patient
has_trait = eccentric
has_trait = cynical
}
}
}
lifestyle_physician = {
root = {
OR = {
has_trait = patient
has_trait = compassionate
has_trait = humble
}
}
}
lifestyle_herbalist = {
root = {
OR = {
has_trait = patient
has_trait = calm
has_trait = content
}
}
}
lifestyle_gardener = {
root = {
OR = {
has_trait = patient
has_trait = calm
has_trait = diligent
}
}
}
}
}
}
}
}
option = {
name = travel_events_bp3.105.b
scope:lifestyle_character = {
add_opinion = {
modifier = friendliness_opinion
target = root
opinion = 15
}
}
ai_chance = {
base = 100
}
}
after = {
mp_resume_travel_plan = yes
}
}
travel_events_bp3.110 = { # Heart-to-Heart
type = character_event
content_source = dlc_015
title = travel_events_bp3.110.t
desc = {
desc = travel_events_bp3.110.desc.intro
first_valid = {
triggered_desc = {
trigger = {
exists = scope:negative_memory
}
desc = travel_events_bp3.110.desc.negative_memory
}
desc = travel_events_bp3.110.desc.fallback
}
desc = travel_events_bp3.110.desc.outro
}
theme = travel
override_background = { reference = ep3_campfire }
cooldown = { years = 10 }
left_portrait = {
character = root
animation = stress
}
right_portrait = {
character = scope:friend_character
animation = thinking
}
trigger = {
static_group_filter = {
group = travel_events_bp3.110
match = 0.50
}
bp3_travel_event_default_trigger = yes
stress >= 50
NOR = {
has_trait = paranoid
has_trait = shy
}
current_travel_plan = {
any_entourage_character = {
is_adult = yes
bp3_good_relations_trigger = yes
}
}
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
current_travel_plan = {
random_entourage_character = {
limit = {
is_adult = yes
bp3_good_relations_trigger = yes
}
save_scope_as = friend_character
}
}
random_memory = {
limit = {
has_memory_category = negative
}
save_scope_as = negative_memory
}
}
option = {
name = travel_events_bp3.110.a
flavor = travel_events_bp3.110.a.flavor
progress_towards_friend_effect = {
REASON = friend_opened_up
CHARACTER = scope:friend_character
OPINION = default_friend_opinion
}
stress_impact = {
base = medium_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 5
OR = {
has_trait = gregarious
has_trait = compassionate
}
}
}
}
option = {
name = travel_events_bp3.110.b
flavor = travel_events_bp3.110.b.flavor
stress_impact = {
base = major_stress_impact_loss
}
ai_chance = {
base = 200
modifier = {
factor = 5
has_trait = arrogant
}
}
}
after = {
mp_resume_travel_plan = yes
}
}
scripted_effect travel_entourage_bp3_effect = {
if = {
limit = {
exists = var:saved_character_number
}
switch = {
trigger = var:saved_character_number
1 = { prev = { save_scope_as = character_number_1 } }
2 = { prev = { save_scope_as = character_number_2 } }
3 = { prev = { save_scope_as = character_number_3 } }
}
change_variable = { name = saved_character_number add = 1 }
}
}
scripted_effect campfire_friendliness_effect = {
scope:character_number_1 ?= {
add_opinion = {
modifier = friendliness_opinion
target = root
opinion = $VALUE$
}
}
scope:character_number_2 ?= {
add_opinion = {
modifier = friendliness_opinion
target = root
opinion = $VALUE$
}
}
scope:character_number_3 ?= {
add_opinion = {
modifier = friendliness_opinion
target = root
opinion = $VALUE$
}
}
}
scripted_trigger travel_bp3_relevant_character_trigger = {
likes_character_trigger = { CHARACTER = root }
is_adult = yes
OR = {
is_knight_of = root
is_councillor_of = root
has_any_court_position = yes
is_spouse_of = root
is_close_family_of = root
has_important_relationship_with_character_trigger = { CHARACTER = root }
}
}
travel_events_bp3.115 = { # Night by the Campfire
type = character_event
content_source = dlc_015
title = travel_events_bp3.115.t
desc = {
desc = travel_events_bp3.115.desc.intro
first_valid = {
triggered_desc = {
trigger = {
exists = scope:character_number_3
}
desc = travel_events_bp3.115.desc.3_characters
}
triggered_desc = {
trigger = {
exists = scope:character_number_2
}
desc = travel_events_bp3.115.desc.2_characters
}
desc = travel_events_bp3.115.desc.1_character
}
desc = travel_events_bp3.115.desc.outro
}
theme = travel
override_background = { reference = ep3_campfire }
cooldown = { years = 10 }
left_portrait = {
character = root
animation = laugh
}
right_portrait = {
character = scope:character_number_1
animation = storyteller
}
lower_left_portrait = scope:character_number_2
lower_right_portrait = scope:character_number_3
trigger = {
static_group_filter = {
group = travel_events_bp3.115
match = 0.50
}
bp3_travel_event_default_trigger = yes
current_travel_plan = {
any_entourage_character = {
count >= 1
travel_bp3_relevant_character_trigger = yes
}
}
}
immediate = {
set_variable = {
name = saved_character_number
value = 1
}
mp_delay_travel_plan = { DAYS = 90 }
current_travel_plan = {
ordered_entourage_character = {
order_by = {
value = "opinion(root)"
if = {
limit = {
is_knight_of = root
}
subtract = 50
}
if = {
limit = {
OR = {
is_spouse_of = root
is_close_family_of = root
}
}
add = 25
}
}
limit = { travel_bp3_relevant_character_trigger = yes }
max = 3
check_range_bounds = no
root = { travel_entourage_bp3_effect = yes }
}
}
}
option = {
name = travel_events_bp3.115.a
campfire_friendliness_effect = { VALUE = 5 }
stress_impact = {
gregarious = minor_stress_impact_loss
honest = minor_stress_impact_loss
shy = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 5
OR = {
has_trait = gregarious
has_trait = honest
}
}
modifier = {
factor = 0
has_trait = shy
}
}
}
option = {
name = travel_events_bp3.115.b
duel = {
skills = { diplomacy intrigue }
value = 20
50 = {
desc = travel_events_bp3.115.b.impressed
compare_modifier = {
value = scope:duel_value
multiplier = 1.5
min = -49
}
send_interface_toast = {
type = event_generic_bad
title = travel_events_bp3.115.b.impressed
left_icon = root
right_icon = scope:character_number_1
campfire_friendliness_effect = { VALUE = 15 }
}
}
50 = {
desc = travel_events_bp3.115.b.unimpressed
compare_modifier = {
value = scope:duel_value
multiplier = -1.5
min = -49
}
send_interface_toast = {
type = event_generic_bad
title = travel_events_bp3.115.b.unimpressed
left_icon = root
right_icon = scope:character_number_1
campfire_friendliness_effect = { VALUE = 2 }
}
}
}
stress_impact = {
deceitful = minor_stress_impact_loss
honest = minor_stress_gain
shy = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 5
has_trait = deceitful
}
modifier = {
factor = 0
OR = {
has_trait = shy
has_trait = honest
}
}
}
}
option = {
name = travel_events_bp3.115.c
progress_towards_friend_effect = {
REASON = friend_story_by_fire_corresponding
CHARACTER = scope:character_number_1
OPINION = default_friend_opinion
}
stress_impact = {
base = minor_stress_impact_loss
}
ai_chance = {
base = 300
}
}
after = {
mp_resume_travel_plan = yes
remove_variable = saved_character_number
}
}
travel_events_bp3.120 = { # The Wrecked Boat
type = character_event
content_source = dlc_015
title = travel_events_bp3.120.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
location = { is_coastal = yes }
}
desc = travel_events_bp3.120.desc.intro.coast
}
desc = travel_events_bp3.120.desc.intro.river
}
desc = travel_events_bp3.120.desc
}
theme = travel
override_background = {
trigger = {
location = { is_coastal = yes }
}
reference = bp3_coast
}
override_background = {
reference = bp3_riverside
}
cooldown = { years = 20 }
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:merchant_character
animation = severelywounded
}
trigger = {
static_group_filter = {
group = travel_events_bp3.120
match = 0.50
}
bp3_travel_event_default_trigger = yes
location = { is_riverside_province = yes }
}
immediate = {
mp_delay_travel_plan = { DAYS = 90 }
create_character = {
template = merchant_template
location = root.location
faith = root.location.faith
culture = root.location.culture
after_creation = {
add_gold = {
integer_range = {
min = root.minor_gold_value
max = root.medium_gold_value
}
}
}
save_scope_as = merchant_character
}
location = {
random_neighboring_province = {
limit = {
is_river_province = yes
}
save_scope_as = river_province
}
}
}
option = {
name = travel_events_bp3.120.a
stress_impact = {
base = minor_stress_impact_loss
compassionate = medium_stress_impact_loss
generous = minor_stress_impact_loss
}
current_travel_plan ?= { delay_travel_plan = { days = 5 } }
ai_chance = {
base = 100
modifier = {
factor = 5
OR = {
has_trait = compassionate
has_trait = generous
}
}
}
}
option = {
name = travel_events_bp3.120.b
scope:merchant_character = {
pay_short_term_gold = {
target = root
gold = {
value = scope:merchant_character.gold
divide = 2
}
}
}
current_travel_plan ?= { delay_travel_plan = { days = 5 } }
ai_chance = {
base = 100
modifier = {
factor = 5
has_trait = greedy
}
}
}
option = {
name = travel_events_bp3.120.c
trigger = {
OR = {
has_trait = callous
has_trait = sadistic
}
}
add_dread = minor_dread_gain
add_gold = scope:merchant_character.gold
scope:merchant_character = {
death = {
death_reason = death_murder
killer = root
}
}
ai_chance = {
base = 100
modifier = {
factor = 5
OR = {
has_trait = callous
has_trait = sadistic
}
}
}
}
option = {
name = travel_events_bp3.120.d
current_travel_plan ?= { add_destination_progress = { days = 3 } }
ai_chance = {
base = 100
modifier = {
factor = 5
OR = {
has_trait = diligent
has_trait = ambitious
}
}
}
}
after = {
mp_resume_travel_plan = yes
scope:merchant_character = { silent_disappearance_ai_effect = yes }
}
}