6813 lines
139 KiB
Text
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
|
|
}
|
|
}
|
|
}
|
|
}
|