N3OW/events/dlc/bp3/bp3_journey_events.txt
2026-01-06 14:25:21 +01:00

6813 lines
139 KiB
Text

namespace = bp3_journey
### Setup Events
# Arrival Event
bp3_journey.0005 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.0005.t
desc = bp3_journey.0005.desc
theme = journey_activity
left_portrait = {
character = scope:scribe_1
animation = writing
}
center_portrait = {
character = scope:host
animation = survey_staff
}
right_portrait = {
character = scope:scribe_2
animation = happy_teacher
}
trigger = {
this = scope:host
}
immediate = {
scope:activity.activity_location = { save_scope_as = location }
if = {
limit = {
scope:activity = {
any_attending_character = {
has_character_flag = generated_scribe
}
}
}
scope:activity = {
random_attending_character = {
limit = {
has_character_flag = generated_scribe
}
save_scope_as = scribe_1
}
random_attending_character = {
limit = {
has_character_flag = generated_scribe
this != scope:scribe_1
}
save_scope_as = scribe_2
}
}
}
}
option = {
name = bp3_journey.0005.a # Diplomacy
skill = diplomacy
trigger = {
scope:activity.activity_location = {
journey_diplomacy_skill_monument_trigger = yes
}
}
custom_tooltip = diplomacy_skill_focus_tt
scope:activity = {
set_variable = {
name = diplomacy_skill_focus
value = yes
}
}
}
option = {
name = bp3_journey.0005.b # Martial
skill = martial
trigger = {
scope:activity.activity_location = {
journey_martial_skill_monument_trigger = yes
}
}
custom_tooltip = martial_skill_focus_tt
scope:activity = {
set_variable = {
name = martial_skill_focus
value = yes
}
}
}
option = {
name = bp3_journey.0005.c # Learning
skill = learning
trigger = {
scope:activity.activity_location = {
journey_learning_skill_monument_trigger = yes
}
}
custom_tooltip = learning_skill_focus_tt
scope:activity = {
set_variable = {
name = learning_skill_focus
value = yes
}
}
}
option = {
name = bp3_journey.0005.d # Stewardship
skill = stewardship
trigger = {
scope:activity.activity_location = {
journey_stewardship_skill_monument_trigger = yes
}
}
custom_tooltip = stewardship_skill_focus_tt
scope:activity = {
set_variable = {
name = stewardship_skill_focus
value = yes
}
}
}
option = {
name = bp3_journey.0005.e # Intrigue
skill = intrigue
trigger = {
scope:activity.activity_location = {
journey_intrigue_skill_monument_trigger = yes
}
}
custom_tooltip = intrigue_skill_focus_tt
scope:activity = {
set_variable = {
name = intrigue_skill_focus
value = yes
}
}
}
}
# Ending Event
bp3_journey.0010 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.0010.t
desc = bp3_journey.0010.desc
theme = journey_activity
left_portrait = {
character = scope:scribe_1
animation = reading
}
center_portrait = {
character = scope:host
animation = throne_room_writer
}
right_portrait = {
character = scope:scribe_2
animation = page_flipping
}
trigger = {
this = scope:host
}
immediate = {
scope:activity.activity_location = { save_scope_as = location }
if = {
limit = {
scope:activity = {
any_attending_character = {
has_character_flag = generated_scribe
}
}
}
scope:activity = {
random_attending_character = {
limit = {
has_character_flag = generated_scribe
}
save_scope_as = scribe_1
}
random_attending_character = {
limit = {
has_character_flag = generated_scribe
this != scope:scribe_1
}
save_scope_as = scribe_2
}
}
}
random = {
chance = scope:activity.var:skill_chance
save_scope_as = extra_skill_gained
}
}
option = {
name = bp3_journey.0010.a
scope:activity = {
add_activity_log_entry = {
key = journey_skill_gain_final_log
score = 1000
character = root
tags = { positive }
show_in_conclusion = yes
root = {
if = {
limit = {
scope:activity = {
has_variable = diplomacy_skill_focus
}
NOT = { exists = scope:extra_skill_gained }
}
add_diplomacy_skill = 1
}
else_if = {
limit = {
scope:activity = {
has_variable = learning_skill_focus
}
NOT = { exists = scope:extra_skill_gained }
}
add_learning_skill = 1
}
else_if = {
limit = {
scope:activity = {
has_variable = martial_skill_focus
}
NOT = { exists = scope:extra_skill_gained }
}
add_martial_skill = 1
}
else_if = {
limit = {
scope:activity = {
has_variable = stewardship_skill_focus
}
NOT = { exists = scope:extra_skill_gained }
}
add_stewardship_skill = 1
}
else_if = {
limit = {
scope:activity = {
has_variable = intrigue_skill_focus
}
NOT = { exists = scope:extra_skill_gained }
}
add_intrigue_skill = 1
}
# Knowledge Hoarding outcome
if = {
limit = {
exists = scope:extra_skill_gained
}
custom_tooltip = extra_skill_gained_tt
if = {
limit = {
scope:activity = { has_variable = intrigue_skill_focus }
}
add_intrigue_skill = 2
}
else_if = {
limit = {
scope:activity = { has_variable = martial_skill_focus }
}
add_martial_skill = 2
}
else_if = {
limit = {
scope:activity = { has_variable = learning_skill_focus }
}
add_learning_skill = 2
}
else_if = {
limit = {
scope:activity = { has_variable = stewardship_skill_focus }
}
add_stewardship_skill = 2
}
else_if = {
limit = {
scope:activity = { has_variable = diplomacy_skill_focus }
}
add_diplomacy_skill = 2
}
}
else = {
custom_tooltip = no_extra_skill_gained_tt
}
}
}
}
}
}
# Mid-point Visit Event
bp3_journey.0015 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.0015.t
desc = bp3_journey.0015.desc
theme = journey_activity
override_background = {
trigger = {
scope:location = {
has_building_with_flag = travel_point_of_interest_economic
NOR = {
has_building = doges_palace_01
has_building = iron_pillar_of_dhar_01
has_building = petra_01
has_building = fairy_chimneys
}
}
}
reference = fp3_cave
}
left_portrait = {
character = scope:potential_friend
animation = admiration
}
center_portrait = {
character = scope:host
triggered_animation = {
trigger = { has_activity_intent = journey_knowledge_hoarding_intent }
animation = happy_teacher
}
triggered_animation = {
trigger = { has_activity_intent = journey_curiosity_intent }
animation = ecstasy
}
animation = hero_flex
}
right_portrait = {
character = scope:potential_lover
animation = love
}
trigger = {
this = scope:host
}
immediate = {
scope:activity.activity_location = { save_scope_as = location }
if = {
limit = {
scope:activity = {
any_attending_character = {
has_character_flag = generated_scribe
}
}
}
scope:activity = {
random_attending_character = {
limit = {
has_character_flag = generated_scribe
}
save_scope_as = scribe_1
}
random_attending_character = {
limit = {
has_character_flag = generated_scribe
this != scope:scribe_1
}
save_scope_as = scribe_2
}
}
}
if = {
limit = {
scope:activity = {
any_attending_character = {
is_incapable = no
has_relation_potential_friend = root
can_set_relation_friend_trigger = { CHARACTER = root }
}
}
}
scope:activity = {
random_attending_character = {
limit = {
is_incapable = no
has_relation_potential_friend = root
can_set_relation_friend_trigger = { CHARACTER = root }
}
save_scope_as = potential_friend
}
}
}
else_if = {
limit = {
scope:activity.activity_location.county.holder ?= {
is_available_ai_adult = yes
has_relation_potential_friend = root
can_set_relation_friend_trigger = { CHARACTER = root }
NOR = {
this = root
has_relation_friend = root
has_relation_rival = root
}
}
}
scope:activity.activity_location.county.holder ?= { save_scope_as = potential_friend }
}
if = {
limit = {
scope:activity = {
any_attending_character = {
is_incapable = no
has_relation_potential_lover = root
can_set_relation_lover_trigger = { CHARACTER = root }
this != root
trigger_if = {
limit = {
exists = scope:potential_friend
}
this != scope:potential_friend
}
}
}
}
scope:activity = {
random_attending_character = {
limit = {
is_incapable = no
has_relation_potential_lover = root
can_set_relation_lover_trigger = { CHARACTER = root }
this != root
trigger_if = {
limit = {
exists = scope:potential_friend
}
this != scope:potential_friend
}
}
save_scope_as = potential_lover
}
}
}
else_if = {
limit = {
scope:activity.activity_location.county.holder ?= {
is_available_ai_adult = yes
has_relation_potential_lover = root
can_set_relation_lover_trigger = { CHARACTER = root }
NOR = {
this = root
has_relation_rival = root
}
trigger_if = {
limit = {
exists = scope:potential_friend
}
this != scope:potential_friend
}
}
}
scope:activity.activity_location.county.holder ?= { save_scope_as = potential_friend }
}
else_if = {
limit = {
scope:activity = {
any_attending_character = {
is_consort_of = root
NOT = { has_relation_rival = root }
can_set_relation_lover_trigger = { CHARACTER = root }
this != root
trigger_if = {
limit = {
exists = scope:potential_friend
}
this != scope:potential_friend
}
}
}
}
scope:activity = {
random_attending_character = {
limit = {
is_consort_of = root
NOT = { has_relation_rival = root }
can_set_relation_lover_trigger = { CHARACTER = root }
this != root
trigger_if = {
limit = {
exists = scope:potential_friend
}
this != scope:potential_friend
}
}
save_scope_as = potential_lover
}
}
}
create_character_memory = {
type = visited_monument
}
scope:new_memory = {
set_variable = {
name = special_building
value = scope:activity.activity_location
}
if = {
limit = { has_variable = special_building }
}
}
}
option = {
name = bp3_journey.0015.knowledge_hoarding
trigger = {
has_activity_intent = journey_knowledge_hoarding_intent
}
add_prestige = miniscule_prestige_gain
journey_knowledge_hoarding_skill_effect = { VALUE = 5 }
ai_chance = {
base = 100
}
}
option = {
name = bp3_journey.0015.journey_curiosity_intent
trigger = {
has_activity_intent = journey_curiosity_intent
}
add_prestige = miniscule_prestige_gain
if = {
limit = {
culture != root.location.culture
}
culture = {
change_cultural_acceptance = {
target = root.location.culture
value = 2
desc = cultural_acceptance_gain_event
}
}
}
else_if = {
limit = {
exists = capital_county
}
capital_county ?= {
change_development_progress_with_overflow = 10
}
}
ai_chance = {
base = 100
}
}
option = {
name = bp3_journey.0015.spread_legend_intent
trigger = {
has_activity_intent = spread_legend_intent
}
add_prestige = miniscule_prestige_gain
add_character_modifier = {
modifier = journey_apa_legend_modifier
years = 15
}
ai_chance = {
base = 100
}
}
option = {
name = bp3_journey.0015.friend
trigger = {
exists = scope:potential_friend
}
set_relation_friend = {
target = scope:potential_friend
reason = friend_bonded_by_monument
province = root.location
}
ai_chance = {
base = 100
}
}
option = {
name = bp3_journey.0015.lover
trigger = {
exists = scope:potential_lover
}
set_relation_lover = {
target = scope:potential_lover
reason = lover_kissed_by_monument
province = root.location
}
ai_chance = {
base = 100
}
}
option = {
name = bp3_journey.0015.prestige
add_prestige = minor_prestige_gain
ai_chance = {
base = 1
}
}
}
# Miniature Monument
bp3_journey.1000 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.1000.t
desc = bp3_journey.1000.desc
theme = journey_activity
override_background = { reference = market }
left_portrait = {
character = scope:host
animation = betting
}
right_portrait = {
character = scope:local_character
animation = chifonie_idle
}
artifact = {
target = scope:new_trinket
position = lower_center_portrait
}
cooldown = { years = 9 }
trigger = {
}
immediate = {
scope:activity.activity_location = { save_scope_as = location }
if = {
limit = {
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = antiquarian_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
antiquarian_validity_trigger = { EMPLOYER = root }
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = antiquarian_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
antiquarian_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
}
}
else = {
create_character = {
template = antiquarian_court_position_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
}
scope:local_character = {
hidden_effect_new_object = {
if = {
limit = {
scope:activity = { has_variable = diplomacy_skill_focus }
}
create_artifact = {
name = miniature_monument
description = miniature_monument.desc
type = miscellaneous
visuals = miniature_monument
modifier = artifact_diplomacy_1_modifier
save_scope_as = new_trinket
wealth = 70
quality = 70
max_durability = 100
creator = scope:local_character
}
}
else_if = {
limit = {
scope:activity = { has_variable = martial_skill_focus }
}
create_artifact = {
name = miniature_monument
description = miniature_monument.desc
type = miscellaneous
visuals = miniature_monument
modifier = artifact_martial_1_modifier
save_scope_as = new_trinket
wealth = 70
quality = 70
max_durability = 100
creator = scope:local_character
}
}
else_if = {
limit = {
scope:activity = { has_variable = learning_skill_focus }
}
create_artifact = {
name = miniature_monument
description = miniature_monument.desc
type = miscellaneous
visuals = miniature_monument
modifier = artifact_learning_1_modifier
save_scope_as = new_trinket
wealth = 70
quality = 70
max_durability = 100
creator = scope:local_character
}
}
else_if = {
limit = {
scope:activity = { has_variable = stewardship_skill_focus }
}
create_artifact = {
name = miniature_monument
description = miniature_monument.desc
type = miscellaneous
visuals = miniature_monument
modifier = artifact_stewardship_1_modifier
save_scope_as = new_trinket
wealth = 70
quality = 70
max_durability = 100
creator = scope:local_character
}
}
else = {
create_artifact = {
name = miniature_monument
description = miniature_monument.desc
type = miscellaneous
visuals = miniature_monument
modifier = artifact_intrigue_1_modifier
save_scope_as = new_trinket
wealth = 70
quality = 70
max_durability = 100
creator = scope:local_character
}
}
}
}
if = {
limit = {
any_court_position_holder = {
type = antiquarian_court_position
}
}
random_court_position_holder = {
type = antiquarian_court_position
save_scope_as = current_holder
}
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
is_valid_to_hire_court_position_type = antiquarian_court_position
NOT = { employs_court_position = antiquarian_court_position }
}
modifier = {
add = 1
scope:activity = {
has_variable = stewardship_skill_focus
}
}
}
option = {
name = bp3_journey.1000.knowledge_hoarding
trigger = {
has_activity_intent = journey_knowledge_hoarding_intent
}
journey_knowledge_hoarding_skill_effect = { VALUE = 15 }
stress_impact = {
base = medium_stress_impact_gain
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = lazy
}
}
}
option = {
name = bp3_journey.1000.curiosity
trigger = {
has_activity_intent = journey_curiosity_intent
is_valid_to_hire_court_position_type = antiquarian_court_position
}
hire_for_court_position_journey_effect = {
CHARACTER = scope:local_character
COURT_POSITION = antiquarian
}
if = {
limit = {
culture != scope:local_character.culture
}
culture = {
change_cultural_acceptance = {
target = scope:local_character.culture
value = 2
desc = cultural_acceptance_gain_event
}
}
}
stress_impact = {
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = paranoid
}
}
}
option = {
name = bp3_journey.1000.lechery
trait = lustful
trigger = {
has_trait = lustful
}
custom_tooltip = suggestive_alterations
hidden_effect_new_object = {
create_artifact = {
name = suggestive_miniature_monument
description = suggestive_miniature_monument.desc
type = miscellaneous
visuals = miniature_monument
modifier = artifact_fertility_gain_3_modifier
modifier = artifact_seduce_scheme_phase_duration_add_3_modifier
modifier = artifact_stress_gain_1_modifier
save_scope_as = new_trinket
wealth = 70
quality = 70
max_durability = 100
creator = scope:local_character
}
}
stress_impact = {
chaste = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = chaste
}
}
}
option = {
name = bp3_journey.1000.a
pay_short_term_gold = {
target = scope:local_character
gold = minor_gold_value
}
send_interface_toast = {
title = artifact_gained
left_icon = root
right_icon = scope:new_trinket
scope:new_trinket = {
set_owner = root
}
}
stress_impact = {
greedy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
short_term_gold <= medium_gold_value
has_trait = greedy
}
}
}
}
option = {
name = bp3_journey.1000.b
trigger = {
is_valid_to_hire_court_position_type = antiquarian_court_position
NOT = { has_activity_intent = journey_curiosity_intent }
}
hire_for_court_position_journey_effect = {
CHARACTER = scope:local_character
COURT_POSITION = antiquarian
}
stress_impact = {
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = paranoid
}
}
}
option = {
name = bp3_journey.1000.c
add_prestige = minor_prestige_gain
ai_chance = {
base = 100
}
}
after = {
hidden_effect = {
if = {
limit = {
scope:new_trinket = {
artifact_owner = scope:local_character
}
}
destroy_artifact = scope:new_trinket
}
}
if = { # Cleanup
limit = {
root = {
is_ai = yes
}
scope:local_character = {
is_courtier = no
has_character_flag = silently_disappear_me
}
}
scope:local_character = {
silent_disappearance_effect = yes
}
}
}
}
# A Name, Eternal
bp3_journey.1100 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.1100.t
override_background = {
trigger = {
scope:location = {
has_building_with_flag = travel_point_of_interest_economic
NOR = {
has_building = doges_palace_01
has_building = iron_pillar_of_dhar_01
has_building = petra_01
has_building = fairy_chimneys
}
}
}
reference = fp3_cave
}
desc = {
desc = bp3_journey.1100.desc_intro
first_valid = {
triggered_desc = {
trigger = {
exists = scope:ancient_vandal
}
desc = bp3_journey.1100.desc_name
}
desc = bp3_journey.1100.desc_first
}
desc = bp3_journey.1100.desc_outro
}
theme = journey_activity
center_portrait = {
character = scope:host
animation = chess_certain_win
}
lower_center_portrait = {
character = scope:ancient_vandal
}
cooldown = { years = 7 }
trigger = {
}
immediate = {
scope:activity.activity_location = {
county.holder = { save_scope_as = county_holder }
save_scope_as = location
}
scope:location = {
if = {
limit = {
has_variable_list = grafitti
}
random_in_list = {
variable = grafitti
save_scope_as = ancient_vandal
}
}
}
}
option = {
name = bp3_journey.1100.knowledge_hoarding
trigger = {
has_activity_intent = journey_knowledge_hoarding_intent
}
journey_knowledge_hoarding_skill_effect = { VALUE = 10 }
stress_impact = {
base = minor_stress_impact_gain
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = lazy
}
}
}
option = {
name = bp3_journey.1100.curiosity
trigger = {
has_activity_intent = journey_curiosity_intent
culture != scope:location.culture
}
add_prestige = minor_prestige_gain
culture = {
change_cultural_acceptance = {
target = scope:location.culture
value = 2
desc = cultural_acceptance_gain_event
}
}
stress_impact = {
callous = medium_stress_impact_gain
sadistic = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = callous
has_trait = sadistic
has_trait = arrogant
}
}
}
}
option = {
name = bp3_journey.1100.a
scope:location = {
add_to_variable_list = {
name = grafitti
target = root
}
}
add_prestige = medium_prestige_gain
if = {
limit = {
scope:county_holder ?= { this != root }
}
reverse_add_opinion = {
target = scope:county_holder
modifier = defaced_monument_opinion
opinion = -20
}
}
stress_impact = {
humble = medium_stress_impact_gain
content = minor_stress_impact_gain
shy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = humble
has_trait = content
has_trait = shy
}
}
}
}
option = {
name = bp3_journey.1100.b
trigger = {
exists = scope:ancient_vandal
}
custom_tooltip = prestige_trinket
hidden_effect_new_object = {
create_artifact = {
name = grafitti_rock
description = grafitti_rock.desc
type = miscellaneous
visuals = rock
modifier = artifact_monthly_prestige_mult_1_modifier
save_scope_as = new_trinket
wealth = 30
quality = 30
max_durability = 100
creator = root
}
send_interface_toast = {
title = artifact_gained
left_icon = root
right_icon = scope:new_trinket
show_as_tooltip = {
scope:new_trinket = {
set_owner = root
}
}
}
}
if = {
limit = {
scope:county_holder ?= { this != root }
}
reverse_add_opinion = {
target = scope:county_holder
modifier = defaced_monument_opinion
opinion = -20
}
}
scope:location = {
remove_list_variable = { name = grafitti target = scope:ancient_vandal }
}
stress_impact = {
humble = major_stress_impact_gain
craven = minor_stress_impact_gain
}
ai_chance = {
base = 1
modifier = {
factor = 0
OR = {
has_trait = humble
has_trait = craven
}
}
}
}
option = {
name = bp3_journey.1100.c
stress_impact = {
paranoid = major_stress_impact_loss
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 1
}
}
}
# Shave and a Haircut
bp3_journey.1200 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.1200.t
desc = bp3_journey.1200.desc
theme = journey_activity
override_background = { reference = market }
left_portrait = {
character = scope:host
animation = betting
}
right_portrait = {
character = scope:local_character
animation = physician
}
cooldown = { years = 9 }
trigger = {
}
immediate = {
scope:activity.activity_location = { save_scope_as = location }
if = {
limit = {
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = court_physician_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
court_physician_validity_trigger = { EMPLOYER = root }
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = court_physician_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
court_physician_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
}
}
else = {
create_character = {
template = court_physician_court_position_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
}
if = {
limit = {
any_court_position_holder = {
type = court_physician_court_position
}
}
random_court_position_holder = {
type = court_physician_court_position
save_scope_as = current_holder
}
}
hidden_effect = {
scope:local_character = {
random_list = {
10 = { give_nickname = nick_the_miracle_worker }
10 = { give_nickname = nick_the_healer }
10 = { give_nickname = nick_the_wise }
10 = { give_nickname = nick_the_meticulous }
}
}
}
if = { # Error suppression
limit = {
has_character_flag = random_haircut
}
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
is_valid_to_hire_court_position_type = court_physician_court_position
NOT = { employs_court_position = court_physician_court_position }
}
modifier = {
add = 1
scope:activity = {
has_variable = diplomacy_skill_focus
}
}
modifier = {
add = 1
scope:activity = {
has_variable = learning_skill_focus
}
}
}
option = {
name = bp3_journey.1200.knowledge_hoarding
trigger = {
has_activity_intent = journey_knowledge_hoarding_intent
}
journey_knowledge_hoarding_skill_effect = { VALUE = 15 }
stress_impact = {
base = medium_stress_impact_gain
lazy = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = lazy
}
}
}
option = {
name = bp3_journey.1200.curiosity
trigger = {
has_activity_intent = journey_curiosity_intent
is_valid_to_hire_court_position_type = court_physician_court_position
}
custom_tooltip = hair_will_change
add_character_flag = {
flag = random_haircut
months = 6
}
add_prestige = medium_prestige_gain
hire_for_court_position_journey_effect = {
CHARACTER = scope:local_character
COURT_POSITION = court_physician
}
if = {
limit = {
culture != scope:local_character.culture
}
culture = {
change_cultural_acceptance = {
target = scope:local_character.culture
value = 2
desc = cultural_acceptance_gain_event
}
}
}
stress_impact = {
callous = medium_stress_impact_gain
sadistic = medium_stress_impact_gain
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = callous
has_trait = sadistic
has_trait = paranoid
}
}
}
}
option = {
name = bp3_journey.1200.a
custom_tooltip = hair_will_change
add_character_flag = {
flag = random_haircut
months = 6
}
random_list = {
90 = {
desc = barber_success
send_interface_toast = {
title = barber_success
left_icon = root
right_icon = scope:local_character
add_prestige = major_prestige_gain
}
}
10 = {
desc = barber_fail
send_interface_toast = {
title = barber_fail
left_icon = root
right_icon = scope:local_character
add_prestige = medium_prestige_loss
}
}
}
stress_impact = {
humble = medium_stress_impact_gain
content = minor_stress_impact_gain
shy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = humble
has_trait = content
has_trait = shy
}
}
}
}
option = {
name = bp3_journey.1200.b
trigger = {
is_valid_to_hire_court_position_type = court_physician_court_position
NOT = { has_activity_intent = journey_curiosity_intent }
}
hire_for_court_position_journey_effect = {
CHARACTER = scope:local_character
COURT_POSITION = court_physician
}
stress_impact = {
humble = major_stress_impact_gain
craven = minor_stress_impact_gain
}
ai_chance = {
base = 1
modifier = {
factor = 0
OR = {
has_trait = humble
has_trait = craven
}
}
}
}
option = {
name = bp3_journey.1200.c
add_prestige = minor_prestige_gain
stress_impact = {
paranoid = major_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 1
}
}
after = {
if = { # Cleanup
limit = {
root = {
is_ai = yes
}
scope:local_character = {
is_courtier = no
has_character_flag = silently_disappear_me
}
}
scope:local_character = {
silent_disappearance_effect = yes
}
}
}
}
# The Songs of Place
bp3_journey.1300 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.1300.t
desc = bp3_journey.1300.desc
theme = journey_activity
left_portrait = {
character = scope:local_character
animation = dancing
}
center_portrait = {
character = scope:host
animation = happiness
}
right_portrait = {
character = scope:local_character_2
animation = instrument_active
}
cooldown = { years = 9 }
trigger = {
}
immediate = {
scope:activity.activity_location = { save_scope_as = location }
if = {
limit = {
is_valid_to_hire_court_position_type = stooge_camp_officer
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = stooge_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#court_jester_validity_trigger = { EMPLOYER = root }
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = stooge_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#court_jester_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
}
if = {
limit = {
any_court_position_holder = {
type = stooge_camp_officer
}
}
random_court_position_holder = {
type = stooge_camp_officer
save_scope_as = current_holder
}
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = stooge_camp_officer
}
create_character = {
template = stooge_camp_officer_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = stooge_camp_officer
}
}
random_court_position_holder = {
type = stooge_camp_officer
save_scope_as = current_holder
}
}
}
else_if = {
limit = {
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = court_jester_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
court_jester_validity_trigger = { EMPLOYER = root }
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = court_jester_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
court_jester_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
}
if = {
limit = {
any_court_position_holder = {
type = court_jester_court_position
}
}
random_court_position_holder = {
type = court_jester_court_position
save_scope_as = current_holder
}
}
}
else = {
create_character = {
template = court_jester_court_position_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = court_jester_court_position
}
}
random_court_position_holder = {
type = court_jester_court_position
save_scope_as = current_holder
}
}
}
if = {
limit = {
is_valid_to_hire_court_position_type = master_bard_camp_officer
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = master_bard_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#court_musician_validity_trigger = { EMPLOYER = root }
this != scope:local_character
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = master_bard_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#court_musician_validity_trigger = { EMPLOYER = root }
this != scope:local_character
}
save_scope_as = local_character_2
}
if = {
limit = {
any_court_position_holder = {
type = master_bard_camp_officer
}
}
random_court_position_holder = {
type = master_bard_camp_officer
save_scope_as = current_holder_2
}
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = master_bard_camp_officer
}
create_character = {
template = master_bard_camp_officer_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character_2
}
scope:local_character_2 = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = master_bard_camp_officer
}
}
random_court_position_holder = {
type = master_bard_camp_officer
save_scope_as = current_holder_2
}
}
}
else_if = {
limit = {
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = court_musician_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
court_musician_validity_trigger = { EMPLOYER = root }
this != scope:local_character
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = court_musician_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
court_musician_validity_trigger = { EMPLOYER = root }
this != scope:local_character
}
save_scope_as = local_character_2
}
if = {
limit = {
any_court_position_holder = {
type = court_musician_court_position
}
}
random_court_position_holder = {
type = court_musician_court_position
save_scope_as = current_holder_2
}
}
}
else = {
create_character = {
template = court_musician_court_position_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character_2
}
scope:local_character_2 = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = court_musician_court_position
}
}
random_court_position_holder = {
type = court_musician_court_position
save_scope_as = current_holder_2
}
}
}
scope:local_character = { add_character_flag = jester_outfit }
}
weight_multiplier = {
base = 1
modifier = {
add = 1
OR = {
AND = {
is_valid_to_hire_court_position_type = court_jester_court_position
NOT = { employs_court_position = court_jester_court_position }
}
AND = {
is_valid_to_hire_court_position_type = court_musician_court_position
NOT = { employs_court_position = court_musician_court_position }
}
}
}
modifier = {
add = 1
scope:activity = {
has_variable = diplomacy_skill_focus
}
}
}
option = {
name = bp3_journey.1300.knowledge_hoarding
trigger = {
has_activity_intent = journey_knowledge_hoarding_intent
}
journey_knowledge_hoarding_skill_effect = { VALUE = 10 }
stress_impact = {
base = minor_stress_impact_gain
lazy = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = lazy
}
}
}
option = {
name = bp3_journey.1300.spread_legend_intent
trigger = {
has_activity_intent = spread_legend_intent
}
remove_short_term_gold = tiny_gold_value
add_character_modifier = {
modifier = journey_apa_legend_modifier
years = 15
}
add_prestige = medium_prestige_gain
stress_impact = {
humble = minor_stress_impact_gain
content = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
gold <= minor_gold_value
has_trait = humble
has_trait = content
}
}
}
}
option = {
name = bp3_journey.1300.curiosity
trigger = {
has_activity_intent = journey_curiosity_intent
}
hire_for_court_position_journey_laamp_replacement_effect = {
CHARACTER = scope:local_character
COURT_POSITION = court_jester
LAAMP_POSITION = stooge
}
hire_for_court_position_journey_laamp_replacement_effect = {
CHARACTER = scope:local_character_2
COURT_POSITION = court_musician
LAAMP_POSITION = master_bard
}
if = {
limit = {
culture != scope:local_character.culture
}
culture = {
change_cultural_acceptance = {
target = scope:local_character.culture
value = 2
desc = cultural_acceptance_gain_event
}
}
}
stress_impact = {
callous = medium_stress_impact_gain
sadistic = medium_stress_impact_gain
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = callous
has_trait = sadistic
has_trait = paranoid
}
}
}
}
option = {
name = bp3_journey.1300.a
trigger = {
OR = {
is_valid_to_hire_court_position_type = court_jester_court_position
is_valid_to_hire_court_position_type = stooge_camp_officer
}
NOT = { has_activity_intent = journey_curiosity_intent }
}
hire_for_court_position_journey_laamp_replacement_effect = {
CHARACTER = scope:local_character
COURT_POSITION = court_jester
LAAMP_POSITION = stooge
}
stress_impact = {
humble = minor_stress_impact_gain
content = minor_stress_impact_gain
shy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = humble
has_trait = content
has_trait = shy
}
}
}
}
option = {
name = bp3_journey.1300.b
trigger = {
OR = {
is_valid_to_hire_court_position_type = court_musician_court_position
is_valid_to_hire_court_position_type = master_bard_camp_officer
}
NOT = { has_activity_intent = journey_curiosity_intent }
}
hire_for_court_position_journey_laamp_replacement_effect = {
CHARACTER = scope:local_character_2
COURT_POSITION = court_musician
LAAMP_POSITION = master_bard
}
stress_impact = {
humble = medium_stress_impact_gain
content = minor_stress_impact_gain
shy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = humble
has_trait = content
has_trait = shy
}
}
}
}
option = {
name = bp3_journey.1300.c
add_prestige = minor_prestige_gain
stress_impact = {
base = minor_stress_impact_loss
}
ai_chance = {
base = 10
}
}
after = {
if = { # Cleanup
limit = {
root = {
is_ai = yes
}
scope:local_character = {
is_courtier = no
has_character_flag = silently_disappear_me
}
}
scope:local_character = {
remove_character_flag = jester_outfit
silent_disappearance_effect = yes
}
}
if = {
limit = {
root = {
is_ai = yes
}
scope:local_character_2 = {
is_courtier = no
has_character_flag = silently_disappear_me
}
}
scope:local_character_2 = {
silent_disappearance_effect = yes
}
}
}
}
# Hawking Meat
bp3_journey.1400 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.1400.t
desc = bp3_journey.1400.desc
theme = journey_activity
override_background = { reference = market }
left_portrait = {
character = scope:host
animation = shock
}
right_portrait = {
character = scope:local_character
animation = hunting_carcass_start
}
artifact = {
target = scope:newly_created_artifact
position = lower_center_portrait
}
cooldown = { years = 9 }
trigger = {
}
immediate = {
scope:activity.activity_location = { save_scope_as = location }
if = {
limit = {
is_valid_to_hire_court_position_type = master_bard_camp_officer
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = master_bard_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#master_of_hunt_validity_trigger = { EMPLOYER = root }
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = master_bard_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#master_of_hunt_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = huntperson_camp_officer
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = huntperson_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#master_of_hunt_validity_trigger = { EMPLOYER = root }
}
}
create_character = {
template = huntperson_camp_officer_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
}
else_if = {
limit = {
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = master_of_hunt_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
master_of_hunt_validity_trigger = { EMPLOYER = root }
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = master_of_hunt_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
master_of_hunt_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
}
}
else = {
create_character = {
template = master_of_hunt_court_position_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
}
if = {
limit = {
any_court_position_holder = {
type = huntperson_camp_officer
}
}
random_court_position_holder = {
type = huntperson_camp_officer
save_scope_as = current_holder
}
}
if = {
limit = {
any_court_position_holder = {
type = master_of_hunt_court_position
}
}
random_court_position_holder = {
type = master_of_hunt_court_position
save_scope_as = current_holder
}
}
scope:local_character = {
save_scope_as = excellent_animal_artifacts
if = {
limit = {
root = { has_royal_court = yes }
}
create_artifact_animal_hide_effect = {
OWNER = scope:local_character
HUNTER = scope:local_character
LEGENDARY = no
ANIMAL = flag:none
}
}
else = {
create_artifact_animal_trinket_effect = {
OWNER = scope:local_character
HUNTER = scope:local_character
LEGENDARY = no
ANIMAL = flag:none
}
}
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
AND = {
is_valid_to_hire_court_position_type = master_of_hunt_court_position
NOT = { employs_court_position = master_of_hunt_court_position }
}
}
modifier = {
add = 1
scope:activity = {
has_variable = martial_skill_focus
}
}
modifier = {
add = 1
scope:activity = {
has_variable = stewardship_skill_focus
}
}
}
option = {
name = bp3_journey.1400.knowledge_hoarding
trigger = {
has_activity_intent = journey_knowledge_hoarding_intent
}
hunter_progress_point_gain_effect = { CHANGE = 3 RANDOM_CHANGE = 1 } #Gives Hunter Lifestyle XP
journey_knowledge_hoarding_skill_effect = { VALUE = 15 }
stress_impact = {
base = medium_stress_impact_gain
lazy = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = lazy
}
}
}
option = {
name = bp3_journey.1400.curiosity
trigger = {
has_activity_intent = journey_curiosity_intent
is_valid_to_hire_court_position_type = master_of_hunt_court_position
}
hunter_progress_point_gain_effect = { CHANGE = 3 RANDOM_CHANGE = 1 } #Gives Hunter Lifestyle XP
hire_for_court_position_journey_effect = {
CHARACTER = scope:local_character
COURT_POSITION = master_of_hunt
}
if = {
limit = {
culture != scope:local_character.culture
}
culture = {
change_cultural_acceptance = {
target = scope:local_character.culture
value = 2
desc = cultural_acceptance_gain_event
}
}
}
stress_impact = {
paranoid = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = arrogant
}
}
}
}
option = {
name = bp3_journey.1400.a
pay_short_term_gold = {
target = scope:local_character
gold = minor_gold_value
}
send_interface_toast = {
title = artifact_gained
left_icon = root
right_icon = scope:newly_created_artifact
scope:newly_created_artifact = {
set_owner = root
}
}
stress_impact = {
greedy = medium_stress_impact_gain
humble = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = greedy
has_trait = humble
short_term_gold <= medium_gold_value
}
}
}
}
option = {
name = bp3_journey.1400.b
trigger = {
is_valid_to_hire_court_position_type = master_of_hunt_court_position
NOT = { has_activity_intent = journey_curiosity_intent }
}
hire_for_court_position_journey_effect = {
CHARACTER = scope:local_character
COURT_POSITION = master_of_hunt
}
stress_impact = {
paranoid = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = arrogant
}
}
}
}
option = {
name = bp3_journey.1400.c
add_prestige = minor_prestige_gain
ai_chance = {
base = 10
}
}
after = {
hidden_effect = {
if = {
limit = {
scope:newly_created_artifact = {
artifact_owner = scope:local_character
}
}
destroy_artifact = scope:newly_created_artifact
}
}
if = { # Cleanup
limit = {
root = {
is_ai = yes
}
scope:local_character = {
is_courtier = no
has_character_flag = silently_disappear_me
}
}
scope:local_character = {
silent_disappearance_effect = yes
}
}
}
}
# Learned Locals
bp3_journey.1500 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.1500.t
desc = bp3_journey.1500.desc
theme = journey_activity
left_portrait = {
character = scope:host
animation = thinking
}
center_portrait = {
character = scope:local_character
animation = debating
}
right_portrait = {
character = scope:local_character_2
animation = happy_teacher
}
cooldown = { years = 10 }
trigger = {
}
immediate = {
scope:activity.activity_location = { save_scope_as = location }
if = {
limit = {
is_valid_to_hire_court_position_type = chief_forager_camp_officer
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = chief_forager_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#chief_qadi_validity_trigger = { EMPLOYER = root }
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = chief_forager_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#chief_qadi_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
}
if = {
limit = {
any_court_position_holder = {
type = chief_forager_camp_officer
}
}
random_court_position_holder = {
type = chief_forager_camp_officer
save_scope_as = current_holder
}
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = chief_forager_camp_officer
}
create_character = {
template = chief_forager_camp_officer_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = chief_forager_camp_officer
}
}
random_court_position_holder = {
type = chief_forager_camp_officer
save_scope_as = current_holder
}
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = chief_qadi_court_position
scope:location.religion = religion:islam_religion
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = chief_qadi_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
chief_qadi_validity_trigger = { EMPLOYER = root }
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = chief_qadi_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
chief_qadi_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
}
if = {
limit = {
any_court_position_holder = {
type = chief_qadi_court_position
}
}
random_court_position_holder = {
type = chief_qadi_court_position
save_scope_as = current_holder
}
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = chief_qadi_court_position
scope:location.religion = religion:islam_religion
}
create_character = {
template = chief_qadi_court_position_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = chief_qadi_court_position
}
}
random_court_position_holder = {
type = chief_qadi_court_position
save_scope_as = current_holder
}
}
}
else_if = {
limit = {
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = high_almoner_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
high_almoner_validity_trigger = { EMPLOYER = root }
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = high_almoner_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
high_almoner_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
}
if = {
limit = {
any_court_position_holder = {
type = chief_qadi_court_position
}
}
random_court_position_holder = {
type = chief_qadi_court_position
save_scope_as = current_holder
}
}
}
else = {
create_character = {
template = high_almoner_court_position_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = high_almoner_court_position
}
}
random_court_position_holder = {
type = high_almoner_court_position
save_scope_as = current_holder
}
}
}
if = {
limit = {
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = quartermaster_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#seneschal_validity_trigger = { EMPLOYER = root }
this != scope:local_character
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = quartermaster_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#seneschal_validity_trigger = { EMPLOYER = root }
this != scope:local_character
}
save_scope_as = local_character_2
}
if = {
limit = {
any_court_position_holder = {
type = quartermaster_camp_officer
}
}
random_court_position_holder = {
type = quartermaster_camp_officer
save_scope_as = current_holder_2
}
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = quartermaster_camp_officer
}
create_character = {
template = quartermaster_camp_officer_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character_2
}
scope:local_character_2 = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = quartermaster_camp_officer
}
}
random_court_position_holder = {
type = quartermaster_camp_officer
save_scope_as = current_holder_2
}
}
}
else_if = {
limit = {
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = seneschal_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
seneschal_validity_trigger = { EMPLOYER = root }
this != scope:local_character
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = seneschal_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
seneschal_validity_trigger = { EMPLOYER = root }
this != scope:local_character
}
save_scope_as = local_character_2
}
if = {
limit = {
any_court_position_holder = {
type = seneschal_court_position
}
}
random_court_position_holder = {
type = seneschal_court_position
save_scope_as = current_holder_2
}
}
}
else = {
create_character = {
template = seneschal_court_position_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character_2
}
scope:local_character_2 = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = seneschal_court_position
}
}
random_court_position_holder = {
type = seneschal_court_position
save_scope_as = current_holder_2
}
}
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
OR = {
AND = {
is_valid_to_hire_court_position_type = quartermaster_camp_officer
NOT = { employs_court_position = quartermaster_camp_officer }
}
AND = {
is_valid_to_hire_court_position_type = chief_qadi_court_position
NOT = { employs_court_position = chief_qadi_court_position }
}
AND = {
is_valid_to_hire_court_position_type = high_almoner_court_position
NOT = { employs_court_position = high_almoner_court_position }
}
AND = {
is_valid_to_hire_court_position_type = seneschal_court_position
NOT = { employs_court_position = seneschal_court_position }
}
}
}
modifier = {
add = 1
scope:activity = {
has_variable = stewardship_skill_focus
}
}
modifier = {
add = 1
scope:activity = {
has_variable = learning_skill_focus
}
}
}
option = {
name = bp3_journey.option.spread_legend_intent
trigger = {
has_activity_intent = spread_legend_intent
}
add_character_modifier = {
modifier = journey_apa_legend_modifier
years = 15
}
add_prestige = minor_prestige_gain
reverse_add_opinion = {
modifier = impressed_opinion
opinion = 20
target = scope:local_character
}
reverse_add_opinion = {
modifier = impressed_opinion
opinion = 20
target = scope:local_character_2
}
stress_impact = {
humble = minor_stress_impact_gain
content = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
gold <= minor_gold_value
has_trait = humble
has_trait = content
}
}
}
}
option = {
name = bp3_journey.1500.knowledge_hoarding
trigger = {
has_activity_intent = journey_knowledge_hoarding_intent
}
pay_short_term_gold = {
target = scope:local_character
gold = tiny_gold_value
}
add_prestige = medium_prestige_gain
journey_knowledge_hoarding_skill_effect = { VALUE = 15 }
stress_impact = {
base = minor_stress_impact_gain
lazy = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = lazy
}
}
}
option = {
name = bp3_journey.1500.curiosity
trigger = {
has_activity_intent = journey_curiosity_intent
}
hire_for_two_court_position_journey_laamp_replacement_effect = {
CHARACTER = scope:local_character
COURT_POSITION = chief_qadi
COURT_POSITION_2 = high_almoner
LAAMP_POSITION = chief_forager
}
hire_for_court_position_journey_laamp_replacement_effect_2 = {
CHARACTER = scope:local_character_2
COURT_POSITION = seneschal
LAAMP_POSITION = quartermaster
}
stress_impact = {
paranoid = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = arrogant
}
}
}
}
option = {
name = bp3_journey.1500.curiosity_2
trigger = {
has_activity_intent = journey_curiosity_intent
}
pay_short_term_gold = {
target = scope:local_character
gold = tiny_gold_value
}
pay_short_term_gold = {
target = scope:local_character_2
gold = tiny_gold_value
}
add_prestige = medium_prestige_gain
add_piety = medium_piety_gain
if = {
limit = {
culture != scope:local_character.culture
}
culture = {
change_cultural_acceptance = {
target = scope:local_character.culture
value = 4
desc = cultural_acceptance_gain_event
}
}
}
stress_impact = {
greedy = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
arbitrary = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
short_term_gold <= medium_gold_value
has_trait = greedy
has_trait = arrogant
has_trait = arbitrary
}
}
}
}
option = {
name = bp3_journey.1500.a
trigger = {
OR = {
is_valid_to_hire_court_position_type = chief_forager_camp_officer
is_valid_to_hire_court_position_type = chief_qadi_court_position
is_valid_to_hire_court_position_type = high_almoner_court_position
}
NOT = { has_activity_intent = journey_curiosity_intent }
}
hire_for_two_court_position_journey_laamp_replacement_effect = {
CHARACTER = scope:local_character
COURT_POSITION = chief_qadi
COURT_POSITION_2 = high_almoner
LAAMP_POSITION = chief_forager
}
stress_impact = {
paranoid = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = arrogant
}
}
}
}
option = {
name = bp3_journey.1500.b
trigger = {
OR = {
is_valid_to_hire_court_position_type = seneschal_court_position
is_valid_to_hire_court_position_type = quartermaster_camp_officer
}
NOT = { has_activity_intent = journey_curiosity_intent }
}
hire_for_court_position_journey_laamp_replacement_effect_2 = {
CHARACTER = scope:local_character_2
COURT_POSITION = seneschal
LAAMP_POSITION = quartermaster
}
stress_impact = {
paranoid = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = arrogant
}
}
}
}
option = {
name = bp3_journey.1500.c
add_prestige = minor_prestige_gain
add_character_modifier = {
modifier = inspired_by_alms_modifier
years = 10
}
ai_chance = {
base = 10
}
}
}
# City of Cats
bp3_journey.1600 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.1600.t
desc = bp3_journey.1600.desc
theme = journey_activity
center_portrait = {
character = scope:host
animation = survey
}
cooldown = { years = 9 }
trigger = {
NOT = {
any_owned_story = {
type = story_cycle_pet_cat
}
}
}
immediate = {
scope:activity.activity_location = { save_scope_as = location }
}
weight_multiplier = {
base = 1
modifier = {
add = 1
scope:activity = {
has_variable = intrigue_skill_focus
}
}
}
option = {
name = bp3_journey.1600.knowledge_hoarding
trigger = {
has_activity_intent = journey_knowledge_hoarding_intent
}
duel = {
skill = intrigue
value = 12
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = cat_help
send_interface_toast = {
title = cat_help
left_icon = root
journey_knowledge_hoarding_skill_effect = { VALUE = 25 }
add_prestige = medium_prestige_gain
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = get_lost
send_interface_toast = {
title = get_lost
left_icon = root
journey_knowledge_hoarding_skill_effect = { VALUE = 5 }
remove_short_term_gold = minor_gold_value
}
}
}
stress_impact = {
base = minor_stress_impact_gain
lazy = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = lazy
}
}
}
option = {
name = bp3_journey.1600.curiosity
trigger = {
has_activity_intent = journey_curiosity_intent
}
if = {
limit = {
culture != scope:location.culture
}
culture = {
change_cultural_acceptance = {
target = scope:location.culture
value = 2
desc = cultural_acceptance_gain_event
}
}
}
remove_short_term_gold = minor_gold_value
add_prestige = minor_prestige_gain
stress_impact = {
paranoid = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = arrogant
}
}
}
}
option = {
name = bp3_journey.1600.a
start_cat_story_cycle_effect = yes
add_character_flag = {
flag = city_cat
days = 5
}
stress_impact = {
sadistic = minor_stress_impact_gain
callous = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = sadistic
has_trait = callous
}
}
}
}
option = {
name = bp3_journey.1600.b
add_prestige = miniscule_prestige_gain
stress_impact = {
compassionate = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = compassionate
}
}
}
}
# Culture Drills
bp3_journey.1700 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.1700.t
desc = {
desc = bp3_journey.1700.desc
first_valid = {
triggered_desc = {
trigger = {
culture != scope:location.culture
}
desc = bp3_journey.1700.desc_different_culture
}
desc = bp3_journey.1700.desc_same_culture
}
}
theme = journey_activity
override_background = { reference = courtyard }
left_portrait = {
character = scope:local_character_3
animation = throne_room_two_handed_passive_1
}
center_portrait = {
character = scope:local_character
animation = inspect_weapon
}
right_portrait = {
character = scope:local_character_2
animation = marshal
}
cooldown = { years = 9 }
trigger = {
}
immediate = {
scope:activity.activity_location = { save_scope_as = location }
if = {
limit = {
is_valid_to_hire_court_position_type = head_groom_camp_officer
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = head_groom_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#master_of_horse_validity_trigger = { EMPLOYER = root }
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = head_groom_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#master_of_horse_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
}
if = {
limit = {
any_court_position_holder = {
type = head_groom_camp_officer
}
}
random_court_position_holder = {
type = head_groom_camp_officer
save_scope_as = current_holder
}
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = head_groom_camp_officer
}
create_character = {
template = head_groom_camp_officer_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = head_groom_camp_officer
}
}
random_court_position_holder = {
type = head_groom_camp_officer
save_scope_as = current_holder
}
}
}
else_if = {
limit = {
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = master_of_horse_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
master_of_horse_validity_trigger = { EMPLOYER = root }
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = master_of_horse_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
master_of_horse_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
}
if = {
limit = {
any_court_position_holder = {
type = master_of_horse_court_position
}
}
random_court_position_holder = {
type = master_of_horse_court_position
save_scope_as = current_holder
}
}
}
else = {
create_character = {
template = master_of_horse_court_position_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = master_of_horse_court_position
}
}
random_court_position_holder = {
type = master_of_horse_court_position
save_scope_as = current_holder
}
}
}
if = {
limit = {
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = bodyguard_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
bodyguard_validity_trigger = { EMPLOYER = root }
this != scope:local_character
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = bodyguard_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
bodyguard_validity_trigger = { EMPLOYER = root }
this != scope:local_character
}
save_scope_as = local_character_2
}
}
else = {
create_character = {
template = bodyguard_court_position_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character_2
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
}
if = {
limit = {
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = bodyguard_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
bodyguard_validity_trigger = { EMPLOYER = root }
this != scope:local_character
this != scope:local_character_2
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = bodyguard_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
bodyguard_validity_trigger = { EMPLOYER = root }
this != scope:local_character
this != scope:local_character_2
}
save_scope_as = local_character_3
}
}
else = {
create_character = {
template = bodyguard_court_position_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character_3
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
}
scope:local_character = { add_character_flag = military_outfit }
scope:local_character_2 = { add_character_flag = military_outfit }
scope:local_character_3 = { add_character_flag = military_outfit }
if = {
limit = {
any_maa_regiment = {
maa_max_troops_count <= 2000
NOT = {
is_unit_type = siege_weapon
}
OR = {
is_maa_type = light_footmen
is_maa_type = bowmen
is_maa_type = light_horsemen
is_maa_type = pikemen_unit
is_maa_type = armored_footmen
is_maa_type = armored_horsemen
is_maa_type = crossbowmen
is_maa_type = house_guard
is_maa_type = steppe_raiders
is_maa_type = horse_archers
is_maa_type = heavy_horse_archers
is_maa_type = nomad_lancers
}
}
}
random_maa_regiment = {
limit = {
maa_max_troops_count <= 2000
NOT = {
is_unit_type = siege_weapon
}
OR = {
is_maa_type = light_footmen
is_maa_type = bowmen
is_maa_type = light_horsemen
is_maa_type = pikemen_unit
is_maa_type = armored_footmen
is_maa_type = armored_horsemen
is_maa_type = crossbowmen
is_maa_type = house_guard
is_maa_type = steppe_raiders
is_maa_type = horse_archers
is_maa_type = heavy_horse_archers
is_maa_type = nomad_lancers
}
}
alternative_limit = {
maa_max_troops_count <= 2000
NOT = {
is_unit_type = siege_weapon
}
}
save_scope_as = maa
}
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
OR = {
AND = {
is_valid_to_hire_court_position_type = bodyguard_court_position
NOT = { employs_court_position = bodyguard_court_position }
}
AND = {
is_valid_to_hire_court_position_type = master_of_horse_court_position
NOT = { employs_court_position = master_of_horse_court_position }
}
AND = {
is_valid_to_hire_court_position_type = head_groom_camp_officer
NOT = { employs_court_position = head_groom_camp_officer }
}
}
}
modifier = {
add = 1
scope:activity = {
has_variable = martial_skill_focus
}
}
}
option = {
name = bp3_journey.option.spread_legend_intent
trigger = {
has_activity_intent = spread_legend_intent
}
add_character_modifier = {
modifier = journey_apa_legend_modifier
years = 15
}
add_prestige = minor_prestige_gain
reverse_add_opinion = {
modifier = impressed_opinion
opinion = 20
target = scope:local_character
}
reverse_add_opinion = {
modifier = impressed_opinion
opinion = 20
target = scope:local_character_2
}
reverse_add_opinion = {
modifier = impressed_opinion
opinion = 20
target = scope:local_character_3
}
stress_impact = {
humble = minor_stress_impact_gain
content = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
gold <= minor_gold_value
has_trait = humble
has_trait = content
}
}
}
}
option = {
name = bp3_journey.1700.knowledge_hoarding
trigger = {
has_activity_intent = journey_knowledge_hoarding_intent
}
journey_knowledge_hoarding_skill_effect = { VALUE = 25 }
if = {
limit = {
is_landless_adventurer = no
}
capital_province ?= {
add_province_modifier = {
modifier = imported_tactics_modifier
years = 20
}
}
}
else_if = {
limit = {
has_government = landless_adventurer_government
}
add_character_modifier = {
modifier = imported_tactics_character_modifier
years = 10
}
}
pay_short_term_gold = {
target = scope:local_character
gold = tiny_gold_value
}
hire_for_court_position_journey_laamp_replacement_effect = {
CHARACTER = scope:local_character
COURT_POSITION = master_of_horse
LAAMP_POSITION = head_groom
}
stress_impact = {
base = medium_stress_impact_gain
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
short_term_gold <= minor_gold_value
has_trait = lazy
}
}
}
}
option = {
name = bp3_journey.1700.curiosity
trigger = {
has_activity_intent = journey_curiosity_intent
}
hire_for_court_position_journey_laamp_replacement_effect = {
CHARACTER = scope:local_character
COURT_POSITION = master_of_horse
LAAMP_POSITION = head_groom
}
add_character_flag = bodyguard_flag
hire_for_court_position_journey_effect = {
CHARACTER = scope:local_character_2
COURT_POSITION = bodyguard
}
hire_for_court_position_journey_effect = {
CHARACTER = scope:local_character_3
COURT_POSITION = bodyguard
}
remove_character_flag = bodyguard_flag
if = {
limit = {
culture != scope:local_character.culture
}
culture = {
change_cultural_acceptance = {
target = scope:local_character.culture
value = 2
desc = cultural_acceptance_gain_event
}
}
}
stress_impact = {
paranoid = minor_stress_impact_loss
shy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = shy
}
}
}
option = {
name = bp3_journey.1700.b
trigger = {
NOT = { has_activity_intent = journey_curiosity_intent }
}
add_character_flag = bodyguard_flag
hire_for_court_position_journey_effect = {
CHARACTER = scope:local_character_2
COURT_POSITION = bodyguard
}
hire_for_court_position_journey_effect = {
CHARACTER = scope:local_character_3
COURT_POSITION = bodyguard
}
remove_character_flag = bodyguard_flag
stress_impact = {
trusting = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = trusting
}
}
}
option = {
name = bp3_journey.1700.c
trigger = {
exists = scope:maa
}
add_prestige = major_prestige_gain
remove_treasury_or_gold = major_treasury_or_gold_value
custom_tooltip = maa_increases_tt
hidden_effect = {
scope:maa = {
change_maa_regiment_size = {
size = 2
reinforce = yes
}
}
}
stress_impact = {
humble = minor_stress_impact_gain
content = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
short_term_treasury_or_gold <= massive_treasury_or_gold_value
has_trait = humble
has_trait = content
}
}
}
}
option = {
name = bp3_journey.1700.d
add_prestige = minor_prestige_gain
ai_chance = {
base = 100
}
}
after = {
scope:local_character = {
remove_character_flag = military_outfit
silent_disappear_ai_if_not_hired = yes
}
scope:local_character_2 = {
remove_character_flag = military_outfit
silent_disappear_ai_if_not_hired = yes
}
scope:local_character_3 = {
remove_character_flag = military_outfit
silent_disappear_ai_if_not_hired = yes
}
}
}
# Trust Me
bp3_journey.1800 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.1800.t
desc = bp3_journey.1800.desc
theme = journey_activity
left_portrait = {
character = scope:host
animation = survey
}
right_portrait = {
character = scope:local_character
animation = eccentric
}
cooldown = { years = 9 }
trigger = {
}
immediate = {
scope:activity.activity_location = { save_scope_as = location }
if = {
limit = {
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = travel_leader_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
travel_leader_validity_trigger = { EMPLOYER = root }
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = travel_leader_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
travel_leader_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
}
}
else = {
create_character = {
template = travel_leader_court_position_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
}
if = {
limit = {
any_court_position_holder = {
type = travel_leader_court_position
}
}
random_court_position_holder = {
type = travel_leader_court_position
save_scope_as = current_holder
}
}
hidden_effect = {
scope:local_character = {
random_list = {
10 = { give_nickname = nick_the_trustworthy_ironic }
10 = { give_nickname = nick_the_honest }
}
}
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
is_valid_to_hire_court_position_type = travel_leader_court_position
OR = {
NOT = { employs_court_position = travel_leader_court_position }
any_court_position_holder = {
type = travel_leader_court_position
aptitude = {
court_position = travel_leader_court_position
value < 4
}
}
}
}
modifier = {
add = 1
scope:activity = {
has_variable = intrigue_skill_focus
}
}
}
option = {
name = bp3_journey.1800.spread_legend_intent
trigger = {
has_activity_intent = spread_legend_intent
}
add_character_modifier = {
modifier = journey_apa_legend_modifier
years = 15
}
add_prestige = minor_prestige_gain
reverse_add_opinion = {
modifier = impressed_opinion
opinion = 20
target = scope:local_character
}
stress_impact = {
humble = minor_stress_impact_gain
content = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
gold <= minor_gold_value
has_trait = humble
has_trait = content
}
}
}
}
option = {
name = bp3_journey.1800.knowledge_hoarding
trigger = {
has_activity_intent = journey_knowledge_hoarding_intent
}
pay_short_term_gold = {
target = scope:local_character
gold = minor_gold_value
}
duel = {
skill = intrigue
value = scope:local_character.intrigue
5 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
min = 5
desc = mostly_true_tt
send_interface_toast = {
title = mostly_true_tt
left_icon = root
journey_knowledge_hoarding_skill_effect = { VALUE = 50 }
add_prestige = major_prestige_gain
}
}
45 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
min = 5
desc = almost_true_tt
send_interface_toast = {
title = almost_true_tt
left_icon = root
journey_knowledge_hoarding_skill_effect = { VALUE = 15 }
}
}
45 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
min = 5
desc = not_true_tt
send_interface_toast = {
title = not_true_tt
left_icon = root
journey_knowledge_hoarding_skill_effect = { VALUE = 5 }
}
}
5 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
min = 5
desc = utterly_scammed_tt
send_interface_toast = {
title = utterly_scammed_tt
left_icon = root
remove_short_term_gold = minor_gold_value
add_prestige = minor_prestige_loss
set_nickname_effect = { NICKNAME = nick_the_gullible }
}
}
}
stress_impact = {
base = minor_stress_impact_gain
lazy = major_stress_impact_gain
cynical = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
short_term_gold <= medium_gold_value
has_trait = lazy
has_trait = cynical
}
}
}
}
option = {
name = bp3_journey.1800.curiosity
trigger = {
has_activity_intent = journey_curiosity_intent
is_valid_to_hire_court_position_type = travel_leader_court_position
NOT = { has_trait = trusting }
}
pay_short_term_gold = {
target = scope:local_character
gold = tiny_gold_value
}
hire_for_court_position_journey_effect = {
CHARACTER = scope:local_character
COURT_POSITION = travel_leader
}
if = {
limit = {
culture != scope:local_character.culture
}
culture = {
change_cultural_acceptance = {
target = scope:local_character.culture
value = 4
desc = cultural_acceptance_gain_event
}
}
}
stress_impact = {
callous = medium_stress_impact_gain
sadistic = medium_stress_impact_gain
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = callous
has_trait = sadistic
has_trait = paranoid
}
}
}
}
option = {
name = bp3_journey.1800.a
trigger = {
NOT = { has_trait = trusting }
}
pay_short_term_gold = {
target = scope:local_character
gold = tiny_gold_value
}
random_list = {
10 = {
desc = beautiful_vista
send_interface_toast = {
title = beautiful_vista
left_icon = root
right_icon = scope:local_character
add_prestige = medium_prestige_gain
}
}
10 = {
desc = relaxing_sights
send_interface_toast = {
title = relaxing_sights
left_icon = root
right_icon = scope:local_character
add_stress = medium_stress_impact_loss
add_prestige = minor_prestige_gain
}
}
10 = {
desc = interesting_insight
send_interface_toast = {
title = interesting_insight
left_icon = root
right_icon = scope:local_character
add_character_modifier = {
modifier = interesting_insight_modifier
years = 9
}
add_prestige = minor_prestige_gain
}
}
}
stress_impact = {
greedy = minor_stress_impact_gain
cynical = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
short_term_gold <= minor_gold_value
has_trait = greedy
has_trait = cynical
has_trait = paranoid
}
}
}
}
option = {
name = bp3_journey.1800.b
trigger = {
NOR = {
has_activity_intent = journey_curiosity_intent
has_trait = trusting
}
is_valid_to_hire_court_position_type = travel_leader_court_position
}
hire_for_court_position_journey_effect = {
CHARACTER = scope:local_character
COURT_POSITION = travel_leader
}
stress_impact = {
paranoid = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 1
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = arrogant
}
}
}
}
option = {
name = bp3_journey.1800.c
trigger = {
NOT = { has_trait = trusting }
}
add_prestige = miniscule_prestige_gain
ai_chance = {
base = 1
}
}
option = {
name = bp3_journey.1800.trusting
trigger = {
has_trait = trusting
}
pay_short_term_gold = {
target = scope:local_character
gold = minor_gold_value
}
ai_chance = {
base = 100
}
}
after = {
if = { # Cleanup
limit = {
root = {
is_ai = yes
}
scope:local_character = {
is_courtier = no
has_character_flag = silently_disappear_me
}
}
scope:local_character = {
silent_disappearance_effect = yes
}
}
}
}
# Poor X
bp3_journey.1900 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.1900.t
desc = bp3_journey.1900.desc
theme = journey_activity
left_portrait = {
character = scope:host
animation = bribing
}
right_portrait = {
character = scope:local_character
animation = beg
}
cooldown = { years = 9 }
trigger = {
OR = {
is_valid_to_hire_court_position_type = court_tutor_court_position
is_valid_to_hire_court_position_type = royal_architect_court_position
is_valid_to_hire_court_position_type = head_porter_camp_officer
is_valid_to_hire_court_position_type = cupbearer_court_position
is_valid_to_hire_court_position_type = witness_camp_officer
is_valid_to_hire_court_position_type = court_poet_court_position
is_valid_to_hire_court_position_type = chronicler_court_position
is_valid_to_hire_court_position_type = second_camp_officer
is_valid_to_hire_court_position_type = wet_nurse_court_position
AND = {
is_valid_to_hire_court_position_type = antiquarian_court_position
OR = {
NOT = { employs_court_position = antiquarian_court_position }
AND = {
employs_court_position = antiquarian_court_position
any_court_position_holder = {
type = antiquarian_court_position
aptitude:antiquarian_court_position < 4
}
}
}
}
}
}
immediate = {
scope:activity.activity_location = { save_scope_as = location }
random_list = {
1 = {
trigger = {
is_valid_to_hire_court_position_type = head_porter_camp_officer
}
modifier = {
add = 99
AND = {
is_valid_to_hire_court_position_type = head_porter_camp_officer
OR = {
NOT = { employs_court_position = head_porter_camp_officer }
AND = {
employs_court_position = head_porter_camp_officer
any_court_position_holder = {
type = head_porter_camp_officer
aptitude:head_porter_camp_officer < 4
}
}
}
}
}
journey_find_or_create_excellent_court_position_effect = {
COURT_POSITION = head_porter_camp_officer
LOCATION = scope:location
}
}
1 = {
trigger = {
is_valid_to_hire_court_position_type = witness_camp_officer
}
modifier = {
add = 99
AND = {
is_valid_to_hire_court_position_type = witness_camp_officer
OR = {
NOT = { employs_court_position = witness_camp_officer }
AND = {
employs_court_position = witness_camp_officer
any_court_position_holder = {
type = witness_camp_officer
aptitude:witness_camp_officer < 4
}
}
}
}
}
journey_find_or_create_excellent_court_position_effect = {
COURT_POSITION = witness_camp_officer
LOCATION = scope:location
}
}
1 = {
trigger = {
is_valid_to_hire_court_position_type = second_camp_officer
}
modifier = {
add = 99
AND = {
is_valid_to_hire_court_position_type = second_camp_officer
OR = {
NOT = { employs_court_position = second_camp_officer }
AND = {
employs_court_position = second_camp_officer
any_court_position_holder = {
type = second_camp_officer
aptitude:second_camp_officer < 4
}
}
}
}
}
journey_find_or_create_excellent_court_position_effect = {
COURT_POSITION = second_camp_officer
LOCATION = scope:location
}
}
1 = {
trigger = {
is_valid_to_hire_court_position_type = court_tutor_court_position
}
modifier = {
add = 99
AND = {
is_valid_to_hire_court_position_type = court_tutor_court_position
OR = {
NOT = { employs_court_position = court_tutor_court_position }
AND = {
employs_court_position = court_tutor_court_position
any_court_position_holder = {
type = court_tutor_court_position
aptitude:court_tutor_court_position < 4
}
}
}
}
}
journey_find_or_create_excellent_court_position_effect = {
COURT_POSITION = court_tutor_court_position
LOCATION = scope:location
}
}
1 = {
trigger = {
is_valid_to_hire_court_position_type = royal_architect_court_position
}
modifier = {
add = 99
AND = {
is_valid_to_hire_court_position_type = royal_architect_court_position
OR = {
NOT = { employs_court_position = royal_architect_court_position }
AND = {
employs_court_position = royal_architect_court_position
any_court_position_holder = {
type = royal_architect_court_position
aptitude:royal_architect_court_position < 4
}
}
}
}
}
journey_find_or_create_excellent_court_position_effect = {
COURT_POSITION = royal_architect_court_position
LOCATION = scope:location
}
}
1 = {
trigger = {
is_valid_to_hire_court_position_type = cupbearer_court_position
}
modifier = {
add = 99
AND = {
is_valid_to_hire_court_position_type = cupbearer_court_position
OR = {
NOT = { employs_court_position = cupbearer_court_position }
AND = {
employs_court_position = cupbearer_court_position
any_court_position_holder = {
type = cupbearer_court_position
aptitude:cupbearer_court_position < 4
}
}
}
}
}
journey_find_or_create_excellent_court_position_effect = {
COURT_POSITION = cupbearer_court_position
LOCATION = scope:location
}
}
1 = {
trigger = {
is_valid_to_hire_court_position_type = court_poet_court_position
}
modifier = {
add = 99
AND = {
is_valid_to_hire_court_position_type = court_poet_court_position
OR = {
NOT = { employs_court_position = court_poet_court_position }
AND = {
employs_court_position = court_poet_court_position
any_court_position_holder = {
type = court_poet_court_position
aptitude:court_poet_court_position < 4
}
}
}
}
}
journey_find_or_create_excellent_court_position_effect = {
COURT_POSITION = court_poet_court_position
LOCATION = scope:location
}
}
1 = {
trigger = {
is_valid_to_hire_court_position_type = chronicler_court_position
}
modifier = {
add = 99
AND = {
is_valid_to_hire_court_position_type = chronicler_court_position
OR = {
NOT = { employs_court_position = chronicler_court_position }
AND = {
employs_court_position = chronicler_court_position
any_court_position_holder = {
type = chronicler_court_position
aptitude:chronicler_court_position < 4
}
}
}
}
}
journey_find_or_create_excellent_court_position_effect = {
COURT_POSITION = chronicler_court_position
LOCATION = scope:location
}
}
1 = {
trigger = {
is_valid_to_hire_court_position_type = wet_nurse_court_position
}
modifier = {
add = 99
AND = {
is_valid_to_hire_court_position_type = court_tutor_court_position
OR = {
NOT = { employs_court_position = court_tutor_court_position }
AND = {
employs_court_position = court_tutor_court_position
any_court_position_holder = {
type = court_tutor_court_position
aptitude:court_tutor_court_position < 4
}
}
}
}
}
journey_find_or_create_excellent_court_position_effect = {
COURT_POSITION = wet_nurse_court_position
LOCATION = scope:location
}
}
10 = {
trigger = {
AND = {
is_valid_to_hire_court_position_type = antiquarian_court_position
OR = {
NOT = { employs_court_position = antiquarian_court_position }
AND = {
employs_court_position = antiquarian_court_position
any_court_position_holder = {
type = antiquarian_court_position
aptitude:antiquarian_court_position < 4
}
}
}
}
}
journey_find_or_create_excellent_court_position_effect = {
COURT_POSITION = antiquarian_court_position
LOCATION = scope:location
}
}
}
scope:local_character = {
add_character_flag = peasant_outfit
add_character_flag = no_hat
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
OR = {
AND = {
is_valid_to_hire_court_position_type = second_camp_officer
NOT = { employs_court_position = second_camp_officer }
}
AND = {
is_valid_to_hire_court_position_type = witness_camp_officer
NOT = { employs_court_position = witness_camp_officer }
}
AND = {
is_valid_to_hire_court_position_type = head_porter_camp_officer
NOT = { employs_court_position = head_porter_camp_officer }
}
AND = {
is_valid_to_hire_court_position_type = court_tutor_court_position
NOT = { employs_court_position = court_tutor_court_position }
}
AND = {
is_valid_to_hire_court_position_type = royal_architect_court_position
NOT = { employs_court_position = royal_architect_court_position }
}
AND = {
is_valid_to_hire_court_position_type = cupbearer_court_position
NOT = { employs_court_position = cupbearer_court_position }
}
AND = {
is_valid_to_hire_court_position_type = court_poet_court_position
NOT = { employs_court_position = court_poet_court_position }
}
AND = {
is_valid_to_hire_court_position_type = chronicler_court_position
NOT = { employs_court_position = chronicler_court_position }
}
# Wet Nurse and Antiquarian have bespoke events
}
}
}
option = {
name = bp3_journey.option.spread_legend_intent
trigger = {
has_activity_intent = spread_legend_intent
}
add_character_modifier = {
modifier = journey_apa_legend_modifier
years = 15
}
add_prestige = miniscule_prestige_gain
reverse_add_opinion = {
modifier = annoyed_opinion
opinion = -20
target = scope:local_character
}
stress_impact = {
humble = minor_stress_impact_gain
content = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
gold <= minor_gold_value
has_trait = humble
has_trait = content
}
}
}
}
option = {
name = bp3_journey.1900.knowledge_hoarding
trigger = {
has_activity_intent = journey_knowledge_hoarding_intent
}
journey_knowledge_hoarding_skill_effect = { VALUE = 25 }
add_piety = miniscule_piety_gain
pay_short_term_gold = {
target = scope:local_character
gold = tiny_gold_value
}
stress_impact = {
base = minor_stress_impact_gain
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
short_term_gold <= minor_gold_value
has_trait = lazy
}
}
}
}
option = {
name = bp3_journey.1900.curiosity
trigger = {
has_activity_intent = journey_curiosity_intent
}
if = {
limit = {
has_character_flag = court_tutor_court_position
}
journey_employ_in_court_position = {
CHARACTER = scope:local_character
COURT_POSITION = court_tutor
}
}
else_if = {
limit = {
has_character_flag = head_porter_camp_officer
}
journey_employ_in_camp_position = {
CHARACTER = scope:local_character
COURT_POSITION = head_porter
}
}
else_if = {
limit = {
has_character_flag = royal_architect_court_position
}
journey_employ_in_court_position = {
CHARACTER = scope:local_character
COURT_POSITION = royal_architect
}
}
else_if = {
limit = {
has_character_flag = witness_camp_officer
}
journey_employ_in_camp_position = {
CHARACTER = scope:local_character
COURT_POSITION = witness
}
}
else_if = {
limit = {
has_character_flag = cupbearer_court_position
}
journey_employ_in_court_position = {
CHARACTER = scope:local_character
COURT_POSITION = cupbearer
}
}
else_if = {
limit = {
has_character_flag = court_poet_court_position
}
journey_employ_in_court_position = {
CHARACTER = scope:local_character
COURT_POSITION = court_poet
}
}
else_if = {
limit = {
has_character_flag = second_camp_officer
}
journey_employ_in_camp_position = {
CHARACTER = scope:local_character
COURT_POSITION = second
}
}
else_if = {
limit = {
has_character_flag = chronicler_court_position
}
journey_employ_in_court_position = {
CHARACTER = scope:local_character
COURT_POSITION = chronicler
}
}
else_if = {
limit = {
has_character_flag = wet_nurse_court_position
}
journey_employ_in_court_position = {
CHARACTER = scope:local_character
COURT_POSITION = wet_nurse
}
}
else_if = {
limit = {
has_character_flag = antiquarian_court_position
}
journey_employ_in_court_position = {
CHARACTER = scope:local_character
COURT_POSITION = antiquarian
}
}
add_hook = {
type = strong_obligation_hook
target = scope:local_character
}
custom_tooltip = obligation_hook_tt
if = {
limit = {
culture != scope:local_character.culture
}
culture = {
change_cultural_acceptance = {
target = scope:local_character.culture
value = 2
desc = cultural_acceptance_gain_event
}
}
}
stress_impact = {
callous = medium_stress_impact_gain
sadistic = medium_stress_impact_gain
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = callous
has_trait = sadistic
has_trait = paranoid
}
}
}
}
option = {
name = bp3_journey.1900.a
journey_knowledge_hoarding_skill_effect = { VALUE = 5 }
add_piety = miniscule_piety_gain
pay_short_term_gold = {
target = scope:local_character
gold = tiny_gold_value
}
stress_impact = {
greedy = minor_stress_impact_gain
cynical = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
short_term_gold <= minor_gold_value
has_trait = greedy
has_trait = cynical
has_trait = paranoid
}
}
}
}
option = {
name = bp3_journey.1900.b
trigger = {
NOT = { has_activity_intent = journey_curiosity_intent }
}
if = {
limit = {
has_character_flag = court_tutor_court_position
}
journey_employ_in_court_position = {
CHARACTER = scope:local_character
COURT_POSITION = court_tutor
}
}
else_if = {
limit = {
has_character_flag = head_porter_camp_officer
}
journey_employ_in_camp_position = {
CHARACTER = scope:local_character
COURT_POSITION = head_porter
}
}
else_if = {
limit = {
has_character_flag = royal_architect_court_position
}
journey_employ_in_court_position = {
CHARACTER = scope:local_character
COURT_POSITION = royal_architect
}
}
else_if = {
limit = {
has_character_flag = witness_camp_officer
}
journey_employ_in_camp_position = {
CHARACTER = scope:local_character
COURT_POSITION = witness
}
}
else_if = {
limit = {
has_character_flag = cupbearer_court_position
}
journey_employ_in_court_position = {
CHARACTER = scope:local_character
COURT_POSITION = cupbearer
}
}
else_if = {
limit = {
has_character_flag = court_poet_court_position
}
journey_employ_in_court_position = {
CHARACTER = scope:local_character
COURT_POSITION = court_poet
}
}
else_if = {
limit = {
has_character_flag = second_camp_officer
}
journey_employ_in_camp_position = {
CHARACTER = scope:local_character
COURT_POSITION = second
}
}
else_if = {
limit = {
has_character_flag = chronicler_court_position
}
journey_employ_in_court_position = {
CHARACTER = scope:local_character
COURT_POSITION = chronicler
}
}
else_if = {
limit = {
has_character_flag = wet_nurse_court_position
}
journey_employ_in_court_position = {
CHARACTER = scope:local_character
COURT_POSITION = wet_nurse
}
}
else_if = {
limit = {
has_character_flag = antiquarian_court_position
}
journey_employ_in_court_position = {
CHARACTER = scope:local_character
COURT_POSITION = antiquarian
}
}
add_hook = {
type = obligation_hook
target = scope:local_character
}
custom_tooltip = obligation_hook_tt
stress_impact = {
paranoid = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = arrogant
}
}
}
}
option = {
name = bp3_journey.1900.c
add_prestige = miniscule_prestige_gain
ai_chance = {
base = 1
}
}
after = {
if = { # Cleanup
limit = {
root = {
is_ai = yes
}
scope:local_character = {
is_courtier = no
has_character_flag = silently_disappear_me
}
}
scope:local_character = {
silent_disappearance_effect = yes
}
}
scope:local_character = {
remove_character_flag = peasant_outfit
remove_character_flag = no_hat
}
remove_character_flag = court_tutor_court_position
remove_character_flag = royal_architect_court_position
remove_character_flag = cupbearer_court_position
remove_character_flag = court_poet_court_position
remove_character_flag = chronicler_court_position
remove_character_flag = wet_nurse_court_position
remove_character_flag = antiquarian_court_position
}
}
# A Walking Legend
bp3_journey.2000 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.2000.t
desc = bp3_journey.2000.desc
theme = journey_activity
left_portrait = {
character = scope:host
animation = hero_flex
}
right_portrait = {
character = scope:new_promoter
triggered_animation = {
trigger = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } }
animation = acknowledging # anim uses crucifix scepter
}
animation = war_over_tie
}
cooldown = { years = 3 }
trigger = {
has_activity_intent = spread_legend_intent
exists = promoted_legend
OR = {
scope:activity.activity_location.county.holder = {
is_available_ai_adult = yes
NOR = {
exists = promoted_legend
this = root
has_relation_rival = root
has_relation_friend = root
has_relation_lover = root
is_close_or_extended_family_of = root
}
}
scope:activity.activity_location.county = {
any_neighboring_county = {
holder = {
is_available_ai_adult = yes
NOR = {
exists = promoted_legend
this = root
has_relation_rival = root
has_relation_friend = root
has_relation_lover = root
is_close_or_extended_family_of = root
}
}
}
}
}
}
immediate = {
scope:activity.activity_location = { save_scope_as = location }
random_list = {
10 = {
trigger = {
scope:activity.activity_location.county.holder = {
is_available_ai_adult = yes
NOR = {
exists = promoted_legend
this = root
has_relation_rival = root
has_relation_friend = root
has_relation_lover = root
is_close_or_extended_family_of = root
}
}
}
scope:activity.activity_location.county.holder = { save_scope_as = new_promoter }
}
10 = {
trigger = {
scope:activity.activity_location.county = {
any_neighboring_county = {
holder = {
is_available_ai_adult = yes
NOR = {
exists = promoted_legend
this = root
has_relation_rival = root
has_relation_friend = root
has_relation_lover = root
is_close_or_extended_family_of = root
}
}
}
}
}
scope:activity.activity_location.county.holder = { save_scope_as = new_promoter }
scope:activity.activity_location.county = {
random_neighboring_county = {
limit = {
holder = {
is_available_ai_adult = yes
NOR = {
exists = promoted_legend
this = root
has_relation_rival = root
has_relation_friend = root
has_relation_lover = root
is_close_or_extended_family_of = root
}
}
}
holder = { save_scope_as = new_promoter }
}
}
}
}
}
option = {
name = bp3_journey.2000.a
remove_short_term_gold = minor_gold_value
add_prestige = medium_prestige_gain
promoted_legend = {
change_legend_quality_effect = { VALUE = minor_legend_quality_increase }
}
scope:new_promoter = {
set_promoted_legend = root.promoted_legend
}
stress_impact = {
greedy = minor_stress_impact_gain
cynical = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
short_term_gold <= minor_gold_value
has_trait = greedy
has_trait = cynical
has_trait = paranoid
}
}
}
}
option = {
name = bp3_journey.2000.b
scope:new_promoter = {
set_promoted_legend = root.promoted_legend
}
stress_impact = {
paranoid = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 1
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = arrogant
}
}
}
}
option = {
name = bp3_journey.2000.c
add_prestige = miniscule_prestige_gain
reverse_add_opinion = {
target = scope:new_promoter
modifier = rude_opinion
opinion = -20
}
ai_chance = {
base = 1
}
}
}
# A Local Specialty
bp3_journey.2100 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.2100.t
desc = bp3_journey.2100.desc
theme = journey_activity
override_background = { reference = market }
left_portrait = {
character = scope:host
animation = drink
}
right_portrait = {
character = scope:local_character
animation = debating
}
cooldown = { years = 9 }
trigger = {
}
immediate = {
scope:activity.activity_location = { save_scope_as = location }
if = {
limit = {
is_valid_to_hire_court_position_type = camp_cook_camp_officer
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = camp_cook_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#food_taster_validity_trigger = { EMPLOYER = root }
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = camp_cook_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#food_taster_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
}
if = {
limit = {
any_court_position_holder = {
type = camp_cook_camp_officer
}
}
random_court_position_holder = {
type = camp_cook_camp_officer
save_scope_as = current_holder
}
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = camp_cook_camp_officer
}
create_character = {
template = camp_cook_camp_officer_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = camp_cook_camp_officer
}
}
random_court_position_holder = {
type = camp_cook_camp_officer
save_scope_as = current_holder
}
}
}
else_if = {
limit = {
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = food_taster_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
food_taster_validity_trigger = { EMPLOYER = root }
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = food_taster_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
food_taster_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
}
if = {
limit = {
any_court_position_holder = {
type = food_taster_court_position
}
}
random_court_position_holder = {
type = food_taster_court_position
save_scope_as = current_holder
}
}
}
else = {
create_character = {
template = food_taster_court_position_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = food_taster_court_position
}
}
random_court_position_holder = {
type = food_taster_court_position
save_scope_as = current_holder
}
}
}
hidden_effect = {
scope:local_character = {
set_favorite_treat_effect = yes
change_current_weight = 150
}
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
is_valid_to_hire_court_position_type = food_taster_court_position
NOT = { employs_court_position = food_taster_court_position }
}
modifier = {
add = 1
is_valid_to_hire_court_position_type = camp_cook_camp_officer
NOT = { employs_court_position = camp_cook_camp_officer }
}
modifier = {
add = 1
scope:activity = {
has_variable = stewardship_skill_focus
}
}
modifier = {
add = 1
has_trait = gluttonous
}
modifier = {
add = 1
has_trait = comfort_eater
}
}
option = {
name = bp3_journey.2100.knowledge_hoarding
trigger = {
has_activity_intent = journey_knowledge_hoarding_intent
}
journey_knowledge_hoarding_skill_effect = { VALUE = 10 }
food_poison_chance_effect = yes
stress_impact = {
base = miniscule_stress_impact_gain
gluttonous = minor_stress_impact_loss
comfort_eater = minor_stress_impact_loss
temperate = minor_stress_impact_gain
inappetetic = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = temperate
has_trait = inappetetic
}
}
}
}
option = {
name = bp3_journey.2100.curiosity
trigger = {
has_activity_intent = journey_curiosity_intent
culture != scope:local_character.culture
}
add_prestige = miniscule_prestige_gain
food_poison_chance_effect = yes
culture = {
change_cultural_acceptance = {
target = scope:local_character.culture
value = 4
desc = cultural_acceptance_gain_event
}
}
stress_impact = {
gluttonous = minor_stress_impact_loss
comfort_eater = minor_stress_impact_loss
temperate = minor_stress_impact_gain
inappetetic = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = inappetetic
has_trait = temperate
}
}
}
}
option = {
name = bp3_journey.2100.curiosity_2
trigger = {
has_activity_intent = journey_curiosity_intent
}
hire_for_court_position_journey_laamp_replacement_effect = {
CHARACTER = scope:local_character
COURT_POSITION = food_taster
LAAMP_POSITION = camp_cook
}
stress_impact = {
callous = medium_stress_impact_gain
sadistic = medium_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = callous
has_trait = sadistic
has_trait = arrogant
}
}
}
}
option = {
name = bp3_journey.2100.a
add_character_modifier = {
modifier = good_soup_modifier
years = 2
}
stress_impact = {
base = minor_stress_impact_loss
inappetetic = minor_stress_impact_gain
}
ai_chance = {
base = 1
modifier = {
factor = 0
OR = {
has_trait = inappetetic
stress <= 10
}
}
}
}
option = {
name = bp3_journey.2100.b
trigger = {
OR = {
is_valid_to_hire_court_position_type = camp_cook_camp_officer
is_valid_to_hire_court_position_type = food_taster_court_position
}
NOT = { has_activity_intent = journey_curiosity_intent }
}
hire_for_court_position_journey_laamp_replacement_effect = {
CHARACTER = scope:local_character
COURT_POSITION = food_taster
LAAMP_POSITION = camp_cook
}
stress_impact = {
paranoid = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 1
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = arrogant
}
}
}
}
option = {
name = bp3_journey.2100.c
journey_knowledge_hoarding_skill_effect = { VALUE = 2 }
ai_chance = {
base = 1
}
}
after = {
if = { # Cleanup
limit = {
root = {
is_ai = yes
}
scope:local_character = {
is_courtier = no
has_character_flag = silently_disappear_me
}
}
scope:local_character = {
silent_disappearance_effect = yes
}
}
}
}
# The Siren of Place
bp3_journey.2200 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.2200.t
desc = bp3_journey.2200.desc
theme = journey_activity
override_background = { reference = alley_night }
left_portrait = {
character = scope:host
animation = shame
}
right_portrait = {
character = scope:local_character
animation = reception_bride_right
}
cooldown = { years = 9 }
trigger = {
OR = {
is_valid_to_hire_court_position_type = master_of_spoils_camp_officer
is_valid_to_hire_court_position_type = wet_nurse_court_position
is_valid_to_hire_court_position_type = bodyguard_court_position
}
}
immediate = {
scope:activity.activity_location = { save_scope_as = location }
if = {
limit = {
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = wet_nurse_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
wet_nurse_validity_trigger = { EMPLOYER = root }
}
is_valid_to_hire_court_position_type = wet_nurse_court_position
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = wet_nurse_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
wet_nurse_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
save_scope_as = wet_nurse
}
if = {
limit = {
any_court_position_holder = {
type = wet_nurse_court_position
}
}
random_court_position_holder = {
type = wet_nurse_court_position
save_scope_as = current_holder
}
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = wet_nurse_court_position
}
create_character = {
template = wet_nurse_court_position_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
save_scope_as = wet_nurse
save_scope_as = generated
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = wet_nurse_court_position
}
}
random_court_position_holder = {
type = wet_nurse_court_position
save_scope_as = current_holder
}
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = master_of_spoils_camp_officer
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = master_of_spoils_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
bodyguard_validity_trigger = { EMPLOYER = root }
}
is_valid_to_hire_court_position_type = master_of_spoils_camp_officer
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = master_of_spoils_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
bodyguard_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
save_scope_as = master_of_spoils_camp_officer
}
if = {
limit = {
any_court_position_holder = {
type = master_of_spoils_camp_officer
}
}
random_court_position_holder = {
type = master_of_spoils_camp_officer
save_scope_as = current_holder
}
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = master_of_spoils_camp_officer
}
create_character = {
template = master_of_spoils_camp_officer_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
save_scope_as = master_of_spoils_camp_officer
save_scope_as = generated
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = master_of_spoils_camp_officer
}
}
random_court_position_holder = {
type = master_of_spoils_camp_officer
save_scope_as = current_holder
}
}
}
else_if = {
limit = {
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = bodyguard_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
bodyguard_validity_trigger = { EMPLOYER = root }
}
is_valid_to_hire_court_position_type = bodyguard_court_position
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = bodyguard_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
bodyguard_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
save_scope_as = bodyguard
}
if = {
limit = {
any_court_position_holder = {
type = bodyguard_court_position
}
}
random_court_position_holder = {
type = bodyguard_court_position
save_scope_as = current_holder
}
}
}
else = {
create_character = {
template = bodyguard_court_position_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
save_scope_as = bodyguard
save_scope_as = generated
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = bodyguard_court_position
}
}
random_court_position_holder = {
type = bodyguard_court_position
save_scope_as = current_holder
}
}
}
hidden_effect = {
scope:local_character = {
if = {
limit = {
exists = scope:generated
}
remove_trait = beauty_bad_1
remove_trait = beauty_bad_2
remove_trait = beauty_bad_3
random_list = {
33 = { add_trait = beauty_good_1 }
33 = { add_trait = beauty_good_2 }
33 = { add_trait = beauty_good_3 }
}
}
change_current_weight = 25
set_sexuality = bisexual
add_trait = fornicator
}
}
set_random_entertainment_text_effect = yes
}
weight_multiplier = {
base = 1
modifier = {
add = 1
AND = {
is_valid_to_hire_court_position_type = wet_nurse_court_position
NOT = { employs_court_position = wet_nurse_court_position }
}
# Bodyguard has a bespoke event
}
modifier = {
add = 1
AND = {
is_valid_to_hire_court_position_type = bodyguard_court_position
NOT = { employs_court_position = bodyguard_court_position }
}
}
modifier = {
add = 1
scope:activity = {
has_variable = intrigue_skill_focus
}
}
modifier = {
add = 1
has_trait = rakish
}
modifier = {
add = 1
has_trait = lustful
}
}
option = {
name = bp3_journey.2200.spread_legend_intent
trigger = {
has_activity_intent = spread_legend_intent
}
add_character_modifier = {
modifier = journey_apa_legend_modifier
years = 15
}
journey_knowledge_hoarding_skill_effect = { VALUE = 5 }
reverse_add_opinion = {
modifier = impressed_opinion
opinion = 20
target = scope:local_character
}
stress_impact = {
shy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = shy
}
}
}
option = {
name = bp3_journey.2200.knowledge_hoarding
flavor = local_monument_tt
trigger = {
has_activity_intent = journey_knowledge_hoarding_intent
}
journey_knowledge_hoarding_skill_effect = { VALUE = 15 }
pay_short_term_gold = {
target = scope:local_character
gold = tiny_gold_value
}
stress_impact = {
base = miniscule_stress_impact_gain
lustful = minor_stress_impact_gain
impatient = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
short_term_gold <= minor_gold_value
has_trait = lustful
has_trait = impatient
}
}
}
}
option = {
name = bp3_journey.2200.curiosity
trigger = {
has_activity_intent = journey_curiosity_intent
}
hidden_effect = {
scope:local_character = {
add_to_court_and_entourage_effect = yes
}
}
hire_for_two_court_position_journey_laamp_replacement_effect = {
CHARACTER = scope:local_character
COURT_POSITION = wet_nurse
COURT_POSITION_2 = bodyguard
LAAMP_POSITION = master_of_spoils
}
if = {
limit = {
culture != root.location.culture
}
culture = {
change_cultural_acceptance = {
target = root.location.culture
value = 1
desc = cultural_acceptance_gain_event
}
}
}
stress_impact = {
callous = medium_stress_impact_gain
sadistic = medium_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = callous
has_trait = sadistic
has_trait = arrogant
}
}
}
}
option = {
name = bp3_journey.2200.curiosity_2
trigger = {
has_activity_intent = journey_curiosity_intent
matching_gender_and_sexuality_trigger = {
CHARACTER_1 = root
CHARACTER_2 = scope:local_character
}
NOT = { has_trait = celibate }
can_set_relation_lover_trigger = { CHARACTER = scope:local_character }
}
hidden_effect = {
scope:local_character = {
add_to_court_and_entourage_effect = yes
}
}
had_sex_with_effect = {
CHARACTER = scope:local_character
PREGNANCY_CHANCE = pregnancy_chance
}
set_relation_lover = {
target = scope:local_character
reason = lover_fell_in_love_with_prostitute_by_monument
province = root.location
}
if = {
limit = {
culture != root.location.culture
}
culture = {
change_cultural_acceptance = {
target = root.location.culture
value = 1
desc = cultural_acceptance_gain_event
}
}
}
stress_impact = {
base = medium_stress_impact_loss
rakish = medium_stress_impact_loss
seducer = medium_stress_impact_loss
paranoid = medium_stress_impact_gain
chaste = massive_stress_impact_gain
shy = minor_stress_impact_gain
}
ai_chance = {
base = 5
modifier = {
add = 95
OR = {
has_trait = lustful
has_trait = rakish
has_trait = seducer
}
}
modifier = {
factor = 0
might_cheat_on_every_partner_trigger = no
}
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = chaste
has_trait = shy
}
}
}
}
option = {
name = bp3_journey.2200.a_2
trigger = {
OR = {
NOT = {
matching_gender_and_sexuality_trigger = {
CHARACTER_1 = root
CHARACTER_2 = scope:local_character
}
}
has_trait = celibate
}
}
stress_impact = {
base = medium_stress_impact_loss
paranoid = medium_stress_impact_gain
shy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
stress <= 25
}
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = shy
}
}
}
}
option = {
name = bp3_journey.2200.a
trigger = {
matching_gender_and_sexuality_trigger = {
CHARACTER_1 = root
CHARACTER_2 = scope:local_character
}
NOT = { has_trait = celibate }
}
journey_knowledge_hoarding_skill_effect = { VALUE = 5 }
had_sex_with_effect = {
CHARACTER = scope:local_character
PREGNANCY_CHANCE = pregnancy_chance
}
stress_impact = {
base = medium_stress_impact_loss
lustful = medium_stress_impact_loss
rakish = medium_stress_impact_loss
seducer = medium_stress_impact_loss
paranoid = medium_stress_impact_gain
chaste = massive_stress_impact_gain
shy = minor_stress_impact_gain
}
ai_chance = {
base = 5
modifier = {
add = 95
OR = {
has_trait = lustful
has_trait = rakish
has_trait = seducer
}
}
modifier = {
factor = 0
might_cheat_on_every_partner_trigger = no
}
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = chaste
has_trait = shy
}
}
}
}
option = {
name = bp3_journey.2200.b
trigger = {
NOT = { has_activity_intent = journey_curiosity_intent }
}
hire_for_two_court_position_journey_laamp_replacement_effect = {
CHARACTER = scope:local_character
COURT_POSITION = wet_nurse
COURT_POSITION_2 = bodyguard
LAAMP_POSITION = master_of_spoils
}
stress_impact = {
paranoid = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 1
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = arrogant
}
}
}
}
option = {
name = bp3_journey.2200.c
add_prestige = miniscule_prestige_gain
journey_knowledge_hoarding_skill_effect = { VALUE = 2 }
ai_chance = {
base = 1
}
}
after = {
if = { # Cleanup
limit = {
root = {
is_ai = yes
}
scope:local_character = {
is_courtier = no
has_character_flag = silently_disappear_me
}
}
scope:local_character = {
silent_disappearance_effect = yes
}
}
}
}
# X's CulturalUnit
bp3_journey.2300 = {
type = activity_event
content_source = dlc_015
title = bp3_journey.2300.t
desc = bp3_journey.2300.desc
theme = journey_activity
override_background = { reference = courtyard }
left_portrait = {
character = scope:host
animation = thinking
}
center_portrait = {
character = scope:local_ruler
triggered_animation = {
trigger = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } }
animation = acknowledging # anim uses crucifix scepter
}
animation = war_over_tie
camera = camera_event_very_left
}
right_portrait = {
character = scope:local_character
triggered_animation = {
trigger = {
scope:regiment = {
OR = {
is_unit_type = archers
is_unit_type = skirmishers
}
}
}
scripted_animation = bow_closed
}
triggered_animation = {
trigger = {
scope:regiment = {
is_unit_type = pikemen
}
}
animation = throne_room_two_handed_passive_1
}
animation = inspect_weapon
}
cooldown = { years = 9 }
trigger = {
scope:activity.activity_location.county.holder ?= {
is_available_ai_adult = yes
culture = scope:activity.activity_location.culture
NOR = {
this = root
culture = { has_same_culture_heritage = root.culture }
is_close_or_extended_family_of = root
dynasty ?= root.dynasty
has_relation_friend = root
has_relation_rival = root
has_relation_lover = root
}
any_maa_regiment = {
NOR = {
is_unit_type = siege_weapon
is_maa_type = light_footmen
is_maa_type = bowmen
is_maa_type = light_horsemen
is_maa_type = pikemen_unit
is_maa_type = armored_footmen
is_maa_type = armored_horsemen
is_maa_type = crossbowmen
is_maa_type = house_guard
is_maa_type = horse_archers
is_maa_type = steppe_raiders
is_maa_type = heavy_horse_archers
is_maa_type = nomad_lancers
}
}
}
}
immediate = {
scope:activity.activity_location = { save_scope_as = location }
scope:activity.activity_location.county.holder = {
save_scope_as = local_ruler
random_maa_regiment = {
limit = {
NOR = {
is_unit_type = siege_weapon
is_maa_type = light_footmen
is_maa_type = bowmen
is_maa_type = light_horsemen
is_maa_type = pikemen_unit
is_maa_type = armored_footmen
is_maa_type = armored_horsemen
is_maa_type = crossbowmen
is_maa_type = house_guard
is_maa_type = horse_archers
is_maa_type = steppe_raiders
is_maa_type = heavy_horse_archers
is_maa_type = nomad_lancers
}
}
save_scope_as = regiment
}
}
if = {
limit = {
is_valid_to_hire_court_position_type = master_of_arms_camp_officer
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = master_of_arms_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#champion_validity_trigger = { EMPLOYER = root }
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = master_of_arms_camp_officer
value >= 4
}
is_available_healthy_ai_adult = yes
#champion_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
}
if = {
limit = {
any_court_position_holder = {
type = master_of_arms_camp_officer
}
}
random_court_position_holder = {
type = master_of_arms_camp_officer
save_scope_as = current_holder
}
}
}
else_if = {
limit = {
is_valid_to_hire_court_position_type = master_of_arms_camp_officer
}
create_character = {
template = master_of_arms_camp_officer_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = master_of_arms_camp_officer
}
}
random_court_position_holder = {
type = master_of_arms_camp_officer
save_scope_as = current_holder
}
}
}
else_if = {
limit = {
any_pool_character = {
province = scope:location
culture = scope:location.culture
aptitude = {
court_position = champion_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
champion_validity_trigger = { EMPLOYER = root }
}
}
random_pool_character = {
province = scope:location
limit = {
culture = scope:location.culture
aptitude = {
court_position = champion_court_position
value >= 4
}
is_available_healthy_ai_adult = yes
champion_validity_trigger = { EMPLOYER = root }
}
save_scope_as = local_character
}
if = {
limit = {
any_court_position_holder = {
type = champion_court_position
}
}
random_court_position_holder = {
type = champion_court_position
save_scope_as = current_holder
}
}
}
else = {
create_character = {
template = champion_court_position_template
location = scope:location
culture = scope:location.culture
faith = scope:location.faith
save_scope_as = local_character
}
scope:local_character = {
add_character_flag = {
flag = silently_disappear_me
years = 1
}
}
if = {
limit = {
any_court_position_holder = {
type = champion_court_position
}
}
random_court_position_holder = {
type = champion_court_position
save_scope_as = current_holder
}
}
}
hidden_effect = {
scope:local_character = {
add_character_flag = military_outfit
}
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
is_valid_to_hire_court_position_type = champion_court_position
NOT = { employs_court_position = champion_court_position }
}
modifier = {
add = 1
scope:activity = {
has_variable = martial_skill_focus
}
}
}
option = {
name = bp3_journey.2300.knowledge_hoarding
trigger = {
has_activity_intent = journey_knowledge_hoarding_intent
}
progress_towards_friend_effect = {
REASON = friend_bonded_by_monument
CHARACTER = scope:local_ruler
OPINION = 30
}
journey_knowledge_hoarding_skill_effect = { VALUE = 10 }
stress_impact = {
base = minor_stress_impact_gain
gregarious = minor_stress_impact_loss
shy = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = shy
has_trait = paranoid
}
}
}
}
option = {
name = bp3_journey.2300.curiosity
trigger = {
has_activity_intent = journey_curiosity_intent
culture != scope:local_character.culture
}
progress_towards_friend_effect = {
REASON = friend_bonded_by_monument
CHARACTER = scope:local_ruler
OPINION = 30
}
if = {
limit = {
culture != scope:local_character.culture
}
culture = {
change_cultural_acceptance = {
target = scope:local_character.culture
value = 2
desc = cultural_acceptance_gain_event
}
}
}
stress_impact = {
gregarious = minor_stress_impact_loss
shy = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = shy
has_trait = paranoid
}
}
}
}
option = {
name = bp3_journey.2300.curiosity_2
trigger = {
has_activity_intent = journey_curiosity_intent
}
hire_for_court_position_journey_laamp_replacement_effect = {
CHARACTER = scope:local_character
COURT_POSITION = champion
LAAMP_POSITION = master_of_arms
}
progress_towards_friend_effect = {
REASON = friend_bonded_by_monument
CHARACTER = scope:local_ruler
OPINION = 30
}
stress_impact = {
gregarious = minor_stress_impact_loss
shy = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = shy
has_trait = paranoid
}
}
}
}
option = {
name = bp3_journey.2300.a
trigger = {
maa_regiments_count <= max_regiment_count_plus_one
}
add_prestige = minor_prestige_gain
reverse_add_opinion = {
target = scope:local_ruler
modifier = respect_opinion
opinion = 20
}
pay_treasury_or_gold = {
target = scope:local_ruler
value = medium_treasury_or_gold_value
}
create_maa_regiment = {
type_of = scope:regiment
check_can_recruit = no
size = 1
}
stress_impact = {
content = minor_stress_impact_gain
craven = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 1
modifier = {
factor = 0
OR = {
has_trait = content
has_trait = craven
has_trait = arrogant
short_term_treasury_or_gold <= major_treasury_or_gold_value
}
}
}
}
option = {
name = bp3_journey.2300.b
trigger = {
OR = {
is_valid_to_hire_court_position_type = champion_court_position
is_valid_to_hire_court_position_type = master_of_arms_camp_officer
}
NOT = { has_activity_intent = journey_curiosity_intent }
}
reverse_add_opinion = {
target = scope:local_ruler
modifier = annoyed_opinion
opinion = -10
}
hire_for_court_position_journey_laamp_replacement_effect = {
CHARACTER = scope:local_character
COURT_POSITION = champion
LAAMP_POSITION = master_of_arms
}
stress_impact = {
paranoid = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
}
ai_chance = {
base = 1
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = arrogant
}
}
}
}
option = {
name = bp3_journey.2300.c
add_prestige = miniscule_prestige_gain
reverse_add_opinion = {
target = scope:local_ruler
modifier = flattered_opinion
opinion = 10
}
ai_chance = {
base = 1
}
}
after = {
if = { # Cleanup
limit = {
root = {
is_ai = yes
}
scope:local_character = {
is_courtier = no
has_character_flag = silently_disappear_me
}
}
scope:local_character = {
silent_disappearance_effect = yes
}
}
}
}