6414 lines
136 KiB
Text
6414 lines
136 KiB
Text
namespace = court_yearly
|
|
|
|
#####################################
|
|
# Growing Debauchery #
|
|
# by Sean Hughes #
|
|
# 1000-1001 #
|
|
#####################################
|
|
|
|
scripted_trigger court_1000_valid_child = {
|
|
is_courtier_of = root
|
|
age >= 16
|
|
OR = {
|
|
can_be_drunkard = yes
|
|
can_be_hashishiyah = yes
|
|
can_be_rakish = yes
|
|
}
|
|
NOR = {
|
|
has_trait = drunkard
|
|
has_trait = hashishiyah
|
|
has_trait = rakish
|
|
}
|
|
}
|
|
|
|
scripted_effect court_1000_gain_debauchery_trait = {
|
|
if = {
|
|
limit = { scope:debauchery_type = flag:hashishiyah }
|
|
add_trait = hashishiyah
|
|
}
|
|
else_if = {
|
|
limit = { scope:debauchery_type = flag:drunkard }
|
|
add_trait = drunkard
|
|
}
|
|
else_if = {
|
|
limit = { scope:debauchery_type = flag:rakish }
|
|
add_trait = rakish
|
|
}
|
|
}
|
|
|
|
scripted_trigger court_1001_valid_debaucher = {
|
|
is_courtier_of = root
|
|
age >= 16
|
|
exists = scope:debauchery_type
|
|
OR = {
|
|
AND = {
|
|
scope:debauchery_type = flag:hashishiyah
|
|
can_be_hashishiyah = yes
|
|
}
|
|
AND = {
|
|
scope:debauchery_type = flag:drunkard
|
|
can_be_drunkard = yes
|
|
}
|
|
AND = {
|
|
scope:debauchery_type = flag:rakish
|
|
can_be_rakish = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
court_yearly.1000 = {
|
|
type = character_event
|
|
title = court.1000.t
|
|
desc = {
|
|
desc = court.1000.desc.opening
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { scope:debauchery_type = flag:drunkard }
|
|
desc = court.1000.desc.drunkard
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:debauchery_type = flag:hashishiyah }
|
|
desc = court.1000.desc.hashishiyah
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:debauchery_type = flag:rakish }
|
|
desc = court.1000.desc.rakish
|
|
}
|
|
}
|
|
desc = court.1000.desc.ending
|
|
}
|
|
theme = court
|
|
left_portrait = {
|
|
character = root
|
|
animation = stress
|
|
}
|
|
right_portrait = {
|
|
character = scope:child
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:debauchery_type = flag:drunkard
|
|
}
|
|
animation = drink
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:debauchery_type = flag:hashishiyah
|
|
}
|
|
animation = personality_irrational
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:debauchery_type = flag:rakish
|
|
}
|
|
animation = flirtation
|
|
}
|
|
}
|
|
override_background = {
|
|
trigger = {
|
|
OR = {
|
|
scope:debauchery_type = flag:drunkard
|
|
scope:debauchery_type = flag:rakish
|
|
}
|
|
}
|
|
reference = tavern
|
|
}
|
|
override_background = {
|
|
trigger = {
|
|
scope:debauchery_type = flag:hashishiyah
|
|
}
|
|
reference = bp1_wine_cellar
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
any_child = {
|
|
court_1000_valid_child = yes
|
|
}
|
|
NOT = { has_character_flag = court_1000_discouraged_debauchery }
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
|
|
# Court weightings.
|
|
# ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_diplomatic }
|
|
}
|
|
|
|
immediate = {
|
|
random_child = {
|
|
limit = {
|
|
court_1000_valid_child = yes
|
|
}
|
|
save_scope_as = child
|
|
random_list = {
|
|
50 = {
|
|
trigger = { can_be_drunkard = yes }
|
|
modifier = {
|
|
factor = 0.1
|
|
OR = {
|
|
faith = { trait_is_sin = drunkard }
|
|
religion = religion:islam_religion
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = debauchery_type
|
|
value = flag:drunkard
|
|
}
|
|
}
|
|
40 = {
|
|
trigger = { can_be_hashishiyah = yes }
|
|
modifier = {
|
|
factor = 0.1
|
|
faith = { trait_is_sin = hashishiyah }
|
|
}
|
|
save_scope_value_as = {
|
|
name = debauchery_type
|
|
value = flag:hashishiyah
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = { can_be_rakish = yes }
|
|
modifier = {
|
|
factor = 0.1
|
|
faith = { trait_is_virtue = lustful }
|
|
}
|
|
save_scope_value_as = {
|
|
name = debauchery_type
|
|
value = flag:rakish
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option A: Publicly reprimand/humilite your child to make them stop
|
|
option = {
|
|
name = court.1000.a
|
|
scope:child = {
|
|
add_prestige_level = -1
|
|
add_opinion = {
|
|
modifier = angry_opinion
|
|
target = root
|
|
opinion = -50
|
|
}
|
|
}
|
|
custom_tooltip = court.1000.a.tt
|
|
hidden_effect = {
|
|
add_character_flag = {
|
|
flag = court_1000_discouraged_debauchery
|
|
years = 30
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option B: Give your child a title or court position to try and keep them occupied
|
|
option = {
|
|
name = court.1000.b
|
|
trigger = {
|
|
any_held_title = {
|
|
title_tier = county
|
|
is_landless_type_title = no
|
|
count >= 2
|
|
}
|
|
}
|
|
|
|
random_held_title = {
|
|
title_tier = county
|
|
limit = {
|
|
is_landless_type_title = no
|
|
}
|
|
save_scope_as = granted_title
|
|
}
|
|
|
|
create_title_and_vassal_change = {
|
|
type = granted
|
|
save_scope_as = change
|
|
}
|
|
scope:granted_title = {
|
|
change_title_holder = {
|
|
holder = scope:child
|
|
change = scope:change
|
|
}
|
|
}
|
|
resolve_title_and_vassal_change = scope:change
|
|
scope:child = {
|
|
random_list = {
|
|
50 = {
|
|
desc = court.1000.b.success
|
|
ai_value_modifier = {
|
|
ai_energy = 0.5
|
|
ai_greed = 0.2
|
|
ai_honor = 0.2
|
|
}
|
|
add_stewardship_skill = 2
|
|
}
|
|
50 = {
|
|
desc = court.1000.b.failure
|
|
ai_value_modifier = {
|
|
ai_energy = -0.5
|
|
ai_greed = -0.2
|
|
ai_honor = -0.2
|
|
}
|
|
court_1000_gain_debauchery_trait = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option C: Let the behavior continue unpunished, maybe joning in from time to time
|
|
option = {
|
|
name = court.1000.c
|
|
scope:child = {
|
|
court_1000_gain_debauchery_trait = yes
|
|
add_stress = medium_stress_loss
|
|
}
|
|
add_stress = medium_stress_loss
|
|
custom_tooltip = court.1000.c.tt
|
|
|
|
# Other courtiers might be tempted by the unmoderated indulgence of vices
|
|
hidden_effect = {
|
|
every_courtier = {
|
|
limit = {
|
|
this != scope:child
|
|
court_1001_valid_debaucher = yes
|
|
}
|
|
random_list = {
|
|
80 = {
|
|
# Nothing happens
|
|
|
|
}
|
|
20 = {
|
|
ai_value_modifier = {
|
|
ai_energy = -0.1
|
|
ai_honor = -0.1
|
|
}
|
|
modifier = {
|
|
add = 140
|
|
OR = {
|
|
AND = {
|
|
scope:debauchery_type = flag:drunkard
|
|
OR = {
|
|
has_trait = gluttonous
|
|
has_trait = lifestyle_reveler
|
|
}
|
|
}
|
|
AND = {
|
|
scope:debauchery_type = flag:hashishiyah
|
|
OR = {
|
|
has_trait = gluttonous
|
|
has_trait = lazy
|
|
}
|
|
}
|
|
AND = {
|
|
scope:debauchery_type = flag:rakish
|
|
has_trait = lustful
|
|
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = temperate
|
|
has_trait = zealous
|
|
has_trait = chaste
|
|
}
|
|
}
|
|
|
|
trigger_event = {
|
|
id = court_yearly.1001
|
|
days = { 14 60 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
court_yearly.1001 = {
|
|
hidden = yes
|
|
|
|
trigger = {
|
|
# We are still in the same court as the initial debaucher.
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
scope:child = {
|
|
is_courtier_of = root.court_owner
|
|
}
|
|
# We are not opposed to debauchery
|
|
court_1001_valid_debaucher = yes
|
|
}
|
|
|
|
immediate = {
|
|
court_owner = {
|
|
if = {
|
|
# If we're important to our liege in some way, gain debauchery trait with a notification send to them.
|
|
limit = {
|
|
is_of_major_interest_trigger = { CHARACTER = root }
|
|
}
|
|
root = { save_scope_as = courtier }
|
|
send_interface_message = {
|
|
type = event_generic_neutral
|
|
title = court.1001.title
|
|
|
|
root = {
|
|
court_1000_gain_debauchery_trait = yes
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
# Otherwise we silently gain the trait, in order to avoid notification spam.
|
|
root = {
|
|
court_1000_gain_debauchery_trait = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#####################################
|
|
# Long Arm of the Law #
|
|
# by Sean Hughes #
|
|
# 1020 #
|
|
#####################################
|
|
|
|
scripted_trigger court_1020_suitable_guest_trigger = {
|
|
# Of suitable age.
|
|
age >= 16
|
|
# Lacks the principle award.
|
|
save_temporary_scope_as = fugitive_check
|
|
NOT = {
|
|
root = { has_strong_hook = scope:fugitive_check }
|
|
}
|
|
}
|
|
|
|
scripted_effect court_1020_remove_opinion_from_root_modifier = {
|
|
if = {
|
|
limit = {
|
|
has_opinion_modifier = {
|
|
modifier = $OPINION_MODIFIER$
|
|
target = root
|
|
}
|
|
}
|
|
remove_opinion = {
|
|
modifier = $OPINION_MODIFIER$
|
|
target = root
|
|
}
|
|
}
|
|
}
|
|
|
|
court_yearly.1020 = {
|
|
type = letter_event
|
|
opening = court.1020.opening
|
|
desc = {
|
|
desc = court.1020.desc
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {scope:compensation = flag:forgive_this}
|
|
desc = court.1020.desc.forgive_this
|
|
}
|
|
triggered_desc = {
|
|
trigger = {scope:compensation = flag:forgive_all}
|
|
desc = court.1020.desc.forgive_all
|
|
}
|
|
triggered_desc = {
|
|
trigger = {scope:compensation = flag:gold}
|
|
desc = court.1020.desc.gold
|
|
}
|
|
triggered_desc = {
|
|
trigger = {scope:compensation = flag:opinion}
|
|
desc = court.1020.desc.opinion
|
|
}
|
|
}
|
|
}
|
|
sender = scope:foreign_ruler
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
any_pool_guest = { court_1020_suitable_guest_trigger = yes }
|
|
any_neighboring_and_across_water_top_liege_realm = {
|
|
exists = holder
|
|
}
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
}
|
|
|
|
immediate = {
|
|
random_pool_guest = {
|
|
limit = { court_1020_suitable_guest_trigger = yes }
|
|
save_scope_as = fugitive
|
|
}
|
|
random_neighboring_and_across_water_top_liege_realm = {
|
|
holder = { save_scope_as = foreign_ruler }
|
|
}
|
|
scope:foreign_ruler = {
|
|
random_list = {
|
|
33 = {
|
|
ai_value_modifier = {
|
|
ai_vengefulness = 0.15
|
|
ai_greed = 0.1
|
|
}
|
|
if = {
|
|
limit = {
|
|
root = { is_ai = no }
|
|
scope:foreign_ruler = {
|
|
OR = {
|
|
has_opinion_modifier = {
|
|
modifier = hate_opinion
|
|
target = root
|
|
}
|
|
has_opinion_modifier = {
|
|
modifier = refusal_opinion
|
|
target = root
|
|
}
|
|
has_opinion_modifier = {
|
|
modifier = suspicion_opinion
|
|
target = root
|
|
}
|
|
has_opinion_modifier = {
|
|
modifier = disappointed_opinion
|
|
target = root
|
|
}
|
|
has_opinion_modifier = {
|
|
modifier = insult_opinion
|
|
target = root
|
|
}
|
|
has_opinion_modifier = {
|
|
modifier = angry_opinion
|
|
target = root
|
|
}
|
|
has_opinion_modifier = {
|
|
modifier = declared_war
|
|
target = root
|
|
}
|
|
has_opinion_modifier = {
|
|
modifier = declared_war_on_son_daughter
|
|
target = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = compensation
|
|
value = flag:forgive_all
|
|
}
|
|
}
|
|
else = {
|
|
save_scope_value_as = {
|
|
name = compensation
|
|
value = flag:forgive_this
|
|
}
|
|
}
|
|
}
|
|
33 = {
|
|
ai_value_modifier = {
|
|
ai_greed = -0.3
|
|
}
|
|
save_scope_value_as = {
|
|
name = compensation
|
|
value = flag:gold
|
|
}
|
|
}
|
|
33 = {
|
|
ai_value_modifier = {
|
|
ai_compassion = 0.2
|
|
ai_honor = 0.1
|
|
}
|
|
if = {
|
|
limit = {
|
|
root = { is_ai = no }
|
|
scope:foreign_ruler = {
|
|
OR = {
|
|
has_opinion_modifier = {
|
|
modifier = hate_opinion
|
|
target = root
|
|
}
|
|
has_opinion_modifier = {
|
|
modifier = refusal_opinion
|
|
target = root
|
|
}
|
|
has_opinion_modifier = {
|
|
modifier = suspicion_opinion
|
|
target = root
|
|
}
|
|
has_opinion_modifier = {
|
|
modifier = disappointed_opinion
|
|
target = root
|
|
}
|
|
has_opinion_modifier = {
|
|
modifier = insult_opinion
|
|
target = root
|
|
}
|
|
has_opinion_modifier = {
|
|
modifier = angry_opinion
|
|
target = root
|
|
}
|
|
has_opinion_modifier = {
|
|
modifier = declared_war
|
|
target = root
|
|
}
|
|
has_opinion_modifier = {
|
|
modifier = declared_war_on_son_daughter
|
|
target = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = compensation
|
|
value = flag:forgive_all
|
|
}
|
|
}
|
|
else = {
|
|
save_scope_value_as = {
|
|
name = compensation
|
|
value = flag:opinion
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option A: Agree to the foreign ruler's demand and hand over the fugitive
|
|
option = {
|
|
name = court.1020.a
|
|
|
|
if = {
|
|
limit = {
|
|
scope:compensation = flag:forgive_all
|
|
}
|
|
scope:foreign_ruler = {
|
|
court_1020_remove_opinion_from_root_modifier = { OPINION_MODIFIER = hate_opinion }
|
|
court_1020_remove_opinion_from_root_modifier = { OPINION_MODIFIER = refusal_opinion }
|
|
court_1020_remove_opinion_from_root_modifier = { OPINION_MODIFIER = suspicion_opinion }
|
|
court_1020_remove_opinion_from_root_modifier = { OPINION_MODIFIER = disappointed_opinion }
|
|
court_1020_remove_opinion_from_root_modifier = { OPINION_MODIFIER = insult_opinion }
|
|
court_1020_remove_opinion_from_root_modifier = { OPINION_MODIFIER = angry_opinion }
|
|
court_1020_remove_opinion_from_root_modifier = { OPINION_MODIFIER = declared_war }
|
|
court_1020_remove_opinion_from_root_modifier = { OPINION_MODIFIER = declared_war_on_son_daughter }
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:compensation = flag:gold
|
|
}
|
|
scope:foreign_ruler = {
|
|
pay_treasury_or_gold = {
|
|
target = root
|
|
value = minor_treasury_or_gold_value
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:compensation = flag:opinion
|
|
}
|
|
scope:foreign_ruler = {
|
|
add_opinion = {
|
|
modifier = pleased_opinion
|
|
target = root
|
|
opinion = 20
|
|
}
|
|
}
|
|
}
|
|
|
|
rightfully_imprison_character_effect = {
|
|
TARGET = scope:fugitive
|
|
IMPRISONER = scope:foreign_ruler
|
|
}
|
|
}
|
|
|
|
# Option B: Offer the fugitive your protection, pissing off the foreign ruler
|
|
option = {
|
|
name = court.1020.b
|
|
if = {
|
|
limit = {
|
|
can_add_hook = {
|
|
target = scope:fugitive
|
|
type = loyalty_hook
|
|
}
|
|
}
|
|
add_hook = {
|
|
type = loyalty_hook
|
|
target = scope:fugitive
|
|
}
|
|
}
|
|
scope:foreign_ruler = {
|
|
add_opinion = {
|
|
modifier = refusal_opinion
|
|
target = root
|
|
opinion = -30
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option C: Warn the fugitive and let them escape
|
|
option = {
|
|
name = court.1020.c
|
|
scope:fugitive = {
|
|
add_opinion = {
|
|
modifier = grateful_opinion
|
|
target = root
|
|
opinion = 10
|
|
}
|
|
select_and_move_to_pool_effect = yes
|
|
}
|
|
scope:foreign_ruler = {
|
|
add_opinion = {
|
|
modifier = disappointed_opinion
|
|
target = root
|
|
opinion = -5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
##################################################
|
|
# Competitive Cronying
|
|
# by Ewan Cowhig Croft
|
|
# 2001 - 2010
|
|
##################################################
|
|
|
|
scripted_trigger court_2001_valid_toadies_available_trigger = {
|
|
# Standard checks.
|
|
is_available_ai_adult = yes
|
|
# Lacks a personality that would actively stop them from toadying:
|
|
NOR = {
|
|
has_trait = honest
|
|
has_trait = arrogant
|
|
has_trait = shy
|
|
has_trait = content
|
|
}
|
|
# Isn't immediately related to you.
|
|
NOR = {
|
|
any_close_or_extended_family_member = { this = root }
|
|
any_spouse = { this = root }
|
|
}
|
|
# And likes you enough to want to suck up to you.
|
|
opinion = {
|
|
target = root
|
|
value >= low_negative_opinion
|
|
}
|
|
}
|
|
|
|
court_yearly.2001 = {
|
|
type = character_event
|
|
title = court.2001.t
|
|
desc = court.2001.desc
|
|
theme = court
|
|
left_portrait = {
|
|
character = scope:crony_a
|
|
animation = disapproval
|
|
}
|
|
right_portrait = {
|
|
character = scope:crony_b
|
|
animation = dismissal
|
|
}
|
|
|
|
cooldown = { years = 10 }
|
|
|
|
trigger = {
|
|
# DLC check.
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
# Standard checks.
|
|
is_available_at_peace_adult = yes
|
|
is_landed = yes
|
|
# At least two courtiers or guests are suitable toadies.
|
|
any_courtier_or_guest = {
|
|
count >= 2
|
|
court_2001_valid_toadies_available_trigger = yes
|
|
}
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
|
|
# Court weightings.
|
|
# ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_diplomatic }
|
|
}
|
|
|
|
immediate = {
|
|
# Grab two random toadies.
|
|
random_courtier_or_guest = {
|
|
limit = { court_2001_valid_toadies_available_trigger = yes }
|
|
weight = {
|
|
base = 1
|
|
is_of_minor_interest_to_weight_up_modifier = { CHARACTER = root }
|
|
is_of_major_interest_to_weight_up_modifier = { CHARACTER = root }
|
|
opinion_modifier = {
|
|
opinion_target = root
|
|
# Cap it a bit so we don't always have opinion gain with characters that already love you.
|
|
max = 50
|
|
}
|
|
}
|
|
save_scope_as = crony_a
|
|
}
|
|
random_courtier_or_guest = {
|
|
limit = {
|
|
court_2001_valid_toadies_available_trigger = yes
|
|
this != scope:crony_a
|
|
}
|
|
weight = {
|
|
base = 1
|
|
is_of_minor_interest_to_weight_up_modifier = { CHARACTER = root }
|
|
is_of_major_interest_to_weight_up_modifier = { CHARACTER = root }
|
|
}
|
|
save_scope_as = crony_b
|
|
}
|
|
}
|
|
|
|
# Honestly, you could both try harder.
|
|
option = {
|
|
name = court.2001.a
|
|
trigger = {
|
|
NOT = { has_trait = sadistic }
|
|
}
|
|
|
|
# Gain opinion with the lackeys as they hard-core focus on sucking up to ye.
|
|
reverse_add_opinion = {
|
|
target = scope:crony_a
|
|
modifier = shamed_me_opinion
|
|
opinion = 40
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:crony_b
|
|
modifier = shamed_me_opinion
|
|
opinion = 40
|
|
}
|
|
# Add a little CGV for all these obsequious toadies constantly making a big deal about you.
|
|
change_current_court_grandeur = miniscule_court_grandeur_gain
|
|
|
|
stress_impact = {
|
|
arrogant = miniscule_stress_impact_loss
|
|
humble = major_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_sociability = 0.5
|
|
ai_greed = 0.25
|
|
ai_compassion = -0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
# Whoever bows lowest gets a shiny coin.
|
|
option = {
|
|
name = court.2001.a.sadistic
|
|
trigger = { has_trait = sadistic }
|
|
|
|
# Gain opinion with the lackeys as they hard-core focus on sucking up to ye.
|
|
reverse_add_opinion = {
|
|
target = scope:crony_a
|
|
modifier = shamed_me_opinion
|
|
opinion = 60
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:crony_b
|
|
modifier = shamed_me_opinion
|
|
opinion = 60
|
|
}
|
|
# And toss the coin at random.
|
|
random_list = {
|
|
50 = {
|
|
desc = court.2001.a.sadistic.crony_a_wins
|
|
send_interface_toast = {
|
|
type = event_toast_effect_neutral
|
|
title = court.2001.a.sadistic.crony_a_wins
|
|
left_icon = scope:crony_a
|
|
pay_short_term_gold = {
|
|
target = scope:crony_a
|
|
gold = 1
|
|
}
|
|
}
|
|
}
|
|
50 = {
|
|
desc = court.2001.a.sadistic.crony_b_wins
|
|
send_interface_toast = {
|
|
type = event_toast_effect_neutral
|
|
title = court.2001.a.sadistic.crony_b_wins
|
|
left_icon = scope:crony_b
|
|
pay_short_term_gold = {
|
|
target = scope:crony_b
|
|
gold = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Add a little CGV for all these obsequious toadies constantly making a big deal about you.
|
|
change_current_court_grandeur = minor_court_grandeur_gain
|
|
|
|
stress_impact = {
|
|
arrogant = miniscule_stress_impact_loss
|
|
humble = major_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_sociability = 0.5
|
|
ai_greed = 0.25
|
|
ai_compassion = -0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
# These empty platitudes are disgusting!
|
|
option = {
|
|
name = court.2001.b
|
|
|
|
# Gain prestige for renouncing their lackeying.
|
|
add_prestige = minor_prestige_gain
|
|
# Lose opinion with both.
|
|
reverse_add_opinion = {
|
|
target = scope:crony_a
|
|
modifier = hurt_opinion
|
|
opinion = -25
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:crony_b
|
|
modifier = hurt_opinion
|
|
opinion = -25
|
|
}
|
|
|
|
stress_impact = {
|
|
humble = miniscule_stress_impact_loss
|
|
arrogant = medium_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_honor = -0.25
|
|
ai_sociability = -0.25
|
|
ai_compassion = -0.25
|
|
}
|
|
}
|
|
}
|
|
|
|
# There's one obvious way you haven't tried...
|
|
option = {
|
|
name = court.2001.c
|
|
|
|
# Both pay you cash-monies.
|
|
scope:crony_a = {
|
|
pay_short_term_gold = {
|
|
target = root
|
|
gold = minor_gold_value
|
|
}
|
|
}
|
|
scope:crony_b = {
|
|
pay_short_term_gold = {
|
|
target = root
|
|
gold = minor_gold_value
|
|
}
|
|
}
|
|
# Both dislike you for the direct demand.
|
|
reverse_add_opinion = {
|
|
target = scope:crony_a
|
|
modifier = respect_opinion
|
|
opinion = -35
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:crony_b
|
|
modifier = respect_opinion
|
|
opinion = -35
|
|
}
|
|
|
|
stress_impact = {
|
|
greedy = miniscule_stress_impact_loss
|
|
generous = major_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_greed = 0.75
|
|
ai_compassion = -0.25
|
|
}
|
|
}
|
|
}
|
|
|
|
# This is beneath me.
|
|
option = {
|
|
name = court.2001.d
|
|
|
|
# Gain some fame for your straight-talking.
|
|
add_prestige_experience = medium_prestige_gain
|
|
|
|
stress_impact = {
|
|
shy = miniscule_stress_impact_loss
|
|
gregarious = minor_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_honor = 0.5
|
|
ai_sociability = -0.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#########################
|
|
# Scrounger Life #
|
|
# by Claudia Baldassi #
|
|
# 6040-6041 #
|
|
#########################
|
|
|
|
scripted_trigger court_6040_has_valid_scrounger_trigger = {
|
|
is_adult = yes
|
|
NOR = {
|
|
is_close_family_of = root
|
|
is_councillor_of = root
|
|
}
|
|
OR = {
|
|
has_trait = lazy
|
|
has_trait = greedy
|
|
has_trait = gluttonous
|
|
has_trait = drunkard
|
|
has_trait = comfort_eater
|
|
has_trait = profligate
|
|
has_trait = rakish
|
|
has_trait = hashishiyah
|
|
}
|
|
OR = {
|
|
learning >= 8
|
|
diplomacy >= 8
|
|
}
|
|
}
|
|
|
|
# You have a useless scrounger at court, but if supported long enough, he turns out to be a great poet (might become a Great Person?) #
|
|
|
|
|
|
court_yearly.6040 = {
|
|
type = character_event
|
|
title = court.6040.t
|
|
desc = court.6040.desc
|
|
theme = court
|
|
left_portrait = {
|
|
character = scope:scrounger
|
|
animation = happiness
|
|
}
|
|
right_portrait = {
|
|
character = root
|
|
animation = disapproval
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
any_courtier_or_guest = {
|
|
court_6040_has_valid_scrounger_trigger = yes
|
|
}
|
|
NOT = {
|
|
has_character_flag = court_6040_cooldown
|
|
}
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
|
|
# Court weightings.
|
|
# ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_diplomatic }
|
|
}
|
|
|
|
immediate = {
|
|
add_character_flag = {
|
|
flag = court_6040_cooldown
|
|
years = 20
|
|
}
|
|
random_courtier_or_guest = {
|
|
limit = {
|
|
court_6040_has_valid_scrounger_trigger = yes
|
|
}
|
|
save_scope_as = scrounger
|
|
}
|
|
personality_check_shared_good_ruler_traits_effect = {
|
|
CHAR1 = root
|
|
CHAR2 = scope:scrounger
|
|
STRICT = no
|
|
}
|
|
set_variable = court_6040_best_looking_var
|
|
if = {
|
|
limit = {
|
|
employs_court_position = court_jester_court_position
|
|
any_court_position_holder = {
|
|
type = court_jester_court_position
|
|
is_available_ai_adult = yes
|
|
}
|
|
}
|
|
random_court_position_holder = {
|
|
type = court_jester_court_position
|
|
limit = { is_available_ai_adult = yes }
|
|
save_scope_as = jester
|
|
}
|
|
}
|
|
}
|
|
|
|
after = {
|
|
remove_variable = court_6040_best_looking_var
|
|
}
|
|
|
|
# Option A: make them earn their living by making them court jester
|
|
option = {
|
|
name = court.6040.a
|
|
trigger = {
|
|
scope:scrounger = { can_be_employed_as = court_jester_court_position }
|
|
OR = {
|
|
can_employ_court_position_type = court_jester_court_position
|
|
exists = scope:jester
|
|
}
|
|
}
|
|
court_position_grant_effect = { POS = court_jester CANDIDATE = scope:scrounger EMPLOYER = root }
|
|
change_current_court_grandeur = minor_court_grandeur_gain
|
|
every_courtier_or_guest = {
|
|
custom = court_6000_all_courtiers_and_guests
|
|
add_opinion = {
|
|
target = root
|
|
modifier = pleased_opinion
|
|
opinion = 5
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Option B: tolerate them
|
|
option = {
|
|
name = court.6040.b
|
|
remove_treasury_or_gold = tiny_treasury_or_gold_value
|
|
add_prestige = minor_prestige_gain
|
|
if = {
|
|
limit = {
|
|
NOR = {
|
|
has_relation_potential_friend = scope:scrounger
|
|
has_relation_friend = scope:scrounger
|
|
}
|
|
can_set_relation_potential_friend_trigger = { CHARACTER = scope:scrounger }
|
|
}
|
|
set_relation_potential_friend = scope:scrounger
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_relation_potential_friend = scope:scrounger
|
|
can_set_relation_friend_trigger = { CHARACTER = scope:scrounger }
|
|
}
|
|
set_relation_friend = { reason = friend_amusing_antics target = scope:scrounger }
|
|
}
|
|
scope:scrounger = {
|
|
target_weight_modifier_effect = {
|
|
VALUE = 2
|
|
}
|
|
}
|
|
trigger_event = {
|
|
id = court_yearly.6041
|
|
days = 180
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = 0.5
|
|
ai_sociability = 0.5
|
|
}
|
|
modifier = {
|
|
treasury_or_gold <= tiny_treasury_or_gold_value
|
|
add = -200
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option C: kick them out of court
|
|
option = {
|
|
name = court.6040.c
|
|
remove_courtier_or_guest = {
|
|
character = scope:scrounger
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOR = {
|
|
has_relation_potential_rival = scope:scrounger
|
|
has_relation_rival = scope:scrounger
|
|
}
|
|
can_set_relation_potential_rival_trigger = { CHARACTER = scope:scrounger }
|
|
}
|
|
set_relation_potential_rival = scope:scrounger
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_relation_potential_rival = scope:scrounger
|
|
can_set_relation_rival_trigger = { CHARACTER = scope:scrounger }
|
|
}
|
|
set_relation_rival = {
|
|
target = scope:scrounger
|
|
reason = rival_scrounger_kicked_out_of_court
|
|
}
|
|
}
|
|
add_stress = medium_stress_loss
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = -0.5
|
|
ai_greed = 0.25
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
court_yearly.6041 = {
|
|
type = character_event
|
|
title = court.6040.t
|
|
desc = court.6041.desc
|
|
theme = court
|
|
left_portrait = {
|
|
character = root
|
|
animation = admiration
|
|
}
|
|
right_portrait = {
|
|
character = scope:scrounger
|
|
animation = happiness
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
exists = scope:scrounger #checking that they are still alive
|
|
scope:scrounger = { is_alive = yes }
|
|
}
|
|
|
|
immediate = {
|
|
#poet trait is required for court poet position
|
|
hidden_effect = {
|
|
scope:scrounger = {
|
|
if = {
|
|
limit = {
|
|
NOT = { has_trait = lifestyle_poet }
|
|
}
|
|
add_trait = lifestyle_poet
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
employs_court_position = court_poet_court_position
|
|
any_court_position_holder = {
|
|
type = court_poet_court_position
|
|
}
|
|
}
|
|
random_court_position_holder = {
|
|
type = court_poet_court_position
|
|
save_scope_as = c_poet
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option A:
|
|
option = {
|
|
name = court.6041.a
|
|
if = {
|
|
limit = {
|
|
exists = scope:c_poet
|
|
}
|
|
revoke_court_position = {
|
|
recipient = scope:c_poet
|
|
court_position = court_poet_court_position
|
|
}
|
|
}
|
|
employ_character_as_position_in_current_scope_court_effect = {
|
|
CHARACTER = scope:scrounger
|
|
POSITION = court_poet
|
|
}
|
|
ai_chance = {
|
|
base = 40
|
|
modifier = {
|
|
add = 15
|
|
can_employ_court_position_type = court_poet_court_position
|
|
}
|
|
modifier = {
|
|
add = -25
|
|
short_term_gold < minor_gold_value
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option B:
|
|
option = {
|
|
name = court.6041.b
|
|
remove_short_term_gold = medium_gold_value
|
|
scope:scrounger = {
|
|
duel = {
|
|
skill = diplomacy
|
|
value = average_skill_rating
|
|
50 = {
|
|
desc = court.6041.b.failure
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -2
|
|
}
|
|
root = {
|
|
send_interface_toast = {
|
|
type = event_toast_effect_bad
|
|
title = court.6041.b.failure.tt
|
|
left_icon = scope:scrounger
|
|
stress_impact = {
|
|
ambitious = medium_stress_impact_gain
|
|
}
|
|
}
|
|
}
|
|
}
|
|
10 = {
|
|
desc = court.6041.b.success
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 2
|
|
}
|
|
create_inspiration = book_inspiration
|
|
custom_tooltip = inspire_interaction_book
|
|
root = {
|
|
send_interface_toast = {
|
|
type = event_toast_effect_good
|
|
title = court.6041.b.success.tt
|
|
left_icon = scope:scrounger
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 40
|
|
modifier = {
|
|
add = 15
|
|
OR = {
|
|
has_trait = ambitious
|
|
has_trait = diligent
|
|
}
|
|
}
|
|
modifier = {
|
|
add = -25
|
|
short_term_gold < medium_gold_value
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option C: No further investment
|
|
option = {
|
|
name = court.6041.c
|
|
scope:scrounger = {
|
|
add_opinion = {
|
|
modifier = disappointed_opinion
|
|
target = root
|
|
opinion = -20
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
modifier = {
|
|
add = 15
|
|
has_trait = greedy
|
|
}
|
|
modifier = {
|
|
add = 25
|
|
short_term_gold < medium_gold_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#####################################
|
|
# Lonely Days #
|
|
# by Linnéa Thimrén #
|
|
#####################################
|
|
|
|
#Your Friend is struggling with feeling isolated/lonely due to your official duties, make time for them or find other ways to make them feel better
|
|
scripted_trigger court_5001_basic_friend_trigger = {
|
|
is_courtier_of = root
|
|
is_available_ai = yes
|
|
}
|
|
|
|
scripted_trigger court_5001_basic_marriage_trigger = {
|
|
is_married = no
|
|
is_adult = yes
|
|
is_betrothed = no
|
|
can_marry_trigger = yes
|
|
is_concubine = no
|
|
}
|
|
|
|
court_yearly.5001 = {
|
|
type = character_event
|
|
title = court.5001.t
|
|
desc = court.5001.desc
|
|
theme = court
|
|
left_portrait = {
|
|
character = scope:friend
|
|
animation = sadness
|
|
}
|
|
right_portrait = {
|
|
character = scope:match_for_friend
|
|
animation = flirtation_left
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
NOT = { has_character_flag = had_event_court_5001 }
|
|
any_relation = {
|
|
type = friend
|
|
court_5001_basic_friend_trigger = yes
|
|
}
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
add = 0.25
|
|
any_relation = { #More likely if they have no cool minor titles
|
|
type = friend
|
|
court_5001_basic_friend_trigger = yes
|
|
has_any_court_position = no
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 0.25
|
|
any_relation = { #Slightly more likely if you have a pet companion and they don't
|
|
type = friend
|
|
court_5001_basic_friend_trigger = yes
|
|
root = {
|
|
has_cat_or_dog_trigger = yes
|
|
}
|
|
has_cat_or_dog_trigger = no
|
|
}
|
|
}
|
|
|
|
# Court weightings.
|
|
# ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_diplomatic }
|
|
}
|
|
|
|
immediate = {
|
|
add_character_flag = {
|
|
flag = had_event_court_5001
|
|
years = 10
|
|
}
|
|
random_relation = {
|
|
type = friend
|
|
limit = {
|
|
court_5001_basic_friend_trigger = yes
|
|
}
|
|
weight = {
|
|
base = 1
|
|
modifier = {
|
|
add = -1
|
|
has_any_court_position = yes
|
|
}
|
|
modifier = { #More likely to pick an unmarried friend
|
|
add = 1
|
|
court_5001_basic_marriage_trigger = yes
|
|
save_temporary_scope_as = friend_check
|
|
root = {
|
|
any_courtier = {
|
|
this != scope:friend_check
|
|
court_5001_basic_marriage_trigger = yes
|
|
can_marry_character_trigger = { CHARACTER = scope:friend_check }
|
|
scope:friend_check = { is_attracted_to_gender_of = prev }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
save_scope_as = friend
|
|
}
|
|
|
|
#Is there anyone for them to marry?
|
|
if = {
|
|
limit = {
|
|
scope:friend = {
|
|
court_5001_basic_marriage_trigger = yes
|
|
}
|
|
any_courtier = {
|
|
this != scope:friend
|
|
court_5001_basic_marriage_trigger = yes
|
|
can_marry_character_trigger = { CHARACTER = scope:friend }
|
|
scope:friend = { is_attracted_to_gender_of = prev }
|
|
}
|
|
}
|
|
random_courtier = {
|
|
limit = {
|
|
this != scope:friend
|
|
court_5001_basic_marriage_trigger = yes
|
|
can_marry_character_trigger = { CHARACTER = scope:friend }
|
|
scope:friend = { is_attracted_to_gender_of = prev }
|
|
}
|
|
weight = {
|
|
base = 1
|
|
opinion_modifier = {
|
|
opinion_target = scope:friend
|
|
multiplier = 1
|
|
}
|
|
modifier = { #More likely if they're openly lovers
|
|
add = 10
|
|
has_relation_lover = scope:friend
|
|
NOT = { has_secret_relation_lover = scope:friend }
|
|
}
|
|
modifier = { #Always a plus if your partner is into you
|
|
is_attracted_to_gender_of = scope:friend
|
|
add = 5
|
|
}
|
|
modifier = { #Let's aim for a similar age
|
|
OR = {
|
|
age < scope:friend.age_plus_10
|
|
age > scope:friend.age_minus_10
|
|
}
|
|
add = 2
|
|
}
|
|
}
|
|
save_scope_as = match_for_friend
|
|
}
|
|
}
|
|
|
|
|
|
#Can you gift them a cat/dog? We check this here so we keep the story used in script consistent even if they have both a cat and a dog
|
|
if = {
|
|
limit = {
|
|
has_cat_or_dog_trigger = yes
|
|
scope:friend = {
|
|
has_cat_or_dog_trigger = no
|
|
}
|
|
}
|
|
random_owned_story = {
|
|
limit = {
|
|
OR = {
|
|
story_type = story_cycle_pet_dog
|
|
story_type = story_cycle_pet_cat
|
|
}
|
|
}
|
|
save_scope_as = story
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
scope:friend = { has_any_court_position = no }
|
|
character_can_be_employed_in_a_court_position_trigger = {
|
|
CHARACTER = scope:friend
|
|
}
|
|
}
|
|
mark_court_position_for_employment_effect = {
|
|
CHARACTER = scope:friend
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { #Make time for them
|
|
name = court.5001.a
|
|
|
|
#Lose some court grandeur.
|
|
change_current_court_grandeur = minor_court_grandeur_loss
|
|
|
|
scope:friend = {
|
|
add_opinion = {
|
|
target = root
|
|
modifier = friendliness_opinion
|
|
opinion = 20
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
can_set_relation_best_friend_trigger = { CHARACTER = scope:friend }
|
|
}
|
|
set_relation_best_friend = { reason = best_friend_make_time copy_reason = friend target = scope:friend }
|
|
}
|
|
}
|
|
|
|
option = { #Marry them off
|
|
name = court.5001.b
|
|
trigger = {
|
|
exists = scope:match_for_friend
|
|
}
|
|
scope:friend = {
|
|
marry = scope:match_for_friend
|
|
add_opinion = {
|
|
target = root
|
|
modifier = grateful_opinion
|
|
opinion = 20
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { #Gift them your dog/cat
|
|
name = {
|
|
trigger = {
|
|
scope:story = { story_type = story_cycle_pet_dog }
|
|
}
|
|
text = court.5001.c_dog
|
|
}
|
|
name = {
|
|
trigger = {
|
|
scope:story = { story_type = story_cycle_pet_cat }
|
|
}
|
|
text = court.5001.c_cat
|
|
}
|
|
trigger = {
|
|
exists = scope:story
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
scope:story = { story_type = story_cycle_pet_dog }
|
|
}
|
|
transfer_dog_story_cycle_to_effect = {
|
|
CHARACTER = scope:friend
|
|
STORY = scope:story
|
|
}
|
|
}
|
|
else = {
|
|
transfer_cat_story_cycle_to_effect = {
|
|
CHARACTER = scope:friend
|
|
STORY = scope:story
|
|
}
|
|
}
|
|
|
|
scope:friend = {
|
|
if = {
|
|
limit = { #"What am I supposed to do with this??"
|
|
OR = {
|
|
has_personality_malicious_trigger = yes
|
|
AND = {
|
|
scope:story = { story_type = story_cycle_pet_cat }
|
|
has_character_modifier = cat_story_allergy_modifier
|
|
}
|
|
AND = {
|
|
scope:story = { story_type = story_cycle_pet_dog }
|
|
faith = { religion_tag = islam_religion }
|
|
}
|
|
}
|
|
}
|
|
add_opinion = {
|
|
target = root
|
|
modifier = dumped_animal_on_me_opinion
|
|
}
|
|
}
|
|
else = {
|
|
add_opinion = {
|
|
target = root
|
|
modifier = grateful_opinion
|
|
opinion = 15
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { #Give them a minor title
|
|
name = court.5001.d
|
|
trigger = {
|
|
exists = scope:court_position_to_fill
|
|
}
|
|
employ_character_as_marked_court_position_effect = {
|
|
CHARACTER = scope:friend
|
|
POSITION = scope:court_position_to_fill
|
|
}
|
|
scope:friend = {
|
|
add_opinion = {
|
|
target = root
|
|
modifier = grateful_opinion
|
|
opinion = 20
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#####################################
|
|
# The Haunting #
|
|
# by Linnéa Thimrén #
|
|
#####################################
|
|
|
|
# Family member died some time ago and is now rumored to haunt the place
|
|
court_yearly.5010 = {
|
|
type = character_event
|
|
title = court.5010.t
|
|
desc = court.5010.desc
|
|
theme = court
|
|
override_background = {
|
|
reference = corridor_night
|
|
}
|
|
left_portrait = {
|
|
character = scope:family_member
|
|
animation = sadness
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
is_ai = no
|
|
location = {
|
|
exists = var:possible_haunting
|
|
var:possible_haunting = { #The place belongs to the family of the deceased
|
|
OR = {
|
|
any_close_family_member = {
|
|
this = root
|
|
}
|
|
any_spouse = {
|
|
this = root
|
|
}
|
|
is_grandparent_of = root
|
|
is_great_grandparent_of = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 0.5
|
|
modifier = { #More likely if the death was gruesome
|
|
add = 0.75
|
|
location = {
|
|
var:possible_haunting = {
|
|
had_gruesome_death_trigger = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
# Court weightings.
|
|
# ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_scholarly }
|
|
}
|
|
|
|
immediate = {
|
|
location = {
|
|
var:possible_haunting = {
|
|
save_scope_as = family_member
|
|
}
|
|
remove_variable = possible_haunting
|
|
}
|
|
}
|
|
|
|
option = { #Dismiss their fears and denounce their superstition
|
|
name = court.5010.a
|
|
trigger = {
|
|
faith = {
|
|
NOR = {
|
|
has_doctrine = tenet_ancestor_worship
|
|
has_doctrine = tenet_adorcism
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
capital_county = {
|
|
NOT = { has_county_modifier = county_dismissed_servants_fear_modifier }
|
|
}
|
|
}
|
|
capital_county = {
|
|
add_county_modifier = {
|
|
modifier = county_dismissed_servants_fear_modifier
|
|
days = 3650
|
|
}
|
|
}
|
|
}
|
|
add_piety = minor_piety_gain
|
|
}
|
|
|
|
option = { #Encourage them to be respectful and leave the ghost be
|
|
name = court.5010.b
|
|
trigger = {
|
|
faith = {
|
|
OR = {
|
|
has_doctrine = tenet_ancestor_worship
|
|
has_doctrine = tenet_adorcism
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
capital_county = {
|
|
NOT = { has_county_modifier = county_dismissed_servants_fear_modifier }
|
|
}
|
|
}
|
|
capital_county = {
|
|
add_county_modifier = {
|
|
modifier = county_dismissed_servants_fear_modifier
|
|
days = 3650
|
|
}
|
|
}
|
|
}
|
|
add_piety = minor_piety_gain
|
|
}
|
|
|
|
option = { #Hire someone to investigate and banish the ghost
|
|
name = court.5010.c
|
|
if = {
|
|
limit = {
|
|
capital_county = {
|
|
NOT = { has_county_modifier = county_acknowledged_servants_fear_modifier }
|
|
}
|
|
}
|
|
capital_county = {
|
|
add_county_modifier = {
|
|
modifier = county_acknowledged_servants_fear_modifier
|
|
days = 3650
|
|
}
|
|
}
|
|
}
|
|
remove_short_term_gold = minor_gold_value
|
|
if = {
|
|
limit = {
|
|
exists = cp:councillor_court_chaplain
|
|
}
|
|
cp:councillor_court_chaplain = {
|
|
add_opinion = {
|
|
target = root
|
|
modifier = impious_opinion
|
|
opinion = -20
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#####################################
|
|
# Pillow Talk #
|
|
# by Linnéa Thimrén #
|
|
#####################################
|
|
|
|
# Your cat has claimed a courtier's bed
|
|
court_yearly.5020 = {
|
|
type = character_event
|
|
title = court.5020.t
|
|
desc = court.5020.desc
|
|
theme = court
|
|
left_portrait = {
|
|
character = scope:courtier
|
|
animation = anger
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
NOT = { has_character_flag = had_event_court_5020 }
|
|
any_owned_story = {
|
|
type = story_cycle_pet_cat
|
|
}
|
|
any_courtier = {
|
|
is_available_ai_adult = yes
|
|
}
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 0.5
|
|
modifier = { #More likely if you have a (potential)rival to irritate
|
|
add = 0.75
|
|
any_courtier = {
|
|
OR = {
|
|
has_relation_rival = root
|
|
has_relation_potential_rival = root
|
|
}
|
|
}
|
|
}
|
|
|
|
# Court weightings.
|
|
# ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_scholarly }
|
|
}
|
|
|
|
immediate = {
|
|
add_character_flag = {
|
|
flag = had_event_court_5020
|
|
years = 10
|
|
}
|
|
random_courtier = {
|
|
weight = { #More likely if you dislike each other
|
|
opinion_modifier = {
|
|
opinion_target = root
|
|
multiplier = -0.5
|
|
}
|
|
modifier = {
|
|
add = 5
|
|
OR = {
|
|
has_relation_rival = root
|
|
has_relation_potential_rival = root
|
|
}
|
|
}
|
|
ai_value_modifier = {
|
|
ai_boldness = 0.75
|
|
}
|
|
}
|
|
save_scope_as = courtier
|
|
}
|
|
random_owned_story = {
|
|
type = story_cycle_pet_cat
|
|
save_scope_as = story
|
|
}
|
|
}
|
|
|
|
option = { #It's the cat's pillow now
|
|
name = court.5020.a
|
|
if = {
|
|
limit = {
|
|
NOT = { has_relation_rival = scope:courtier }
|
|
}
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_deposed_for_cat
|
|
CHARACTER = scope:courtier
|
|
OPINION = default_rival_opinion
|
|
}
|
|
}
|
|
else = {
|
|
scope:courtier = {
|
|
add_opinion = {
|
|
target = root
|
|
modifier = angry_opinion
|
|
opinion = -20
|
|
}
|
|
}
|
|
}
|
|
#Might backfire...
|
|
hidden_effect = {
|
|
scope:courtier = {
|
|
if = {
|
|
limit = {
|
|
ai_vengefulness >= medium_positive_ai_value
|
|
}
|
|
random = {
|
|
chance = 20
|
|
ai_value_modifier = {
|
|
ai_vengefulness = 1
|
|
ai_compassion = -0.5
|
|
}
|
|
root = {
|
|
trigger_event = {
|
|
id = court_yearly.5021
|
|
days = { 50 100 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { #I'll handle it
|
|
name = court.5020.b
|
|
scope:courtier = {
|
|
add_opinion = {
|
|
target = root
|
|
modifier = grateful_opinion
|
|
opinion = 20
|
|
}
|
|
}
|
|
#Might backfire... Cat runs away
|
|
hidden_effect = {
|
|
random = {
|
|
chance = 20
|
|
add_character_flag = cat_is_dying #Just so no other cat-events trigger in the meantime
|
|
trigger_event = {
|
|
id = pet_animal.0197
|
|
days = { 50 100 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#The courtier killed the cat
|
|
court_yearly.5021 = {
|
|
type = character_event
|
|
title = court.5020.t
|
|
desc = {
|
|
desc = court.5021.desc
|
|
triggered_desc = { #The things we do for bad jokes...
|
|
trigger = {
|
|
var:story_cycle_cat_name = flag:cat_name_mittens
|
|
}
|
|
desc = court.5021.desc_mittens
|
|
}
|
|
}
|
|
theme = court
|
|
left_portrait = {
|
|
character = scope:courtier
|
|
animation = happiness
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
exists = scope:story
|
|
scope:courtier = {
|
|
is_alive = yes
|
|
is_courtier_of = root
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
show_as_tooltip = {
|
|
remove_cat_story_modifiers_effect = yes
|
|
}
|
|
scope:courtier = {
|
|
hidden_effect = {
|
|
add_character_modifier = {
|
|
modifier = cat_story_fur_mittens_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = {
|
|
trigger = {
|
|
var:story_cycle_cat_name = flag:cat_name_mittens
|
|
}
|
|
text = court.5021.a_mittens
|
|
}
|
|
name = {
|
|
trigger = {
|
|
NOT = { var:story_cycle_cat_name = flag:cat_name_mittens }
|
|
}
|
|
text = court.5021.a
|
|
}
|
|
}
|
|
|
|
option = { #Throw them in jail!
|
|
name = court.5021.b
|
|
imprison_character_effect = {
|
|
TARGET = scope:courtier
|
|
IMPRISONER = root
|
|
}
|
|
}
|
|
|
|
option = { #Give them a similar fate
|
|
name = court.5021.c
|
|
execute_prisoner_effect = {
|
|
VICTIM = scope:courtier
|
|
EXECUTIONER = root
|
|
}
|
|
}
|
|
|
|
after = {
|
|
scope:story = {
|
|
hidden_effect = { end_story = yes }
|
|
}
|
|
}
|
|
}
|
|
|
|
#####################################
|
|
# The Ballad of the Garlic King #
|
|
# by Claudia Baldassi #
|
|
# 6030 #
|
|
#####################################
|
|
|
|
# The adventures of a foolish ruler have become really popular among wandering minstrels. The king of the story looks too much like you for comfort. #
|
|
|
|
scripted_trigger court_6030_valid_courtier_trigger = {
|
|
is_available_ai_adult = yes
|
|
OR = {
|
|
has_relation_rival = root
|
|
opinion = {
|
|
target = root
|
|
value < 0
|
|
}
|
|
has_trait = intellect_bad
|
|
has_trait = dull
|
|
}
|
|
}
|
|
|
|
court_yearly.6030 = {
|
|
type = character_event
|
|
title = court.6030.t
|
|
desc = court.6030.desc
|
|
theme = court
|
|
left_portrait = {
|
|
character = root
|
|
animation = anger
|
|
}
|
|
right_portrait = {
|
|
character = scope:6030_courtier
|
|
animation = happiness
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
highest_held_title_tier >= tier_kingdom
|
|
is_adult = yes
|
|
NOT = {
|
|
has_character_flag = court_6030_cooldown
|
|
}
|
|
any_courtier_or_guest = {
|
|
court_6030_valid_courtier_trigger = yes
|
|
}
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 0.8
|
|
|
|
# Court weightings.
|
|
# ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_diplomatic }
|
|
}
|
|
|
|
immediate = {
|
|
add_character_flag = court_6030_cooldown
|
|
random_courtier_or_guest = {
|
|
limit = {
|
|
court_6030_valid_courtier_trigger = yes
|
|
}
|
|
save_scope_as = 6030_courtier
|
|
}
|
|
}
|
|
|
|
# Option F: I don't care
|
|
option = {
|
|
name = court.6030.f
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_trait = reclusive
|
|
}
|
|
}
|
|
add_stress = medium_stress_gain
|
|
}
|
|
random = {
|
|
chance = 15
|
|
if = {
|
|
limit = {
|
|
is_female = yes
|
|
}
|
|
give_nickname = nick_garlic_queen
|
|
}
|
|
else = {
|
|
give_nickname = nick_the_garlic
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_energy = -0.5
|
|
ai_sociability = -0.5
|
|
}
|
|
modifier = {
|
|
has_trait = reclusive
|
|
add = 25
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option D: prohibit and arrest
|
|
option = {
|
|
name = court.6030.d
|
|
custom_tooltip = court.6030.d.tt
|
|
trigger = {
|
|
OR = {
|
|
has_trait = wrathful
|
|
has_trait = vengeful
|
|
has_trait = callous
|
|
has_trait = irritable
|
|
has_trait = arrogant
|
|
}
|
|
}
|
|
imprison = {
|
|
target = scope:6030_courtier
|
|
type = dungeon
|
|
}
|
|
add_prestige = minor_prestige_gain
|
|
add_dread = major_dread_gain
|
|
every_courtier_or_guest = {
|
|
custom = court_6000_all_courtiers_and_guests
|
|
add_opinion = {
|
|
target = root
|
|
modifier = scared_opinion
|
|
opinion = -20
|
|
}
|
|
}
|
|
stress_impact = {
|
|
just = medium_stress_impact_gain
|
|
gregarious = medium_stress_impact_gain
|
|
shy = medium_stress_impact_gain
|
|
craven = medium_stress_impact_gain
|
|
humble = medium_stress_impact_gain
|
|
compassionate = major_stress_impact_gain
|
|
forgiving = major_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_vengefulness = 0.5
|
|
ai_energy = 0.25
|
|
}
|
|
modifier = {
|
|
has_trait = just
|
|
add = -25
|
|
}
|
|
modifier = {
|
|
has_trait = gregarious
|
|
add = -25
|
|
}
|
|
modifier = {
|
|
has_trait = shy
|
|
add = -25
|
|
}
|
|
modifier = {
|
|
has_trait = craven
|
|
add = -25
|
|
}
|
|
modifier = {
|
|
has_trait = humble
|
|
add = -25
|
|
}
|
|
modifier = {
|
|
has_trait = compassionate
|
|
add = -50
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option A: laugh it off
|
|
option = {
|
|
name = court.6030.a
|
|
trigger = {
|
|
OR = {
|
|
has_trait = gregarious
|
|
has_trait = forgiving
|
|
has_trait = humble
|
|
}
|
|
NOR = {
|
|
has_trait = shy
|
|
has_trait = depressed_1
|
|
has_trait = depressed_genetic
|
|
has_trait = craven
|
|
has_trait = reclusive
|
|
}
|
|
}
|
|
every_courtier_or_guest = {
|
|
custom = court_6000_all_courtiers_and_guests
|
|
add_opinion = {
|
|
target = root
|
|
modifier = amused_opinion
|
|
opinion = 10
|
|
}
|
|
}
|
|
add_stress = medium_stress_loss
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_sociability = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option B: this is so humiliating...
|
|
option = {
|
|
name = court.6030.b
|
|
trigger = {
|
|
OR = {
|
|
has_trait = shy
|
|
has_trait = depressed_1
|
|
has_trait = depressed_genetic
|
|
has_trait = craven
|
|
has_trait = reclusive
|
|
}
|
|
NOR = {
|
|
has_trait = gregarious
|
|
has_trait = forgiving
|
|
has_trait = humble
|
|
}
|
|
}
|
|
add_prestige = medium_prestige_loss
|
|
random = {
|
|
chance = 15
|
|
if = {
|
|
limit = {
|
|
is_female = yes
|
|
}
|
|
give_nickname = nick_garlic_queen
|
|
}
|
|
else = {
|
|
give_nickname = nick_the_garlic
|
|
}
|
|
}
|
|
every_courtier_or_guest = {
|
|
custom = court_6000_all_courtiers_and_guests
|
|
add_opinion = {
|
|
target = root
|
|
modifier = amused_opinion
|
|
opinion = 15
|
|
}
|
|
}
|
|
add_stress = medium_stress_gain
|
|
ai_chance = {
|
|
base = 80
|
|
ai_value_modifier = {
|
|
ai_sociability = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option C: lash out at your court
|
|
option = {
|
|
name = court.6030.c
|
|
trigger = {
|
|
OR = {
|
|
has_trait = wrathful
|
|
has_trait = irritable
|
|
has_trait = arbitrary
|
|
has_trait = vengeful
|
|
has_trait = callous
|
|
}
|
|
}
|
|
add_dread = medium_dread_gain
|
|
every_courtier_or_guest = {
|
|
custom = court_6000_all_courtiers_and_guests
|
|
add_opinion = {
|
|
target = root
|
|
modifier = scared_opinion
|
|
opinion = -10
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_energy = 0.25
|
|
ai_vengefulness = 0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option E: heads will roll...
|
|
option = {
|
|
name = court.6030.e
|
|
trigger = {
|
|
OR = {
|
|
has_trait = wrathful
|
|
has_trait = sadistic
|
|
has_trait = torturer
|
|
has_trait = vengeful
|
|
has_trait = giant
|
|
has_trait = physique_good
|
|
has_trait = berserker
|
|
}
|
|
}
|
|
custom_tooltip = court.6030.e.tt
|
|
random_list = {
|
|
20 = {
|
|
scope:6030_courtier = {
|
|
death = {
|
|
death_reason = death_beaten
|
|
killer = root
|
|
}
|
|
}
|
|
}
|
|
50 = {
|
|
scope:6030_courtier = {
|
|
increase_wounds_effect = { REASON = beaten }
|
|
}
|
|
}
|
|
30 = {
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_punched_for_song
|
|
CHARACTER = scope:6030_courtier
|
|
OPINION = -30
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:6030_courtier
|
|
modifier = scared_opinion
|
|
opinion = -50
|
|
}
|
|
}
|
|
}
|
|
every_courtier_or_guest = {
|
|
custom = court_6000_all_courtiers_and_guests
|
|
add_opinion = {
|
|
target = root
|
|
modifier = scared_opinion
|
|
opinion = -25
|
|
}
|
|
}
|
|
stress_impact = {
|
|
eccentric = medium_stress_impact_loss
|
|
shy = major_stress_impact_gain
|
|
compassionate = major_stress_impact_gain
|
|
patient = major_stress_impact_gain
|
|
}
|
|
add_dread = major_dread_gain
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_vengefulness = 1
|
|
ai_rationality = -0.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#########################
|
|
# Captured Beast
|
|
# by George Luff
|
|
#########################
|
|
|
|
scripted_trigger court_7100_huntsmaster_trigger = {
|
|
has_court_position = master_of_hunt_court_position
|
|
is_available_healthy_ai_adult = yes
|
|
}
|
|
|
|
scripted_effect court_7100_animal_bonus_effect = {
|
|
# Gains modifier based on animal
|
|
if = {
|
|
limit = {
|
|
scope:captured_animal = flag:wolf
|
|
}
|
|
add_character_modifier = {
|
|
modifier = exotic_pet_wolf
|
|
years = 10
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:captured_animal = flag:bear
|
|
}
|
|
add_character_modifier = {
|
|
modifier = exotic_pet_bear
|
|
years = 10
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:captured_animal = flag:lion
|
|
}
|
|
add_character_modifier = {
|
|
modifier = exotic_pet_lion
|
|
years = 10
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:captured_animal = flag:tiger
|
|
}
|
|
add_character_modifier = {
|
|
modifier = exotic_pet_tiger
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
|
|
### Exotic Animal event
|
|
court_yearly.7100 = {
|
|
type = character_event
|
|
title = court.7100.title
|
|
desc = court.7100.desc
|
|
theme = court
|
|
left_portrait = {
|
|
character = root
|
|
animation = fear
|
|
}
|
|
right_portrait = {
|
|
character = scope:huntmaster
|
|
animation = personality_bold
|
|
}
|
|
|
|
cooldown = { years = 10 }
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
|
|
# Court weightings.
|
|
# ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_warlike }
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
# Has Master of the Hunt employed
|
|
any_court_position_holder = {
|
|
court_7100_huntsmaster_trigger = yes
|
|
}
|
|
|
|
# Does not already have an exotic pet
|
|
NOR = {
|
|
has_character_modifier = exotic_pet_wolf
|
|
has_character_modifier = exotic_pet_bear
|
|
has_character_modifier = exotic_pet_lion
|
|
has_character_modifier = exotic_pet_tiger
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
# Decide on which animal it is
|
|
random_list = {
|
|
25 = { # Wolf
|
|
save_scope_value_as = {
|
|
name = captured_animal
|
|
value = flag:wolf
|
|
}
|
|
}
|
|
|
|
25 = { # Bear
|
|
# Not outside of Europe or Asian black bear territory
|
|
modifier = {
|
|
factor = 0
|
|
location = {
|
|
NOR = {
|
|
geographical_region = world_europe
|
|
geographical_region = world_tibet
|
|
geographical_region = world_himalaya
|
|
geographical_region = world_burma
|
|
geographical_region = world_middle_east_persia
|
|
geographical_region = world_asia_china
|
|
geographical_region = world_asia_japan
|
|
geographical_region = world_asia_korea
|
|
geographical_region = world_asia_southeast
|
|
}
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = captured_animal
|
|
value = flag:bear
|
|
}
|
|
}
|
|
|
|
25 = { # Lion
|
|
# Not outside of Africa
|
|
modifier = {
|
|
factor = 0
|
|
location = {
|
|
NOT = { geographical_region = world_africa }
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = captured_animal
|
|
value = flag:lion
|
|
}
|
|
}
|
|
|
|
25 = { # Tiger
|
|
# Not outside of India or Asia
|
|
modifier = {
|
|
factor = 0
|
|
location = {
|
|
NOR = {
|
|
geographical_region = world_india
|
|
geographical_region = world_tibet
|
|
geographical_region = world_himalaya
|
|
geographical_region = world_burma
|
|
geographical_region = world_asia_china
|
|
geographical_region = world_asia_korea
|
|
geographical_region = world_asia_southeast
|
|
}
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = captured_animal
|
|
value = flag:tiger
|
|
}
|
|
}
|
|
}
|
|
|
|
# Save the Master of the Hunt in scope
|
|
random_court_position_holder = {
|
|
limit = {
|
|
court_7100_huntsmaster_trigger = yes
|
|
}
|
|
save_scope_as = huntmaster
|
|
}
|
|
}
|
|
|
|
# Dispose of it immediately!
|
|
option = {
|
|
name = court.7100.a
|
|
custom_tooltip = court.7100.a.tt
|
|
|
|
scope:huntmaster = {
|
|
add_opinion = {
|
|
modifier = rejected_gift_opinion
|
|
target = root
|
|
opinion = -20
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
brave = medium_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
# I shall keep it as a pet!
|
|
option = {
|
|
name = court.7100.b
|
|
stress_impact = {
|
|
craven = medium_stress_impact_gain
|
|
}
|
|
random = {
|
|
chance = 75
|
|
modifier = {
|
|
add = {
|
|
value = prowess
|
|
multiply = -1
|
|
multiply = 2.5
|
|
min = -50
|
|
}
|
|
}
|
|
increase_wounds_no_death_effect = { REASON = wild_animal }
|
|
}
|
|
court_7100_animal_bonus_effect = yes
|
|
}
|
|
|
|
# You can keep it!
|
|
option = {
|
|
name = court.7100.c
|
|
|
|
scope:huntmaster = {
|
|
add_opinion = {
|
|
modifier = disappointed_opinion
|
|
target = root
|
|
opinion = -10
|
|
}
|
|
random = {
|
|
chance = 75
|
|
modifier = {
|
|
add = {
|
|
value = scope:huntmaster.prowess
|
|
multiply = -1
|
|
multiply = 2.5
|
|
min = -50
|
|
}
|
|
}
|
|
increase_wounds_no_death_effect = { REASON = wild_animal }
|
|
}
|
|
court_7100_animal_bonus_effect = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
#########################
|
|
# Loud and Proud
|
|
# by George Luff
|
|
#########################
|
|
|
|
scripted_trigger court_7200_court_musician_trigger = {
|
|
has_court_position = court_musician_court_position
|
|
is_available_healthy_ai_adult = yes
|
|
}
|
|
|
|
## Musician won't stop making noise
|
|
court_yearly.7200 = {
|
|
type = character_event
|
|
title = court.7200.title
|
|
desc = {
|
|
desc = court.7200.intro.desc
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
has_character_flag = court_7200_drum
|
|
}
|
|
desc = court.7200.drum.desc
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
has_character_flag = court_7200_trombone
|
|
}
|
|
desc = court.7200.trombone.desc
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
has_character_flag = court_7200_pipes
|
|
}
|
|
desc = court.7200.pipes.desc
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
has_character_flag = court_7200_guitar
|
|
}
|
|
desc = court.7200.guitar.desc
|
|
}
|
|
}
|
|
desc = court.7200.outro.desc
|
|
}
|
|
theme = court
|
|
left_portrait = {
|
|
character = root
|
|
animation = worry
|
|
}
|
|
right_portrait = {
|
|
character = scope:loud_musician
|
|
animation = happiness
|
|
}
|
|
|
|
cooldown = { years = 5 }
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
|
|
# Court weightings.
|
|
# ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_scholarly }
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
# Employs a Court Musician
|
|
any_court_position_holder = {
|
|
court_7200_court_musician_trigger = yes
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
# Select court musician
|
|
random_court_position_holder = {
|
|
limit = {
|
|
court_7200_court_musician_trigger = yes
|
|
}
|
|
save_scope_as = loud_musician
|
|
}
|
|
random_list = {
|
|
25 = {
|
|
add_character_flag = court_7200_drum
|
|
}
|
|
25 = {
|
|
add_character_flag = court_7200_trombone
|
|
}
|
|
25 = {
|
|
add_character_flag = court_7200_pipes
|
|
}
|
|
25 = {
|
|
add_character_flag = court_7200_guitar
|
|
}
|
|
}
|
|
}
|
|
|
|
# Persuade the musician to keep to a curfew on the racket
|
|
option = {
|
|
name = court.7200.a
|
|
|
|
stress_impact = {
|
|
sadistic = medium_stress_impact_gain
|
|
}
|
|
|
|
every_courtier_or_guest = {
|
|
custom = all_courtiers_and_guests
|
|
limit = {
|
|
this != scope:loud_musician
|
|
}
|
|
add_opinion = {
|
|
modifier = angry_opinion
|
|
target = root
|
|
opinion = -10
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_rationality = 10
|
|
ai_vengefulness = -10
|
|
}
|
|
}
|
|
}
|
|
|
|
# Strip them of their position
|
|
option = {
|
|
name = court.7200.b
|
|
|
|
stress_impact = {
|
|
arbitrary = medium_stress_impact_loss
|
|
}
|
|
|
|
revoke_court_position = {
|
|
court_position = court_musician_court_position
|
|
recipient = scope:loud_musician
|
|
}
|
|
|
|
scope:loud_musician = {
|
|
add_opinion = {
|
|
modifier = angry_opinion
|
|
target = root
|
|
opinion = -15
|
|
}
|
|
}
|
|
|
|
add_character_modifier = {
|
|
modifier = fired_court_position
|
|
years = 5
|
|
}
|
|
|
|
every_courtier_or_guest = {
|
|
limit = {
|
|
this != scope:loud_musician
|
|
}
|
|
custom = all_courtiers_and_guests
|
|
add_opinion = {
|
|
modifier = grateful_opinion
|
|
target = root
|
|
opinion = 25
|
|
}
|
|
}
|
|
}
|
|
|
|
# Just knock it off, okay?
|
|
option = {
|
|
name = court.7200.c
|
|
stress_impact = {
|
|
calm = medium_stress_impact_gain
|
|
wrathful = medium_stress_impact_loss
|
|
}
|
|
|
|
scope:loud_musician = {
|
|
add_opinion = {
|
|
target = root
|
|
modifier = cruelty_opinion
|
|
opinion = -20
|
|
}
|
|
}
|
|
every_courtier_or_guest = {
|
|
limit = {
|
|
this != scope:loud_musician
|
|
}
|
|
custom = all_courtiers_and_guests
|
|
add_opinion = {
|
|
modifier = grateful_opinion
|
|
target = root
|
|
opinion = 15
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Court event 7030 - Foreign Merchants wish to establish a merchant quarter
|
|
court_yearly.7030 = {
|
|
type = character_event
|
|
title = court.7030.title
|
|
desc = court.7030.desc
|
|
theme = court
|
|
|
|
cooldown = { years = 20 }
|
|
left_portrait = {
|
|
character = scope:foreign_merchant
|
|
animation = personality_rational
|
|
}
|
|
right_portrait = {
|
|
character = scope:steward
|
|
animation = disapproval
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
exists = cp:councillor_steward
|
|
cp:councillor_steward = {
|
|
is_available_ai_adult = yes
|
|
}
|
|
any_character_to_title_neighboring_and_across_water_county = {
|
|
NOT = {
|
|
culture = { this = root.culture }
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
# Save foreign county as scope
|
|
random_character_to_title_neighboring_and_across_water_county = {
|
|
limit = {
|
|
NOT = {
|
|
culture = { this = root.culture }
|
|
}
|
|
}
|
|
save_scope_as = merchant_county
|
|
}
|
|
|
|
cp:councillor_steward = {
|
|
save_scope_as = steward
|
|
}
|
|
|
|
## Create Merchant
|
|
create_character = {
|
|
template = foreign_merchant_template
|
|
location = root.capital_province
|
|
save_scope_as = foreign_merchant
|
|
}
|
|
}
|
|
|
|
option = { # Establish merchant quarter, cultural acceptance
|
|
name = court.7030.a
|
|
root.culture = {
|
|
change_cultural_acceptance = {
|
|
target = scope:foreign_merchant.culture
|
|
value = major_cultural_acceptance_gain
|
|
desc = cultural_acceptance_foreign_merchants
|
|
}
|
|
}
|
|
|
|
root.capital_county = {
|
|
add_county_modifier = {
|
|
modifier = foreign_merchant_community
|
|
years = 20
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
arrogant = minor_stress_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_sociability = 0.2
|
|
ai_greed = 0.5
|
|
}
|
|
|
|
}
|
|
}
|
|
|
|
option = { # Expand the mercantile district for everyone
|
|
name = court.7030.c
|
|
trigger = {
|
|
capital_county = {
|
|
title_province = {
|
|
OR = {
|
|
AND = {
|
|
building_common_tradeport_requirement_terrain = yes
|
|
NOT = { has_building = common_tradeport_08 }
|
|
}
|
|
AND = {
|
|
has_building_or_higher = city_01
|
|
NOT = { has_building = guild_halls_08 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
remove_treasury_or_gold = medium_treasury_or_gold_value
|
|
|
|
if = {
|
|
limit = {
|
|
root.capital_county = {
|
|
title_province = {
|
|
building_common_tradeport_requirement_terrain = yes
|
|
}
|
|
}
|
|
}
|
|
root.capital_county = {
|
|
title_province = {
|
|
upgrade_tradeport = yes
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
root.capital_county = {
|
|
title_province = {
|
|
has_building_or_higher = city_01
|
|
}
|
|
}
|
|
}
|
|
root.capital_county = {
|
|
title_province = {
|
|
upgrade_guildhall = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 20
|
|
ai_value_modifier = {
|
|
ai_greed = -0.5
|
|
ai_rationality = 0.2
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
greedy = medium_stress_gain
|
|
}
|
|
}
|
|
|
|
option = { # Ban the foreigners!
|
|
name = court.7030.d
|
|
custom_tooltip = court.7030.d.tt
|
|
add_treasury_or_gold = medium_treasury_or_gold_value
|
|
scope:foreign_merchant = {
|
|
show_as_tooltip = {
|
|
banish = yes
|
|
}
|
|
silent_disappearance_effect = yes
|
|
}
|
|
|
|
root.culture = {
|
|
change_cultural_acceptance = {
|
|
target = scope:foreign_merchant.culture
|
|
value = major_cultural_acceptance_loss
|
|
desc = cultural_acceptance_foreigners_expelled
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 20
|
|
ai_value_modifier = {
|
|
ai_zeal = 1
|
|
ai_rationality = -1
|
|
ai_greed = 1
|
|
ai_compassion = -0.5
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
eccentric = minor_stress_impact_loss
|
|
generous = medium_stress_impact_gain
|
|
compassionate = medium_stress_impact_gain
|
|
cynical = minor_stress_impact_gain
|
|
}
|
|
}
|
|
}
|
|
|
|
### One of your courtiers has started sitting on a pillar during the day
|
|
|
|
scripted_trigger court_7040_ascetic_religion_trigger = {
|
|
faith = {
|
|
OR = {
|
|
OR = { religion_tag = eastern_orthodox_religion religion_tag = catholic_religion religion_tag = protestant_religion }
|
|
religion_tag = buddhism_religion
|
|
religion_tag = jainism_religion
|
|
religion_tag = taoism_religion
|
|
religion_tag = dualism_religion
|
|
has_doctrine = tenet_asceticism
|
|
}
|
|
}
|
|
}
|
|
|
|
court_yearly.7040 = {
|
|
type = character_event
|
|
title = court.7040.title
|
|
desc = court.7040.desc
|
|
theme = court
|
|
|
|
cooldown = { years = 10 }
|
|
left_portrait = {
|
|
character = root
|
|
animation = throne_room_conversation_1
|
|
}
|
|
right_portrait = {
|
|
character = scope:chaplain
|
|
animation = disapproval
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
NOT = { has_character_modifier = court_7040_ascetic_practices }
|
|
# Must follow a faith that historically practised asceticism, or possess the asceticism tenet
|
|
|
|
root = { court_7040_ascetic_religion_trigger = yes }
|
|
# Courtier must be of the same faith as root
|
|
|
|
any_courtier = {
|
|
ep1_spare_courtier_trigger = yes
|
|
faith = root.faith
|
|
}
|
|
|
|
# We need the court chaplain for narrative purposes
|
|
exists = cp:councillor_court_chaplain
|
|
cp:councillor_court_chaplain = {
|
|
is_available_healthy_ai_adult = yes
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
# Select courtier
|
|
random_courtier = {
|
|
limit = {
|
|
ep1_spare_courtier_trigger = yes
|
|
faith = root.faith
|
|
}
|
|
add_trait = reclusive
|
|
save_scope_as = ascetic
|
|
}
|
|
|
|
# Select the court chaplain
|
|
cp:councillor_court_chaplain = {
|
|
save_scope_as = chaplain
|
|
}
|
|
|
|
# Select religious head for option b
|
|
if = {
|
|
limit = {
|
|
faith = {
|
|
religious_head ?= {
|
|
this != root
|
|
}
|
|
}
|
|
}
|
|
faith.religious_head = {
|
|
save_scope_as = head_of_faith
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Send them to the religious head, if they exist
|
|
name = court.7040.b
|
|
|
|
trigger = {
|
|
exists = scope:head_of_faith
|
|
exists = scope:head_of_faith.capital_province
|
|
}
|
|
|
|
remove_courtier_or_guest = { character = scope:ascetic new_location = scope:head_of_faith.capital_province }
|
|
|
|
scope:head_of_faith = {
|
|
add_opinion = {
|
|
modifier = grateful_opinion
|
|
target = root
|
|
opinion = 25
|
|
}
|
|
}
|
|
|
|
faith = {
|
|
change_fervor = {
|
|
value = 5
|
|
desc = fervor_gain_ascetic_example
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 40
|
|
ai_value_modifier = {
|
|
ai_zeal = 0.4
|
|
ai_compassion = -0.2
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Truly a pious individual, their example inspires me!
|
|
name = court.7040.c
|
|
|
|
add_character_modifier = {
|
|
modifier = court_7040_ascetic_practices
|
|
years = 10
|
|
}
|
|
|
|
stress_impact = {
|
|
lazy = minor_stress_gain
|
|
cynical = minor_stress_gain
|
|
}
|
|
ai_chance = {
|
|
base = 40
|
|
ai_value_modifier = {
|
|
ai_zeal = 1
|
|
ai_boldness = 0.5
|
|
ai_honor = 0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # If you want to live in isolation, do so somewhere else!
|
|
name = court.7040.d
|
|
|
|
add_piety = minor_piety_loss
|
|
|
|
stress_impact = {
|
|
zealous = medium_stress_gain
|
|
}
|
|
|
|
scope:ascetic = {
|
|
show_as_tooltip = {
|
|
banish = yes
|
|
}
|
|
silent_disappearance_effect = yes
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_zeal = -1
|
|
ai_compassion = -1
|
|
ai_honor = -0.5
|
|
ai_vengefulness = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Just ignore them, they'll get over it eventually.
|
|
name = court.7040.a
|
|
|
|
scope:chaplain = {
|
|
add_opinion = {
|
|
target = root
|
|
modifier = ignored_concerns
|
|
}
|
|
}
|
|
|
|
add_piety = minor_piety_loss
|
|
|
|
stress_impact = {
|
|
zealous = minor_stress_gain
|
|
impatient = minor_stress_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 10
|
|
ai_value_modifier = {
|
|
ai_zeal = -1
|
|
ai_rationality = 1
|
|
ai_compassion = 0.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
########## Your caravans are attacked by rampaging Christian nobles!
|
|
|
|
court_yearly.4350 = {
|
|
type = character_event
|
|
title = court.4350.t
|
|
desc = court.4350.desc
|
|
theme = diplomacy_foreign_affairs_focus
|
|
lower_left_portrait = {
|
|
character = scope:caravan_attacker_liege
|
|
}
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_honorable
|
|
}
|
|
right_portrait = {
|
|
character = scope:concerned_marshal
|
|
animation = worry
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
NOT = { has_character_flag = has_had_caravan_islamic_event }
|
|
is_at_war = no
|
|
religion = religion:islam_religion
|
|
any_neighboring_realm_same_rank_owner = {
|
|
is_landed = yes
|
|
OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion }
|
|
in_diplomatic_range = root
|
|
liege != root
|
|
}
|
|
exists = root.cp:councillor_marshal
|
|
}
|
|
|
|
immediate = {
|
|
add_character_flag = {
|
|
flag = has_had_caravan_islamic_event
|
|
days = 1825
|
|
}
|
|
cp:councillor_marshal = { save_scope_as = concerned_marshal }
|
|
random_neighboring_realm_same_rank_owner = {
|
|
limit = {
|
|
is_landed = yes
|
|
OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion }
|
|
in_diplomatic_range = root
|
|
liege != root
|
|
}
|
|
save_scope_as = caravan_attacker_liege
|
|
}
|
|
remove_treasury_or_gold = medium_treasury_or_gold_value
|
|
}
|
|
|
|
option = {
|
|
name = court.4350.a
|
|
every_courtier_or_guest = {
|
|
limit = {
|
|
NOT = { has_trait = temperate }
|
|
}
|
|
custom = all_courtiers_and_guests
|
|
add_opinion = {
|
|
target = root
|
|
modifier = given_luxuries_opinion
|
|
opinion = 10
|
|
}
|
|
}
|
|
scope:caravan_attacker_liege = {
|
|
add_opinion = {
|
|
target = root
|
|
opinion = 40
|
|
modifier = pleased_opinion
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOR = {
|
|
is_allied_to = root
|
|
has_truce = root
|
|
}
|
|
}
|
|
add_truce_both_ways = {
|
|
character = root
|
|
days = 1825
|
|
name = TRUCE_TRADE_DEAL
|
|
}
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_compassion = 0.25
|
|
ai_greed = 0.25
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = court.4350.b
|
|
add_dread = medium_dread_gain
|
|
add_character_modifier = {
|
|
modifier = leading_looting_modifier
|
|
days = 1000
|
|
}
|
|
add_gold = minor_gold_value
|
|
scope:caravan_attacker_liege = {
|
|
add_opinion = {
|
|
target = root
|
|
opinion = -40
|
|
modifier = disappointed_opinion
|
|
}
|
|
every_vassal = {
|
|
custom = all_vassals
|
|
add_opinion = {
|
|
target = root
|
|
opinion = -40
|
|
modifier = disappointed_opinion
|
|
}
|
|
}
|
|
}
|
|
scope:caravan_attacker_liege = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
is_allied_to = root
|
|
has_truce = root
|
|
}
|
|
}
|
|
cancel_truce_both_ways = root
|
|
break_alliance = root
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 0.25
|
|
ai_greed = 0.25
|
|
ai_vengefulness = 0.5
|
|
}
|
|
}
|
|
}
|
|
option = {
|
|
name = court.4350.c
|
|
flavor = court.4350.c.tt
|
|
add_dread = minor_dread_gain
|
|
add_piety = minor_piety_gain
|
|
scope:caravan_attacker_liege = {
|
|
add_opinion = {
|
|
target = root
|
|
opinion = -20
|
|
modifier = disappointed_opinion
|
|
}
|
|
this.capital_province = {
|
|
add_province_modifier = {
|
|
modifier = spurned_by_traders
|
|
years = 10
|
|
}
|
|
}
|
|
every_vassal = {
|
|
custom = all_vassals
|
|
add_opinion = {
|
|
target = root
|
|
opinion = -20
|
|
modifier = disappointed_opinion
|
|
}
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_vengefulness = 0.25
|
|
}
|
|
}
|
|
}
|
|
}
|
|
### Reversed POV - one of our nobles attacked a trading caravan!
|
|
court_yearly.4355 = {
|
|
type = character_event
|
|
title = court.4355.t
|
|
desc = court.4355.desc
|
|
theme = diplomacy_foreign_affairs_focus
|
|
left_portrait = {
|
|
character = scope:reporting_marshal
|
|
animation = personality_honorable
|
|
}
|
|
right_portrait = {
|
|
character = scope:caravan_attacker
|
|
animation = rage
|
|
}
|
|
lower_left_portrait = {
|
|
character = scope:attacked_liege
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
NOT = { has_character_flag = has_had_caravan_christian_event }
|
|
is_at_war = no
|
|
OR = { has_religion = religion:eastern_orthodox_religion has_religion = religion:catholic_religion has_religion = religion:protestant_religion }
|
|
any_neighboring_realm_same_rank_owner = {
|
|
is_landed = yes
|
|
religion = religion:islam_religion
|
|
in_diplomatic_range = root
|
|
liege != root
|
|
}
|
|
any_powerful_vassal = {
|
|
opinion = {
|
|
target = root
|
|
value <= medium_negative_opinion
|
|
}
|
|
age > 15
|
|
}
|
|
exists = root.cp:councillor_marshal
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
}
|
|
|
|
immediate = {
|
|
add_character_flag = {
|
|
flag = has_had_caravan_christian_event
|
|
days = 1825
|
|
}
|
|
cp:councillor_marshal = { save_scope_as = reporting_marshal }
|
|
random_vassal = {
|
|
limit = {
|
|
opinion = {
|
|
target = root
|
|
value < 20
|
|
}
|
|
is_imprisoned = no
|
|
age > 15
|
|
is_ai = yes
|
|
}
|
|
weight = {
|
|
base = 1
|
|
modifier = {
|
|
has_relation_rival = root
|
|
factor = 20
|
|
}
|
|
modifier = {
|
|
factor = 20
|
|
is_powerful_vassal = yes
|
|
}
|
|
}
|
|
save_scope_as = caravan_attacker
|
|
}
|
|
|
|
random_neighboring_realm_same_rank_owner = {
|
|
limit = {
|
|
is_landed = yes
|
|
religion = religion:islam_religion
|
|
in_diplomatic_range = root
|
|
}
|
|
save_scope_as = attacked_liege
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = court.4355.a
|
|
flavor = court.4355.a.tt
|
|
every_courtier_or_guest = {
|
|
custom = all_courtiers_and_guests
|
|
add_opinion = {
|
|
target = root
|
|
opinion = 10
|
|
modifier = given_luxuries_opinion
|
|
}
|
|
}
|
|
faith.religious_head = {
|
|
add_opinion = {
|
|
target = root
|
|
opinion = 10
|
|
modifier = pious_opinion
|
|
}
|
|
}
|
|
scope:attacked_liege = {
|
|
add_opinion = {
|
|
target = root
|
|
opinion = -40
|
|
modifier = disappointed_opinion
|
|
}
|
|
}
|
|
add_character_modifier = {
|
|
modifier = leading_looting_modifier
|
|
days = 1000
|
|
}
|
|
scope:attacked_liege = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
is_allied_to = root
|
|
has_truce = root
|
|
}
|
|
}
|
|
cancel_truce_both_ways = root
|
|
}
|
|
}
|
|
capital_province = {
|
|
add_province_modifier = {
|
|
modifier = spurned_by_traders
|
|
years = 10
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_zeal = 0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = court.4355.b
|
|
scope:caravan_attacker = {
|
|
add_opinion = {
|
|
target = root
|
|
opinion = -40
|
|
modifier = disappointed_opinion
|
|
}
|
|
}
|
|
scope:attacked_liege = {
|
|
add_opinion = {
|
|
target = root
|
|
opinion = 20
|
|
modifier = respect_opinion
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOR = {
|
|
is_allied_to = root
|
|
has_truce = root
|
|
}
|
|
}
|
|
add_truce_both_ways = {
|
|
character = root
|
|
days = 1825
|
|
name = TRUCE_TRADE_DEAL
|
|
}
|
|
}
|
|
}
|
|
add_diplomacy_lifestyle_xp = major_lifestyle_xp
|
|
add_dread = medium_dread_gain
|
|
stress_impact = {
|
|
sadistic = medium_stress_loss
|
|
wrathful = medium_stress_loss
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_zeal = -0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = court.4355.c
|
|
flavor = court.4355.c.tt
|
|
stress_impact = {
|
|
arbitrary = medium_stress_loss
|
|
craven = medium_stress_loss
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:caravan_attacker = { has_relation_rival = root }
|
|
}
|
|
scope:caravan_attacker = { remove_relation_rival = root }
|
|
}
|
|
scope:caravan_attacker = {
|
|
add_opinion = {
|
|
target = root
|
|
opinion = 20
|
|
modifier = pleased_opinion
|
|
}
|
|
}
|
|
capital_province = {
|
|
add_province_modifier = {
|
|
modifier = spurned_by_traders
|
|
years = 10
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_zeal = 0.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
court_yearly.4800 = {
|
|
type = character_event
|
|
title = court.4800.t
|
|
desc = court.4800.desc
|
|
cooldown = { years = 10 }
|
|
theme = court
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
OR = {
|
|
any_court_position_holder = {
|
|
type = bodyguard_court_position
|
|
is_available_ai_adult = yes
|
|
}
|
|
any_court_position_holder = {
|
|
type = akolouthos_court_position
|
|
is_available_ai_adult = yes
|
|
}
|
|
}
|
|
|
|
OR = {
|
|
AND = {
|
|
employs_court_position = court_jester_court_position
|
|
any_court_position_holder = {
|
|
type = court_jester_court_position
|
|
is_available_ai_adult = yes
|
|
}
|
|
}
|
|
AND = {
|
|
employs_court_position = keeper_of_swans_court_position
|
|
any_court_position_holder = {
|
|
type = keeper_of_swans_court_position
|
|
is_available_ai_adult = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
left_portrait = {
|
|
character = scope:defenestrated_character
|
|
animation = flirtation
|
|
}
|
|
right_portrait = {
|
|
character = scope:defenestrating_bodyguard
|
|
animation = rage
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
}
|
|
|
|
immediate = {
|
|
if = {
|
|
limit = {
|
|
any_court_position_holder = {
|
|
type = bodyguard_court_position
|
|
is_available_ai_adult = yes
|
|
}
|
|
}
|
|
random_court_position_holder = {
|
|
type = bodyguard_court_position
|
|
limit = {
|
|
is_available_ai_adult = yes
|
|
}
|
|
save_scope_as = defenestrating_bodyguard
|
|
}
|
|
}
|
|
else = {
|
|
random_court_position_holder = {
|
|
type = akolouthos_court_position
|
|
limit = {
|
|
is_available_ai_adult = yes
|
|
}
|
|
save_scope_as = defenestrating_bodyguard
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit ={
|
|
employs_court_position = court_jester_court_position
|
|
any_court_position_holder = {
|
|
type = court_jester_court_position
|
|
is_available_ai_adult = yes
|
|
}
|
|
}
|
|
random_court_position_holder = {
|
|
type = court_jester_court_position
|
|
save_scope_as = defenestrated_character
|
|
}
|
|
}
|
|
else = {
|
|
random_court_position_holder = {
|
|
type = keeper_of_swans_court_position
|
|
save_scope_as = defenestrated_character
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = court.4800.a
|
|
stress_impact = {
|
|
compassionate = medium_stress_impact_gain
|
|
just = medium_stress_impact_gain
|
|
arbitrary = minor_stress_loss
|
|
sadistic = minor_stress_loss
|
|
}
|
|
random_list = {
|
|
10 = {
|
|
scope:defenestrated_character = {
|
|
increase_wounds_effect = { REASON = defenestration }
|
|
apply_maimed_trait_and_modifier_effect = yes
|
|
add_opinion = {
|
|
target = root
|
|
opinion = -20
|
|
modifier = hate_opinion
|
|
}
|
|
add_opinion = {
|
|
target = scope:defenestrating_bodyguard
|
|
opinion = -40
|
|
modifier = hate_opinion
|
|
}
|
|
}
|
|
hidden_effect = {
|
|
send_interface_toast = {
|
|
type = event_toast_effect_neutral
|
|
left_icon = scope:defenestrated_character
|
|
title = court.4800.maimed_toast
|
|
show_as_tooltip = {
|
|
scope:defenestrated_character = {
|
|
increase_wounds_effect = { REASON = defenestration }
|
|
apply_maimed_trait_and_modifier_effect = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
5 = {
|
|
scope:defenestrated_character = {
|
|
death = {
|
|
death_reason = death_defenestration
|
|
killer = scope:defenestrating_bodyguard
|
|
}
|
|
}
|
|
hidden_effect = {
|
|
send_interface_toast = {
|
|
type = event_toast_effect_neutral
|
|
left_icon = scope:defenestrated_character
|
|
title = court.4800.death_toast
|
|
show_as_tooltip = {
|
|
scope:defenestrated_character = {
|
|
death = {
|
|
death_reason = death_defenestration
|
|
killer = scope:defenestrating_bodyguard
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
add_dread = minor_dread_gain
|
|
scope:defenestrating_bodyguard = {
|
|
add_opinion = {
|
|
target = root
|
|
opinion = 10
|
|
modifier = respect_opinion
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_compassion = -0.5
|
|
ai_vengefulness = 0.5
|
|
ai_boldness = 0.25
|
|
ai_rationality = -0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = court.4800.b
|
|
stress_impact = {
|
|
compassionate = minor_stress_gain
|
|
just = minor_stress_gain
|
|
sadistic = miniscule_stress_impact_loss
|
|
}
|
|
scope:defenestrated_character = {
|
|
increase_wounds_effect = { REASON = fight }
|
|
add_opinion = {
|
|
target = root
|
|
opinion = -5
|
|
modifier = scared_opinion
|
|
}
|
|
add_opinion = {
|
|
target = scope:defenestrating_bodyguard
|
|
opinion = -25
|
|
modifier = scared_opinion
|
|
}
|
|
}
|
|
scope:defenestrating_bodyguard = {
|
|
add_opinion = {
|
|
target = root
|
|
opinion = 10
|
|
modifier = respect_opinion
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_compassion = -0.25
|
|
ai_vengefulness = 0.25
|
|
ai_boldness = 0.25
|
|
ai_rationality = -0.25
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = court.4800.c
|
|
if = {
|
|
limit = {
|
|
scope:defenestrating_bodyguard = {
|
|
has_court_position = bodyguard_court_position
|
|
|
|
}
|
|
}
|
|
revoke_court_position = {
|
|
recipient = scope:defenestrating_bodyguard
|
|
court_position = bodyguard_court_position
|
|
}
|
|
}
|
|
else = {
|
|
revoke_court_position = {
|
|
recipient = scope:defenestrating_bodyguard
|
|
court_position = akolouthos_court_position
|
|
}
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:defenestrated_character
|
|
opinion = 30
|
|
modifier = grateful_opinion
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:defenestrating_bodyguard
|
|
opinion = -30
|
|
modifier = insulted_opinion
|
|
}
|
|
add_martial_lifestyle_xp = medium_lifestyle_xp
|
|
add_prestige = minor_prestige_gain
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_rationality = 0.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Rando criminal is spawned based on what your culture considers criminal/shunned
|
|
scripted_effect event_0101_spawn_criminal_effect = {
|
|
create_character = {
|
|
location = root.capital_province
|
|
template = generic_peasant_character
|
|
faith = root.capital_province.faith #Character is meant to be a random lowborn, should be the local faith/culture rather than ruling class
|
|
culture = root.capital_province.culture
|
|
save_scope_as = lowborn_criminal
|
|
}
|
|
scope:lowborn_criminal = {
|
|
random_list = {
|
|
10 = {
|
|
modifier = {
|
|
factor = 0
|
|
root.faith = { has_doctrine_parameter = deviancy_accepted }
|
|
}
|
|
modifier = {
|
|
factor = 0.5
|
|
root.faith = { has_doctrine_parameter = deviancy_shunned }
|
|
}
|
|
add_trait = deviant
|
|
save_scope_value_as = {
|
|
name = criminal_trait
|
|
value = flag:deviant_trait_flag
|
|
}
|
|
}
|
|
10 = {
|
|
add_trait = murderer
|
|
}
|
|
10 = {
|
|
modifier = {
|
|
factor = 0
|
|
root.faith = { has_doctrine_parameter = witchcraft_accepted }
|
|
}
|
|
modifier = {
|
|
factor = 0.5
|
|
root.faith = { has_doctrine_parameter = witchcraft_shunned }
|
|
}
|
|
add_trait = witch
|
|
save_scope_value_as = {
|
|
name = criminal_trait
|
|
value = flag:witch_trait_flag
|
|
}
|
|
}
|
|
10 = {
|
|
add_trait = lazy
|
|
}
|
|
10 = { #Dumb crimes that aren't trait-specific
|
|
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = murderer
|
|
}
|
|
}
|
|
scope:lowborn_criminal = {
|
|
random_list = {
|
|
10 = {
|
|
add_trait = cannibal
|
|
game_rule_create_spouse_and_children = { CHARACTER = scope:lowborn_criminal LOCATION = scope:lowborn_criminal }
|
|
every_child = {
|
|
add_trait = cannibal
|
|
}
|
|
every_spouse = {
|
|
add_trait = cannibal
|
|
}
|
|
save_scope_value_as = {
|
|
name = criminal_trait
|
|
value = flag:cannibal_trait_flag
|
|
}
|
|
}
|
|
10 = {
|
|
add_trait = sadistic
|
|
save_scope_value_as = {
|
|
name = criminal_trait
|
|
value = flag:sadistic_trait_flag
|
|
}
|
|
}
|
|
10 = { #Holy man murderer
|
|
modifier = {
|
|
factor = 0
|
|
NOT = { has_allowed_gender_for_clergy = scope:lowborn_criminal }
|
|
}
|
|
replace_with_learning_trait_effect = yes
|
|
add_character_flag = {
|
|
flag = need_priest_outfit
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = deviant
|
|
}
|
|
}
|
|
scope:lowborn_criminal = {
|
|
random_list = {
|
|
10 = { #Stableboy
|
|
add_character_flag = {
|
|
flag = stableboy_crime
|
|
}
|
|
pick_servant_romance_target_effect = yes
|
|
}
|
|
10 = { #Kinky
|
|
add_character_flag = {
|
|
flag = kinky_crime
|
|
}
|
|
}
|
|
10 = { #Animal lover
|
|
add_character_flag = {
|
|
flag = beastiality_crime
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = witch
|
|
}
|
|
}
|
|
scope:lowborn_criminal = {
|
|
random_list = {
|
|
10 = { #Baby soup
|
|
add_character_flag = {
|
|
flag = baby_soup_crime
|
|
}
|
|
}
|
|
10 = { #Evil healer
|
|
add_character_flag = {
|
|
flag = healer_crime
|
|
}
|
|
replace_with_learning_trait_effect = yes
|
|
add_trait = lifestyle_herbalist
|
|
give_nickname = nick_the_angel_of_death
|
|
}
|
|
10 = { #Devil worshiper
|
|
add_character_flag = {
|
|
flag = devil_worship_crime
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:lowborn_criminal = {
|
|
add_to_list = lowborn_criminal_list
|
|
every_child = {
|
|
add_to_list = lowborn_criminal_list
|
|
}
|
|
every_spouse = {
|
|
add_to_list = lowborn_criminal_list
|
|
}
|
|
}
|
|
}
|
|
|
|
# Rando criminal shows up
|
|
court_yearly.0101 = {
|
|
type = character_event
|
|
title = court.0101.t
|
|
desc = {
|
|
desc = court.0101.desc.opening
|
|
first_valid = { #What the crime was
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = murderer
|
|
}
|
|
}
|
|
desc = court.0101.desc.murderer
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = deviant
|
|
}
|
|
}
|
|
desc = court.0101.desc.deviant
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = witch
|
|
}
|
|
}
|
|
desc = court.0101.desc.witch
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = lazy
|
|
}
|
|
}
|
|
desc = court.0101.desc.lazy
|
|
}
|
|
}
|
|
random_valid = { #Traitless crimes
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
NOR = {
|
|
has_trait = murderer
|
|
has_trait = witch
|
|
has_trait = deviant
|
|
has_trait = lazy
|
|
}
|
|
}
|
|
}
|
|
desc = court.0101.desc.thief
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
NOR = {
|
|
has_trait = murderer
|
|
has_trait = witch
|
|
has_trait = deviant
|
|
has_trait = lazy
|
|
}
|
|
}
|
|
}
|
|
desc = court.0101.desc.sumptuary
|
|
}
|
|
}
|
|
first_valid = { #Details about the crime
|
|
#Murderer
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = murderer
|
|
has_trait = cannibal
|
|
}
|
|
}
|
|
desc = court.0101.desc.cannibal
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = murderer
|
|
has_trait = sadistic
|
|
}
|
|
}
|
|
desc = court.0101.desc.sadistic
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = murderer
|
|
has_character_flag = need_priest_outfit
|
|
}
|
|
}
|
|
desc = court.0101.desc.priest
|
|
}
|
|
#Deviant
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = deviant
|
|
has_character_flag = stableboy_crime
|
|
}
|
|
}
|
|
desc = court.0101.desc.stableboy
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = deviant
|
|
has_character_flag = kinky_crime
|
|
}
|
|
}
|
|
desc = court.0101.desc.kinky
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = deviant
|
|
has_character_flag = beastiality_crime
|
|
}
|
|
}
|
|
desc = court.0101.desc.animals
|
|
}
|
|
#Witch
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = witch
|
|
has_character_flag = baby_soup_crime
|
|
}
|
|
}
|
|
desc = court.0101.desc.baby_soup
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = witch
|
|
has_character_flag = healer_crime
|
|
}
|
|
}
|
|
desc = court.0101.desc.suspicious_healer
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = witch
|
|
has_character_flag = devil_worship_crime
|
|
}
|
|
}
|
|
desc = court.0101.desc.devil_worshiper
|
|
}
|
|
}
|
|
desc = court.0101.desc.outro
|
|
}
|
|
|
|
theme = court
|
|
left_portrait = {
|
|
character = scope:executioner
|
|
animation = schadenfreude
|
|
}
|
|
right_portrait = {
|
|
character = scope:lowborn_criminal
|
|
animation = fear
|
|
}
|
|
|
|
|
|
# More likely to trigger if you are a sadistic person
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
add = 0.5
|
|
has_trait = sadistic
|
|
}
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
is_available_at_peace_adult = yes
|
|
employs_court_position = executioner_court_position
|
|
}
|
|
|
|
immediate = {
|
|
event_0101_spawn_criminal_effect = yes
|
|
if = {
|
|
limit = {
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
}
|
|
}
|
|
random_court_position_holder = {
|
|
type = executioner_court_position
|
|
save_scope_as = executioner
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option A: Ironic punishment
|
|
option = {
|
|
name = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = murderer
|
|
has_trait = cannibal
|
|
}
|
|
}
|
|
text = court.0101.a.cannibal
|
|
}
|
|
name = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = murderer
|
|
has_trait = sadistic
|
|
}
|
|
}
|
|
text = court.0101.a.sadistic
|
|
}
|
|
name = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = murderer
|
|
has_character_flag = need_priest_outfit
|
|
faith = { has_doctrine_parameter = sky_burials_active }
|
|
}
|
|
}
|
|
text = court.0101.a.priest.sky
|
|
}
|
|
name = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = murderer
|
|
has_character_flag = need_priest_outfit
|
|
}
|
|
}
|
|
text = court.0101.a.priest
|
|
}
|
|
name = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = deviant
|
|
has_character_flag = stableboy_crime
|
|
}
|
|
}
|
|
text = court.0101.a.stableboy
|
|
}
|
|
name = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = deviant
|
|
has_character_flag = kinky_crime
|
|
}
|
|
}
|
|
text = court.0101.a.kinky
|
|
}
|
|
name = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = deviant
|
|
has_character_flag = beastiality_crime
|
|
}
|
|
}
|
|
text = court.0101.a.animals
|
|
}
|
|
#Witch
|
|
name = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = witch
|
|
has_character_flag = baby_soup_crime
|
|
}
|
|
}
|
|
text = court.0101.a.baby_soup
|
|
}
|
|
name = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = witch
|
|
has_character_flag = healer_crime
|
|
}
|
|
}
|
|
text = court.0101.a.suspicious_healer
|
|
}
|
|
name = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = witch
|
|
}
|
|
has_character_flag = devil_worship_crime
|
|
}
|
|
text = court.0101.a.devil_worshiper
|
|
}
|
|
name = {
|
|
trigger = {
|
|
}
|
|
text = court.0101.a
|
|
}
|
|
stress_impact = {
|
|
zealous = minor_stress_impact_loss #They are a criminal afterall
|
|
vengeful = minor_stress_impact_loss
|
|
wrathful = minor_stress_impact_loss
|
|
sadistic = major_stress_impact_loss
|
|
compassionate = major_stress_impact_gain
|
|
forgiving = major_stress_impact_gain
|
|
}
|
|
scope:lowborn_criminal = {
|
|
every_child = {
|
|
limit = {
|
|
has_trait = cannibal
|
|
}
|
|
death = {
|
|
killer = root
|
|
death_reason = death_torture
|
|
}
|
|
}
|
|
every_spouse = {
|
|
limit = {
|
|
has_trait = cannibal
|
|
}
|
|
death = {
|
|
killer = root
|
|
death_reason = death_torture
|
|
}
|
|
}
|
|
death = {
|
|
killer = root
|
|
death_reason = death_torture
|
|
}
|
|
}
|
|
progress_towards_friend_effect = {
|
|
CHARACTER = scope:executioner
|
|
OPINION = default_friend_opinion
|
|
REASON = friend_art_of_torture_punishment
|
|
}
|
|
}
|
|
|
|
#Option C: I like this person, bring them to court!
|
|
option = {
|
|
trigger = {
|
|
OR = {
|
|
AND = {
|
|
OR = {
|
|
has_trait = sadistic
|
|
any_secret = { type = secret_murder }
|
|
}
|
|
scope:criminal_trait ?= flag:sadistic_trait_flag
|
|
}
|
|
AND = {
|
|
OR = {
|
|
has_trait = cannibal
|
|
any_secret = { type = secret_cannibal }
|
|
}
|
|
scope:criminal_trait ?= flag:cannibal_trait_flag
|
|
}
|
|
AND = {
|
|
OR = {
|
|
has_trait = deviant
|
|
any_secret = { type = secret_deviant }
|
|
}
|
|
scope:criminal_trait ?= flag:deviant_trait_flag
|
|
}
|
|
AND = {
|
|
OR = {
|
|
has_trait = witch
|
|
any_secret = { type = secret_witch }
|
|
}
|
|
scope:criminal_trait ?= flag:witch_trait_flag
|
|
}
|
|
}
|
|
}
|
|
name = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = deviant
|
|
has_character_flag = beastiality_crime
|
|
}
|
|
}
|
|
text = court.0101.c.beastiality
|
|
}
|
|
name = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
has_trait = deviant
|
|
NOT = { has_character_flag = beastiality_crime }
|
|
}
|
|
}
|
|
text = court.0101.c.deviant
|
|
}
|
|
name = {
|
|
trigger = {
|
|
scope:lowborn_criminal = {
|
|
NOT = { has_trait = deviant }
|
|
}
|
|
}
|
|
text = court.0101.c
|
|
}
|
|
stress_impact = {
|
|
zealous = minor_stress_impact_gain
|
|
vengeful = minor_stress_impact_gain
|
|
sadistic = minor_stress_impact_gain #You wanna see them hurt, even if you are both sadists
|
|
witch = minor_stress_impact_loss
|
|
deviant = minor_stress_impact_loss #Another pervert for me to have fun with
|
|
compassionate = major_stress_impact_loss
|
|
forgiving = major_stress_impact_loss
|
|
}
|
|
every_in_list = {
|
|
list = lowborn_criminal_list
|
|
root = {
|
|
add_courtier = prev
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_trait = deviant
|
|
can_set_relation_lover_trigger = { CHARACTER = scope:lowborn_criminal }
|
|
}
|
|
set_relation_lover = { reason = lover_deviant target = scope:lowborn_criminal }
|
|
}
|
|
}
|
|
|
|
#Option D: Keep them in the castle prison
|
|
option = {
|
|
name = court.0101.d
|
|
every_in_list = {
|
|
list = lowborn_criminal_list
|
|
root = {
|
|
add_courtier = prev
|
|
}
|
|
rightfully_imprison_character_effect = {
|
|
TARGET = this
|
|
IMPRISONER = root
|
|
}
|
|
}
|
|
|
|
}
|
|
|
|
#Option B: I don't care
|
|
option = {
|
|
name = court.0101.b
|
|
scope:lowborn_criminal = {
|
|
silent_disappearance_effect = yes
|
|
every_child = {
|
|
silent_disappearance_effect = yes
|
|
}
|
|
every_spouse = {
|
|
silent_disappearance_effect = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Executioner feeling lonely
|
|
court_yearly.0102 = {
|
|
type = character_event
|
|
title = court.0102.t
|
|
desc = court.0102.desc
|
|
theme = court
|
|
left_portrait = {
|
|
character = scope:executioner
|
|
animation = sadness
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
employs_court_position = executioner_court_position
|
|
is_available_adult = yes
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
is_available_ai_adult = yes
|
|
}
|
|
}
|
|
|
|
# More likely to trigger if the executioner actually likes other humans
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
add = 0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = gregarious
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = compassionate
|
|
}
|
|
}
|
|
modifier = {
|
|
add = -0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = shy
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
if = {
|
|
limit = {
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
}
|
|
}
|
|
random_court_position_holder = {
|
|
type = executioner_court_position
|
|
save_scope_as = executioner
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option A: Pity the executioner
|
|
option = {
|
|
name = court.0102.a
|
|
progress_towards_friend_effect = {
|
|
CHARACTER = scope:executioner
|
|
OPINION = default_friend_opinion
|
|
REASON = friend_took_pity
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:executioner
|
|
modifier = grateful_opinion
|
|
opinion = 15
|
|
}
|
|
stress_impact = {
|
|
vengeful = minor_stress_impact_gain
|
|
sadistic = minor_stress_impact_gain
|
|
shy = minor_stress_impact_gain
|
|
compassionate = minor_stress_impact_loss
|
|
gregarious = minor_stress_impact_loss
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_compassion = -0.5
|
|
ai_vengefulness = 0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
#Option C: Repremand the executioner for moaning about being lonely
|
|
option = {
|
|
name = court.0102.c
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_reprimanded_lonely
|
|
CHARACTER = scope:executioner
|
|
OPINION = -25
|
|
}
|
|
scope:executioner = {
|
|
add_stress = minor_stress_gain
|
|
}
|
|
stress_impact = {
|
|
vengeful = minor_stress_impact_loss
|
|
sadistic = minor_stress_impact_loss
|
|
shy = minor_stress_impact_gain
|
|
compassionate = minor_stress_impact_gain
|
|
gregarious = minor_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_compassion = -0.5
|
|
ai_vengefulness = 0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
#Option B: I don't care
|
|
option = {
|
|
name = court.0102.b
|
|
scope:executioner = {
|
|
add_stress = minor_stress_gain
|
|
}
|
|
stress_impact = {
|
|
vengeful = minor_stress_impact_loss
|
|
compassionate = minor_stress_impact_gain
|
|
gregarious = minor_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_compassion = -0.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Executioner selling... items from the prisoners
|
|
court_yearly.0103 = {
|
|
type = character_event
|
|
title = court.0103.t
|
|
desc = {
|
|
desc = court.0103.desc.opening
|
|
random_valid = { #What did the executioner do
|
|
desc = court.0103.desc.hair_and_teeth
|
|
desc = court.0103.desc.jewelry
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:executioner = {
|
|
NOR = {
|
|
has_trait = compassionate
|
|
has_trait = content
|
|
has_trait = just
|
|
AND = {
|
|
has_trait = zealous
|
|
faith = {
|
|
NOT = {
|
|
has_doctrine = tenet_ritual_cannibalism
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
desc = court.0103.desc.meat
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:executioner = {
|
|
is_christian_trigger = yes
|
|
NOT = {
|
|
has_trait = zealous
|
|
}
|
|
}
|
|
}
|
|
desc = court.0103.desc.saint_bones
|
|
}
|
|
}
|
|
desc = court.0103.desc.outro
|
|
}
|
|
theme = court
|
|
left_portrait = {
|
|
character = scope:executioner
|
|
animation = personality_greedy
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
employs_court_position = executioner_court_position
|
|
is_available_adult = yes
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
is_available_ai_adult = yes
|
|
NOT = {
|
|
has_trait = improvident
|
|
}
|
|
}
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 0.5
|
|
modifier = {
|
|
add = 0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = greedy
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = sadistic
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = callous
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = ambitious
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = deceitful
|
|
}
|
|
}
|
|
modifier = {
|
|
add = -0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = honest
|
|
}
|
|
}
|
|
modifier = {
|
|
add = -0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = just
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
if = {
|
|
limit = {
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
}
|
|
}
|
|
random_court_position_holder = {
|
|
type = executioner_court_position
|
|
save_scope_as = executioner
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option A: Get in on this
|
|
option = {
|
|
name = court.0103.a
|
|
reverse_add_opinion = {
|
|
target = scope:executioner
|
|
modifier = grateful_opinion
|
|
opinion = 15
|
|
}
|
|
add_gold = medium_gold_value
|
|
add_piety = major_piety_loss
|
|
stress_impact = {
|
|
vengeful = minor_stress_impact_loss
|
|
sadistic = minor_stress_impact_loss
|
|
greedy = major_stress_impact_loss
|
|
compassionate = major_stress_impact_gain
|
|
zealous = major_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_compassion = -1
|
|
ai_vengefulness = 1.5
|
|
}
|
|
}
|
|
}
|
|
|
|
#Option B: Repremand the executioner
|
|
option = {
|
|
name = court.0103.b
|
|
rightfully_imprison_character_effect = {
|
|
TARGET = scope:executioner
|
|
IMPRISONER = root
|
|
}
|
|
stress_impact = {
|
|
greedy = major_stress_impact_gain
|
|
just = minor_stress_impact_loss
|
|
zealous = minor_stress_impact_loss
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_honor = 0.5
|
|
ai_vengefulness = -0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
#Option C: Don't care
|
|
option = {
|
|
name = court.0103.c
|
|
reverse_add_opinion = {
|
|
target = scope:executioner
|
|
modifier = grateful_opinion
|
|
opinion = 15
|
|
}
|
|
stress_impact = {
|
|
greedy = major_stress_impact_gain
|
|
just = minor_stress_impact_gain
|
|
zealous = minor_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_honor = -0.5
|
|
ai_vengefulness = -0.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#################################################
|
|
# The executioner events #
|
|
# by James Beaumont #
|
|
# 0104 - Child into exectution #
|
|
# 0106 - Executioner asks how far they can go #
|
|
#################################################
|
|
|
|
# Executioner talking to a ward about their trade
|
|
court_yearly.0104 = {
|
|
type = character_event
|
|
title = court.0104.t
|
|
desc = court.0104.desc
|
|
|
|
theme = court
|
|
left_portrait = {
|
|
character = scope:executioner
|
|
animation = happiness
|
|
}
|
|
right_portrait = {
|
|
character = scope:morbid_child
|
|
animation = admiration
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
employs_court_position = executioner_court_position
|
|
any_relation = {
|
|
type = ward
|
|
NOT = { has_trait = compassionate }
|
|
is_available = yes
|
|
age >= 5
|
|
}
|
|
is_available_adult = yes
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
is_available_ai_adult = yes
|
|
}
|
|
}
|
|
|
|
# More likely to trigger if the executioner likes talking to children
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
add = 0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = gregarious
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = trusting
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = patient #You gotta have some real patience to answer some children's questions
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = family_first
|
|
}
|
|
}
|
|
modifier = {
|
|
add = -0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = shy
|
|
}
|
|
}
|
|
modifier = {
|
|
add = -0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = impatient
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
if = {
|
|
limit = {
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
}
|
|
}
|
|
random_court_position_holder = {
|
|
type = executioner_court_position
|
|
save_scope_as = executioner
|
|
}
|
|
}
|
|
random_relation = {
|
|
type = ward
|
|
limit = {
|
|
NOT = { has_trait = compassionate }
|
|
is_available = yes
|
|
age >= 5
|
|
}
|
|
save_scope_as = morbid_child
|
|
}
|
|
}
|
|
|
|
# Option A: Join in the conversation
|
|
option = {
|
|
name = court.0104.a
|
|
scope:morbid_child = {
|
|
add_trait = sadistic
|
|
}
|
|
progress_towards_friend_effect = {
|
|
CHARACTER = scope:morbid_child
|
|
OPINION = default_friend_opinion
|
|
REASON = friend_torture_stories
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:morbid_child
|
|
modifier = grateful_opinion
|
|
opinion = 15
|
|
}
|
|
progress_towards_friend_effect = {
|
|
CHARACTER = scope:executioner
|
|
OPINION = default_friend_opinion
|
|
REASON = friend_torture_stories
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:executioner
|
|
modifier = grateful_opinion
|
|
opinion = 15
|
|
}
|
|
scope:morbid_child = {
|
|
progress_towards_friend_effect = {
|
|
CHARACTER = scope:executioner
|
|
OPINION = default_friend_opinion
|
|
REASON = friend_torture_stories
|
|
}
|
|
}
|
|
stress_impact = {
|
|
sadistic = minor_stress_impact_loss
|
|
shy = minor_stress_impact_gain
|
|
compassionate = major_stress_impact_gain
|
|
gregarious = minor_stress_impact_loss
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_compassion = -0.5
|
|
ai_vengefulness = 0.5
|
|
}
|
|
modifier = {
|
|
factor = 0.5
|
|
scope:morbid_child = { has_trait = sadistic }
|
|
}
|
|
}
|
|
}
|
|
|
|
#Option B: Repremand the executioner for talking to your ward
|
|
option = {
|
|
name = court.0104.b
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_morbid_child
|
|
CHARACTER = scope:morbid_child
|
|
OPINION = -25
|
|
}
|
|
scope:morbid_child = {
|
|
add_stress = minor_stress_gain
|
|
}
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_reprimanded_child
|
|
CHARACTER = scope:executioner
|
|
OPINION = -25
|
|
}
|
|
scope:executioner = {
|
|
add_stress = minor_stress_gain
|
|
}
|
|
stress_impact = {
|
|
vengeful = minor_stress_impact_loss
|
|
sadistic = minor_stress_impact_loss
|
|
shy = minor_stress_impact_gain
|
|
compassionate = minor_stress_impact_gain
|
|
gregarious = minor_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_compassion = 0.5
|
|
}
|
|
modifier = { #The kid is already a sadist
|
|
factor = 2
|
|
scope:morbid_child = { has_trait = sadistic }
|
|
}
|
|
}
|
|
}
|
|
|
|
#Option C: Pretend you didn't hear
|
|
option = {
|
|
name = court.0104.c
|
|
random_list = {
|
|
50 = {}
|
|
50 = {
|
|
scope:morbid_child = {
|
|
add_trait = sadistic
|
|
}
|
|
}
|
|
}
|
|
scope:morbid_child = {
|
|
progress_towards_friend_effect = {
|
|
CHARACTER = scope:executioner
|
|
OPINION = default_friend_opinion
|
|
REASON = friend_torture_stories
|
|
}
|
|
}
|
|
stress_impact = {
|
|
compassionate = minor_stress_impact_gain
|
|
gregarious = minor_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_compassion = -0.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
# Executioner asks how far they can go
|
|
court_yearly.0106 = {
|
|
type = character_event
|
|
title = court.0106.t
|
|
desc = court.0106.desc
|
|
theme = court
|
|
left_portrait = {
|
|
character = scope:executioner
|
|
animation = scheme
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
employs_court_position = executioner_court_position
|
|
is_available_adult = yes
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
is_available_ai_adult = yes
|
|
}
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 0.5
|
|
modifier = {
|
|
add = 0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = sadistic
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = callous
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 1.0
|
|
any_prisoner = { has_any_secrets = yes }
|
|
}
|
|
modifier = {
|
|
add = -0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = just
|
|
}
|
|
}
|
|
modifier = {
|
|
add = -0.5
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
has_trait = compassionate
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
if = {
|
|
limit = {
|
|
any_court_position_holder = {
|
|
type = executioner_court_position
|
|
}
|
|
}
|
|
random_court_position_holder = {
|
|
type = executioner_court_position
|
|
save_scope_as = executioner
|
|
}
|
|
}
|
|
}
|
|
|
|
# Option A: Go hard on the prisoners
|
|
option = {
|
|
name = court.0106.a
|
|
if = {
|
|
limit = {
|
|
any_prisoner = { has_any_secrets = yes }
|
|
}
|
|
random_prisoner = {
|
|
random_secret = {
|
|
limit = {
|
|
NOT = {
|
|
any_secret_knower = {
|
|
this = root
|
|
}
|
|
}
|
|
}
|
|
reveal_to = root
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:executioner = {
|
|
has_trait = sadistic
|
|
}
|
|
}
|
|
scope:executioner = { add_stress = major_stress_impact_loss }
|
|
progress_towards_friend_effect = {
|
|
CHARACTER = scope:executioner
|
|
OPINION = default_friend_opinion
|
|
REASON = friend_shared_opinions_on_punishment
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:executioner = {
|
|
has_trait = compassionate
|
|
}
|
|
}
|
|
scope:executioner = { add_stress = major_stress_impact_gain }
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_go_hard_on_prisoners
|
|
CHARACTER = scope:executioner
|
|
OPINION = default_rival_opinion
|
|
}
|
|
}
|
|
stress_impact = {
|
|
vengeful = minor_stress_impact_loss
|
|
sadistic = minor_stress_impact_loss
|
|
callous = minor_stress_impact_loss
|
|
compassionate = major_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_compassion = -1
|
|
ai_vengefulness = 1.5
|
|
}
|
|
}
|
|
}
|
|
|
|
#Option B: Be a little gentle
|
|
option = {
|
|
name = court.0106.b
|
|
if = {
|
|
limit = {
|
|
scope:executioner = {
|
|
has_trait = compassionate
|
|
}
|
|
}
|
|
scope:executioner = { add_stress = major_stress_impact_loss }
|
|
progress_towards_friend_effect = {
|
|
CHARACTER = scope:executioner
|
|
OPINION = default_friend_opinion
|
|
REASON = friend_shared_opinions_on_punishment
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:executioner = {
|
|
has_trait = sadistic
|
|
}
|
|
}
|
|
scope:executioner = { add_stress = major_stress_impact_gain }
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_go_easy_on_prisoners
|
|
CHARACTER = scope:executioner
|
|
OPINION = default_rival_opinion
|
|
}
|
|
}
|
|
stress_impact = {
|
|
vengeful = minor_stress_impact_gain
|
|
sadistic = minor_stress_impact_gain
|
|
compassionate = major_stress_impact_loss
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_honor = 0.5
|
|
ai_vengefulness = -0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
#Option C: Don't care
|
|
option = {
|
|
name = court.0106.c
|
|
if = {
|
|
limit = {
|
|
any_prisoner = { has_any_secrets = yes }
|
|
}
|
|
random_list = {
|
|
50 = {
|
|
|
|
}
|
|
50 = {
|
|
random_prisoner = {
|
|
random_secret = {
|
|
limit = {
|
|
NOT = {
|
|
any_secret_knower = {
|
|
this = root
|
|
}
|
|
}
|
|
}
|
|
reveal_to = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stress_impact = {
|
|
vengeful = minor_stress_impact_gain
|
|
sadistic = minor_stress_impact_gain
|
|
compassionate = minor_stress_impact_gain
|
|
just = minor_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_honor = -0.5
|
|
ai_vengefulness = -0.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Parent sends you to horny jail
|
|
court_yearly.0110 = {
|
|
type = character_event
|
|
title = court.0110.t
|
|
desc = {
|
|
desc = court.0110.desc.intro
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
has_trait = deviant
|
|
}
|
|
desc = court.0110.desc.deviant
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
has_trait = lovers_pox
|
|
}
|
|
desc = court.0110.desc.pox
|
|
}
|
|
desc = court.0110.desc.notspecial
|
|
}
|
|
desc = court.0110.desc.outro
|
|
}
|
|
|
|
theme = court
|
|
left_portrait = {
|
|
character = scope:parent
|
|
animation = worry
|
|
}
|
|
right_portrait = {
|
|
character = cp:councillor_court_chaplain
|
|
animation = anger
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
any_parent = {
|
|
exists = yes
|
|
is_available_adult = yes
|
|
liege = root
|
|
is_landed = no
|
|
}
|
|
cp:councillor_court_chaplain ?= { is_available_adult = yes }
|
|
is_available_adult = yes
|
|
OR = {
|
|
trait_is_shunned_in_faith_trigger = { TRAIT = trait:adulterer FAITH = root.faith GENDER_CHARACTER = root } #Fornicator is handled by same rules
|
|
trait_is_criminal_in_faith_trigger = { TRAIT = trait:adulterer FAITH = root.faith GENDER_CHARACTER = root } #Fornicator is handled by same rules
|
|
}
|
|
OR = {
|
|
has_trait = deviant
|
|
has_trait = lovers_pox
|
|
any_relation = {
|
|
type = lover
|
|
NOT = { is_consort_of = root }
|
|
}
|
|
any_relation = {
|
|
type = soulmate
|
|
NOT = { is_consort_of = root }
|
|
}
|
|
}
|
|
is_eunuch_trigger = no
|
|
NOR = {
|
|
has_trait = celibate
|
|
has_trait = chaste
|
|
}
|
|
}
|
|
|
|
# More likely to trigger if your character is lustful and your parent is chaste
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
add = 0.5
|
|
any_parent = {
|
|
exists = yes
|
|
is_available_adult = yes
|
|
liege = root
|
|
is_landed = no
|
|
has_trait = chaste
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 0.5
|
|
cp:councillor_court_chaplain = {
|
|
has_trait = chaste
|
|
}
|
|
}
|
|
modifier = {
|
|
add = -0.5
|
|
cp:councillor_court_chaplain = {
|
|
has_trait = lustful
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 0.5
|
|
has_trait = lustful
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
random_parent = {
|
|
limit = {
|
|
is_alive = yes
|
|
is_available_adult = yes
|
|
liege = root
|
|
is_landed = no
|
|
}
|
|
save_scope_as = parent
|
|
}
|
|
cp:councillor_court_chaplain = {
|
|
save_scope_as = chaplain
|
|
}
|
|
}
|
|
|
|
# Option A: Imprison your parent and chaplain
|
|
option = {
|
|
name = court.0110.a
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_parent_imprisoned
|
|
CHARACTER = scope:parent
|
|
OPINION = default_rival_opinion
|
|
}
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_parent_imprisoned
|
|
CHARACTER = cp:councillor_court_chaplain
|
|
OPINION = default_rival_opinion
|
|
}
|
|
imprison_character_effect = {
|
|
TARGET = scope:parent
|
|
IMPRISONER = root
|
|
}
|
|
imprison_character_effect = {
|
|
TARGET = cp:councillor_court_chaplain
|
|
IMPRISONER = root
|
|
}
|
|
stress_impact = {
|
|
just = major_stress_impact_gain
|
|
compassionate = major_stress_impact_gain
|
|
forgiving = major_stress_impact_gain
|
|
calm = major_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 25
|
|
ai_value_modifier = {
|
|
ai_vengefulness = 0.5
|
|
ai_honor = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
#Option B: Agree, become celibate
|
|
option = {
|
|
name = court.0110.b
|
|
add_trait = celibate
|
|
add_piety = medium_piety_gain
|
|
reverse_add_opinion = {
|
|
target = cp:councillor_court_chaplain
|
|
modifier = impressed_opinion
|
|
opinion = 15
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:parent
|
|
modifier = relieved_opinion
|
|
opinion = 15
|
|
}
|
|
stress_impact = {
|
|
vengeful = minor_stress_impact_gain
|
|
lustful = major_stress_impact_gain
|
|
rakish = massive_stress_impact_gain
|
|
stubborn = major_stress_impact_gain
|
|
wrathful = major_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_vengefulness = -0.5
|
|
ai_zeal = 0.5
|
|
}
|
|
modifier = { #Character shouldn't give up sex if they haven't got any children
|
|
factor = 0
|
|
any_child = { is_alive = yes count < 1 }
|
|
}
|
|
modifier = { #More likely to do it if they have a lot of kids
|
|
add = 5
|
|
any_child = { is_alive = yes count > 4 }
|
|
}
|
|
}
|
|
}
|
|
|
|
#Option C: Refuse and move on
|
|
option = {
|
|
name = court.0110.c
|
|
reverse_add_opinion = {
|
|
target = cp:councillor_court_chaplain
|
|
modifier = disappointed_opinion
|
|
opinion = -15
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:parent
|
|
modifier = disappointed_opinion
|
|
opinion = -15
|
|
}
|
|
stress_impact = {
|
|
}
|
|
ai_chance = {
|
|
base = 50
|
|
}
|
|
}
|
|
}
|
|
|
|
###########################
|
|
# Questionable Concoction #
|
|
# by Joe Parkin #
|
|
###########################
|
|
|
|
scripted_trigger court_8100_physician_trigger = {
|
|
is_available_ai_adult = yes
|
|
NOT = { government_has_flag = government_is_theocracy }
|
|
NOT = { has_trait = devoted }
|
|
NAND = {
|
|
exists = ROOT.cp:councillor_court_chaplain
|
|
THIS = ROOT.cp:councillor_court_chaplain
|
|
}
|
|
}
|
|
|
|
scripted_trigger court_8100_witch_trigger = {
|
|
OR = {
|
|
has_trait = lifestyle_mystic
|
|
has_trait = lifestyle_herbalist
|
|
has_trait = witch
|
|
any_secret = { type = secret_witch }
|
|
}
|
|
}
|
|
|
|
court_yearly.8100 = {
|
|
type = character_event
|
|
title = court.8100.t
|
|
desc = court.8100.desc
|
|
theme = court
|
|
cooldown = { years = 10 }
|
|
left_portrait = {
|
|
character = scope:physician
|
|
animation = throne_room_conversation_4
|
|
}
|
|
right_portrait = {
|
|
character = scope:food_taster
|
|
animation = throne_room_conversation_1
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
employs_court_position = court_physician_court_position
|
|
any_court_position_holder = {
|
|
type = court_physician_court_position
|
|
court_8100_physician_trigger = yes
|
|
}
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
factor = 2
|
|
any_court_position_holder = {
|
|
type = court_physician_court_position
|
|
court_8100_physician_trigger = yes
|
|
court_8100_witch_trigger = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
random_court_position_holder = {
|
|
type = court_physician_court_position
|
|
limit = { court_8100_physician_trigger = yes }
|
|
weight = {
|
|
modifier = {
|
|
factor = 100
|
|
court_8100_witch_trigger = yes
|
|
}
|
|
}
|
|
save_scope_as = physician
|
|
}
|
|
if = {
|
|
limit = {
|
|
employs_court_position = food_taster_court_position
|
|
any_court_position_holder = {
|
|
type = food_taster_court_position
|
|
is_available_ai_adult = yes
|
|
THIS != scope:physician
|
|
}
|
|
}
|
|
random_court_position_holder = {
|
|
type = food_taster_court_position
|
|
limit = {
|
|
is_available_ai_adult = yes
|
|
THIS != scope:physician
|
|
}
|
|
save_scope_as = food_taster
|
|
}
|
|
}
|
|
else = {
|
|
random_courtier_or_guest = { save_scope_as = food_taster }
|
|
}
|
|
}
|
|
|
|
option = { # Your strongest potion, you say?
|
|
name = court.8100.a
|
|
stress_impact = {
|
|
craven = major_stress_impact_gain # What if I am not strong enough?
|
|
humble = medium_stress_impact_gain # I am fine with my strength
|
|
content = medium_stress_impact_gain # ""
|
|
}
|
|
add_prestige = minor_prestige_gain
|
|
random_list = {
|
|
1 = {
|
|
desc = court.8100.tt.handle_potion
|
|
modifier = { factor = scope:physician.learning }
|
|
modifier = {
|
|
factor = 2
|
|
scope:physician = { has_trait = lifestyle_mystic }
|
|
}
|
|
modifier = {
|
|
factor = 2
|
|
scope:physician = { has_trait = lifestyle_herbalist }
|
|
}
|
|
modifier = {
|
|
factor = 2
|
|
scope:physician = {
|
|
OR = {
|
|
has_trait = witch
|
|
any_secret = { type = secret_witch }
|
|
}
|
|
}
|
|
}
|
|
add_character_modifier = {
|
|
modifier = strong_potion_modifier
|
|
years = 5
|
|
}
|
|
}
|
|
45 = {
|
|
desc = court.8100.tt.need_weaker
|
|
add_character_modifier = {
|
|
modifier = feeling_unwell_modifier
|
|
years = 5
|
|
}
|
|
stress_impact = {
|
|
base = medium_stress_impact_gain
|
|
}
|
|
}
|
|
1 = {
|
|
desc = court.8100.tt.too_strong
|
|
modifier = {
|
|
factor = 2
|
|
scope:physician = { has_relation_rival = ROOT }
|
|
}
|
|
modifier = {
|
|
factor = 2
|
|
scope:physician = { learning < average_skill_rating }
|
|
}
|
|
death = {
|
|
death_reason = death_strongest_potion
|
|
killer = scope:physician
|
|
}
|
|
add_internal_flag = dangerous
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_greed = -2
|
|
ai_energy = 1
|
|
}
|
|
modifier = { #Weight down for stress.
|
|
add = -30
|
|
has_trait = craven
|
|
}
|
|
modifier = { #Weight down for stress.
|
|
add = -15
|
|
has_trait = humble
|
|
}
|
|
modifier = { #Weight down for stress.
|
|
add = -15
|
|
has_trait = content
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Try it on my taster first
|
|
name = court.8100.b
|
|
trigger = {
|
|
exists = scope:food_taster
|
|
scope:food_taster = { has_court_position = food_taster_court_position } # To check against fallback
|
|
}
|
|
add_tyranny = minor_tyranny_gain
|
|
random_list = {
|
|
1 = {
|
|
desc = court.8100.tt.handle_potion
|
|
modifier = { factor = scope:physician.learning }
|
|
modifier = {
|
|
factor = 2
|
|
scope:physician = { has_trait = lifestyle_mystic }
|
|
}
|
|
modifier = {
|
|
factor = 2
|
|
scope:physician = { has_trait = lifestyle_herbalist }
|
|
}
|
|
modifier = {
|
|
factor = 2
|
|
scope:physician = {
|
|
OR = {
|
|
has_trait = witch
|
|
any_secret = { type = secret_witch }
|
|
}
|
|
}
|
|
}
|
|
scope:food_taster = {
|
|
add_character_modifier = {
|
|
modifier = strong_potion_modifier
|
|
years = 5
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { has_trait = forgiving }
|
|
}
|
|
custom_tooltip = court.8100.b.tt_forgiving
|
|
add_opinion = {
|
|
target = ROOT
|
|
modifier = angry_opinion
|
|
opinion = -15
|
|
}
|
|
}
|
|
}
|
|
add_character_modifier = {
|
|
modifier = strong_potion_modifier
|
|
years = 5
|
|
}
|
|
}
|
|
45 = {
|
|
desc = court.8100.tt.need_weaker
|
|
scope:food_taster = {
|
|
add_character_modifier = {
|
|
modifier = feeling_unwell_modifier
|
|
years = 5
|
|
}
|
|
add_opinion = {
|
|
target = ROOT
|
|
modifier = angry_opinion
|
|
opinion = -15
|
|
}
|
|
}
|
|
}
|
|
1 = {
|
|
desc = court.8100.tt.too_strong
|
|
modifier = {
|
|
factor = 2
|
|
scope:physician = { has_relation_rival = ROOT }
|
|
}
|
|
modifier = {
|
|
factor = 2
|
|
scope:physician = { learning < average_skill_rating }
|
|
}
|
|
scope:food_taster = {
|
|
death = {
|
|
death_reason = death_strongest_potion
|
|
killer = scope:physician
|
|
}
|
|
}
|
|
add_opinion = {
|
|
target = scope:physician
|
|
modifier = attempted_murder_opinion
|
|
}
|
|
}
|
|
}
|
|
stress_impact = {
|
|
brave = medium_stress_impact_gain # What if I am not strong enough?
|
|
humble = medium_stress_impact_gain # I am fine with my strength
|
|
content = medium_stress_impact_gain # ""
|
|
compassionate = major_stress_impact_gain # Food tasters are people too
|
|
greedy = medium_stress_impact_gain # It's mine, it came to me!
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_greed = -2
|
|
ai_energy = 1
|
|
}
|
|
modifier = { #Weight down for stress.
|
|
add = -15
|
|
has_trait = brave
|
|
}
|
|
modifier = { #Weight down for stress.
|
|
add = -15
|
|
has_trait = humble
|
|
}
|
|
modifier = { #Weight down for stress.
|
|
add = -15
|
|
has_trait = content
|
|
}
|
|
modifier = { #Weight down for stress.
|
|
add = -30
|
|
has_trait = compassionate
|
|
}
|
|
modifier = { #Weight down for stress.
|
|
add = -15
|
|
has_trait = greedy
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Sacrilege
|
|
name = court.8100.c
|
|
add_piety = minor_piety_gain
|
|
revoke_court_position = {
|
|
court_position = court_physician_court_position
|
|
recipient = scope:physician
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:physician
|
|
modifier = angry_opinion
|
|
opinion = -15
|
|
}
|
|
stress_impact = {
|
|
cynical = medium_stress_impact_gain # There is no god
|
|
arrogant = medium_stress_impact_gain # I want to be swole
|
|
ambitious = medium_stress_impact_gain # ""
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_zeal = 1
|
|
ai_boldness = -1
|
|
}
|
|
modifier = { #Weight down for stress.
|
|
add = -30
|
|
has_trait = cynical
|
|
}
|
|
modifier = { #Weight down for stress.
|
|
add = -15
|
|
has_trait = arrogant
|
|
}
|
|
modifier = { #Weight down for stress.
|
|
add = -15
|
|
has_trait = ambitious
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # I have no need of your potions
|
|
name = court.8100.d
|
|
add_prestige = miniscule_prestige_loss
|
|
reverse_add_opinion = {
|
|
target = scope:physician
|
|
modifier = insulted_opinion
|
|
opinion = -5
|
|
}
|
|
stress_impact = {
|
|
brave = minor_stress_impact_gain
|
|
arrogant = medium_stress_impact_gain # I want to be swole
|
|
ambitious = medium_stress_impact_gain # ""
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_boldness = -2
|
|
ai_greed = -1
|
|
}
|
|
modifier = { #Weight down for stress.
|
|
add = -5
|
|
has_trait = brave
|
|
}
|
|
modifier = { #Weight down for stress.
|
|
add = -15
|
|
has_trait = arrogant
|
|
}
|
|
modifier = { #Weight down for stress.
|
|
add = -15
|
|
has_trait = ambitious
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#########################
|
|
# Novel Perspectives #
|
|
# by Joe Parkin #
|
|
#########################
|
|
|
|
scripted_trigger root_faith_compare_doctrine_trigger = {
|
|
OR = {
|
|
AND = {
|
|
faith = { has_doctrine = $DOCTRINE$ }
|
|
NOT = {
|
|
ROOT.faith = { has_doctrine = $DOCTRINE$ }
|
|
}
|
|
}
|
|
AND = {
|
|
ROOT.faith = { has_doctrine = $DOCTRINE$ }
|
|
NOT = {
|
|
faith = { has_doctrine = $DOCTRINE$ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_trigger court_8120_zealous_vassal_trigger = {
|
|
faith = ROOT.faith
|
|
has_trait = zealous
|
|
NOR = {
|
|
THIS = scope:accuser
|
|
THIS = scope:refuter
|
|
}
|
|
}
|
|
|
|
scripted_effect court_8120_convert_vassal_effect = {
|
|
if = {
|
|
limit = {
|
|
any_vassal = {
|
|
court_8120_zealous_vassal_trigger = yes
|
|
faith = $FAITH$
|
|
NOT = { THIS = $CONVERTOR$ }
|
|
}
|
|
}
|
|
every_vassal = {
|
|
limit = {
|
|
court_8120_zealous_vassal_trigger = yes
|
|
faith = $FAITH$
|
|
NOT = { THIS = $CONVERTOR$ }
|
|
}
|
|
add_opinion = {
|
|
target = ROOT
|
|
modifier = pious_opinion
|
|
opinion = 10
|
|
}
|
|
}
|
|
hidden_effect = {
|
|
every_courtier_or_guest = {
|
|
limit = {
|
|
court_8120_zealous_vassal_trigger = yes
|
|
faith = $FAITH$
|
|
NOT = { THIS = $CONVERTOR$ }
|
|
}
|
|
add_opinion = {
|
|
target = ROOT
|
|
modifier = pious_opinion
|
|
opinion = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
any_courtier_or_guest = {
|
|
court_8120_zealous_vassal_trigger = yes
|
|
faith = $FAITH$
|
|
NOT = { THIS = $CONVERTOR$ }
|
|
}
|
|
}
|
|
every_courtier_or_guest = {
|
|
limit = {
|
|
court_8120_zealous_vassal_trigger = yes
|
|
faith = $FAITH$
|
|
NOT = { THIS = $CONVERTOR$ }
|
|
}
|
|
add_opinion = {
|
|
target = ROOT
|
|
modifier = pious_opinion
|
|
opinion = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_trigger court_8120_debater_trigger = {
|
|
is_available_ai_adult = yes
|
|
faith != ROOT.faith
|
|
faith = {
|
|
faith_hostility_level = {
|
|
target = ROOT.faith
|
|
value <= faith_hostile_level
|
|
}
|
|
}
|
|
ROOT.faith = {
|
|
faith_hostility_level = {
|
|
target = PREV.faith
|
|
value <= faith_hostile_level
|
|
}
|
|
}
|
|
OR = {
|
|
root_faith_compare_doctrine_trigger = { DOCTRINE = doctrine_monogamy } # Marriage
|
|
root_faith_compare_doctrine_trigger = { DOCTRINE = doctrine_divorce_disallowed } # Divorce
|
|
root_faith_compare_doctrine_trigger = { DOCTRINE = doctrine_adultery_women_accepted } # Adultery Female
|
|
root_faith_compare_doctrine_trigger = { DOCTRINE = doctrine_adultery_men_accepted } # Adultery Male
|
|
root_faith_compare_doctrine_trigger = { DOCTRINE = doctrine_witchcraft_accepted } # Witchcraft
|
|
root_faith_compare_doctrine_trigger = { DOCTRINE = doctrine_gender_equal } # Equality
|
|
root_faith_compare_doctrine_trigger = { DOCTRINE = doctrine_consanguinity_unrestricted } # Cosanguity
|
|
}
|
|
}
|
|
|
|
court_yearly.8120 = {
|
|
type = character_event
|
|
title = court.8120.t
|
|
desc = {
|
|
desc = court.8120.desc.intro
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { scope:accuser.religion = ROOT.religion }
|
|
desc = court.8120.desc.same_religion
|
|
}
|
|
desc = court.8120.desc.other_religion
|
|
}
|
|
first_valid = {
|
|
# Variables used to find randomly chosen doctrine difference
|
|
triggered_desc = { # Marriage
|
|
trigger = { var:court_8120_issue = 0 }
|
|
desc = court.8120.desc.marriage
|
|
}
|
|
triggered_desc = { # Divorce
|
|
trigger = { var:court_8120_issue = 1 }
|
|
desc = court.8120.desc.divorce
|
|
}
|
|
triggered_desc = { # Adultery
|
|
trigger = { var:court_8120_issue = 2 }
|
|
desc = court.8120.desc.adultery
|
|
}
|
|
triggered_desc = { # Witchcraft
|
|
trigger = { var:court_8120_issue = 3 }
|
|
desc = court.8120.desc.witchcraft
|
|
}
|
|
triggered_desc = { # Equality
|
|
trigger = { var:court_8120_issue = 4 }
|
|
desc = court.8120.desc.equality
|
|
}
|
|
triggered_desc = { # Cosanguity
|
|
trigger = { var:court_8120_issue = 5 }
|
|
desc = court.8120.desc.cosanguity
|
|
}
|
|
}
|
|
desc = court.8120.desc.outro
|
|
}
|
|
theme = court
|
|
cooldown = { years = 10 }
|
|
left_portrait = {
|
|
character = scope:accuser
|
|
animation = throne_room_conversation_2
|
|
}
|
|
right_portrait = {
|
|
character = scope:refuter
|
|
animation = throne_room_conversation_4
|
|
}
|
|
|
|
trigger = {
|
|
has_royal_court = yes
|
|
has_dlc_feature = royal_court
|
|
any_courtier_or_guest = { court_8120_debater_trigger = yes }
|
|
trigger_if = {
|
|
limit = {
|
|
NOT = { exists = cp:councillor_court_chaplain }
|
|
}
|
|
any_courtier_or_guest = {
|
|
is_available_ai_adult = yes
|
|
faith = ROOT.faith
|
|
}
|
|
}
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
# Court weightings.
|
|
# ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_scholarly }
|
|
}
|
|
|
|
immediate = {
|
|
# Save 1st debater
|
|
ordered_courtier_or_guest = {
|
|
limit = { court_8120_debater_trigger = yes }
|
|
order_by = learning
|
|
random_list = {
|
|
4 = { # Marriage
|
|
trigger = {
|
|
root_faith_compare_doctrine_trigger = { DOCTRINE = doctrine_monogamy } # 1/2 faiths have this
|
|
}
|
|
ROOT = {
|
|
set_variable = { # To track which issue was raised
|
|
name = court_8120_issue
|
|
value = 0
|
|
}
|
|
}
|
|
if = { # Accuser attacks polygamy
|
|
limit = {
|
|
faith = { has_doctrine = doctrine_monogamy }
|
|
}
|
|
save_scope_as = accuser
|
|
}
|
|
else = { save_scope_as = refuter }
|
|
}
|
|
4 = { # Divorce
|
|
trigger = {
|
|
root_faith_compare_doctrine_trigger = { DOCTRINE = doctrine_divorce_disallowed } # 1/2 faiths have this
|
|
}
|
|
ROOT = {
|
|
set_variable = { # To track which issue was raised
|
|
name = court_8120_issue
|
|
value = 1
|
|
}
|
|
}
|
|
if = { # Accuser attacks divorce
|
|
limit = {
|
|
faith = { has_doctrine = doctrine_divorce_disallowed }
|
|
}
|
|
save_scope_as = accuser
|
|
}
|
|
else = { save_scope_as = refuter }
|
|
}
|
|
2 = { # Adultery
|
|
trigger = {
|
|
OR = {
|
|
root_faith_compare_doctrine_trigger = { DOCTRINE = doctrine_adultery_women_accepted } # 1/2 faiths have this
|
|
root_faith_compare_doctrine_trigger = { DOCTRINE = doctrine_adultery_men_accepted } # 1/2 faiths have this
|
|
}
|
|
}
|
|
ROOT = {
|
|
set_variable = { # To track which issue was raised
|
|
name = court_8120_issue
|
|
value = 2
|
|
}
|
|
}
|
|
if = { # Accuser attacks adultery
|
|
limit = {
|
|
NOT = {
|
|
faith = { has_doctrine = doctrine_adultery_women_accepted }
|
|
}
|
|
}
|
|
save_scope_as = accuser
|
|
}
|
|
else = { save_scope_as = refuter }
|
|
}
|
|
4 = { # Witchcraft
|
|
trigger = {
|
|
root_faith_compare_doctrine_trigger = { DOCTRINE = doctrine_witchcraft_accepted } # 1/2 faiths have this
|
|
}
|
|
ROOT = {
|
|
set_variable = { # To track which issue was raised
|
|
name = court_8120_issue
|
|
value = 3
|
|
}
|
|
}
|
|
if = { # Accuser attacks magic
|
|
limit = {
|
|
NOT = {
|
|
faith = { has_doctrine_parameter = witchcraft_accepted }
|
|
}
|
|
}
|
|
save_scope_as = accuser
|
|
}
|
|
else = { save_scope_as = refuter }
|
|
}
|
|
2 = { # Equality
|
|
trigger = {
|
|
root_faith_compare_doctrine_trigger = { DOCTRINE = doctrine_gender_equal } # 1/2 faiths have this
|
|
}
|
|
ROOT = {
|
|
set_variable = { # To track which issue was raised
|
|
name = court_8120_issue
|
|
value = 4
|
|
}
|
|
}
|
|
if = { # Accuser attacks inequality
|
|
limit = {
|
|
faith = { has_doctrine = doctrine_gender_equal }
|
|
}
|
|
save_scope_as = accuser
|
|
}
|
|
else = { save_scope_as = refuter }
|
|
}
|
|
4 = { # Cosanguity
|
|
trigger = {
|
|
root_faith_compare_doctrine_trigger = { DOCTRINE = doctrine_consanguinity_unrestricted } # 1/2 faiths have this
|
|
}
|
|
ROOT = {
|
|
set_variable = { # To track which issue was raised
|
|
name = court_8120_issue
|
|
value = 5
|
|
}
|
|
}
|
|
if = { # Accuser attacks intermarriage
|
|
limit = {
|
|
NOT = {
|
|
faith = { has_doctrine = doctrine_consanguinity_unrestricted }
|
|
}
|
|
}
|
|
save_scope_as = accuser
|
|
}
|
|
else = { save_scope_as = refuter }
|
|
}
|
|
}
|
|
}
|
|
# Save 2nd debater
|
|
if = {
|
|
limit = { exists = cp:councillor_court_chaplain }
|
|
cp:councillor_court_chaplain = {
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:accuser }
|
|
}
|
|
save_scope_as = accuser
|
|
}
|
|
else = { save_scope_as = refuter }
|
|
}
|
|
}
|
|
else = {
|
|
ordered_courtier_or_guest = {
|
|
limit = {
|
|
is_available_ai_adult = yes
|
|
faith = ROOT.faith
|
|
}
|
|
order_by = learning
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:accuser }
|
|
}
|
|
save_scope_as = accuser
|
|
}
|
|
else = { save_scope_as = refuter }
|
|
}
|
|
}
|
|
# Scopes for conversion effects
|
|
save_scope_as = character
|
|
if = {
|
|
limit = { scope:refuter.faith = ROOT.faith }
|
|
scope:accuser.faith = { save_scope_as = new_faith }
|
|
}
|
|
else = {
|
|
scope:refuter.faith = { save_scope_as = new_faith }
|
|
}
|
|
scope:accuser = { assign_quirk_effect = yes }
|
|
scope:refuter = { assign_quirk_effect = yes }
|
|
}
|
|
|
|
option = { # Convert
|
|
name = {
|
|
text = court.8120.a.accuser
|
|
trigger = { scope:refuter.faith = ROOT.faith }
|
|
}
|
|
name = {
|
|
text = court.8120.a.refuter
|
|
trigger = { scope:accuser.faith = ROOT.faith }
|
|
}
|
|
add_piety = massive_piety_loss
|
|
if = {
|
|
limit = { faith = scope:refuter.faith }
|
|
reverse_add_opinion = {
|
|
target = scope:refuter
|
|
modifier = disappointed_opinion
|
|
opinion = -40
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:accuser
|
|
modifier = respect_opinion
|
|
opinion = 40
|
|
}
|
|
court_8120_convert_vassal_effect = {
|
|
FAITH = scope:accuser.faith
|
|
CONVERTOR = scope:accuser
|
|
}
|
|
set_character_faith_with_conversion = scope:accuser.faith
|
|
if = {
|
|
limit = {
|
|
scope:accuser.faith = { has_doctrine = doctrine_monotheist }
|
|
}
|
|
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
|
|
}
|
|
}
|
|
else = {
|
|
reverse_add_opinion = {
|
|
target = scope:accuser
|
|
modifier = disappointed_opinion
|
|
opinion = -40
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:refuter
|
|
modifier = respect_opinion
|
|
opinion = 40
|
|
}
|
|
court_8120_convert_vassal_effect = {
|
|
FAITH = scope:refuter.faith
|
|
CONVERTOR = scope:refuter
|
|
}
|
|
set_character_faith_with_conversion = scope:refuter.faith
|
|
if = {
|
|
limit = {
|
|
scope:refuter.faith = { has_doctrine = doctrine_monotheist }
|
|
}
|
|
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
|
|
}
|
|
}
|
|
stress_impact = {
|
|
zealous = massive_stress_impact_gain
|
|
stubborn = medium_stress_impact_gain
|
|
lazy = medium_stress_impact_gain
|
|
callous = medium_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 20
|
|
ai_value_modifier = {
|
|
ai_zeal = -1
|
|
ai_energy = 0.5
|
|
ai_rationality = 0.5
|
|
}
|
|
modifier = { # Weight down.
|
|
add = -100
|
|
THIS = ROOT.faith.religious_head
|
|
}
|
|
modifier = { # Weight down for stress.
|
|
add = -30
|
|
has_trait = zealous
|
|
}
|
|
modifier = { # Weight down for stress.
|
|
add = -15
|
|
has_trait = stubborn
|
|
}
|
|
modifier = { # Weight down for stress.
|
|
add = -15
|
|
has_trait = lazy
|
|
}
|
|
modifier = { # Weight down for stress.
|
|
add = -15
|
|
has_trait = callous
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Theological kumbaya
|
|
name = court.8120.c
|
|
trigger = { has_trait = theologian }
|
|
reverse_add_opinion = {
|
|
target = scope:accuser
|
|
modifier = respect_opinion
|
|
opinion = 15
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:refuter
|
|
modifier = respect_opinion
|
|
opinion = 15
|
|
}
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
diplomat = minor_stress_impact_loss
|
|
cynical = medium_stress_impact_gain
|
|
eccentric = minor_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_zeal = 0.5
|
|
ai_rationality = 1
|
|
}
|
|
modifier = { # Weight up.
|
|
add = 15
|
|
has_trait = diplomat
|
|
}
|
|
modifier = { # Weight down for stress.
|
|
add = -15
|
|
has_trait = cynical
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Defender of the faith
|
|
name = court.8120.d
|
|
trigger = { has_trait = zealous }
|
|
create_artifact = {
|
|
name = my_holy_book
|
|
description = my_holy_book_description
|
|
type = journal
|
|
visuals = book
|
|
modifier = artifact_monthly_piety_2_modifier
|
|
}
|
|
if = {
|
|
limit = { faith = scope:refuter.faith }
|
|
scope:accuser = { select_and_move_to_pool_effect = yes }
|
|
reverse_add_opinion = {
|
|
target = scope:accuser
|
|
modifier = insulted_opinion
|
|
opinion = -15
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:refuter
|
|
modifier = pious_opinion
|
|
opinion = 15
|
|
}
|
|
}
|
|
else = {
|
|
scope:refuter = { select_and_move_to_pool_effect = yes }
|
|
reverse_add_opinion = {
|
|
target = scope:refuter
|
|
modifier = insulted_opinion
|
|
opinion = -15
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:accuser
|
|
modifier = pious_opinion
|
|
opinion = 15
|
|
}
|
|
}
|
|
every_vassal = {
|
|
limit = { court_8120_zealous_vassal_trigger = yes } # root faith, zealous, not accuser/refuter
|
|
custom = court.8120.d.tt
|
|
add_opinion = {
|
|
target = root
|
|
modifier = pious_opinion
|
|
opinion = 10
|
|
}
|
|
}
|
|
hidden_effect = {
|
|
every_courtier_or_guest = {
|
|
limit = { court_8120_zealous_vassal_trigger = yes } # root faith, zealous, not accuser/refuter
|
|
add_opinion = {
|
|
target = root
|
|
modifier = pious_opinion
|
|
opinion = 10
|
|
}
|
|
}
|
|
}
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
lazy = major_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_zeal = 1
|
|
ai_energy = -1
|
|
}
|
|
modifier = { # Weight up.
|
|
add = 15
|
|
has_trait = diplomat
|
|
}
|
|
modifier = { # Weight down for stress.
|
|
add = -30
|
|
has_trait = lazy
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Admonish
|
|
name = court.8120.e
|
|
if = {
|
|
limit = { faith = scope:refuter.faith }
|
|
reverse_add_opinion = {
|
|
target = scope:accuser
|
|
modifier = insulted_opinion
|
|
opinion = -10
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:refuter
|
|
modifier = pious_opinion
|
|
opinion = 10
|
|
}
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_refuted_faith
|
|
CHARACTER = scope:accuser
|
|
OPINION = 0
|
|
}
|
|
}
|
|
else = {
|
|
scope:refuter = { select_and_move_to_pool_effect = yes }
|
|
reverse_add_opinion = {
|
|
target = scope:refuter
|
|
modifier = insulted_opinion
|
|
opinion = -10
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:accuser
|
|
modifier = pious_opinion
|
|
opinion = 10
|
|
}
|
|
}
|
|
stress_impact = {
|
|
cynical = medium_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_zeal = 0.5
|
|
ai_compassion = -0.5
|
|
}
|
|
modifier = { # Weight down for stress.
|
|
add = -15
|
|
has_trait = cynical
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Dismiss
|
|
name = court.8120.f
|
|
add_piety = miniscule_piety_gain
|
|
reverse_add_opinion = {
|
|
target = scope:accuser
|
|
modifier = humbled_opinion
|
|
opinion = -5
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:refuter
|
|
modifier = humbled_opinion
|
|
opinion = -5
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
after = { remove_variable = court_8120_issue }
|
|
}
|