4472 lines
89 KiB
Text
4472 lines
89 KiB
Text
namespace = bp2_yearly
|
|
|
|
########################
|
|
## BP2 Yearly Events
|
|
## 2000-2999
|
|
## by Chad Uhl
|
|
########################
|
|
##
|
|
## In Their Footsteps (House Founder) bp2_yearly.2000
|
|
## In Their Footsteps (Ancestor) bp2_yearly.2001
|
|
## In Their Footsteps (Artifact follow-up) bp2_yearly.2002
|
|
##
|
|
#### Imaginary Friend Story Cycle Events bp2_yearly.2010-99
|
|
## Introduction Event bp2_yearly.2010
|
|
## Playdate Event bp2_yearly.2011
|
|
## Regent Shenanigans bp2_yearly.2012
|
|
## Change a personality trait bp2_yearly.2013
|
|
## Pursue a crush bp2_yearly.2014
|
|
## Fight back against your bully bp2_yearly.2015
|
|
## Flower crowns bp2_yearly.2016
|
|
## Study up or go practice swordsmanship bp2_yearly.2017
|
|
## Gain the confider or poet trait bp2_yearly.2018
|
|
## Gain Eccentric trait bp2_yearly.2019
|
|
## Adulthood Events - Evil bp2_yearly.2020-29
|
|
## bp2_yearly.2020 # Your imaginary friend wants you to kill someone
|
|
## bp2_yearly.2021 # Why haven't you started your scheme?
|
|
## bp2_yearly.2022 # Murder Success - Another target?
|
|
## bp2_yearly.2023 # Murder Invalidated
|
|
## bp2_yearly.2024 # Murder Failed, try again
|
|
## bp2_yearly.2025 # Murder special ending
|
|
## Adulthood Events - Good bp2_yearly.2030-39
|
|
## bp2_yearly.2030 # Imaginary friend reveals they are an angel
|
|
## bp2_yearly.2031 # Honor your Imaginary Friend at the Holy Site
|
|
## Adulthood Events - Neutral bp2_yearly.2040
|
|
## bp2_yearly.2040 # Neutral ending
|
|
### END Imaginary Friend Events
|
|
##
|
|
## Laying Foundations bp2_yearly.2100
|
|
##
|
|
#### Trait Specific Events
|
|
## Gain Humble or Arrogant bp2_yearly.2110
|
|
## Gain Temperate or Gluttonous bp2_yearly.2120
|
|
## Gain Generous or Greedy bp2_yearly.2130
|
|
## Gain Honest or Deceitful bp2_yearly.2140
|
|
## Gain Herbalist or Gardener bp2_yearly.2150
|
|
## Gain Compassionate or Sadistic bp2_yearly.2160
|
|
##
|
|
########################
|
|
|
|
scripted_trigger relevant_story_teller_trigger = {
|
|
OR = {
|
|
any_close_or_extended_family_member = {
|
|
is_relevant_to_child = yes
|
|
}
|
|
any_courtier_or_guest = {
|
|
is_relevant_to_child = yes
|
|
}
|
|
any_knight = {
|
|
is_relevant_to_child = yes
|
|
}
|
|
any_councillor = {
|
|
is_relevant_to_child = yes
|
|
}
|
|
any_court_position_holder = {
|
|
is_relevant_to_child = yes
|
|
}
|
|
}
|
|
}
|
|
# You hear a story about your house founder
|
|
bp2_yearly.2000 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2000.t
|
|
desc = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { scope:story_teller.dynasty = root.dynasty }
|
|
desc = bp2_yearly.2000.desc_dynasty
|
|
}
|
|
desc = bp2_yearly.2000.desc
|
|
}
|
|
}
|
|
theme = education
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = thinking
|
|
}
|
|
right_portrait = {
|
|
character = scope:story_teller
|
|
animation = admiration
|
|
}
|
|
lower_center_portrait = scope:root_house_founder
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
is_available_child = yes
|
|
number_of_personality_traits < 3
|
|
exists = house
|
|
root.house.house_founder ?= {
|
|
is_alive = no
|
|
number_of_personality_traits_in_common = {
|
|
target = root
|
|
value < 3
|
|
}
|
|
number_of_opposing_personality_traits = {
|
|
target = root
|
|
value < 3
|
|
}
|
|
}
|
|
relevant_story_teller_trigger = yes
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
factor = 3
|
|
culture = {
|
|
OR = {
|
|
has_cultural_tradition = tradition_mystical_ancestors
|
|
has_cultural_tradition = tradition_storytellers
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
factor = 4
|
|
is_ai = no
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
house.house_founder = {
|
|
save_scope_as = root_house_founder
|
|
}
|
|
# Grab someone to tell their story
|
|
grab_learning_char_relevant_to_child = {
|
|
CHILD = root
|
|
SCOPE_OUTPUT = story_teller
|
|
}
|
|
scope:root_house_founder = {
|
|
every_character_trait = {
|
|
if = {
|
|
limit = {
|
|
# Must be a personality trait
|
|
has_trait_category = personality
|
|
# Child does not already have this trait
|
|
root = {
|
|
NOT = { has_trait = prev }
|
|
}
|
|
# Child does not already have the opposite of this trait
|
|
any_opposite_trait = {
|
|
root = {
|
|
NOT = { has_trait = prev }
|
|
}
|
|
}
|
|
}
|
|
add_to_list = target_traits
|
|
}
|
|
}
|
|
}
|
|
|
|
random_in_list = {
|
|
list = target_traits
|
|
save_scope_as = target_trait
|
|
random_opposite_trait = {
|
|
save_scope_as = target_trait_opposite
|
|
}
|
|
}
|
|
|
|
random_court_position_holder = {
|
|
type = court_artificer_court_position
|
|
save_scope_as = artificer
|
|
}
|
|
|
|
}
|
|
|
|
option = {
|
|
name = {
|
|
text = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
OR = {
|
|
scope:target_trait = trait:callous
|
|
scope:target_trait = trait:deceitful
|
|
scope:target_trait = trait:lazy
|
|
faith = { trait_is_sin = scope:target_trait }
|
|
}
|
|
}
|
|
desc = bp2_yearly.2000.a.negative
|
|
}
|
|
desc = bp2_yearly.2000.a
|
|
}
|
|
}
|
|
}
|
|
add_trait = scope:target_trait
|
|
hidden_effect = {
|
|
create_character_memory = {
|
|
type = ancestor_trait_memory
|
|
participants = {
|
|
ancestor = scope:root_house_founder
|
|
}
|
|
}
|
|
scope:new_memory = {
|
|
set_variable = {
|
|
name = target_trait
|
|
value = scope:target_trait
|
|
}
|
|
if = {
|
|
limit = { exists = var:target_trait }
|
|
#To prevent 'unused except in loc' errors
|
|
}
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2000.b
|
|
add_trait = scope:target_trait_opposite
|
|
hidden_effect = {
|
|
create_character_memory = {
|
|
type = ancestor_opposite_trait_memory
|
|
participants = {
|
|
ancestor = scope:root_house_founder
|
|
}
|
|
}
|
|
scope:new_memory = {
|
|
set_variable = {
|
|
name = target_trait_opposite
|
|
value = scope:target_trait_opposite
|
|
}
|
|
if = {
|
|
limit = { exists = var:target_trait_opposite }
|
|
#To prevent 'unused except in loc' errors
|
|
}
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2000.c
|
|
trigger = {
|
|
employs_court_position = court_artificer_court_position
|
|
}
|
|
custom_tooltip = bp2_yearly.2000.c.tt
|
|
remove_short_term_gold = medium_gold_value
|
|
trigger_event = {
|
|
id = bp2_yearly.2002
|
|
days = { 7 21 }
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2000.d
|
|
ai_chance = {
|
|
base = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
# You hear a story about your ancestor
|
|
bp2_yearly.2001 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2000.t
|
|
desc = bp2_yearly.2001.desc
|
|
theme = education
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = thinking
|
|
}
|
|
right_portrait = {
|
|
character = scope:story_teller
|
|
animation = admiration
|
|
}
|
|
lower_center_portrait = scope:ancestor
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
is_available_child = yes
|
|
number_of_personality_traits < 3
|
|
any_ancestor = {
|
|
even_if_dead = yes
|
|
is_alive = no
|
|
age >= 25
|
|
number_of_personality_traits_in_common = {
|
|
target = root
|
|
value < 3
|
|
}
|
|
number_of_opposing_personality_traits = {
|
|
target = root
|
|
value < 3
|
|
}
|
|
}
|
|
relevant_story_teller_trigger = yes
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
factor = 3
|
|
culture = {
|
|
OR = {
|
|
has_cultural_tradition = tradition_mystical_ancestors
|
|
has_cultural_tradition = tradition_storytellers
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
factor = 4
|
|
is_ai = no
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
ordered_ancestor = {
|
|
even_if_dead = yes
|
|
limit = {
|
|
is_alive = no
|
|
age >= 25
|
|
number_of_personality_traits_in_common = {
|
|
target = root
|
|
value < 3
|
|
}
|
|
number_of_opposing_personality_traits = {
|
|
target = root
|
|
value < 3
|
|
}
|
|
}
|
|
order_by = highest_held_title_tier
|
|
save_scope_as = ancestor
|
|
}
|
|
# Grab someone to tell their story
|
|
grab_learning_char_relevant_to_child = {
|
|
CHILD = root
|
|
SCOPE_OUTPUT = story_teller
|
|
}
|
|
scope:ancestor = {
|
|
every_character_trait = {
|
|
if = {
|
|
limit = {
|
|
# Must be a personality trait
|
|
has_trait_category = personality
|
|
# Child does not already have this trait
|
|
root = {
|
|
NOT = { has_trait = prev }
|
|
}
|
|
# Child does not already have the opposite of this trait
|
|
any_opposite_trait = {
|
|
root = {
|
|
NOT = { has_trait = prev }
|
|
}
|
|
}
|
|
}
|
|
add_to_list = target_traits
|
|
}
|
|
}
|
|
}
|
|
|
|
random_in_list = {
|
|
list = target_traits
|
|
save_scope_as = target_trait
|
|
random_opposite_trait = {
|
|
save_scope_as = target_trait_opposite
|
|
}
|
|
}
|
|
|
|
random_court_position_holder = {
|
|
type = court_artificer_court_position
|
|
save_scope_as = artificer
|
|
}
|
|
|
|
}
|
|
|
|
option = {
|
|
name = {
|
|
text = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
OR = {
|
|
scope:target_trait = trait:callous
|
|
scope:target_trait = trait:deceitful
|
|
scope:target_trait = trait:lazy
|
|
faith = { trait_is_sin = scope:target_trait }
|
|
}
|
|
}
|
|
desc = bp2_yearly.2000.a.negative
|
|
}
|
|
desc = bp2_yearly.2001.a
|
|
}
|
|
}
|
|
}
|
|
#custom_tooltip = bp2_yearly.2000.a.tt
|
|
add_trait = scope:target_trait
|
|
hidden_effect = {
|
|
create_character_memory = {
|
|
type = ancestor_trait_memory
|
|
participants = {
|
|
ancestor = scope:ancestor
|
|
}
|
|
}
|
|
scope:new_memory = {
|
|
set_variable = {
|
|
name = target_trait
|
|
value = scope:target_trait
|
|
}
|
|
if = {
|
|
limit = { exists = var:target_trait }
|
|
#To prevent 'unused except in loc' errors
|
|
}
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2000.b
|
|
add_trait = scope:target_trait_opposite
|
|
hidden_effect = {
|
|
create_character_memory = {
|
|
type = ancestor_opposite_trait_memory
|
|
participants = {
|
|
ancestor = scope:ancestor
|
|
}
|
|
}
|
|
scope:new_memory = {
|
|
set_variable = {
|
|
name = target_trait_opposite
|
|
value = scope:target_trait_opposite
|
|
}
|
|
if = {
|
|
limit = { exists = var:target_trait_opposite }
|
|
#To prevent 'unused except in loc' errors
|
|
}
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2000.c
|
|
trigger = {
|
|
employs_court_position = court_artificer_court_position
|
|
}
|
|
custom_tooltip = bp2_yearly.2000.c.tt
|
|
remove_short_term_gold = medium_gold_value
|
|
trigger_event = {
|
|
id = bp2_yearly.2002
|
|
days = { 7 21 }
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2000.d
|
|
ai_chance = {
|
|
base = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
# Artifact follow-up
|
|
bp2_yearly.2002 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2000.t
|
|
desc = bp2_yearly.2002.desc
|
|
theme = education
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = admiration
|
|
}
|
|
right_portrait = {
|
|
character = scope:artificer
|
|
animation = personality_honorable
|
|
}
|
|
artifact = {
|
|
target = scope:newly_created_artifact
|
|
position = lower_center_portrait
|
|
}
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
random_list = {
|
|
1 = { # Ring
|
|
create_artifact_ring_effect = {
|
|
OWNER = root
|
|
SMITH = scope:artificer
|
|
}
|
|
if = {
|
|
limit = { exists = scope:newly_created_artifact }
|
|
scope:newly_created_artifact = {
|
|
set_artifact_name = house_founder_ring_name
|
|
set_artifact_description = house_founder_ring_desc
|
|
}
|
|
}
|
|
}
|
|
1 = { # Necklace
|
|
create_artifact_necklace_effect = {
|
|
OWNER = root
|
|
SMITH = scope:artificer
|
|
}
|
|
if = {
|
|
limit = { exists = scope:newly_created_artifact }
|
|
scope:newly_created_artifact = {
|
|
set_artifact_name = house_founder_necklace_name
|
|
set_artifact_description = house_founder_necklace_desc
|
|
}
|
|
}
|
|
}
|
|
1 = { # Brooch
|
|
create_artifact_brooch_effect = {
|
|
OWNER = root
|
|
SMITH = scope:artificer
|
|
}
|
|
if = {
|
|
limit = { exists = scope:newly_created_artifact }
|
|
scope:newly_created_artifact = {
|
|
set_artifact_name = house_founder_brooch_name
|
|
set_artifact_description = house_founder_brooch_desc
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2002.a
|
|
show_as_tooltip = {
|
|
scope:newly_created_artifact = { set_owner = root }
|
|
}
|
|
}
|
|
}
|
|
|
|
# Imaginary Friend - Story Cycle Start
|
|
bp2_yearly.2010 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2010.t
|
|
desc = {
|
|
desc = bp2_yearly.2010.desc
|
|
random_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
OR = {
|
|
mother ?= { is_ruler = yes }
|
|
father ?= { is_ruler = yes }
|
|
}
|
|
}
|
|
desc = bp2_yearly.2010.desc.landed
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
mother ?= { is_alive = no }
|
|
father ?= { is_alive = no }
|
|
}
|
|
desc = bp2_yearly.2010.desc.parents_dead
|
|
}
|
|
}
|
|
desc = bp2_yearly.2010.outro
|
|
}
|
|
theme = friend_relation
|
|
override_background = { reference = bp2_nursery }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = shock
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = crying
|
|
hide_info = yes
|
|
}
|
|
|
|
trigger = {
|
|
is_ai = no
|
|
is_landed = yes
|
|
has_bp2_dlc_trigger = yes
|
|
is_available_child = yes
|
|
age >= 6
|
|
age <= 12
|
|
NOT = {
|
|
any_owned_story = {
|
|
type = story_cycle_imaginary_friend
|
|
}
|
|
}
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
factor = 4
|
|
has_trait = eccentric
|
|
}
|
|
|
|
modifier = {
|
|
factor = 2
|
|
any_parent = {
|
|
even_if_dead = yes
|
|
has_trait = eccentric
|
|
}
|
|
}
|
|
modifier = {
|
|
factor = 2
|
|
any_relation = {
|
|
type = guardian
|
|
has_trait = eccentric
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
immediate = {
|
|
create_character = {
|
|
template = bp2_imaginary_friend_template
|
|
dynasty = none
|
|
location = root.location
|
|
save_scope_as = imaginary_friend
|
|
}
|
|
|
|
set_variable = {
|
|
name = imaginary_friend_char
|
|
value = scope:imaginary_friend
|
|
}
|
|
|
|
create_story = story_cycle_imaginary_friend
|
|
set_favorite_toy_effect = yes
|
|
|
|
# Pick three random culture names - sorry for this being a bit cursed
|
|
root.faith = {
|
|
random_faith_character = {
|
|
limit = {
|
|
culture = root.culture
|
|
trigger_if = {
|
|
limit = { root = { is_female = yes } }
|
|
is_male = yes
|
|
}
|
|
trigger_if = {
|
|
limit = { root = { is_female = no } }
|
|
is_female = yes
|
|
}
|
|
}
|
|
save_scope_as = name_option_1
|
|
}
|
|
random_faith_character = {
|
|
limit = {
|
|
culture = root.culture
|
|
this != scope:name_option_1
|
|
trigger_if = {
|
|
limit = { root = { is_female = yes } }
|
|
is_male = yes
|
|
}
|
|
trigger_if = {
|
|
limit = { root = { is_female = no } }
|
|
is_female = yes
|
|
}
|
|
}
|
|
save_scope_as = name_option_2
|
|
}
|
|
random_faith_character = {
|
|
limit = {
|
|
culture = root.culture
|
|
NOR = {
|
|
this = scope:name_option_1
|
|
this = scope:name_option_2
|
|
}
|
|
trigger_if = {
|
|
limit = { root = { is_female = yes } }
|
|
is_male = yes
|
|
}
|
|
trigger_if = {
|
|
limit = { root = { is_female = no } }
|
|
is_female = yes
|
|
}
|
|
}
|
|
save_scope_as = name_option_3
|
|
}
|
|
}
|
|
|
|
# for loc
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
mother ?= {
|
|
is_ruler = yes
|
|
}
|
|
father ?= { is_ruler = yes }
|
|
}
|
|
}
|
|
if = {
|
|
limit = { mother ?= { is_ruler = yes } }
|
|
mother ?= { save_scope_as = ruler_parent }
|
|
}
|
|
else = {
|
|
father ?= { save_scope_as = ruler_parent }
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2010.a
|
|
set_variable = {
|
|
name = imaginary_friend_name
|
|
value = scope:name_option_1
|
|
}
|
|
random_owned_story = {
|
|
type = story_cycle_imaginary_friend
|
|
set_variable = {
|
|
name = imaginary_friend_name
|
|
value = scope:name_option_1
|
|
}
|
|
}
|
|
create_character_memory = {
|
|
type = imaginary_friend_gained_memory
|
|
duration = { years = memory_default_duration }
|
|
}
|
|
random_memory = {
|
|
memory_type = imaginary_friend_gained_memory
|
|
set_variable = {
|
|
name = imaginary_friend_name
|
|
value = scope:name_option_1
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2010.b
|
|
set_variable = {
|
|
name = imaginary_friend_name
|
|
value = scope:name_option_2
|
|
}
|
|
random_owned_story = {
|
|
type = story_cycle_imaginary_friend
|
|
set_variable = {
|
|
name = imaginary_friend_name
|
|
value = scope:name_option_2
|
|
}
|
|
}
|
|
create_character_memory = {
|
|
type = imaginary_friend_gained_memory
|
|
duration = { years = memory_default_duration }
|
|
}
|
|
random_memory = {
|
|
memory_type = imaginary_friend_gained_memory
|
|
set_variable = {
|
|
name = imaginary_friend_name
|
|
value = scope:name_option_2
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2010.c
|
|
set_variable = {
|
|
name = imaginary_friend_name
|
|
value = scope:name_option_3
|
|
}
|
|
random_owned_story = {
|
|
type = story_cycle_imaginary_friend
|
|
set_variable = {
|
|
name = imaginary_friend_name
|
|
value = scope:name_option_3
|
|
}
|
|
}
|
|
create_character_memory = {
|
|
type = imaginary_friend_gained_memory
|
|
duration = { years = memory_default_duration }
|
|
}
|
|
random_memory = {
|
|
memory_type = imaginary_friend_gained_memory
|
|
set_variable = {
|
|
name = imaginary_friend_name
|
|
value = scope:name_option_3
|
|
}
|
|
}
|
|
}
|
|
|
|
after = {
|
|
send_interface_toast = {
|
|
title = gained_imaginary_friend
|
|
left_icon = root
|
|
}
|
|
scope:imaginary_friend = {
|
|
silent_disappearance_effect = yes
|
|
}
|
|
add_character_modifier = {
|
|
modifier = imaginary_friend_modifier
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_effect necromance_imaginary_friend_character_effect = {
|
|
create_character = {
|
|
template = bp2_imaginary_friend_template
|
|
dynasty = none
|
|
location = root.location
|
|
save_scope_as = imaginary_friend
|
|
}
|
|
}
|
|
|
|
scripted_effect increase_progress_to_eccentricity_effect = {
|
|
random_owned_story = {
|
|
type = story_cycle_imaginary_friend
|
|
change_variable = {
|
|
name = progress_to_eccentric_trait
|
|
add = $VALUE$
|
|
}
|
|
}
|
|
if = {
|
|
limit = { $VALUE$ <= 2 }
|
|
custom_tooltip = imaginary_friend_increase_relationship
|
|
}
|
|
else_if = {
|
|
limit = { $VALUE$ >= 3 }
|
|
custom_tooltip = imaginary_friend_significantly_increase_relationship
|
|
}
|
|
}
|
|
|
|
scripted_effect decrease_progress_to_eccentricity_effect = {
|
|
random_owned_story = {
|
|
type = story_cycle_imaginary_friend
|
|
change_variable = {
|
|
name = progress_to_eccentric_trait
|
|
subtract = $VALUE$
|
|
}
|
|
}
|
|
custom_tooltip = imaginary_friend_decrease_relationship
|
|
}
|
|
|
|
# You try to play with your imaginary friend at a playdate
|
|
bp2_yearly.2011 = {
|
|
type = activity_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2011.t
|
|
desc = bp2_yearly.2011.desc
|
|
theme = playdate_activity
|
|
override_background = { reference = bp2_nursery }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = anger
|
|
}
|
|
center_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = worry
|
|
hide_info = yes
|
|
}
|
|
right_portrait = {
|
|
character = scope:participant
|
|
animation = schadenfreude
|
|
}
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
any_owned_story = {
|
|
type = story_cycle_imaginary_friend
|
|
}
|
|
NOT = { has_character_flag = had_event_bp2_yearly_2011 }
|
|
}
|
|
|
|
immediate = {
|
|
add_character_flag = had_event_bp2_yearly_2011
|
|
|
|
# Revive a character to show as your imaginary friend
|
|
necromance_imaginary_friend_character_effect = yes
|
|
|
|
# Pick out a fitting activity guest to bully you
|
|
involved_activity = {
|
|
ordered_attending_character = {
|
|
limit = {
|
|
this != root
|
|
is_ai = yes
|
|
}
|
|
order_by = {
|
|
value = age
|
|
if = { # Childhood traits
|
|
limit = {
|
|
OR = {
|
|
has_trait = rowdy
|
|
has_trait = bossy
|
|
}
|
|
}
|
|
add = 10
|
|
}
|
|
if = { # They or their parent have a higher title than you
|
|
limit = {
|
|
root = { is_landed = yes }
|
|
OR = {
|
|
AND = {
|
|
exists = highest_held_title_tier
|
|
highest_held_title_tier > root.highest_held_title_tier
|
|
}
|
|
AND = {
|
|
exists = mother.highest_held_title_tier
|
|
mother.highest_held_title_tier > root.highest_held_title_tier
|
|
}
|
|
AND = {
|
|
exists = father.highest_held_title_tier
|
|
father.highest_held_title_tier > root.highest_held_title_tier
|
|
}
|
|
}
|
|
}
|
|
add = 50
|
|
}
|
|
else_if = { # They or their parent have a higher title than your dad
|
|
limit = {
|
|
root = { is_landed = no }
|
|
root.father = { is_landed = yes }
|
|
OR = {
|
|
AND = {
|
|
exists = highest_held_title_tier
|
|
highest_held_title_tier > root.father.highest_held_title_tier
|
|
}
|
|
AND = {
|
|
exists = mother.highest_held_title_tier
|
|
mother.highest_held_title_tier > root.father.highest_held_title_tier
|
|
}
|
|
AND = {
|
|
exists = father.highest_held_title_tier
|
|
father.highest_held_title_tier > root.father.highest_held_title_tier
|
|
}
|
|
}
|
|
}
|
|
add = 50
|
|
}
|
|
else_if = { # They or their parent have a higher title than your mom
|
|
limit = {
|
|
root = { is_landed = no }
|
|
root.mother = { is_landed = yes }
|
|
OR = {
|
|
AND = {
|
|
exists = highest_held_title_tier
|
|
highest_held_title_tier > root.mother.highest_held_title_tier
|
|
}
|
|
AND = {
|
|
exists = mother.highest_held_title_tier
|
|
mother.highest_held_title_tier > root.mother.highest_held_title_tier
|
|
}
|
|
AND = {
|
|
exists = father.highest_held_title_tier
|
|
father.highest_held_title_tier > root.mother.highest_held_title_tier
|
|
}
|
|
}
|
|
}
|
|
add = 50
|
|
}
|
|
}
|
|
save_scope_as = participant
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2011.a
|
|
increase_progress_to_eccentricity_effect = { VALUE = 3 }
|
|
stress_impact = {
|
|
pensive = miniscule_stress_impact_gain
|
|
rowdy = minor_stress_impact_loss
|
|
bossy = miniscule_stress_impact_loss
|
|
}
|
|
send_interface_toast = {
|
|
title = bp2_yearly.2011.bully.toast
|
|
left_icon = root
|
|
right_icon = scope:participant
|
|
set_relation_bully = {
|
|
target = scope:participant
|
|
reason = bully_childhood_imaginary_friend
|
|
}
|
|
}
|
|
create_character_memory = {
|
|
type = tormented_me_during_childhood
|
|
participants = {
|
|
tormentor = scope:participant
|
|
}
|
|
}
|
|
scope:participant = {
|
|
create_character_memory = {
|
|
type = childhood_started_bullying_positive
|
|
participants = {
|
|
victim = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2011.b
|
|
increase_progress_to_eccentricity_effect = { VALUE = 1 }
|
|
add_prestige = miniscule_prestige_loss
|
|
stress_impact = {
|
|
rowdy = minor_stress_impact_loss
|
|
bossy = miniscule_stress_impact_loss
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2011.c
|
|
# Rejected existence of Imaginary Friend
|
|
decrease_progress_to_eccentricity_effect = { VALUE = 5 }
|
|
stress_impact = {
|
|
pensive = miniscule_stress_impact_loss
|
|
bossy = miniscule_stress_impact_gain
|
|
rowdy = miniscule_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
after = {
|
|
scope:imaginary_friend = { silent_disappearance_effect = yes }
|
|
}
|
|
}
|
|
|
|
# Regent Shenanigans
|
|
bp2_yearly.2012 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2012.t
|
|
desc = bp2_yearly.2012.desc
|
|
theme = friend_relation
|
|
override_background = { reference = courtyard }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = anger
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = thinking
|
|
hide_info = yes
|
|
}
|
|
lower_center_portrait = scope:regent_scope
|
|
|
|
cooldown = { years = 10 }
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
number_of_personality_traits < personality_trait_limit
|
|
has_active_diarchy = yes
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
has_trait = rowdy
|
|
add = 1
|
|
}
|
|
modifier = {
|
|
is_ai = yes
|
|
factor = 0.1
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
# Revive a character to show as your imaginary friend
|
|
necromance_imaginary_friend_character_effect = yes
|
|
diarch = { save_scope_as = regent_scope }
|
|
}
|
|
|
|
option = { # Gregarious
|
|
name = bp2_yearly.2012.a
|
|
if = {
|
|
limit = {
|
|
NOR = {
|
|
has_trait = gregarious
|
|
has_trait = shy
|
|
}
|
|
}
|
|
add_trait = gregarious
|
|
}
|
|
duel = {
|
|
skill = diplomacy
|
|
target = scope:regent_scope
|
|
# Victory!
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
desc = bp2_yearly.2012.a.success
|
|
send_interface_toast = {
|
|
title = bp2_yearly.2012.a.success
|
|
left_icon = root
|
|
right_icon = scope:regent_scope
|
|
change_diarchy_swing = medium_sop_swing_liege_gain
|
|
scope:regent_scope = {
|
|
add_prestige = minor_prestige_loss
|
|
}
|
|
}
|
|
}
|
|
# Defeat!
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
desc = bp2_yearly.2012.a.failure
|
|
send_interface_toast = {
|
|
title = bp2_yearly.2012.a.failure
|
|
left_icon = root
|
|
right_icon = scope:regent_scope
|
|
|
|
scope:regent_scope = {
|
|
add_prestige = major_prestige_gain
|
|
}
|
|
}
|
|
}
|
|
}
|
|
increase_progress_to_eccentricity_effect = { VALUE = 1 }
|
|
}
|
|
|
|
option = { # Deceitful
|
|
name = bp2_yearly.2012.b
|
|
trigger = {
|
|
NOR = {
|
|
has_trait = deceitful
|
|
has_trait = trusting
|
|
}
|
|
}
|
|
add_trait = deceitful
|
|
|
|
duel = {
|
|
skill = intrigue
|
|
value = low_skill_rating
|
|
# Victory!
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
desc = bp2_yearly.2012.b.success
|
|
send_interface_toast = {
|
|
title = bp2_yearly.2012.b.success
|
|
left_icon = root
|
|
right_icon = scope:regent_scope
|
|
change_diarchy_swing = medium_sop_swing_liege_gain
|
|
scope:regent_scope = {
|
|
add_prestige = minor_prestige_loss
|
|
}
|
|
}
|
|
}
|
|
# Defeat!
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
desc = bp2_yearly.2012.b.failure
|
|
send_interface_toast = {
|
|
title = bp2_yearly.2012.b.failure
|
|
left_icon = root
|
|
right_icon = scope:regent_scope
|
|
|
|
scope:regent_scope = {
|
|
add_opinion = {
|
|
target = root
|
|
modifier = hate_opinion
|
|
opinion = -20
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
increase_progress_to_eccentricity_effect = { VALUE = 2 }
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2012.c
|
|
decrease_progress_to_eccentricity_effect = { VALUE = 1 }
|
|
|
|
ai_chance = { # We want the AI to choose this so traits aren't imbalanced
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
after = {
|
|
scope:imaginary_friend = { silent_disappearance_effect = yes }
|
|
}
|
|
}
|
|
|
|
# Chance to lose/change a personality trait
|
|
bp2_yearly.2013 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2013.t
|
|
desc = bp2_yearly.2013.desc
|
|
theme = friend_relation
|
|
override_background = { reference = garden }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = thinking
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = disapproval
|
|
hide_info = yes
|
|
}
|
|
|
|
cooldown = { years = 16 }
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
is_ai = no # the ai doesn't need this event
|
|
is_available_child = yes
|
|
number_of_personality_traits >= 1
|
|
}
|
|
|
|
immediate = {
|
|
# Revive a character to show as your imaginary friend
|
|
necromance_imaginary_friend_character_effect = yes
|
|
# Pick a trait to target
|
|
random_character_trait = {
|
|
limit = { has_trait_category = personality }
|
|
save_scope_as = target_trait
|
|
}
|
|
scope:target_trait = {
|
|
random_opposite_trait = {
|
|
save_scope_as = opposite_trait
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Keep the trait
|
|
name = bp2_yearly.2013.a
|
|
decrease_progress_to_eccentricity_effect = { VALUE = 1 }
|
|
}
|
|
|
|
option = { # Lose the trait
|
|
name = bp2_yearly.2013.b
|
|
increase_progress_to_eccentricity_effect = { VALUE = 1 }
|
|
remove_trait = scope:target_trait
|
|
}
|
|
|
|
option = { # Trade the trait
|
|
name = bp2_yearly.2013.c
|
|
increase_progress_to_eccentricity_effect = { VALUE = 2 }
|
|
remove_trait = scope:target_trait
|
|
add_trait_force_tooltip = scope:opposite_trait
|
|
}
|
|
|
|
after = {
|
|
scope:imaginary_friend = { silent_disappearance_effect = yes }
|
|
}
|
|
}
|
|
|
|
# Imaginary Friend inspires you to pursue a crush
|
|
bp2_yearly.2014 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2014.t
|
|
desc = bp2_yearly.2014.desc
|
|
theme = friend_relation
|
|
override_background = { reference = garden }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = admiration
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = flirtation
|
|
hide_info = yes
|
|
}
|
|
lower_center_portrait = scope:crush
|
|
|
|
cooldown = { years = 16 }
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
is_available_child = yes
|
|
age >= 10
|
|
num_of_relation_crush <= 0
|
|
NOT = {
|
|
has_trait = chaste
|
|
}
|
|
OR = {
|
|
has_sexuality = heterosexual
|
|
has_sexuality = bisexual
|
|
has_sexuality = homosexual
|
|
}
|
|
# Ensure we have a character to crush on
|
|
OR = {
|
|
any_vassal = {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
any_vassal = {
|
|
any_child = {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
}
|
|
any_courtier_or_guest = {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
AND = {
|
|
top_liege != this
|
|
liege ?= {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
}
|
|
AND = {
|
|
top_liege != this
|
|
liege ?= {
|
|
any_vassal = {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
}
|
|
}
|
|
AND = {
|
|
top_liege != this
|
|
liege ?= {
|
|
any_vassal = {
|
|
any_child = {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
AND = {
|
|
top_liege != this
|
|
liege ?= {
|
|
any_courtier_or_guest = {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
has_trait = charming
|
|
add = 1
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_music_cue = "mx_cue_touching_moment"
|
|
# Revive a character to show as your imaginary friend
|
|
necromance_imaginary_friend_character_effect = yes
|
|
# Pick someone to crush on
|
|
every_vassal = {
|
|
limit = {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
add_to_list = crushes
|
|
}
|
|
every_vassal = {
|
|
every_child = {
|
|
limit = {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
add_to_list = crushes
|
|
}
|
|
}
|
|
every_courtier_or_guest = {
|
|
limit = {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
add_to_list = crushes
|
|
}
|
|
if = {
|
|
limit = {
|
|
top_liege != this
|
|
liege ?= {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
}
|
|
liege = {
|
|
add_to_list = crushes
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
top_liege != this
|
|
liege ?= {
|
|
any_vassal = {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
}
|
|
}
|
|
liege = {
|
|
every_vassal = {
|
|
limit = {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
add_to_list = crushes
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
top_liege != this
|
|
liege ?= {
|
|
any_vassal = {
|
|
any_child = {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
liege = {
|
|
every_vassal = {
|
|
every_child = {
|
|
limit = {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
add_to_list = crushes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
top_liege != this
|
|
liege ?= {
|
|
any_courtier_or_guest = {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
}
|
|
}
|
|
liege = {
|
|
every_courtier_or_guest = {
|
|
limit = {
|
|
save_good_crush_character_trigger_check = yes
|
|
}
|
|
add_to_list = crushes
|
|
}
|
|
}
|
|
}
|
|
|
|
random_in_list = {
|
|
list = crushes
|
|
weight = {
|
|
base = 1
|
|
modifier = {
|
|
add = 10
|
|
top_liege != this
|
|
exists = liege
|
|
is_primary_heir_of = liege
|
|
}
|
|
modifier = {
|
|
add = 5
|
|
top_liege != this
|
|
exists = liege
|
|
is_heir_of = liege
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
any_parent = {
|
|
is_powerful_vassal_of = root
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 5
|
|
any_parent = {
|
|
is_vassal_of = root
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
is_of_major_interest_to_root_trigger = yes
|
|
}
|
|
modifier = {
|
|
add = 5
|
|
is_of_minor_interest_to_root_trigger = yes
|
|
}
|
|
}
|
|
save_scope_as = crush
|
|
}
|
|
}
|
|
|
|
option = { # Raunchy Advance
|
|
name = bp2_yearly.2014.a
|
|
increase_progress_to_eccentricity_effect = { VALUE = 2 }
|
|
if = { # Add lustful if we can
|
|
limit = {
|
|
number_of_personality_traits < 4
|
|
NOT = { has_trait = lustful }
|
|
}
|
|
add_trait = lustful
|
|
}
|
|
set_relation_crush = scope:crush
|
|
# Determine if they return the crush
|
|
random_list = {
|
|
50 = {
|
|
send_interface_toast = {
|
|
title = bp2_yearly.2014.a.success
|
|
left_icon = root
|
|
right_icon = scope:crush
|
|
scope:crush = { set_relation_crush = root }
|
|
}
|
|
modifier = {
|
|
has_trait = charming
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
has_trait = lustful
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
has_trait = gregarious
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
has_trait = shy
|
|
add = -20
|
|
}
|
|
modifier = {
|
|
has_trait = chaste
|
|
add = -30
|
|
}
|
|
modifier = {
|
|
has_trait = temperate
|
|
add = -10
|
|
}
|
|
}
|
|
50 = {}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 20
|
|
modifier = {
|
|
has_trait = lustful
|
|
factor = 3
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
shy = medium_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
option = { # Charming Advance
|
|
name = bp2_yearly.2014.b
|
|
increase_progress_to_eccentricity_effect = { VALUE = 1 }
|
|
set_relation_crush = scope:crush
|
|
# Determine if they return the crush
|
|
random_list = {
|
|
50 = {
|
|
send_interface_toast = {
|
|
title = bp2_yearly.2014.a.success
|
|
left_icon = root
|
|
right_icon = scope:crush
|
|
scope:crush = { set_relation_crush = root }
|
|
}
|
|
modifier = {
|
|
has_trait = charming
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
has_trait = lustful
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
has_trait = gregarious
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
has_trait = shy
|
|
add = -10
|
|
}
|
|
}
|
|
50 = {}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
modifier = {
|
|
has_trait = charming
|
|
factor = 2
|
|
}
|
|
modifier = {
|
|
has_trait = lustful
|
|
factor = 0
|
|
}
|
|
}
|
|
stress_impact = {
|
|
lustful = minor_stress_impact_gain
|
|
charming = minor_stress_impact_loss
|
|
}
|
|
}
|
|
|
|
option = { # I'm more interested in #EMP you#!
|
|
name = bp2_yearly.2014.c
|
|
increase_progress_to_eccentricity_effect = { VALUE = 3 }
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
}
|
|
|
|
option = { # Aw you're too afraid of love?
|
|
name = bp2_yearly.2014.d
|
|
decrease_progress_to_eccentricity_effect = { VALUE = 1 }
|
|
if = {
|
|
limit = {
|
|
scope:crush = {
|
|
is_ai = yes
|
|
}
|
|
}
|
|
progress_towards_friend_effect = {
|
|
CHARACTER = scope:crush
|
|
OPINION = 10
|
|
REASON = friend_childhood_friendzoned
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 20
|
|
modifier = {
|
|
OR = {
|
|
has_trait = lustful
|
|
has_trait = charming
|
|
}
|
|
factor = 0
|
|
}
|
|
}
|
|
stress_impact = {
|
|
lustful = minor_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
after = {
|
|
scope:imaginary_friend = { silent_disappearance_effect = yes }
|
|
}
|
|
}
|
|
|
|
# Imaginary friend inspires you to fight back against your bully
|
|
bp2_yearly.2015 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2015.t
|
|
desc = bp2_yearly.2015.desc
|
|
theme = friend_relation
|
|
override_background = { reference = bp2_nursery }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = sadness
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = worry
|
|
hide_info = yes
|
|
}
|
|
lower_center_portrait = scope:bully
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
is_ai = no
|
|
is_available_child = yes
|
|
# make sure they have a bully
|
|
any_relation = { type = bully }
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
any_relation = { type = bully }
|
|
add = 2
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
# Revive a character to show as your imaginary friend
|
|
necromance_imaginary_friend_character_effect = yes
|
|
# Save the bully
|
|
random_relation = {
|
|
type = bully
|
|
save_scope_as = bully
|
|
set_favorite_toy_effect = yes
|
|
}
|
|
}
|
|
|
|
option = { # Fight them
|
|
name = bp2_yearly.2015.a
|
|
if = {
|
|
limit = { has_trait = craven }
|
|
remove_trait = craven
|
|
add_trait_force_tooltip = brave
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
number_of_personality_traits < 4
|
|
NOR = {
|
|
has_trait = brave
|
|
any_character_trait = {
|
|
any_opposite_trait = {
|
|
this = trait:brave
|
|
}
|
|
}
|
|
}
|
|
}
|
|
add_trait = brave
|
|
}
|
|
|
|
duel = {
|
|
skill = prowess
|
|
target = scope:bully
|
|
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = 50
|
|
}
|
|
desc = bp2_yearly.2015.a.success
|
|
send_interface_toast = {
|
|
title = bp2_yearly.2015.a.success
|
|
left_icon = root
|
|
right_icon = scope:bully
|
|
add_prowess_skill = 1
|
|
remove_relation_bully = scope:bully
|
|
increase_progress_to_eccentricity_effect = { VALUE = 3 }
|
|
}
|
|
}
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
desc = bp2_yearly.2015.a.failure
|
|
send_interface_toast = {
|
|
title = bp2_yearly.2015.a.failure
|
|
left_icon = root
|
|
right_icon = scope:bully
|
|
add_prestige = minor_prestige_loss
|
|
increase_progress_to_eccentricity_effect = { VALUE = 1 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Spread an embarrasing rumor
|
|
name = bp2_yearly.2015.b
|
|
|
|
if = {
|
|
limit = {
|
|
number_of_personality_traits < 4
|
|
NOR = {
|
|
has_trait = vengeful
|
|
any_character_trait = {
|
|
any_opposite_trait = {
|
|
this = trait:vengeful
|
|
}
|
|
}
|
|
}
|
|
}
|
|
add_trait = vengeful
|
|
}
|
|
|
|
duel = {
|
|
skill = intrigue
|
|
target = scope:bully
|
|
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = 50
|
|
}
|
|
desc = bp2_yearly.2015.b.success
|
|
send_interface_toast = {
|
|
title = bp2_yearly.2015.b.success
|
|
left_icon = root
|
|
right_icon = scope:bully
|
|
add_intrigue_skill = 1
|
|
remove_relation_bully = scope:bully
|
|
increase_progress_to_eccentricity_effect = { VALUE = 3 }
|
|
}
|
|
}
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
desc = bp2_yearly.2015.b.failure
|
|
send_interface_toast = {
|
|
title = bp2_yearly.2015.b.failure
|
|
left_icon = root
|
|
right_icon = scope:bully
|
|
add_prestige = minor_prestige_loss
|
|
increase_progress_to_eccentricity_effect = { VALUE = 1 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Run away and cry in your room
|
|
name = bp2_yearly.2015.c
|
|
if = {
|
|
limit = { has_trait = brave }
|
|
remove_trait = brave
|
|
add_trait_force_tooltip = craven
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
number_of_personality_traits < 4
|
|
NOR = {
|
|
has_trait = craven
|
|
any_character_trait = {
|
|
any_opposite_trait = {
|
|
this = trait:craven
|
|
}
|
|
}
|
|
}
|
|
}
|
|
add_trait = craven
|
|
}
|
|
decrease_progress_to_eccentricity_effect = { VALUE = 2 }
|
|
}
|
|
|
|
after = {
|
|
scope:imaginary_friend = { silent_disappearance_effect = yes }
|
|
}
|
|
}
|
|
|
|
# Imaginary Friend invites you to pick flowers and make flower crowns
|
|
bp2_yearly.2016 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2016.t
|
|
desc = bp2_yearly.2016.desc
|
|
theme = friend_relation
|
|
override_background = { reference = garden }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = happiness
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = admiration
|
|
hide_info = yes
|
|
}
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
is_available_child = yes
|
|
number_of_personality_traits < 3
|
|
}
|
|
|
|
cooldown = { years = 15 }
|
|
|
|
immediate = {
|
|
# Revive a character to show as your imaginary friend
|
|
necromance_imaginary_friend_character_effect = yes
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2016.a
|
|
if = {
|
|
limit = {
|
|
NOR = {
|
|
has_trait = compassionate
|
|
any_character_trait = {
|
|
any_opposite_trait = {
|
|
this = trait:compassionate
|
|
}
|
|
}
|
|
}
|
|
}
|
|
add_trait = compassionate
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
NOR = {
|
|
has_trait = calm
|
|
any_character_trait = {
|
|
any_opposite_trait = {
|
|
this = trait:calm
|
|
}
|
|
}
|
|
}
|
|
}
|
|
add_trait = calm
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
NOR = {
|
|
has_trait = content
|
|
any_character_trait = {
|
|
any_opposite_trait = {
|
|
this = trait:content
|
|
}
|
|
}
|
|
}
|
|
}
|
|
add_trait = content
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
NOR = {
|
|
has_trait = humble
|
|
any_character_trait = {
|
|
any_opposite_trait = {
|
|
this = trait:humble
|
|
}
|
|
}
|
|
}
|
|
}
|
|
add_trait = humble
|
|
}
|
|
|
|
increase_progress_to_eccentricity_effect = { VALUE = 1 }
|
|
|
|
stress_impact = {
|
|
base = medium_stress_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2016.b
|
|
add_dread = minor_dread_gain
|
|
decrease_progress_to_eccentricity_effect = { VALUE = 1 }
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
modifier = {
|
|
OR = {
|
|
has_trait = rowdy
|
|
has_trait = pensive
|
|
has_trait = callous
|
|
has_trait = sadistic
|
|
}
|
|
add = 30
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
pensive = minor_stress_impact_loss
|
|
rowdy = minor_stress_impact_loss
|
|
charming = minor_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
after = {
|
|
scope:imaginary_friend = { silent_disappearance_effect = yes }
|
|
}
|
|
}
|
|
|
|
# If you are bookish in any way, your imaginary friend encourages you to stay up and study all the books
|
|
bp2_yearly.2017 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2017.t
|
|
desc = bp2_yearly.2017.desc
|
|
theme = friend_relation
|
|
override_background = { reference = study }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = reading
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = reading
|
|
hide_info = yes
|
|
}
|
|
|
|
cooldown = { years = 16 }
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
# We don't need a ton of smart or healthy ais running 'round
|
|
modifier = {
|
|
is_ai = yes
|
|
factor = 0
|
|
}
|
|
}
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
OR = { # Are they a nerd?
|
|
has_focus = education_learning
|
|
has_trait = shrewd
|
|
has_trait = pensive
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
necromance_imaginary_friend_character_effect = yes
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2017.a
|
|
if = { # increase learning education if you have it
|
|
limit = { has_focus = education_learning }
|
|
custom_tooltip = bp2_yearly.2017.a.tt
|
|
education_point_acquisition_additional_points_effect = { LEVEL = mid }
|
|
}
|
|
if = { # chance to gain the shrewd trait
|
|
limit = { NOT = { has_trait = shrewd } }
|
|
random = {
|
|
chance = 30
|
|
add_trait = shrewd
|
|
}
|
|
}
|
|
increase_progress_to_eccentricity_effect = { VALUE = 1 }
|
|
|
|
|
|
stress_impact = {
|
|
pensive = minor_stress_impact_loss
|
|
shrewd = minor_stress_impact_loss
|
|
rowdy = minor_stress_impact_gain
|
|
curious = minor_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2017.b
|
|
if = { # increase martial education if you have it
|
|
limit = { has_focus = education_martial }
|
|
custom_tooltip = bp2_yearly.2017.b.tt
|
|
education_point_acquisition_additional_points_effect = { LEVEL = mid }
|
|
}
|
|
if = { # chance to gain the athletic trait
|
|
limit = { NOT = { has_trait = athletic } }
|
|
random = {
|
|
chance = 50
|
|
add_trait = athletic
|
|
}
|
|
}
|
|
decrease_progress_to_eccentricity_effect = { VALUE = 1 }
|
|
|
|
stress_impact = {
|
|
pensive = minor_stress_impact_gain
|
|
shrewd = minor_stress_impact_gain
|
|
rowdy = minor_stress_impact_loss
|
|
curious = minor_stress_impact_loss
|
|
}
|
|
}
|
|
|
|
after = {
|
|
scope:imaginary_friend = { silent_disappearance_effect = yes }
|
|
}
|
|
}
|
|
|
|
# Chance to get the confider or poet trait
|
|
bp2_yearly.2018 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2018.t
|
|
desc = bp2_yearly.2018.desc
|
|
theme = friend_relation
|
|
override_background = { reference = relaxing_room }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = worry
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = admiration
|
|
hide_info = yes
|
|
}
|
|
|
|
cooldown = { years = 16 }
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
NAND = {
|
|
has_trait = confider
|
|
has_trait = lifestyle_poet
|
|
}
|
|
stress >= normal_baseline_stress
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
# We don't need a ton of ai poets and confiders running 'round
|
|
modifier = {
|
|
is_ai = yes
|
|
factor = 0
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
necromance_imaginary_friend_character_effect = yes
|
|
}
|
|
|
|
option = { # Channel your stress into the confider trait
|
|
name = bp2_yearly.2018.a
|
|
trigger = { NOT = { has_trait = confider } }
|
|
add_trait = confider
|
|
increase_progress_to_eccentricity_effect = { VALUE = 3 }
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
}
|
|
}
|
|
|
|
option = { # Channel your stress into the poet trait
|
|
name = bp2_yearly.2018.b
|
|
trigger = { NOT = { has_trait = lifestyle_poet } }
|
|
add_trait = lifestyle_poet
|
|
increase_progress_to_eccentricity_effect = { VALUE = 1 }
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
}
|
|
}
|
|
|
|
option = { # opt out
|
|
name = bp2_yearly.2018.c
|
|
if = { # increase martial education if you have it
|
|
limit = { has_focus = education_martial }
|
|
education_point_acquisition_additional_points_effect = { LEVEL = mid }
|
|
}
|
|
add_prowess_skill = 1
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
}
|
|
decrease_progress_to_eccentricity_effect = { VALUE = 1 }
|
|
|
|
stress_impact = {
|
|
pensive = minor_stress_impact_gain
|
|
shrewd = minor_stress_impact_gain
|
|
rowdy = minor_stress_impact_loss
|
|
curious = minor_stress_impact_loss
|
|
}
|
|
}
|
|
|
|
after = {
|
|
scope:imaginary_friend = { silent_disappearance_effect = yes }
|
|
}
|
|
}
|
|
|
|
# Chance to gain the Eccentric Trait
|
|
bp2_yearly.2019 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2019.t
|
|
desc = {
|
|
desc = bp2_yearly.2019.desc.intro
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
is_landed = yes
|
|
scope:target_councilor = cp:councillor_court_chaplain
|
|
}
|
|
desc = bp2_yearly.2019.desc.chaplain
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:target_councilor = cp:councillor_court_chaplain }
|
|
desc = bp2_yearly.2019.desc.chaplain_unlanded
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
is_landed = yes
|
|
scope:target_councilor = cp:councillor_steward
|
|
}
|
|
desc = bp2_yearly.2019.desc.steward
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:target_councilor = cp:councillor_steward }
|
|
desc = bp2_yearly.2019.desc.steward_unlanded
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
is_landed = yes
|
|
scope:target_councilor = cp:councillor_marshal
|
|
}
|
|
desc = bp2_yearly.2019.desc.marshal
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:target_councilor = cp:councillor_marshal }
|
|
desc = bp2_yearly.2019.desc.marshal_unlanded
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
is_landed = yes
|
|
scope:target_councilor = cp:councillor_spymaster
|
|
}
|
|
desc = bp2_yearly.2019.desc.spymaster
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:target_councilor = cp:councillor_spymaster }
|
|
desc = bp2_yearly.2019.desc.spymaster_unlanded
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
is_landed = yes
|
|
scope:target_councilor = cp:councillor_chancellor
|
|
}
|
|
desc = bp2_yearly.2019.desc.chancellor
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:target_councilor = cp:councillor_chancellor }
|
|
desc = bp2_yearly.2019.desc.chancellor_unlanded
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:target_councilor = { is_kurultai_trigger = yes } }
|
|
desc = bp2_yearly.2019.desc.kurultai
|
|
}
|
|
}
|
|
desc = bp2_yearly.2019.desc.outro
|
|
}
|
|
theme = friend_relation
|
|
|
|
override_background = { reference = relaxing_room }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = manic
|
|
}
|
|
right_portrait = {
|
|
character = scope:target_councilor
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:target_councilor = {
|
|
has_council_position = councillor_court_chaplain
|
|
}
|
|
}
|
|
animation = chaplain
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:target_councilor = {
|
|
has_council_position = councillor_steward
|
|
}
|
|
}
|
|
animation = steward
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:target_councilor = {
|
|
has_council_position = councillor_marshal
|
|
}
|
|
}
|
|
animation = marshal
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:target_councilor = {
|
|
has_council_position = councillor_spymaster
|
|
}
|
|
}
|
|
animation = spymaster
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:target_councilor = {
|
|
has_council_position = councillor_chancellor
|
|
}
|
|
}
|
|
animation = chancellor
|
|
}
|
|
}
|
|
lower_center_portrait = {
|
|
character = scope:imaginary_friend
|
|
hide_info = yes
|
|
}
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
is_landless_adventurer = no
|
|
NOT = { has_character_flag = had_bp2_yearly_2019 }
|
|
# Doesn't have the opposites of Eccentric
|
|
NOR = {
|
|
has_trait = stubborn
|
|
has_trait = fickle
|
|
}
|
|
any_owned_story = {
|
|
type = story_cycle_imaginary_friend
|
|
has_variable = progress_to_eccentric_trait
|
|
var:progress_to_eccentric_trait >= 5
|
|
}
|
|
OR = { # ensure we have a councilor to grab
|
|
exists = cp:councillor_court_chaplain
|
|
exists = cp:councillor_steward
|
|
exists = cp:councillor_marshal
|
|
exists = cp:councillor_spymaster
|
|
exists = cp:councillor_chancellor
|
|
exists = cp:councillor_kurultai_1
|
|
exists = cp:councillor_kurultai_2
|
|
exists = cp:councillor_kurultai_3
|
|
exists = cp:councillor_kurultai_4
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
necromance_imaginary_friend_character_effect = yes
|
|
random_list = {
|
|
1 = {
|
|
trigger = { exists = cp:councillor_court_chaplain }
|
|
cp:councillor_court_chaplain = { save_scope_as = target_councilor }
|
|
}
|
|
1 = {
|
|
trigger = { exists = cp:councillor_steward }
|
|
cp:councillor_steward = { save_scope_as = target_councilor }
|
|
}
|
|
1 = {
|
|
trigger = { exists = cp:councillor_marshal }
|
|
cp:councillor_marshal = { save_scope_as = target_councilor }
|
|
}
|
|
1 = {
|
|
trigger = { exists = cp:councillor_spymaster }
|
|
cp:councillor_spymaster = { save_scope_as = target_councilor }
|
|
}
|
|
1 = {
|
|
trigger = { exists = cp:councillor_chancellor }
|
|
cp:councillor_chancellor = { save_scope_as = target_councilor }
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
any_councillor = {
|
|
is_kurultai_trigger = yes
|
|
}
|
|
}
|
|
random_councillor = {
|
|
limit = {
|
|
is_kurultai_trigger = yes
|
|
}
|
|
save_scope_as = target_councilor
|
|
}
|
|
}
|
|
}
|
|
add_character_flag = {
|
|
flag = had_bp2_yearly_2019
|
|
years = 16
|
|
}
|
|
# for option tooltips
|
|
save_scope_as = root_scope
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2019.a
|
|
flavor = bp2_yearly.2019.a.tt
|
|
add_trait = eccentric
|
|
every_vassal = {
|
|
vassal_stance = courtly
|
|
custom = every_courtly_vassal
|
|
add_opinion = {
|
|
target = root
|
|
modifier = courtly_imaginary_friend_opinion
|
|
opinion = -10
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2019.b
|
|
flavor = bp2_yearly.2019.b.tt
|
|
add_trait = paranoid
|
|
# Follow-up where your imaginary friend leaves
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
}
|
|
}
|
|
|
|
after = { scope:imaginary_friend = { silent_disappearance_effect = yes } }
|
|
}
|
|
|
|
### IMAGINARY FRIEND ADULT EVENTS
|
|
scripted_trigger is_valid_for_imaginary_friend_adult_event_trigger = {
|
|
any_owned_story = {
|
|
type = story_cycle_imaginary_friend
|
|
save_temporary_scope_as = target_story_cycle
|
|
}
|
|
is_available_adult = yes
|
|
is_travelling = no
|
|
has_trait = eccentric
|
|
}
|
|
|
|
## EVIL IMAGINARY FRIEND
|
|
|
|
# Scripted effect for choosing murder target(s)
|
|
scripted_effect bp2_yearly_2020_choose_new_murder_target_effect = {
|
|
random_list = { # Choose a random murder target
|
|
1 = {
|
|
trigger = {
|
|
any_close_family_member = {
|
|
is_alive = yes
|
|
is_adult = yes
|
|
save_temporary_scope_as = family_target
|
|
root = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:family_target
|
|
}
|
|
}
|
|
}
|
|
}
|
|
random_close_family_member = {
|
|
limit = {
|
|
is_alive = yes
|
|
is_adult = yes
|
|
save_temporary_scope_as = family_target
|
|
root = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:family_target
|
|
}
|
|
}
|
|
}
|
|
save_scope_as = new_murder_target
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
primary_spouse ?= {
|
|
is_alive = yes
|
|
save_temporary_scope_as = spouse_target
|
|
root = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:spouse_target
|
|
}
|
|
}
|
|
}
|
|
}
|
|
primary_spouse = {
|
|
save_scope_as = new_murder_target
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
any_relation = {
|
|
type = friend
|
|
is_alive = yes
|
|
is_adult = yes
|
|
save_temporary_scope_as = friend_target
|
|
root = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:friend_target
|
|
}
|
|
}
|
|
}
|
|
}
|
|
random_relation = {
|
|
type = friend
|
|
limit = {
|
|
is_alive = yes
|
|
is_adult = yes
|
|
save_temporary_scope_as = friend_target
|
|
root = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:friend_target
|
|
}
|
|
}
|
|
}
|
|
save_scope_as = new_murder_target
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
any_relation = {
|
|
type = best_friend
|
|
is_alive = yes
|
|
is_adult = yes
|
|
save_temporary_scope_as = best_friend_target
|
|
root = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:best_friend_target
|
|
}
|
|
}
|
|
}
|
|
}
|
|
random_relation = {
|
|
type = best_friend
|
|
limit = {
|
|
is_alive = yes
|
|
is_adult = yes
|
|
save_temporary_scope_as = best_friend_target
|
|
root = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:best_friend_target
|
|
}
|
|
}
|
|
}
|
|
save_scope_as = new_murder_target
|
|
}
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
any_courtier_or_guest = {
|
|
is_alive = yes
|
|
is_adult = yes
|
|
save_temporary_scope_as = guest_target
|
|
root = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:guest_target
|
|
}
|
|
}
|
|
}
|
|
}
|
|
random_courtier_or_guest = {
|
|
limit = {
|
|
is_alive = yes
|
|
is_adult = yes
|
|
save_temporary_scope_as = guest_target
|
|
root = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:guest_target
|
|
}
|
|
}
|
|
}
|
|
save_scope_as = new_murder_target
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_trigger bp2_yearly_2020_is_there_a_new_murder_target_trigger = {
|
|
OR = {
|
|
any_close_family_member = {
|
|
is_alive = yes
|
|
is_adult = yes
|
|
save_temporary_scope_as = family_target
|
|
root = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:family_target
|
|
}
|
|
}
|
|
}
|
|
primary_spouse ?= {
|
|
is_alive = yes
|
|
save_temporary_scope_as = spouse_target
|
|
root = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:spouse_target
|
|
}
|
|
}
|
|
}
|
|
any_relation = {
|
|
type = friend
|
|
is_alive = yes
|
|
is_adult = yes
|
|
save_temporary_scope_as = friend_target
|
|
root = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:friend_target
|
|
}
|
|
}
|
|
}
|
|
any_relation = {
|
|
type = best_friend
|
|
is_alive = yes
|
|
is_adult = yes
|
|
save_temporary_scope_as = best_friend_target
|
|
root = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:best_friend_target
|
|
}
|
|
}
|
|
}
|
|
any_courtier_or_guest = {
|
|
is_alive = yes
|
|
is_adult = yes
|
|
save_temporary_scope_as = guest_target
|
|
root = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:guest_target
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Your imaginary friend wants you to kill someone
|
|
bp2_yearly.2020 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2020.t
|
|
desc = bp2_yearly.2020.desc
|
|
theme = friend_relation
|
|
override_background = { reference = corridor_night }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = fear
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = spymaster
|
|
hide_info = yes
|
|
}
|
|
lower_center_portrait = scope:murder_target
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
is_valid_for_imaginary_friend_adult_event_trigger = yes
|
|
scope:target_story_cycle.var:imaginary_friend_disposition = flag:devil
|
|
NOT = { has_character_flag = had_bp2_yearly_2020 }
|
|
bp2_yearly_2020_is_there_a_new_murder_target_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
# Revive a character to show as your imaginary friend
|
|
necromance_imaginary_friend_character_effect = yes
|
|
add_character_flag = had_bp2_yearly_2020
|
|
|
|
# Choose a random murder target
|
|
bp2_yearly_2020_choose_new_murder_target_effect = yes
|
|
scope:new_murder_target = {
|
|
save_scope_as = murder_target
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2020.a
|
|
if = {
|
|
limit = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:murder_target
|
|
}
|
|
}
|
|
start_scheme = {
|
|
type = murder
|
|
target_character = scope:murder_target
|
|
}
|
|
}
|
|
|
|
# Set up an event where your imaginary friend scolds you if you haven't started the scheme within 2 months
|
|
trigger_event = {
|
|
id = bp2_yearly.2021
|
|
days = 60
|
|
}
|
|
set_variable = {
|
|
name = imaginary_friend_murder_target
|
|
value = scope:murder_target
|
|
}
|
|
custom_tooltip = imaginary_friend_first_murder_scheme_tt
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2020.b
|
|
|
|
stress_impact = {
|
|
base = massive_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
after = {
|
|
scope:imaginary_friend = { silent_disappearance_effect = yes }
|
|
if = {
|
|
limit = {
|
|
has_variable = imaginary_friend_murder_target
|
|
any_scheme = {
|
|
type = murder
|
|
scheme_target_character = root.var:imaginary_friend_murder_target
|
|
}
|
|
}
|
|
random_scheme = {
|
|
type = murder
|
|
limit = {
|
|
scheme_target_character = root.var:imaginary_friend_murder_target
|
|
}
|
|
add_scheme_modifier = { type = imaginary_friend_murder_scheme_modifier }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Why haven't you started your scheme?
|
|
bp2_yearly.2021 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2021.t
|
|
desc = bp2_yearly.2021.desc
|
|
theme = friend_relation
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = happiness
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = rage
|
|
}
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
any_owned_story = {
|
|
type = story_cycle_imaginary_friend
|
|
}
|
|
has_variable = imaginary_friend_murder_target
|
|
NOT = {
|
|
any_scheme = {
|
|
type = murder
|
|
scheme_target_character = root.var:imaginary_friend_murder_target
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
# Revive a character to show as your imaginary friend
|
|
necromance_imaginary_friend_character_effect = yes
|
|
root.var:imaginary_friend_murder_target = {
|
|
save_scope_as = new_murder_target
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2021.a
|
|
|
|
show_as_unavailable = {
|
|
NOT = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:new_murder_target
|
|
}
|
|
}
|
|
}
|
|
|
|
start_scheme = {
|
|
type = murder
|
|
target_character = scope:new_murder_target
|
|
}
|
|
# Recursively fire event in 90 days to check if the character has started a scheme
|
|
trigger_event = {
|
|
id = bp2_yearly.2021
|
|
days = 90
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2021.b
|
|
|
|
# Recursively fire event in 90 days to check if the character has started a scheme
|
|
trigger_event = {
|
|
id = bp2_yearly.2021
|
|
days = 90
|
|
}
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_gain
|
|
craven = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2021.c
|
|
|
|
random_owned_story = {
|
|
type = story_cycle_imaginary_friend
|
|
end_story = yes
|
|
}
|
|
|
|
stress_impact = {
|
|
base = medium_stress_impact_gain
|
|
compassionate = minor_stress_impact_loss
|
|
calm = minor_stress_impact_loss
|
|
craven = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
# Murder Success - Another target?
|
|
bp2_yearly.2022 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2022.t
|
|
desc = {
|
|
desc = bp2_yearly.2022.desc
|
|
triggered_desc = {
|
|
trigger = {
|
|
has_variable = imaginary_friend_murder_count
|
|
var:imaginary_friend_murder_count >= 1
|
|
}
|
|
desc = bp2_yearly.2022.desc.next_target
|
|
}
|
|
}
|
|
theme = friend_relation
|
|
override_background = { reference = corridor_night }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = paranoia
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = laugh
|
|
hide_info = yes
|
|
}
|
|
lower_center_portrait = {
|
|
character = scope:new_murder_target
|
|
}
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
bp2_yearly_2020_is_there_a_new_murder_target_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
# Revive a character to show as your imaginary friend
|
|
necromance_imaginary_friend_character_effect = yes
|
|
# Basic bonuses
|
|
add_dread = medium_dread_gain
|
|
add_stress = major_stress_loss
|
|
# Add lunacy if they don't have it already
|
|
if = {
|
|
limit = {
|
|
NOT = { has_trait = lunatic_1 }
|
|
}
|
|
add_trait = lunatic_1
|
|
}
|
|
# Increment murder count
|
|
if = {
|
|
limit = {
|
|
NOT = { has_variable = imaginary_friend_murder_count }
|
|
}
|
|
set_variable = {
|
|
name = imaginary_friend_murder_count
|
|
value = 1
|
|
}
|
|
}
|
|
else = {
|
|
change_variable = {
|
|
name = imaginary_friend_murder_count
|
|
add = 1
|
|
}
|
|
}
|
|
|
|
# Choose a random murder target
|
|
bp2_yearly_2020_choose_new_murder_target_effect = yes
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2022.a
|
|
flavor = bp2_yearly.2019.a.tt
|
|
|
|
if = {
|
|
limit = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:new_murder_target
|
|
}
|
|
}
|
|
start_scheme = {
|
|
type = murder
|
|
target_character = scope:new_murder_target
|
|
}
|
|
}
|
|
custom_tooltip = imaginary_friend_future_murder_scheme_tt
|
|
|
|
# Set up an event where your imaginary friend scolds you if you haven't started the scheme within 2 months
|
|
trigger_event = {
|
|
id = bp2_yearly.2021
|
|
days = 60
|
|
}
|
|
set_variable = {
|
|
name = imaginary_friend_murder_target
|
|
value = scope:new_murder_target
|
|
}
|
|
|
|
ai_chance = 100
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2022.b
|
|
flavor = bp2_yearly.2019.b.tt
|
|
|
|
stress_impact = {
|
|
base = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = 0
|
|
}
|
|
|
|
after = {
|
|
scope:imaginary_friend = { silent_disappearance_effect = yes }
|
|
if = {
|
|
limit = {
|
|
has_variable = imaginary_friend_murder_target
|
|
any_scheme = {
|
|
type = murder
|
|
scheme_target_character = root.var:imaginary_friend_murder_target
|
|
}
|
|
}
|
|
random_scheme = {
|
|
type = murder
|
|
limit = {
|
|
scheme_target_character = root.var:imaginary_friend_murder_target
|
|
}
|
|
add_scheme_modifier = { type = imaginary_friend_murder_scheme_modifier }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Murder Invalidated
|
|
bp2_yearly.2023 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2023.t
|
|
desc = {
|
|
desc = bp2_yearly.2023.desc
|
|
desc = bp2_yearly.2022.desc.next_target
|
|
}
|
|
theme = friend_relation
|
|
override_background = { reference = corridor_night }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = worry
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = anger
|
|
hide_info = yes
|
|
}
|
|
lower_center_portrait = scope:new_murder_target
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
bp2_yearly_2020_is_there_a_new_murder_target_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
necromance_imaginary_friend_character_effect = yes
|
|
# Choose a random murder target
|
|
bp2_yearly_2020_choose_new_murder_target_effect = yes
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2023.a
|
|
if = {
|
|
limit = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:new_murder_target
|
|
}
|
|
}
|
|
start_scheme = {
|
|
type = murder
|
|
target_character = scope:new_murder_target
|
|
}
|
|
}
|
|
else = {
|
|
custom_tooltip = imaginary_friend_future_murder_scheme_tt
|
|
set_variable = {
|
|
name = imaginary_friend_murder_target
|
|
value = scope:new_murder_target
|
|
}
|
|
}
|
|
# Set up an event where your imaginary friend scolds you if you haven't started the scheme within 2 months
|
|
trigger_event = {
|
|
id = bp2_yearly.2021
|
|
days = 60
|
|
}
|
|
set_variable = {
|
|
name = imaginary_friend_murder_target
|
|
value = scope:new_murder_target
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2023.b
|
|
stress_impact = {
|
|
base = massive_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
after = {
|
|
scope:imaginary_friend = { silent_disappearance_effect = yes }
|
|
if = {
|
|
limit = {
|
|
has_variable = imaginary_friend_murder_target
|
|
any_scheme = {
|
|
type = murder
|
|
scheme_target_character = root.var:imaginary_friend_murder_target
|
|
}
|
|
}
|
|
random_scheme = {
|
|
type = murder
|
|
limit = {
|
|
scheme_target_character = root.var:imaginary_friend_murder_target
|
|
}
|
|
add_scheme_modifier = { type = imaginary_friend_murder_scheme_modifier }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Murder Failed, try again
|
|
bp2_yearly.2024 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2024.t
|
|
desc = {
|
|
desc = bp2_yearly.2024.desc
|
|
desc = bp2_yearly.2022.desc.next_target
|
|
}
|
|
theme = friend_relation
|
|
override_background = { reference = corridor_night }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = worry
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = anger
|
|
hide_info = yes
|
|
}
|
|
lower_center_portrait = scope:new_murder_target
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
bp2_yearly_2020_is_there_a_new_murder_target_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
necromance_imaginary_friend_character_effect = yes
|
|
# Choose a random murder target
|
|
bp2_yearly_2020_choose_new_murder_target_effect = yes
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2024.a
|
|
if = {
|
|
limit = {
|
|
can_start_scheme = {
|
|
type = murder
|
|
target_character = scope:new_murder_target
|
|
}
|
|
}
|
|
start_scheme = {
|
|
type = murder
|
|
target_character = scope:new_murder_target
|
|
}
|
|
}
|
|
else = {
|
|
custom_tooltip = imaginary_friend_future_murder_scheme_tt
|
|
set_variable = {
|
|
name = imaginary_friend_murder_target
|
|
value = scope:new_murder_target
|
|
}
|
|
}
|
|
# Set up an event where your imaginary friend scolds you if you haven't started the scheme within 2 months
|
|
trigger_event = {
|
|
id = bp2_yearly.2021
|
|
days = 60
|
|
}
|
|
set_variable = {
|
|
name = imaginary_friend_murder_target
|
|
value = scope:new_murder_target
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2024.b
|
|
stress_impact = {
|
|
base = massive_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
after = {
|
|
scope:imaginary_friend = { silent_disappearance_effect = yes }
|
|
if = {
|
|
limit = {
|
|
has_variable = imaginary_friend_murder_target
|
|
any_scheme = {
|
|
type = murder
|
|
scheme_target_character = root.var:imaginary_friend_murder_target
|
|
}
|
|
}
|
|
random_scheme = {
|
|
type = murder
|
|
limit = {
|
|
scheme_target_character = root.var:imaginary_friend_murder_target
|
|
}
|
|
add_scheme_modifier = { type = imaginary_friend_murder_scheme_modifier }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Murder special ending 2025
|
|
bp2_yearly.2025 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2025.t
|
|
desc = bp2_yearly.2025.desc
|
|
theme = friend_relation
|
|
|
|
override_background = { reference = corridor_night }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = manic
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = love
|
|
hide_info = yes
|
|
}
|
|
lower_center_portrait = scope:target
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
necromance_imaginary_friend_character_effect = yes
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2025.a
|
|
set_nickname_effect = { NICKNAME = nick_the_mad }
|
|
add_character_modifier = {
|
|
modifier = imaginary_friend_mad_modifier
|
|
}
|
|
custom_tooltip = imaginary_friend_mad_modifier_bribe_discount
|
|
}
|
|
|
|
after = {
|
|
scope:imaginary_friend = { silent_disappearance_effect = yes }
|
|
random_owned_story = {
|
|
type = story_cycle_imaginary_friend
|
|
end_story = yes
|
|
}
|
|
if = {
|
|
limit = { has_character_modifier = imaginary_friend_modifier }
|
|
remove_character_modifier = imaginary_friend_modifier
|
|
}
|
|
}
|
|
}
|
|
|
|
## GOOD IMAGINARY FRIEND
|
|
# Imaginary friend reveals they are an angel
|
|
bp2_yearly.2030 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2030.t
|
|
desc = bp2_yearly.2030.desc
|
|
theme = friend_relation
|
|
override_background = { reference = relaxing_room }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = admiration
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = personality_content
|
|
hide_info = yes
|
|
}
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
is_valid_for_imaginary_friend_adult_event_trigger = yes
|
|
NOT = { has_character_flag = bp2_yearly_2030 }
|
|
}
|
|
|
|
immediate = {
|
|
necromance_imaginary_friend_character_effect = yes
|
|
add_character_flag = bp2_yearly_2030
|
|
# Pick a random holy site that you can pilgrimage to
|
|
faith = {
|
|
random_holy_site = { save_scope_as = target_holy_site }
|
|
}
|
|
random_owned_story = {
|
|
type = story_cycle_imaginary_friend
|
|
set_variable = {
|
|
name = pilgrimage_destination
|
|
value = scope:target_holy_site.title_province
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Start a pilgrimage right now
|
|
name = bp2_yearly.2030.a
|
|
custom_tooltip = bp2_yearly.2030.a.tt
|
|
open_view_data = {
|
|
view = activity_list_detail_host_window
|
|
data = activity_type:activity_pilgrimage
|
|
player = root
|
|
}
|
|
add_character_flag = {
|
|
flag = imaginary_friend_pilgrimage_discount
|
|
years = 2
|
|
}
|
|
|
|
stress_impact = {
|
|
zealous = minor_stress_impact_loss
|
|
cynical = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
modifier = {
|
|
factor = 0
|
|
has_trait = cynical
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # cynical is baffled
|
|
name = bp2_yearly.2030.b
|
|
trigger = { has_trait = cynical }
|
|
|
|
remove_trait = cynical
|
|
add_trait_force_tooltip = zealous
|
|
|
|
add_character_flag = {
|
|
flag = imaginary_friend_pilgrimage_discount
|
|
years = 2
|
|
}
|
|
|
|
stress_impact = {
|
|
cynical = minor_stress_impact_loss
|
|
zealous = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 0
|
|
}
|
|
}
|
|
|
|
option = { # Just pray here
|
|
name = bp2_yearly.2030.c
|
|
add_piety = medium_piety_gain
|
|
|
|
stress_impact = {
|
|
eccentric = major_stress_impact_gain
|
|
zealous = miniscule_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
modifier = {
|
|
factor = 0
|
|
has_trait = eccentric
|
|
}
|
|
}
|
|
}
|
|
|
|
after = {
|
|
scope:imaginary_friend = { silent_disappearance_effect = yes }
|
|
}
|
|
}
|
|
|
|
# Honor your Imaginary Friend at the Holy Site
|
|
bp2_yearly.2031 = {
|
|
type = activity_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2031.t
|
|
desc = bp2_yearly.2031.desc
|
|
theme = friend_relation
|
|
override_background = {
|
|
trigger = {
|
|
NOR = {
|
|
faith = { religion = religion:hinduism_religion }
|
|
faith = { religion = religion:buddhism_religion }
|
|
faith = { religion = religion:jainism_religion }
|
|
}
|
|
}
|
|
reference = temple
|
|
}
|
|
override_background = {
|
|
trigger = {
|
|
OR = {
|
|
faith = { religion = religion:hinduism_religion }
|
|
faith = { religion = religion:buddhism_religion }
|
|
faith = { religion = religion:jainism_religion }
|
|
}
|
|
}
|
|
reference = ep2_holy_site_indian
|
|
}
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_honorable
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = personality_zealous
|
|
hide_info = yes
|
|
}
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
necromance_imaginary_friend_character_effect = yes
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
has_trait = zealous
|
|
add = 1
|
|
}
|
|
modifier = {
|
|
has_learning_lifestyle_trait_trigger = yes
|
|
add = 1
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2031.a
|
|
# Effects
|
|
if = {
|
|
limit = {
|
|
piety_level < max_piety_level
|
|
}
|
|
add_piety_level = 1
|
|
}
|
|
else = {
|
|
add_piety = massive_piety_gain
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
NOT = { has_trait = lifestyle_mystic }
|
|
}
|
|
add_trait = lifestyle_mystic
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_trait_xp = {
|
|
trait = lifestyle_mystic
|
|
value < 100
|
|
}
|
|
}
|
|
add_trait_xp = {
|
|
trait = lifestyle_mystic
|
|
value = 50
|
|
}
|
|
}
|
|
# Add activity log entry
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = imaginary_friend_pilgrimage_log
|
|
show_in_conclusion = yes
|
|
score = 50
|
|
character = scope:activity.activity_host
|
|
}
|
|
}
|
|
# Add memory
|
|
create_character_memory = { type = honored_imaginary_friend_memory }
|
|
scope:new_memory = {
|
|
set_variable = {
|
|
name = location
|
|
value = root.location
|
|
}
|
|
set_variable = {
|
|
name = imaginary_friend_name
|
|
value = root.var:imaginary_friend_name
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = major_stress_impact_loss
|
|
}
|
|
}
|
|
|
|
after = {
|
|
scope:imaginary_friend = { silent_disappearance_effect = yes }
|
|
random_owned_story = {
|
|
type = story_cycle_imaginary_friend
|
|
end_story = yes
|
|
}
|
|
if = {
|
|
limit = { has_character_modifier = imaginary_friend_modifier }
|
|
remove_character_modifier = imaginary_friend_modifier
|
|
}
|
|
}
|
|
}
|
|
|
|
## NEUTRAL ENDING
|
|
bp2_yearly.2040 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2040.t
|
|
desc = {
|
|
desc = bp2_yearly.2040.desc
|
|
triggered_desc = {
|
|
trigger = { exists = scope:lover }
|
|
desc = bp2_yearly.2040.desc.lover
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:friend }
|
|
desc = bp2_yearly.2040.desc.friend
|
|
}
|
|
}
|
|
theme = friend_relation
|
|
override_background = { reference = relaxing_room }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = thinking
|
|
}
|
|
right_portrait = {
|
|
character = scope:imaginary_friend
|
|
animation = personality_compassionate
|
|
hide_info = yes
|
|
}
|
|
|
|
lower_center_portrait = scope:lover
|
|
lower_right_portrait = scope:friend
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
is_valid_for_imaginary_friend_adult_event_trigger = yes
|
|
NOT = { has_character_flag = bp2_yearly_2030 }
|
|
OR = {
|
|
any_relation = {
|
|
type = friend
|
|
NOT = { has_relation_best_friend = root }
|
|
}
|
|
AND = {
|
|
root = { num_of_relation_lover < 2 }
|
|
any_courtier_or_guest = {
|
|
trigger_if = {
|
|
limit = {
|
|
OR = {
|
|
is_married = yes
|
|
num_of_relation_lover = 1
|
|
}
|
|
}
|
|
might_cheat_on_every_partner_trigger = yes
|
|
}
|
|
NOT = { has_relation_lover = root }
|
|
num_of_relation_lover < 2
|
|
is_physically_able_ai_adult = yes
|
|
save_temporary_scope_as = temp_lover
|
|
matching_gender_and_sexuality_trigger = {
|
|
CHARACTER_1 = scope:temp_lover
|
|
CHARACTER_2 = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
necromance_imaginary_friend_character_effect = yes
|
|
add_character_flag = bp2_yearly_2030
|
|
# Find characters to manipulate
|
|
# Friend -> best friend
|
|
if = {
|
|
limit = {
|
|
any_relation = {
|
|
type = friend
|
|
NOT = { has_relation_best_friend = root }
|
|
}
|
|
}
|
|
random_relation = {
|
|
type = friend
|
|
limit = {
|
|
NOT = { has_relation_best_friend = root }
|
|
}
|
|
save_scope_as = friend
|
|
}
|
|
random_memory = {
|
|
memory_type = became_friends
|
|
limit = {
|
|
has_memory_participant = scope:friend
|
|
}
|
|
save_scope_as = target_memory
|
|
}
|
|
get_period_of_time_word_setup_effect = {
|
|
START_DATE = scope:target_memory.memory_creation_date
|
|
}
|
|
|
|
}
|
|
# Lover
|
|
random_courtier_or_guest = {
|
|
limit = {
|
|
trigger_if = {
|
|
limit = {
|
|
OR = {
|
|
is_married = yes
|
|
num_of_relation_lover = 1
|
|
}
|
|
}
|
|
might_cheat_on_every_partner_trigger = yes
|
|
}
|
|
NOT = { has_relation_lover = root }
|
|
num_of_relation_lover < 2
|
|
is_physically_able_ai_adult = yes
|
|
save_temporary_scope_as = temp_lover
|
|
matching_gender_and_sexuality_trigger = {
|
|
CHARACTER_1 = scope:temp_lover
|
|
CHARACTER_2 = root
|
|
}
|
|
}
|
|
save_scope_as = lover
|
|
}
|
|
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2040.a
|
|
trigger = { exists = scope:lover }
|
|
set_relation_lover = {
|
|
reason = lover_imaginary_friend
|
|
target = scope:lover
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = bp2_yearly.2040.b
|
|
trigger = { exists = scope:friend }
|
|
set_relation_best_friend = {
|
|
reason = best_friend_imaginary_friend
|
|
target = scope:friend
|
|
}
|
|
|
|
stress_impact = {
|
|
lustful = medium_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
}
|
|
}
|
|
|
|
after = {
|
|
clean_up_period_of_time_word_effect = yes
|
|
|
|
scope:imaginary_friend = { silent_disappearance_effect = yes }
|
|
random_owned_story = {
|
|
type = story_cycle_imaginary_friend
|
|
end_story = yes
|
|
}
|
|
if = {
|
|
limit = { has_character_modifier = imaginary_friend_modifier }
|
|
remove_character_modifier = imaginary_friend_modifier
|
|
}
|
|
}
|
|
}
|
|
|
|
##########################################
|
|
# Flavor Events
|
|
|
|
scripted_trigger bp2_yearly_2000_pick_child_interlocutor_trigger = {
|
|
OR = {
|
|
any_sibling = {
|
|
is_available_ai_child = yes
|
|
age > root.age_minus_3
|
|
age >= 4
|
|
location = root.location
|
|
}
|
|
location = {
|
|
any_character_in_location = {
|
|
is_available_ai_child = yes
|
|
age > root.age_minus_3
|
|
age >= 4
|
|
OR = {
|
|
liege = root
|
|
is_courtier_of = root
|
|
is_pool_guest_of = root
|
|
}
|
|
this != root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_effect bp2_yearly_2000_pick_child_interlocutor_effect = {
|
|
if = {
|
|
limit = {
|
|
any_sibling = {
|
|
is_available_ai_child = yes
|
|
age > root.age_minus_3
|
|
age >= 4
|
|
location = root.location
|
|
}
|
|
}
|
|
random_sibling = {
|
|
limit = {
|
|
is_available_ai_child = yes
|
|
age > root.age_minus_3
|
|
age >= 4
|
|
location = root.location
|
|
}
|
|
save_scope_as = interlocutor
|
|
}
|
|
}
|
|
else = {
|
|
location = {
|
|
random_character_in_location = {
|
|
limit = {
|
|
is_available_ai_child = yes
|
|
age > root.age_minus_3
|
|
age >= 4
|
|
OR = {
|
|
liege = root
|
|
is_courtier_of = root
|
|
is_pool_guest_of = root
|
|
}
|
|
this != root
|
|
}
|
|
save_scope_as = interlocutor
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Build something with your friend, get a some xp I guess
|
|
bp2_yearly.2100 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2100.t
|
|
desc = bp2_yearly.2100.desc
|
|
theme = friend_relation
|
|
override_background = { reference = garden }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = thinking
|
|
}
|
|
right_portrait = {
|
|
character = scope:interlocutor
|
|
animation = happiness
|
|
}
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
is_available_child = yes
|
|
age >= 5
|
|
age <= 15
|
|
bp2_yearly_2000_pick_child_interlocutor_trigger = yes
|
|
OR = {
|
|
has_variable = education_diplomacy_variable
|
|
has_variable = education_martial_variable
|
|
has_variable = education_stewardship_variable
|
|
has_variable = education_intrigue_variable
|
|
has_variable = education_learning_variable
|
|
}
|
|
}
|
|
|
|
cooldown = { years = 16 }
|
|
|
|
immediate = {
|
|
# Pick an interlocutor
|
|
bp2_yearly_2000_pick_child_interlocutor_effect = yes
|
|
# Pick a random second option to show
|
|
if = {
|
|
limit = { has_variable = education_diplomacy_variable }
|
|
add_character_flag = option_a
|
|
}
|
|
else_if = {
|
|
limit = { has_variable = education_martial_variable }
|
|
add_character_flag = option_b
|
|
}
|
|
else_if = {
|
|
limit = { has_variable = education_stewardship_variable }
|
|
add_character_flag = option_c
|
|
}
|
|
else_if = {
|
|
limit = { has_variable = education_intrigue_variable }
|
|
add_character_flag = option_d
|
|
}
|
|
else_if = {
|
|
limit = { has_variable = education_learning_variable }
|
|
add_character_flag = option_e
|
|
}
|
|
random_list = {
|
|
1 = {
|
|
trigger = {
|
|
NOT = { has_character_flag = option_a }
|
|
}
|
|
add_character_flag = option_a
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
NOT = { has_character_flag = option_b }
|
|
}
|
|
add_character_flag = option_b
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
NOT = { has_character_flag = option_c }
|
|
}
|
|
add_character_flag = option_c
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
NOT = { has_character_flag = option_d }
|
|
}
|
|
add_character_flag = option_d
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
NOT = { has_character_flag = option_e }
|
|
}
|
|
add_character_flag = option_e
|
|
}
|
|
}
|
|
random_list = {
|
|
1 = {
|
|
trigger = {
|
|
NOT = { has_character_flag = option_a }
|
|
}
|
|
add_character_flag = option_a
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
NOT = { has_character_flag = option_b }
|
|
}
|
|
add_character_flag = option_b
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
NOT = { has_character_flag = option_c }
|
|
}
|
|
add_character_flag = option_c
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
NOT = { has_character_flag = option_d }
|
|
}
|
|
add_character_flag = option_d
|
|
}
|
|
1 = {
|
|
trigger = {
|
|
NOT = { has_character_flag = option_e }
|
|
}
|
|
add_character_flag = option_e
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Diplomacy
|
|
name = bp2_yearly.2100.a
|
|
trigger = { has_character_flag = option_a }
|
|
if = {
|
|
limit = { has_variable = education_diplomacy_variable }
|
|
#Award more points
|
|
custom_tooltip = bp2_yearly.2100.a.tt
|
|
change_variable = {
|
|
name = education_diplomacy_variable
|
|
add = 4
|
|
}
|
|
}
|
|
else = {
|
|
add_diplomacy_skill = 1
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_wedding_relation_bond
|
|
CHARACTER = scope:interlocutor
|
|
OPINION = default_friend_opinion
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Martial
|
|
name = bp2_yearly.2100.b
|
|
#trigger = { has_character_flag = option_b }
|
|
if = {
|
|
limit = { has_variable = education_martial_variable }
|
|
#Award more points
|
|
custom_tooltip = bp2_yearly.2100.b.tt
|
|
change_variable = {
|
|
name = education_martial_variable
|
|
add = 4
|
|
}
|
|
}
|
|
else = {
|
|
add_martial_skill = 1
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_wedding_relation_bond
|
|
CHARACTER = scope:interlocutor
|
|
OPINION = default_friend_opinion
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Stewardship
|
|
name = bp2_yearly.2100.c
|
|
trigger = { has_character_flag = option_c }
|
|
if = {
|
|
limit = { has_variable = education_stewardship_variable }
|
|
#Award more points
|
|
custom_tooltip = bp2_yearly.2100.c.tt
|
|
change_variable = {
|
|
name = education_stewardship_variable
|
|
add = 4
|
|
}
|
|
}
|
|
else = {
|
|
add_stewardship_skill = 1
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_wedding_relation_bond
|
|
CHARACTER = scope:interlocutor
|
|
OPINION = default_friend_opinion
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Intrigue
|
|
name = bp2_yearly.2100.d
|
|
trigger = { has_character_flag = option_d }
|
|
if = {
|
|
limit = { has_variable = education_intrigue_variable }
|
|
#Award more points
|
|
custom_tooltip = bp2_yearly.2100.d.tt
|
|
change_variable = {
|
|
name = education_intrigue_variable
|
|
add = 4
|
|
}
|
|
}
|
|
else = {
|
|
add_intrigue_skill = 1
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_wedding_relation_bond
|
|
CHARACTER = scope:interlocutor
|
|
OPINION = default_friend_opinion
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Learning
|
|
name = bp2_yearly.2100.e
|
|
trigger = { has_character_flag = option_e }
|
|
if = {
|
|
limit = { has_variable = education_learning_variable }
|
|
#Award more points
|
|
custom_tooltip = bp2_yearly.2100.e.tt
|
|
change_variable = {
|
|
name = education_learning_variable
|
|
add = 4
|
|
}
|
|
}
|
|
else = {
|
|
add_learning_skill = 1
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_wedding_relation_bond
|
|
CHARACTER = scope:interlocutor
|
|
OPINION = default_friend_opinion
|
|
}
|
|
}
|
|
}
|
|
|
|
after = {
|
|
if = {
|
|
limit = { has_character_flag = option_a }
|
|
remove_character_flag = option_a
|
|
}
|
|
if = {
|
|
limit = { has_character_flag = option_b }
|
|
remove_character_flag = option_b
|
|
}
|
|
if = {
|
|
limit = { has_character_flag = option_c }
|
|
remove_character_flag = option_c
|
|
}
|
|
if = {
|
|
limit = { has_character_flag = option_d }
|
|
remove_character_flag = option_d
|
|
}
|
|
if = {
|
|
limit = { has_character_flag = option_e }
|
|
remove_character_flag = option_e
|
|
}
|
|
}
|
|
}
|
|
|
|
# Take a trait... or don't... it's up to you
|
|
bp2_yearly.2110 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2110.t
|
|
desc = bp2_yearly.2110.desc
|
|
theme = friend_relation
|
|
override_background = { reference = courtyard }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = celebrate_sword
|
|
}
|
|
right_portrait = {
|
|
character = scope:interlocutor
|
|
animation = sword_yield_start
|
|
}
|
|
|
|
cooldown = { years = 20 }
|
|
|
|
trigger = {
|
|
is_ai = no
|
|
has_bp2_dlc_trigger = yes
|
|
is_available_child = yes
|
|
age >= 6
|
|
number_of_personality_traits < 3
|
|
NOR = {
|
|
has_trait = humble
|
|
has_trait = arrogant
|
|
}
|
|
bp2_yearly_2000_pick_child_interlocutor_trigger = yes
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
is_ai = no
|
|
factor = 10
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
bp2_yearly_2000_pick_child_interlocutor_effect = yes
|
|
}
|
|
|
|
option = { # Humble
|
|
name = bp2_yearly.2110.a
|
|
add_trait = humble
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
|
|
stress_impact = {
|
|
pensive = minor_stress_impact_loss
|
|
rowdy = minor_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
option = { # Arrogant
|
|
name = bp2_yearly.2110.b
|
|
add_trait = arrogant
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
|
|
stress_impact = {
|
|
bossy = medium_stress_impact_loss
|
|
rowdy = minor_stress_impact_loss
|
|
pensive = minor_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
option = { # Remain Silent
|
|
name = bp2_yearly.2110.c
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
}
|
|
}
|
|
|
|
bp2_yearly.2120 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2120.t
|
|
desc = bp2_yearly.2120.desc
|
|
theme = friend_relation
|
|
override_background = { reference = bp1_kitchen_western }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = toast_goblet
|
|
}
|
|
right_portrait = {
|
|
character = scope:interlocutor
|
|
animation = worry
|
|
}
|
|
|
|
cooldown = { years = 20 }
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
is_available_child = yes
|
|
is_ai = no
|
|
age >= 6
|
|
number_of_personality_traits < 3
|
|
NOR = {
|
|
has_trait = temperate
|
|
has_trait = gluttonous
|
|
}
|
|
bp2_yearly_2000_pick_child_interlocutor_trigger = yes
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
is_ai = no
|
|
factor = 10
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
bp2_yearly_2000_pick_child_interlocutor_effect = yes
|
|
}
|
|
|
|
option = { # temperate
|
|
name = bp2_yearly.2120.a
|
|
add_trait = temperate
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
|
|
stress_impact = {
|
|
rowdy = minor_stress_impact_gain
|
|
pensive = minor_stress_impact_loss
|
|
}
|
|
}
|
|
|
|
option = { # gluttonous
|
|
name = bp2_yearly.2120.b
|
|
add_trait = gluttonous
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
|
|
stress_impact = {
|
|
pensive = minor_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
option = { # No way jose
|
|
name = bp2_yearly.2110.c
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
}
|
|
}
|
|
|
|
bp2_yearly.2130 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2130.t
|
|
desc = bp2_yearly.2130.desc
|
|
theme = friend_relation
|
|
override_background = { reference = alley_day }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = clutching_toy
|
|
}
|
|
right_portrait = {
|
|
character = scope:interlocutor
|
|
animation = sadness
|
|
}
|
|
|
|
cooldown = { years = 20 }
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
is_ai = no
|
|
is_ruler = yes
|
|
is_available_child = yes
|
|
age >= 6
|
|
number_of_personality_traits < 3
|
|
NOR = {
|
|
has_trait = generous
|
|
has_trait = greedy
|
|
}
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
is_ai = no
|
|
factor = 10
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
set_favorite_toy_effect = yes
|
|
if = {
|
|
limit = {
|
|
any_pool_character = {
|
|
province = root.location
|
|
age >= root.age_minus_3
|
|
is_available_ai_child = yes
|
|
}
|
|
}
|
|
random_pool_character = {
|
|
province = root.location
|
|
limit = {
|
|
age >= root.age_minus_3
|
|
is_available_ai_child = yes
|
|
}
|
|
save_scope_as = interlocutor
|
|
}
|
|
}
|
|
else = {
|
|
create_character = {
|
|
template = child_peasant_character
|
|
dynasty = none
|
|
location = root.location
|
|
culture = root.culture
|
|
faith = root.faith
|
|
gender = root
|
|
save_scope_as = interlocutor
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # generous
|
|
name = bp2_yearly.2130.a
|
|
flavor = bp2_yearly.2130.a.flavor
|
|
add_trait = generous
|
|
add_piety = minor_piety_gain
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
|
|
stress_impact = {
|
|
charming = minor_stress_impact_loss
|
|
rowdy = minor_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
option = { # greedy
|
|
name = bp2_yearly.2130.b
|
|
add_trait = greedy
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
|
|
stress_impact = {
|
|
bossy = minor_stress_impact_loss
|
|
}
|
|
}
|
|
|
|
option = { # No way jose
|
|
name = bp2_yearly.2110.c
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
}
|
|
}
|
|
|
|
bp2_yearly.2140 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2140.t
|
|
desc = bp2_yearly.2140.desc
|
|
theme = friend_relation
|
|
override_background = { reference = corridor_night }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = disbelief
|
|
}
|
|
right_portrait = {
|
|
character = scope:interlocutor
|
|
animation = disapproval
|
|
}
|
|
|
|
cooldown = { years = 20 }
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
is_available_child = yes
|
|
is_ai = no
|
|
age >= 6
|
|
age < 12
|
|
number_of_personality_traits < 3
|
|
NOR = {
|
|
has_trait = honest
|
|
has_trait = deceitful
|
|
}
|
|
OR = {
|
|
father ?= {
|
|
is_alive = yes
|
|
is_available_ai_adult = yes
|
|
}
|
|
mother ?= {
|
|
is_alive = yes
|
|
is_available_ai_adult = yes
|
|
}
|
|
any_relation = {
|
|
type = guardian
|
|
is_alive = yes
|
|
is_available_ai_adult = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
is_ai = no
|
|
factor = 10
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
set_favorite_treat_effect = yes
|
|
if = {
|
|
limit = {
|
|
father ?= {
|
|
is_alive = yes
|
|
is_available_ai_adult = yes
|
|
}
|
|
}
|
|
father = { save_scope_as = interlocutor }
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
mother ?= {
|
|
is_alive = yes
|
|
is_available_ai_adult = yes
|
|
}
|
|
}
|
|
mother = { save_scope_as = interlocutor }
|
|
}
|
|
else = {
|
|
random_relation = {
|
|
type = guardian
|
|
save_scope_as = interlocutor
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # honest
|
|
name = bp2_yearly.2140.a
|
|
add_trait = honest
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
|
|
stress_impact = {
|
|
rowdy = minor_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
option = { # deceitful
|
|
name = bp2_yearly.2140.b
|
|
add_trait = deceitful
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
|
|
stress_impact = {
|
|
charming = minor_stress_impact_loss
|
|
}
|
|
}
|
|
|
|
option = { # No way jose
|
|
name = bp2_yearly.2110.c
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
}
|
|
}
|
|
|
|
bp2_yearly.2150 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2150.t
|
|
desc = bp2_yearly.2150.desc
|
|
theme = friend_relation
|
|
override_background = { reference = study }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = thinking
|
|
}
|
|
right_portrait = {
|
|
character = scope:interlocutor
|
|
animation = admiration
|
|
}
|
|
|
|
cooldown = { years = 20 }
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
is_available_child = yes
|
|
age >= 10
|
|
NOR = {
|
|
has_trait = lifestyle_herbalist
|
|
has_trait = lifestyle_gardener
|
|
}
|
|
employs_court_position = court_physician_court_position
|
|
}
|
|
|
|
immediate = {
|
|
random_court_position_holder = {
|
|
type = court_physician_court_position
|
|
save_scope_as = interlocutor
|
|
}
|
|
}
|
|
|
|
option = { # herbalist
|
|
name = bp2_yearly.2150.a
|
|
add_trait = lifestyle_herbalist
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
}
|
|
|
|
option = { # gardener
|
|
name = bp2_yearly.2150.b
|
|
add_trait = lifestyle_gardener
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
}
|
|
|
|
option = { # No way jose
|
|
name = bp2_yearly.2150.c
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
}
|
|
}
|
|
|
|
bp2_yearly.2160 = {
|
|
type = character_event
|
|
content_source = dlc_009
|
|
title = bp2_yearly.2160.t
|
|
desc = bp2_yearly.2160.desc
|
|
theme = friend_relation
|
|
override_background = { reference = courtyard }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = worry
|
|
}
|
|
right_portrait = {
|
|
character = scope:interlocutor
|
|
animation = severelywounded
|
|
}
|
|
|
|
cooldown = { years = 20 }
|
|
|
|
trigger = {
|
|
has_bp2_dlc_trigger = yes
|
|
is_available_child = yes
|
|
is_ai = no
|
|
age >= 6
|
|
number_of_personality_traits < 3
|
|
NOR = {
|
|
has_trait = compassionate
|
|
has_trait = sadistic
|
|
}
|
|
bp2_yearly_2000_pick_child_interlocutor_trigger = yes
|
|
OR = {
|
|
exists = cp:councillor_marshal
|
|
employs_court_position = second_camp_officer
|
|
}
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
is_ai = no
|
|
factor = 10
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
bp2_yearly_2000_pick_child_interlocutor_effect = yes
|
|
hidden_effect = {
|
|
scope:interlocutor = {
|
|
increase_wounds_no_death_effect = { REASON = fight }
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
employs_court_position = second_camp_officer
|
|
any_court_position_holder = {
|
|
type = second_camp_officer
|
|
is_available_ai_adult = yes
|
|
}
|
|
}
|
|
random_court_position_holder = {
|
|
type = second_camp_officer
|
|
limit = { is_available_ai_adult = yes }
|
|
save_scope_as = marshal
|
|
}
|
|
}
|
|
else = {
|
|
cp:councillor_marshal = { save_scope_as = marshal }
|
|
}
|
|
}
|
|
|
|
option = { # Compassionate
|
|
name = bp2_yearly.2160.a
|
|
add_trait = compassionate
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
}
|
|
|
|
option = { # sadistic
|
|
name = bp2_yearly.2160.b
|
|
custom_tooltip = bp2_yearly.2160.b.flavor
|
|
add_trait = sadistic
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
}
|
|
|
|
option = { # No way jose
|
|
name = bp2_yearly.2110.c
|
|
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
}
|
|
}
|