Superfulous events removed
This commit is contained in:
parent
77b4b89979
commit
7971f5387b
323 changed files with 0 additions and 924501 deletions
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,70 +0,0 @@
|
|||
namespace = coronation_events
|
||||
|
||||
scripted_trigger coronation_events_3001_angry_vassal_trigger = {
|
||||
is_available_healthy_ai_adult = yes
|
||||
opinion = {
|
||||
target = scope:host
|
||||
value < 10
|
||||
}
|
||||
}
|
||||
|
||||
coronation_events.3001 = {
|
||||
type = letter_event
|
||||
opening = coronation_events.3001.opening
|
||||
desc = coronation_events.3001.desc
|
||||
sender = scope:main_vassal
|
||||
|
||||
trigger = {
|
||||
any_vassal = {
|
||||
coronation_events_3001_angry_vassal_trigger = yes
|
||||
count > 1
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
ordered_vassal = {
|
||||
limit = {
|
||||
coronation_events_3001_angry_vassal_trigger = yes
|
||||
}
|
||||
order_by = primary_title.tier
|
||||
save_scope_as = main_vassal
|
||||
}
|
||||
every_vassal = {
|
||||
limit = {
|
||||
coronation_events_3001_angry_vassal_trigger = yes
|
||||
NOT = { this = scope:main_vassal }
|
||||
}
|
||||
add_to_list = angry_vassals
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Invite them
|
||||
name = coronation_events.3001.a
|
||||
show_as_tooltip = {
|
||||
every_in_list = {
|
||||
list = angry_vassals
|
||||
add_to_activity = root.involved_activity
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
every_in_list = {
|
||||
list = angry_vassals
|
||||
set_location = root.location
|
||||
add_to_activity_without_travel = root.involved_activity
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Nah
|
||||
name = coronation_events.3001.b
|
||||
add_legitimacy = major_legitimacy_loss
|
||||
every_in_list = {
|
||||
list = angry_vassals
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = not_invited_coronation_opinion
|
||||
opinion = -15
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,227 +0,0 @@
|
|||
namespace = feast_default_axel
|
||||
|
||||
feast_default_axel.1001 = {
|
||||
type = activity_event
|
||||
title = feast_default_axel.1001.t
|
||||
desc = feast_default_axel.1001.desc
|
||||
theme = feast_activity
|
||||
override_background = { reference = bp1_wine_cellar }
|
||||
right_portrait = {
|
||||
character = scope:youngster_1
|
||||
animation = wedding_drunk
|
||||
camera = camera_event_very_right
|
||||
}
|
||||
center_portrait = {
|
||||
character = scope:youngster_2
|
||||
animation = interested
|
||||
camera = camera_event_very_left
|
||||
}
|
||||
left_portrait = {
|
||||
character = root
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
root = {
|
||||
OR = {
|
||||
has_trait = drunkard
|
||||
has_trait = lifestyle_reveler
|
||||
}
|
||||
}
|
||||
}
|
||||
animation = eyeroll
|
||||
}
|
||||
animation = disapproval
|
||||
}
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
faith = { trait_is_sin = drunkard }
|
||||
this = scope:host
|
||||
scope:activity = {
|
||||
any_attending_character = {
|
||||
NOT = {
|
||||
this = scope:host
|
||||
is_spouse_of = root
|
||||
}
|
||||
age = { 16 25 }
|
||||
is_physically_able_ai_adult = yes
|
||||
num_of_relation_friend < 2
|
||||
location = scope:host.location
|
||||
save_temporary_scope_as = temp_first
|
||||
}
|
||||
any_attending_character = {
|
||||
NOR = {
|
||||
this = scope:host
|
||||
is_spouse_of = root
|
||||
this = scope:temp_first
|
||||
}
|
||||
age = { 16 25 }
|
||||
is_physically_able_ai_adult = yes
|
||||
num_of_relation_friend < 2
|
||||
location = scope:host.location
|
||||
number_of_traits_in_common = {
|
||||
target = scope:temp_first
|
||||
value >= 1
|
||||
}
|
||||
}
|
||||
}
|
||||
#serious stuff only
|
||||
NOT = {
|
||||
primary_title ?= title:h_china
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
involved_activity = { save_scope_as = activity }
|
||||
save_scope_as = host
|
||||
scope:activity = {
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
NOT = {
|
||||
this = scope:host
|
||||
}
|
||||
age = { 16 25 }
|
||||
is_physically_able_ai_adult = yes
|
||||
num_of_relation_friend < 2
|
||||
location = scope:host.location
|
||||
}
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = {
|
||||
age < 19
|
||||
add = 3
|
||||
}
|
||||
}
|
||||
save_scope_as = youngster_1
|
||||
}
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
NOR = {
|
||||
this = scope:host
|
||||
this = scope:youngster_1
|
||||
}
|
||||
age = { 16 25 }
|
||||
is_physically_able_ai_adult = yes
|
||||
num_of_relation_friend < 2
|
||||
location = scope:host.location
|
||||
number_of_traits_in_common = {
|
||||
target = scope:youngster_1
|
||||
value >= 1
|
||||
}
|
||||
}
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = {
|
||||
age < 19
|
||||
add = 3
|
||||
}
|
||||
}
|
||||
save_scope_as = youngster_2
|
||||
}
|
||||
}
|
||||
scope:youngster_1 = {
|
||||
progress_towards_friend_effect = {
|
||||
REASON = friend_feast_talking_and_laughing
|
||||
CHARACTER = scope:youngster_2
|
||||
OPINION = default_friend_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # As if I would ever...
|
||||
name = feast_default_axel.1001.a
|
||||
trigger = { has_trait = drunkard }
|
||||
add_character_modifier = {
|
||||
modifier = drunk_high_spirits
|
||||
years = 10
|
||||
}
|
||||
stress_impact = {
|
||||
greedy = minor_stress_impact_loss
|
||||
base = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
ai_value_modifier = {
|
||||
# Doesn't like sharing
|
||||
ai_greed = 1
|
||||
}
|
||||
modifier = {
|
||||
has_trait = greedy
|
||||
add = 20
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Let the kids drink!
|
||||
name = feast_default_axel.1001.b
|
||||
scope:activity = {
|
||||
every_attending_character = {
|
||||
limit = { has_trait = gregarious }
|
||||
custom = custom.every_activity_guest_with_gregarious_trait
|
||||
add_opinion = {
|
||||
modifier = amused_opinion
|
||||
opinion = 15
|
||||
target = root
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
has_trait = lifestyle_reveler
|
||||
}
|
||||
add_trait_xp = {
|
||||
trait = lifestyle_reveler
|
||||
value = 5
|
||||
}
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = bad_influence_modifier
|
||||
years = 10
|
||||
}
|
||||
stress_impact = {
|
||||
gregarious = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
ai_value_modifier = {
|
||||
ai_sociability = 1
|
||||
}
|
||||
modifier = {
|
||||
has_trait = lifestyle_reveler
|
||||
add = 20
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Shame on both of you!
|
||||
name = feast_default_axel.1001.c
|
||||
trigger = {
|
||||
NOR = {
|
||||
# Not allowed to judge others for drinking and/or revelling
|
||||
has_trait = gregarious
|
||||
has_trait = drunkard
|
||||
}
|
||||
}
|
||||
add_prestige = medium_prestige_gain
|
||||
add_dread = minor_dread_gain
|
||||
reverse_add_opinion = {
|
||||
modifier = unfriendly_opinion
|
||||
target = scope:youngster_1
|
||||
}
|
||||
reverse_add_opinion = {
|
||||
modifier = unfriendly_opinion
|
||||
target = scope:youngster_2
|
||||
}
|
||||
stress_impact = {
|
||||
compassionate = medium_stress_impact_gain
|
||||
vengeful = minor_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
ai_value_modifier = {
|
||||
ai_boldness = 1
|
||||
ai_vengefulness = 1
|
||||
}
|
||||
modifier = {
|
||||
has_trait = compassionate
|
||||
add = -40
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,613 +0,0 @@
|
|||
|
||||
namespace = feast_default_jason
|
||||
|
||||
# Legend
|
||||
# involved_activity
|
||||
# activity_host
|
||||
# activity_location
|
||||
|
||||
scripted_trigger feast_default_jason_100_attending_soldier_trigger = {
|
||||
is_ai = yes
|
||||
NOT = {
|
||||
this = root
|
||||
}
|
||||
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
|
||||
is_adult = yes
|
||||
NOT = {
|
||||
is_at_war_with = root
|
||||
}
|
||||
}
|
||||
scripted_trigger feast_default_jason_100_attending_ruler_trigger = {
|
||||
gold >= minor_gold_value
|
||||
is_ai = yes
|
||||
is_ruler = yes
|
||||
is_landed = yes
|
||||
NOT = {
|
||||
this = root
|
||||
}
|
||||
is_adult = yes
|
||||
NOR = {
|
||||
has_any_bad_relationship_with_character_trigger = { CHARACTER = root }
|
||||
any_ally = {
|
||||
is_at_war_with = root
|
||||
}
|
||||
is_allied_to = root
|
||||
government_has_flag = government_is_herder
|
||||
}
|
||||
is_at_war = no
|
||||
opinion = {
|
||||
target = root
|
||||
value >= 0
|
||||
}
|
||||
trigger_if = {
|
||||
limit = {
|
||||
root = {
|
||||
highest_held_title_tier >= tier_empire
|
||||
}
|
||||
}
|
||||
highest_held_title_tier >= tier_duchy
|
||||
}
|
||||
trigger_else = {
|
||||
highest_held_title_tier >= tier_county
|
||||
}
|
||||
current_military_strength > 0
|
||||
NOR = {
|
||||
any_tributary = {
|
||||
is_at_war_with = root
|
||||
}
|
||||
suzerain ?= {
|
||||
is_at_war_with = root
|
||||
}
|
||||
top_suzerain ?= {
|
||||
is_at_war_with = root
|
||||
}
|
||||
any_liege_or_above = {
|
||||
is_at_war_with = root
|
||||
suzerain ?= {
|
||||
is_at_war_with = root
|
||||
}
|
||||
}
|
||||
any_vassal_or_below = {
|
||||
is_at_war_with = root
|
||||
}
|
||||
AND = {
|
||||
is_confederation_member = yes
|
||||
confederation = {
|
||||
is_house_based = no # any_confederation_member is not performant for house blocs
|
||||
any_confederation_member = {
|
||||
is_at_war_with = root
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#You are stressed at the feast and your realm is at war
|
||||
feast_default_jason.100 = {
|
||||
type = activity_event
|
||||
title = feast_default_jason.100.t
|
||||
desc = feast_default_jason.100.desc
|
||||
theme = feast_activity
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = stress
|
||||
}
|
||||
center_portrait = {
|
||||
character = scope:soldier
|
||||
animation = inspect_weapon
|
||||
camera = camera_event_center_pointing_forward
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:other_ruler
|
||||
animation = debating
|
||||
camera = camera_event_very_right
|
||||
}
|
||||
lower_right_portrait = scope:foe
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
has_raised_armies = yes
|
||||
is_landed = yes
|
||||
stress_level >= 1
|
||||
is_at_war = yes
|
||||
any_character_war = {
|
||||
NOR = {
|
||||
using_cb = undirected_great_holy_war
|
||||
using_cb = directed_great_holy_war
|
||||
}
|
||||
OR = {
|
||||
AND = {
|
||||
primary_defender = root
|
||||
defender_war_score <= 10
|
||||
}
|
||||
AND = {
|
||||
primary_attacker = root
|
||||
attacker_war_score <= 10
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:activity = {
|
||||
any_attending_character = {
|
||||
feast_default_jason_100_attending_soldier_trigger = yes
|
||||
save_temporary_scope_as = soldier_temp
|
||||
}
|
||||
any_attending_character = {
|
||||
feast_default_jason_100_attending_ruler_trigger = yes
|
||||
NOT = {
|
||||
this = scope:soldier_temp
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
modifier = {
|
||||
stress_level >= 2
|
||||
add = 1
|
||||
}
|
||||
modifier = {
|
||||
stress_level >= 3
|
||||
add = 1
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
|
||||
scope:activity = {
|
||||
ordered_attending_character = {
|
||||
order_by = martial
|
||||
limit = {
|
||||
feast_default_jason_100_attending_soldier_trigger = yes
|
||||
}
|
||||
save_scope_as = soldier
|
||||
}
|
||||
#Try to save valid supporter if host of coronation
|
||||
if = {
|
||||
limit = {
|
||||
activity_host = root
|
||||
has_activity_type = activity_coronation
|
||||
}
|
||||
ordered_guest_subset = {
|
||||
name = supporter
|
||||
order_by = {
|
||||
value = "opinion(root)"
|
||||
}
|
||||
limit = {
|
||||
feast_default_jason_100_attending_ruler_trigger = yes
|
||||
NOT = {
|
||||
this = scope:soldier
|
||||
}
|
||||
}
|
||||
save_scope_as = other_ruler
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
NOT = {
|
||||
exists = scope:other_ruler
|
||||
}
|
||||
}
|
||||
ordered_attending_character = {
|
||||
order_by = {
|
||||
value = "opinion(root)"
|
||||
}
|
||||
limit = {
|
||||
feast_default_jason_100_attending_ruler_trigger = yes
|
||||
NOT = {
|
||||
this = scope:soldier
|
||||
}
|
||||
}
|
||||
save_scope_as = other_ruler
|
||||
}
|
||||
}
|
||||
}
|
||||
random_character_war = {
|
||||
limit = {
|
||||
NOR = {
|
||||
using_cb = undirected_great_holy_war
|
||||
using_cb = directed_great_holy_war
|
||||
}
|
||||
OR = {
|
||||
AND = {
|
||||
primary_defender = root
|
||||
defender_war_score <= 10
|
||||
}
|
||||
AND = {
|
||||
primary_attacker = root
|
||||
attacker_war_score <= 10
|
||||
}
|
||||
}
|
||||
}
|
||||
save_scope_as = war
|
||||
if = {
|
||||
limit = {
|
||||
primary_defender = root
|
||||
}
|
||||
primary_attacker = {
|
||||
save_scope_as = foe
|
||||
}
|
||||
}
|
||||
else = {
|
||||
primary_defender = {
|
||||
save_scope_as = foe
|
||||
}
|
||||
}
|
||||
}
|
||||
ordered_army = {
|
||||
order_by = army_size
|
||||
save_scope_as = army
|
||||
location = {
|
||||
save_scope_as = army_location
|
||||
}
|
||||
}
|
||||
}
|
||||
#Add ruler to war
|
||||
option = {
|
||||
trigger = {
|
||||
#I seek advancement!
|
||||
trigger_if = {
|
||||
limit = {
|
||||
involved_activity = {
|
||||
NOT = { activity_host = root }
|
||||
has_activity_type = activity_coronation
|
||||
}
|
||||
scope:war = {
|
||||
primary_attacker = root
|
||||
}
|
||||
}
|
||||
has_activity_intent = coronation_seize_advantages
|
||||
}
|
||||
#I seek aid for my people
|
||||
trigger_else_if = {
|
||||
limit = {
|
||||
involved_activity = {
|
||||
NOT = { activity_host = root }
|
||||
has_activity_type = activity_coronation
|
||||
}
|
||||
scope:war = {
|
||||
primary_defender = root
|
||||
}
|
||||
}
|
||||
has_activity_intent = coronation_advocate_domain
|
||||
}
|
||||
trigger_else_if = {
|
||||
limit = {
|
||||
involved_activity = {
|
||||
activity_host = root
|
||||
has_activity_type = activity_coronation
|
||||
}
|
||||
has_activity_intent = coronation_embrace_supporters
|
||||
}
|
||||
has_activity_intent = coronation_embrace_supporters
|
||||
}
|
||||
trigger_else = {
|
||||
diplomacy >= high_skill_rating
|
||||
}
|
||||
}
|
||||
show_as_unavailable = {
|
||||
always = yes
|
||||
}
|
||||
name = feast_default_jason.100.a
|
||||
if = {
|
||||
limit = {
|
||||
scope:war = {
|
||||
primary_defender = root
|
||||
}
|
||||
}
|
||||
scope:war = {
|
||||
add_defender = scope:other_ruler
|
||||
}
|
||||
}
|
||||
else = {
|
||||
scope:war = {
|
||||
add_attacker = scope:other_ruler
|
||||
}
|
||||
}
|
||||
scope:other_ruler = {
|
||||
if = {
|
||||
limit = {
|
||||
NOR = {
|
||||
is_liege_or_above_of = root
|
||||
is_allied_to = root
|
||||
highest_held_title_tier > root.highest_held_title_tier
|
||||
}
|
||||
}
|
||||
add_prestige = medium_prestige_gain
|
||||
}
|
||||
else = {
|
||||
add_prestige = minor_prestige_gain
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
add_opinion = {
|
||||
modifier = grateful_opinion
|
||||
target = scope:other_ruler
|
||||
opinion = 30
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
stubborn = minor_stress_impact_gain
|
||||
arrogant = minor_stress_impact_gain
|
||||
craven = minor_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 150
|
||||
ai_value_modifier = {
|
||||
ai_boldness = -0.5
|
||||
ai_rationality = 0.5
|
||||
}
|
||||
modifier = {
|
||||
factor = 5
|
||||
OR = {
|
||||
scope:war = {
|
||||
primary_defender = root
|
||||
attacker_war_score >= 40
|
||||
}
|
||||
scope:war = {
|
||||
primary_attacker = root
|
||||
defender_war_score >= 40
|
||||
}
|
||||
scope:war = {
|
||||
primary_defender = root
|
||||
primary_attacker = {
|
||||
current_military_strength > root.current_military_strength
|
||||
|
||||
}
|
||||
}
|
||||
scope:war = {
|
||||
primary_attacker = root
|
||||
primary_defender = {
|
||||
current_military_strength > root.current_military_strength
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
factor = 2
|
||||
has_trait = craven
|
||||
scope:war = {
|
||||
primary_defender = root
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
factor = 0.5
|
||||
OR = {
|
||||
has_trait = stubborn
|
||||
has_trait = arrogant
|
||||
|
||||
scope:war = {
|
||||
primary_defender = root
|
||||
primary_attacker = {
|
||||
current_military_strength < root.current_military_strength
|
||||
|
||||
}
|
||||
}
|
||||
scope:war = {
|
||||
primary_attacker = root
|
||||
primary_defender = {
|
||||
current_military_strength < root.current_military_strength
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#Spend the rest of the feast speaking of victory
|
||||
option = {
|
||||
name = feast_default_jason.100.b
|
||||
if = {
|
||||
limit = {
|
||||
involved_activity = {
|
||||
has_activity_type = activity_coronation
|
||||
}
|
||||
this = involved_activity.activity_host
|
||||
}
|
||||
custom_tooltip = coronation_tt_positive_tiny
|
||||
involved_activity = { activity_special_type_progression_tiny = yes }
|
||||
coronation_add_magnificence_log_effect = {
|
||||
VALUE = flag:positive_tiny
|
||||
CHAR = root
|
||||
}
|
||||
}
|
||||
else = {
|
||||
add_prestige = miniscule_prestige_gain
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
has_activity_intent = coronation_exalt_crown
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = boasted_of_victories_modifier
|
||||
years = 5
|
||||
desc = victories_reduce_stress_add_prestige_desc
|
||||
}
|
||||
}
|
||||
else = {
|
||||
add_character_modifier = {
|
||||
modifier = boasted_of_victories_modifier
|
||||
years = 3
|
||||
desc = victories_reduce_stress_add_prestige_desc
|
||||
}
|
||||
}
|
||||
custom_tooltip = victories_reduce_stress_add_prestige_tt
|
||||
if = {
|
||||
limit = {
|
||||
has_activity_intent = coronation_exalt_crown
|
||||
}
|
||||
custom_tooltip = feast_default_jason.100.b_exalt_the_crown
|
||||
}
|
||||
stress_impact = {
|
||||
arrogant = minor_stress_impact_loss
|
||||
ambitious = miniscule_stress_impact_loss
|
||||
humble = miniscule_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_greed = 0.5
|
||||
ai_energy = 0.5
|
||||
}
|
||||
modifier = {
|
||||
factor = 5
|
||||
|
||||
}
|
||||
modifier = {
|
||||
factor = 2
|
||||
OR = {
|
||||
has_trait = arrogant
|
||||
has_trait = ambitious
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = humble
|
||||
scope:war = {
|
||||
primary_defender = root
|
||||
attacker_war_score >= 30
|
||||
}
|
||||
scope:war = {
|
||||
primary_attacker = root
|
||||
defender_war_score >= 30
|
||||
}
|
||||
scope:war = {
|
||||
primary_defender = root
|
||||
primary_attacker = {
|
||||
current_military_strength > root.current_military_strength
|
||||
|
||||
}
|
||||
}
|
||||
scope:war = {
|
||||
primary_attacker = root
|
||||
primary_defender = {
|
||||
current_military_strength > root.current_military_strength
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#Another round!
|
||||
option = {
|
||||
name = {
|
||||
trigger = {
|
||||
drinks_alcohol_trigger = yes
|
||||
NOR = {
|
||||
has_trait = comfort_eater
|
||||
has_trait = gluttonous
|
||||
}
|
||||
}
|
||||
text = feast_default_jason.100.c
|
||||
}
|
||||
name = {
|
||||
trigger = {
|
||||
OR = {
|
||||
drinks_alcohol_trigger = no
|
||||
has_trait = comfort_eater
|
||||
has_trait = gluttonous
|
||||
}
|
||||
}
|
||||
text = feast_default_jason.100.c_hungee
|
||||
}
|
||||
#Alcohol stress loss
|
||||
if = {
|
||||
limit = {
|
||||
drinks_alcohol_trigger = yes
|
||||
NOR = {
|
||||
has_trait = comfort_eater
|
||||
has_trait = gluttonous
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
NOT = {
|
||||
has_trait = drunkard
|
||||
}
|
||||
}
|
||||
random = {
|
||||
chance = 5
|
||||
add_trait = drunkard
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_loss
|
||||
temperate = medium_stress_impact_gain
|
||||
diligent = miniscule_stress_impact_gain
|
||||
vengeful = miniscule_stress_impact_gain
|
||||
drunkard = medium_stress_impact_loss
|
||||
lifestyle_reveler = medium_stress_impact_loss
|
||||
gregarious = miniscule_stress_impact_loss
|
||||
content = minor_stress_impact_loss
|
||||
lazy = minor_stress_impact_loss
|
||||
fickle = miniscule_stress_impact_loss
|
||||
calm = miniscule_stress_impact_loss
|
||||
patient = miniscule_stress_impact_loss
|
||||
}
|
||||
}
|
||||
#Food stress loss
|
||||
if = {
|
||||
limit = {
|
||||
OR = {
|
||||
drinks_alcohol_trigger = no
|
||||
has_trait = comfort_eater
|
||||
has_trait = gluttonous
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
NOT = {
|
||||
has_trait = comfort_eater
|
||||
}
|
||||
}
|
||||
random = {
|
||||
chance = 5
|
||||
add_trait = comfort_eater
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_loss
|
||||
temperate = medium_stress_impact_gain
|
||||
diligent = miniscule_stress_impact_gain
|
||||
vengeful = miniscule_stress_impact_gain
|
||||
gluttonous = medium_stress_impact_loss
|
||||
comfort_eater = medium_stress_impact_loss
|
||||
gregarious = miniscule_stress_impact_loss
|
||||
content = minor_stress_impact_loss
|
||||
lazy = minor_stress_impact_loss
|
||||
fickle = miniscule_stress_impact_loss
|
||||
calm = miniscule_stress_impact_loss
|
||||
patient = miniscule_stress_impact_loss
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_rationality = -0.5
|
||||
ai_energy = -0.5
|
||||
}
|
||||
modifier = {
|
||||
factor = 2
|
||||
OR = {
|
||||
has_trait = gluttonous
|
||||
has_trait = drunkard
|
||||
has_trait = comfort_eater
|
||||
has_trait = lifestyle_reveler
|
||||
has_trait = content
|
||||
has_trait = lazy
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = temperate
|
||||
has_trait = diligent
|
||||
has_trait = vengeful
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,142 +0,0 @@
|
|||
|
||||
namespace = feast_default_joe
|
||||
|
||||
scripted_trigger feast_default_joe_1010_agent_trigger = {
|
||||
is_ai = yes
|
||||
intrigue > mediocre_skill_rating # avoid suck
|
||||
$SCHEME$ = {
|
||||
any_scheme_agent_slot = { save_temporary_scope_as = agent_slot_temp }
|
||||
}
|
||||
is_valid_as_agent_in_slot = scope:agent_slot_temp
|
||||
save_temporary_scope_as = agent_temp
|
||||
NOR = {
|
||||
$SCHEME$ = { scheme_is_character_agent = scope:agent_temp } # Not already in the scheme
|
||||
has_any_bad_relationship_with_character_trigger = { CHARACTER = root } # Doesn't hate you
|
||||
}
|
||||
}
|
||||
|
||||
feast_default_joe.1010 = { # Get agent to join your scheme
|
||||
type = activity_event
|
||||
title = feast_default_joe.1010.t
|
||||
desc = feast_default_joe.1010.desc
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = scheme
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:agent
|
||||
animation = war_over_win
|
||||
}
|
||||
lower_center_portrait = scope:scheme.scheme_target_character
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
any_scheme = { save_temporary_scope_as = scheme_temp }
|
||||
scope:activity = {
|
||||
any_attending_character = {
|
||||
feast_default_joe_1010_agent_trigger = { SCHEME = scope:scheme_temp }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:activity = {
|
||||
every_attending_character = {
|
||||
limit = {
|
||||
root = { any_scheme = { save_temporary_scope_as = scheme_temp } }
|
||||
feast_default_joe_1010_agent_trigger = { SCHEME = scope:scheme_temp }
|
||||
scope:agent_slot_temp = { is_filled = no } # prefer schemes with unfilled slots
|
||||
}
|
||||
alternative_limit = {
|
||||
root = { any_scheme = { save_temporary_scope_as = scheme_temp } }
|
||||
feast_default_joe_1010_agent_trigger = { SCHEME = scope:scheme_temp }
|
||||
}
|
||||
add_to_list = agent_list
|
||||
scope:scheme_temp = { add_to_list = scheme_list }
|
||||
}
|
||||
}
|
||||
random_in_list = { # Pick a scheme
|
||||
list = scheme_list
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = { add = scheme_success_chance }
|
||||
}
|
||||
save_scope_as = scheme
|
||||
}
|
||||
random_in_list = { # Pick an agent
|
||||
list = agent_list
|
||||
limit = { feast_default_joe_1010_agent_trigger = { SCHEME = scope:scheme } }
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = { add = intrigue }
|
||||
is_of_major_interest_to_weight_up_modifier = { CHARACTER = scope:scheme.scheme_target_character }
|
||||
}
|
||||
save_scope_as = agent
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Attract all
|
||||
name = feast_default_joe.1010.a
|
||||
trigger = {
|
||||
custom_tooltip = {
|
||||
text = feast_default_joe.1010.a.trigger
|
||||
OR = {
|
||||
intrigue >= decent_skill_rating
|
||||
has_trait = schemer
|
||||
}
|
||||
}
|
||||
}
|
||||
skill = intrigue
|
||||
show_as_unavailable = { always = yes }
|
||||
custom_tooltip = {
|
||||
text = all_guests_agent_more_likely_join_scheme_tt
|
||||
scope:activity = {
|
||||
every_attending_character = {
|
||||
limit = {
|
||||
is_valid_as_agent_in_any_slot = scope:scheme
|
||||
trigger_if = {
|
||||
limit = { exists = scope:scheme.scheme_target_character }
|
||||
NOT = {
|
||||
has_any_good_relationship_with_character_trigger = { CHARACTER = scope:scheme.scheme_target_character }
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:scheme = {
|
||||
add_to_variable_list = {
|
||||
name = increased_agent_join_acceptance
|
||||
target = prev
|
||||
months = 6
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Focus on one
|
||||
name = feast_default_joe.1010.b
|
||||
custom_tooltip = {
|
||||
text = agent_more_likely_join_scheme_tt
|
||||
scope:scheme = {
|
||||
add_to_variable_list = {
|
||||
name = increased_agent_join_acceptance
|
||||
target = scope:agent
|
||||
months = 6
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_default_joe.1010.c
|
||||
add_prestige = medium_prestige_loss
|
||||
scope:scheme = { change_opportunities = 1 }
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_default_joe.1010.d
|
||||
scope:scheme = { add_scheme_progress = 15 }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,502 +0,0 @@
|
|||
namespace = feast_default_laurence
|
||||
#Bitter rebelious fellow vassal wants to murder your liege at your feast
|
||||
feast_default_laurence.100 = {
|
||||
type = activity_event
|
||||
title = feast_default_laurence.100.t
|
||||
desc = feast_default_laurence.100.desc
|
||||
|
||||
theme = feast_activity
|
||||
|
||||
override_background = { reference = corridor_night }
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_dishonorable
|
||||
camera = camera_event_very_left
|
||||
}
|
||||
center_portrait = {
|
||||
character = scope:conspiratorial_fellow
|
||||
#animation = marshal_dagger
|
||||
animation = marshal
|
||||
camera = camera_event_left_forward
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:intent_target
|
||||
animation = wedding_drunk
|
||||
camera = camera_event_right_away
|
||||
}
|
||||
cooldown = { years = 10 }
|
||||
trigger = {
|
||||
# Correct intent for vibes time.
|
||||
has_activity_intent = murder_attendee_intent
|
||||
# Some extra cautious validity checks.
|
||||
intent_target ?= {
|
||||
is_alive = yes
|
||||
}
|
||||
liege = intent_target
|
||||
#Someone who has been in a war with our liege and therefore has a grudge
|
||||
scope:activity = {
|
||||
any_attending_character = {
|
||||
this != root
|
||||
is_ai = yes
|
||||
any_memory = {
|
||||
OR = {
|
||||
has_memory_type = offensive_war
|
||||
has_memory_type = defensive_war
|
||||
}
|
||||
any_memory_participant = {
|
||||
this = root.intent_target
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
immediate = {
|
||||
save_scope_as = feast_host
|
||||
scope:activity = {
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
this != root
|
||||
is_ai = yes
|
||||
any_memory = {
|
||||
OR = {
|
||||
has_memory_type = offensive_war
|
||||
has_memory_type = defensive_war
|
||||
}
|
||||
any_memory_participant = {
|
||||
this = root.intent_target
|
||||
}
|
||||
}
|
||||
}
|
||||
save_scope_as = conspiratorial_fellow
|
||||
random_memory = {
|
||||
limit = {
|
||||
OR = {
|
||||
has_memory_type = offensive_war
|
||||
has_memory_type = defensive_war
|
||||
}
|
||||
any_memory_participant = {
|
||||
this = root.intent_target
|
||||
}
|
||||
}
|
||||
save_scope_as = war_memory
|
||||
}
|
||||
}
|
||||
}
|
||||
intent_target = {
|
||||
save_scope_as = intent_target
|
||||
}
|
||||
}
|
||||
# You agree to turn a blind eye to his murder attempt on your liege
|
||||
option = {
|
||||
name = feast_default_laurence.100.a
|
||||
scope:conspiratorial_fellow = {
|
||||
duel = {
|
||||
skill = intrigue
|
||||
value = scope:intent_target.intrigue
|
||||
|
||||
30 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -39
|
||||
}
|
||||
min = 5
|
||||
desc = feast_default_laurence.100.a.tt.success
|
||||
scope:intent_target = {
|
||||
trigger_event = feast_default_laurence.101
|
||||
}
|
||||
show_as_tooltip = {
|
||||
scope:conspiratorial_fellow = {
|
||||
unknown_murder_effect = {
|
||||
VICTIM = scope:intent_target
|
||||
MURDERER = scope:conspiratorial_fellow
|
||||
REASON = death_murder
|
||||
}
|
||||
add_trait = murderer
|
||||
}
|
||||
}
|
||||
}
|
||||
70 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -39
|
||||
}
|
||||
min = 10
|
||||
desc = feast_default_laurence.100.a.tt.failure
|
||||
root = {
|
||||
send_interface_toast = {
|
||||
type = event_intrigue_bad
|
||||
title = feast_default_laurence.100.a.tt.failure
|
||||
left_icon = scope:intent_target
|
||||
scope:conspiratorial_fellow = {
|
||||
add_prestige = medium_prestige_loss
|
||||
add_secret = {
|
||||
type = secret_murder_attempt
|
||||
target = scope:intent_target
|
||||
}
|
||||
reverse_add_opinion = {
|
||||
target = scope:intent_target
|
||||
modifier = suspicion_opinion
|
||||
opinion = -60
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
brave = minor_stress_impact_loss
|
||||
wrathful = medium_stress_impact_loss
|
||||
ambitious = medium_stress_impact_loss
|
||||
content = medium_stress_impact_gain
|
||||
calm = minor_stress_impact_gain
|
||||
craven = miniscule_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = craven
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = brave
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = calm
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = wrathful
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = content
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = ambitious
|
||||
factor = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
# Simply gather information on HerHis habits and ticks.
|
||||
option = {
|
||||
name = feast_default_laurence.100.b
|
||||
|
||||
# Do we already have a scheme against them? If so, add the modifier immediately.
|
||||
if = {
|
||||
limit = {
|
||||
any_scheme = {
|
||||
scheme_type = murder
|
||||
scheme_target_character = scope:intent_target
|
||||
}
|
||||
}
|
||||
random_scheme = {
|
||||
limit = {
|
||||
scheme_type = murder
|
||||
scheme_target_character = scope:intent_target
|
||||
}
|
||||
add_scheme_modifier = { type = feast_learnt_habits_modifier }
|
||||
}
|
||||
}
|
||||
# Otherwise, note that we notify them that they'll gain a bonus to murdering this character if they start in the next X years.
|
||||
else = {
|
||||
# If we've already got someone logged for this, warn that we'll overwrite them.
|
||||
if = {
|
||||
limit = { has_variable = feast_events_ewan_0001_bonus_value }
|
||||
custom_tooltip = feast_events_ewan.0001.e.tt.bonus_to_murder_scheme.overwrite
|
||||
}
|
||||
# Set the variable.
|
||||
set_variable = {
|
||||
name = feast_events_ewan_0001_bonus_value
|
||||
value = scope:intent_target
|
||||
years = feast_events_ewan_0001_murder_scheme_bonus_time_to_use_value
|
||||
}
|
||||
# Inform the player.
|
||||
custom_tooltip = feast_events_ewan.0001.e.tt.bonus_to_murder_scheme
|
||||
}
|
||||
stress_impact = {
|
||||
craven = miniscule_stress_impact_loss
|
||||
wrathful = medium_stress_impact_loss
|
||||
ambitious = medium_stress_impact_loss
|
||||
content = medium_stress_impact_gain
|
||||
brave = minor_stress_impact_gain
|
||||
calm = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = brave
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = craven
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = calm
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = wrathful
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = content
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = ambitious
|
||||
factor = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
#Threaten conspiratorial_fellow and get hook
|
||||
option = {
|
||||
name = feast_default_laurence.100.c
|
||||
if = {
|
||||
limit = {
|
||||
can_add_hook = {
|
||||
target = scope:conspiratorial_fellow
|
||||
type = suspicious_activity_hook
|
||||
}
|
||||
}
|
||||
add_hook = {
|
||||
type = suspicious_activity_hook
|
||||
target = scope:conspiratorial_fellow
|
||||
}
|
||||
add_intrigue_lifestyle_xp = minor_lifestyle_xp
|
||||
}
|
||||
else = {
|
||||
add_intrigue_lifestyle_xp = major_lifestyle_xp
|
||||
}
|
||||
stress_impact = {
|
||||
paranoid = medium_stress_impact_loss
|
||||
vengeful = minor_stress_impact_loss
|
||||
deceitful = medium_stress_impact_loss
|
||||
forgiving = miniscule_stress_impact_gain
|
||||
honest = minor_stress_impact_gain
|
||||
trusting = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = forgiving
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = vengeful
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = honest
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = deceitful
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = trusting
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = paranoid
|
||||
factor = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#You were killed by a vassal at another vassal's murder intent feast
|
||||
feast_default_laurence.101 = {
|
||||
type = activity_event
|
||||
title = feast_default_laurence.100.t
|
||||
desc = feast_default_laurence.101.desc
|
||||
|
||||
theme = feast_activity
|
||||
|
||||
left_portrait = {
|
||||
character = scope:intent_target
|
||||
animation = sick_stomach
|
||||
camera = camera_event_very_left
|
||||
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:feast_host
|
||||
animation = wedding_drunk
|
||||
camera = camera_event_right_away
|
||||
}
|
||||
option = {
|
||||
name = feast_default_laurence.101.a
|
||||
scope:conspiratorial_fellow = {
|
||||
unknown_murder_effect = {
|
||||
VICTIM = scope:intent_target
|
||||
MURDERER = scope:conspiratorial_fellow
|
||||
REASON = death_murder
|
||||
}
|
||||
add_trait = murderer
|
||||
}
|
||||
scope:feast_host = {
|
||||
trigger_event = feast_default_laurence.102
|
||||
}
|
||||
}
|
||||
}
|
||||
#Your guest succeeded at murdering your liege
|
||||
feast_default_laurence.102 = {
|
||||
|
||||
type = activity_event
|
||||
title = feast_default_laurence.100.t
|
||||
desc = feast_default_laurence.102.desc
|
||||
|
||||
theme = feast_activity
|
||||
|
||||
left_portrait = {
|
||||
character = scope:feast_host
|
||||
animation = personality_dishonorable
|
||||
camera = camera_event_very_left
|
||||
|
||||
}
|
||||
center_portrait = {
|
||||
character = scope:intent_target
|
||||
animation = sick_stomach
|
||||
camera = camera_event_very_left_activity
|
||||
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:conspiratorial_fellow
|
||||
animation = sword_coup_degrace
|
||||
camera = camera_event_right_away
|
||||
}
|
||||
#Befriend murderer but gain murder trait!
|
||||
option = {
|
||||
name = feast_default_laurence.102.a
|
||||
add_intrigue_lifestyle_xp = minor_lifestyle_xp
|
||||
set_relation_friend = {
|
||||
reason = friend_bonded_over_sins
|
||||
target = scope:conspiratorial_fellow
|
||||
}
|
||||
reverse_add_opinion = {
|
||||
target = scope:conspiratorial_fellow
|
||||
modifier = befriended_opinion
|
||||
opinion = 50
|
||||
}
|
||||
scope:feast_host = {
|
||||
add_trait = murderer
|
||||
}
|
||||
stress_impact = {
|
||||
gregarious = medium_stress_impact_loss
|
||||
trusting = medium_stress_impact_loss
|
||||
shy = minor_stress_impact_gain
|
||||
paranoid = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = shy
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = gregarious
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = paranoid
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = trusting
|
||||
factor = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
#Attempt to imprison him for his crime
|
||||
option = {
|
||||
name = feast_default_laurence.102.b
|
||||
flavor = feast_default_laurence.102.b.flavor
|
||||
duel = {
|
||||
skill = intrigue
|
||||
value = scope:conspiratorial_fellow.intrigue
|
||||
30 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -39
|
||||
}
|
||||
min = 10
|
||||
send_interface_toast = {
|
||||
type = event_intrigue_good
|
||||
title = feast_default_laurence.102.b.tt.success
|
||||
left_icon = scope:conspiratorial_fellow
|
||||
rightfully_imprison_character_effect = {
|
||||
TARGET = scope:conspiratorial_fellow
|
||||
IMPRISONER = scope:feast_host
|
||||
}
|
||||
add_intrigue_lifestyle_xp = medium_lifestyle_xp
|
||||
reverse_add_opinion = {
|
||||
target = scope:conspiratorial_fellow
|
||||
modifier = betrayed_me_opinion
|
||||
opinion = -80
|
||||
}
|
||||
}
|
||||
}
|
||||
70 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -39
|
||||
}
|
||||
min = 5
|
||||
send_interface_toast = {
|
||||
type = event_intrigue_bad
|
||||
title = feast_default_laurence.102.b.tt.fail
|
||||
left_icon = scope:conspiratorial_fellow
|
||||
reverse_add_opinion = {
|
||||
target = scope:conspiratorial_fellow
|
||||
modifier = betrayed_me_opinion
|
||||
opinion = -30
|
||||
}
|
||||
}
|
||||
desc = feast_default_laurence.102.b.tt.fail
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
deceitful = medium_stress_impact_loss
|
||||
paranoid = medium_stress_impact_loss
|
||||
arbitrary = minor_stress_impact_loss
|
||||
honest = medium_stress_impact_gain
|
||||
trusting = medium_stress_impact_gain
|
||||
just = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = deceitful
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = honest
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = paranoid
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = trusting
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = arbitrary
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = just
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,560 +0,0 @@
|
|||
namespace = feast_events_flavor
|
||||
|
||||
#######################################
|
||||
# By Veronica Pazos and Jay Zaborowski
|
||||
# feast_events_flavor.0001 - Dynasty member of someone you have a relation with approaches you
|
||||
# feast_events_flavor.0002 - A former rival reminisces with you
|
||||
|
||||
# Dynasty member of someone you have a relation with approaches you
|
||||
# by Veronica Pazos
|
||||
scripted_trigger feast_events_flavor_0001_appropriate_guest = {
|
||||
is_ai = yes
|
||||
is_adult = yes
|
||||
NOR = {
|
||||
has_any_good_relationship_with_character_trigger = { CHARACTER = root }
|
||||
has_any_bad_relationship_with_character_trigger = { CHARACTER = root }
|
||||
dynasty = root.dynasty
|
||||
is_courtier_of = root
|
||||
overlord ?= root
|
||||
}
|
||||
save_temporary_scope_as = guest_temp
|
||||
dynasty ?= {
|
||||
any_dynasty_member = {
|
||||
NOT = { this = scope:guest_temp }
|
||||
NOT = { is_spouse_of = scope:guest_temp } # We exclude their spouses to avoid weirdness
|
||||
OR = {
|
||||
AND = {
|
||||
has_any_good_relationship_with_character_trigger = { CHARACTER = root }
|
||||
NOT = { has_any_bad_relationship_with_character_trigger = { CHARACTER = root } }
|
||||
}
|
||||
AND = {
|
||||
has_any_bad_relationship_with_character_trigger = { CHARACTER = root }
|
||||
NOT = { has_any_good_relationship_with_character_trigger = { CHARACTER = root } }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
feast_events_flavor.0001 = {
|
||||
type = activity_event
|
||||
title = feast_events_flavor.0001.t
|
||||
desc = {
|
||||
desc = feast_events_flavor.0001.desc.intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_any_good_relationship_with_character_trigger = { CHARACTER = scope:relation_target }
|
||||
}
|
||||
desc = feast_events_flavor.0001.desc.good
|
||||
}
|
||||
desc = feast_events_flavor.0001.desc.bad
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = root
|
||||
triggered_animation = {
|
||||
trigger = { has_any_good_relationship_with_character_trigger = { CHARACTER = scope:relation_target } }
|
||||
animation = happiness
|
||||
}
|
||||
animation = dismissal
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:guest
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
root = { has_any_good_relationship_with_character_trigger = { CHARACTER = scope:relation_target } }
|
||||
}
|
||||
animation = toast_goblet
|
||||
}
|
||||
animation = schadenfreude
|
||||
}
|
||||
lower_left_portrait = scope:relation_target
|
||||
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
involved_activity = {
|
||||
any_attending_character = {
|
||||
feast_events_flavor_0001_appropriate_guest = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
involved_activity = {
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
feast_events_flavor_0001_appropriate_guest = yes
|
||||
}
|
||||
save_scope_as = guest
|
||||
dynasty = {
|
||||
random_dynasty_member = {
|
||||
limit = {
|
||||
is_ai = yes
|
||||
NOT = { this = scope:guest }
|
||||
NOT = { is_spouse_of = scope:guest } # We exclude their spouses to avoid weirdness
|
||||
OR = {
|
||||
AND = {
|
||||
has_any_good_relationship_with_character_trigger = { CHARACTER = root }
|
||||
NOT = { has_any_bad_relationship_with_character_trigger = { CHARACTER = root } }
|
||||
}
|
||||
AND = {
|
||||
has_any_bad_relationship_with_character_trigger = { CHARACTER = root }
|
||||
NOT = { has_any_good_relationship_with_character_trigger = { CHARACTER = root } }
|
||||
}
|
||||
}
|
||||
}
|
||||
save_scope_as = relation_target
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Special diplo option
|
||||
name = feast_events_flavor.0001.aa
|
||||
trigger = {
|
||||
has_any_good_relationship_with_character_trigger = { CHARACTER = scope:relation_target }
|
||||
has_trait = family_first
|
||||
NOT = { is_allied_to = scope:guest }
|
||||
}
|
||||
custom_tooltip = feast_alliance_effect_tooltip
|
||||
create_alliance = {
|
||||
target = scope:guest
|
||||
allied_through_owner = root
|
||||
allied_through_target = scope:guest
|
||||
}
|
||||
stress_impact = {
|
||||
callous = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = callous
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # If it's a good relationship, extend it
|
||||
name = feast_events_flavor.0001.a
|
||||
trigger = {
|
||||
has_any_good_relationship_with_character_trigger = { CHARACTER = scope:relation_target }
|
||||
NOT = { has_relation_friend = scope:guest }
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
has_activity_intent = befriend_attendee_intent
|
||||
intent_target ?= scope:guest
|
||||
}
|
||||
complete_activity_intent = yes
|
||||
}
|
||||
set_relation_friend = {
|
||||
target = scope:guest
|
||||
reason = friend_feast_bonding
|
||||
}
|
||||
stress_impact = {
|
||||
gregarious = major_stress_impact_loss
|
||||
shy = medium_stress_impact_gain
|
||||
callous = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = gregarious
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
OR = {
|
||||
has_trait = shy
|
||||
has_trait = callous
|
||||
}
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # If it's a good relationship, sing their praises
|
||||
name = feast_events_flavor.0001.b
|
||||
trigger = {
|
||||
has_any_good_relationship_with_character_trigger = { CHARACTER = scope:relation_target }
|
||||
}
|
||||
add_prestige = minor_prestige_gain
|
||||
every_vassal_or_below = {
|
||||
limit = {
|
||||
this != scope:guest
|
||||
is_ai = yes
|
||||
has_vassal_stance = courtly
|
||||
is_vassal_of = root
|
||||
}
|
||||
custom = every_participating_courtly_vassal
|
||||
add_opinion = {
|
||||
modifier = feast_had_good_talk
|
||||
target = root
|
||||
opinion = 10
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
callous = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = callous
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # If it's bad, double down
|
||||
name = feast_events_flavor.0001.c
|
||||
trigger = {
|
||||
has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:relation_target }
|
||||
}
|
||||
add_dread = minor_dread_gain
|
||||
set_relation_rival = {
|
||||
target = scope:guest
|
||||
reason = rival_insulted_dynasty
|
||||
}
|
||||
stress_impact = {
|
||||
callous = major_stress_impact_loss
|
||||
vengeful = major_stress_impact_loss
|
||||
wrathful = major_stress_impact_loss
|
||||
compassionate = major_stress_impact_gain
|
||||
craven = major_stress_impact_gain
|
||||
calm = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
OR = {
|
||||
has_trait = callous
|
||||
has_trait = wrathful
|
||||
has_trait = vengeful
|
||||
}
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
OR = {
|
||||
has_trait = compassionate
|
||||
has_trait = craven
|
||||
has_trait = calm
|
||||
}
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # If it's bad, apologise
|
||||
name = feast_events_flavor.0001.d
|
||||
show_as_unavailable = {
|
||||
has_trait = callous # We show it but we don't even let you click it kekw
|
||||
}
|
||||
trigger = {
|
||||
has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:relation_target }
|
||||
NOT = { has_trait = callous }
|
||||
}
|
||||
if = {
|
||||
limit = { has_relation_rival = scope:relation_target }
|
||||
remove_relation_rival = scope:relation_target
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_relation_nemesis = scope:relation_target }
|
||||
remove_relation_nemesis = scope:relation_target
|
||||
}
|
||||
else = {
|
||||
scope:relation_target = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = apologized_opinion
|
||||
opinion = 25
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
craven = major_stress_impact_loss
|
||||
vengeful = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = forgiving
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = vengeful
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Enough talking about them
|
||||
name = feast_events_flavor.0001.e
|
||||
if = {
|
||||
limit = {
|
||||
has_any_good_relationship_with_character_trigger = { CHARACTER = scope:relation_target }
|
||||
}
|
||||
scope:guest = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = feast_had_good_talk
|
||||
opinion = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
every_vassal_or_below = {
|
||||
limit = {
|
||||
this != scope:guest
|
||||
is_ai = yes
|
||||
has_vassal_stance = courtly
|
||||
is_participant_in_activity = root.involved_activity
|
||||
}
|
||||
custom = every_participating_courtly_vassal
|
||||
add_opinion = {
|
||||
modifier = impressed_opinion
|
||||
target = root
|
||||
opinion = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = craven
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# A former rival reminisces with you
|
||||
# By Jay Zaborowski
|
||||
feast_events_flavor.0002 = {
|
||||
type = activity_event
|
||||
title = feast_events_flavor.0002.t
|
||||
desc = feast_events_flavor.0002.desc
|
||||
theme = feast_activity
|
||||
right_portrait = {
|
||||
character = root
|
||||
animation = laugh
|
||||
}
|
||||
left_portrait = {
|
||||
character = scope:former_rival
|
||||
animation = drink_goblet
|
||||
}
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
involved_activity = {
|
||||
any_attending_character = {
|
||||
NOT = { this = root }
|
||||
is_physically_able_ai_adult = yes
|
||||
any_memory = {
|
||||
OR = {
|
||||
has_memory_type = stopped_being_rivals
|
||||
has_memory_type = let_go_of_rivalry
|
||||
}
|
||||
memory_participant:rival = root
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
involved_activity = {
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
NOT = { this = root }
|
||||
is_physically_able_ai_adult = yes
|
||||
any_memory = {
|
||||
OR = {
|
||||
has_memory_type = stopped_being_rivals
|
||||
has_memory_type = let_go_of_rivalry
|
||||
}
|
||||
memory_participant:rival = root
|
||||
}
|
||||
}
|
||||
save_scope_as = former_rival
|
||||
get_quirk_character_effect = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Seduce
|
||||
name = feast_events_flavor.0002.a
|
||||
trigger = {
|
||||
trigger_if = {
|
||||
limit = { is_married = yes }
|
||||
OR = {
|
||||
might_cheat_on_every_partner_trigger = yes
|
||||
is_ai = no # Players can do as they like
|
||||
}
|
||||
}
|
||||
OR = {
|
||||
has_trait = lustful
|
||||
has_trait = rakish
|
||||
has_trait = seducer
|
||||
has_trait = deviant
|
||||
}
|
||||
is_attracted_to_gender_of = scope:former_rival
|
||||
scope:former_rival = { is_attracted_to_gender_of = root }
|
||||
}
|
||||
trait = lustful
|
||||
trait = rakish
|
||||
trait = seducer
|
||||
trait = deviant
|
||||
had_sex_with_effect = {
|
||||
CHARACTER = scope:former_rival
|
||||
PREGNANCY_CHANCE = pregnancy_chance
|
||||
}
|
||||
progress_towards_lover_effect = {
|
||||
CHARACTER = scope:former_rival
|
||||
REASON = lover_distracting_sex
|
||||
OPINION = default_lover_opinion
|
||||
}
|
||||
stress_impact = {
|
||||
chaste = medium_stress_impact_gain
|
||||
celibate = major_stress_impact_gain
|
||||
vengeful = major_stress_impact_gain
|
||||
forgiving = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 200
|
||||
}
|
||||
}
|
||||
option = { # Become friends
|
||||
name = feast_events_flavor.0002.b
|
||||
trigger = { can_set_relation_friend_trigger = { CHARACTER = scope:former_rival } }
|
||||
set_relation_friend = { reason = friend_feast_recounted_rivalry target = scope:former_rival }
|
||||
stress_impact = {
|
||||
gregarious = major_stress_impact_loss
|
||||
forgiving = major_stress_impact_loss
|
||||
vengeful = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = shy
|
||||
opinion = {
|
||||
value <= medium_negative_opinion
|
||||
target = scope:former_rival
|
||||
}
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
factor = 2
|
||||
has_trait = gregarious
|
||||
}
|
||||
}
|
||||
}
|
||||
option = { # Time to go back to old times - give prestige
|
||||
name = feast_events_flavor.0002.c
|
||||
trigger = { can_set_relation_rival_trigger = { CHARACTER = scope:former_rival } }
|
||||
set_relation_rival = { reason = rival_bad_chemistry target = scope:former_rival }
|
||||
add_prestige = medium_prestige_gain
|
||||
if = {
|
||||
limit = {
|
||||
OR = {
|
||||
faith = { trait_is_virtue = forgiving }
|
||||
faith = { trait_is_sin = vengeful }
|
||||
}
|
||||
}
|
||||
custom_tooltip = feast_events_flavor.0002.c.vengeful_sinful.tt #This will lose you piety because Forgiving is Virtuous or Vengeful is Sinful
|
||||
add_piety = major_piety_loss
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
OR = {
|
||||
faith = { trait_is_sin = forgiving }
|
||||
faith = { trait_is_virtue = vengeful }
|
||||
}
|
||||
}
|
||||
custom_tooltip = feast_events_flavor.0002.c.forgiving_sinful.tt #This will lose you piety because Forgiving is Virtuous or Vengeful is Sinful
|
||||
add_piety = major_piety_gain
|
||||
}
|
||||
stress_impact = {
|
||||
forgiving = medium_stress_impact_gain
|
||||
vengeful = major_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 0
|
||||
modifier = {
|
||||
add = 10 # Not enough on its own to be Vengeful
|
||||
has_trait = vengeful
|
||||
}
|
||||
modifier = {
|
||||
add = 100
|
||||
opinion = {
|
||||
value <= medium_negative_opinion
|
||||
target = scope:former_rival
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = forgiving
|
||||
has_trait = craven # Isn't about to start a fight
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
option = { # It feels good to turn the other cheek!
|
||||
name = {
|
||||
text = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
OR = {
|
||||
faith = { trait_is_virtue = forgiving }
|
||||
faith = { trait_is_sin = vengeful }
|
||||
}
|
||||
}
|
||||
desc = feast_events_flavor.0002.d.virtuous
|
||||
}
|
||||
desc = feast_events_flavor.0002.d
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
OR = {
|
||||
faith = { trait_is_virtue = forgiving }
|
||||
faith = { trait_is_sin = vengeful }
|
||||
}
|
||||
}
|
||||
custom_tooltip = feast_events_flavor.0002.d.virtuous.tt # This option is available because Forgiving is Virtuous or Vengeful is Sinful
|
||||
add_piety = major_piety_gain
|
||||
add_character_modifier = { modifier = feast_turning_the_other_cheek_modifier years = 10 }
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
NOR = {
|
||||
faith = { trait_is_sin = forgiving }
|
||||
faith = { trait_is_virtue = vengeful }
|
||||
}
|
||||
}
|
||||
add_piety = medium_piety_gain
|
||||
}
|
||||
reverse_add_opinion = {
|
||||
target = scope:former_rival
|
||||
modifier = friendliness_opinion
|
||||
opinion = 10
|
||||
}
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
forgiving = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 150
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,137 +0,0 @@
|
|||
|
||||
namespace = feast_events_klank
|
||||
|
||||
feast_events_klank.1001 = {
|
||||
type = activity_event
|
||||
title = feast_events_klank.1001.t
|
||||
desc = feast_events_klank.1001.desc
|
||||
theme = feast_activity
|
||||
right_portrait = {
|
||||
character = scope:terrified_onlooker
|
||||
animation = shock
|
||||
camera = camera_event_right_away
|
||||
}
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = scheme
|
||||
camera = camera_event_very_left
|
||||
}
|
||||
center_portrait = {
|
||||
character = scope:fellow_torturer
|
||||
animation = assassin
|
||||
camera = camera_event_very_right
|
||||
}
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
has_trait = torturer
|
||||
NOT = {
|
||||
has_trait = gluttonous
|
||||
}
|
||||
involved_activity = {
|
||||
any_attending_character = {
|
||||
has_trait = torturer
|
||||
is_ai = yes
|
||||
opinion = {
|
||||
target = root
|
||||
value >= 20
|
||||
}
|
||||
intrigue <= root.intrigue
|
||||
NOT = {
|
||||
this = root
|
||||
}
|
||||
}
|
||||
any_attending_character = {
|
||||
NOR = {
|
||||
has_trait = torturer
|
||||
has_trait = callous
|
||||
has_trait = sadistic
|
||||
this = root
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
set_random_entertainment_text_effect = yes
|
||||
involved_activity = {
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
has_trait = torturer
|
||||
is_ai = yes
|
||||
intrigue <= root.intrigue
|
||||
opinion = {
|
||||
target = root
|
||||
value >= medium_positive_opinion
|
||||
}
|
||||
NOT = {
|
||||
this = root
|
||||
}
|
||||
}
|
||||
save_scope_as = fellow_torturer
|
||||
}
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
NOR = {
|
||||
has_trait = torturer
|
||||
has_trait = callous
|
||||
has_trait = sadistic
|
||||
NOT = {
|
||||
this = root
|
||||
}
|
||||
}
|
||||
}
|
||||
save_scope_as = terrified_onlooker
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { #nah, the other way is better
|
||||
name = feast_events_klank.1001.a
|
||||
add_intrigue_lifestyle_xp = major_lifestyle_xp
|
||||
|
||||
scope:fellow_torturer = {
|
||||
add_intrigue_lifestyle_xp = major_lifestyle_xp
|
||||
add_intrigue_skill = 1
|
||||
}
|
||||
}
|
||||
|
||||
option = { #yeah, you're right
|
||||
name = feast_events_klank.1001.b
|
||||
progress_towards_friend_effect = {
|
||||
REASON = friend_common_interests
|
||||
CHARACTER = scope:fellow_torturer
|
||||
OPINION = default_friend_opinion
|
||||
}
|
||||
add_intrigue_lifestyle_xp = minor_lifestyle_xp
|
||||
scope:fellow_torturer = {
|
||||
add_intrigue_lifestyle_xp = minor_lifestyle_xp
|
||||
}
|
||||
}
|
||||
|
||||
option = { #actually, I've been thinking recently
|
||||
name = feast_events_klank.1001.c
|
||||
|
||||
trigger = {
|
||||
learning >= 16
|
||||
}
|
||||
|
||||
show_as_unavailable = { always = yes }
|
||||
|
||||
add_intrigue_lifestyle_perk_points = 1
|
||||
add_prestige = medium_prestige_gain
|
||||
progress_towards_friend_effect = {
|
||||
REASON = friend_common_interests
|
||||
CHARACTER = scope:fellow_torturer
|
||||
OPINION = default_friend_opinion
|
||||
}
|
||||
scope:fellow_torturer = {
|
||||
add_intrigue_lifestyle_perk_points = 1
|
||||
add_intrigue_skill = 1
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 200
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,95 +0,0 @@
|
|||
namespace = feast_mkc
|
||||
|
||||
feast_mkc.0001 = {
|
||||
type = activity_event
|
||||
title = feast_mkc.0001.t
|
||||
desc = feast_mkc.0001.desc
|
||||
theme = feast_activity
|
||||
|
||||
left_portrait = {
|
||||
character = ROOT
|
||||
animation = thinking
|
||||
camera = camera_event_very_left
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:guest_lost_loved_pet
|
||||
animation = sadness
|
||||
camera = camera_event_very_right
|
||||
}
|
||||
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
has_named_cat_trigger = yes
|
||||
scope:activity = {
|
||||
any_attending_character = {
|
||||
NOT = { ROOT = this }
|
||||
any_memory = {
|
||||
has_memory_type = cat_died
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:activity = {
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
NOT = { ROOT = this }
|
||||
any_memory = { has_memory_type = cat_died }
|
||||
}
|
||||
save_scope_as = guest_lost_loved_pet
|
||||
}
|
||||
}
|
||||
random_owned_story = {
|
||||
limit = {
|
||||
story_type = story_cycle_pet_cat
|
||||
}
|
||||
save_scope_as = pet_cat_story
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_mkc.0001.a
|
||||
|
||||
scope:guest_lost_loved_pet = {
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_loss
|
||||
}
|
||||
add_opinion = {
|
||||
modifier = feast_helped_overcome_loss_opinion
|
||||
target = root
|
||||
}
|
||||
hidden_effect = {
|
||||
reverse_add_opinion = {
|
||||
modifier = feast_sympathy_over_loss_opinion
|
||||
target = root
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
compassionate = minor_stress_impact_loss
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_mkc.0001.b
|
||||
|
||||
|
||||
scope:guest_lost_loved_pet = {
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
}
|
||||
}
|
||||
custom_tooltip = bonus_to_petting_pet_tt
|
||||
|
||||
hidden_effect = {
|
||||
scope:pet_cat_story = {
|
||||
set_variable = {
|
||||
name = bonus_to_petting_pet
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,206 +0,0 @@
|
|||
namespace = feast_events_tova
|
||||
|
||||
feast_events_tova.0001 = { #Pleasure Dome Feast
|
||||
type = activity_event
|
||||
title = feast_events_tova.0001.t
|
||||
desc = feast_events_tova.0001.desc
|
||||
|
||||
theme = feast_activity
|
||||
|
||||
override_background = { reference = mpo_city_steppe }
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = schadenfreude
|
||||
}
|
||||
|
||||
center_portrait = {
|
||||
character = scope:palace_admirer
|
||||
animation = admiration
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = scope:honorary_guest
|
||||
animation = thinking
|
||||
}
|
||||
|
||||
cooldown = { years = 20 }
|
||||
|
||||
trigger = {
|
||||
has_mpo_dlc_trigger = yes
|
||||
scope:activity.activity_location = {
|
||||
has_building_or_higher = pleasure_dome
|
||||
}
|
||||
this = scope:activity.activity_host
|
||||
involved_activity = {
|
||||
any_attending_character = {
|
||||
highest_held_title_tier >= tier_county
|
||||
this != root
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:activity.special_guest:honorary_guest
|
||||
}
|
||||
scope:activity.special_guest:honorary_guest = { save_scope_as = honorary_guest }
|
||||
}
|
||||
else_if = {
|
||||
limit = { exists = scope:activity.special_guest:honorary_guest_regular }
|
||||
scope:activity.special_guest:honorary_guest_regular = { save_scope_as = honorary_guest }
|
||||
}
|
||||
else = {
|
||||
involved_activity = {
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
highest_held_title_tier >= tier_county
|
||||
this != root
|
||||
}
|
||||
save_scope_as = honorary_guest
|
||||
}
|
||||
}
|
||||
}
|
||||
involved_activity = {
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
NOT = { this = root }
|
||||
NAND = {
|
||||
exists = scope:honorary_guest
|
||||
this = scope:honorary_guest
|
||||
}
|
||||
}
|
||||
save_scope_as = palace_admirer
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
modifier = {
|
||||
factor = 1.5
|
||||
involved_activity = {
|
||||
has_activity_option = {
|
||||
category = special_type
|
||||
option = feast_type_tsagaan_sar
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { #A place worthy to host such mighty warriors as us!
|
||||
name = feast_events_tova.0001.a
|
||||
trigger = {
|
||||
involved_activity = {
|
||||
any_attending_character = {
|
||||
is_vassal_of = root
|
||||
has_vassal_stance = glory_hound
|
||||
}
|
||||
}
|
||||
}
|
||||
add_prestige = minor_prestige_loss
|
||||
involved_activity = {
|
||||
every_attending_character = {
|
||||
limit = {
|
||||
is_vassal_of = root
|
||||
has_vassal_stance = glory_hound
|
||||
}
|
||||
custom = every_glory_hound_vassal
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = obedience_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = humble
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = arrogant
|
||||
factor = 2
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
arrogant = medium_stress_impact_loss
|
||||
humble = major_stress_impact_gain
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Impress most important guest.
|
||||
name = feast_events_tova.0001.b
|
||||
|
||||
duel = {
|
||||
target = scope:honorary_guest
|
||||
skill = diplomacy
|
||||
|
||||
50 = { #They are impressed by your opulence
|
||||
desc = feast_events_tova.0001.b.success
|
||||
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
min = 5
|
||||
|
||||
send_interface_toast = {
|
||||
type = event_toast_effect_good
|
||||
title = feast_events_tova.0001.b.success
|
||||
left_icon = root
|
||||
right_icon = scope:honorary_guest
|
||||
add_hook = {
|
||||
target = scope:honorary_guest
|
||||
type = loyalty_hook
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
50 = { #They are not impressed by your palace
|
||||
desc = feast_events_tova.0001.b.failure
|
||||
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
min = 5
|
||||
|
||||
send_interface_toast = {
|
||||
type = event_toast_effect_bad
|
||||
title = feast_events_tova.0001.b.failure
|
||||
left_icon = root
|
||||
right_icon = scope:honorary_guest
|
||||
add_hook = {
|
||||
target = scope:honorary_guest
|
||||
type = favor_hook
|
||||
}
|
||||
stress_impact = {
|
||||
base = miniscule_stress_gain
|
||||
diligent = miniscule_stress_gain
|
||||
ambitious = miniscule_stress_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Truly, this is a great testament to my rule.
|
||||
name = feast_events_tova.0001.c
|
||||
dynasty = {
|
||||
add_dynasty_prestige = medium_dynasty_prestige_value
|
||||
}
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,489 +0,0 @@
|
|||
|
||||
namespace = feast_default_alex
|
||||
|
||||
# Someone reminds you of a positive memory you share
|
||||
feast_default_alex.100 = {
|
||||
type = activity_event
|
||||
title = feast_default_alex.100.t
|
||||
desc = feast_default_alex.100.desc
|
||||
theme = feast_activity
|
||||
right_portrait = {
|
||||
character = scope:guest
|
||||
animation = wedding_drunk
|
||||
camera = camera_event_very_right
|
||||
}
|
||||
center_portrait = {
|
||||
character = root
|
||||
animation = interested
|
||||
}
|
||||
left_portrait = {
|
||||
character = scope:other_guest
|
||||
animation = storyteller
|
||||
camera = camera_event_very_left
|
||||
}
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
scope:activity = {
|
||||
any_attending_character = {
|
||||
this != root
|
||||
is_physically_able_ai_adult = yes
|
||||
NOT = { has_relation_rival = root }
|
||||
any_memory = {
|
||||
has_memory_category = positive
|
||||
NOT = {
|
||||
has_memory_category = private
|
||||
}
|
||||
any_memory_participant = {
|
||||
this = root
|
||||
}
|
||||
}
|
||||
opinion = {
|
||||
target = root
|
||||
value > 0
|
||||
}
|
||||
save_temporary_scope_as = guest_temp
|
||||
}
|
||||
#There is a third attendee in existence
|
||||
any_attending_character = {
|
||||
count >= 2
|
||||
NOT = {
|
||||
this = root
|
||||
}
|
||||
opinion = {
|
||||
target = root
|
||||
value > 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
modifier = {
|
||||
add = 3
|
||||
has_activity_intent = befriend_attendee_intent
|
||||
intent_target ?= {
|
||||
involved_activity ?= root.involved_activity
|
||||
is_physically_able_ai_adult = yes
|
||||
NOT = { has_relation_rival = root }
|
||||
any_memory = {
|
||||
has_memory_category = positive
|
||||
any_memory_participant = {
|
||||
this = root
|
||||
}
|
||||
NOT = {
|
||||
has_memory_category = private
|
||||
}
|
||||
}
|
||||
opinion = {
|
||||
target = root
|
||||
value > 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
save_scope_as = root_scope
|
||||
scope:activity = {
|
||||
activity_host = { save_scope_as = host }
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
this != root
|
||||
is_physically_able_ai_adult = yes
|
||||
NOT = { has_relation_rival = root }
|
||||
any_memory = {
|
||||
has_memory_category = positive
|
||||
any_memory_participant = {
|
||||
this = root
|
||||
}
|
||||
NOT = {
|
||||
has_memory_category = private
|
||||
}
|
||||
}
|
||||
opinion = {
|
||||
target = root
|
||||
value > 0
|
||||
}
|
||||
}
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = {
|
||||
add = 1000
|
||||
root = {
|
||||
has_activity_intent = befriend_attendee_intent
|
||||
}
|
||||
root.intent_target ?= this
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
has_relation_potential_friend = root
|
||||
}
|
||||
modifier = {
|
||||
add = 10
|
||||
is_of_major_interest_to_root_trigger = yes
|
||||
}
|
||||
modifier = {
|
||||
add = 5
|
||||
is_of_minor_interest_to_root_trigger = yes
|
||||
}
|
||||
}
|
||||
assign_quirk_effect = yes
|
||||
save_scope_as = guest
|
||||
random_memory = {
|
||||
limit = {
|
||||
has_memory_category = positive
|
||||
any_memory_participant = {
|
||||
this = root
|
||||
}
|
||||
NOT = {
|
||||
has_memory_category = private
|
||||
}
|
||||
}
|
||||
save_scope_as = guest_memory
|
||||
}
|
||||
}
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
NOR = {
|
||||
this = root
|
||||
this = scope:guest
|
||||
}
|
||||
opinion = {
|
||||
target = root
|
||||
value > 0
|
||||
}
|
||||
}
|
||||
save_scope_as = other_guest
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
trigger = {
|
||||
OR = {
|
||||
has_trait = arrogant
|
||||
has_trait = callous
|
||||
has_trait = sadistic
|
||||
has_trait = vengeful
|
||||
has_trait = wrathful
|
||||
has_trait = arbitrary
|
||||
has_trait = fickle
|
||||
}
|
||||
scope:guest = {
|
||||
NOR = {
|
||||
is_spouse_of = root
|
||||
is_close_family_of = root
|
||||
any_vassal = {
|
||||
this = root
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
name = feast_default_alex.100.aa
|
||||
|
||||
add_prestige = minor_prestige_gain
|
||||
|
||||
reverse_add_opinion = {
|
||||
modifier = insulted_opinion
|
||||
target = scope:guest
|
||||
opinion = -30
|
||||
}
|
||||
scope:guest = {
|
||||
add_stress = medium_stress_gain
|
||||
add_prestige = medium_prestige_loss
|
||||
}
|
||||
stress_impact = {
|
||||
gregarious = minor_stress_impact_gain
|
||||
compassionate = minor_stress_impact_gain
|
||||
humble = minor_stress_impact_gain
|
||||
forgiving = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 3
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = gregarious
|
||||
has_trait = compassionate
|
||||
has_trait = humble
|
||||
has_trait = forgiving
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_default_alex.100.a
|
||||
progress_towards_friend_effect = {
|
||||
REASON = friend_showed_personal_interest
|
||||
CHARACTER = scope:guest
|
||||
OPINION = 20
|
||||
}
|
||||
stress_impact = {
|
||||
gregarious = medium_stress_impact_loss
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_default_alex.100.b
|
||||
|
||||
add_diplomacy_lifestyle_xp = miniscule_lifestyle_xp
|
||||
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 1
|
||||
modifier = {
|
||||
factor = 0
|
||||
stress <= 0
|
||||
has_focus_diplomacy = no
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# There's a terrible plague in a nearby realm
|
||||
feast_default_alex.200 = {
|
||||
type = activity_event
|
||||
title = feast_default_alex.200.t
|
||||
desc = feast_default_alex.200.desc
|
||||
theme = feast_activity
|
||||
center_portrait = {
|
||||
character = root
|
||||
animation = drink_goblet
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:guest
|
||||
animation = worry
|
||||
}
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
scope:activity = {
|
||||
any_attending_character = {
|
||||
this != root
|
||||
is_physically_able_ai_adult = yes
|
||||
NOT = { has_relation_rival = root }
|
||||
top_liege = root.top_liege
|
||||
OR = {
|
||||
has_personality_emotional_trigger = yes
|
||||
has_personality_submissive_trigger = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
any_epidemic = {
|
||||
save_temporary_scope_as = the_epidemic
|
||||
any_infected_province = {
|
||||
squared_distance = {
|
||||
target = root.location
|
||||
value <= squared_distance_large
|
||||
}
|
||||
exists = barony.holder.top_liege
|
||||
}
|
||||
NOT = {
|
||||
any_infected_province = {
|
||||
barony.holder.top_liege ?= root.involved_activity.activity_host.top_liege
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
save_scope_as = root_scope
|
||||
scope:activity = {
|
||||
activity_host = { save_scope_as = host }
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
this != root
|
||||
is_physically_able_ai_adult = yes
|
||||
NOT = { has_relation_rival = root }
|
||||
top_liege = root.top_liege
|
||||
OR = {
|
||||
has_personality_emotional_trigger = yes
|
||||
has_personality_submissive_trigger = yes
|
||||
}
|
||||
}
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = {
|
||||
add = 1000
|
||||
root = {
|
||||
has_activity_intent = befriend_attendee_intent
|
||||
}
|
||||
root.intent_target ?= this
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
has_relation_potential_friend = root
|
||||
}
|
||||
modifier = {
|
||||
add = 10
|
||||
is_of_major_interest_to_root_trigger = yes
|
||||
}
|
||||
modifier = {
|
||||
add = 5
|
||||
is_of_minor_interest_to_root_trigger = yes
|
||||
}
|
||||
}
|
||||
assign_quirk_effect = yes
|
||||
save_scope_as = guest
|
||||
}
|
||||
}
|
||||
random_epidemic = {
|
||||
limit = {
|
||||
save_temporary_scope_as = the_epidemic
|
||||
any_infected_province = {
|
||||
squared_distance = {
|
||||
target = root.location
|
||||
value <= squared_distance_large
|
||||
}
|
||||
exists = barony.holder.top_liege
|
||||
}
|
||||
NOT = {
|
||||
any_infected_province = {
|
||||
barony.holder.top_liege ?= root.involved_activity.activity_host.top_liege
|
||||
}
|
||||
}
|
||||
}
|
||||
save_scope_as = epidemic
|
||||
random_infected_province = {
|
||||
limit = {
|
||||
squared_distance = {
|
||||
target = root.location
|
||||
value <= squared_distance_large
|
||||
}
|
||||
exists = barony.holder.top_liege
|
||||
}
|
||||
barony.holder.top_liege = { save_scope_as = afflicted_top_liege }
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
create_character = {
|
||||
template = peasant_character
|
||||
dynasty = none
|
||||
location = root.location
|
||||
culture = root.location.culture
|
||||
faith = root.location.faith
|
||||
gender_female_chance = 50
|
||||
save_scope_as = sick_peasant
|
||||
}
|
||||
scope:sick_peasant = {
|
||||
add_trait = scope:epidemic.epidemic_type.epidemic_trait
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_default_alex.200.a
|
||||
trigger = {
|
||||
this = scope:activity.activity_host
|
||||
scope:activity.activity_location.county = {
|
||||
holder = scope:activity.activity_host
|
||||
NOT = {
|
||||
has_county_modifier = plague_preparations_modifier
|
||||
}
|
||||
}
|
||||
}
|
||||
remove_short_term_gold = miniscule_gold_value
|
||||
add_prestige = minor_prestige_gain
|
||||
scope:activity.activity_location.county = {
|
||||
add_county_modifier = {
|
||||
modifier = plague_preparations_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
scope:guest = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = thankful_opinion
|
||||
opinion = 20
|
||||
}
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_loss
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
craven = medium_stress_impact_loss
|
||||
compassionate = medium_stress_impact_loss
|
||||
generous = medium_stress_impact_loss
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_default_alex.200.b
|
||||
trigger = {
|
||||
has_activity_intent = befriend_attendee_intent
|
||||
intent_target ?= scope:guest
|
||||
}
|
||||
add_internal_flag = special
|
||||
progress_towards_friend_effect = {
|
||||
REASON = friend_supported_at_feast
|
||||
CHARACTER = scope:guest
|
||||
OPINION = 20
|
||||
}
|
||||
scope:guest = {
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
sadistic = medium_stress_impact_gain
|
||||
arbitrary = medium_stress_impact_gain
|
||||
compassionate = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 1
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = sadistic
|
||||
has_trait = arbitrary
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_default_alex.200.c
|
||||
add_piety = minor_piety_gain
|
||||
stress_impact = {
|
||||
zealous = minor_stress_impact_loss
|
||||
humble = minor_stress_impact_loss
|
||||
compassionate = minor_stress_impact_loss
|
||||
forgiving = minor_stress_impact_loss
|
||||
cynical = medium_stress_impact_gain
|
||||
}
|
||||
scope:guest = {
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
cynical = minor_stress_impact_gain
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 1
|
||||
modifier = {
|
||||
factor = 0
|
||||
has_trait = cynical
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_default_alex.200.d
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
}
|
||||
scope:guest = {
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
scope:sick_peasant = { silent_disappearance_effect = yes }
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,941 +0,0 @@
|
|||
# FEAST ACTIVITY KEY EVENTS
|
||||
# Most custom variables checked here will have been set by the "welcoming" events in feast_activity_standard_events
|
||||
# Each unique key event gets a range of 50 IDs. This should more than suffice in all cases.
|
||||
|
||||
namespace = feast_main_befriend
|
||||
|
||||
|
||||
################################
|
||||
# Feast Befriend Events
|
||||
# by Petter Vilberg
|
||||
################################
|
||||
|
||||
###
|
||||
# Weight and setup event
|
||||
###
|
||||
feast_main_befriend.0001 = {
|
||||
type = activity_event
|
||||
|
||||
hidden = yes
|
||||
|
||||
trigger = {
|
||||
not_hosting_a_murder_feast = yes
|
||||
OR = {
|
||||
AND = {
|
||||
scope:activity = {
|
||||
has_variable = potential_friend
|
||||
}
|
||||
scope:activity.var:potential_friend = {
|
||||
opinion = {
|
||||
target = scope:activity.activity_host
|
||||
value > 20
|
||||
}
|
||||
}
|
||||
}
|
||||
AND = {
|
||||
has_activity_intent = befriend_attendee_intent
|
||||
intent_target ?= {
|
||||
is_alive = yes
|
||||
}
|
||||
}
|
||||
scope:activity = {
|
||||
any_attending_character = {
|
||||
feast_default_participant_trigger = yes
|
||||
this != scope:activity.activity_host
|
||||
NOT = { has_relation_friend = root }
|
||||
opinion = {
|
||||
target = scope:activity.activity_host
|
||||
value > 35
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
opinion_modifier = {
|
||||
trigger = { exists = scope:activity.var:potential_friend }
|
||||
who = scope:activity.var:potential_friend
|
||||
opinion_target = scope:activity.activity_host
|
||||
multiplier = 0.1
|
||||
step = 0.1
|
||||
}
|
||||
modifier = {
|
||||
add = 2
|
||||
has_activity_intent = befriend_attendee_intent
|
||||
intent_target ?= {
|
||||
is_alive = yes
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = -0.5
|
||||
NOT = { has_activity_intent = befriend_attendee_intent }
|
||||
NOT = {
|
||||
scope:activity = {
|
||||
has_variable = potential_friend
|
||||
}
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = -0.5
|
||||
is_ai = yes
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
scope:activity = {
|
||||
has_variable = potential_friend
|
||||
var:potential_friend = {
|
||||
opinion = {
|
||||
target = scope:activity.activity_host
|
||||
value > 20
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:activity.var:potential_friend = {
|
||||
save_scope_as = potential_friend
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
has_activity_intent = befriend_attendee_intent
|
||||
intent_target ?= {
|
||||
is_alive = yes
|
||||
}
|
||||
}
|
||||
intent_target = {
|
||||
save_scope_as = potential_friend
|
||||
}
|
||||
}
|
||||
else = {
|
||||
scope:activity = {
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_trigger = yes
|
||||
this != scope:activity.activity_host
|
||||
NOT = { has_relation_friend = root }
|
||||
opinion = {
|
||||
target = scope:activity.activity_host
|
||||
value > 35
|
||||
}
|
||||
}
|
||||
save_scope_as = potential_friend
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:activity = {
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_trigger = yes
|
||||
this != scope:activity.activity_host
|
||||
this != scope:potential_friend
|
||||
highest_held_title_tier > 1
|
||||
OR = {
|
||||
has_trait = arrogant
|
||||
has_trait = vengeful
|
||||
}
|
||||
}
|
||||
save_scope_as = arrogant_guest
|
||||
}
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_trigger = yes
|
||||
this != scope:activity.activity_host
|
||||
this != scope:potential_friend
|
||||
trigger_if = {
|
||||
limit = { exists = scope:arrogant_guest }
|
||||
this != scope:arrogant_guest
|
||||
}
|
||||
highest_held_title_tier > 1
|
||||
OR = {
|
||||
has_trait = humble
|
||||
has_trait = compassionate
|
||||
any_secret = {
|
||||
type = secret_cannibal
|
||||
}
|
||||
}
|
||||
}
|
||||
save_scope_as = kind_to_lower_nobility
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:kind_to_lower_nobility
|
||||
scope:kind_to_lower_nobility = {
|
||||
any_secret = { type = secret_cannibal }
|
||||
}
|
||||
}
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_trigger = yes
|
||||
this != scope:activity.activity_host
|
||||
this != scope:potential_friend
|
||||
trigger_if = {
|
||||
limit = { exists = scope:arrogant_guest }
|
||||
this != scope:arrogant_guest
|
||||
}
|
||||
trigger_if = {
|
||||
limit = { exists = scope:kind_to_lower_nobility }
|
||||
this != scope:kind_to_lower_nobility
|
||||
}
|
||||
OR = {
|
||||
has_trait = gluttonous
|
||||
has_trait = lifestyle_reveler
|
||||
}
|
||||
}
|
||||
save_scope_as = glutton_target
|
||||
}
|
||||
}
|
||||
activity_host = {
|
||||
trigger_event = feast_main_befriend.1001
|
||||
}
|
||||
scope:potential_friend = {
|
||||
trigger_event = feast_main_befriend.2001
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:arrogant_guest
|
||||
}
|
||||
scope:arrogant_guest = {
|
||||
trigger_event = feast_main_befriend.2002
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:kind_to_lower_nobility
|
||||
}
|
||||
scope:kind_to_lower_nobility = {
|
||||
trigger_event = feast_main_befriend.2003
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:glutton_target
|
||||
}
|
||||
scope:glutton_target = {
|
||||
trigger_event = feast_main_befriend.2004
|
||||
}
|
||||
}
|
||||
every_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_trigger = yes
|
||||
this != scope:activity.activity_host
|
||||
this != scope:potential_friend
|
||||
trigger_if = {
|
||||
limit = { exists = scope:arrogant_guest }
|
||||
this != scope:arrogant_guest
|
||||
}
|
||||
trigger_if = {
|
||||
limit = { exists = scope:kind_to_lower_nobility }
|
||||
this != scope:kind_to_lower_nobility
|
||||
}
|
||||
trigger_if = {
|
||||
limit = { exists = scope:glutton_target }
|
||||
this != scope:glutton_target
|
||||
}
|
||||
}
|
||||
trigger_event = feast_main_befriend.3001
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
##########################
|
||||
# Main event for Host
|
||||
##########################
|
||||
feast_main_befriend.1001 = {
|
||||
title = feast_main_befriend.1001.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
desc = feast_main_befriend.1001.opening
|
||||
desc = feast_main_befriend.1001.getting_close
|
||||
triggered_desc = {
|
||||
trigger = { exists = scope:arrogant_guest }
|
||||
desc = {
|
||||
desc = feast_main_befriend.1001.arrogant_guest
|
||||
triggered_desc = {
|
||||
trigger = { exists = scope:kind_to_lower_nobility }
|
||||
desc = feast_main_befriend.1001.arrogant_kind_link
|
||||
}
|
||||
}
|
||||
}
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { exists = scope:kind_to_lower_nobility }
|
||||
desc = {
|
||||
desc = feast_main_befriend.1001.kind_to_lower_nobility
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:kind_to_lower_nobility = {
|
||||
any_secret = { type = secret_cannibal }
|
||||
}
|
||||
}
|
||||
desc = feast_main_befriend.1001.really_hungry
|
||||
}
|
||||
}
|
||||
}
|
||||
desc = feast_main_befriend.1001.no_kind_target
|
||||
}
|
||||
desc = feast_main_befriend.1001.friendship
|
||||
}
|
||||
theme = feast_activity
|
||||
center_portrait = {
|
||||
character = root
|
||||
animation = toast
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:potential_friend
|
||||
animation = happiness
|
||||
}
|
||||
lower_right_portrait = scope:kind_to_lower_nobility
|
||||
|
||||
trigger = {
|
||||
OR = {
|
||||
any_scheme = {
|
||||
type = befriend
|
||||
scheme_target_character = {
|
||||
involved_activity ?= scope:activity
|
||||
}
|
||||
}
|
||||
AND = {
|
||||
has_activity_intent = befriend_attendee_intent
|
||||
intent_target ?= {
|
||||
is_alive = yes
|
||||
}
|
||||
}
|
||||
scope:activity = {
|
||||
any_attending_character = {
|
||||
feast_default_participant_trigger = yes
|
||||
this != scope:activity.activity_host
|
||||
NOT = { has_relation_friend = root }
|
||||
opinion = {
|
||||
target = scope:activity.activity_host
|
||||
value > 35
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
play_music_cue = mx_cue_meadandwine
|
||||
if = {
|
||||
limit = {
|
||||
has_activity_intent = befriend_attendee_intent
|
||||
intent_target ?= {
|
||||
is_alive = yes
|
||||
}
|
||||
}
|
||||
intent_target = { save_scope_as = potential_friend }
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
any_scheme = {
|
||||
type = befriend
|
||||
scheme_target_character = {
|
||||
involved_activity ?= scope:activity
|
||||
}
|
||||
}
|
||||
}
|
||||
random_scheme = {
|
||||
type = befriend
|
||||
limit = {
|
||||
scheme_target_character = {
|
||||
involved_activity ?= scope:activity
|
||||
}
|
||||
}
|
||||
scheme_target_character = {
|
||||
save_scope_as = potential_friend
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
scope:activity = {
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_trigger = yes
|
||||
this != scope:activity.activity_host
|
||||
NOT = { has_relation_friend = root }
|
||||
opinion = {
|
||||
target = scope:activity.activity_host
|
||||
value > 35
|
||||
}
|
||||
}
|
||||
save_scope_as = potential_friend
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_befriend.1001.a
|
||||
if = {
|
||||
limit = {
|
||||
can_set_relation_friend_trigger = { CHARACTER = scope:potential_friend }
|
||||
}
|
||||
set_relation_friend = { reason = friend_feast_talking_and_laughing target = scope:potential_friend }
|
||||
# Complete activity intent if relevant
|
||||
if = {
|
||||
limit = {
|
||||
exists = involved_activity
|
||||
has_activity_intent = befriend_attendee_intent
|
||||
intent_target ?= scope:potential_friend
|
||||
intent_target.involved_activity ?= root.involved_activity
|
||||
}
|
||||
save_scope_as = intent_completer
|
||||
send_interface_toast = {
|
||||
title = activity_intent_complete_toast
|
||||
left_icon = scope:potential_friend
|
||||
complete_activity_intent = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
progress_towards_friend_effect = {
|
||||
REASON = friend_feast_talking_and_laughing
|
||||
CHARACTER = scope:potential_friend
|
||||
OPINION = default_friend_opinion
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
any_scheme = {
|
||||
type = befriend
|
||||
scheme_target_character = scope:potential_friend
|
||||
}
|
||||
}
|
||||
random_scheme = {
|
||||
type = befriend
|
||||
limit = {
|
||||
scheme_target_character = scope:potential_friend
|
||||
}
|
||||
end_scheme = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
hidden_effect = {
|
||||
# Fire the end events
|
||||
trigger_event = {
|
||||
id = feast_main_befriend.5001
|
||||
days = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
##########################
|
||||
# Main Event for Potential Friend
|
||||
##########################
|
||||
feast_main_befriend.2001 = {
|
||||
title = feast_main_befriend.2001.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
desc = feast_main_befriend.1001.opening
|
||||
desc = feast_main_befriend.2001.getting_close
|
||||
triggered_desc = {
|
||||
trigger = { exists = scope:arrogant_guest }
|
||||
desc = {
|
||||
desc = feast_main_befriend.2001.arrogant_guest
|
||||
triggered_desc = {
|
||||
trigger = { exists = scope:kind_to_lower_nobility }
|
||||
desc = feast_main_befriend.2001.arrogant_kind_link
|
||||
}
|
||||
}
|
||||
}
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { exists = scope:kind_to_lower_nobility }
|
||||
desc = {
|
||||
desc = feast_main_befriend.2001.kind_to_lower_nobility
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:kind_to_lower_nobility = {
|
||||
any_secret = { type = secret_cannibal }
|
||||
}
|
||||
}
|
||||
desc = feast_main_befriend.2001.really_hungry
|
||||
}
|
||||
}
|
||||
}
|
||||
desc = feast_main_befriend.2001.no_kind_target
|
||||
}
|
||||
desc = feast_main_befriend.2001.friendship
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = root
|
||||
right_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = happiness
|
||||
}
|
||||
lower_left_portrait = scope:kind_to_lower_nobility
|
||||
lower_right_portrait = scope:arrogant_guest
|
||||
|
||||
option = {
|
||||
name = feast_main_befriend.2001.a
|
||||
add_prestige = medium_prestige_gain
|
||||
show_as_tooltip = {
|
||||
set_relation_friend = scope:activity.activity_host
|
||||
hidden_effect = {
|
||||
add_opinion = {
|
||||
target = scope:activity.activity_host
|
||||
modifier = bonded_at_feast_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
##########################
|
||||
# Main Event for Arrogant Guest
|
||||
##########################
|
||||
feast_main_befriend.2002 = {
|
||||
title = feast_main_befriend.2002.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
desc = feast_main_befriend.1001.opening
|
||||
desc = feast_main_befriend.2002.arrogant_guest
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:kind_to_lower_nobility
|
||||
}
|
||||
desc = feast_main_befriend.2002.disgusted_by_kindness
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = happiness
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:kind_to_lower_nobility
|
||||
animation = personality_compassionate
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_befriend.2002.a
|
||||
add_prestige = medium_prestige_loss
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:kind_to_lower_nobility
|
||||
}
|
||||
add_opinion = {
|
||||
modifier = disgusted_by_humility_opinion
|
||||
target = scope:kind_to_lower_nobility
|
||||
}
|
||||
progress_towards_rival_effect = {
|
||||
CHARACTER = scope:kind_to_lower_nobility
|
||||
REASON = rival_feast_commoners
|
||||
OPINION = 0
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
faith = { has_doctrine_parameter = host_honored_guests_active }
|
||||
}
|
||||
custom_description_no_bullet = {
|
||||
text = feast_main_befriend.2002.because_of_hospitality_tenet
|
||||
}
|
||||
add_piety = medium_piety_loss
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
##########################
|
||||
# Main Event for Kind to Nobility
|
||||
##########################
|
||||
feast_main_befriend.2003 = {
|
||||
title = feast_main_befriend.2003.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
desc = feast_main_befriend.2003.opening
|
||||
triggered_desc = {
|
||||
trigger = { exists = scope:arrogant_guest }
|
||||
desc = feast_main_befriend.2003.arrogant_guest
|
||||
}
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
any_secret = { type = secret_cannibal }
|
||||
exists = scope:glutton_target
|
||||
}
|
||||
desc = feast_main_befriend.2003.kind_to_glutton
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
any_secret = { type = secret_cannibal }
|
||||
}
|
||||
desc = feast_main_befriend.2003.cannibal_kindness
|
||||
}
|
||||
desc = feast_main_befriend.2003.kind_to_lower_nobility
|
||||
}
|
||||
desc = feast_main_befriend.2003.ending
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = happiness
|
||||
}
|
||||
lower_left_portrait = scope:arrogant_guest
|
||||
|
||||
option = {
|
||||
name = feast_main_befriend.2003.a
|
||||
scope:activity = {
|
||||
every_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_trigger = yes
|
||||
trigger_if = {
|
||||
limit = { exists = scope:arrogant_guest }
|
||||
this != scope:arrogant_guest
|
||||
}
|
||||
}
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = impressed_with_humility_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:arrogant_guest
|
||||
}
|
||||
show_as_tooltip = {
|
||||
scope:arrogant_guest = {
|
||||
add_prestige = minor_prestige_loss
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
##########################
|
||||
# Main Event for Glutton Target
|
||||
##########################
|
||||
feast_main_befriend.2004 = {
|
||||
title = feast_main_befriend.2004.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
desc = feast_main_befriend.2003.opening
|
||||
triggered_desc = {
|
||||
trigger = { exists = scope:arrogant_guest }
|
||||
desc = feast_main_befriend.2004.arrogant_guest
|
||||
}
|
||||
desc = feast_main_befriend.2004.kindness_from_other
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = happiness
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:kind_to_lower_nobility
|
||||
animation = personality_compassionate
|
||||
}
|
||||
lower_right_portrait = scope:arrogant_guest
|
||||
|
||||
option = {
|
||||
name = feast_main_befriend.2004.a
|
||||
stress_impact = {
|
||||
base = medium_stress_loss
|
||||
}
|
||||
progress_towards_friend_effect = {
|
||||
REASON = friend_had_a_great_feast_together
|
||||
CHARACTER = scope:kind_to_lower_nobility
|
||||
OPINION = 0
|
||||
}
|
||||
hidden_effect = {
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:kind_to_lower_nobility
|
||||
NOT = { has_trait = arrogant }
|
||||
}
|
||||
add_opinion = {
|
||||
modifier = impressed_with_humility_opinion
|
||||
target = scope:kind_to_lower_nobility
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
##########################
|
||||
# Generic Main Event for Guests
|
||||
##########################
|
||||
feast_main_befriend.3001 = {
|
||||
title = feast_main_befriend.3001.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
desc = feast_main_befriend.2003.opening
|
||||
triggered_desc = {
|
||||
trigger = { exists = scope:arrogant_guest }
|
||||
desc = {
|
||||
desc = feast_main_befriend.3001.arrogant_guest
|
||||
triggered_desc = {
|
||||
trigger = { exists = scope:kind_to_lower_nobility }
|
||||
desc = feast_main_befriend.1001.arrogant_kind_link
|
||||
}
|
||||
}
|
||||
}
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { exists = scope:kind_to_lower_nobility }
|
||||
desc = {
|
||||
desc = feast_main_befriend.3001.kind_to_lower_nobility
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:kind_to_lower_nobility = {
|
||||
any_secret = { type = secret_cannibal }
|
||||
}
|
||||
}
|
||||
desc = feast_main_befriend.3001.really_hungry
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
desc = feast_main_befriend.3001.ending
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = happiness
|
||||
}
|
||||
lower_left_portrait = scope:arrogant_guest
|
||||
|
||||
option = {
|
||||
name = feast_main_befriend.3001.a
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:kind_to_lower_nobility
|
||||
NOT = { has_trait = arrogant }
|
||||
}
|
||||
add_opinion = {
|
||||
modifier = impressed_with_humility_opinion
|
||||
target = scope:kind_to_lower_nobility
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
##########################################################
|
||||
# END EVENTS
|
||||
# 5000-5999
|
||||
##########################################################
|
||||
|
||||
# Fire End Events
|
||||
feast_main_befriend.5001 = {
|
||||
type = activity_event
|
||||
|
||||
hidden = yes
|
||||
|
||||
trigger = {
|
||||
#verify that the activity still exists
|
||||
exists = scope:activity
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:activity = {
|
||||
|
||||
activity_host = {
|
||||
save_scope_as = host_saying_goodbye
|
||||
if = {
|
||||
limit = { exists = primary_partner }
|
||||
random_consort = {
|
||||
limit = {
|
||||
this = scope:activity.activity_host.primary_partner
|
||||
is_available_ai = yes
|
||||
}
|
||||
alternative_limit = {
|
||||
is_available_ai = yes
|
||||
}
|
||||
save_scope_as = spouse
|
||||
}
|
||||
}
|
||||
scope:potential_friend = {
|
||||
trigger_event = feast_main_befriend.5003
|
||||
}
|
||||
}
|
||||
|
||||
every_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_trigger = yes
|
||||
this != scope:activity.activity_host
|
||||
this != scope:potential_friend
|
||||
}
|
||||
trigger_event = feast_main_befriend.5004
|
||||
}
|
||||
|
||||
activity_host = { trigger_event = feast_main_befriend.5002 }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#################
|
||||
# Host End Event
|
||||
#################
|
||||
feast_main_befriend.5002 = {
|
||||
type = activity_event
|
||||
title = feast_main_befriend.5002.t
|
||||
desc = feast_main_befriend.5002.desc
|
||||
theme = feast_activity
|
||||
center_portrait = {
|
||||
character = root
|
||||
animation = toast
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:potential_friend
|
||||
animation = happiness
|
||||
}
|
||||
|
||||
trigger = {
|
||||
OR = {
|
||||
any_scheme = {
|
||||
type = befriend
|
||||
scheme_target_character = {
|
||||
involved_activity ?= scope:activity
|
||||
}
|
||||
}
|
||||
AND = {
|
||||
has_activity_intent = befriend_attendee_intent
|
||||
intent_target ?= {
|
||||
is_alive = yes
|
||||
}
|
||||
}
|
||||
scope:activity = {
|
||||
any_attending_character = {
|
||||
feast_default_participant_trigger = yes
|
||||
this != scope:activity.activity_host
|
||||
NOT = { has_relation_friend = root }
|
||||
opinion = {
|
||||
target = scope:activity.activity_host
|
||||
value > 35
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
has_activity_intent = befriend_attendee_intent
|
||||
intent_target ?= {
|
||||
is_alive = yes
|
||||
}
|
||||
}
|
||||
intent_target = { save_scope_as = potential_friend }
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
any_scheme = {
|
||||
type = befriend
|
||||
scheme_target_character = {
|
||||
involved_activity ?= scope:activity
|
||||
}
|
||||
}
|
||||
}
|
||||
random_scheme = {
|
||||
type = befriend
|
||||
limit = {
|
||||
scheme_target_character = {
|
||||
involved_activity ?= scope:activity
|
||||
}
|
||||
}
|
||||
scheme_target_character = {
|
||||
save_scope_as = potential_friend
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
scope:activity = {
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_trigger = yes
|
||||
this != scope:activity.activity_host
|
||||
NOT = { has_relation_friend = root }
|
||||
opinion = {
|
||||
target = scope:activity.activity_host
|
||||
value > 35
|
||||
}
|
||||
}
|
||||
save_scope_as = potential_friend
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_befriend.5002.a
|
||||
scope:potential_friend = {
|
||||
add_opinion = {
|
||||
modifier = bonded_at_feast_opinion
|
||||
target = root
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#################
|
||||
# Friend End Event
|
||||
#################
|
||||
feast_main_befriend.5003 = {
|
||||
type = activity_event
|
||||
title = feast_main_befriend.5003.t
|
||||
desc = feast_main_befriend.5003.desc
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = happiness
|
||||
}
|
||||
lower_left_portrait = scope:spouse
|
||||
|
||||
option = {
|
||||
name = feast_main_befriend.5003.a
|
||||
scope:host_saying_goodbye = {
|
||||
add_opinion = {
|
||||
modifier = bonded_at_feast_opinion
|
||||
target = scope:potential_friend
|
||||
}
|
||||
}
|
||||
feast_end_guest_effect = yes
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
###################
|
||||
# General Guest End Event
|
||||
###################
|
||||
feast_main_befriend.5004 = {
|
||||
type = activity_event
|
||||
title = feast_main_befriend.5004.t
|
||||
desc = feast_main_befriend.5004.desc
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = happiness
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:spouse
|
||||
animation = personality_bold
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_befriend.5004.a
|
||||
add_hosted_feast_modifier_towards_character = { CHARACTER = scope:activity.activity_host }
|
||||
feast_end_guest_effect = yes
|
||||
}
|
||||
}
|
||||
|
|
@ -1,768 +0,0 @@
|
|||
# FEAST ACTIVITY KEY EVENTS
|
||||
# Most custom variables checked here will have been set by the "welcoming" events in feast_activity_standard_events
|
||||
# Each unique key event gets a range of 50 IDs. This should more than suffice in all cases.
|
||||
|
||||
namespace = feast_main_live_fowl
|
||||
|
||||
|
||||
|
||||
|
||||
############################
|
||||
# A LIVELY DISH
|
||||
# 0051 - 0100
|
||||
############################
|
||||
# Among a number of delightfully presented entremets, a peacock [or other fowl] turns out to still be alive.
|
||||
|
||||
# 0051 - 0060: Standard setup and descriptive events.
|
||||
# 0061 - 0070: Standard unique followup events.
|
||||
# 0091 - 0100: Standard end events.
|
||||
|
||||
|
||||
####
|
||||
# Weight and Setup Event
|
||||
####
|
||||
feast_main_live_fowl.0001 = {
|
||||
type = activity_event
|
||||
|
||||
hidden = yes
|
||||
|
||||
trigger = {
|
||||
trigger_if = {
|
||||
limit = {
|
||||
scope:activity.activity_host = {
|
||||
has_variable = last_feast_was
|
||||
}
|
||||
}
|
||||
NOT = { scope:activity.activity_host.var:last_feast_was = flag:live_fowl }
|
||||
}
|
||||
scope:activity = {
|
||||
NOT = {
|
||||
has_activity_option = {
|
||||
category = feast_option_courses
|
||||
option = feast_courses_bad
|
||||
}
|
||||
}
|
||||
any_attending_character = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
this != scope:activity.activity_host
|
||||
save_temporary_scope_as = fowl_dinner_target
|
||||
}
|
||||
any_attending_character = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
NOR = {
|
||||
this = scope:activity.activity_host
|
||||
this = scope:fowl_dinner_target
|
||||
}
|
||||
NOT = { has_trait = lazy }
|
||||
NOT = { has_trait = compassionate }
|
||||
save_temporary_scope_as = fowl_bird_chaser
|
||||
}
|
||||
any_attending_character = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
NOR = {
|
||||
this = scope:activity.activity_host
|
||||
this = scope:fowl_dinner_target
|
||||
this = scope:fowl_bird_chaser
|
||||
}
|
||||
count > 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:activity = {
|
||||
|
||||
# Someone has to take the pain for the enjoyment of others.
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
this != scope:activity.activity_host
|
||||
}
|
||||
save_scope_as = fowl_dinner_target
|
||||
}
|
||||
|
||||
# A sadistic character kills the bird
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
has_trait = sadistic
|
||||
NOR = {
|
||||
this = scope:activity.activity_host
|
||||
this = scope:fowl_dinner_target
|
||||
}
|
||||
}
|
||||
random = {
|
||||
chance = 50
|
||||
save_scope_as = fowl_bird_killer
|
||||
}
|
||||
}
|
||||
|
||||
# If the bird is not killed, someone chases it out.
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
NOT = { exists = scope:fowl_bird_killer }
|
||||
NOR = {
|
||||
this = scope:activity.activity_host
|
||||
this = scope:fowl_dinner_target
|
||||
}
|
||||
NOT = { has_trait = lazy }
|
||||
NOT = { has_trait = compassionate }
|
||||
NOT = { has_trait = sadistic }
|
||||
}
|
||||
|
||||
save_scope_as = fowl_bird_chaser
|
||||
}
|
||||
|
||||
activity_host = {
|
||||
set_variable = {
|
||||
name = last_feast_was
|
||||
value = flag:live_fowl
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
NAND = {
|
||||
exists = scope:fowl_bird_killer
|
||||
this = scope:fowl_bird_killer
|
||||
}
|
||||
}
|
||||
|
||||
# Generic host event, as long as they are not the bird killer.
|
||||
trigger_event = feast_main_live_fowl.0003
|
||||
}
|
||||
}
|
||||
|
||||
every_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
NOR = {
|
||||
this = scope:activity.activity_host
|
||||
this = scope:fowl_dinner_target
|
||||
AND = {
|
||||
exists = scope:fowl_bird_killer
|
||||
this = scope:fowl_bird_killer
|
||||
}
|
||||
AND = {
|
||||
exists = scope:fowl_bird_chaser
|
||||
this = scope:fowl_bird_chaser
|
||||
}
|
||||
}
|
||||
}
|
||||
# Generic guest description event
|
||||
trigger_event = feast_main_live_fowl.0002
|
||||
}
|
||||
|
||||
scope:fowl_dinner_target = {
|
||||
trigger_event = feast_main_live_fowl.0004
|
||||
}
|
||||
if = {
|
||||
limit = { exists = scope:fowl_bird_killer }
|
||||
scope:fowl_bird_killer = {
|
||||
trigger_event = feast_main_live_fowl.0005
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = { exists = scope:fowl_bird_chaser }
|
||||
scope:fowl_bird_chaser = {
|
||||
trigger_event = feast_main_live_fowl.0006
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
###
|
||||
# Generic event for Guests
|
||||
###
|
||||
feast_main_live_fowl.0002 = {
|
||||
title = feast_main_live_fowl.0002.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
desc = feast_main_live_fowl.0002.entremets_served
|
||||
first_valid = {
|
||||
# If a character kills the bird
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:fowl_bird_killer
|
||||
}
|
||||
desc = feast_main_live_fowl.0002.bird_killed
|
||||
}
|
||||
# If a named character chases the bird out
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:fowl_bird_chaser
|
||||
}
|
||||
desc = feast_main_live_fowl.0002.bird_chased_by_character
|
||||
}
|
||||
# If a servant chases it away.
|
||||
desc = feast_main_live_fowl.0002.bird_chased_away
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:fowl_dinner_target
|
||||
animation = pain
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:fowl_bird_killer
|
||||
animation = anger
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_live_fowl.0002.a
|
||||
add_character_modifier = {
|
||||
modifier = feast_raucous_entertainment_modifier
|
||||
years = 5
|
||||
}
|
||||
if = {
|
||||
limit = { exists = scope:fowl_bird_killer }
|
||||
show_as_tooltip = {
|
||||
scope:fowl_bird_killer = {
|
||||
add_dread = medium_dread_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
###
|
||||
# Event for Host
|
||||
###
|
||||
feast_main_live_fowl.0003 = {
|
||||
title = feast_main_live_fowl.0003.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
desc = feast_main_live_fowl.0003.entremets_served
|
||||
first_valid = {
|
||||
# If a character kills the bird
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:fowl_bird_killer
|
||||
}
|
||||
desc = {
|
||||
desc = feast_main_live_fowl.0003.bird_killed
|
||||
}
|
||||
}
|
||||
# If a named character chases the bird out
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:fowl_bird_chaser
|
||||
}
|
||||
desc = {
|
||||
desc = feast_main_live_fowl.0003.bird_chased_by_character
|
||||
}
|
||||
}
|
||||
# If a servant chases it away.
|
||||
desc = feast_main_live_fowl.0003.bird_chased_away
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
right_portrait = {
|
||||
character = scope:fowl_dinner_target
|
||||
animation = pain
|
||||
}
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = shock
|
||||
}
|
||||
center_portrait = {
|
||||
character = scope:fowl_bird_killer
|
||||
animation = anger
|
||||
}
|
||||
|
||||
immediate = {
|
||||
play_music_cue = mx_cue_meadandwine
|
||||
}
|
||||
|
||||
trigger = {
|
||||
NOT = {
|
||||
has_character_modifier = feast_raucous_entertainment_modifier
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_live_fowl.0003.a
|
||||
add_character_modifier = {
|
||||
modifier = feast_raucous_entertainment_modifier
|
||||
years = 5
|
||||
}
|
||||
if = {
|
||||
limit = { exists = scope:fowl_bird_killer }
|
||||
show_as_tooltip = {
|
||||
scope:fowl_bird_killer = {
|
||||
add_dread = medium_dread_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
hidden_effect = {
|
||||
trigger_event = {
|
||||
id = feast_main_live_fowl.9000
|
||||
days = 10
|
||||
}
|
||||
|
||||
scope:activity = {
|
||||
add_activity_log_entry = {
|
||||
key = feast_live_fowl_log
|
||||
tags = { good }
|
||||
score = 25
|
||||
character = root
|
||||
target = scope:fowl_dinner_target
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
###
|
||||
# Event for Bird Target
|
||||
###
|
||||
# The guest that suffers the fowl's wrath.
|
||||
feast_main_live_fowl.0004 = {
|
||||
title = feast_main_live_fowl.0004.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
desc = feast_main_live_fowl.0004.entremets_served
|
||||
first_valid = {
|
||||
# If a character kills the bird
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:fowl_bird_killer
|
||||
}
|
||||
desc = feast_main_live_fowl.0004.bird_killed
|
||||
}
|
||||
# If a named character chases the bird out
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:fowl_bird_chaser
|
||||
}
|
||||
desc = feast_main_live_fowl.0004.bird_chased_by_character
|
||||
}
|
||||
# If a servant chases it away.
|
||||
desc = feast_main_live_fowl.0004.bird_chased_away
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:fowl_dinner_target
|
||||
animation = pain
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:fowl_bird_killer
|
||||
animation = anger
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_live_fowl.0004.a
|
||||
if = {
|
||||
limit = { has_trait = wounded_3 }
|
||||
add_internal_flag = dangerous
|
||||
}
|
||||
random_list = {
|
||||
15 = {
|
||||
increase_wounds_effect = {
|
||||
REASON = feast_accident
|
||||
}
|
||||
add_character_flag = was_wounded_by_bird_at_feast
|
||||
}
|
||||
85 = { } # Nothing happens
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = feast_suspicious_of_food_modifier
|
||||
years = 10
|
||||
}
|
||||
if = {
|
||||
limit = { exists = scope:fowl_bird_killer }
|
||||
show_as_tooltip = {
|
||||
scope:fowl_bird_killer = {
|
||||
add_dread = medium_dread_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
hidden_effect = {
|
||||
random = {
|
||||
chance = 15
|
||||
scope:activity.activity_host = {
|
||||
save_scope_as = host
|
||||
}
|
||||
trigger_event = {
|
||||
id = feast_main_live_fowl.1001
|
||||
days = { 10 20 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
###
|
||||
# Event for Bird Killer
|
||||
###
|
||||
feast_main_live_fowl.0005 = {
|
||||
title = feast_main_live_fowl.0005.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
desc = feast_main_live_fowl.0005.entremets_served
|
||||
desc = feast_main_live_fowl.0005.bird_killed
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:fowl_dinner_target
|
||||
animation = pain
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = shock
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_live_fowl.0005.a
|
||||
add_dread = medium_dread_gain
|
||||
add_character_modifier = {
|
||||
modifier = feast_display_of_ruthlessness_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
###
|
||||
# Event for Bird Chaser
|
||||
###
|
||||
feast_main_live_fowl.0006 = {
|
||||
title = feast_main_live_fowl.0006.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
desc = feast_main_live_fowl.0006.entremets_served
|
||||
desc = feast_main_live_fowl.0006.bird_chased_by_character
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:fowl_dinner_target
|
||||
animation = pain
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:fowl_bird_killer
|
||||
animation = anger
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_live_fowl.0006.a
|
||||
add_character_modifier = {
|
||||
modifier = feast_bird_based_exercise_modifier
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
##################
|
||||
# FOLLOW-UPS
|
||||
##################
|
||||
|
||||
# Become scarred from the bird peck
|
||||
feast_main_live_fowl.1001 = {
|
||||
type = activity_event
|
||||
title = feast_main_live_fowl.1001.t
|
||||
desc = feast_main_live_fowl.1001.desc
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = pain
|
||||
}
|
||||
lower_left_portrait = scope:host
|
||||
|
||||
option = {
|
||||
name = feast_main_live_fowl.1001.a
|
||||
if = {
|
||||
limit = { has_character_flag = was_wounded_by_bird_at_feast }
|
||||
if = {
|
||||
limit = {
|
||||
has_trait = wounded
|
||||
}
|
||||
change_trait_rank = {
|
||||
trait = wounded
|
||||
rank = -1
|
||||
}
|
||||
}
|
||||
}
|
||||
add_trait = scarred
|
||||
add_trait_xp = {
|
||||
trait = scarred
|
||||
value = {
|
||||
integer_range = {
|
||||
min = 5
|
||||
max = 25
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:host = { is_alive = yes }
|
||||
}
|
||||
progress_towards_rival_effect = {
|
||||
CHARACTER = scope:host
|
||||
REASON = rival_bird_pecked
|
||||
OPINION = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
##################
|
||||
# END EVENT SETUP
|
||||
##################
|
||||
feast_main_live_fowl.9000 = {
|
||||
type = activity_event
|
||||
|
||||
hidden = yes
|
||||
|
||||
trigger = {
|
||||
exists = scope:activity
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:activity = {
|
||||
|
||||
# Fire the end event for the host
|
||||
activity_host = {
|
||||
save_scope_as = host_saying_goodbye
|
||||
if = {
|
||||
limit = { exists = primary_partner }
|
||||
random_consort = {
|
||||
limit = {
|
||||
this = scope:activity.activity_host.primary_partner
|
||||
is_available_ai = yes
|
||||
}
|
||||
alternative_limit = {
|
||||
is_available_ai = yes
|
||||
}
|
||||
save_scope_as = spouse
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Fire the end event for every participant except specials
|
||||
every_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
NOR = {
|
||||
this = scope:activity.activity_host
|
||||
this = scope:fowl_dinner_target
|
||||
AND = {
|
||||
exists = scope:fowl_bird_killer
|
||||
this = scope:fowl_bird_killer
|
||||
}
|
||||
AND = {
|
||||
exists = scope:fowl_bird_chaser
|
||||
this = scope:fowl_bird_chaser
|
||||
}
|
||||
}
|
||||
}
|
||||
trigger_event = feast_main_live_fowl.9001
|
||||
}
|
||||
|
||||
|
||||
# Fire special guest end events
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:fowl_dinner_target
|
||||
}
|
||||
scope:fowl_dinner_target = {
|
||||
trigger_event = feast_main_live_fowl.9003
|
||||
}
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:fowl_bird_killer
|
||||
}
|
||||
scope:fowl_bird_killer = {
|
||||
trigger_event = feast_main_live_fowl.9004
|
||||
}
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:fowl_bird_chaser
|
||||
}
|
||||
scope:fowl_bird_chaser = {
|
||||
trigger_event = feast_main_live_fowl.9005
|
||||
}
|
||||
}
|
||||
activity_host = { trigger_event = feast_main_live_fowl.9002 }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
###################
|
||||
# Guest End event
|
||||
###################
|
||||
feast_main_live_fowl.9001 = {
|
||||
type = activity_event
|
||||
title = feast_main_live_fowl.9001.t
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:fowl_bird_killer
|
||||
}
|
||||
desc = feast_main_live_fowl.9001.bird_killer
|
||||
}
|
||||
desc = feast_main_live_fowl.9001.no_bird_killer
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = happiness
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:fowl_dinner_target
|
||||
animation = pain
|
||||
}
|
||||
lower_left_portrait = scope:spouse
|
||||
lower_right_portrait = scope:fowl_bird_killer
|
||||
|
||||
option = {
|
||||
name = feast_main_live_fowl.9001.a
|
||||
stress_impact = {
|
||||
base = minor_stress_loss
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
######################
|
||||
# Host End event
|
||||
######################
|
||||
feast_main_live_fowl.9002 = {
|
||||
type = activity_event
|
||||
title = feast_main_live_fowl.9002.t
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:fowl_bird_killer
|
||||
}
|
||||
desc = feast_main_live_fowl.9002.bird_killer
|
||||
}
|
||||
desc = feast_main_live_fowl.9002.no_bird_killer
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_bold
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:fowl_dinner_target
|
||||
animation = pain
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_live_fowl.9002.a
|
||||
stress_impact = {
|
||||
base = minor_stress_loss
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
########################
|
||||
# Bird Target end event
|
||||
########################
|
||||
feast_main_live_fowl.9003 = {
|
||||
type = activity_event
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:fowl_bird_killer
|
||||
}
|
||||
desc = feast_main_live_fowl.9003.bird_killer
|
||||
}
|
||||
desc = feast_main_live_fowl.9003.no_bird_killer
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = happiness
|
||||
}
|
||||
lower_left_portrait = scope:spouse
|
||||
|
||||
option = {
|
||||
name = feast_main_live_fowl.9003.a
|
||||
increase_wounds_no_death_effect = { REASON = wild_animal }
|
||||
add_opinion = {
|
||||
modifier = feast_victimised_in_prank
|
||||
target = scope:activity.activity_host
|
||||
}
|
||||
progress_towards_rival_effect = {
|
||||
CHARACTER = scope:activity.activity_host
|
||||
OPINION = 0
|
||||
REASON = rival_fowl_prank
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
##################
|
||||
# Bird Killer end event
|
||||
##################
|
||||
feast_main_live_fowl.9004 = {
|
||||
type = activity_event
|
||||
desc = feast_main_live_fowl.9004.desc
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = happiness
|
||||
}
|
||||
lower_left_portrait = scope:spouse
|
||||
|
||||
option = {
|
||||
name = feast_main_live_fowl.9004.a
|
||||
add_dread = minor_dread_gain
|
||||
stress_impact = {
|
||||
callous = medium_stress_impact_loss
|
||||
sadistic = medium_stress_impact_loss
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
##################
|
||||
# Bird Chaser end event
|
||||
##################
|
||||
feast_main_live_fowl.9005 = {
|
||||
type = activity_event
|
||||
desc = feast_main_live_fowl.9005.desc
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = happiness
|
||||
}
|
||||
lower_left_portrait = scope:spouse
|
||||
|
||||
option = {
|
||||
name = feast_main_live_fowl.9005.a
|
||||
add_prestige = minor_prestige_gain
|
||||
stress_impact = {
|
||||
shy = medium_stress_impact_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,968 +0,0 @@
|
|||
# FEAST ACTIVITY KEY EVENTS
|
||||
# Most custom variables checked here will have been set by the "welcoming" events in feast_activity_standard_events
|
||||
|
||||
namespace = feast_main_stable_breakin
|
||||
|
||||
|
||||
|
||||
######################
|
||||
# STABLE BREAK-IN
|
||||
# by Petter Vilberg
|
||||
######################
|
||||
# Some guests break into the host's stables and drunkenly ride around on animals.
|
||||
|
||||
# Trigger and weight event
|
||||
feast_main_stable_breakin.0001 = {
|
||||
type = activity_event
|
||||
|
||||
hidden = yes
|
||||
|
||||
trigger = {
|
||||
trigger_if = {
|
||||
limit = {
|
||||
scope:activity.activity_host = { has_variable = last_feast_was }
|
||||
}
|
||||
NOT = { scope:activity.activity_host.var:last_feast_was = flag:stable_breakin }
|
||||
}
|
||||
scope:activity = {
|
||||
any_attending_character = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
NOT = { has_trait = temperate }
|
||||
this != scope:activity.activity_host
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:activity = {
|
||||
# Someone to be responsible for the break-in.
|
||||
random_attending_character = {
|
||||
# Either someone who fits the bill
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
OR = {
|
||||
has_trait = lifestyle_reveler
|
||||
has_trait = lunatic
|
||||
has_trait = shrewd
|
||||
}
|
||||
this != scope:activity.activity_host
|
||||
}
|
||||
# Or just someone who's had a little too much to drink
|
||||
alternative_limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
NOT = { has_trait = temperate }
|
||||
this != scope:activity.activity_host
|
||||
}
|
||||
save_scope_as = breakin_stager
|
||||
}
|
||||
|
||||
# If someone is unfortunate enough to be a deviant in the wrong place at the wrong time...
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
OR = {
|
||||
has_trait = deviant
|
||||
any_secret = {
|
||||
type = secret_deviant
|
||||
}
|
||||
}
|
||||
NOR = {
|
||||
this = scope:breakin_stager
|
||||
this = scope:activity.activity_host
|
||||
}
|
||||
}
|
||||
|
||||
save_scope_as = breakin_deviant
|
||||
|
||||
random = {
|
||||
chance = 30
|
||||
modifier = {
|
||||
add = 20
|
||||
scope:breakin_deviant = {
|
||||
has_trait = lustful
|
||||
}
|
||||
}
|
||||
scope:activity = {
|
||||
set_variable = {
|
||||
name = deviant_discovered
|
||||
value = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
# If there's no deviant, make sure the stager has support from someone
|
||||
if = {
|
||||
limit = {
|
||||
NOT = {
|
||||
exists = scope:breakin_deviant
|
||||
}
|
||||
}
|
||||
random_attending_character = {
|
||||
limit = { # A Master of the Horse is the perfect accomplice!
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
has_court_position = master_of_horse_court_position
|
||||
}
|
||||
alternative_limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
this != scope:breakin_stager
|
||||
this != scope:activity.activity_host
|
||||
}
|
||||
|
||||
save_scope_as = breakin_helper
|
||||
}
|
||||
}
|
||||
|
||||
# We need at least one more bystander, if there are enough guests
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
NOR = {
|
||||
this = scope:breakin_stager
|
||||
AND = {
|
||||
exists = scope:breakin_deviant
|
||||
this = scope:breakin_deviant
|
||||
}
|
||||
AND = {
|
||||
exists = scope:breakin_helper
|
||||
this = scope:breakin_helper
|
||||
}
|
||||
}
|
||||
this != scope:activity.activity_host
|
||||
|
||||
}
|
||||
save_scope_as = breakin_bystander
|
||||
}
|
||||
|
||||
every_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
NOR = {
|
||||
this = scope:breakin_stager
|
||||
AND = {
|
||||
exists = scope:breakin_bystander
|
||||
this = scope:breakin_bystander
|
||||
}
|
||||
AND = {
|
||||
exists = scope:breakin_deviant
|
||||
this = scope:breakin_deviant
|
||||
}
|
||||
AND = {
|
||||
exists = scope:breakin_helper
|
||||
this = scope:breakin_helper
|
||||
}
|
||||
}
|
||||
this != scope:activity.activity_host
|
||||
}
|
||||
|
||||
trigger_event = feast_main_stable_breakin.0002
|
||||
}
|
||||
|
||||
activity_host = {
|
||||
set_variable = {
|
||||
name = last_feast_was
|
||||
value = flag:stable_breakin
|
||||
}
|
||||
trigger_event = feast_main_stable_breakin.0003
|
||||
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = { exists = scope:breakin_bystander }
|
||||
scope:breakin_bystander = {
|
||||
trigger_event = feast_main_stable_breakin.0007
|
||||
}
|
||||
}
|
||||
# If the one causing the break-in is not also a deviant, the stager gets their event.
|
||||
scope:breakin_stager = {
|
||||
trigger_event = feast_main_stable_breakin.0004
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:breakin_deviant
|
||||
scope:breakin_deviant != scope:breakin_stager
|
||||
}
|
||||
scope:breakin_deviant = {
|
||||
trigger_event = feast_main_stable_breakin.0005
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = { exists = scope:breakin_helper }
|
||||
scope:breakin_helper = {
|
||||
trigger_event = feast_main_stable_breakin.0006
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
###
|
||||
# Generic guest event
|
||||
###
|
||||
feast_main_stable_breakin.0002 = {
|
||||
type = activity_event
|
||||
title = feast_main_stable_breakin.0002.t
|
||||
desc = {
|
||||
# Pick out who the introduction describes the stager as acting with
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
# The helper that is chosen if no deviant.
|
||||
trigger = {
|
||||
exists = scope:breakin_helper
|
||||
}
|
||||
desc = feast_main_stable_breakin.0002.breakin_with_helper
|
||||
}
|
||||
triggered_desc = {
|
||||
# The deviant, so they are partly responsible for their own demise
|
||||
trigger = {
|
||||
exists = scope:breakin_deviant
|
||||
scope:breakin_deviant != scope:breakin_stager
|
||||
}
|
||||
desc = feast_main_stable_breakin.0002.breakin_with_deviant
|
||||
}
|
||||
# A fallback in case your feast doesn't have that many guests.
|
||||
desc = feast_main_stable_breakin.0002.breakin_with_noone
|
||||
}
|
||||
triggered_desc = {
|
||||
# Some more fun if there are enough feast participants to sustain it.
|
||||
trigger = {
|
||||
exists = scope:breakin_bystander
|
||||
}
|
||||
desc = feast_main_stable_breakin.0002.bystander_riding
|
||||
}
|
||||
first_valid = {
|
||||
# If the deviant is discovered doing deviant things.
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:activity = { has_variable = deviant_discovered }
|
||||
}
|
||||
desc = feast_main_stable_breakin.0002.deviant_discovered
|
||||
}
|
||||
# A signoff in case there is no deviant discovery.
|
||||
#desc = feast_main_stable_breakin.0002.what_a_silly_bunch
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = shock
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:breakin_stager
|
||||
animation = jockey_victory
|
||||
camera = camera_event_horse_right
|
||||
}
|
||||
lower_center_portrait = scope:breakin_helper
|
||||
lower_right_portrait = scope:breakin_deviant
|
||||
|
||||
option = {
|
||||
name = feast_main_stable_breakin.0002.a
|
||||
trigger = {
|
||||
NOT = {
|
||||
scope:activity = { has_variable = deviant_discovered }
|
||||
}
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = feast_livestock_at_feast_modifier
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_stable_breakin.0002.b
|
||||
trigger = {
|
||||
exists = scope:activity.var:deviant_discovered
|
||||
NOR = {
|
||||
has_trait = deviant
|
||||
any_secret = {
|
||||
type = secret_deviant
|
||||
}
|
||||
}
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = feast_livestock_at_feast_modifier
|
||||
years = 5
|
||||
}
|
||||
show_as_tooltip = {
|
||||
scope:breakin_deviant = {
|
||||
add_prestige = major_prestige_loss
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_stable_breakin.0002.secret_of_my_own
|
||||
trigger = {
|
||||
exists = scope:activity.var:deviant_discovered
|
||||
OR = {
|
||||
has_trait = deviant
|
||||
any_secret = {
|
||||
type = secret_deviant
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:breakin_deviant = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = respect_opinion
|
||||
opinion = 20
|
||||
}
|
||||
}
|
||||
progress_towards_friend_effect = {
|
||||
REASON = friend_fellow_deviant
|
||||
CHARACTER = scope:breakin_deviant
|
||||
OPINION = 0
|
||||
}
|
||||
hidden_effect = {
|
||||
add_opinion = {
|
||||
target = scope:breakin_deviant
|
||||
modifier = pity_opinion
|
||||
opinion = 20
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
###
|
||||
# Host event
|
||||
###
|
||||
feast_main_stable_breakin.0003 = {
|
||||
title = feast_main_stable_breakin.0003.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
# Pick out who the introduction describes the stager as acting with
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
# The helper that is chosen if no deviant.
|
||||
trigger = {
|
||||
exists = scope:breakin_helper
|
||||
}
|
||||
desc = feast_main_stable_breakin.0003.breakin_with_helper
|
||||
}
|
||||
triggered_desc = {
|
||||
# The deviant, so they are partly responsible for their own demise
|
||||
trigger = {
|
||||
exists = scope:breakin_deviant
|
||||
scope:breakin_deviant != scope:breakin_stager
|
||||
}
|
||||
desc = feast_main_stable_breakin.0003.breakin_with_deviant
|
||||
}
|
||||
# A fallback in case your feast doesn't have that many guests.
|
||||
desc = feast_main_stable_breakin.0003.breakin_with_noone
|
||||
}
|
||||
triggered_desc = {
|
||||
# Some more fun if there are enough feast participants to sustain it.
|
||||
trigger = {
|
||||
exists = scope:breakin_bystander
|
||||
}
|
||||
desc = feast_main_stable_breakin.0003.bystander_riding
|
||||
}
|
||||
first_valid = {
|
||||
# If the deviant is discovered doing deviant things.
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:activity = {
|
||||
has_variable = deviant_discovered
|
||||
}
|
||||
}
|
||||
desc = feast_main_stable_breakin.0003.deviant_discovered
|
||||
}
|
||||
# A signoff in case there is no deviant discovery.
|
||||
#desc = feast_main_stable_breakin.0003.what_a_silly_bunch
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:breakin_stager
|
||||
animation = jockey_victory
|
||||
camera = camera_event_horse_left
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:breakin_helper
|
||||
animation = shame
|
||||
}
|
||||
lower_right_portrait = scope:breakin_deviant
|
||||
|
||||
immediate = {
|
||||
play_music_cue = mx_cue_meadandwine
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_stable_breakin.0003.a
|
||||
add_prestige = minor_prestige_loss
|
||||
add_character_modifier = {
|
||||
modifier = feast_livestock_at_feast_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
hidden_effect = {
|
||||
# Activity End Event setup
|
||||
trigger_event = {
|
||||
id = feast_main_stable_breakin.9000
|
||||
days = 10
|
||||
}
|
||||
scope:activity = {
|
||||
add_activity_log_entry = {
|
||||
key = feast_stable_breakin_log
|
||||
tags = { good }
|
||||
score = 25
|
||||
character = root
|
||||
target = scope:breakin_stager
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
####
|
||||
# Stager event
|
||||
####
|
||||
feast_main_stable_breakin.0004 = {
|
||||
title = feast_main_stable_breakin.0004.t
|
||||
desc = {
|
||||
# Start the event by describing who planted the idea.
|
||||
first_valid = {
|
||||
# The "regular" helper
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:breakin_helper
|
||||
}
|
||||
desc = feast_main_stable_breakin.0004.breakin_with_helper
|
||||
}
|
||||
# The deviant, though you may not know.
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:breakin_deviant
|
||||
scope:breakin_deviant != scope:breakin_stager
|
||||
}
|
||||
desc = feast_main_stable_breakin.0004.breakin_with_deviant
|
||||
}
|
||||
# You've come up with the idea all on your own. Sorry, no excuses!
|
||||
desc = feast_main_stable_breakin.0004.breakin_with_noone
|
||||
}
|
||||
# If someone goes crazy
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:breakin_bystander
|
||||
}
|
||||
desc = feast_main_stable_breakin.0004.bystander_riding
|
||||
}
|
||||
# Signoff based on whether the deviant makes poor choices.
|
||||
first_valid = {
|
||||
# If a deviant is discovered, the stager should also get to know about it.
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:activity = { has_variable = deviant_discovered }
|
||||
}
|
||||
desc = feast_main_stable_breakin.0004.deviant_discovered
|
||||
}
|
||||
# Regular signoff.
|
||||
desc = feast_main_stable_breakin.0004.signoff
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = shock
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:breakin_helper
|
||||
animation = shame
|
||||
}
|
||||
lower_center_portrait = scope:breakin_bystander
|
||||
lower_right_portrait = scope:breakin_deviant
|
||||
|
||||
option = {
|
||||
name = feast_main_stable_breakin.0004.a
|
||||
add_prestige = minor_prestige_loss
|
||||
increase_wounds_effect = { REASON = horse_riding_accident }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
###
|
||||
# Deviant event
|
||||
###
|
||||
feast_main_stable_breakin.0005 = {
|
||||
title = feast_main_stable_breakin.0005.t
|
||||
desc = {
|
||||
# Deviant shares a good idea with the stager.
|
||||
desc = feast_main_stable_breakin.0005.breakin
|
||||
# Things go a little crazy.
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:breakin_bystander
|
||||
scope:activity = { has_variable = deviant_discovered }
|
||||
}
|
||||
desc = feast_main_stable_breakin.0005.bystander_riding
|
||||
}
|
||||
first_valid = {
|
||||
# Uh-oh.
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:activity = { NOT = { has_variable = deviant_discovered } }
|
||||
}
|
||||
desc = feast_main_stable_breakin.0005.deviant_discovered
|
||||
}
|
||||
# Nothing happened, or...?
|
||||
desc = feast_main_stable_breakin.0005.got_away_with_it
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = shock
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:breakin_stager
|
||||
animation = jockey_victory
|
||||
camera = camera_event_horse_right
|
||||
}
|
||||
lower_center_portrait = scope:breakin_helper
|
||||
lower_right_portrait = scope:breakin_bystander
|
||||
|
||||
option = {
|
||||
name = feast_main_stable_breakin.0005.a
|
||||
add_prestige = major_prestige_loss
|
||||
if = {
|
||||
limit = {
|
||||
any_secret = {
|
||||
type = secret_deviant
|
||||
}
|
||||
scope:activity = { has_variable = deviant_discovered }
|
||||
}
|
||||
random_secret = {
|
||||
type = secret_deviant
|
||||
expose_secret = scope:activity.activity_host
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
###
|
||||
# Helper event
|
||||
###
|
||||
feast_main_stable_breakin.0006 = {
|
||||
title = feast_main_stable_breakin.0006.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
# Helping the stager break in, then having fun.
|
||||
desc = feast_main_stable_breakin.0006.breakin_with_helper
|
||||
# Other people might be having fun, too!
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:breakin_bystander
|
||||
scope:activity = { NOT = { has_variable = deviant_discovered } }
|
||||
}
|
||||
desc = feast_main_stable_breakin.0006.bystander_riding
|
||||
}
|
||||
first_valid = {
|
||||
# Some people might be having a little too much fun.
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:activity = { has_variable = deviant_discovered }
|
||||
}
|
||||
desc = feast_main_stable_breakin.0006.deviant_discovered
|
||||
}
|
||||
# Everything happens to be at the right level of fun.
|
||||
desc = feast_main_stable_breakin.0006.all_in_good_fun
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = shock
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:breakin_stager
|
||||
animation = jockey_victory
|
||||
camera = camera_event_horse_right
|
||||
}
|
||||
lower_center_portrait = scope:breakin_bystander
|
||||
lower_right_portrait = scope:breakin_deviant
|
||||
|
||||
option = {
|
||||
name = feast_main_stable_breakin.0006.a
|
||||
scope:breakin_stager = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = feast_helped_during_breakin
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = { exists = scope:breakin_bystander }
|
||||
scope:breakin_bystander = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = feast_helped_during_breakin
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:breakin_deviant
|
||||
}
|
||||
scope:breakin_deviant = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = feast_helped_during_breakin
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
###
|
||||
# Bystander event
|
||||
###
|
||||
feast_main_stable_breakin.0007 = {
|
||||
title = feast_main_stable_breakin.0007.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
# The stager is mainly responsible themselves.
|
||||
desc = feast_main_stable_breakin.0007.breakin
|
||||
# Root is having so much fun!
|
||||
desc = feast_main_stable_breakin.0007.bystander_riding
|
||||
first_valid = {
|
||||
# Uuuuh, deviant doing their thing is highly unfortunate.
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:activity = { has_variable = deviant_discovered }
|
||||
}
|
||||
desc = feast_main_stable_breakin.0007.deviant_discovered
|
||||
}
|
||||
# What a great time we had.
|
||||
desc = feast_main_stable_breakin.0007.what_a_silly_bunch
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = shock
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:breakin_stager
|
||||
animation = jockey_victory
|
||||
camera = camera_event_horse_right
|
||||
}
|
||||
lower_center_portrait = scope:breakin_helper
|
||||
lower_right_portrait = scope:breakin_deviant
|
||||
|
||||
option = {
|
||||
name = feast_main_stable_breakin.0007.a
|
||||
add_prestige = minor_prestige_loss
|
||||
scope:breakin_stager = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = feast_helped_during_breakin
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:breakin_deviant
|
||||
}
|
||||
scope:breakin_deviant = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = feast_helped_during_breakin
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
##################
|
||||
# END EVENT SETUP
|
||||
##################
|
||||
feast_main_stable_breakin.9000 = {
|
||||
type = activity_event
|
||||
|
||||
hidden = yes
|
||||
|
||||
trigger = {
|
||||
exists = scope:activity
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:activity = {
|
||||
|
||||
# Set up scopes
|
||||
activity_host = {
|
||||
save_scope_as = host_saying_goodbye
|
||||
if = {
|
||||
limit = { exists = primary_partner }
|
||||
random_consort = {
|
||||
limit = {
|
||||
this = scope:activity.activity_host.primary_partner
|
||||
is_available_ai = yes
|
||||
}
|
||||
alternative_limit = {
|
||||
is_available_ai = yes
|
||||
}
|
||||
save_scope_as = spouse
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Fire the end event for every participant except specials
|
||||
every_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
NOR = {
|
||||
this = scope:activity.activity_host
|
||||
this = scope:breakin_stager
|
||||
AND = {
|
||||
exists = scope:breakin_helper
|
||||
this = scope:breakin_helper
|
||||
}
|
||||
AND = {
|
||||
exists = scope:breakin_bystander
|
||||
this = scope:breakin_bystander
|
||||
}
|
||||
AND = {
|
||||
exists = scope:breakin_deviant
|
||||
this = scope:breakin_deviant
|
||||
}
|
||||
}
|
||||
}
|
||||
trigger_event = feast_main_stable_breakin.9001
|
||||
}
|
||||
|
||||
# Fire special guest end events
|
||||
every_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
OR = {
|
||||
this = scope:breakin_stager
|
||||
AND = {
|
||||
exists = scope:breakin_helper
|
||||
this = scope:breakin_helper
|
||||
}
|
||||
AND = {
|
||||
exists = scope:breakin_bystander
|
||||
this = scope:breakin_bystander
|
||||
}
|
||||
AND = {
|
||||
exists = scope:breakin_deviant
|
||||
this = scope:breakin_deviant
|
||||
}
|
||||
}
|
||||
}
|
||||
trigger_event = feast_main_stable_breakin.9003
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:breakin_deviant
|
||||
}
|
||||
scope:breakin_deviant = {
|
||||
trigger_event = feast_main_stable_breakin.9004
|
||||
if = {
|
||||
limit = { exists = scope:activity.var:deviant_discovered }
|
||||
set_variable = {
|
||||
name = was_i_discovered
|
||||
value = scope:activity.var:deviant_discovered
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
activity_host = { trigger_event = feast_main_stable_breakin.9002 }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
###################
|
||||
# Guest End event
|
||||
###################
|
||||
feast_main_stable_breakin.9001 = {
|
||||
type = activity_event
|
||||
title = feast_main_stable_breakin.9001.t
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:breakin_deviant
|
||||
scope:breakin_deviant = {
|
||||
has_variable = was_i_discovered
|
||||
}
|
||||
}
|
||||
desc = feast_main_stable_breakin.9001.deviant_caught
|
||||
}
|
||||
desc = feast_main_stable_breakin.9001.in_good_fun
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:host_saying_goodbye
|
||||
animation = happiness
|
||||
}
|
||||
center_portrait = {
|
||||
character = scope:spouse
|
||||
animation = personality_bold
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:breakin_stager
|
||||
animation = jockey_idle
|
||||
camera = camera_event_horse_right
|
||||
}
|
||||
lower_center_portrait = scope:breakin_deviant
|
||||
lower_right_portrait = scope:breakin_bystander
|
||||
|
||||
option = {
|
||||
name = feast_main_stable_breakin.9001.a
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_loss
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
######################
|
||||
# Host End event
|
||||
######################
|
||||
feast_main_stable_breakin.9002 = {
|
||||
type = activity_event
|
||||
title = feast_main_stable_breakin.9001.t
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:breakin_deviant
|
||||
scope:breakin_deviant = { has_variable = was_i_discovered }
|
||||
}
|
||||
desc = feast_main_stable_breakin.9002.deviant_caught
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:breakin_deviant
|
||||
scope:breakin_deviant = {
|
||||
NOT = { has_variable = was_i_discovered }
|
||||
}
|
||||
}
|
||||
desc = feast_main_stable_breakin.9002.in_good_fun_or_what
|
||||
}
|
||||
desc = feast_main_stable_breakin.9002.in_good_fun
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
right_portrait = {
|
||||
character = scope:breakin_stager
|
||||
animation = wedding_drunk
|
||||
}
|
||||
center_portrait = {
|
||||
character = scope:breakin_bystander
|
||||
animation = personality_bold
|
||||
}
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = happiness
|
||||
}
|
||||
lower_center_portrait = scope:breakin_deviant
|
||||
|
||||
option = {
|
||||
name = feast_main_stable_breakin.9002.a
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_loss
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
########################
|
||||
# Stager, helper and bystander end event
|
||||
########################
|
||||
feast_main_stable_breakin.9003 = {
|
||||
type = activity_event
|
||||
title = feast_main_stable_breakin.9001.t
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:breakin_deviant
|
||||
scope:breakin_deviant = {
|
||||
has_variable = was_i_discovered
|
||||
}
|
||||
}
|
||||
desc = feast_main_stable_breakin.9003.deviant_caught
|
||||
}
|
||||
desc = feast_main_stable_breakin.9003.in_good_fun
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:host_saying_goodbye
|
||||
animation = happiness
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:spouse
|
||||
animation = personality_bold
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_stable_breakin.9003.a
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_loss
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#####################
|
||||
# Deviant end event
|
||||
#####################
|
||||
feast_main_stable_breakin.9004 = {
|
||||
type = activity_event
|
||||
title = feast_main_stable_breakin.9001.t
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:breakin_deviant
|
||||
scope:breakin_deviant = {
|
||||
has_variable = was_i_discovered
|
||||
}
|
||||
}
|
||||
desc = feast_main_stable_breakin.9004.deviant_caught
|
||||
}
|
||||
desc = feast_main_stable_breakin.9004.in_good_fun
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:host_saying_goodbye
|
||||
animation = happiness
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:spouse
|
||||
animation = personality_bold
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_stable_breakin.9004.a
|
||||
if = {
|
||||
limit = { NOT = { exists = var:was_i_discovered } }
|
||||
feast_end_guest_effect = yes
|
||||
}
|
||||
else = {
|
||||
stress_impact = {
|
||||
deviant = medium_stress_impact_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,879 +0,0 @@
|
|||
# FEAST ACTIVITY KEY EVENTS
|
||||
# Most custom variables checked here will have been set by the "welcoming" events in feast_activity_standard_events
|
||||
# Each unique key event gets a range of 50 IDs. This should more than suffice in all cases.
|
||||
|
||||
namespace = feast_main_stew_flood
|
||||
|
||||
|
||||
############################
|
||||
# THE STEW FLOOD
|
||||
# by Petter Vilberg
|
||||
############################
|
||||
# 0001 - 0010: Standard setup and descriptive events.
|
||||
# 0031 - 0040: Extraneous events
|
||||
# 0041 - 0050: Standard end events.
|
||||
|
||||
|
||||
# A giant cauldron of stew tips over in the middle of the meal
|
||||
# Half the hall gets covered in a sea of stew.
|
||||
|
||||
|
||||
####
|
||||
# Weight and Setup Event
|
||||
####
|
||||
feast_main_stew_flood.0001 = {
|
||||
type = activity_event
|
||||
|
||||
hidden = yes
|
||||
|
||||
trigger = {
|
||||
trigger_if = {
|
||||
limit = { scope:activity.activity_host = { has_variable = last_feast_was } }
|
||||
NOT = { scope:activity.activity_host.var:last_feast_was = flag:stew_flood }
|
||||
}
|
||||
NOT = {
|
||||
scope:activity = {
|
||||
has_activity_option = {
|
||||
category = feast_option_food
|
||||
option = feast_food_good
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:activity = {
|
||||
any_attending_character = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
this != scope:activity.activity_host
|
||||
drinks_alcohol_trigger = yes
|
||||
save_temporary_scope_as = stew_sea_blamed_temp
|
||||
}
|
||||
any_attending_character = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
has_trait = gluttonous
|
||||
NOR = {
|
||||
this = scope:activity.activity_host
|
||||
this = scope:stew_sea_blamed_temp
|
||||
}
|
||||
save_temporary_scope_as = stew_sea_glutton_temp
|
||||
}
|
||||
any_attending_character = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
has_trait = temperate
|
||||
NOR = {
|
||||
this = scope:activity.activity_host
|
||||
this = scope:stew_sea_blamed_temp
|
||||
this = scope:stew_sea_glutton_temp
|
||||
}
|
||||
save_temporary_scope_as = stew_sea_horrified_character_temp
|
||||
}
|
||||
any_attending_character = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
this != scope:stew_sea_blamed_temp
|
||||
this != scope:stew_sea_glutton_temp
|
||||
this != scope:stew_sea_horrified_character_temp
|
||||
this != scope:activity.activity_host
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:activity = {
|
||||
# Find someone who can take the blame
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
this != scope:activity.activity_host
|
||||
drinks_alcohol_trigger = yes
|
||||
}
|
||||
|
||||
save_scope_as = stew_sea_blamed
|
||||
}
|
||||
|
||||
# Find someone who can cause themselves shame by eating off the floor.
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
has_trait = gluttonous
|
||||
NOR = {
|
||||
this = scope:activity.activity_host
|
||||
this = scope:stew_sea_blamed
|
||||
}
|
||||
}
|
||||
random_list = { #Gluttons should not eat from the floor at _every_ feast where we spill food
|
||||
25 = { save_scope_as = stew_sea_glutton }
|
||||
75 = { }
|
||||
}
|
||||
}
|
||||
|
||||
# Find someone who can be horrified by the waste
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
has_trait = temperate
|
||||
NOR = {
|
||||
this = scope:activity.activity_host
|
||||
this = scope:stew_sea_blamed
|
||||
}
|
||||
}
|
||||
|
||||
save_scope_as = stew_sea_horrified_character
|
||||
}
|
||||
|
||||
# Find someone who gets covered in stew
|
||||
random_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
# Not any of the other targets
|
||||
this != scope:stew_sea_blamed
|
||||
trigger_if = {
|
||||
limit = { exists = scope:stew_sea_glutton }
|
||||
this != scope:stew_sea_glutton
|
||||
}
|
||||
trigger_else = { always = yes }
|
||||
trigger_if = {
|
||||
limit = { exists = scope:stew_sea_horrified_character }
|
||||
this != scope:stew_sea_horrified_character
|
||||
}
|
||||
trigger_else = { always = yes }
|
||||
this != scope:activity.activity_host
|
||||
OR = { # Prefer someone arrogant, beautiful or angry
|
||||
has_trait = arrogant
|
||||
has_trait = beauty_good
|
||||
has_trait = wrathful
|
||||
trigger_if = {
|
||||
limit = {
|
||||
exists = scope:activity.special_guest:honorary_guest_regular
|
||||
}
|
||||
this = scope:activity.special_guest:honorary_guest_regular
|
||||
}
|
||||
}
|
||||
}
|
||||
alternative_limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
# Not any of the other targets
|
||||
this != scope:stew_sea_blamed
|
||||
trigger_if = {
|
||||
limit = { exists = scope:stew_sea_glutton }
|
||||
this != scope:stew_sea_glutton
|
||||
}
|
||||
trigger_if = {
|
||||
limit = { exists = scope:stew_sea_horrified_character }
|
||||
this != scope:stew_sea_horrified_character
|
||||
}
|
||||
this != scope:activity.activity_host
|
||||
OR = { # Take someone who might have an outsized reaction
|
||||
has_trait = stubborn
|
||||
has_trait = callous
|
||||
has_trait = sadistic
|
||||
has_trait = paranoid
|
||||
has_trait = lunatic
|
||||
}
|
||||
}
|
||||
alternative_limit = { # Fallback
|
||||
# Not any of the other targets
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
this != scope:stew_sea_blamed
|
||||
trigger_if = {
|
||||
limit = { exists = scope:stew_sea_glutton }
|
||||
this != scope:stew_sea_glutton
|
||||
}
|
||||
trigger_if = {
|
||||
limit = { exists = scope:stew_sea_horrified_character }
|
||||
this != scope:stew_sea_horrified_character
|
||||
}
|
||||
this != scope:activity.activity_host
|
||||
}
|
||||
|
||||
save_scope_as = stew_sea_gets_covered
|
||||
}
|
||||
|
||||
|
||||
activity_host = {
|
||||
set_variable = {
|
||||
name = last_feast_was
|
||||
value = flag:stew_flood
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
NOR = {
|
||||
AND = {
|
||||
exists = scope:stew_sea_horrified_character
|
||||
this = scope:stew_sea_horrified_character
|
||||
}
|
||||
AND = {
|
||||
exists = scope:stew_sea_glutton
|
||||
this = scope:stew_sea_glutton
|
||||
}
|
||||
AND = {
|
||||
exists = scope:stew_sea_gets_covered
|
||||
this = scope:stew_sea_gets_covered
|
||||
}
|
||||
}
|
||||
}
|
||||
trigger_event = feast_main_stew_flood.0003
|
||||
}
|
||||
}
|
||||
|
||||
every_attending_character = {
|
||||
# Every participant that does not get a special event.
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
NOR = {
|
||||
AND = {
|
||||
exists = scope:stew_sea_glutton
|
||||
this = scope:stew_sea_glutton
|
||||
}
|
||||
AND = {
|
||||
exists = scope:stew_sea_horrified_character
|
||||
this = scope:stew_sea_horrified_character
|
||||
}
|
||||
AND = {
|
||||
exists = scope:stew_sea_gets_covered
|
||||
this = scope:stew_sea_gets_covered
|
||||
}
|
||||
this = scope:activity.activity_host
|
||||
}
|
||||
}
|
||||
|
||||
# Standard key event
|
||||
trigger_event = feast_main_stew_flood.0002
|
||||
}
|
||||
if = {
|
||||
limit = { exists = scope:stew_sea_gets_covered }
|
||||
scope:stew_sea_gets_covered = {
|
||||
trigger_event = feast_main_stew_flood.0004
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = { exists = scope:stew_sea_glutton }
|
||||
scope:stew_sea_glutton = {
|
||||
trigger_event = feast_main_stew_flood.0005
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = { exists = scope:stew_sea_horrified_character }
|
||||
scope:stew_sea_horrified_character = {
|
||||
trigger_event = feast_main_stew_flood.0006
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
####
|
||||
# Standard Descriptive Event
|
||||
####
|
||||
feast_main_stew_flood.0002 = {
|
||||
title = feast_main_stew_flood.0002.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:stew_sea_blamed
|
||||
root = scope:stew_sea_blamed
|
||||
}
|
||||
desc = feast_main_stew_flood.0002.stew_introduction_blamed
|
||||
}
|
||||
# Introduction, which also places blame.
|
||||
triggered_desc = {
|
||||
# If there is a character to blame, they'll be named and shamed
|
||||
trigger = {
|
||||
exists = scope:stew_sea_blamed
|
||||
}
|
||||
desc = feast_main_stew_flood.0002.stew_introduction_blame
|
||||
}
|
||||
# Fallback using blaming a generic servant if there aren't enough characters
|
||||
desc = feast_main_stew_flood.0002.stew_introduction
|
||||
}
|
||||
triggered_desc = {
|
||||
# Someone may get covered by meat stew, which is terrible for them.
|
||||
trigger = {
|
||||
exists = scope:stew_sea_gets_covered
|
||||
}
|
||||
desc = feast_main_stew_flood.0002.someone_got_covered
|
||||
}
|
||||
# A general description of the state of things after the accident:
|
||||
desc = feast_main_stew_flood.0002.splash_desc_standard
|
||||
first_valid = {
|
||||
# A character may bring shame upon themselves by eating off the floor.
|
||||
triggered_desc = {
|
||||
# If there is a horrified witness to the action.
|
||||
trigger = {
|
||||
exists = scope:stew_sea_glutton
|
||||
exists = scope:stew_sea_horrified_character
|
||||
}
|
||||
desc = feast_main_stew_flood.0002.every_target
|
||||
}
|
||||
triggered_desc = {
|
||||
# If there is someone eating off the floor, but no named witness.
|
||||
trigger = {
|
||||
exists = scope:stew_sea_glutton
|
||||
}
|
||||
desc = feast_main_stew_flood.0002.only_glutton
|
||||
}
|
||||
triggered_desc = {
|
||||
# If there is a horrified witness, but nobody eating off the floor.
|
||||
trigger = {
|
||||
exists = scope:stew_sea_horrified_character
|
||||
}
|
||||
desc = feast_main_stew_flood.0002.only_horror
|
||||
}
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = shock
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:stew_sea_blamed
|
||||
animation = shame
|
||||
}
|
||||
lower_left_portrait = scope:stew_sea_gets_covered
|
||||
lower_center_portrait = scope:stew_sea_glutton
|
||||
lower_right_portrait = scope:stew_sea_horrified_character
|
||||
|
||||
option = {
|
||||
name = feast_main_stew_flood.0002.a
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_gain
|
||||
shy = minor_stress_impact_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
###
|
||||
# Descrptive Event for Host
|
||||
###
|
||||
feast_main_stew_flood.0003 = {
|
||||
title = feast_main_stew_flood.0003.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
first_valid = {
|
||||
# Introduction, which also places blame.
|
||||
triggered_desc = {
|
||||
# If there is a character to blame, they'll be named and shamed
|
||||
trigger = {
|
||||
exists = scope:stew_sea_blamed
|
||||
}
|
||||
desc = feast_main_stew_flood.0003.stew_introduction_blame
|
||||
}
|
||||
# Fallback using blaming a generic servant if there aren't enough characters
|
||||
desc = feast_main_stew_flood.0003.stew_introduction
|
||||
}
|
||||
triggered_desc = {
|
||||
# Someone may get covered by meat stew, which is terrible for them.
|
||||
trigger = {
|
||||
exists = scope:stew_sea_gets_covered
|
||||
}
|
||||
desc = feast_main_stew_flood.0003.someone_got_covered
|
||||
}
|
||||
# A general description of the state of things after the accident:
|
||||
desc = feast_main_stew_flood.0003.splash_desc_standard
|
||||
first_valid = {
|
||||
# A character may bring shame upon themselves by eating off the floor.
|
||||
triggered_desc = {
|
||||
# If there is a horrified witness to the action.
|
||||
trigger = {
|
||||
exists = scope:stew_sea_glutton
|
||||
exists = scope:stew_sea_horrified_character
|
||||
}
|
||||
desc = feast_main_stew_flood.0003.every_target
|
||||
}
|
||||
triggered_desc = {
|
||||
# If there is someone eating off the floor, but no named witness.
|
||||
trigger = {
|
||||
exists = scope:stew_sea_glutton
|
||||
}
|
||||
desc = feast_main_stew_flood.0003.only_glutton
|
||||
}
|
||||
triggered_desc = {
|
||||
# If there is a horrified witness, but nobody eating off the floor.
|
||||
trigger = {
|
||||
exists = scope:stew_sea_horrified_character
|
||||
}
|
||||
desc = feast_main_stew_flood.0003.only_horror
|
||||
}
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = shock
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:stew_sea_blamed
|
||||
animation = shame
|
||||
}
|
||||
lower_left_portrait = scope:stew_sea_gets_covered
|
||||
lower_center_portrait = scope:stew_sea_glutton
|
||||
lower_right_portrait = scope:stew_sea_horrified_character
|
||||
|
||||
immediate = {
|
||||
play_music_cue = mx_cue_meadandwine
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_stew_flood.0003.a
|
||||
add_prestige = medium_prestige_loss
|
||||
add_character_modifier = {
|
||||
modifier = feast_spilled_stew_modifier
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
hidden_effect = {
|
||||
trigger_event = {
|
||||
id = feast_main_stew_flood.0040
|
||||
days = 10
|
||||
}
|
||||
scope:activity = {
|
||||
add_activity_log_entry = {
|
||||
key = feast_stew_flood_log
|
||||
tags = { good }
|
||||
score = 25
|
||||
character = root
|
||||
target = scope:stew_sea_gets_covered
|
||||
scope:stew_sea_gets_covered = {
|
||||
add_prestige = minor_prestige_loss
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
###
|
||||
# Descriptive Event for Getting Covered
|
||||
###
|
||||
feast_main_stew_flood.0004 = {
|
||||
title = feast_main_stew_flood.0004.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
# First part of event desc
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
# If there is a named character to blame.
|
||||
trigger = {
|
||||
exists = scope:stew_sea_blamed
|
||||
}
|
||||
desc = feast_main_stew_flood.0004.stew_introduction_blame
|
||||
}
|
||||
# No named character to blame:
|
||||
desc = feast_main_stew_flood.0004.stew_introduction
|
||||
}
|
||||
# Second part of the event desc
|
||||
desc = feast_main_stew_flood.0004.getting_covered
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = shock
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:stew_sea_blamed
|
||||
animation = shame
|
||||
}
|
||||
lower_center_portrait = scope:stew_sea_glutton
|
||||
lower_right_portrait = scope:stew_sea_horrified_character
|
||||
|
||||
option = {
|
||||
name = feast_main_stew_flood.0004.a
|
||||
if = {
|
||||
limit = { exists = scope:stew_sea_blamed }
|
||||
add_opinion = {
|
||||
modifier = feast_got_stew_all_over_me
|
||||
target = scope:stew_sea_blamed
|
||||
}
|
||||
}
|
||||
else = { #If no one else is to blame I blame my host
|
||||
scope:stew_sea_gets_covered = {
|
||||
add_opinion = {
|
||||
modifier = feast_got_stew_all_over_me
|
||||
target = root
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
###
|
||||
# Descriptive Event for Glutton
|
||||
###
|
||||
feast_main_stew_flood.0005 = {
|
||||
title = feast_main_stew_flood.0005.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
first_valid = {
|
||||
# First part of gluttons desc
|
||||
triggered_desc = {
|
||||
# If there's a named character to blame
|
||||
trigger = {
|
||||
exists = scope:stew_sea_blamed
|
||||
}
|
||||
desc = feast_main_stew_flood.0005.stew_introduction_blame
|
||||
}
|
||||
# Fallback for not having a named blame character
|
||||
desc = feast_main_stew_flood.0005.stew_introduction
|
||||
}
|
||||
# Second part of the gluttons desc
|
||||
desc = feast_main_stew_flood.0005.cannot_resist
|
||||
triggered_desc = {
|
||||
# If the horrified character is watching them, that detail is appended.
|
||||
trigger = {
|
||||
exists = scope:stew_sea_horrified_character
|
||||
}
|
||||
desc = feast_main_stew_flood.0005.being_watched
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = shock
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:stew_sea_blamed
|
||||
animation = shame
|
||||
}
|
||||
lower_left_portrait = scope:stew_sea_gets_covered
|
||||
lower_right_portrait = scope:stew_sea_horrified_character
|
||||
|
||||
option = {
|
||||
name = feast_main_stew_flood.0005.a
|
||||
scope:activity = {
|
||||
every_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
NOT = {
|
||||
has_trait = gluttonous
|
||||
}
|
||||
}
|
||||
add_opinion = {
|
||||
modifier = feast_disgracefully_ate_from_floor
|
||||
target = root
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
###
|
||||
# Descriptive Event for Horrified
|
||||
###
|
||||
feast_main_stew_flood.0006 = {
|
||||
title = feast_main_stew_flood.0006.t
|
||||
type = activity_event
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:stew_sea_blamed
|
||||
}
|
||||
desc = feast_main_stew_flood.0006.stew_introduction
|
||||
}
|
||||
desc = feast_main_stew_flood.0006.stew_introduction_blame
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:stew_sea_glutton
|
||||
}
|
||||
}
|
||||
desc = feast_main_stew_flood.0006.shocking_experience
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:activity.activity_host
|
||||
animation = shock
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:stew_sea_blamed
|
||||
animation = shame
|
||||
}
|
||||
lower_left_portrait = scope:stew_sea_gets_covered
|
||||
lower_center_portrait = scope:stew_sea_glutton
|
||||
|
||||
option = {
|
||||
name = feast_main_stew_flood.0006.a
|
||||
|
||||
stress_impact = {
|
||||
base = medium_stress_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
##################
|
||||
# END EVENT SETUP
|
||||
##################
|
||||
feast_main_stew_flood.0040 = {
|
||||
type = activity_event
|
||||
|
||||
hidden = yes
|
||||
|
||||
trigger = {
|
||||
exists = scope:activity
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:activity = {
|
||||
activity_host = {
|
||||
save_scope_as = host
|
||||
if = {
|
||||
limit = { exists = primary_partner }
|
||||
random_consort = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
this = scope:activity.activity_host.primary_partner
|
||||
is_available_ai = yes
|
||||
}
|
||||
alternative_limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
is_available_ai = yes
|
||||
}
|
||||
save_scope_as = spouse
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Fire the end event for every participant except specials
|
||||
every_attending_character = {
|
||||
limit = {
|
||||
feast_default_participant_including_player_trigger = yes
|
||||
NOR = {
|
||||
this = scope:activity.activity_host
|
||||
AND = {
|
||||
exists = scope:stew_sea_gets_covered
|
||||
this = scope:stew_sea_gets_covered
|
||||
}
|
||||
AND = {
|
||||
exists = scope:stew_sea_blamed
|
||||
this = scope:stew_sea_blamed
|
||||
}
|
||||
}
|
||||
}
|
||||
trigger_event = feast_main_stew_flood.0041
|
||||
}
|
||||
|
||||
# Fire special guest end events
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:stew_sea_gets_covered
|
||||
}
|
||||
scope:stew_sea_gets_covered = {
|
||||
trigger_event = feast_main_stew_flood.0043
|
||||
}
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:stew_sea_blamed
|
||||
}
|
||||
scope:stew_sea_blamed = {
|
||||
trigger_event = feast_main_stew_flood.0044
|
||||
}
|
||||
}
|
||||
|
||||
# Fire the end event for the host
|
||||
activity_host = {
|
||||
trigger_event = feast_main_stew_flood.0042
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
###################
|
||||
# Guest End event
|
||||
###################
|
||||
feast_main_stew_flood.0041 = {
|
||||
type = activity_event
|
||||
title = feast_main_stew_flood.0041.t
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:stew_sea_blamed
|
||||
}
|
||||
desc = feast_main_stew_flood.0041.blame_placed
|
||||
}
|
||||
desc = feast_main_stew_flood.0041.no_blame_placed
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:host
|
||||
animation = happiness
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:spouse
|
||||
animation = personality_bold
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_stew_flood.0041.a
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
}
|
||||
show_as_tooltip = {
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:stew_sea_blamed
|
||||
}
|
||||
scope:stew_sea_gets_covered = {
|
||||
add_opinion = {
|
||||
modifier = feast_got_stew_all_over_me
|
||||
target = scope:stew_sea_blamed
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
scope:stew_sea_gets_covered = {
|
||||
add_opinion = {
|
||||
modifier = feast_got_stew_all_over_me
|
||||
target = scope:host
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
######################
|
||||
# Host End event
|
||||
######################
|
||||
feast_main_stew_flood.0042 = {
|
||||
type = activity_event
|
||||
title = feast_main_stew_flood.0042.t
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:stew_sea_blamed
|
||||
}
|
||||
desc = feast_main_stew_flood.0042.blame_placed
|
||||
}
|
||||
desc = feast_main_stew_flood.0042.no_blame_placed
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:host
|
||||
animation = happiness
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:stew_sea_blamed
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
exists = scope:stew_sea_blamed
|
||||
}
|
||||
animation = shame
|
||||
}
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
NOT = { exists = scope:stew_sea_blamed }
|
||||
}
|
||||
animation = shock
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_stew_flood.0042.a
|
||||
show_as_tooltip = {
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:stew_sea_blamed
|
||||
}
|
||||
scope:stew_sea_gets_covered = {
|
||||
add_opinion = {
|
||||
modifier = feast_got_stew_all_over_me
|
||||
target = scope:stew_sea_blamed
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
scope:stew_sea_gets_covered = {
|
||||
add_opinion = {
|
||||
modifier = feast_got_stew_all_over_me
|
||||
target = root
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
########################
|
||||
# Got Covered end event
|
||||
########################
|
||||
feast_main_stew_flood.0043 = {
|
||||
type = activity_event
|
||||
title = feast_main_stew_flood.0042.t
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:stew_sea_blamed
|
||||
}
|
||||
desc = feast_main_stew_flood.0043.blame_placed
|
||||
}
|
||||
desc = feast_main_stew_flood.0043.no_blame_placed
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:host
|
||||
animation = happiness
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:spouse
|
||||
animation = personality_bold
|
||||
}
|
||||
|
||||
immediate = {
|
||||
increase_wounds_no_death_effect = { REASON = burned }
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_stew_flood.0043.a
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
feast_main_stew_flood.0044 = {
|
||||
type = activity_event
|
||||
title = feast_main_stew_flood.0042.t
|
||||
desc = feast_main_stew_flood.0044.desc
|
||||
theme = feast_activity
|
||||
left_portrait = {
|
||||
character = scope:host
|
||||
animation = happiness
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:spouse
|
||||
animation = personality_bold
|
||||
}
|
||||
|
||||
option = {
|
||||
name = feast_main_stew_flood.0044.a
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,686 +0,0 @@
|
|||
namespace = hold_court
|
||||
|
||||
# 7000-7999 - James Beaumont
|
||||
# 7000 - Fair Share
|
||||
# 7010 - Two Faiths, One Family
|
||||
# 7020 - The Shield of Faith
|
||||
|
||||
# Fair Share
|
||||
# Low-dev counties want some money
|
||||
# 7000
|
||||
scripted_trigger hc_7000_valid_county = {
|
||||
hc_7000_low_dev = yes
|
||||
OR = {
|
||||
AND = {
|
||||
exists = holder
|
||||
holder != root
|
||||
}
|
||||
any_direct_de_facto_vassal_title = {
|
||||
exists = holder
|
||||
holder != root
|
||||
}
|
||||
}
|
||||
}
|
||||
scripted_trigger hc_7000_low_dev = {
|
||||
development_level <= {
|
||||
value = root.capital_county.development_level
|
||||
subtract = 10
|
||||
}
|
||||
}
|
||||
hold_court.7000 = {
|
||||
type = court_event
|
||||
title = hold_court.7000.t
|
||||
desc = hold_court.7000.desc
|
||||
theme = realm
|
||||
cooldown = { years = 15 }
|
||||
|
||||
court_scene = {
|
||||
button_position_character = scope:local_leader
|
||||
court_event_force_open = yes
|
||||
show_timeout_info = no
|
||||
should_pause_time = yes
|
||||
roles = {
|
||||
scope:local_leader = {
|
||||
group = petitioners_group
|
||||
animation = beg
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
widget = {
|
||||
gui = "event_window_widget_event_chain_progress"
|
||||
container = "custom_widgets_container"
|
||||
controller = event_chain_progress
|
||||
}
|
||||
|
||||
trigger = {
|
||||
any_sub_realm_county = {
|
||||
hc_7000_valid_county = yes
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
# Court weightings.
|
||||
ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_administrative }
|
||||
}
|
||||
|
||||
immediate = {
|
||||
random_sub_realm_county = {
|
||||
limit = {
|
||||
hc_7000_valid_county = yes
|
||||
}
|
||||
save_scope_as = low_dev_county
|
||||
if = {
|
||||
limit = {
|
||||
exists = holder
|
||||
holder != root
|
||||
}
|
||||
holder = { save_scope_as = local_leader }
|
||||
}
|
||||
else = {
|
||||
random_direct_de_facto_vassal_title = {
|
||||
limit = {
|
||||
exists = holder
|
||||
holder != root
|
||||
}
|
||||
holder = { save_scope_as = local_leader }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Divert resources to the low counties
|
||||
option = {
|
||||
name = hold_court.7000.a
|
||||
every_sub_realm_county = {
|
||||
limit = {
|
||||
hc_7000_low_dev = yes
|
||||
}
|
||||
custom = every_county_10_dev_below_capital
|
||||
add_county_modifier = {
|
||||
modifier = hc_7000_dev_boost
|
||||
years = 15
|
||||
}
|
||||
}
|
||||
capital_county = {
|
||||
add_county_modifier = {
|
||||
modifier = hc_7000_dev_reduction
|
||||
years = 15
|
||||
}
|
||||
}
|
||||
remove_treasury_or_gold = medium_treasury_or_gold_value
|
||||
stress_impact = {
|
||||
callous = minor_stress_impact_gain
|
||||
arrogant = minor_stress_impact_gain
|
||||
greedy = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_greed = -1
|
||||
ai_compassion = 1
|
||||
}
|
||||
modifier = {
|
||||
factor = 0
|
||||
short_term_treasury_or_gold <= medium_treasury_or_gold_value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Perhaps they should move to the capital ¯\_(ツ)_/¯
|
||||
option = {
|
||||
name = hold_court.7000.b
|
||||
every_sub_realm_county = {
|
||||
limit = {
|
||||
hc_7000_low_dev = yes
|
||||
}
|
||||
custom = every_county_10_dev_below_capital
|
||||
add_county_modifier = {
|
||||
modifier = hc_7000_dev_reduction
|
||||
years = 15
|
||||
}
|
||||
}
|
||||
capital_county = {
|
||||
add_county_modifier = {
|
||||
modifier = hc_7000_dev_boost
|
||||
years = 15
|
||||
}
|
||||
}
|
||||
remove_treasury_or_gold = minor_treasury_or_gold_value
|
||||
stress_impact = {
|
||||
compassionate = minor_stress_impact_gain
|
||||
humble = minor_stress_impact_gain
|
||||
just = minor_stress_impact_gain
|
||||
greedy = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_greed = -1
|
||||
ai_compassion = -1
|
||||
}
|
||||
modifier = {
|
||||
factor = 0
|
||||
short_term_treasury_or_gold <= minor_treasury_or_gold_value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Man don't care
|
||||
option = {
|
||||
name = hold_court.7000.c
|
||||
stress_impact = {
|
||||
generous = minor_stress_impact_gain
|
||||
just = miniscule_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_greed = 1
|
||||
ai_compassion = -1
|
||||
}
|
||||
}
|
||||
}
|
||||
after = {
|
||||
scope:local_leader = { clear_court_event_participation = yes }
|
||||
# Finish up the chain if relevant.
|
||||
hold_court_queue_post_event_effect = yes
|
||||
}
|
||||
}
|
||||
|
||||
# Two Faiths, One Family
|
||||
# Diff-daith neighbour wants to be besties
|
||||
# 7010
|
||||
scripted_trigger hc_7010_valid_neighbour = {
|
||||
NOT = {
|
||||
has_trait = zealous
|
||||
is_allied_to = root
|
||||
has_relation_rival = root
|
||||
has_trait = holy_warrior
|
||||
}
|
||||
ai_compassion > ai_zeal
|
||||
faith = {
|
||||
faith_hostility_level = {
|
||||
target = root.faith
|
||||
value >= faith_hostile_level
|
||||
}
|
||||
}
|
||||
any_child ?= {
|
||||
save_temporary_scope_as = foreign_princess_temp
|
||||
hc_7010_valid_prince = yes
|
||||
is_courtier_of = prev
|
||||
root = {
|
||||
any_child = {
|
||||
hc_7010_valid_prince = yes
|
||||
is_courtier_of = root
|
||||
allowed_to_marry_character_gender_trigger = { CHARACTER = scope:foreign_princess_temp }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
scripted_trigger hc_7010_valid_prince = {
|
||||
is_married = no
|
||||
is_concubine = no
|
||||
is_betrothed = no
|
||||
is_adult = yes
|
||||
fertility >= medium_fertility
|
||||
can_marry_trigger = yes
|
||||
}
|
||||
hold_court.7010 = {
|
||||
type = court_event
|
||||
title = hold_court.7010.t
|
||||
desc = hold_court.7010.desc
|
||||
theme = realm
|
||||
cooldown = { years = 15 }
|
||||
|
||||
court_scene = {
|
||||
button_position_character = scope:friendly_neighbour
|
||||
court_event_force_open = yes
|
||||
show_timeout_info = no
|
||||
should_pause_time = yes
|
||||
roles = {
|
||||
scope:friendly_neighbour = {
|
||||
group = petitioners_group
|
||||
animation = personality_compassionate
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
lower_left_portrait = scope:potential_prince
|
||||
lower_right_portrait = scope:foreign_princess
|
||||
|
||||
widget = {
|
||||
gui = "event_window_widget_event_chain_progress"
|
||||
container = "custom_widgets_container"
|
||||
controller = event_chain_progress
|
||||
}
|
||||
|
||||
trigger = {
|
||||
top_liege = this
|
||||
any_neighboring_and_across_water_top_liege_realm_owner = {
|
||||
faith = {
|
||||
faith_hostility_level = {
|
||||
target = root.faith
|
||||
value >= faith_hostile_level
|
||||
}
|
||||
}
|
||||
count >= 2
|
||||
}
|
||||
any_neighboring_and_across_water_top_liege_realm_owner = {
|
||||
hc_7010_valid_neighbour = yes
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
# Court weightings.
|
||||
ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_administrative }
|
||||
}
|
||||
|
||||
immediate = {
|
||||
random_neighboring_and_across_water_top_liege_realm_owner = {
|
||||
limit = {
|
||||
hc_7010_valid_neighbour = yes
|
||||
}
|
||||
save_scope_as = friendly_neighbour
|
||||
random_child = {
|
||||
limit = {
|
||||
save_temporary_scope_as = foreign_princess_temp
|
||||
hc_7010_valid_prince = yes
|
||||
is_courtier_of = prev
|
||||
root = {
|
||||
any_child = {
|
||||
hc_7010_valid_prince = yes
|
||||
is_courtier_of = root
|
||||
allowed_to_marry_character_gender_trigger = { CHARACTER = scope:foreign_princess_temp }
|
||||
}
|
||||
}
|
||||
}
|
||||
save_scope_as = foreign_princess
|
||||
root = {
|
||||
random_child = {
|
||||
limit = {
|
||||
hc_7010_valid_prince = yes
|
||||
is_courtier_of = root
|
||||
allowed_to_marry_character_gender_trigger = { CHARACTER = scope:foreign_princess }
|
||||
}
|
||||
save_scope_as = potential_prince
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# The two shall be wed at once!
|
||||
option = {
|
||||
name = {
|
||||
text = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
OR = {
|
||||
religion = religion:judaism_religion
|
||||
scope:neighboring_ruler = { religion = religion:judaism_religion }
|
||||
}
|
||||
}
|
||||
desc = hold_court.7010.a.jewish # To life, to life, l'chaim. L'chaim, l'chaim, to life. ♪♪
|
||||
}
|
||||
desc = hold_court.7010.a
|
||||
}
|
||||
}
|
||||
}
|
||||
set_relation_friend = {
|
||||
target = scope:friendly_neighbour
|
||||
reason = friend_beyond_faith
|
||||
}
|
||||
marry_spouse_1_dominant = {
|
||||
SPOUSE_1 = scope:potential_prince
|
||||
SPOUSE_2 = scope:foreign_princess
|
||||
}
|
||||
add_truce_both_ways = {
|
||||
character = scope:friendly_neighbour
|
||||
years = 10
|
||||
name = truce_religious_tolerance
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = hc_7010_tolerance
|
||||
years = 10
|
||||
}
|
||||
stress_impact = {
|
||||
callous = minor_stress_impact_gain
|
||||
arrogant = minor_stress_impact_gain
|
||||
sadistic = minor_stress_impact_gain
|
||||
brave = minor_stress_impact_gain
|
||||
zealous = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_compassion = 1
|
||||
ai_vengefulness = -1
|
||||
ai_zeal = -10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# See how this lunatic speaks of heresy! They must be destroyed!
|
||||
option = {
|
||||
name = hold_court.7010.b
|
||||
if = {
|
||||
limit = {
|
||||
NOT = {
|
||||
has_trait = holy_warrior
|
||||
}
|
||||
}
|
||||
add_trait = holy_warrior
|
||||
}
|
||||
else = {
|
||||
add_character_modifier = {
|
||||
modifier = hc_7010_holy_war
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
progress_towards_rival_effect = {
|
||||
REASON = rival_planning_holy_war
|
||||
CHARACTER = scope:friendly_neighbour
|
||||
OPINION = default_rival_opinion
|
||||
}
|
||||
stress_impact = {
|
||||
compassionate = medium_stress_impact_gain
|
||||
cynical = minor_stress_impact_gain
|
||||
just = minor_stress_impact_gain
|
||||
arbitrary = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_compassion = -1
|
||||
ai_vengefulness = 1
|
||||
ai_zeal = 2.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# I don't wanna do this
|
||||
option = {
|
||||
name = hold_court.7010.c
|
||||
reverse_add_opinion = {
|
||||
modifier = disappointed_opinion
|
||||
opinion = -10
|
||||
target = scope:friendly_neighbour
|
||||
}
|
||||
stress_impact = {
|
||||
compassionate = minor_stress_impact_gain
|
||||
diligent = minor_stress_impact_gain
|
||||
just = minor_stress_impact_gain
|
||||
zealous = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
after = {
|
||||
scope:friendly_neighbour = { clear_court_event_participation = yes }
|
||||
# Finish up the chain if relevant.
|
||||
hold_court_queue_post_event_effect = yes
|
||||
}
|
||||
}
|
||||
|
||||
# The Shield of Faith
|
||||
# Same-faith ruler offers to sponsor a reformation
|
||||
# 7020
|
||||
scripted_trigger hc_7020_valid_same_faith_friend = {
|
||||
top_liege = this
|
||||
this != root
|
||||
NOT = {
|
||||
has_relation_rival = root # I would never work with you!
|
||||
has_trait = zealous # I would never change the old ways!
|
||||
}
|
||||
any_sub_realm_barony = {
|
||||
is_holy_site_of = root.faith
|
||||
holder.faith ?= root.faith
|
||||
}
|
||||
}
|
||||
scripted_trigger hc_7020_valid_threat = {
|
||||
# You see them as a threat to your religion
|
||||
NOT = { faith = { has_doctrine_parameter = unreformed } }
|
||||
religion != root.religion
|
||||
faith = {
|
||||
faith_hostility_level = {
|
||||
target = root.faith
|
||||
value >= faith_hostile_level
|
||||
}
|
||||
}
|
||||
# They are encroaching on your religion in some way
|
||||
OR = {
|
||||
# They control a large amount of your faith's lands
|
||||
any_sub_realm_county = {
|
||||
count >= 4
|
||||
faith = root.faith
|
||||
# Religiously protected people within their realm should not count towards this
|
||||
holder.faith != root.faith
|
||||
}
|
||||
# They recently attacked you
|
||||
any_memory = {
|
||||
memory_type = war_won
|
||||
memory_participant:loser ?= root
|
||||
}
|
||||
# They control one of your holy sites
|
||||
any_sub_realm_barony = {
|
||||
is_holy_site_of = root.faith
|
||||
# The holy site is not held by a vassal of your faith
|
||||
holder.faith != root.faith
|
||||
}
|
||||
}
|
||||
}
|
||||
hold_court.7020 = {
|
||||
type = court_event
|
||||
title = hold_court.7020.t
|
||||
desc = {
|
||||
desc = hold_court.7020.desc.intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:threatening_ruler = {
|
||||
any_sub_realm_county = {
|
||||
count >= 4
|
||||
faith = root.faith
|
||||
holder.faith != root.faith
|
||||
}
|
||||
}
|
||||
}
|
||||
desc = hold_court.7020.desc.mid.oppression
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:threatening_ruler = {
|
||||
any_memory = {
|
||||
memory_type = war_won
|
||||
memory_participant:loser ?= root
|
||||
}
|
||||
}
|
||||
}
|
||||
desc = hold_court.7020.desc.mid.recent_war
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:threatening_ruler = {
|
||||
any_sub_realm_barony = {
|
||||
is_holy_site_of = root.faith
|
||||
holder.faith != root.faith
|
||||
}
|
||||
}
|
||||
}
|
||||
desc = hold_court.7020.desc.mid.holy_site
|
||||
}
|
||||
}
|
||||
desc = hold_court.7020.desc.outro
|
||||
}
|
||||
theme = realm
|
||||
cooldown = { years = 15 }
|
||||
|
||||
court_scene = {
|
||||
button_position_character = scope:same_faith_friend
|
||||
court_event_force_open = yes
|
||||
show_timeout_info = no
|
||||
should_pause_time = yes
|
||||
roles = {
|
||||
scope:same_faith_friend = {
|
||||
group = petitioners_group
|
||||
animation = personality_compassionate
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
widget = {
|
||||
gui = "event_window_widget_event_chain_progress"
|
||||
container = "custom_widgets_container"
|
||||
controller = event_chain_progress
|
||||
}
|
||||
|
||||
trigger = {
|
||||
is_ai = no # AI reformation should always follow the rules
|
||||
piety_level >= medium_piety_level
|
||||
faith = { has_doctrine_parameter = unreformed }
|
||||
any_sub_realm_barony = {
|
||||
is_holy_site_of = root.faith
|
||||
holder.faith ?= root.faith
|
||||
}
|
||||
faith = {
|
||||
holy_sites_controlled >= 3
|
||||
any_faith_character = {
|
||||
hc_7020_valid_same_faith_friend = yes
|
||||
}
|
||||
}
|
||||
any_neighboring_and_across_water_top_liege_realm_owner = {
|
||||
hc_7020_valid_threat = yes
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
# Court weightings.
|
||||
ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_administrative }
|
||||
}
|
||||
|
||||
immediate = {
|
||||
random_sub_realm_barony = {
|
||||
limit = {
|
||||
is_holy_site_of = root.faith
|
||||
holder.faith ?= root.faith
|
||||
}
|
||||
save_scope_as = holy_site
|
||||
}
|
||||
faith = {
|
||||
random_faith_character = {
|
||||
limit = { hc_7020_valid_same_faith_friend = yes }
|
||||
save_scope_as = same_faith_friend
|
||||
}
|
||||
}
|
||||
random_neighboring_and_across_water_top_liege_realm_owner = {
|
||||
limit = { hc_7020_valid_threat = yes }
|
||||
save_scope_as = threatening_ruler
|
||||
}
|
||||
}
|
||||
|
||||
# The reformation is neccessary
|
||||
option = {
|
||||
name = hold_court.7020.a
|
||||
remove_treasury_or_gold = major_treasury_or_gold_value
|
||||
progress_towards_friend_effect = {
|
||||
REASON = friend_united_by_faith
|
||||
CHARACTER = scope:same_faith_friend
|
||||
OPINION = default_friend_opinion
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = ignore_3_site_rule_tt
|
||||
add_character_flag = ignore_3_holy_site_rule
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = friend_will_convert_tt
|
||||
scope:same_faith_friend = {
|
||||
add_character_flag = forced_conversion_on_reform
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
zealous = minor_stress_impact_gain
|
||||
arrogant = minor_stress_impact_gain
|
||||
shy = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_boldness = 1
|
||||
ai_vengefulness = 1
|
||||
ai_rationality = 1
|
||||
ai_zeal = -2
|
||||
}
|
||||
modifier = {
|
||||
factor = 0
|
||||
short_term_treasury_or_gold < major_treasury_or_gold_value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Stay strong, brother. We must not sacrifice our ways
|
||||
option = {
|
||||
name = hold_court.7020.b
|
||||
add_piety = medium_piety_gain
|
||||
add_character_modifier = {
|
||||
modifier = hc_7020_guardian_of_the_old_ways
|
||||
years = 15
|
||||
}
|
||||
scope:same_faith_friend = {
|
||||
add_character_modifier = {
|
||||
modifier = hc_7020_guardian_of_the_old_ways
|
||||
years = 15
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
cynical = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_boldness = -1
|
||||
ai_vengefulness = 1
|
||||
ai_zeal = 2.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# We must join together in faith
|
||||
option = {
|
||||
name = hold_court.7020.c
|
||||
trigger = {
|
||||
NOT = { is_allied_to = scope:same_faith_friend }
|
||||
}
|
||||
create_alliance = {
|
||||
target = scope:same_faith_friend
|
||||
allied_through_owner = root
|
||||
allied_through_target = scope:same_faith_friend
|
||||
}
|
||||
stress_impact = {
|
||||
shy = minor_stress_impact_gain
|
||||
callous = minor_stress_impact_gain
|
||||
sadistic = minor_stress_impact_gain
|
||||
arrogant = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_compassion = 1
|
||||
ai_sociability = 1
|
||||
ai_boldness = -1
|
||||
ai_vengefulness = 1
|
||||
ai_zeal = 2.5
|
||||
}
|
||||
}
|
||||
}
|
||||
after = {
|
||||
scope:same_faith_friend = { clear_court_event_participation = yes }
|
||||
# Finish up the chain if relevant.
|
||||
hold_court_queue_post_event_effect = yes
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,802 +0,0 @@
|
|||
namespace = tour_grounds_events
|
||||
|
||||
############################
|
||||
## Tour Mini-Activity: Tour Grounds
|
||||
############################
|
||||
## Vassal Events
|
||||
## 7000-7999
|
||||
## by Claudia Baldassi
|
||||
############################
|
||||
# tour_grounds_events.7000 - Liege: Vassal accidentally tours you past a room/building they didn't want you to see: it has all the nice things
|
||||
# tour_grounds_events.7001 - Vassal: Try to keep your liege from your secret stash room
|
||||
|
||||
#####################################################################################
|
||||
|
||||
######################
|
||||
## Vassal Events
|
||||
## 7000-7999
|
||||
## by Claudia Baldassi
|
||||
######################
|
||||
|
||||
# Liege: Vassal accidentally tours you past a room/building they didn't want you to see: it has all the nice things they didn't want you to try and tax whilst you're here (e.g., their best horses)
|
||||
|
||||
scripted_trigger tour_grounds_has_artifacts_trigger = {
|
||||
any_character_artifact = {
|
||||
is_equipped = no
|
||||
exists = var:quality
|
||||
var:quality >= 40
|
||||
count >= 2
|
||||
}
|
||||
}
|
||||
|
||||
scripted_trigger tour_grounds_has_food_trigger = {
|
||||
has_trait = gluttonous
|
||||
is_vegetarian_trigger = no
|
||||
}
|
||||
|
||||
scripted_trigger tour_grounds_has_wine_trigger = {
|
||||
OR = {
|
||||
has_trait = drunkard
|
||||
has_trait = lifestyle_reveler
|
||||
}
|
||||
drinks_alcohol_trigger = yes
|
||||
}
|
||||
|
||||
scripted_trigger tour_grounds_has_falcons_trigger = {
|
||||
OR = {
|
||||
AND = {
|
||||
has_trait = lifestyle_hunter
|
||||
has_trait_xp = {
|
||||
trait = lifestyle_hunter
|
||||
track = falconer
|
||||
value >= trait_second_level
|
||||
}
|
||||
}
|
||||
has_character_modifier = peregrine_falcon
|
||||
}
|
||||
}
|
||||
|
||||
scripted_trigger tour_grounds_has_dogs_trigger = {
|
||||
OR = {
|
||||
has_trait = lifestyle_hunter
|
||||
house ?= { has_house_modifier = hold_court_8140_house_modifier }
|
||||
}
|
||||
}
|
||||
|
||||
scripted_trigger tour_grounds_has_horses_trigger = {
|
||||
OR = {
|
||||
AND = {
|
||||
has_trait = tourney_participant
|
||||
has_trait_xp = {
|
||||
trait = tourney_participant
|
||||
track = horse
|
||||
value >= trait_second_level
|
||||
}
|
||||
}
|
||||
any_owned_story = {
|
||||
type = story_cycle_martial_lifestyle_warhorse
|
||||
}
|
||||
has_character_modifier = warfare_tamer_of_horses_modifier
|
||||
has_character_modifier = horse_story_modifier
|
||||
}
|
||||
}
|
||||
|
||||
scripted_trigger tour_grounds_has_gold_trigger = {
|
||||
OR = {
|
||||
has_trait = greedy
|
||||
gold >= 300
|
||||
}
|
||||
}
|
||||
|
||||
scripted_effect tour_grounds_tax_everything_effect = {
|
||||
pay_short_term_gold = {
|
||||
target = root
|
||||
gold = medium_gold_value
|
||||
}
|
||||
if = {
|
||||
limit = { vassal_contract_obligation_level_can_be_increased = feudal_government_taxes }
|
||||
vassal_contract_increase_obligation_level = feudal_government_taxes
|
||||
}
|
||||
else = {
|
||||
every_sub_realm_county = {
|
||||
add_county_modifier = {
|
||||
modifier = tour_liege_extra_taxation_county_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = annoyed_opinion
|
||||
opinion = -20
|
||||
}
|
||||
}
|
||||
|
||||
tour_grounds_events.7000 = {
|
||||
type = activity_event
|
||||
title = tour_grounds_events.7000.t
|
||||
desc = {
|
||||
desc = tour_grounds_events.7000.desc
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:stop_host_scope = {
|
||||
tour_grounds_has_artifacts_trigger = yes
|
||||
}
|
||||
}
|
||||
desc = tour_grounds_events.7000.desc_artifacts
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:stop_host_scope = {
|
||||
tour_grounds_has_food_trigger = yes
|
||||
}
|
||||
}
|
||||
desc = tour_grounds_events.7000.desc_pantry
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:stop_host_scope = {
|
||||
tour_grounds_has_wine_trigger = yes
|
||||
}
|
||||
}
|
||||
desc = tour_grounds_events.7000.desc_cellar
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:stop_host_scope = {
|
||||
tour_grounds_has_falcons_trigger = yes
|
||||
}
|
||||
}
|
||||
desc = tour_grounds_events.7000.desc_falcons
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:stop_host_scope = {
|
||||
tour_grounds_has_dogs_trigger = yes
|
||||
}
|
||||
}
|
||||
desc = tour_grounds_events.7000.desc_dogs
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:stop_host_scope = {
|
||||
tour_grounds_has_horses_trigger = yes
|
||||
}
|
||||
}
|
||||
desc = tour_grounds_events.7000.desc_horses
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:stop_host_scope = {
|
||||
tour_grounds_has_gold_trigger = yes
|
||||
}
|
||||
}
|
||||
desc = tour_grounds_events.7000.desc_gold
|
||||
}
|
||||
desc = tour_grounds_events.7000.desc_fallback
|
||||
}
|
||||
}
|
||||
theme = tour_grounds
|
||||
cooldown = { years = 1 }
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = shock
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:stop_host_scope
|
||||
animation = shame
|
||||
}
|
||||
override_background = { reference = corridor_day }
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
scope:stop_host_scope = {
|
||||
tour_grounds_has_artifacts_trigger = yes
|
||||
}
|
||||
}
|
||||
scope:stop_host_scope = {
|
||||
random_character_artifact = {
|
||||
limit = {
|
||||
is_equipped = no
|
||||
exists = var:quality
|
||||
var:quality >= 40
|
||||
}
|
||||
save_scope_as = this_artifact
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Option A: tax EVERYTHING
|
||||
option = {
|
||||
name = tour_grounds_events.7000.a
|
||||
scope:stop_host_scope = {
|
||||
send_interface_toast = {
|
||||
title = tour_grounds_events.7000.a.tt
|
||||
left_icon = root
|
||||
tour_grounds_tax_everything_effect = yes
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:activity = {
|
||||
has_activity_option = {
|
||||
category = special_type
|
||||
option = tour_type_taxation
|
||||
}
|
||||
}
|
||||
}
|
||||
increase_tour_success_effect = { POINTS = 1 }
|
||||
}
|
||||
stress_impact = {
|
||||
generous = medium_stress_impact_gain
|
||||
compassionate = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_greed = 1
|
||||
}
|
||||
modifier = {
|
||||
has_trait = compassionate
|
||||
add = -50
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Option B: commandeer all
|
||||
option = {
|
||||
name = tour_grounds_events.7000.b
|
||||
trigger = {
|
||||
OR = {
|
||||
has_trait = greedy
|
||||
scope:activity = {
|
||||
has_activity_option = {
|
||||
category = special_type
|
||||
option = tour_type_taxation
|
||||
}
|
||||
}
|
||||
scope:activity = {
|
||||
has_activity_option = {
|
||||
category = special_type
|
||||
option = tour_type_intimidation
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:stop_host_scope = {
|
||||
send_interface_toast = {
|
||||
title = tour_grounds_events.7000.b.tt
|
||||
left_icon = root
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:this_artifact
|
||||
}
|
||||
pay_short_term_gold = {
|
||||
target = root
|
||||
gold = major_gold_value
|
||||
}
|
||||
scope:this_artifact = {
|
||||
set_owner = root
|
||||
}
|
||||
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
OR = {
|
||||
tour_grounds_has_food_trigger = yes
|
||||
tour_grounds_has_wine_trigger = yes
|
||||
tour_grounds_has_falcons_trigger = yes
|
||||
tour_grounds_has_dogs_trigger = yes
|
||||
house ?= { has_house_modifier = hold_court_8140_house_modifier }
|
||||
tour_grounds_has_horses_trigger = yes
|
||||
}
|
||||
}
|
||||
pay_short_term_gold = {
|
||||
target = root
|
||||
gold = major_gold_value
|
||||
}
|
||||
custom_tooltip = tour_grounds_events.7000.b.tt.2
|
||||
}
|
||||
else = {
|
||||
scope:stop_host_scope = {
|
||||
pay_short_term_gold = {
|
||||
target = root
|
||||
gold = massive_gold_value
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:stop_host_scope = {
|
||||
OR = {
|
||||
tour_grounds_has_food_trigger = yes
|
||||
tour_grounds_has_wine_trigger = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = tours_grounds_luxury_dining_modifier
|
||||
years = 15
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
scope:stop_host_scope = {
|
||||
OR = {
|
||||
tour_grounds_has_falcons_trigger = yes
|
||||
tour_grounds_has_dogs_trigger = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = tours_grounds_hunting_companions_modifier
|
||||
years = 15
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:stop_host_scope = {
|
||||
has_character_modifier = peregrine_falcon
|
||||
}
|
||||
}
|
||||
add_character_modifier = peregrine_falcon
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
scope:stop_host_scope = {
|
||||
house ?= { has_house_modifier = hold_court_8140_house_modifier }
|
||||
}
|
||||
}
|
||||
house = { add_house_modifier = { modifier = hold_court_8140_house_modifier years = 30 } }
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
scope:stop_host_scope = {
|
||||
tour_grounds_has_horses_trigger = yes
|
||||
}
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = tours_grounds_excellent_horses_modifier
|
||||
years = 15
|
||||
}
|
||||
}
|
||||
scope:stop_host_scope = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = insult_opinion
|
||||
opinion = -40
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:activity = {
|
||||
has_activity_option = {
|
||||
category = special_type
|
||||
option = tour_type_intimidation
|
||||
}
|
||||
}
|
||||
}
|
||||
increase_tour_success_effect = { POINTS = 1 }
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
scope:activity = {
|
||||
has_activity_option = {
|
||||
category = special_type
|
||||
option = tour_type_taxation
|
||||
}
|
||||
}
|
||||
}
|
||||
increase_tour_success_effect = { POINTS = 2 }
|
||||
}
|
||||
stress_impact = {
|
||||
generous = major_stress_impact_gain
|
||||
compassionate = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_greed = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = compassionate
|
||||
add = -75
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Option C: common interest
|
||||
option = {
|
||||
name = tour_grounds_events.7000.c
|
||||
trigger = {
|
||||
trigger_if = {
|
||||
limit = {
|
||||
scope:stop_host_scope = {
|
||||
tour_grounds_has_food_trigger = yes
|
||||
}
|
||||
}
|
||||
tour_grounds_has_food_trigger = yes
|
||||
}
|
||||
trigger_else_if = {
|
||||
limit = {
|
||||
scope:stop_host_scope = {
|
||||
tour_grounds_has_wine_trigger = yes
|
||||
}
|
||||
}
|
||||
tour_grounds_has_food_trigger = yes
|
||||
}
|
||||
trigger_else_if = {
|
||||
limit = {
|
||||
scope:stop_host_scope = {
|
||||
tour_grounds_has_falcons_trigger = yes
|
||||
}
|
||||
}
|
||||
tour_grounds_has_falcons_trigger = yes
|
||||
}
|
||||
trigger_else_if = {
|
||||
limit = {
|
||||
scope:stop_host_scope = {
|
||||
tour_grounds_has_dogs_trigger = yes
|
||||
}
|
||||
}
|
||||
OR = {
|
||||
tour_grounds_has_dogs_trigger = yes
|
||||
any_owned_story = { type = story_cycle_pet_dog }
|
||||
}
|
||||
}
|
||||
trigger_else_if = {
|
||||
limit = {
|
||||
scope:stop_host_scope = {
|
||||
tour_grounds_has_horses_trigger = yes
|
||||
}
|
||||
}
|
||||
tour_grounds_has_horses_trigger = yes
|
||||
}
|
||||
trigger_else_if = {
|
||||
limit = {
|
||||
scope:stop_host_scope = {
|
||||
tour_grounds_has_gold_trigger = yes
|
||||
}
|
||||
}
|
||||
has_trait = greedy
|
||||
}
|
||||
trigger_else = {
|
||||
always = no
|
||||
}
|
||||
}
|
||||
scope:stop_host_scope = {
|
||||
send_interface_toast = {
|
||||
title = tour_grounds_events.7000.c.tt
|
||||
left_icon = root
|
||||
custom_tooltip = tour_grounds_events.7000.c.tt.2
|
||||
add_character_modifier = {
|
||||
modifier = tours_grounds_sharing_tips_with_friend_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
can_set_relation_friend_trigger = { CHARACTER = scope:stop_host_scope }
|
||||
}
|
||||
set_relation_friend = { reason = friend_common_interests target = scope:stop_host_scope }
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = tours_grounds_sharing_tips_with_friend_modifier
|
||||
years = 15
|
||||
}
|
||||
stress_impact = {
|
||||
greedy = medium_stress_impact_gain
|
||||
shy = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = greedy
|
||||
add = -75
|
||||
}
|
||||
modifier = {
|
||||
has_trait = shy
|
||||
add = -50
|
||||
}
|
||||
modifier = {
|
||||
has_trait = gregarious
|
||||
add = 100
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Option D: you saw nothing
|
||||
option = {
|
||||
name = tour_grounds_events.7000.d
|
||||
reverse_add_opinion = {
|
||||
target = scope:stop_host_scope
|
||||
modifier = grateful_opinion
|
||||
opinion = 30
|
||||
}
|
||||
scope:stop_host_scope = {
|
||||
send_interface_toast = {
|
||||
title = tour_grounds_events.7000.d.tt
|
||||
left_icon = root
|
||||
if = {
|
||||
limit = {
|
||||
root = {
|
||||
can_add_hook = {
|
||||
target = scope:stop_host_scope
|
||||
type = favor_hook
|
||||
}
|
||||
}
|
||||
}
|
||||
root = {
|
||||
add_hook = {
|
||||
target = scope:stop_host_scope
|
||||
type = favor_hook
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
greedy = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = greedy
|
||||
add = -100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Vassal: Try to keep your liege from your secret stash room
|
||||
|
||||
tour_grounds_events.7001 = {
|
||||
type = activity_event
|
||||
title = tour_grounds_events.7000.t
|
||||
desc = {
|
||||
desc = tour_grounds_events.7001.desc
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
tour_grounds_has_artifacts_trigger = yes
|
||||
}
|
||||
desc = tour_grounds_events.7001.desc_artifacts
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
tour_grounds_has_food_trigger = yes
|
||||
}
|
||||
desc = tour_grounds_events.7001.desc_pantry
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
tour_grounds_has_wine_trigger = yes
|
||||
}
|
||||
desc = tour_grounds_events.7001.desc_cellar
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
tour_grounds_has_falcons_trigger = yes
|
||||
}
|
||||
desc = tour_grounds_events.7001.desc_falcons
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
tour_grounds_has_dogs_trigger = yes
|
||||
}
|
||||
desc = tour_grounds_events.7001.desc_dogs
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
tour_grounds_has_horses_trigger = yes
|
||||
}
|
||||
desc = tour_grounds_events.7001.desc_horses
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
tour_grounds_has_gold_trigger = yes
|
||||
}
|
||||
desc = tour_grounds_events.7001.desc_gold
|
||||
}
|
||||
desc = tour_grounds_events.7001.desc_fallback
|
||||
}
|
||||
desc = tour_grounds_events.7001.desc_conclusion
|
||||
}
|
||||
theme = tour_grounds
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = shame
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:visiting_liege
|
||||
animation = shock
|
||||
}
|
||||
override_background = { reference = corridor_day }
|
||||
|
||||
trigger = {
|
||||
NOT = { has_character_flag = was_extorted_by_visiting_liege }
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
modifier = {
|
||||
OR = {
|
||||
tour_grounds_has_artifacts_trigger = yes
|
||||
tour_grounds_has_food_trigger = yes
|
||||
tour_grounds_has_wine_trigger = yes
|
||||
}
|
||||
add = 1
|
||||
}
|
||||
modifier = {
|
||||
OR = {
|
||||
tour_grounds_has_falcons_trigger = yes
|
||||
tour_grounds_has_dogs_trigger = yes
|
||||
tour_grounds_has_horses_trigger = yes
|
||||
}
|
||||
add = 2
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
add_character_flag = {
|
||||
flag = was_extorted_by_visiting_liege
|
||||
days = 30 #Only once per visit
|
||||
}
|
||||
}
|
||||
|
||||
#Option A: try to distract
|
||||
option = {
|
||||
name = tour_grounds_events.7001.a
|
||||
duel = {
|
||||
skills = { diplomacy intrigue }
|
||||
target = scope:visiting_liege
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
desc = tour_grounds_events.7001.a.success
|
||||
send_interface_toast = {
|
||||
title = tour_grounds_events.7001.a.success.tt
|
||||
left_icon = scope:visiting_liege
|
||||
add_character_modifier = {
|
||||
modifier = tour_grounds_hidden_assets_modifier
|
||||
years = 15
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
desc = tour_grounds_events.7001.a.failure
|
||||
custom_tooltip = tour_grounds_events.7001_followup
|
||||
scope:visiting_liege = { trigger_event = tour_grounds_events.7000 }
|
||||
send_interface_toast = {
|
||||
title = tour_grounds_events.7001.a.failure.tt
|
||||
left_icon = scope:visiting_liege
|
||||
}
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = deceitful
|
||||
add = 100
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Option B: Bribe
|
||||
option = {
|
||||
name = tour_grounds_events.7001.b
|
||||
duel = {
|
||||
skills = { stewardship intrigue }
|
||||
target = scope:visiting_liege
|
||||
60 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
modifier = {
|
||||
scope:visiting_liege = { has_trait = greedy }
|
||||
add = 20
|
||||
}
|
||||
desc = tour_grounds_events.7001.b.success
|
||||
send_interface_toast = {
|
||||
title = tour_grounds_events.7001.b.success.tt
|
||||
left_icon = scope:visiting_liege
|
||||
add_character_modifier = {
|
||||
modifier = tour_grounds_hidden_assets_modifier
|
||||
years = 15
|
||||
}
|
||||
pay_short_term_gold = {
|
||||
target = scope:visiting_liege
|
||||
gold = major_gold_value
|
||||
}
|
||||
}
|
||||
scope:visiting_liege = {
|
||||
if = {
|
||||
limit = {
|
||||
is_ai = no
|
||||
}
|
||||
send_interface_toast = {
|
||||
title = tour_grounds_events.7001.b.tt
|
||||
custom_tooltip = tour_grounds_events.7001.b.tt.2
|
||||
show_as_tooltip = {
|
||||
root = {
|
||||
pay_short_term_gold = {
|
||||
target = scope:visiting_liege
|
||||
gold = major_gold_value
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = grateful_opinion
|
||||
opinion = 30
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
40 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
desc = tour_grounds_events.7001.a.failure
|
||||
scope:visiting_liege = { trigger_event = tour_grounds_events.7000 }
|
||||
custom_tooltip = tour_grounds_events.7001_followup
|
||||
send_interface_toast = {
|
||||
title = tour_grounds_events.7001.a.failure.tt
|
||||
left_icon = scope:visiting_liege
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
#Option C: I was JUST about to take you there!
|
||||
option = {
|
||||
name = tour_grounds_events.7001.c
|
||||
scope:visiting_liege = { trigger_event = tour_grounds_events.7000 }
|
||||
custom_tooltip = tour_grounds_events.7001_followup
|
||||
if = {
|
||||
limit = {
|
||||
scope:visiting_liege = { is_ai = yes }
|
||||
can_add_hook = {
|
||||
target = scope:visiting_liege
|
||||
type = favor_hook
|
||||
}
|
||||
}
|
||||
add_hook = {
|
||||
target = scope:visiting_liege
|
||||
type = favor_hook
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = honest
|
||||
add = 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,503 +0,0 @@
|
|||
namespace = tour_general
|
||||
############################
|
||||
## Journal Events
|
||||
## 5000-5999
|
||||
## by James Beaumont
|
||||
############################
|
||||
# tour_general.5000 - Failing to solve the puzzle
|
||||
# tour_general.5010 - Solving the journal
|
||||
# tour_general.5020 - The journal is stolen
|
||||
|
||||
#####################################################################################
|
||||
|
||||
############################
|
||||
## Journal Events
|
||||
## 5000-5999
|
||||
## by James Beaumont
|
||||
############################
|
||||
|
||||
# Failing to get the journal open
|
||||
tour_general.5000 = {
|
||||
type = character_event
|
||||
title = tour_general.5000.title
|
||||
desc = tour_general.5000.desc
|
||||
|
||||
theme = learning
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_rational
|
||||
}
|
||||
artifact = {
|
||||
target = scope:mysterious_journal
|
||||
position = lower_right_portrait
|
||||
}
|
||||
option = { # Drat!
|
||||
name = tour_general.5000.a
|
||||
stress_impact = {
|
||||
base = major_stress_impact_gain
|
||||
patient = minor_stress_impact_loss
|
||||
arrogant = minor_stress_impact_gain
|
||||
stubborn = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 50
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Try again!
|
||||
name = tour_general.5000.b
|
||||
duel = {
|
||||
skill = learning
|
||||
value = high_skill_rating
|
||||
50 = { # You solve the puzzle!
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 0.5
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = open_the_journal_tt
|
||||
trigger_event = tour_general.5010
|
||||
}
|
||||
}
|
||||
50 = { # You fail
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -0.5
|
||||
}
|
||||
show_as_tooltip = {
|
||||
add_stress = major_stress_gain
|
||||
}
|
||||
hidden_effect = {
|
||||
trigger_event = tour_general.5001
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
base = major_stress_impact_gain
|
||||
patient = minor_stress_impact_loss
|
||||
arrogant = minor_stress_impact_loss
|
||||
stubborn = minor_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Failing to get the journal open, again!
|
||||
tour_general.5001 = {
|
||||
type = character_event
|
||||
title = tour_general.5001.title
|
||||
desc = tour_general.5001.desc
|
||||
|
||||
theme = learning
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_rational
|
||||
}
|
||||
artifact = {
|
||||
target = scope:mysterious_journal
|
||||
position = lower_right_portrait
|
||||
}
|
||||
option = { # Drat!
|
||||
name = tour_general.5001.a
|
||||
stress_impact = {
|
||||
base = major_stress_impact_gain
|
||||
patient = minor_stress_impact_loss
|
||||
arrogant = minor_stress_impact_gain
|
||||
stubborn = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 50
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Bust open the damn lock!
|
||||
name = tour_general.5001.b
|
||||
duel = {
|
||||
skill = prowess
|
||||
value = high_skill_rating
|
||||
50 = { # You break it
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
}
|
||||
desc = the_journal_is_destroyed_tt
|
||||
send_interface_toast = {
|
||||
title = the_journal_is_destroyed_tt
|
||||
left_icon = root
|
||||
random_owned_story = {
|
||||
type = story_cycle_mysterious_journal
|
||||
end_story = yes
|
||||
}
|
||||
destroy_artifact = scope:mysterious_journal
|
||||
}
|
||||
}
|
||||
50 = { # You crack it open
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 0
|
||||
}
|
||||
desc = open_the_journal_tt
|
||||
custom_tooltip = {
|
||||
text = more_mysteries_inside_tt
|
||||
trigger_event = tour_general.5010
|
||||
}
|
||||
}
|
||||
50 = { # You are too weak
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
}
|
||||
desc = fail_to_open_journal_tt
|
||||
hidden_effect = {
|
||||
send_interface_toast = {
|
||||
title = fail_to_open_journal_tt
|
||||
left_icon = root
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_gain
|
||||
patient = medium_stress_impact_gain
|
||||
arrogant = medium_stress_impact_loss
|
||||
stubborn = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# You got the journal open, now to decipher it...
|
||||
scripted_trigger journal_answer_is_1 = {
|
||||
scope:mysterious_journal = {
|
||||
var:answer_variable = 1
|
||||
}
|
||||
}
|
||||
scripted_trigger journal_answer_is_2 = {
|
||||
scope:mysterious_journal = {
|
||||
var:answer_variable = 2
|
||||
}
|
||||
}
|
||||
scripted_trigger journal_answer_is_3 = {
|
||||
scope:mysterious_journal = {
|
||||
var:answer_variable = 3
|
||||
}
|
||||
}
|
||||
scripted_trigger journal_answer_is_4 = {
|
||||
scope:mysterious_journal = {
|
||||
var:answer_variable = 4
|
||||
}
|
||||
}
|
||||
|
||||
tour_general.5010 = {
|
||||
type = character_event
|
||||
title = tour_general.5010.title
|
||||
desc = {
|
||||
desc = tour_general.5010.desc.intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { journal_answer_is_1 = yes }
|
||||
desc = tour_general.5010.desc.puzzle.a
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { journal_answer_is_2 = yes }
|
||||
desc = tour_general.5010.desc.puzzle.b
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { journal_answer_is_3 = yes }
|
||||
desc = tour_general.5010.desc.puzzle.c
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { journal_answer_is_4 = yes }
|
||||
desc = tour_general.5010.desc.puzzle.d
|
||||
}
|
||||
}
|
||||
desc = tour_general.5010.desc.outro
|
||||
}
|
||||
|
||||
theme = learning
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = happiness
|
||||
}
|
||||
artifact = {
|
||||
target = scope:mysterious_journal
|
||||
position = lower_right_portrait
|
||||
}
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
scope:mysterious_journal = {
|
||||
NOT = { exists = var:answer_variable }
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
scope:mysterious_journal = {
|
||||
random_list = {
|
||||
25 = {
|
||||
set_variable = {
|
||||
name = answer_variable
|
||||
value = 1
|
||||
}
|
||||
}
|
||||
25 = {
|
||||
set_variable = {
|
||||
name = answer_variable
|
||||
value = 2
|
||||
}
|
||||
}
|
||||
25 = {
|
||||
#You need to have a title/realm for this to be a relevant reward
|
||||
trigger = { is_landed = yes }
|
||||
set_variable = {
|
||||
name = answer_variable
|
||||
value = 3
|
||||
}
|
||||
}
|
||||
25 = {
|
||||
set_variable = {
|
||||
name = answer_variable
|
||||
value = 4
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
option = { # Answer A
|
||||
name = tour_general.5010.a
|
||||
custom_tooltip = {
|
||||
text = attempt_to_solve_the_cipher_tt
|
||||
if = {
|
||||
limit = {
|
||||
journal_answer_is_1 = yes
|
||||
}
|
||||
trigger_event = tour_general.5011
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 50
|
||||
modifier = {
|
||||
factor = 0
|
||||
journal_answer_is_1 = no
|
||||
}
|
||||
}
|
||||
}
|
||||
option = { # Answer B
|
||||
name = tour_general.5010.b
|
||||
custom_tooltip = {
|
||||
text = attempt_to_solve_the_cipher_tt
|
||||
if = {
|
||||
limit = {
|
||||
journal_answer_is_2 = yes
|
||||
}
|
||||
trigger_event = tour_general.5012
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 50
|
||||
modifier = {
|
||||
factor = 0
|
||||
journal_answer_is_2 = no
|
||||
}
|
||||
}
|
||||
}
|
||||
option = { # Answer C
|
||||
name = tour_general.5010.c
|
||||
trigger = { is_landed = yes }
|
||||
custom_tooltip = {
|
||||
text = attempt_to_solve_the_cipher_tt
|
||||
if = {
|
||||
limit = {
|
||||
journal_answer_is_3 = yes
|
||||
}
|
||||
trigger_event = tour_general.5013
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 50
|
||||
modifier = {
|
||||
factor = 0
|
||||
journal_answer_is_3 = no
|
||||
}
|
||||
}
|
||||
}
|
||||
option = { # Answer D
|
||||
name = tour_general.5010.d
|
||||
custom_tooltip = {
|
||||
text = attempt_to_solve_the_cipher_tt
|
||||
if = {
|
||||
limit = {
|
||||
journal_answer_is_4 = yes
|
||||
}
|
||||
trigger_event = tour_general.5014
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 50
|
||||
modifier = {
|
||||
factor = 0
|
||||
journal_answer_is_4 = no
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Generic solving the puzzle reward
|
||||
scripted_effect generic_journal_reward = {
|
||||
random_owned_story = {
|
||||
type = story_cycle_mysterious_journal
|
||||
set_variable = {
|
||||
name = journal_complete_solved
|
||||
value = yes
|
||||
}
|
||||
}
|
||||
add_prestige = major_prestige_gain
|
||||
add_dynasty_prestige = major_dynasty_prestige_gain
|
||||
}
|
||||
|
||||
# You solved it! It's a book about grotesques!
|
||||
tour_general.5011 = {
|
||||
type = character_event
|
||||
title = tour_general.5011.title
|
||||
desc = tour_general.5011.desc
|
||||
|
||||
theme = learning
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = ecstasy
|
||||
}
|
||||
artifact = {
|
||||
target = scope:mysterious_journal
|
||||
position = lower_right_portrait
|
||||
}
|
||||
immediate = {
|
||||
generic_journal_reward = yes
|
||||
scope:mysterious_journal = {
|
||||
set_artifact_name = artifact_journal_of_grotesques
|
||||
set_artifact_description = artifact_journal_of_grotesques_desc
|
||||
set_artifact_rarity = illustrious
|
||||
remove_artifact_modifier = artifact_stress_gain_1_penalty_modifier
|
||||
add_artifact_modifier = artifact_monthly_prestige_gain_per_dread_add_4_modifier
|
||||
add_artifact_modifier = artifact_dread_gain_mult_4_modifier
|
||||
add_artifact_modifier = artifact_learning_1_modifier
|
||||
add_artifact_modifier = artifact_intrigue_2_modifier
|
||||
}
|
||||
}
|
||||
option = { # Omg that's so cool
|
||||
name = tour_general.5011.a
|
||||
ai_chance = {
|
||||
base = 50
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# You solved it! It's a book about advanced theology!
|
||||
tour_general.5012 = {
|
||||
type = character_event
|
||||
title = tour_general.5012.title
|
||||
desc = tour_general.5012.desc
|
||||
|
||||
theme = learning
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = ecstasy
|
||||
}
|
||||
artifact = {
|
||||
target = scope:mysterious_journal
|
||||
position = lower_right_portrait
|
||||
}
|
||||
immediate = {
|
||||
generic_journal_reward = yes
|
||||
scope:mysterious_journal = {
|
||||
set_artifact_name = artifact_journal_of_theology
|
||||
set_artifact_description = artifact_journal_of_theology_desc
|
||||
set_artifact_rarity = illustrious
|
||||
remove_artifact_modifier = artifact_stress_gain_1_penalty_modifier
|
||||
add_artifact_modifier = artifact_monthly_piety_6_modifier
|
||||
add_artifact_modifier = artifact_learning_2_modifier
|
||||
add_artifact_modifier = artifact_domain_tax_same_faith_mult_4_modifier
|
||||
add_artifact_modifier = artifact_monthly_learning_lifestyle_xp_4_modifier
|
||||
}
|
||||
}
|
||||
option = { # Omg that's so cool
|
||||
name = tour_general.5012.a
|
||||
ai_chance = {
|
||||
base = 50
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# You solved it! It's a secret history of your realm!
|
||||
tour_general.5013 = {
|
||||
type = character_event
|
||||
title = tour_general.5013.title
|
||||
desc = tour_general.5013.desc
|
||||
|
||||
theme = tour_stop
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = ecstasy
|
||||
}
|
||||
artifact = {
|
||||
target = scope:mysterious_journal
|
||||
position = lower_right_portrait
|
||||
}
|
||||
immediate = {
|
||||
generic_journal_reward = yes
|
||||
scope:mysterious_journal = {
|
||||
set_artifact_name = artifact_journal_secret_history
|
||||
set_artifact_description = artifact_journal_secret_history_desc
|
||||
set_artifact_rarity = illustrious
|
||||
remove_artifact_modifier = artifact_stress_gain_1_penalty_modifier
|
||||
add_artifact_modifier = artifact_owned_hostile_scheme_success_chance_add_12_modifier
|
||||
add_artifact_modifier = artifact_monthly_intrigue_lifestyle_xp_4_modifier
|
||||
add_artifact_modifier = artifact_intrigue_2_modifier
|
||||
}
|
||||
}
|
||||
option = { # Omg that's so cool
|
||||
name = tour_general.5013.a
|
||||
ai_chance = {
|
||||
base = 50
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# You solved it! It's a book of martial arts techniques
|
||||
tour_general.5014 = {
|
||||
type = character_event
|
||||
title = tour_general.5014.title
|
||||
desc = tour_general.5014.desc
|
||||
|
||||
theme = tour_stop
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = ecstasy
|
||||
}
|
||||
artifact = {
|
||||
target = scope:mysterious_journal
|
||||
position = lower_right_portrait
|
||||
}
|
||||
immediate = {
|
||||
generic_journal_reward = yes
|
||||
scope:mysterious_journal = {
|
||||
set_artifact_name = artifact_journal_of_martial_arts
|
||||
set_artifact_description = artifact_journal_of_martial_arts_desc
|
||||
set_artifact_rarity = illustrious
|
||||
remove_artifact_modifier = artifact_stress_gain_1_penalty_modifier
|
||||
add_artifact_modifier = artifact_prowess_8_modifier
|
||||
add_artifact_modifier = artifact_monthly_martial_lifestyle_xp_4_modifier
|
||||
add_artifact_modifier = artifact_martial_2_modifier
|
||||
}
|
||||
}
|
||||
option = { # Omg that's so cool
|
||||
name = tour_general.5014.a
|
||||
ai_chance = {
|
||||
base = 50
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,804 +0,0 @@
|
|||
namespace = tour_travel
|
||||
############################
|
||||
### Highwaymen on your route
|
||||
### By James Beaumont
|
||||
############################
|
||||
tour_travel.9010 = {
|
||||
type = character_event
|
||||
title = tour_travel.9010.t
|
||||
desc = tour_travel.9010.desc
|
||||
theme = travel_tour
|
||||
left_portrait = {
|
||||
character = root
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
has_trait = craven
|
||||
}
|
||||
animation = fear
|
||||
}
|
||||
triggered_animation = {
|
||||
trigger = { has_trait = brave }
|
||||
animation = personality_bold
|
||||
}
|
||||
animation = thinking
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:travel_leader
|
||||
animation = worry
|
||||
}
|
||||
|
||||
cooldown = { years = 2 }
|
||||
|
||||
trigger = {
|
||||
has_activity_intent = justice_intent
|
||||
root.location.county = {
|
||||
NOT = { county_control = 100 }
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
modifier = {
|
||||
add = 2
|
||||
root.location.county = {
|
||||
NOT = { county_control <= 75 }
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 2
|
||||
root.location.county = {
|
||||
NOT = { county_control <= 50 }
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 2
|
||||
root.location.county = {
|
||||
NOT = { county_control <= 25 }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
exists = current_travel_plan.travel_leader
|
||||
}
|
||||
current_travel_plan.travel_leader = { save_scope_as = travel_leader }
|
||||
}
|
||||
else = {
|
||||
current_travel_plan = {
|
||||
random_entourage_character = {
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = {
|
||||
add = prowess
|
||||
}
|
||||
}
|
||||
save_scope_as = travel_leader
|
||||
}
|
||||
}
|
||||
}
|
||||
current_travel_plan = {
|
||||
next_destination_province = { save_scope_as = next_destination }
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Just go around them
|
||||
name = tour_travel.9010.a
|
||||
current_travel_plan = {
|
||||
delay_travel_plan = { weeks = 1 }
|
||||
}
|
||||
stress_impact = {
|
||||
craven = minor_stress_impact_loss
|
||||
patient = minor_stress_impact_loss
|
||||
impatient = minor_stress_impact_gain
|
||||
arrogant = minor_stress_impact_gain
|
||||
just = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
ai_value_modifier = {
|
||||
ai_energy = 1
|
||||
ai_boldness = -1
|
||||
ai_vengefulness = -1
|
||||
ai_honor = -1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Go in and clear em out!
|
||||
name = tour_travel.9010.b
|
||||
scope:travel_leader = {
|
||||
duel = {
|
||||
skill = prowess
|
||||
value = high_skill_rating
|
||||
# Success.
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
root = {
|
||||
send_interface_toast = {
|
||||
title = tour_travel.9010.success
|
||||
left_icon = scope:travel_leader
|
||||
location.county = {
|
||||
change_county_control = 20
|
||||
add_county_modifier = {
|
||||
modifier = highwaymen_eliminated_modifier
|
||||
years = 15
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# Failure.
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
root = {
|
||||
send_interface_toast = {
|
||||
title = tour_travel.9010.failure
|
||||
left_icon = scope:travel_leader
|
||||
scope:travel_leader = { increase_wounds_effect = { REASON = fight } }
|
||||
increase_wounds_no_death_effect = { REASON = fight }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
just = minor_stress_impact_loss
|
||||
brave = minor_stress_impact_loss
|
||||
patient = minor_stress_impact_gain
|
||||
craven = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
ai_value_modifier = {
|
||||
ai_energy = -1
|
||||
ai_boldness = 1
|
||||
ai_vengefulness = 1
|
||||
ai_honor = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
############################
|
||||
### Possibly innocent man up for execution
|
||||
### By James Beaumont
|
||||
############################
|
||||
scripted_trigger tour_travel_9020_valid_criminal_trigger = {
|
||||
is_physically_able_adult = yes
|
||||
OR = {
|
||||
any_secret = { is_criminal_for = prev }
|
||||
root = {
|
||||
has_imprisonment_reason = prev
|
||||
}
|
||||
trait_is_criminal_in_faith_trigger = {
|
||||
TRAIT = adulterer
|
||||
FAITH = root.faith
|
||||
GENDER_CHARACTER = this
|
||||
}
|
||||
trait_is_criminal_in_faith_trigger = {
|
||||
TRAIT = fornicator
|
||||
FAITH = root.faith
|
||||
GENDER_CHARACTER = this
|
||||
}
|
||||
trait_is_criminal_in_faith_trigger = {
|
||||
TRAIT = sodomite
|
||||
FAITH = root.faith
|
||||
GENDER_CHARACTER = this
|
||||
}
|
||||
trait_is_criminal_in_faith_trigger = {
|
||||
TRAIT = witch
|
||||
FAITH = root.faith
|
||||
GENDER_CHARACTER = this
|
||||
}
|
||||
trait_is_criminal_in_faith_trigger = {
|
||||
TRAIT = cannibal
|
||||
FAITH = root.faith
|
||||
GENDER_CHARACTER = this
|
||||
}
|
||||
trait_is_criminal_in_faith_trigger = {
|
||||
TRAIT = deviant
|
||||
FAITH = root.faith
|
||||
GENDER_CHARACTER = this
|
||||
}
|
||||
trait_is_criminal_in_faith_trigger = {
|
||||
TRAIT = incestuous
|
||||
FAITH = root.faith
|
||||
GENDER_CHARACTER = this
|
||||
}
|
||||
has_trait = murderer
|
||||
}
|
||||
}
|
||||
|
||||
tour_travel.9020 = {
|
||||
type = character_event
|
||||
title = tour_travel.9020.t
|
||||
desc = {
|
||||
desc = tour_travel.9020.desc.intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:accused_character = {
|
||||
tour_travel_9020_valid_criminal_trigger = yes
|
||||
}
|
||||
}
|
||||
desc = tour_travel.9020.desc.outro.guilty
|
||||
}
|
||||
desc = tour_travel.9020.desc.outro
|
||||
}
|
||||
}
|
||||
theme = travel_tour
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_rational
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:accused_character
|
||||
animation = prisonhouse
|
||||
triggered_outfit = {
|
||||
remove_default_outfit = no
|
||||
outfit_tags = { beggar_rags }
|
||||
}
|
||||
}
|
||||
|
||||
cooldown = { years = 2 }
|
||||
|
||||
trigger = {
|
||||
has_activity_intent = justice_intent
|
||||
}
|
||||
immediate = {
|
||||
hidden_effect = {
|
||||
if = {
|
||||
limit = {
|
||||
any_pool_character = {
|
||||
province = root.location
|
||||
}
|
||||
}
|
||||
random_pool_character = {
|
||||
province = root.location
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = {
|
||||
factor = 2
|
||||
tour_travel_9020_valid_criminal_trigger = yes
|
||||
}
|
||||
}
|
||||
save_scope_as = accused_character
|
||||
}
|
||||
}
|
||||
else = {
|
||||
create_character = {
|
||||
location = root.capital_province
|
||||
template = generic_peasant_character
|
||||
faith = root.location.faith
|
||||
culture = root.location.culture
|
||||
save_scope_as = accused_character
|
||||
}
|
||||
scope:accused_character = {
|
||||
add_character_flag = {
|
||||
flag = silently_disappear_me
|
||||
years = 1
|
||||
}
|
||||
random_list = {
|
||||
10 = {
|
||||
trigger = {
|
||||
root.faith = { has_doctrine_parameter = deviancy_illegal }
|
||||
}
|
||||
add_trait = deviant
|
||||
}
|
||||
10 = {
|
||||
trigger = {
|
||||
root.faith = { has_doctrine_parameter = witchcraft_illegal }
|
||||
}
|
||||
add_trait = witch
|
||||
}
|
||||
10 = {
|
||||
trigger = {
|
||||
trait_is_criminal_in_faith_trigger = {
|
||||
TRAIT = adulterer
|
||||
FAITH = root.faith
|
||||
GENDER_CHARACTER = this
|
||||
}
|
||||
}
|
||||
add_trait = adulterer
|
||||
}
|
||||
10 = {
|
||||
trigger = {
|
||||
trait_is_criminal_in_faith_trigger = {
|
||||
TRAIT = fornicator
|
||||
FAITH = root.faith
|
||||
GENDER_CHARACTER = this
|
||||
}
|
||||
}
|
||||
add_trait = fornicator
|
||||
}
|
||||
10 = {
|
||||
trigger = {
|
||||
trait_is_criminal_in_faith_trigger = {
|
||||
TRAIT = cannibal
|
||||
FAITH = root.faith
|
||||
GENDER_CHARACTER = this
|
||||
}
|
||||
}
|
||||
add_trait = cannibal
|
||||
}
|
||||
10 = {
|
||||
add_trait = murderer
|
||||
}
|
||||
60 = { # They're innocent
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
decide_court_position_to_give_effect = {
|
||||
CANDIDATE = scope:accused_character
|
||||
EMPLOYER = root
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Support the execution
|
||||
name = tour_travel.9020.a
|
||||
root.location.county = {
|
||||
change_county_control = minor_county_control_gain
|
||||
}
|
||||
scope:accused_character = {
|
||||
death = {
|
||||
death_reason = death_execution
|
||||
killer = root
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:accused_character = {
|
||||
tour_travel_9020_valid_criminal_trigger = yes
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
arbitrary = minor_stress_impact_loss
|
||||
callous = minor_stress_impact_loss
|
||||
sadistic = minor_stress_impact_loss
|
||||
just = medium_stress_impact_loss
|
||||
forgiving = major_stress_impact_gain
|
||||
compassionate = major_stress_impact_gain
|
||||
}
|
||||
}
|
||||
else = {
|
||||
stress_impact = {
|
||||
arbitrary = minor_stress_impact_loss
|
||||
callous = minor_stress_impact_loss
|
||||
sadistic = minor_stress_impact_loss
|
||||
just = major_stress_impact_gain
|
||||
forgiving = major_stress_impact_gain
|
||||
compassionate = major_stress_impact_gain
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
modifier = {
|
||||
factor = 0
|
||||
tour_travel_9020_valid_criminal_trigger = yes
|
||||
OR = {
|
||||
has_trait = compassionate
|
||||
has_trait = forgiving
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
factor = 0
|
||||
tour_travel_9020_valid_criminal_trigger = no
|
||||
OR = {
|
||||
has_trait = compassionate
|
||||
has_trait = forgiving
|
||||
has_trait = just
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Let them go
|
||||
name = tour_travel.9020.b
|
||||
root.location.county = {
|
||||
change_county_control = minor_county_control_loss
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:accused_character = {
|
||||
tour_travel_9020_valid_criminal_trigger = yes
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
forgiving = medium_stress_impact_loss
|
||||
compassionate = medium_stress_impact_loss
|
||||
arbitrary = minor_stress_impact_gain
|
||||
callous = minor_stress_impact_gain
|
||||
just = medium_stress_impact_gain
|
||||
}
|
||||
}
|
||||
else = {
|
||||
stress_impact = {
|
||||
just = minor_stress_impact_loss
|
||||
forgiving = minor_stress_impact_loss
|
||||
compassionate = minor_stress_impact_loss
|
||||
arbitrary = minor_stress_impact_gain
|
||||
callous = minor_stress_impact_gain
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
modifier = {
|
||||
factor = 0
|
||||
tour_travel_9020_valid_criminal_trigger = yes
|
||||
OR = {
|
||||
has_trait = arbitrary
|
||||
has_trait = callous
|
||||
has_trait = sadistic
|
||||
has_trait = just
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
factor = 0
|
||||
tour_travel_9020_valid_criminal_trigger = no
|
||||
OR = {
|
||||
has_trait = arbitrary
|
||||
has_trait = callous
|
||||
has_trait = sadistic
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Let them serve you as penance
|
||||
name = tour_travel.9020.c
|
||||
trigger = {
|
||||
has_royal_court = yes
|
||||
OR = {
|
||||
has_trait = compassionate
|
||||
has_trait = forgiving
|
||||
has_trait = just
|
||||
}
|
||||
}
|
||||
add_courtier = scope:accused_character
|
||||
hidden_effect = {
|
||||
scope:accused_character = {
|
||||
if = {
|
||||
limit = { exists = scope:activity }
|
||||
add_to_activity_without_travel = scope:activity
|
||||
}
|
||||
}
|
||||
}
|
||||
current_travel_plan = {
|
||||
add_companion = scope:accused_character
|
||||
}
|
||||
add_hook = {
|
||||
type = indebted_hook
|
||||
target = scope:accused_character
|
||||
}
|
||||
distribute_determined_court_position_effect = {
|
||||
CANDIDATE = scope:accused_character
|
||||
EMPLOYER = root
|
||||
}
|
||||
consume_imprisonment_reasons = scope:accused_character
|
||||
if = {
|
||||
limit = {
|
||||
scope:accused_character = {
|
||||
tour_travel_9020_valid_criminal_trigger = yes
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
forgiving = medium_stress_impact_loss
|
||||
compassionate = medium_stress_impact_loss
|
||||
just = medium_stress_impact_loss
|
||||
arbitrary = minor_stress_impact_gain
|
||||
callous = minor_stress_impact_gain
|
||||
}
|
||||
}
|
||||
else = {
|
||||
stress_impact = {
|
||||
just = major_stress_impact_loss
|
||||
forgiving = major_stress_impact_loss
|
||||
compassionate = major_stress_impact_loss
|
||||
arbitrary = minor_stress_impact_gain
|
||||
callous = minor_stress_impact_gain
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
modifier = {
|
||||
factor = 0
|
||||
tour_travel_9020_valid_criminal_trigger = yes
|
||||
OR = {
|
||||
has_trait = arbitrary
|
||||
has_trait = callous
|
||||
has_trait = sadistic
|
||||
has_trait = just
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
factor = 0
|
||||
tour_travel_9020_valid_criminal_trigger = no
|
||||
OR = {
|
||||
has_trait = arbitrary
|
||||
has_trait = callous
|
||||
has_trait = sadistic
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
if = {
|
||||
limit = {
|
||||
is_ai = yes
|
||||
scope:accused_character = {
|
||||
has_character_flag = silently_disappear_me
|
||||
}
|
||||
}
|
||||
scope:accused_character = {
|
||||
silent_disappearance_effect = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
############################
|
||||
### Visit a tavern
|
||||
### By James Beaumont
|
||||
############################
|
||||
tour_travel.9030 = {
|
||||
type = character_event
|
||||
title = tour_travel.9030.t
|
||||
desc = {
|
||||
desc = tour_travel.9030.desc.intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
drinks_alcohol_trigger = no
|
||||
}
|
||||
desc = tour_travel.9030.desc.mid.hashish
|
||||
}
|
||||
desc = tour_travel.9030.desc.mid
|
||||
}
|
||||
desc = tour_travel.9030.desc.outro
|
||||
}
|
||||
theme = travel_tour
|
||||
override_background = { reference = bp1_bonfire }
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_rational
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:drunky_entourage
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
drinks_alcohol_trigger = no
|
||||
}
|
||||
animation = admiration
|
||||
}
|
||||
animation = drink_goblet
|
||||
}
|
||||
|
||||
cooldown = { years = 2 }
|
||||
|
||||
trigger = {
|
||||
has_activity_intent = reduce_stress_intent
|
||||
is_adult = yes
|
||||
current_travel_plan = {
|
||||
any_entourage_character = {
|
||||
this != root
|
||||
is_ai = yes
|
||||
is_adult = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
current_travel_plan = {
|
||||
random_entourage_character = {
|
||||
limit = {
|
||||
this != root
|
||||
is_ai = yes
|
||||
is_adult = yes
|
||||
}
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = {
|
||||
factor = 10
|
||||
OR = {
|
||||
has_trait = drunkard
|
||||
has_trait = hashishiyah
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
factor = 2
|
||||
has_trait = gluttonous
|
||||
}
|
||||
modifier = {
|
||||
factor = 2
|
||||
NOT = { has_trait = temperate }
|
||||
}
|
||||
}
|
||||
save_scope_as = drunky_entourage
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Hell yeah, an easy break
|
||||
name = tour_travel.9030.a
|
||||
current_travel_plan = {
|
||||
delay_travel_plan = { weeks = 1 }
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
drinks_alcohol_trigger = yes
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = stress_drinking_binge
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
else = {
|
||||
add_character_modifier = {
|
||||
modifier = hashish_with_friend_modifier
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_loss
|
||||
lazy = minor_stress_impact_loss
|
||||
drunkard = minor_stress_impact_loss
|
||||
hashishiyah = minor_stress_impact_loss
|
||||
gluttonous = minor_stress_impact_loss
|
||||
diligent = minor_stress_impact_gain
|
||||
impatient = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = diligent
|
||||
has_trait = impatient
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # I have no time for distractions!
|
||||
name = tour_travel.9030.b
|
||||
stress_impact = {
|
||||
diligent = minor_stress_impact_loss
|
||||
impatient = minor_stress_impact_loss
|
||||
lazy = minor_stress_impact_gain
|
||||
drunkard = minor_stress_impact_gain
|
||||
hashishiyah = minor_stress_impact_gain
|
||||
gluttonous = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = lazy
|
||||
has_trait = drunkard
|
||||
has_trait = hashishiyah
|
||||
has_trait = gluttonous
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
############################
|
||||
### Peasants chatting about their favourite heroes
|
||||
### By James Beaumont
|
||||
############################
|
||||
tour_travel.9040 = {
|
||||
type = character_event
|
||||
title = tour_travel.9040.t
|
||||
desc = tour_travel.9040.desc
|
||||
theme = travel_tour
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_bold
|
||||
triggered_outfit = {
|
||||
remove_default_outfit = no
|
||||
outfit_tags = { beggar_rags }
|
||||
}
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:peasant
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
drinks_alcohol_trigger = no
|
||||
}
|
||||
animation = admiration
|
||||
}
|
||||
animation = drink_goblet
|
||||
}
|
||||
|
||||
cooldown = { years = 2 }
|
||||
|
||||
trigger = {
|
||||
has_activity_intent = spread_legend_intent
|
||||
is_location_valid_for_travel_event_on_land = yes
|
||||
}
|
||||
|
||||
immediate = {
|
||||
root.location = {
|
||||
save_scope_as = county_scope
|
||||
save_scope_as = background_wilderness_scope # For theme
|
||||
}
|
||||
create_character = {
|
||||
location = scope:county_scope
|
||||
template = drunken_peasant_character
|
||||
culture = scope:county_scope.culture
|
||||
faith = scope:county_scope.faith
|
||||
save_scope_as = peasant
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Let me tell you about my legend :)
|
||||
name = tour_travel.9040.a
|
||||
current_travel_plan = {
|
||||
delay_travel_plan = { weeks = 1 }
|
||||
}
|
||||
duel = {
|
||||
skill = diplomacy
|
||||
target = scope:peasant
|
||||
50 = {
|
||||
desc = tour_travel.9040.a.success
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
}
|
||||
send_interface_toast = {
|
||||
title = tour_travel.9040.a.success
|
||||
left_icon = root
|
||||
right_icon = scope:peasant
|
||||
add_prestige = medium_prestige_gain
|
||||
add_character_modifier = {
|
||||
modifier = ce1_legendary_taverns
|
||||
years = 15
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
desc = tour_travel.9040.a.failure
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
}
|
||||
send_interface_toast = {
|
||||
title = tour_travel.9040.a.failure
|
||||
left_icon = root
|
||||
add_prestige = medium_prestige_loss
|
||||
add_character_modifier = {
|
||||
modifier = ce1_legend_mocked
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Ah, I shan't bother them
|
||||
name = tour_travel.9040.b
|
||||
add_stress = medium_stress_loss
|
||||
ai_chance = {
|
||||
base = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,499 +0,0 @@
|
|||
namespace = tournament_events
|
||||
|
||||
##################################################
|
||||
# You are offered a favour by a pretty person
|
||||
# by James Beaumont
|
||||
# 8000
|
||||
##################################################
|
||||
|
||||
scripted_trigger 8000_valid_to_offer_favor = {
|
||||
is_ai = yes
|
||||
is_adult = yes
|
||||
is_lowborn = no # Prevent random uninteresting pool characters from showing up
|
||||
OR = {
|
||||
AND = {
|
||||
is_married = no
|
||||
is_concubine = no
|
||||
}
|
||||
is_consort_of = root
|
||||
might_cheat_on_every_partner_trigger = yes
|
||||
}
|
||||
NOT = {
|
||||
relation_with_character_is_incestuous_in_faith_trigger = {
|
||||
CHARACTER = root
|
||||
FAITH = root.faith
|
||||
}
|
||||
}
|
||||
OR = {
|
||||
is_attracted_to_gender_of = root
|
||||
has_sexuality = asexual # This is romance and courtship, asexuals should be fine with it most of the time
|
||||
}
|
||||
OR = {
|
||||
AND = {
|
||||
root.faith = { NOT = { has_doctrine_parameter = homosexuality_accepted } }
|
||||
NOT = { sex_same_as = root }
|
||||
}
|
||||
root.faith = { has_doctrine_parameter = homosexuality_accepted }
|
||||
}
|
||||
NOR = {
|
||||
has_relation_soulmate = root
|
||||
# Celibates should abstain always
|
||||
has_trait = celibate
|
||||
# No priests giving favours
|
||||
AND = {
|
||||
is_clergy = yes
|
||||
NOT = { faith = { has_doctrine_parameter = clergy_can_marry } }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tournament_events.8000 = { # Start
|
||||
type = activity_event
|
||||
title = tournament_events.8000.t
|
||||
desc = {
|
||||
desc = tournament_events.8000.desc.intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
any_in_list = {
|
||||
list = potential_favour_givers
|
||||
count > 1
|
||||
}
|
||||
}
|
||||
desc = tournament_events.8000.desc.mid.two
|
||||
}
|
||||
desc = tournament_events.8000.desc.mid
|
||||
}
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
NOR = {
|
||||
is_attracted_to_gender_of = scope:favor_giver_1
|
||||
is_attracted_to_gender_of = scope:favor_giver_2
|
||||
has_sexuality = asexual
|
||||
}
|
||||
}
|
||||
desc = tournament_events.8000.desc.outro.homo
|
||||
}
|
||||
}
|
||||
}
|
||||
theme = tournament_locale_camp
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = thinking
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:favor_giver_1
|
||||
animation = flirtation
|
||||
}
|
||||
lower_right_portrait = {
|
||||
character = scope:favor_giver_2
|
||||
animation = flirtation
|
||||
}
|
||||
|
||||
cooldown = { years = 1 }
|
||||
|
||||
trigger = {
|
||||
activity_is_competing_trigger = yes
|
||||
scope:activity = {
|
||||
any_guest_subset_current_phase = { # There is a spectator who fancies you
|
||||
name = spectator
|
||||
8000_valid_to_offer_favor = yes
|
||||
}
|
||||
}
|
||||
NOT = { has_trait = celibate }
|
||||
OR = { # For AI priests in tournaments
|
||||
is_clergy = no
|
||||
faith = { has_doctrine_parameter = clergy_can_marry }
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
modifier = {
|
||||
factor = 2
|
||||
has_activity_intent = woo_attendee_intent
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
hidden_effect = {
|
||||
save_scope_as = favor_recipient
|
||||
scope:activity = {
|
||||
every_guest_subset_current_phase = {
|
||||
name = spectator
|
||||
limit = { 8000_valid_to_offer_favor = yes }
|
||||
add_to_list = potential_favour_givers
|
||||
}
|
||||
random_in_list = {
|
||||
list = potential_favour_givers
|
||||
weight = {
|
||||
base = 20
|
||||
modifier = { # If they are wooing you, they're much more likely to do this
|
||||
factor = 100
|
||||
has_activity_intent = woo_attendee_intent
|
||||
intent_target = root
|
||||
}
|
||||
modifier = { # Get their intent target where possible
|
||||
add = 20
|
||||
this = root.intent_target
|
||||
}
|
||||
modifier = { # Get someone fertile for the player
|
||||
add = 20
|
||||
fertility > low_fertility
|
||||
}
|
||||
modifier = { # They love knights and stuff
|
||||
add = 20
|
||||
has_trait = gallant
|
||||
}
|
||||
modifier = {
|
||||
add = ai_honor
|
||||
}
|
||||
modifier = { # Cheaters are possible, but should be less likely
|
||||
add = 20
|
||||
OR = {
|
||||
AND = {
|
||||
is_married = no
|
||||
is_concubine = no
|
||||
}
|
||||
is_consort_of = root
|
||||
is_concubine_of = root
|
||||
}
|
||||
}
|
||||
modifier = { # Get someone interesting
|
||||
add = 20
|
||||
is_claimant = yes
|
||||
}
|
||||
modifier = {
|
||||
add = 20
|
||||
OR = {
|
||||
has_same_sinful_trait = root
|
||||
has_same_virtue_trait = root
|
||||
}
|
||||
}
|
||||
}
|
||||
save_scope_as = favor_giver_1
|
||||
hidden_effect = {
|
||||
create_artifact_tournament_favor_effect = {
|
||||
OWNER = scope:favor_giver_1
|
||||
RECIPIENT = root
|
||||
}
|
||||
}
|
||||
scope:newly_created_artifact = { save_scope_as = favor_1 }
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
any_in_list = {
|
||||
list = potential_favour_givers
|
||||
count > 1
|
||||
}
|
||||
}
|
||||
random_in_list = {
|
||||
list = potential_favour_givers
|
||||
limit = {
|
||||
this != scope:favor_giver_1
|
||||
}
|
||||
weight = {
|
||||
base = 20
|
||||
modifier = { # If they are wooing you, they're much more likely to do this
|
||||
factor = 100
|
||||
has_activity_intent = woo_attendee_intent
|
||||
intent_target = root
|
||||
}
|
||||
modifier = { # Get their intent target where possible
|
||||
add = 20
|
||||
this = root.intent_target
|
||||
}
|
||||
modifier = {
|
||||
add = 20
|
||||
fertility > low_fertility
|
||||
}
|
||||
modifier = {
|
||||
add = 20
|
||||
has_trait = gallant
|
||||
}
|
||||
modifier = {
|
||||
add = ai_honor
|
||||
}
|
||||
modifier = {
|
||||
OR = {
|
||||
AND = {
|
||||
is_married = no
|
||||
is_concubine = no
|
||||
}
|
||||
is_consort_of = root
|
||||
is_concubine_of = root
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 20
|
||||
OR = {
|
||||
has_same_sinful_trait = root
|
||||
has_same_virtue_trait = root
|
||||
}
|
||||
}
|
||||
}
|
||||
save_scope_as = favor_giver_2
|
||||
hidden_effect = {
|
||||
create_artifact_tournament_favor_effect = {
|
||||
OWNER = scope:favor_giver_2
|
||||
RECIPIENT = root
|
||||
}
|
||||
}
|
||||
scope:newly_created_artifact = { save_scope_as = favor_2 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
add_prestige = medium_prestige_gain
|
||||
custom_tooltip = tournament_events.1251.favor_tt
|
||||
}
|
||||
|
||||
option = { # Why, suitor 1 is perfect for me!
|
||||
name = tournament_events.8000.a
|
||||
scope:activity = {
|
||||
add_activity_log_entry = {
|
||||
key = tournament_favor_given_log
|
||||
score = 25
|
||||
tags = { favors good }
|
||||
character = scope:favor_recipient
|
||||
target = scope:favor_giver_1
|
||||
|
||||
# Effects
|
||||
show_as_tooltip = {
|
||||
scope:favor_1 = { set_owner = root }
|
||||
}
|
||||
hidden_effect = {
|
||||
if = {
|
||||
limit = { exists = scope:favor_2 }
|
||||
destroy_artifact = scope:favor_2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
scope:favor_1 = { equip_artifact_to_owner_replace = yes }
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
NOT = {
|
||||
# They are not wooing me
|
||||
scope:favor_giver_1 = {
|
||||
any_scheme = {
|
||||
type = courting
|
||||
scheme_target_character = root
|
||||
}
|
||||
}
|
||||
# I am not wooing them
|
||||
any_scheme = {
|
||||
type = courting
|
||||
scheme_target_character = root
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:favor_giver_1 = {
|
||||
start_scheme = {
|
||||
type = courting
|
||||
target_character = root
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
set_relation_soulmate = {
|
||||
reason = soulmate_tournament
|
||||
target = scope:favor_giver_1
|
||||
}
|
||||
}
|
||||
reverse_add_opinion = {
|
||||
target = scope:favor_giver_1
|
||||
modifier = flattered_opinion
|
||||
opinion = 20
|
||||
}
|
||||
if = {
|
||||
limit = { exists = scope:favor_giver_2 }
|
||||
reverse_add_opinion = {
|
||||
target = scope:favor_giver_2
|
||||
modifier = rebuffed_opinion
|
||||
opinion = -15
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
gallant = minor_stress_impact_loss
|
||||
arrogant = minor_stress_impact_loss
|
||||
chaste = minor_stress_impact_gain
|
||||
cynical = minor_stress_impact_gain
|
||||
zealous = minor_stress_impact_gain
|
||||
humble = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = chaste
|
||||
has_trait = cynical
|
||||
has_trait = zealous
|
||||
has_trait = humble
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
factor = 0.5
|
||||
NOT = { # Only 0.5 since gay characters may pretend to be interested in a homophobic environment
|
||||
is_attracted_to_gender_of = scope:favor_giver_1
|
||||
has_sexuality = asexual
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Why, suitor 2 is perfect for me!
|
||||
name = tournament_events.8000.b
|
||||
trigger = {
|
||||
exists = scope:favor_giver_2
|
||||
}
|
||||
scope:activity = {
|
||||
add_activity_log_entry = {
|
||||
key = tournament_favor_given_log
|
||||
score = 25
|
||||
tags = { favors good }
|
||||
character = scope:favor_recipient
|
||||
target = scope:favor_giver_1
|
||||
|
||||
# Effects
|
||||
show_as_tooltip = {
|
||||
scope:favor_2 = { set_owner = root }
|
||||
}
|
||||
hidden_effect = {
|
||||
if = {
|
||||
limit = { exists = scope:favor_1 }
|
||||
destroy_artifact = scope:favor_1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
scope:favor_2 = { equip_artifact_to_owner_replace = yes }
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
NOT = {
|
||||
# They are not wooing me
|
||||
scope:favor_giver_2 = {
|
||||
any_scheme = {
|
||||
type = courting
|
||||
scheme_target_character = root
|
||||
}
|
||||
}
|
||||
# I am not wooing them
|
||||
any_scheme = {
|
||||
type = courting
|
||||
scheme_target_character = root
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:favor_giver_2 = {
|
||||
start_scheme = {
|
||||
type = courting
|
||||
target_character = root
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
set_relation_soulmate = {
|
||||
reason = soulmate_tournament
|
||||
target = scope:favor_giver_2
|
||||
}
|
||||
}
|
||||
reverse_add_opinion = {
|
||||
target = scope:favor_giver_2
|
||||
modifier = flattered_opinion
|
||||
opinion = 20
|
||||
}
|
||||
reverse_add_opinion = {
|
||||
target = scope:favor_giver_1
|
||||
modifier = rebuffed_opinion
|
||||
opinion = -15
|
||||
}
|
||||
stress_impact = {
|
||||
gallant = minor_stress_impact_loss
|
||||
arrogant = minor_stress_impact_loss
|
||||
chaste = minor_stress_impact_gain
|
||||
cynical = minor_stress_impact_gain
|
||||
zealous = minor_stress_impact_gain
|
||||
humble = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = chaste
|
||||
has_trait = cynical
|
||||
has_trait = zealous
|
||||
has_trait = humble
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
factor = 0.5
|
||||
NOT = {
|
||||
is_attracted_to_gender_of = scope:favor_giver_1
|
||||
has_sexuality = asexual
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Oh bugger off both of you
|
||||
name = tournament_events.8000.c
|
||||
add_prestige = medium_prestige_gain
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
||||
reverse_add_opinion = {
|
||||
target = scope:favor_giver_1
|
||||
modifier = rebuffed_opinion
|
||||
opinion = -15
|
||||
}
|
||||
hidden_effect = {
|
||||
if = {
|
||||
limit = { exists = scope:favor_1 }
|
||||
destroy_artifact = scope:favor_1
|
||||
}
|
||||
if = {
|
||||
limit = { exists = scope:favor_2 }
|
||||
destroy_artifact = scope:favor_2
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = { exists = scope:favor_giver_2 }
|
||||
reverse_add_opinion = {
|
||||
target = scope:favor_giver_2
|
||||
modifier = rebuffed_opinion
|
||||
opinion = -15
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
gallant = minor_stress_impact_gain
|
||||
arrogant = minor_stress_impact_gain
|
||||
lustful = minor_stress_impact_gain
|
||||
rakish = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = gallant
|
||||
has_trait = arrogant
|
||||
has_trait = lustful
|
||||
has_trait = rakish
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
factor = 0.5
|
||||
NOT = {
|
||||
is_attracted_to_gender_of = scope:favor_giver_1
|
||||
has_sexuality = asexual
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,604 +0,0 @@
|
|||
namespace = jason_first_race_event
|
||||
|
||||
|
||||
##################################################
|
||||
# A Mess of Legs
|
||||
# by Jason Cantalini
|
||||
# 4700
|
||||
##################################################
|
||||
|
||||
scripted_trigger jason_first_race_event_1_opponent_trigger = {
|
||||
is_ai = yes
|
||||
exists = var:contest_aptitude
|
||||
this != root
|
||||
OR = {
|
||||
is_lowborn = no
|
||||
is_landed = no
|
||||
}
|
||||
}
|
||||
|
||||
#Two racers collide with each other
|
||||
jason_first_race_event.1 = {
|
||||
type = activity_event
|
||||
title = jason_first_race_event.1.t
|
||||
desc = {
|
||||
desc = jason_first_race_event.1.desc
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
OR = {
|
||||
has_trait = paranoid
|
||||
has_trait = vengeful
|
||||
has_trait = wrathful
|
||||
has_relation_rival = scope:opponent
|
||||
has_relation_nemesis = scope:opponent
|
||||
}
|
||||
NOR = {
|
||||
has_trait = trusting
|
||||
has_trait = forgiving
|
||||
has_trait = compassionate
|
||||
}
|
||||
}
|
||||
desc = jason_first_race_event.1.desc.suspicious
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
OR = {
|
||||
has_trait = trusting
|
||||
has_trait = forgiving
|
||||
has_trait = compassionate
|
||||
}
|
||||
}
|
||||
desc = jason_first_race_event.1.desc.sympathetic
|
||||
}
|
||||
}
|
||||
}
|
||||
theme = tournament_contest
|
||||
window = widget_activity_locale_fullscreen_event
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = disbelief
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:opponent
|
||||
animation = fear
|
||||
}
|
||||
|
||||
trigger = {
|
||||
exists = var:contest_aptitude
|
||||
scope:activity = {
|
||||
any_guest_subset_current_phase = {
|
||||
name = qualified
|
||||
this = root
|
||||
}
|
||||
any_guest_subset_current_phase = {
|
||||
name = qualified
|
||||
jason_first_race_event_1_opponent_trigger = yes
|
||||
}
|
||||
NOT = {
|
||||
any_attending_character = {
|
||||
is_ai = no
|
||||
this != root
|
||||
}
|
||||
}
|
||||
# Only one event removing competitors should occur
|
||||
any_guest_subset_current_phase = {
|
||||
name = qualified
|
||||
count >= 8
|
||||
}
|
||||
}
|
||||
#Standard checks.
|
||||
NOT = { has_character_flag = horse_race_contest_event_cooldown }
|
||||
}
|
||||
|
||||
immediate = {
|
||||
tournament_pivotal_flavor_variable_effect = { CONTEST = horse_race ID = 10 }
|
||||
add_character_flag = {
|
||||
flag = horse_race_contest_event_cooldown
|
||||
years = 1
|
||||
}
|
||||
tournament_horse_race_fetch_horse_effect = yes
|
||||
scope:activity = {
|
||||
random_guest_subset_current_phase = {
|
||||
name = qualified
|
||||
limit = {
|
||||
jason_first_race_event_1_opponent_trigger = yes
|
||||
}
|
||||
weight = {
|
||||
base = 1
|
||||
activity_recurring_character_weight_modifier = { VALUE = 100 }
|
||||
}
|
||||
save_scope_as = opponent
|
||||
try_to_create_recurring_character_effect = { CHARACTER = root }
|
||||
}
|
||||
}
|
||||
scope:opponent = {
|
||||
tournament_horse_race_fetch_horse_effect = yes
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
||||
}
|
||||
root.var:horse_race_jockey = { save_scope_as = jockey }
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
||||
}
|
||||
|
||||
# Accuse the other horse's owner of sabotaging you
|
||||
option = {
|
||||
name = jason_first_race_event.1.a
|
||||
flavor = jason_first_race_event.1.a.tt
|
||||
|
||||
progress_towards_rival_effect = {
|
||||
CHARACTER = scope:opponent
|
||||
REASON = rival_race_sabotage_accusation
|
||||
OPINION = -40
|
||||
}
|
||||
|
||||
duel = {
|
||||
skills = { diplomacy intrigue }
|
||||
value = 10
|
||||
#You convince everyone that this affront merits a restart
|
||||
45 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
modifier = {
|
||||
add = 20
|
||||
dread > medium_dread
|
||||
}
|
||||
modifier = {
|
||||
add = 40
|
||||
dread > high_dread
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
scope:host = {
|
||||
this = root
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 25
|
||||
highest_held_title_tier = tier_kingdom
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
highest_held_title_tier = tier_empire
|
||||
}
|
||||
send_interface_toast = {
|
||||
title = jason_first_race_event.1.a.tt.win
|
||||
left_icon = root
|
||||
right_icon = scope:opponent
|
||||
|
||||
tournament_contest_knocked_out_effect = { CHARACTER = scope:opponent }
|
||||
}
|
||||
|
||||
desc = jason_first_race_event.1.a.tt.win
|
||||
}
|
||||
#You sound petty and no one listens
|
||||
55 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
send_interface_toast = {
|
||||
title = jason_first_race_event.1.a.tt.lose
|
||||
left_icon = root
|
||||
right_icon = scope:opponent
|
||||
|
||||
scope:activity = {
|
||||
add_activity_log_entry = {
|
||||
key = contest_horse_race_collision_log
|
||||
tags = { contest bad }
|
||||
score = 30
|
||||
character = root
|
||||
target = scope:opponent
|
||||
}
|
||||
every_attending_character = {
|
||||
limit = {
|
||||
NOR = {
|
||||
this = root
|
||||
this = scope:opponent
|
||||
}
|
||||
}
|
||||
custom = every_tournament_attendee_tt
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = contempt_opinion
|
||||
opinion = -10
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
desc = jason_first_race_event.1.a.tt.lose
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
forgiving = medium_stress_impact_gain
|
||||
trusting = minor_stress_impact_gain
|
||||
compassionate = miniscule_stress_impact_gain
|
||||
wrathful = minor_stress_impact_loss
|
||||
vengeful = minor_stress_impact_loss
|
||||
callous = miniscule_stress_impact_loss
|
||||
sadistic = miniscule_stress_impact_loss
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
|
||||
base = 100
|
||||
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = forgiving
|
||||
has_trait = trusting
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = -50
|
||||
OR = {
|
||||
has_trait = compassionate
|
||||
has_trait = honest
|
||||
has_trait = shy
|
||||
has_trait = content
|
||||
has_trait = calm
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = -50
|
||||
OR = {
|
||||
diplomacy <= low_skill_rating
|
||||
intrigue <= low_skill_rating
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = -25
|
||||
OR = {
|
||||
diplomacy < medium_skill_rating
|
||||
intrigue < medium_skill_rating
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = -50
|
||||
diplomacy <= decent_skill_rating
|
||||
intrigue <= decent_skill_rating
|
||||
}
|
||||
modifier = {
|
||||
add = 100
|
||||
OR = {
|
||||
diplomacy >= high_skill_rating
|
||||
prowess >= high_skill_rating
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 100
|
||||
OR = {
|
||||
has_trait = vengeful
|
||||
has_trait = arbitrary
|
||||
has_trait = deceitful
|
||||
has_trait = paranoid
|
||||
has_trait = greedy
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
highest_held_title_tier = tier_kingdom
|
||||
}
|
||||
modifier = {
|
||||
add = 100
|
||||
highest_held_title_tier = tier_empire
|
||||
}
|
||||
modifier = {
|
||||
add = 150
|
||||
scope:host = {
|
||||
this = root
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 75
|
||||
dread > medium_dread
|
||||
}
|
||||
}
|
||||
}
|
||||
# Console your opponent and apologize
|
||||
option = {
|
||||
trigger = {
|
||||
OR = {
|
||||
NOR = {
|
||||
has_relation_rival = scope:opponent
|
||||
has_relation_nemesis = scope:opponent
|
||||
has_trait = paranoid
|
||||
has_trait = vengeful
|
||||
has_trait = wrathful
|
||||
has_trait = sadistic
|
||||
}
|
||||
OR = {
|
||||
has_relation_rival = scope:opponent
|
||||
has_relation_nemesis = scope:opponent
|
||||
OR = {
|
||||
has_trait = trusting
|
||||
has_trait = forgiving
|
||||
has_trait = compassionate
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
name = jason_first_race_event.1.b
|
||||
flavor = jason_first_race_event.1.b.tt
|
||||
scope:activity = {
|
||||
add_activity_log_entry = {
|
||||
key = contest_horse_race_collision_log
|
||||
tags = { contest bad }
|
||||
score = 30
|
||||
character = root
|
||||
target = scope:opponent
|
||||
|
||||
# Effect
|
||||
root = {
|
||||
progress_towards_friend_effect = {
|
||||
CHARACTER = scope:opponent
|
||||
REASON = friend_shared_disappointment
|
||||
OPINION = 40
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
forgiving = minor_stress_impact_loss
|
||||
wrathful = major_stress_impact_gain
|
||||
sadistic = major_stress_impact_gain
|
||||
paranoid = major_stress_impact_gain
|
||||
vengeful = major_stress_impact_gain
|
||||
callous = medium_stress_impact_gain
|
||||
arrogant = minor_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = wrathful
|
||||
has_trait = sadistic
|
||||
has_trait = paranoid
|
||||
has_trait = vengeful
|
||||
has_trait = callous
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = -50
|
||||
has_trait = arrogant
|
||||
}
|
||||
modifier = {
|
||||
add = 100
|
||||
has_trait = forgiving
|
||||
}
|
||||
}
|
||||
}
|
||||
# Try to encourage your jockey
|
||||
option = {
|
||||
name = jason_first_race_event.1.c
|
||||
flavor = jason_first_race_event.1.c.tt
|
||||
|
||||
duel = {
|
||||
skill = diplomacy
|
||||
value = 10
|
||||
#Your jockey gets back on track
|
||||
45 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
modifier = {
|
||||
has_trait_xp = {
|
||||
trait = tourney_participant
|
||||
track = horse
|
||||
value >= 20
|
||||
}
|
||||
add = 20
|
||||
}
|
||||
modifier = {
|
||||
has_trait_xp = {
|
||||
trait = tourney_participant
|
||||
track = horse
|
||||
value >= 50
|
||||
}
|
||||
add = 30
|
||||
}
|
||||
modifier = {
|
||||
has_trait_xp = {
|
||||
trait = tourney_participant
|
||||
track = horse
|
||||
value >= 80
|
||||
}
|
||||
add = 50
|
||||
}
|
||||
send_interface_toast = {
|
||||
title = jason_first_race_event.1.c.tt.win
|
||||
left_icon = root
|
||||
right_icon = scope:opponent
|
||||
desc = jason_first_race_event.1.c.tt.lose
|
||||
|
||||
create_character_memory = {
|
||||
type = successful_race_rescue
|
||||
}
|
||||
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
||||
|
||||
# add horsemanship tournament skill XP
|
||||
if = {
|
||||
limit = {
|
||||
has_trait = tourney_participant
|
||||
}
|
||||
add_trait_xp = {
|
||||
trait = tourney_participant
|
||||
track = horse
|
||||
value = tournament_hastiludes_xp_gain_medium_value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
desc = jason_first_race_event.1.c.tt.win
|
||||
}
|
||||
#Your jockey can't hear you
|
||||
55 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
|
||||
send_interface_toast = {
|
||||
title = jason_first_race_event.1.c.tt.lose
|
||||
left_icon = root
|
||||
right_icon = scope:opponent
|
||||
scope:activity = {
|
||||
add_activity_log_entry = {
|
||||
key = contest_horse_race_collision_log
|
||||
tags = { contest bad }
|
||||
score = 30
|
||||
character = root
|
||||
target = scope:opponent
|
||||
}
|
||||
}
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = decrease_miniscule }
|
||||
}
|
||||
desc = jason_first_race_event.1.c.tt.lose
|
||||
create_character_memory = {
|
||||
type = trampled_during_race_rescue
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
craven = major_stress_impact_gain
|
||||
sadistic = medium_stress_impact_gain
|
||||
lazy = medium_stress_impact_gain
|
||||
callous = medium_stress_impact_gain
|
||||
vengeful = minor_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = sadistic
|
||||
has_trait = lazy
|
||||
has_trait = craven
|
||||
has_trait = callous
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = -50
|
||||
has_trait = vengeful
|
||||
}
|
||||
modifier = {
|
||||
add = -50
|
||||
OR = {
|
||||
diplomacy < mediocre_skill_rating
|
||||
prowess < mediocre_skill_rating
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = -25
|
||||
OR = {
|
||||
diplomacy < mediocre_skill_rating
|
||||
prowess < mediocre_skill_rating
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = -50
|
||||
diplomacy <= medium_skill_rating
|
||||
prowess <= medium_skill_rating
|
||||
}
|
||||
|
||||
modifier = {
|
||||
add = -50
|
||||
highest_held_title_tier = tier_empire
|
||||
}
|
||||
modifier = {
|
||||
add = 75
|
||||
OR = {
|
||||
has_trait = compassionate
|
||||
has_trait = brave
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 25
|
||||
has_trait_xp = {
|
||||
trait = tourney_participant
|
||||
track = horse
|
||||
value >= 50
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
has_trait_xp = {
|
||||
trait = tourney_participant
|
||||
track = horse
|
||||
value >= 100
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
OR = {
|
||||
diplomacy >= very_high_skill_rating
|
||||
prowess >= very_high_skill_rating
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# Accept this unfortunate loss
|
||||
option = {
|
||||
name = jason_first_race_event.1.d
|
||||
flavor = jason_first_race_event.1.d.tt
|
||||
scope:activity = {
|
||||
add_activity_log_entry = {
|
||||
key = contest_horse_race_collision_log
|
||||
tags = { contest bad }
|
||||
score = 30
|
||||
character = root
|
||||
target = scope:opponent
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
wrathful = medium_stress_impact_gain
|
||||
paranoid = medium_stress_impact_gain
|
||||
compassionate = minor_stress_impact_gain
|
||||
stubborn = minor_stress_impact_gain
|
||||
greedy = minor_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = wrathful
|
||||
has_trait = paranoid
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = -50
|
||||
OR = {
|
||||
has_trait = compassionate
|
||||
has_trait = stubborn
|
||||
has_trait = greedy
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
OR = {
|
||||
has_trait = calm
|
||||
has_trait = shy
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,877 +0,0 @@
|
|||
namespace = contest_events
|
||||
|
||||
###############################
|
||||
###############################
|
||||
### RECITAL - 5000-5499 ###
|
||||
###############################
|
||||
###############################
|
||||
# Complete your own verse!
|
||||
# By James Beaumont
|
||||
contest_events.5000 = {
|
||||
type = activity_event
|
||||
title = contest_events.5000.t
|
||||
desc = contest_events.5000.desc
|
||||
theme = tournament_contest
|
||||
window = widget_activity_locale_fullscreen_event
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = anger
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:enemy
|
||||
animation = schadenfreude
|
||||
}
|
||||
cooldown = { years = 1 }
|
||||
|
||||
trigger = {
|
||||
scope:activity = {
|
||||
any_guest_subset_current_phase = {
|
||||
name = qualified
|
||||
contest_event_general_contestant_valid_trigger = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:activity = {
|
||||
random_guest_subset_current_phase = {
|
||||
name = qualified
|
||||
limit = { contest_event_general_contestant_valid_trigger = yes }
|
||||
save_scope_as = enemy
|
||||
}
|
||||
}
|
||||
scope:enemy = {
|
||||
select_poem_theme_incompetence_effect = yes
|
||||
select_poem_subject_gender_effect = {
|
||||
SUBJECT = flag:specific
|
||||
SUBJECT_TARGET = root
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Furthermore, I had sex with your mother
|
||||
option = {
|
||||
name = {
|
||||
trigger = {
|
||||
is_attracted_to_men = yes
|
||||
}
|
||||
text = contest_events.5000.shagged_your_dad
|
||||
}
|
||||
name = contest_events.5000.shagged_your_mum
|
||||
|
||||
duel = {
|
||||
skill = intrigue
|
||||
target = scope:enemy
|
||||
50 = {
|
||||
modifier = {
|
||||
factor = 0.5
|
||||
has_trait = chaste
|
||||
}
|
||||
modifier = {
|
||||
factor = 0.1
|
||||
OR = { # Lol, no you didn't
|
||||
has_trait = celibate
|
||||
is_eunuch_trigger = yes
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = attraction
|
||||
}
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
desc = contest_events.5000.success
|
||||
send_interface_toast = {
|
||||
title = contest_events.5000.success
|
||||
right_icon = scope:enemy
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
||||
if = {
|
||||
limit = {
|
||||
has_trait = tourney_participant
|
||||
}
|
||||
add_trait_xp = {
|
||||
trait = tourney_participant
|
||||
track = wit
|
||||
value = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
modifier = {
|
||||
add = scope:enemy.attraction
|
||||
}
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
desc = contest_events.5000.failure
|
||||
send_interface_toast = {
|
||||
title = contest_events.5000.failure
|
||||
right_icon = scope:enemy
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
||||
}
|
||||
}
|
||||
}
|
||||
progress_towards_rival_effect = {
|
||||
REASON = rival_recital_insult
|
||||
CHARACTER = scope:enemy
|
||||
OPINION = default_rival_opinion
|
||||
}
|
||||
if = {
|
||||
limit = { is_eunuch_trigger = yes }
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
vengeful = minor_stress_impact_loss
|
||||
lustful = minor_stress_impact_loss
|
||||
chaste = medium_stress_impact_gain
|
||||
celibate = medium_stress_impact_gain
|
||||
forgiving = medium_stress_impact_gain
|
||||
compassionate = medium_stress_impact_gain
|
||||
honest = medium_stress_impact_gain
|
||||
}
|
||||
}
|
||||
else = {
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
vengeful = minor_stress_impact_loss
|
||||
lustful = minor_stress_impact_loss
|
||||
chaste = medium_stress_impact_gain
|
||||
celibate = medium_stress_impact_gain
|
||||
forgiving = medium_stress_impact_gain
|
||||
compassionate = medium_stress_impact_gain
|
||||
}
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = chaste
|
||||
has_trait = celibate
|
||||
has_trait = forgiving
|
||||
has_trait = compassionate
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Call them a ho
|
||||
option = {
|
||||
name = contest_events.5000.licentious
|
||||
duel = {
|
||||
skills = { diplomacy intrigue }
|
||||
target = scope:enemy
|
||||
50 = {
|
||||
modifier = { # The comment actually has a basis
|
||||
factor = 2
|
||||
scope:enemy = {
|
||||
OR = {
|
||||
is_concubine = yes
|
||||
has_trait = rakish
|
||||
has_trait = seducer
|
||||
has_trait = lustful
|
||||
has_trait = deviant
|
||||
has_trait = adulterer
|
||||
has_trait = fornicator
|
||||
has_trait = sodomite
|
||||
}
|
||||
}
|
||||
}
|
||||
modifier = { # It's a bit of a self-burn
|
||||
factor = 0.5
|
||||
root = {
|
||||
OR = {
|
||||
is_concubine = yes
|
||||
has_trait = rakish
|
||||
has_trait = seducer
|
||||
has_trait = lustful
|
||||
has_trait = deviant
|
||||
has_trait = adulterer
|
||||
has_trait = fornicator
|
||||
has_trait = sodomite
|
||||
}
|
||||
}
|
||||
}
|
||||
modifier = { # The crowd doesn't believe being lustful is bad
|
||||
factor = 0.5
|
||||
root.location.county.faith = {
|
||||
trait_is_virtue = lustful
|
||||
}
|
||||
}
|
||||
modifier = { # It is bad for them to be lecherous
|
||||
add = 5
|
||||
scope:enemy = {
|
||||
OR = {
|
||||
AND = {
|
||||
is_female = yes
|
||||
faith = { NOT = { has_doctrine_parameter = adultery_female_accepted } }
|
||||
}
|
||||
AND = {
|
||||
is_male = yes
|
||||
faith = { NOT = { has_doctrine_parameter = adultery_male_accepted } }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
desc = contest_events.5000.success
|
||||
send_interface_toast = {
|
||||
title = contest_events.5000.success
|
||||
right_icon = scope:enemy
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
||||
if = {
|
||||
limit = {
|
||||
has_trait = tourney_participant
|
||||
}
|
||||
add_trait_xp = {
|
||||
trait = tourney_participant
|
||||
track = wit
|
||||
value = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
desc = contest_events.5000.failure
|
||||
send_interface_toast = {
|
||||
title = contest_events.5000.failure
|
||||
right_icon = scope:enemy
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
||||
}
|
||||
}
|
||||
}
|
||||
progress_towards_rival_effect = {
|
||||
REASON = rival_recital_insult
|
||||
CHARACTER = scope:enemy
|
||||
OPINION = default_rival_opinion
|
||||
}
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
vengeful = minor_stress_impact_loss
|
||||
chaste = minor_stress_impact_loss
|
||||
lustful = medium_stress_impact_gain
|
||||
rakish = medium_stress_impact_gain
|
||||
deviant = medium_stress_impact_gain
|
||||
sodomite = medium_stress_impact_gain
|
||||
fornicator = medium_stress_impact_gain
|
||||
adulterer = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = lustful
|
||||
has_trait = rakish
|
||||
has_trait = deviant
|
||||
has_trait = sodomite
|
||||
has_trait = fornicator
|
||||
has_trait = adulterer
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Call them stupid
|
||||
option = {
|
||||
name = contest_events.5000.stupid
|
||||
duel = {
|
||||
skill = learning
|
||||
target = scope:enemy
|
||||
50 = {
|
||||
modifier = { # The comment actually has a basis
|
||||
factor = 2
|
||||
scope:enemy = {
|
||||
OR = {
|
||||
has_trait = dull
|
||||
has_trait = intellect_bad
|
||||
}
|
||||
}
|
||||
}
|
||||
modifier = { # It's a bit of a self-burn
|
||||
factor = 0.5
|
||||
root = {
|
||||
OR = {
|
||||
has_trait = dull
|
||||
has_trait = intellect_bad
|
||||
}
|
||||
}
|
||||
}
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
desc = contest_events.5000.success
|
||||
send_interface_toast = {
|
||||
title = contest_events.5000.success
|
||||
right_icon = scope:enemy
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
||||
if = {
|
||||
limit = {
|
||||
has_trait = tourney_participant
|
||||
}
|
||||
add_trait_xp = {
|
||||
trait = tourney_participant
|
||||
track = wit
|
||||
value = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
desc = contest_events.5000.failure
|
||||
send_interface_toast = {
|
||||
title = contest_events.5000.failure
|
||||
right_icon = scope:enemy
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
||||
}
|
||||
}
|
||||
}
|
||||
progress_towards_rival_effect = {
|
||||
REASON = rival_recital_insult
|
||||
CHARACTER = scope:enemy
|
||||
OPINION = default_rival_opinion
|
||||
}
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
vengeful = minor_stress_impact_loss
|
||||
chaste = minor_stress_impact_loss
|
||||
dull = medium_stress_impact_gain
|
||||
intellect_bad_1 = medium_stress_impact_gain
|
||||
intellect_bad_2 = medium_stress_impact_gain
|
||||
intellect_bad_3 = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = dull
|
||||
has_trait = intellect_bad
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Call them ugly
|
||||
option = {
|
||||
name = contest_events.5000.ugly
|
||||
duel = {
|
||||
skill = diplomacy
|
||||
target = scope:enemy
|
||||
50 = {
|
||||
modifier = { # The comment actually has a basis
|
||||
factor = 2
|
||||
scope:enemy = {
|
||||
has_trait = beauty_bad
|
||||
}
|
||||
}
|
||||
modifier = { # It's a bit of a self-burn
|
||||
factor = 0.5
|
||||
root = {
|
||||
has_trait = beauty_bad
|
||||
}
|
||||
}
|
||||
modifier = { # You're actually like so hot omg
|
||||
add = attraction
|
||||
}
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
desc = contest_events.5000.success
|
||||
send_interface_toast = {
|
||||
title = contest_events.5000.success
|
||||
right_icon = scope:enemy
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
||||
if = {
|
||||
limit = {
|
||||
has_trait = tourney_participant
|
||||
}
|
||||
add_trait_xp = {
|
||||
trait = tourney_participant
|
||||
track = wit
|
||||
value = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
modifier = {
|
||||
add = scope:enemy.attraction
|
||||
}
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
desc = contest_events.5000.failure
|
||||
send_interface_toast = {
|
||||
title = contest_events.5000.failure
|
||||
right_icon = scope:enemy
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
||||
}
|
||||
}
|
||||
}
|
||||
progress_towards_rival_effect = {
|
||||
REASON = rival_recital_insult
|
||||
CHARACTER = scope:enemy
|
||||
OPINION = default_rival_opinion
|
||||
}
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
vengeful = minor_stress_impact_loss
|
||||
chaste = minor_stress_impact_loss
|
||||
humble = medium_stress_impact_gain
|
||||
beauty_bad_1 = medium_stress_impact_gain
|
||||
beauty_bad_2 = medium_stress_impact_gain
|
||||
beauty_bad_3 = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = humble
|
||||
has_trait = beauty_bad
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# You speak a different language to your opponent and you have no idea what they just said
|
||||
# By James Beaumont
|
||||
contest_events.5010 = {
|
||||
type = activity_event
|
||||
title = contest_events.5010.t
|
||||
desc = contest_events.5010.desc
|
||||
theme = tournament_contest
|
||||
window = widget_activity_locale_fullscreen_event
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = disbelief
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:enemy
|
||||
animation = schadenfreude
|
||||
}
|
||||
cooldown = { years = 1 }
|
||||
|
||||
trigger = {
|
||||
scope:activity = {
|
||||
any_guest_subset_current_phase = {
|
||||
name = qualified
|
||||
contest_event_general_contestant_valid_trigger = yes
|
||||
NOT = { root = { knows_language_of_culture = prev.culture } }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:activity = {
|
||||
random_guest_subset_current_phase = {
|
||||
name = qualified
|
||||
limit = {
|
||||
contest_event_general_contestant_valid_trigger = yes
|
||||
NOT = { root = { knows_language_of_culture = prev.culture } }
|
||||
}
|
||||
save_scope_as = enemy
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Insult them?
|
||||
option = {
|
||||
name = contest_events.5010.a
|
||||
duel = {
|
||||
skill = intrigue
|
||||
target = scope:enemy
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
desc = contest_events.5000.success
|
||||
send_interface_toast = {
|
||||
title = contest_events.5000.success
|
||||
right_icon = scope:enemy
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
||||
if = {
|
||||
limit = {
|
||||
has_trait = tourney_participant
|
||||
}
|
||||
add_trait_xp = {
|
||||
trait = tourney_participant
|
||||
track = wit
|
||||
value = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
desc = contest_events.5000.failure
|
||||
send_interface_toast = {
|
||||
title = contest_events.5000.failure
|
||||
right_icon = scope:enemy
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
||||
}
|
||||
}
|
||||
}
|
||||
progress_towards_rival_effect = {
|
||||
REASON = rival_recital_insult
|
||||
CHARACTER = scope:enemy
|
||||
OPINION = default_rival_opinion
|
||||
}
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
vengeful = minor_stress_impact_loss
|
||||
forgiving = medium_stress_impact_gain
|
||||
compassionate = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = forgiving
|
||||
has_trait = compassionate
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Try to guess what they meant
|
||||
option = {
|
||||
name = contest_events.5010.b
|
||||
duel = {
|
||||
skill = learning
|
||||
value = high_skill_rating
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
desc = contest_events.5000.success
|
||||
send_interface_toast = {
|
||||
title = contest_events.5000.success
|
||||
right_icon = scope:enemy
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
||||
if = {
|
||||
limit = {
|
||||
has_trait = tourney_participant
|
||||
}
|
||||
add_trait_xp = {
|
||||
trait = tourney_participant
|
||||
track = wit
|
||||
value = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
desc = contest_events.5000.failure
|
||||
send_interface_toast = {
|
||||
title = contest_events.5000.failure
|
||||
right_icon = scope:enemy
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
dull = medium_stress_impact_gain
|
||||
impatient = medium_stress_impact_gain
|
||||
vengeful = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = dull
|
||||
has_trait = impatient
|
||||
has_trait = vengeful
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Your poem goes well, push your luck?
|
||||
# By James Beaumont
|
||||
contest_events.5020 = {
|
||||
type = activity_event
|
||||
title = contest_events.5020.t
|
||||
desc = contest_events.5020.desc
|
||||
theme = tournament_contest
|
||||
window = widget_activity_locale_fullscreen_event
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = ecstasy
|
||||
}
|
||||
cooldown = { years = 1 }
|
||||
|
||||
trigger = {
|
||||
scope:activity = {
|
||||
any_guest_subset_current_phase = {
|
||||
name = qualified
|
||||
contest_event_general_contestant_valid_trigger = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:activity = {
|
||||
random_guest_subset_current_phase = {
|
||||
name = qualified
|
||||
limit = { contest_event_general_contestant_valid_trigger = yes }
|
||||
save_scope_as = enemy
|
||||
}
|
||||
}
|
||||
hidden_effect = { # Set up the scopes for the poem loc
|
||||
root = {
|
||||
select_poem_subject_gender_effect = {
|
||||
SUBJECT = flag:specific
|
||||
SUBJECT_TARGET = scope:enemy
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Push your luck
|
||||
option = {
|
||||
name = contest_events.5020.a
|
||||
duel = {
|
||||
skill = diplomacy
|
||||
target = scope:enemy
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
desc = contest_events.5000.success
|
||||
send_interface_toast = {
|
||||
title = contest_events.5000.success
|
||||
right_icon = scope:enemy
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = increase_massive }
|
||||
if = {
|
||||
limit = {
|
||||
has_trait = tourney_participant
|
||||
}
|
||||
add_trait_xp = {
|
||||
trait = tourney_participant
|
||||
track = wit
|
||||
value = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
desc = contest_events.5000.failure
|
||||
send_interface_toast = {
|
||||
title = contest_events.5000.failure
|
||||
right_icon = scope:enemy
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
content = medium_stress_impact_gain
|
||||
humble = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = content
|
||||
has_trait = humble
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Play it safe and take a bow
|
||||
option = {
|
||||
name = contest_events.5020.b
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
||||
stress_impact = {
|
||||
ambitious = minor_stress_impact_gain
|
||||
arrogant = minor_stress_impact_gain
|
||||
stubborn = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = ambitious
|
||||
has_trait = arrogant
|
||||
has_trait = stubborn
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Your poem goes poorly, try to salvage it?
|
||||
# By James Beaumont
|
||||
contest_events.5030 = {
|
||||
type = activity_event
|
||||
title = contest_events.5030.t
|
||||
desc = contest_events.5030.desc
|
||||
theme = tournament_contest
|
||||
window = widget_activity_locale_fullscreen_event
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = ecstasy
|
||||
}
|
||||
cooldown = { years = 1 }
|
||||
|
||||
trigger = {
|
||||
scope:activity = {
|
||||
any_guest_subset_current_phase = {
|
||||
name = qualified
|
||||
contest_event_general_contestant_valid_trigger = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:activity = {
|
||||
random_guest_subset_current_phase = {
|
||||
name = qualified
|
||||
limit = { contest_event_general_contestant_valid_trigger = yes }
|
||||
save_scope_as = enemy
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Push your luck
|
||||
option = {
|
||||
name = contest_events.5030.a
|
||||
duel = {
|
||||
skill = diplomacy
|
||||
target = scope:enemy
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
desc = contest_events.5000.success
|
||||
send_interface_toast = {
|
||||
title = contest_events.5000.success
|
||||
right_icon = scope:enemy
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
||||
if = {
|
||||
limit = {
|
||||
has_trait = tourney_participant
|
||||
}
|
||||
add_trait_xp = {
|
||||
trait = tourney_participant
|
||||
track = wit
|
||||
value = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
desc = contest_events.5000.failure
|
||||
send_interface_toast = {
|
||||
title = contest_events.5000.failure
|
||||
right_icon = scope:enemy
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = decrease_major }
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
content = medium_stress_impact_gain
|
||||
humble = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = content
|
||||
has_trait = humble
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Play it safe and take a bow
|
||||
option = {
|
||||
name = contest_events.5030.b
|
||||
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
||||
stress_impact = {
|
||||
ambitious = minor_stress_impact_gain
|
||||
arrogant = minor_stress_impact_gain
|
||||
stubborn = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = ambitious
|
||||
has_trait = arrogant
|
||||
has_trait = stubborn
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,144 +0,0 @@
|
|||
|
||||
#Events handling the Spouse Councillor position in the background
|
||||
|
||||
namespace = councillor_spouse_background
|
||||
|
||||
|
||||
#Ongoing event tracking background progress
|
||||
councillor_spouse_background.0001 = {
|
||||
hidden = yes
|
||||
|
||||
trigger = {
|
||||
is_alive = yes
|
||||
has_council_position = councillor_spouse
|
||||
any_spouse = {
|
||||
exists = this.cp:councillor_spouse
|
||||
this.cp:councillor_spouse = root
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
is_landed = no
|
||||
is_capable_adult_ai = yes
|
||||
NOT = { is_performing_council_task = task_spouse_default }
|
||||
}
|
||||
#Diplomacy rank up
|
||||
if = {
|
||||
limit = {
|
||||
is_performing_council_task = task_court_politics
|
||||
NOT = { has_trait = diplomat }
|
||||
var:councillor_spouse_lifestyle_progress > councillor_spouse_lifestyle_rank_up_threshold
|
||||
}
|
||||
councillor_spouse_lifestyle_rank_up_effect = {
|
||||
SKILL = diplomacy
|
||||
}
|
||||
}
|
||||
#Martial rank up
|
||||
else_if = {
|
||||
limit = {
|
||||
is_performing_council_task = task_chivalry
|
||||
NOT = { has_trait = strategist }
|
||||
var:councillor_spouse_lifestyle_progress > councillor_spouse_lifestyle_rank_up_threshold
|
||||
}
|
||||
councillor_spouse_lifestyle_rank_up_effect = {
|
||||
SKILL = martial
|
||||
}
|
||||
}
|
||||
#Intrigue rank up
|
||||
else_if = {
|
||||
limit = {
|
||||
is_performing_council_task = task_court_intrigue
|
||||
NOT = { has_trait = schemer }
|
||||
var:councillor_spouse_lifestyle_progress > councillor_spouse_lifestyle_rank_up_threshold
|
||||
}
|
||||
councillor_spouse_lifestyle_rank_up_effect = {
|
||||
SKILL = intrigue
|
||||
}
|
||||
}
|
||||
#Stewardship rank up
|
||||
else_if = {
|
||||
limit = {
|
||||
is_performing_council_task = task_manage_domain
|
||||
NOT = { has_trait = architect }
|
||||
var:councillor_spouse_lifestyle_progress > councillor_spouse_lifestyle_rank_up_threshold
|
||||
}
|
||||
councillor_spouse_lifestyle_rank_up_effect = {
|
||||
SKILL = stewardship
|
||||
}
|
||||
}
|
||||
#Learning rank up
|
||||
else_if = {
|
||||
limit = {
|
||||
is_performing_council_task = task_patronage
|
||||
NOT = { has_trait = scholar }
|
||||
var:councillor_spouse_lifestyle_progress > councillor_spouse_lifestyle_rank_up_threshold
|
||||
}
|
||||
councillor_spouse_lifestyle_rank_up_effect = {
|
||||
SKILL = learning
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
NOT = { exists = scope:ranked_up }
|
||||
#Prevent further progress from being added once the councillor is at max lifestyle rank:
|
||||
trigger_if = {
|
||||
limit = {
|
||||
is_performing_council_task = task_court_politics
|
||||
}
|
||||
NOT = { has_trait = diplomat }
|
||||
}
|
||||
trigger_else_if = {
|
||||
limit = {
|
||||
is_performing_council_task = task_chivalry
|
||||
}
|
||||
NOT = { has_trait = strategist }
|
||||
}
|
||||
trigger_else_if = {
|
||||
limit = {
|
||||
is_performing_council_task = task_manage_domain
|
||||
}
|
||||
NOT = { has_trait = architect }
|
||||
}
|
||||
trigger_else_if = {
|
||||
limit = {
|
||||
is_performing_council_task = task_patronage
|
||||
}
|
||||
NOT = { has_trait = scholar }
|
||||
}
|
||||
trigger_else_if = {
|
||||
limit = {
|
||||
is_performing_council_task = task_court_intrigue
|
||||
}
|
||||
NOT = { has_trait = schemer }
|
||||
}
|
||||
trigger_else = {
|
||||
always = yes
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
has_variable = councillor_spouse_lifestyle_progress
|
||||
}
|
||||
change_variable = {
|
||||
name = councillor_spouse_lifestyle_progress
|
||||
add = councillor_spouse_lifestyle_progress_increase
|
||||
}
|
||||
}
|
||||
else = {
|
||||
set_variable = {
|
||||
name = councillor_spouse_lifestyle_progress
|
||||
value = councillor_spouse_lifestyle_progress_increase
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
clear_saved_scope = ranked_up
|
||||
trigger_event = {
|
||||
id = councillor_spouse_background.0001
|
||||
months = 6
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,233 +0,0 @@
|
|||
namespace = court_new
|
||||
|
||||
scripted_trigger court_new_1_body_guard_candidate = {
|
||||
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
|
||||
is_available_ai_adult = yes
|
||||
aptitude = {
|
||||
court_position = bodyguard_court_position
|
||||
value >= 2
|
||||
}
|
||||
}
|
||||
|
||||
scripted_trigger court_new_1_murderer = {
|
||||
any_scheme = {
|
||||
type = murder
|
||||
is_scheme_exposed = yes
|
||||
}
|
||||
}
|
||||
|
||||
# The Sword of Damocles
|
||||
# I'm scared of being murdered and want a bodyguard
|
||||
court_new.0001 = {
|
||||
type = court_event
|
||||
title = court_new.0001.t
|
||||
desc = {
|
||||
desc = court_new.0001.desc.intro
|
||||
first_valid = {
|
||||
triggered_desc = { # someone close to me was murdered
|
||||
trigger = {
|
||||
exists = scope:murdered_person
|
||||
}
|
||||
desc = court_new.0001.desc.murdered
|
||||
}
|
||||
triggered_desc = { # I know a murderer
|
||||
trigger = {
|
||||
exists = scope:murder_dude
|
||||
}
|
||||
desc = court_new.0001.desc.murderer
|
||||
}
|
||||
desc = court_new.0001.desc.paranoid
|
||||
}
|
||||
desc = court_new.0001.desc.outro
|
||||
}
|
||||
|
||||
theme = court
|
||||
court_scene = {
|
||||
button_position_character = scope:bodyguard_candidate
|
||||
roles = {
|
||||
scope:bodyguard_candidate = {
|
||||
group = event_group
|
||||
animation = hero_flex
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cooldown = { years = 5 }
|
||||
|
||||
trigger = {
|
||||
is_available_adult = yes
|
||||
OR = {
|
||||
has_trait = paranoid
|
||||
any_close_or_extended_family_member = {
|
||||
even_if_dead = yes
|
||||
is_alive = no
|
||||
death_reason = death_murder
|
||||
}
|
||||
any_former_spouse = {
|
||||
even_if_dead = yes
|
||||
is_alive = no
|
||||
death_reason = death_murder
|
||||
}
|
||||
any_courtier = {
|
||||
court_new_1_murderer = yes
|
||||
}
|
||||
}
|
||||
OR = {
|
||||
NOT = { employs_court_position = bodyguard_court_position }
|
||||
AND = {
|
||||
has_trait = paranoid
|
||||
any_court_position_holder = {
|
||||
type = bodyguard_court_position
|
||||
count = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
any_pool_character = {
|
||||
province = root.capital_province
|
||||
court_new_1_body_guard_candidate = yes
|
||||
}
|
||||
}
|
||||
random_pool_character = {
|
||||
province = root.capital_province
|
||||
limit = {
|
||||
court_new_1_body_guard_candidate = yes
|
||||
}
|
||||
save_scope_as = bodyguard_candidate
|
||||
}
|
||||
}
|
||||
else = {
|
||||
create_character = {
|
||||
template = mercenary
|
||||
location = root.location
|
||||
dynasty = none
|
||||
culture = root.capital_county.culture
|
||||
faith = root.capital_county.faith
|
||||
gender_female_chance = root_soldier_female_chance
|
||||
save_scope_as = bodyguard_candidate
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
any_close_or_extended_family_member = {
|
||||
even_if_dead = yes
|
||||
is_alive = no
|
||||
death_reason = death_murder
|
||||
}
|
||||
}
|
||||
random_close_or_extended_family_member = {
|
||||
even_if_dead = yes
|
||||
limit = {
|
||||
is_alive = no
|
||||
death_reason = death_murder
|
||||
}
|
||||
save_scope_as = murdered_person
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
any_former_spouse = {
|
||||
even_if_dead = yes
|
||||
is_alive = no
|
||||
death_reason = death_murder
|
||||
}
|
||||
}
|
||||
random_former_spouse = {
|
||||
even_if_dead = yes
|
||||
limit = {
|
||||
is_alive = no
|
||||
death_reason = death_murder
|
||||
}
|
||||
save_scope_as = murdered_person
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
any_courtier = {
|
||||
court_new_1_murderer = yes
|
||||
}
|
||||
}
|
||||
random_courtier = {
|
||||
limit = {
|
||||
court_new_1_murderer = yes
|
||||
}
|
||||
save_scope_as = murder_dude
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # I need a bodyguard right away
|
||||
name = {
|
||||
text = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
any_killed_character = { }
|
||||
}
|
||||
desc = court_new.0001.a.murderer
|
||||
}
|
||||
desc = court_new.0001.a
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:bodyguard_candidate = {
|
||||
NOT = { is_courtier_of = root }
|
||||
}
|
||||
}
|
||||
add_courtier = scope:bodyguard_candidate
|
||||
}
|
||||
court_position_grant_effect = {
|
||||
EMPLOYER = root
|
||||
POS = bodyguard
|
||||
CANDIDATE = scope:bodyguard_candidate
|
||||
}
|
||||
stress_impact = {
|
||||
base = miniscule_stress_impact_loss
|
||||
paranoid = minor_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 50
|
||||
modifier = {
|
||||
has_trait = paranoid
|
||||
factor = 50
|
||||
}
|
||||
ai_value_modifier = {
|
||||
ai_boldness = -1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # I'm sure I'll be fine
|
||||
name = court_new.0001.b
|
||||
stress_impact = {
|
||||
base = miniscule_stress_impact_gain
|
||||
paranoid = miniscule_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 50
|
||||
modifier = {
|
||||
has_trait = paranoid
|
||||
factor = -50
|
||||
}
|
||||
ai_value_modifier = {
|
||||
ai_boldness = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
scope:bodyguard_candidate = {
|
||||
clear_court_event_participation = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,655 +0,0 @@
|
|||
namespace = court_amenities_interactions
|
||||
|
||||
|
||||
#########################
|
||||
# Sumptuary Debate #
|
||||
# by James Beaumont #
|
||||
# 0010-0013 #
|
||||
#########################
|
||||
|
||||
# The challenge to debate is issued!
|
||||
# by JB
|
||||
court_amenities_interactions.0010 = {
|
||||
type = character_event
|
||||
title = court_amenities_interactions.0010.t
|
||||
desc = {
|
||||
desc = court_amenities_interactions.0010.desc_intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:actor = { has_character_flag = flag_big_collar }
|
||||
}
|
||||
desc = court_amenities_interactions.0010.desc.flag_big_collar
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:actor = { has_character_flag = flag_head_dress }
|
||||
}
|
||||
desc = court_amenities_interactions.0010.desc.flag_head_dress
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:actor = { has_character_flag = flag_gold_boots }
|
||||
}
|
||||
desc = court_amenities_interactions.0010.desc.flag_gold_boots
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:actor = { has_character_flag = flag_sleeveless }
|
||||
}
|
||||
desc = court_amenities_interactions.0010.desc.flag_sleeveless
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:actor = { has_character_flag = flag_commoner_clothes }
|
||||
}
|
||||
desc = court_amenities_interactions.0010.desc.flag_commoner_clothes
|
||||
}
|
||||
}
|
||||
desc = court_amenities_interactions.0010.desc_outro
|
||||
}
|
||||
theme = stewardship_wealth_focus
|
||||
override_background = {
|
||||
reference = council_chamber
|
||||
}
|
||||
left_portrait = {
|
||||
character = scope:actor
|
||||
animation = ecstasy
|
||||
triggered_outfit = {
|
||||
trigger = {
|
||||
scope:actor = { has_character_flag = flag_commoner_clothes }
|
||||
}
|
||||
outfit_tags = { beggar_rags }
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
scope:actor = { has_royal_court = yes }
|
||||
}
|
||||
scope:actor = {
|
||||
capital_province = {
|
||||
barony = { save_scope_as = debate_locale }
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
scope:actor.liege = {
|
||||
capital_province = {
|
||||
barony = { save_scope_as = debate_locale }
|
||||
}
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
if = {
|
||||
limit = {
|
||||
scope:actor = {
|
||||
NOT = { has_variable = fashion_victories }
|
||||
}
|
||||
}
|
||||
scope:actor = {
|
||||
set_variable = {
|
||||
name = fashion_victories
|
||||
value = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:recipient = {
|
||||
NOT = { has_variable = fashion_victories }
|
||||
}
|
||||
}
|
||||
scope:recipient = {
|
||||
set_variable = {
|
||||
name = fashion_victories
|
||||
value = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#I accept the challenge.
|
||||
option = {
|
||||
name = {
|
||||
trigger = { scope:actor = { has_character_flag = flag_big_collar } }
|
||||
text = court_amenities_interactions.0010.a_flag_big_collar
|
||||
}
|
||||
name = court_amenities_interactions.0010.a
|
||||
duel = {
|
||||
skill = stewardship # How well do you understand the law?
|
||||
target = scope:actor
|
||||
50 = { #Defender wins the toss.
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
# Attractive people are more likely to win the debate
|
||||
modifier = {
|
||||
add = {
|
||||
value = scope:recipient.attraction
|
||||
multiply = 5
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = {
|
||||
value = scope:actor.attraction
|
||||
multiply = -5
|
||||
}
|
||||
}
|
||||
# How good are you at convincing people?
|
||||
modifier = {
|
||||
add = {
|
||||
value = scope:recipient.diplomacy
|
||||
multiply = 5
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = {
|
||||
value = scope:actor.diplomacy
|
||||
multiply = -5
|
||||
}
|
||||
}
|
||||
desc = court_amenities_interactions.0010.a.tt_success
|
||||
hidden_effect = {
|
||||
scope:recipient = {
|
||||
change_variable = {
|
||||
name = fashion_victories
|
||||
add = 1
|
||||
}
|
||||
add_character_flag = {
|
||||
flag = court_fashion_success
|
||||
years = 1
|
||||
}
|
||||
trigger_event = {
|
||||
id = court_amenities_interactions.0012
|
||||
days = 7
|
||||
}
|
||||
}
|
||||
scope:actor = {
|
||||
change_variable = {
|
||||
name = fashion_victories
|
||||
add = -1
|
||||
}
|
||||
add_character_flag = {
|
||||
flag = court_fashion_failure
|
||||
years = 1
|
||||
}
|
||||
trigger_event = {
|
||||
id = court_amenities_interactions.0011
|
||||
days = 7
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = { #Attacker wins the toss.
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
# Attractive people are more likely to win the debate
|
||||
modifier = {
|
||||
add = {
|
||||
value = scope:recipient.attraction
|
||||
multiply = -5
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = {
|
||||
value = scope:actor.attraction
|
||||
multiply = 5
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
has_nickname = nick_prince_of_fashion
|
||||
}
|
||||
desc = court_amenities_interactions.0010.a.tt_success
|
||||
hidden_effect = {
|
||||
#Remember how many victories the character has had
|
||||
scope:actor = {
|
||||
change_variable = {
|
||||
name = fashion_victories
|
||||
add = 1
|
||||
}
|
||||
}
|
||||
scope:recipient = {
|
||||
change_variable = {
|
||||
name = fashion_victories
|
||||
add = -1
|
||||
}
|
||||
}
|
||||
random_list = {
|
||||
100 = { # Success, gain prestige
|
||||
modifier = { # Less and less likely the more the player has won
|
||||
add = {
|
||||
value = scope:actor.var:fashion_victories
|
||||
multiply = -5
|
||||
}
|
||||
}
|
||||
scope:recipient = {
|
||||
add_character_flag = {
|
||||
flag = court_fashion_failure
|
||||
years = 1
|
||||
}
|
||||
trigger_event = {
|
||||
id = court_amenities_interactions.0012
|
||||
days = 7
|
||||
}
|
||||
}
|
||||
scope:actor = {
|
||||
add_character_flag = {
|
||||
flag = court_fashion_success
|
||||
years = 1
|
||||
}
|
||||
trigger_event = {
|
||||
id = court_amenities_interactions.0011
|
||||
days = 7
|
||||
}
|
||||
}
|
||||
}
|
||||
5 = { # Critical success, become the King of Fashion, only available for the introducer
|
||||
trigger = {
|
||||
NOT = { exists = title:k_fashion.holder } #Kingdom of Fashion doesn't already exist
|
||||
scope:actor = {
|
||||
is_landed = yes
|
||||
highest_held_title_tier >= tier_kingdom # Kingdom of Fashion shouldn't elevate your rank
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
factor = scope:actor.var:fashion_victories
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
has_nickname = nick_prince_of_fashion
|
||||
}
|
||||
scope:actor = {
|
||||
add_character_flag = {
|
||||
flag = court_fashion_critical_success
|
||||
years = 1
|
||||
}
|
||||
trigger_event = court_amenities_interactions.0013
|
||||
}
|
||||
scope:recipient = {
|
||||
trigger_event = court_amenities_interactions.0012
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
#Say nothing
|
||||
option = {
|
||||
name = court_amenities_interactions.0010.b
|
||||
add_prestige = minor_prestige_loss
|
||||
hidden_effect = {
|
||||
scope:actor = {
|
||||
send_interface_toast = {
|
||||
title = court_amenities_interactions.0010.t
|
||||
desc = court_amenities_interactions.0010.b_turned_down
|
||||
left_icon = scope:recipient
|
||||
}
|
||||
change_variable = {
|
||||
name = fashion_victories
|
||||
add = 1
|
||||
}
|
||||
add_prestige = medium_prestige_gain
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
diligent = minor_stress_impact_gain
|
||||
arrogant = minor_stress_impact_gain
|
||||
brave = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 50
|
||||
modifier = { #Rivals should jump at the opportunity to mock their rival
|
||||
add = -50
|
||||
has_relation_rival = scope:actor
|
||||
}
|
||||
modifier = { #Owners of the court should usually defend their own fashion
|
||||
add = -25
|
||||
is_liege_or_above_of = scope:actor
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# #Debate results: aggressor / actor
|
||||
# by James Beaumont
|
||||
court_amenities_interactions.0011 = {
|
||||
type = character_event
|
||||
title = court_amenities_interactions.0011.t
|
||||
desc = {
|
||||
desc = court_amenities_interactions.0011.desc_intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = flag_big_collar
|
||||
}
|
||||
desc = court_amenities_interactions.0011.desc.flag_big_collar
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = flag_head_dress
|
||||
}
|
||||
desc = court_amenities_interactions.0011.desc.flag_head_dress
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = flag_gold_boots
|
||||
}
|
||||
desc = court_amenities_interactions.0011.desc.flag_gold_boots
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = flag_sleeveless
|
||||
}
|
||||
desc = court_amenities_interactions.0011.desc.flag_sleeveless
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = flag_commoner_clothes
|
||||
}
|
||||
desc = court_amenities_interactions.0011.desc.flag_commoner_clothes
|
||||
}
|
||||
}
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = flag_big_collar
|
||||
}
|
||||
desc = court_amenities_interactions.0010.a_flag_big_collar
|
||||
}
|
||||
desc = court_amenities_interactions.0010.a
|
||||
}
|
||||
desc = court_amenities_interactions.0011.desc_bridge
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = court_fashion_success
|
||||
}
|
||||
desc = court_amenities_interactions.0011.desc_won
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = court_fashion_failure
|
||||
}
|
||||
desc = court_amenities_interactions.0011.desc_lost
|
||||
}
|
||||
}
|
||||
}
|
||||
theme = stewardship_wealth_focus
|
||||
override_background = {
|
||||
reference = council_chamber
|
||||
}
|
||||
left_portrait = {
|
||||
character = scope:recipient
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
scope:recipient = { has_character_flag = court_fashion_failure }
|
||||
}
|
||||
animation = disbelief
|
||||
}
|
||||
animation = schadenfreude
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:actor
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
scope:actor = { has_character_flag = court_fashion_failure }
|
||||
}
|
||||
animation = disbelief
|
||||
}
|
||||
animation = schadenfreude
|
||||
triggered_outfit = {
|
||||
trigger = {
|
||||
scope:actor = { has_character_flag = flag_commoner_clothes }
|
||||
}
|
||||
outfit_tags = { beggar_rags }
|
||||
}
|
||||
}
|
||||
|
||||
#The result.
|
||||
option = {
|
||||
name = {
|
||||
trigger = { has_character_flag = court_fashion_success }
|
||||
text = court_amenities_interactions.0011.a_won
|
||||
}
|
||||
name = {
|
||||
trigger = { has_character_flag = court_fashion_failure }
|
||||
text = court_amenities_interactions.0011.a_lost
|
||||
}
|
||||
if = {
|
||||
limit = { has_character_flag = court_fashion_success }
|
||||
add_prestige = major_prestige_gain
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_character_flag = court_fashion_failure }
|
||||
add_prestige = major_prestige_loss
|
||||
add_stress = medium_stress_gain
|
||||
}
|
||||
reverse_add_opinion = {
|
||||
target = scope:recipient
|
||||
modifier = insulted_opinion
|
||||
opinion = -35
|
||||
}
|
||||
ai_chance = { #No other options available.
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# #Debate results: defender / recipient
|
||||
# by James Beaumont
|
||||
court_amenities_interactions.0012 = {
|
||||
type = character_event
|
||||
title = court_amenities_interactions.0011.t
|
||||
desc = {
|
||||
desc = court_amenities_interactions.0012.desc_intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = court_fashion_success
|
||||
}
|
||||
desc = court_amenities_interactions.0012.desc_won
|
||||
}
|
||||
desc = court_amenities_interactions.0012.desc_lost
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:actor = { has_character_flag = court_fashion_critical_success }
|
||||
}
|
||||
desc = court_amenities_interactions.0012.desc_lost.kof
|
||||
}
|
||||
}
|
||||
theme = stewardship_wealth_focus
|
||||
override_background = {
|
||||
reference = council_chamber
|
||||
}
|
||||
left_portrait = {
|
||||
character = scope:actor
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
scope:actor = { has_character_flag = court_fashion_failure }
|
||||
}
|
||||
animation = disbelief
|
||||
}
|
||||
animation = schadenfreude
|
||||
triggered_outfit = {
|
||||
trigger = {
|
||||
scope:actor = {
|
||||
has_character_flag = flag_commoner_clothes
|
||||
}
|
||||
}
|
||||
outfit_tags = { beggar_rags }
|
||||
}
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:recipient
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
scope:recipient = { has_character_flag = court_fashion_failure }
|
||||
}
|
||||
animation = disbelief
|
||||
}
|
||||
animation = schadenfreude
|
||||
}
|
||||
|
||||
#The result.
|
||||
option = {
|
||||
name = {
|
||||
trigger = { has_character_flag = court_fashion_success }
|
||||
text = court_amenities_interactions.0011.a_won
|
||||
}
|
||||
name = {
|
||||
trigger = { has_character_flag = court_fashion_failure }
|
||||
text = court_amenities_interactions.0012.a_lost
|
||||
}
|
||||
if = {
|
||||
limit = { has_character_flag = court_fashion_success}
|
||||
add_prestige = major_prestige_gain
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_character_flag = court_fashion_failure }
|
||||
add_prestige = major_prestige_loss
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:actor = {
|
||||
is_alive = yes
|
||||
}
|
||||
}
|
||||
reverse_add_opinion = {
|
||||
target = scope:actor
|
||||
modifier = insulted_opinion
|
||||
opinion = -35
|
||||
}
|
||||
}
|
||||
ai_chance = { #No other options available.
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
################################
|
||||
# King of Fashion declared
|
||||
# by James Beaumont
|
||||
################################
|
||||
court_amenities_interactions.0013 = {
|
||||
type = character_event
|
||||
title = court_amenities_interactions.0010.t
|
||||
desc = {
|
||||
desc = court_amenities_interactions.0011.desc_intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = flag_big_collar
|
||||
}
|
||||
desc = court_amenities_interactions.0011.desc.flag_big_collar
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = flag_head_dress
|
||||
}
|
||||
desc = court_amenities_interactions.0011.desc.flag_head_dress
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = flag_gold_boots
|
||||
}
|
||||
desc = court_amenities_interactions.0011.desc.flag_gold_boots
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = flag_sleeveless
|
||||
}
|
||||
desc = court_amenities_interactions.0011.desc.flag_sleeveless
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = flag_commoner_clothes
|
||||
}
|
||||
desc = court_amenities_interactions.0011.desc.flag_commoner_clothes
|
||||
}
|
||||
}
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = flag_big_collar
|
||||
}
|
||||
desc = court_amenities_interactions.0010.a_flag_big_collar
|
||||
}
|
||||
desc = court_amenities_interactions.0010.a
|
||||
}
|
||||
desc = court_amenities_interactions.0011.desc_bridge
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = court_fashion_success
|
||||
}
|
||||
desc = court_amenities_interactions.0011.desc_won
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = court_fashion_failure
|
||||
}
|
||||
desc = court_amenities_interactions.0011.desc_lost
|
||||
}
|
||||
}
|
||||
desc = court_amenities_interactions.0013.desc
|
||||
}
|
||||
theme = stewardship_wealth_focus
|
||||
override_background = {
|
||||
reference = council_chamber
|
||||
}
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = scheme
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:victim
|
||||
animation = pain
|
||||
}
|
||||
|
||||
option = { # Become the King of Fashion!
|
||||
name = court_amenities_interactions.0013.a
|
||||
add_prestige = major_prestige_gain
|
||||
reverse_add_opinion = {
|
||||
target = scope:recipient
|
||||
modifier = insulted_opinion
|
||||
opinion = -35
|
||||
}
|
||||
create_title_and_vassal_change = {
|
||||
type = created
|
||||
save_scope_as = change
|
||||
add_claim_on_loss = no
|
||||
}
|
||||
title:k_fashion = {
|
||||
change_title_holder = {
|
||||
holder = root
|
||||
change = scope:change
|
||||
}
|
||||
set_capital_county = root.capital_county # Make the emblem appear on the map in the right spot
|
||||
}
|
||||
resolve_title_and_vassal_change = scope:change
|
||||
if = {
|
||||
limit = {
|
||||
OR = {
|
||||
has_any_nickname = no
|
||||
has_bad_nickname = yes
|
||||
}
|
||||
}
|
||||
give_nickname = nick_king_of_fashion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,654 +0,0 @@
|
|||
namespace = court_amenities_interactions
|
||||
|
||||
|
||||
#########################
|
||||
# Sumptuary Debate #
|
||||
# by James Beaumont #
|
||||
# 0001-0004 #
|
||||
#########################
|
||||
|
||||
# The challenge to debate is issued!
|
||||
# by JB
|
||||
court_amenities_interactions.0001 = {
|
||||
type = character_event
|
||||
title = court_amenities_interactions.0001.t
|
||||
desc = {
|
||||
desc = court_amenities_interactions.0001.desc_intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:recipient.faith = { has_doctrine_parameter = naked_adherents_active }
|
||||
}
|
||||
desc = court_amenities_interactions.0001.desc.nakey
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:actor = { has_trait = born_in_the_purple }
|
||||
scope:recipient = { NOT = { has_trait = born_in_the_purple } }
|
||||
}
|
||||
desc = court_amenities_interactions.0001.desc_byzantine
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
OR = {
|
||||
scope:recipient = { is_landed = yes }
|
||||
scope:recipient = { has_any_court_position = yes }
|
||||
}
|
||||
}
|
||||
desc = court_amenities_interactions.0001.desc_court_position
|
||||
}
|
||||
desc = court_amenities_interactions.0001.desc
|
||||
}
|
||||
desc = court_amenities_interactions.0001.desc_outro
|
||||
}
|
||||
theme = party
|
||||
override_background = {
|
||||
reference = council_chamber
|
||||
}
|
||||
left_portrait = root
|
||||
right_portrait = scope:actor
|
||||
|
||||
immediate = {
|
||||
# Only the initiator of the challenge is destined to be landed
|
||||
scope:actor.capital_province.barony = { save_scope_as = debate_locale }
|
||||
}
|
||||
|
||||
#I accept the challenge.
|
||||
option = {
|
||||
name = court_amenities_interactions.0001.a
|
||||
duel = {
|
||||
skills = {
|
||||
stewardship # How well do you understand the law?
|
||||
diplomacy # How good are you at convincing people?
|
||||
}
|
||||
target = scope:actor
|
||||
50 = { #Defender wins the toss.
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
# Attractive people are more likely to win the debate
|
||||
modifier = {
|
||||
add = {
|
||||
value = scope:recipient.attraction
|
||||
multiply = 5
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = {
|
||||
value = scope:actor.attraction
|
||||
multiply = -5
|
||||
}
|
||||
}
|
||||
min = 5
|
||||
custom_tooltip = court_amenities_interactions.0001.a.tt_success
|
||||
hidden_effect = {
|
||||
random_list = {
|
||||
90 = { # Success, gain prestige
|
||||
scope:actor = {
|
||||
add_character_flag = {
|
||||
flag = sumptuary_debate_lost
|
||||
years = 1
|
||||
}
|
||||
trigger_event = {
|
||||
id = court_amenities_interactions.0002
|
||||
days = 7
|
||||
}
|
||||
}
|
||||
scope:recipient = {
|
||||
add_character_flag = {
|
||||
flag = sumptuary_debate_won
|
||||
years = 1
|
||||
}
|
||||
trigger_event = {
|
||||
id = court_amenities_interactions.0003
|
||||
days = 7
|
||||
}
|
||||
}
|
||||
}
|
||||
10 = { # Critical success, gain imprisonment reason
|
||||
trigger = {
|
||||
scope:recipient = {
|
||||
is_landed = yes
|
||||
}
|
||||
scope:actor = {
|
||||
is_ai = yes
|
||||
}
|
||||
}
|
||||
compare_modifier = {
|
||||
target = scope:recipient
|
||||
value = diplomacy
|
||||
}
|
||||
compare_modifier = {
|
||||
target = scope:actor
|
||||
value = diplomacy
|
||||
multiplier = -1
|
||||
}
|
||||
scope:actor = {
|
||||
save_scope_as = victim
|
||||
}
|
||||
scope:recipient = {
|
||||
trigger_event = {
|
||||
id = court_amenities_interactions.0004
|
||||
days = 7
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = { #Attacker wins the toss.
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
# Attractive people are more likely to win the debate
|
||||
modifier = {
|
||||
add = {
|
||||
value = scope:recipient.attraction
|
||||
multiply = -5
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = {
|
||||
value = scope:actor.attraction
|
||||
multiply = 5
|
||||
}
|
||||
}
|
||||
min = 5
|
||||
custom_tooltip = court_amenities_interactions.0001.a.tt_failure
|
||||
hidden_effect = {
|
||||
random_list = {
|
||||
90 = { # Success, gain prestige
|
||||
scope:recipient = {
|
||||
add_character_flag = {
|
||||
flag = sumptuary_debate_lost
|
||||
years = 1
|
||||
}
|
||||
trigger_event = {
|
||||
id = court_amenities_interactions.0003
|
||||
days = 7
|
||||
}
|
||||
}
|
||||
scope:actor = {
|
||||
add_character_flag = {
|
||||
flag = sumptuary_debate_won
|
||||
years = 1
|
||||
}
|
||||
trigger_event = {
|
||||
id = court_amenities_interactions.0002
|
||||
days = 7
|
||||
}
|
||||
}
|
||||
}
|
||||
10 = { # Critical success, gain imprisonment reason
|
||||
trigger = {
|
||||
scope:actor = {
|
||||
is_landed = yes
|
||||
}
|
||||
scope:recipient = {
|
||||
is_ai = yes
|
||||
}
|
||||
}
|
||||
compare_modifier = {
|
||||
target = scope:actor
|
||||
value = stewardship
|
||||
}
|
||||
compare_modifier = {
|
||||
target = scope:recipient
|
||||
value = stewardship
|
||||
multiplier = -1
|
||||
}
|
||||
scope:recipient = {
|
||||
save_scope_as = victim
|
||||
}
|
||||
scope:actor = {
|
||||
trigger_event = {
|
||||
id = court_amenities_interactions.0004
|
||||
days = 7
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#No stress, as AI is forced to pick this.
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
#I surrender, opponent gains a weak hook and prestige
|
||||
option = {
|
||||
name = court_amenities_interactions.0001.b
|
||||
trigger = { is_ai = no } #Only players may opt out.
|
||||
add_prestige = medium_prestige_loss
|
||||
custom_tooltip = court_amenities_interactions.0001.b.tt
|
||||
hidden_effect = {
|
||||
scope:actor = {
|
||||
send_interface_toast = {
|
||||
title = court_amenities_interactions.0001.b_turned_down
|
||||
left_icon = scope:recipient
|
||||
}
|
||||
add_prestige = medium_prestige_gain
|
||||
remove_character_modifier = used_sumptuary_debate_modifier
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
diligent = minor_stress_impact_gain
|
||||
arrogant = minor_stress_impact_gain
|
||||
brave = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = { #Unavailable to the AI.
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# #Debate results: aggressor / actor
|
||||
# by James Beaumont
|
||||
court_amenities_interactions.0002 = {
|
||||
type = character_event
|
||||
title = court_amenities_interactions.0002.t
|
||||
desc = {
|
||||
desc = court_amenities_interactions.0002.desc_intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = sumptuary_debate_won
|
||||
scope:recipient.faith = { has_doctrine_parameter = naked_adherents_active }
|
||||
}
|
||||
desc = court_amenities_interactions.0002.desc_won.nakey
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = sumptuary_debate_won
|
||||
}
|
||||
desc = court_amenities_interactions.0002.desc_won
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = sumptuary_debate_lost
|
||||
scope:actor.faith = { has_doctrine_parameter = naked_adherents_active }
|
||||
}
|
||||
desc = court_amenities_interactions.0002.desc_lost.nakey
|
||||
}
|
||||
desc = court_amenities_interactions.0002.desc_lost
|
||||
}
|
||||
}
|
||||
theme = party
|
||||
override_background = {
|
||||
reference = council_chamber
|
||||
}
|
||||
left_portrait = {
|
||||
character = scope:recipient
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
scope:recipient = { has_character_flag = sumptuary_debate_lost }
|
||||
}
|
||||
animation = disbelief
|
||||
}
|
||||
animation = schadenfreude
|
||||
triggered_outfit = {
|
||||
trigger = {
|
||||
scope:recipient = {
|
||||
faith = { has_doctrine_parameter = naked_adherents_active }
|
||||
has_character_flag = sumptuary_debate_lost
|
||||
}
|
||||
}
|
||||
outfit_tags = { beggar_rags }
|
||||
}
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:actor
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
scope:actor = { has_character_flag = sumptuary_debate_lost }
|
||||
}
|
||||
animation = disbelief
|
||||
}
|
||||
animation = schadenfreude
|
||||
triggered_outfit = {
|
||||
trigger = {
|
||||
scope:actor = {
|
||||
faith = { has_doctrine_parameter = naked_adherents_active }
|
||||
has_character_flag = sumptuary_debate_lost
|
||||
}
|
||||
}
|
||||
outfit_tags = { beggar_rags }
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
scope:recipient = {
|
||||
faith = { NOT = { has_doctrine_parameter = naked_adherents_active } }
|
||||
has_character_flag = sumptuary_debate_lost
|
||||
}
|
||||
}
|
||||
scope:recipient = {
|
||||
add_character_flag = is_naked
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:actor = {
|
||||
faith = { NOT = { has_doctrine_parameter = naked_adherents_active } }
|
||||
has_character_flag = sumptuary_debate_lost
|
||||
}
|
||||
}
|
||||
scope:actor = {
|
||||
add_character_flag = is_naked
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#The result.
|
||||
option = {
|
||||
name = {
|
||||
trigger = { has_character_flag = sumptuary_debate_won }
|
||||
text = court_amenities_interactions.0002.a_won
|
||||
}
|
||||
name = {
|
||||
trigger = {
|
||||
has_character_flag = sumptuary_debate_lost
|
||||
has_trait = humble
|
||||
faith = { NOT = { has_doctrine_parameter = naked_adherents_active } }
|
||||
}
|
||||
text = court_amenities_interactions.0002.a_lost.humble
|
||||
}
|
||||
name = {
|
||||
trigger = {
|
||||
has_character_flag = sumptuary_debate_lost
|
||||
has_trait = lustful
|
||||
faith = { NOT = { has_doctrine_parameter = naked_adherents_active } }
|
||||
}
|
||||
text = court_amenities_interactions.0002.a_lost.lustful
|
||||
}
|
||||
name = {
|
||||
trigger = { has_character_flag = sumptuary_debate_lost }
|
||||
text = court_amenities_interactions.0002.a_lost
|
||||
}
|
||||
if = {
|
||||
limit = { has_character_flag = sumptuary_debate_won }
|
||||
add_prestige = major_prestige_gain
|
||||
reverse_add_opinion = {
|
||||
target = scope:recipient
|
||||
modifier = sumptuary_debate_loser_opinion
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_character_flag = sumptuary_debate_lost }
|
||||
add_prestige = major_prestige_loss
|
||||
reverse_add_opinion = {
|
||||
target = scope:recipient
|
||||
modifier = sumptuary_debate_victor_opinion
|
||||
}
|
||||
if = { # Humble and horny characters don't care if people see them naked, naked characters are always upset to wear clothes
|
||||
limit = {
|
||||
OR = {
|
||||
faith = { has_doctrine_parameter = naked_adherents_active }
|
||||
NOR = {
|
||||
has_trait = humble
|
||||
has_trait = lustful
|
||||
}
|
||||
}
|
||||
}
|
||||
add_stress = major_stress_gain
|
||||
}
|
||||
}
|
||||
ai_chance = { #No other options available.
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
after = {
|
||||
scope:recipient = {
|
||||
if = {
|
||||
limit = {
|
||||
has_character_flag = is_naked
|
||||
}
|
||||
remove_character_flag = is_naked
|
||||
}
|
||||
}
|
||||
scope:actor = {
|
||||
if = {
|
||||
limit = {
|
||||
has_character_flag = is_naked
|
||||
}
|
||||
remove_character_flag = is_naked
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# #Debate results: defender / recipient
|
||||
# by James Beaumont
|
||||
court_amenities_interactions.0003 = {
|
||||
type = character_event
|
||||
title = court_amenities_interactions.0002.t
|
||||
desc = {
|
||||
desc = court_amenities_interactions.0002.desc_intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = sumptuary_debate_won
|
||||
scope:actor.faith = { has_doctrine_parameter = naked_adherents_active }
|
||||
}
|
||||
desc = court_amenities_interactions.0003.desc_won.nakey
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = sumptuary_debate_won
|
||||
scope:actor.faith = { NOT = { has_doctrine_parameter = naked_adherents_active } }
|
||||
}
|
||||
desc = court_amenities_interactions.0003.desc_won
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = sumptuary_debate_lost
|
||||
scope:recipient.faith = { has_doctrine_parameter = naked_adherents_active }
|
||||
}
|
||||
desc = court_amenities_interactions.0002.desc_lost.nakey
|
||||
}
|
||||
desc = court_amenities_interactions.0002.desc_lost
|
||||
}
|
||||
}
|
||||
theme = party
|
||||
override_background = {
|
||||
reference = council_chamber
|
||||
}
|
||||
left_portrait = {
|
||||
character = scope:actor
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
scope:actor = { has_character_flag = sumptuary_debate_lost }
|
||||
}
|
||||
animation = disbelief
|
||||
}
|
||||
animation = schadenfreude
|
||||
triggered_outfit = {
|
||||
trigger = {
|
||||
scope:actor = {
|
||||
has_character_flag = sumptuary_debate_lost
|
||||
faith = { has_doctrine_parameter = naked_adherents_active }
|
||||
}
|
||||
}
|
||||
outfit_tags = { beggar_rags }
|
||||
}
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:recipient
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
scope:recipient = { has_character_flag = sumptuary_debate_lost }
|
||||
}
|
||||
animation = disbelief
|
||||
}
|
||||
animation = schadenfreude
|
||||
triggered_outfit = {
|
||||
trigger = {
|
||||
scope:recipient = {
|
||||
has_character_flag = sumptuary_debate_lost
|
||||
faith = { has_doctrine_parameter = naked_adherents_active }
|
||||
}
|
||||
}
|
||||
outfit_tags = { beggar_rags }
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
scope:recipient = {
|
||||
faith = { NOT = { has_doctrine_parameter = naked_adherents_active } }
|
||||
has_character_flag = sumptuary_debate_lost
|
||||
}
|
||||
}
|
||||
scope:recipient = {
|
||||
add_character_flag = is_naked
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:actor = {
|
||||
faith = { NOT = { has_doctrine_parameter = naked_adherents_active } }
|
||||
has_character_flag = sumptuary_debate_lost
|
||||
}
|
||||
}
|
||||
scope:actor = {
|
||||
add_character_flag = is_naked
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#The result.
|
||||
option = {
|
||||
name = {
|
||||
trigger = { has_character_flag = sumptuary_debate_won }
|
||||
text = court_amenities_interactions.0002.a_won
|
||||
}
|
||||
name = {
|
||||
trigger = {
|
||||
has_character_flag = sumptuary_debate_lost
|
||||
has_trait = humble
|
||||
faith = { NOT = { has_doctrine_parameter = naked_adherents_active } }
|
||||
}
|
||||
text = court_amenities_interactions.0002.a_lost.humble
|
||||
}
|
||||
name = {
|
||||
trigger = {
|
||||
has_character_flag = sumptuary_debate_lost
|
||||
has_trait = lustful
|
||||
faith = { NOT = { has_doctrine_parameter = naked_adherents_active } }
|
||||
}
|
||||
text = court_amenities_interactions.0002.a_lost.lustful
|
||||
}
|
||||
name = {
|
||||
trigger = { has_character_flag = sumptuary_debate_lost }
|
||||
text = court_amenities_interactions.0002.a_lost
|
||||
}
|
||||
if = {
|
||||
limit = { has_character_flag = sumptuary_debate_won}
|
||||
add_prestige = major_prestige_gain
|
||||
reverse_add_opinion = {
|
||||
target = scope:actor
|
||||
modifier = sumptuary_debate_loser_opinion
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_character_flag = sumptuary_debate_lost }
|
||||
add_prestige = major_prestige_loss
|
||||
reverse_add_opinion = {
|
||||
target = scope:actor
|
||||
modifier = sumptuary_debate_victor_opinion
|
||||
}
|
||||
if = { # Humble and horny characters don't care if people see them naked, naked characters are always upset to wear clothes
|
||||
limit = {
|
||||
OR = {
|
||||
faith = { has_doctrine_parameter = naked_adherents_active }
|
||||
NOR = {
|
||||
has_trait = humble
|
||||
has_trait = lustful
|
||||
}
|
||||
}
|
||||
}
|
||||
add_stress = major_stress_gain
|
||||
}
|
||||
}
|
||||
#No stress, as the AI is forced to get here.
|
||||
ai_chance = { #No other options available.
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
after = {
|
||||
if = {
|
||||
limit = {
|
||||
scope:recipient = {
|
||||
has_character_flag = is_naked
|
||||
}
|
||||
}
|
||||
scope:recipient = {
|
||||
remove_character_flag = is_naked
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:actor = {
|
||||
has_character_flag = is_naked
|
||||
}
|
||||
}
|
||||
scope:actor = {
|
||||
remove_character_flag = is_naked
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
################################
|
||||
# Things go really bad for the defender
|
||||
# by James Beaumont
|
||||
################################
|
||||
court_amenities_interactions.0004 = {
|
||||
type = character_event
|
||||
title = court_amenities_interactions.0001.t
|
||||
desc = {
|
||||
desc = court_amenities_interactions.0002.desc_intro
|
||||
desc = court_amenities_interactions.0004.desc
|
||||
}
|
||||
theme = party
|
||||
override_background = {
|
||||
reference = council_chamber
|
||||
}
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = scheme
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:victim
|
||||
animation = pain
|
||||
}
|
||||
|
||||
option = { # Let them off with a warning
|
||||
name = court_amenities_interactions.0004.a
|
||||
add_hook = {
|
||||
type = sumptuary_crime_hook
|
||||
target = scope:victim
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Arrest them
|
||||
name = court_amenities_interactions.0004.b
|
||||
add_opinion = {
|
||||
modifier = sumptuary_violation_opinion
|
||||
target = scope:victim
|
||||
}
|
||||
rightfully_imprison_character_effect = {
|
||||
TARGET = scope:victim
|
||||
IMPRISONER = root
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
|
|
@ -1,258 +0,0 @@
|
|||
namespace = culture_notification
|
||||
|
||||
# Culture Notification Events
|
||||
|
||||
#########################################################################################
|
||||
# Tradition Removed from Culture #
|
||||
# by Sean Hughes #
|
||||
# culture_notification.0010 #
|
||||
#########################################################################################
|
||||
|
||||
culture_notification.0010 = {
|
||||
hidden = yes
|
||||
|
||||
immediate = {
|
||||
save_scope_as = this_player
|
||||
send_interface_toast = {
|
||||
type = msg_culture_tradition_change
|
||||
title = culture_notification.0010.t
|
||||
custom_tooltip = culture_notification.0010.desc
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#########################################################################################
|
||||
# Tradition Added to Culture #
|
||||
# by Sean Hughes #
|
||||
# culture_notification.0011 #
|
||||
#########################################################################################
|
||||
|
||||
culture_notification.0011 = {
|
||||
hidden = yes
|
||||
|
||||
immediate = {
|
||||
save_scope_as = this_player
|
||||
send_interface_toast = {
|
||||
type = msg_culture_tradition_change
|
||||
title = culture_notification.0011.t
|
||||
custom_tooltip = culture_notification.0011.desc
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#########################################################################################
|
||||
# Culture Hybridized #
|
||||
# by Sean Hughes #
|
||||
# culture_notification.1010 #
|
||||
#########################################################################################
|
||||
|
||||
culture_notification.1001 = {
|
||||
hidden = yes
|
||||
|
||||
immediate = {
|
||||
save_scope_as = this_player
|
||||
send_interface_toast = {
|
||||
type = msg_culture_hybridized
|
||||
title = culture_notification.1001.t
|
||||
left_icon = scope:founder
|
||||
custom_tooltip = culture_notification.1001.desc
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
culture_notification.1011 = {
|
||||
type = character_event
|
||||
title = culture_notification.1011.t
|
||||
desc = {
|
||||
desc = culture_notification.1011.intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { scope:dominant_culture = flag:parent_1 }
|
||||
desc = culture_notification.1011.hybrid_primary_1
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:dominant_culture = flag:parent_2 }
|
||||
desc = culture_notification.1011.hybrid_primary_2
|
||||
}
|
||||
desc = culture_notification.1011.hybrid_no_primary
|
||||
}
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { this = scope:founder }
|
||||
desc = culture_notification.1011.outro.founder
|
||||
}
|
||||
desc = culture_notification.1011.outro.other
|
||||
}
|
||||
}
|
||||
theme = culture_change
|
||||
major = yes
|
||||
left_portrait = scope:founder
|
||||
|
||||
immediate = {
|
||||
scope:new_culture = {
|
||||
if = {
|
||||
limit = {
|
||||
calc_true_if = {
|
||||
amount >= 3
|
||||
has_same_culture_ethos = scope:parent_1
|
||||
has_same_culture_heritage = scope:parent_1
|
||||
has_same_culture_language = scope:parent_1
|
||||
has_same_culture_martial_tradition = scope:parent_1
|
||||
}
|
||||
}
|
||||
save_scope_value_as = { name = dominant_culture value = flag:parent_1 }
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
calc_true_if = {
|
||||
amount >= 3
|
||||
has_same_culture_ethos = scope:parent_2
|
||||
has_same_culture_heritage = scope:parent_2
|
||||
has_same_culture_language = scope:parent_2
|
||||
has_same_culture_martial_tradition = scope:parent_2
|
||||
}
|
||||
}
|
||||
save_scope_value_as = { name = dominant_culture value = flag:parent_2 }
|
||||
}
|
||||
else = {
|
||||
save_scope_value_as = { name = dominant_culture value = flag:none }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
trigger = { this = scope:founder }
|
||||
name = culture_notification.1011.a.founder
|
||||
custom_tooltip = culture_notification_hybrid_tooltip
|
||||
}
|
||||
|
||||
option = {
|
||||
trigger = { this != scope:founder }
|
||||
name = culture_notification.1011.a.other
|
||||
custom_tooltip = culture_notification_hybrid_tooltip
|
||||
}
|
||||
}
|
||||
|
||||
#########################################################################################
|
||||
# Culture Diverged #
|
||||
# by Sean Hughes #
|
||||
# culture_notification.1101 #
|
||||
#########################################################################################
|
||||
|
||||
culture_notification.1101 = {
|
||||
hidden = yes
|
||||
|
||||
immediate = {
|
||||
save_scope_as = this_player
|
||||
send_interface_toast = {
|
||||
type = msg_culture_hybridized
|
||||
title = culture_notification.1101.t
|
||||
left_icon = scope:founder
|
||||
custom_tooltip = culture_notification.1101.desc
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
culture_notification.1111 = {
|
||||
type = character_event
|
||||
title = culture_notification.1111.t
|
||||
desc = {
|
||||
desc = culture_notification.1111.intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { NOT = { exists = scope:ethos } }
|
||||
desc = culture_notification.1111.ethos.unchanged
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:ethos = flag:bellicose }
|
||||
desc = culture_notification.1111.ethos.bellicose
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:ethos = flag:bureaucratic }
|
||||
desc = culture_notification.1111.ethos.bureaucratic
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:ethos = flag:courtly }
|
||||
desc = culture_notification.1111.ethos.courtly
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:ethos = flag:communal }
|
||||
desc = culture_notification.1111.ethos.communal
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:ethos = flag:stoic }
|
||||
desc = culture_notification.1111.ethos.stoic
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:ethos = flag:spiritual }
|
||||
desc = culture_notification.1111.ethos.spiritual
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:ethos = flag:egalitarian }
|
||||
desc = culture_notification.1111.ethos.egalitatian
|
||||
}
|
||||
desc = culture_notification.1111.ethos.unchanged
|
||||
}
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { this = scope:founder }
|
||||
desc = culture_notification.1111.outro.founder
|
||||
}
|
||||
desc = culture_notification.1111.outro.other
|
||||
}
|
||||
}
|
||||
theme = culture_change
|
||||
major = yes
|
||||
left_portrait = scope:founder
|
||||
|
||||
immediate = {
|
||||
scope:new_culture = {
|
||||
if = {
|
||||
limit = {
|
||||
NOT = { has_same_culture_ethos = scope:parent_1 }
|
||||
}
|
||||
if = {
|
||||
limit = { has_cultural_pillar = ethos_bellicose }
|
||||
save_scope_value_as = { name = ethos value = flag:bellicose }
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_cultural_pillar = ethos_stoic }
|
||||
save_scope_value_as = { name = ethos value = flag:stoic }
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_cultural_pillar = ethos_bureaucratic }
|
||||
save_scope_value_as = { name = ethos value = flag:bureaucratic }
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_cultural_pillar = ethos_spiritual }
|
||||
save_scope_value_as = { name = ethos value = flag:spiritual }
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_cultural_pillar = ethos_courtly }
|
||||
save_scope_value_as = { name = ethos value = flag:courtly }
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_cultural_pillar = ethos_egalitarian }
|
||||
save_scope_value_as = { name = ethos value = flag:egalitarian }
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_cultural_pillar = ethos_communal }
|
||||
save_scope_value_as = { name = ethos value = flag:communal }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
trigger = { this = scope:founder }
|
||||
name = culture_notification.1111.a.founder
|
||||
custom_tooltip = culture_notification_tooltip
|
||||
}
|
||||
|
||||
option = {
|
||||
trigger = { this != scope:founder }
|
||||
name = culture_notification.1111.a.other
|
||||
custom_tooltip = culture_notification_tooltip
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,348 +0,0 @@
|
|||
namespace = language_events
|
||||
|
||||
# Forget a language when above the soft-cap
|
||||
language_events.0001 = {
|
||||
type = character_event
|
||||
title = language_events.0001.t
|
||||
desc = language_events.0001.desc
|
||||
theme = learning
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = boredom
|
||||
}
|
||||
|
||||
trigger = {
|
||||
num_of_known_languages > language_soft_cap
|
||||
any_culture_global = {
|
||||
save_temporary_scope_as = culture_check
|
||||
root = {
|
||||
knows_language_of_culture = scope:culture_check
|
||||
culture = {
|
||||
NOT = {
|
||||
has_same_culture_language = scope:culture_check
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cooldown = {
|
||||
years = 3
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
modifier = {
|
||||
num_of_known_languages > language_soft_cap
|
||||
add = language_soft_cap_modifier_value
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
random_culture_global = {
|
||||
limit = {
|
||||
save_temporary_scope_as = culture_check
|
||||
root = {
|
||||
knows_language_of_culture = scope:culture_check
|
||||
culture = {
|
||||
NOT = {
|
||||
has_same_culture_language = scope:culture_check
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = {
|
||||
add = 9
|
||||
root.culture = {
|
||||
NOT = {
|
||||
has_same_culture_heritage = prev
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
save_scope_as = language_to_forget
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = language_events.0001.a
|
||||
|
||||
unlearn_language_of_culture = scope:language_to_forget
|
||||
|
||||
stress_impact = {
|
||||
lazy = major_stress_impact_loss
|
||||
diligent = medium_stress_impact_gain
|
||||
ambitious = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = language_events.0001.b
|
||||
|
||||
stress_impact = {
|
||||
base = massive_stress_impact_gain
|
||||
lazy = massive_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
scripted_trigger vassal_speaking_other_language_trigger = {
|
||||
is_available_ai_adult = yes
|
||||
primary_title.tier >= tier_county
|
||||
opinion = {
|
||||
target = root
|
||||
value >= low_positive_opinion
|
||||
}
|
||||
NOR = {
|
||||
has_trait = arbitrary
|
||||
has_trait = arrogant
|
||||
has_trait = callous
|
||||
has_trait = sadistic
|
||||
has_relation_rival = root
|
||||
culture = {
|
||||
has_same_culture_language = root.culture
|
||||
}
|
||||
}
|
||||
root = {
|
||||
knows_language_of_culture = prev.culture
|
||||
}
|
||||
any_sub_realm_county = {
|
||||
count >= 3 # Must have a tangible representation of the culture in their realm
|
||||
culture = prev.culture
|
||||
}
|
||||
}
|
||||
|
||||
# Vassal who speak the language lauds your efforts
|
||||
language_events.0002 = {
|
||||
type = character_event
|
||||
title = language_events.0002.t
|
||||
desc = language_events.0002.desc
|
||||
theme = learning
|
||||
|
||||
override_background = { reference = market }
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_rational
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:vassal_speaking_other_language
|
||||
animation = throne_room_applaud_1
|
||||
}
|
||||
|
||||
trigger = {
|
||||
is_landed = yes
|
||||
is_available_at_peace_adult = yes
|
||||
OR = {
|
||||
primary_title.tier >= tier_kingdom
|
||||
top_liege = this
|
||||
}
|
||||
any_vassal = { vassal_speaking_other_language_trigger = yes }
|
||||
}
|
||||
|
||||
cooldown = {
|
||||
years = 20
|
||||
}
|
||||
|
||||
immediate = {
|
||||
random_vassal = {
|
||||
limit = { vassal_speaking_other_language_trigger = yes }
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = {
|
||||
add = 100
|
||||
has_relation_potential_friend = root
|
||||
}
|
||||
modifier = {
|
||||
add = 10
|
||||
is_of_major_interest_to_root_trigger = yes
|
||||
}
|
||||
modifier = {
|
||||
add = 5
|
||||
is_of_minor_interest_to_root_trigger = yes
|
||||
}
|
||||
}
|
||||
save_scope_as = vassal_speaking_other_language
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = language_events.0002.a
|
||||
|
||||
scope:vassal_speaking_other_language = {
|
||||
progress_towards_friend_effect = {
|
||||
REASON = friend_recognized_by_liege
|
||||
CHARACTER = root
|
||||
OPINION = 0
|
||||
}
|
||||
culture = {
|
||||
change_cultural_acceptance = {
|
||||
target = root.culture
|
||||
value = 5
|
||||
desc = cultural_acceptance_gain_event
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
greedy = major_stress_impact_loss
|
||||
callous = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = language_events.0002.b
|
||||
|
||||
flavor = language_events.0002.b.tt
|
||||
|
||||
add_treasury_or_gold = gold_per_culture_county_in_subrealm
|
||||
|
||||
scope:vassal_speaking_other_language = {
|
||||
progress_towards_rival_effect = {
|
||||
CHARACTER = root
|
||||
REASON = rival_language_bullied
|
||||
OPINION = -20
|
||||
}
|
||||
culture = {
|
||||
change_cultural_acceptance = {
|
||||
target = root.culture
|
||||
value = -5
|
||||
desc = cultural_acceptance_gain_event
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
generous = massive_stress_impact_gain
|
||||
just = major_stress_impact_gain
|
||||
content = major_stress_impact_gain
|
||||
honest = medium_stress_impact_gain
|
||||
trusting = medium_stress_impact_gain
|
||||
forgiving = medium_stress_impact_gain
|
||||
compassionate = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 0
|
||||
modifier = {
|
||||
has_trait = greedy
|
||||
add = 100
|
||||
}
|
||||
modifier = {
|
||||
gold < 0
|
||||
add = 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Forget a language when above the soft-cap; Owl nightmare
|
||||
language_events.0010 = {
|
||||
type = character_event
|
||||
title = language_events.0010.t
|
||||
desc = language_events.0010.desc
|
||||
theme = learning
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = shock
|
||||
}
|
||||
|
||||
cooldown = {
|
||||
years = 3
|
||||
}
|
||||
|
||||
trigger = {
|
||||
num_of_known_languages > language_soft_cap
|
||||
any_culture_global = {
|
||||
save_temporary_scope_as = culture_check
|
||||
root = {
|
||||
knows_language_of_culture = scope:culture_check
|
||||
culture = {
|
||||
NOT = {
|
||||
has_same_culture_language = scope:culture_check
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
modifier = {
|
||||
num_of_known_languages > language_soft_cap
|
||||
add = language_soft_cap_modifier_value
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
random_culture_global = {
|
||||
limit = {
|
||||
save_temporary_scope_as = culture_check
|
||||
root = {
|
||||
knows_language_of_culture = scope:culture_check
|
||||
culture = {
|
||||
NOT = {
|
||||
has_same_culture_language = scope:culture_check
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = {
|
||||
add = 9
|
||||
root.culture = {
|
||||
NOT = {
|
||||
has_same_culture_heritage = prev
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
save_scope_as = language_to_forget
|
||||
}
|
||||
}
|
||||
|
||||
# Forget
|
||||
option = {
|
||||
name = language_events.0010.a
|
||||
|
||||
unlearn_language_of_culture = scope:language_to_forget
|
||||
|
||||
stress_impact = {
|
||||
lazy = major_stress_impact_loss
|
||||
diligent = medium_stress_impact_gain
|
||||
ambitious = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
# Stress
|
||||
option = {
|
||||
name = language_events.0010.b
|
||||
|
||||
stress_impact = {
|
||||
base = massive_stress_impact_gain
|
||||
lazy = massive_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,42 +0,0 @@
|
|||
namespace = bp3_decisions
|
||||
|
||||
bp3_decisions.0100 = {
|
||||
type = character_event
|
||||
title = bp3_decisions.0100.t
|
||||
desc = bp3_decisions.0100.desc
|
||||
theme = realm
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_honorable
|
||||
}
|
||||
|
||||
immediate = {
|
||||
house = {
|
||||
add_house_modifier = {
|
||||
modifier = legacy_adventurer_house_modifier
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Do some justicar contracts
|
||||
option = {
|
||||
name = bp3_decisions.0100.a
|
||||
custom_tooltip = bp3_decisions.0100.a_tt
|
||||
|
||||
hidden_effect = {
|
||||
populate_task_contracts_for_area = {
|
||||
location = root.location
|
||||
amount = 3
|
||||
group = { laamp_contracts_justicar_group }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Become legitimists
|
||||
option = {
|
||||
name = bp3_decisions.0100.b
|
||||
trigger = { NOT = { has_realm_law = camp_purpose_legitimists } }
|
||||
add_realm_law_skip_effects = camp_purpose_legitimists
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
|
|
@ -1,795 +0,0 @@
|
|||
namespace = ce1_decision_events
|
||||
|
||||
#Legend Book Commision
|
||||
ce1_decision_events.0001 = { #by Veronica Pazos
|
||||
type = character_event
|
||||
title = ce1_decision_events.0001.t
|
||||
desc = ce1_decision_events.0001.desc
|
||||
theme = legend
|
||||
override_background = { reference = study }
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_honorable
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:chronicler
|
||||
animation = writing
|
||||
}
|
||||
artifact = {
|
||||
target = scope:newly_created_artifact
|
||||
position = lower_center_portrait
|
||||
}
|
||||
override_effect_2d = {
|
||||
reference = legend_glow
|
||||
}
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_positive_effect"
|
||||
hidden_effect_new_object = {
|
||||
if = {
|
||||
limit = {
|
||||
has_variable = finished_mythical_legend_var
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
artifacts_use_indian_books_trigger = yes
|
||||
}
|
||||
create_artifact = {
|
||||
name = legend_book
|
||||
type = chronicle
|
||||
creator = scope:chronicler
|
||||
description = legend_book_desc
|
||||
visuals = indian_book
|
||||
modifier = artifact_diplomacy_3_modifier
|
||||
modifier = artifact_monthly_prestige_add_8_modifier
|
||||
save_scope_as = newly_created_artifact
|
||||
wealth = 400
|
||||
quality = 400
|
||||
}
|
||||
}
|
||||
else = {
|
||||
create_artifact = {
|
||||
name = legend_book
|
||||
type = chronicle
|
||||
creator = scope:chronicler
|
||||
description = legend_book_desc
|
||||
visuals = chronicle
|
||||
modifier = artifact_diplomacy_3_modifier
|
||||
modifier = artifact_monthly_prestige_add_8_modifier
|
||||
save_scope_as = newly_created_artifact
|
||||
wealth = 400
|
||||
quality = 400
|
||||
}
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
has_variable = finished_illustrious_legend_var
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
artifacts_use_indian_books_trigger = yes
|
||||
}
|
||||
create_artifact = {
|
||||
name = legend_book
|
||||
type = chronicle
|
||||
creator = scope:chronicler
|
||||
description = legend_book_desc
|
||||
visuals = indian_book
|
||||
modifier = artifact_diplomacy_2_modifier
|
||||
modifier = artifact_monthly_prestige_add_6_modifier
|
||||
save_scope_as = newly_created_artifact
|
||||
wealth = 200
|
||||
quality = 200
|
||||
}
|
||||
}
|
||||
else = {
|
||||
create_artifact = {
|
||||
name = legend_book
|
||||
type = chronicle
|
||||
creator = scope:chronicler
|
||||
description = legend_book_desc
|
||||
visuals = chronicle
|
||||
modifier = artifact_diplomacy_2_modifier
|
||||
modifier = artifact_monthly_prestige_add_6_modifier
|
||||
save_scope_as = newly_created_artifact
|
||||
wealth = 200
|
||||
quality = 200
|
||||
}
|
||||
}
|
||||
}
|
||||
else = { #famed
|
||||
if = {
|
||||
limit = {
|
||||
artifacts_use_indian_books_trigger = yes
|
||||
}
|
||||
create_artifact = {
|
||||
name = legend_book
|
||||
type = miscellaneous
|
||||
creator = scope:chronicler
|
||||
description = legend_book_desc
|
||||
visuals = indian_book
|
||||
modifier = artifact_diplomacy_1_modifier
|
||||
modifier = artifact_monthly_prestige_add_4_modifier
|
||||
save_scope_as = newly_created_artifact
|
||||
wealth = 80
|
||||
quality = 80
|
||||
}
|
||||
}
|
||||
else = {
|
||||
create_artifact = {
|
||||
name = legend_book
|
||||
type = miscellaneous
|
||||
creator = scope:chronicler
|
||||
description = legend_book_desc
|
||||
visuals = chronicle
|
||||
modifier = artifact_diplomacy_1_modifier
|
||||
modifier = artifact_monthly_prestige_add_4_modifier
|
||||
save_scope_as = newly_created_artifact
|
||||
wealth = 80
|
||||
quality = 80
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
scope:newly_created_artifact = {
|
||||
if = {
|
||||
limit = {
|
||||
root = {
|
||||
has_variable = finished_heroic_legend_var
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
root = {
|
||||
has_variable = finished_mythical_legend_var
|
||||
}
|
||||
}
|
||||
add_artifact_modifier = artifact_martial_3_modifier
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
root = {
|
||||
has_variable = finished_illustrious_legend_var
|
||||
}
|
||||
}
|
||||
add_artifact_modifier = artifact_martial_2_modifier
|
||||
add_artifact_modifier = artifact_monthly_prestige_add_6_modifier
|
||||
}
|
||||
else = {
|
||||
add_artifact_modifier = artifact_martial_1_modifier
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
root = {
|
||||
has_variable = finished_holy_legend_var
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
root = {
|
||||
has_variable = finished_mythical_legend_var
|
||||
}
|
||||
}
|
||||
add_artifact_modifier = artifact_learning_3_modifier
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
root = {
|
||||
has_variable = finished_illustrious_legend_var
|
||||
}
|
||||
}
|
||||
add_artifact_modifier = artifact_learning_2_modifier
|
||||
}
|
||||
else = {
|
||||
add_artifact_modifier = artifact_learning_1_modifier
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
root = {
|
||||
has_variable = finished_legitimizing_legend_var
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
root = {
|
||||
has_variable = finished_mythical_legend_var
|
||||
}
|
||||
}
|
||||
add_artifact_modifier = artifact_stewardship_3_modifier
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
root = {
|
||||
has_variable = finished_illustrious_legend_var
|
||||
}
|
||||
}
|
||||
add_artifact_modifier = artifact_stewardship_2_modifier
|
||||
}
|
||||
else = {
|
||||
add_artifact_modifier = artifact_stewardship_1_modifier
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { #nice
|
||||
name = ce1_decision_events.0001.a
|
||||
show_as_tooltip = {
|
||||
scope:newly_created_artifact = { set_owner = root }
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
remove_variable ?= finished_legend_var
|
||||
remove_variable ?= finished_famed_legend_var
|
||||
remove_variable ?= finished_illustrious_legend_var
|
||||
remove_variable ?= finished_mythical_legend_var
|
||||
remove_variable ?= finished_heroic_legend_var
|
||||
remove_variable ?= finished_holy_legend_var
|
||||
remove_variable ?= finished_legitimizing_legend_var
|
||||
}
|
||||
}
|
||||
|
||||
#Legendary Kingdom Integration
|
||||
#by James Beaumont
|
||||
scripted_effect ce1_dec_1000_integrate = {
|
||||
# Empires are simple, just de-jure shift the kingdom
|
||||
if = {
|
||||
limit = {
|
||||
root.primary_title.tier = tier_empire
|
||||
}
|
||||
$KINGDOM$ = {
|
||||
set_de_jure_liege_title = root.primary_title
|
||||
}
|
||||
}
|
||||
# Kingdoms, de jure shift all duchies into your kingdom
|
||||
else = {
|
||||
$KINGDOM$ = {
|
||||
every_in_de_jure_hierarchy = {
|
||||
limit = { tier = tier_duchy }
|
||||
set_de_jure_liege_title = root.primary_title
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
scripted_effect ce1_dec_1010_integrate = {
|
||||
# Kingdoms are simple, just de-jure shift the duchy
|
||||
if = {
|
||||
limit = {
|
||||
root.primary_title.tier = tier_kingdom
|
||||
}
|
||||
$DUCHY$ = {
|
||||
set_de_jure_liege_title = root.primary_title
|
||||
}
|
||||
}
|
||||
# Empires suck, find a kingdom within your empire that borders the duchy
|
||||
else_if = {
|
||||
limit = {
|
||||
root.primary_title = {
|
||||
any_in_de_jure_hierarchy = {
|
||||
tier = tier_kingdom
|
||||
any_title_to_title_neighboring_and_across_water_duchy = {
|
||||
this = $DUCHY$
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
root.primary_title = {
|
||||
random_in_de_jure_hierarchy = {
|
||||
limit = {
|
||||
tier = tier_kingdom
|
||||
any_title_to_title_neighboring_and_across_water_duchy = {
|
||||
this = $DUCHY$
|
||||
}
|
||||
}
|
||||
$DUCHY$ = {
|
||||
set_de_jure_liege_title = prev
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# Empires suck, de-jure shift to your capital's kingdom
|
||||
else = {
|
||||
$DUCHY$ = {
|
||||
set_de_jure_liege_title = root.capital_county.kingdom
|
||||
}
|
||||
}
|
||||
}
|
||||
ce1_decision_events.1000 = {
|
||||
type = character_event
|
||||
title = ce1_decision_events.1000.t
|
||||
desc = ce1_decision_events.1000.desc
|
||||
theme = martial
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_honorable
|
||||
}
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_positive_effect"
|
||||
random_kingdom = {
|
||||
limit = {
|
||||
valid_for_legendary_integration_k = yes
|
||||
this != root.primary_title
|
||||
}
|
||||
save_scope_as = kingdom_01
|
||||
}
|
||||
random_kingdom = {
|
||||
limit = {
|
||||
valid_for_legendary_integration_k = yes
|
||||
NOT = {
|
||||
this = root.primary_title
|
||||
this = scope:kingdom_01
|
||||
}
|
||||
}
|
||||
save_scope_as = kingdom_02
|
||||
}
|
||||
random_kingdom = {
|
||||
limit = {
|
||||
valid_for_legendary_integration_k = yes
|
||||
NOT = {
|
||||
this = root.primary_title
|
||||
this = scope:kingdom_01
|
||||
this = scope:kingdom_02
|
||||
}
|
||||
}
|
||||
save_scope_as = kingdom_03
|
||||
}
|
||||
random_kingdom = {
|
||||
limit = {
|
||||
valid_for_legendary_integration_k = yes
|
||||
NOT = {
|
||||
this = root.primary_title
|
||||
this = scope:kingdom_01
|
||||
this = scope:kingdom_02
|
||||
this = scope:kingdom_03
|
||||
}
|
||||
}
|
||||
save_scope_as = kingdom_04
|
||||
}
|
||||
random_kingdom = {
|
||||
limit = {
|
||||
valid_for_legendary_integration_k = yes
|
||||
NOT = {
|
||||
this = root.primary_title
|
||||
this = scope:kingdom_01
|
||||
this = scope:kingdom_02
|
||||
this = scope:kingdom_03
|
||||
this = scope:kingdom_04
|
||||
}
|
||||
}
|
||||
save_scope_as = kingdom_05
|
||||
}
|
||||
random_kingdom = {
|
||||
limit = {
|
||||
valid_for_legendary_integration_k = yes
|
||||
NOT = {
|
||||
this = root.primary_title
|
||||
this = scope:kingdom_01
|
||||
this = scope:kingdom_02
|
||||
this = scope:kingdom_03
|
||||
this = scope:kingdom_04
|
||||
this = scope:kingdom_05
|
||||
}
|
||||
}
|
||||
save_scope_as = kingdom_06
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Kingdom 1 please
|
||||
name = {
|
||||
text = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
primary_title.tier = tier_empire
|
||||
}
|
||||
desc = ce1_decision_events.1000.a.empire
|
||||
}
|
||||
desc = ce1_decision_events.1000.a.kingdom
|
||||
}
|
||||
}
|
||||
}
|
||||
trigger = {
|
||||
exists = scope:kingdom_01
|
||||
}
|
||||
ce1_dec_1000_integrate = {
|
||||
KINGDOM = scope:kingdom_01
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Kingdom 2 please
|
||||
name = {
|
||||
text = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
primary_title.tier = tier_empire
|
||||
}
|
||||
desc = ce1_decision_events.1000.b.empire
|
||||
}
|
||||
desc = ce1_decision_events.1000.b.kingdom
|
||||
}
|
||||
}
|
||||
}
|
||||
trigger = {
|
||||
exists = scope:kingdom_02
|
||||
}
|
||||
ce1_dec_1000_integrate = {
|
||||
KINGDOM = scope:kingdom_02
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Kingdom 3 please
|
||||
name = {
|
||||
text = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
primary_title.tier = tier_empire
|
||||
}
|
||||
desc = ce1_decision_events.1000.c.empire
|
||||
}
|
||||
desc = ce1_decision_events.1000.c.kingdom
|
||||
}
|
||||
}
|
||||
}
|
||||
trigger = {
|
||||
exists = scope:kingdom_03
|
||||
}
|
||||
ce1_dec_1000_integrate = {
|
||||
KINGDOM = scope:kingdom_03
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Kingdom 4 please
|
||||
name = ce1_decision_events.1000.d
|
||||
trigger = {
|
||||
exists = scope:kingdom_04
|
||||
}
|
||||
ce1_dec_1000_integrate = {
|
||||
KINGDOM = scope:kingdom_04
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Kingdom 5 please
|
||||
name = ce1_decision_events.1000.e
|
||||
trigger = {
|
||||
exists = scope:kingdom_05
|
||||
}
|
||||
ce1_dec_1000_integrate = {
|
||||
KINGDOM = scope:kingdom_05
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Kingdom 6 please
|
||||
name = ce1_decision_events.1000.f
|
||||
trigger = {
|
||||
exists = scope:kingdom_06
|
||||
}
|
||||
ce1_dec_1000_integrate = {
|
||||
KINGDOM = scope:kingdom_06
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ce1_decision_events.1010 = {
|
||||
type = character_event
|
||||
title = ce1_decision_events.1010.t
|
||||
desc = ce1_decision_events.1010.desc
|
||||
theme = martial
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_honorable
|
||||
}
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_positive_effect"
|
||||
random_duchy = {
|
||||
limit = {
|
||||
valid_for_legendary_integration_d = yes
|
||||
}
|
||||
save_scope_as = duchy_01
|
||||
}
|
||||
random_duchy = {
|
||||
limit = {
|
||||
valid_for_legendary_integration_d = yes
|
||||
this != scope:duchy_01
|
||||
}
|
||||
save_scope_as = duchy_02
|
||||
}
|
||||
random_duchy = {
|
||||
limit = {
|
||||
valid_for_legendary_integration_d = yes
|
||||
NOT = {
|
||||
this = scope:duchy_01
|
||||
this = scope:duchy_02
|
||||
}
|
||||
}
|
||||
save_scope_as = duchy_03
|
||||
}
|
||||
random_duchy = {
|
||||
limit = {
|
||||
valid_for_legendary_integration_d = yes
|
||||
NOT = {
|
||||
this = scope:duchy_01
|
||||
this = scope:duchy_02
|
||||
this = scope:duchy_03
|
||||
}
|
||||
}
|
||||
save_scope_as = duchy_04
|
||||
}
|
||||
random_duchy = {
|
||||
limit = {
|
||||
valid_for_legendary_integration_d = yes
|
||||
NOT = {
|
||||
this = scope:duchy_01
|
||||
this = scope:duchy_02
|
||||
this = scope:duchy_03
|
||||
this = scope:duchy_04
|
||||
}
|
||||
}
|
||||
save_scope_as = duchy_05
|
||||
}
|
||||
random_duchy = {
|
||||
limit = {
|
||||
valid_for_legendary_integration_d = yes
|
||||
NOT = {
|
||||
this = scope:duchy_01
|
||||
this = scope:duchy_02
|
||||
this = scope:duchy_03
|
||||
this = scope:duchy_04
|
||||
this = scope:duchy_05
|
||||
}
|
||||
}
|
||||
save_scope_as = duchy_06
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Duchy 1 please
|
||||
name = ce1_decision_events.1010.a
|
||||
trigger = {
|
||||
exists = scope:duchy_01
|
||||
}
|
||||
ce1_dec_1010_integrate = {
|
||||
DUCHY = scope:duchy_01
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Duchy 2 please
|
||||
name = ce1_decision_events.1010.b
|
||||
trigger = {
|
||||
exists = scope:duchy_02
|
||||
}
|
||||
ce1_dec_1010_integrate = {
|
||||
DUCHY = scope:duchy_02
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Duchy 3 please
|
||||
name = ce1_decision_events.1010.c
|
||||
trigger = {
|
||||
exists = scope:duchy_03
|
||||
}
|
||||
ce1_dec_1010_integrate = {
|
||||
DUCHY = scope:duchy_03
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Duchy 4 please
|
||||
name = ce1_decision_events.1010.d
|
||||
trigger = {
|
||||
exists = scope:duchy_04
|
||||
}
|
||||
ce1_dec_1010_integrate = {
|
||||
DUCHY = scope:duchy_04
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Duchy 5 please
|
||||
name = ce1_decision_events.1010.e
|
||||
trigger = {
|
||||
exists = scope:duchy_05
|
||||
}
|
||||
ce1_dec_1010_integrate = {
|
||||
DUCHY = scope:duchy_05
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Duchy 6 please
|
||||
name = ce1_decision_events.1010.f
|
||||
trigger = {
|
||||
exists = scope:duchy_06
|
||||
}
|
||||
ce1_dec_1010_integrate = {
|
||||
DUCHY = scope:duchy_06
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Pacifist conversion
|
||||
ce1_decision_events.1020 = {
|
||||
type = character_event
|
||||
title = ce1_decision_events.1020.t
|
||||
desc = ce1_decision_events.1020.desc
|
||||
theme = learning
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_honorable
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:legendary_character
|
||||
animation = personality_zealous
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:legendary_character.faith = { save_scope_as = leg_faith }
|
||||
save_scope_as = liege_convert
|
||||
}
|
||||
|
||||
option = { # Convert I shall!
|
||||
name = ce1_decision_events.1020.a
|
||||
every_vassal_or_below = {
|
||||
custom = every_same_faith_vassal
|
||||
limit = {
|
||||
faith = root.faith
|
||||
NOT = { any_held_title = { is_head_of_faith = yes } }
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
is_ai = yes
|
||||
}
|
||||
set_character_faith = scope:leg_faith
|
||||
}
|
||||
else = {
|
||||
trigger_event = ce1_decision_events.1021 # Give players a choice
|
||||
}
|
||||
}
|
||||
every_sub_realm_county = {
|
||||
custom = every_same_faith_county_in_realm
|
||||
limit = {
|
||||
faith = root.faith
|
||||
}
|
||||
random = {
|
||||
chance = 25
|
||||
set_county_faith = scope:leg_faith
|
||||
}
|
||||
}
|
||||
scope:legendary_character = {
|
||||
send_interface_toast = {
|
||||
title = ce1_decision_events.1020.conversion
|
||||
left_icon = scope:legendary_character
|
||||
right_icon = scope:liege_convert
|
||||
scope:liege_convert = {
|
||||
set_character_faith = scope:leg_faith
|
||||
}
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 350 # Should be high, this is a reward for a massive investment
|
||||
ai_value_modifier = {
|
||||
ai_zeal = -2
|
||||
ai_honor = 0.5
|
||||
ai_compassion = 2 # Pacifism is epic
|
||||
ai_vengefulness = -0.5
|
||||
ai_rationality = -0.75
|
||||
}
|
||||
opinion_modifier = {
|
||||
opinion_target = root
|
||||
multiplier = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Pacifism is cringe
|
||||
name = ce1_decision_events.1020.b
|
||||
trigger = {
|
||||
NOT = {
|
||||
has_character_flag = guarantee_conversion
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_zeal = 2
|
||||
ai_honor = -0.5
|
||||
ai_compassion = -2
|
||||
ai_vengefulness = 0.5
|
||||
ai_rationality = 0.75
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
if = {
|
||||
limit = {
|
||||
has_character_flag = guarantee_conversion
|
||||
}
|
||||
remove_character_flag = guarantee_conversion
|
||||
}
|
||||
}
|
||||
}
|
||||
ce1_decision_events.1021 = {
|
||||
type = character_event
|
||||
title = ce1_decision_events.1021.t
|
||||
desc = ce1_decision_events.1021.desc
|
||||
theme = learning
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_honorable
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:legendary_character
|
||||
animation = personality_zealous
|
||||
}
|
||||
|
||||
option = { # Convert I shall!
|
||||
name = ce1_decision_events.1021.a
|
||||
set_character_faith = scope:leg_faith
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_zeal = -2
|
||||
ai_honor = 0.5
|
||||
ai_compassion = 2 # Pacifism is epic
|
||||
ai_vengefulness = -0.5
|
||||
ai_rationality = -0.75
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Pacifism is cringe
|
||||
name = ce1_decision_events.1021.b
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_zeal = 2
|
||||
ai_honor = -0.5
|
||||
ai_compassion = -2
|
||||
ai_vengefulness = 0.5
|
||||
ai_rationality = 0.75
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,212 +0,0 @@
|
|||
|
||||
namespace = central_asia
|
||||
|
||||
### Become Greatest of Khans
|
||||
# by Petter Vilberg
|
||||
# central_asia.0001 # I become Genghis Khan
|
||||
# central_asia.0002 # My liege became Genghis Khan
|
||||
# central_asia.0003 # Someone became Genghis Khan :/
|
||||
#
|
||||
# central_asia.0011 #I formed the Bactrian Empire
|
||||
# central_asia.0012 #My ruler formed the Bactrian Empire
|
||||
# central_asia.0013 #The Bactrian Empire now claims my land
|
||||
###
|
||||
|
||||
|
||||
################
|
||||
# Become Greatest of Khan events
|
||||
# central_asia.0001 - 0003
|
||||
#
|
||||
|
||||
#I became Genghis Khan
|
||||
central_asia.0001 = {
|
||||
type = character_event
|
||||
title = central_asia.0001.t
|
||||
desc = central_asia.0001.desc
|
||||
theme = war
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_vengeful
|
||||
}
|
||||
override_background = { reference = wilderness_steppe }
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_crusade_starts"
|
||||
form_the_mongol_empire_effect = yes
|
||||
legend_seed_new_title_effect = yes
|
||||
}
|
||||
|
||||
option = {
|
||||
name = central_asia.0001.a
|
||||
add_trait = greatest_of_khans
|
||||
add_trait = conqueror
|
||||
if = {
|
||||
limit = { has_any_nickname = yes }
|
||||
remove_nickname = yes
|
||||
}
|
||||
give_nickname = nick_genghis_khan
|
||||
if = {
|
||||
limit = {
|
||||
prestige_level < 5
|
||||
}
|
||||
add_prestige_level = 1
|
||||
}
|
||||
custom_tooltip = central_asia.0001.mongol_invasion_cb
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#My ruler became Genghis Khan
|
||||
central_asia.0002 = {
|
||||
type = character_event
|
||||
title = central_asia.0002.t
|
||||
desc = central_asia.0002.desc
|
||||
theme = war
|
||||
left_portrait = {
|
||||
character = scope:genghis_khan
|
||||
animation = personality_vengeful
|
||||
}
|
||||
override_background = { reference = wilderness_steppe }
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_crusade_starts"
|
||||
show_as_tooltip = {
|
||||
scope:genghis_khan = {
|
||||
add_trait_force_tooltip = greatest_of_khans
|
||||
add_trait_force_tooltip = conqueror
|
||||
hidden_effect = { set_primary_title_to = title:e_mongol_empire }
|
||||
spawn_mongol_troops_effect = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = central_asia.0002.a
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#Someone became Genghis Khan
|
||||
central_asia.0003 = {
|
||||
type = character_event
|
||||
title = central_asia.0002.t
|
||||
desc = central_asia.0003.desc
|
||||
theme = war
|
||||
left_portrait = {
|
||||
character = scope:genghis_khan
|
||||
animation = personality_vengeful
|
||||
}
|
||||
override_background = { reference = wilderness_steppe }
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_combat_2"
|
||||
show_as_tooltip = {
|
||||
scope:genghis_khan = {
|
||||
add_trait_force_tooltip = greatest_of_khans
|
||||
add_trait_force_tooltip = conqueror
|
||||
hidden_effect = { set_primary_title_to = title:e_mongol_empire }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = {
|
||||
text = central_asia.0003.a.neighbor
|
||||
trigger = {
|
||||
any_neighboring_top_liege_realm_owner = {
|
||||
this = scope:genghis_khan
|
||||
}
|
||||
}
|
||||
}
|
||||
name = {
|
||||
text = central_asia.0003.a.distant
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#
|
||||
# END Become Greatest of Khans events
|
||||
#################
|
||||
|
||||
#################
|
||||
# Establish Bactrian Dominance
|
||||
# central_asia.0011-0013
|
||||
# by Petter Vilberg
|
||||
#
|
||||
|
||||
# I have restored Bactria
|
||||
central_asia.0011 = {
|
||||
type = character_event
|
||||
title = central_asia.0011.t
|
||||
desc = central_asia.0011.desc
|
||||
theme = realm
|
||||
left_portrait = {
|
||||
character = scope:bactrian_emperor
|
||||
animation = personality_bold
|
||||
}
|
||||
override_background = { reference = wilderness_steppe }
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_epic_sacral_moment"
|
||||
establish_bactrian_supremacy_effect = yes
|
||||
legend_seed_new_title_effect = yes
|
||||
}
|
||||
|
||||
option = {
|
||||
name = central_asia.0011.a
|
||||
}
|
||||
}
|
||||
|
||||
# My liege has restored Bactria
|
||||
central_asia.0012 = {
|
||||
type = character_event
|
||||
title = central_asia.0011.t
|
||||
desc = central_asia.0012.desc
|
||||
theme = realm
|
||||
left_portrait = {
|
||||
character = scope:bactrian_emperor
|
||||
animation = personality_bold
|
||||
}
|
||||
override_background = { reference = wilderness_steppe }
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_epic_sacral_moment"
|
||||
show_as_tooltip = {
|
||||
scope:bactrian_emperor = {
|
||||
establish_bactrian_supremacy_effect = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = central_asia.0012.a
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# My lands have become de jure of Bactria
|
||||
central_asia.0013 = {
|
||||
type = character_event
|
||||
title = central_asia.0011.t
|
||||
desc = central_asia.0013.desc
|
||||
theme = realm
|
||||
left_portrait = {
|
||||
character = scope:bactrian_emperor
|
||||
animation = personality_bold
|
||||
}
|
||||
override_background = { reference = wilderness_steppe }
|
||||
|
||||
option = {
|
||||
name = central_asia.0013.a
|
||||
show_as_tooltip = {
|
||||
title:e_bactria = {
|
||||
every_in_de_jure_hierarchy = {
|
||||
limit = {
|
||||
tier = tier_kingdom
|
||||
}
|
||||
set_de_jure_liege_title = title:e_bactria
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,81 +0,0 @@
|
|||
|
||||
namespace = culture_conversion
|
||||
|
||||
|
||||
### My Liege converted culture
|
||||
culture_conversion.0001 = {
|
||||
type = character_event
|
||||
title = culture_conversion.0001.t
|
||||
desc = culture_conversion.0001.desc
|
||||
theme = culture_change
|
||||
left_portrait = {
|
||||
character = scope:converting_character
|
||||
animation = personality_honorable
|
||||
}
|
||||
|
||||
option = { # Good for them, I suppose
|
||||
name = culture_conversion.0001.a
|
||||
trigger = {
|
||||
culture != scope:new_culture
|
||||
culture != scope:old_culture
|
||||
}
|
||||
show_as_tooltip = {
|
||||
scope:converting_character = {
|
||||
set_culture = scope:converting_character.culture
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # It's a bad idea to leave the old ways behind
|
||||
name = culture_conversion.0001.b
|
||||
trigger = {
|
||||
culture = scope:old_culture
|
||||
}
|
||||
show_as_tooltip = {
|
||||
scope:converting_character = {
|
||||
set_culture = scope:converting_character.culture
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Better move with the times
|
||||
name = culture_conversion.0001.c
|
||||
trigger = {
|
||||
culture = scope:old_culture
|
||||
}
|
||||
convert_family_culture_and_notify_vassals_effect = {
|
||||
CONVERTER = scope:converter
|
||||
OLD_CULTURE = scope:old_culture
|
||||
NEW_CULTURE = scope:new_culture
|
||||
}
|
||||
stress_impact = {
|
||||
stubborn = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 20
|
||||
modifier = {
|
||||
add = 80
|
||||
any_held_title = {
|
||||
title_tier = county
|
||||
culture = scope:new_culture
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 100
|
||||
is_landed = yes
|
||||
capital_province.culture = scope:new_culture
|
||||
}
|
||||
modifier = {
|
||||
factor = 0.2
|
||||
has_trait = stubborn
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1,164 +0,0 @@
|
|||
namespace = ep2_decision_events
|
||||
|
||||
#Tournament Training
|
||||
ep2_decision_events.0001 = { #by Veronica Pazos
|
||||
type = character_event
|
||||
title = ep2_decision_events.0001.t
|
||||
desc = ep2_decision_events.0001.desc
|
||||
theme = martial
|
||||
override_background = { reference = courtyard }
|
||||
left_portrait = {
|
||||
character = scope:training_ruler
|
||||
animation = aggressive_sword
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:marshal
|
||||
animation = war_attacker
|
||||
}
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_positive_effect"
|
||||
scope:training_ruler = {
|
||||
add_character_flag = wear_armor
|
||||
}
|
||||
scope:marshal = {
|
||||
add_character_flag = wear_armor
|
||||
}
|
||||
}
|
||||
|
||||
option = { #get prowess
|
||||
name = ep2_decision_events.0001.a
|
||||
scope:marshal = {
|
||||
duel = {
|
||||
skill = prowess
|
||||
value = decent_skill_rating
|
||||
10 = { #Get trait
|
||||
desc = ep2_decision_events.0001.a.crit_success
|
||||
trigger = {
|
||||
root.prowess >= 16
|
||||
}
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
}
|
||||
root = {
|
||||
send_interface_toast = {
|
||||
title = ep2_decision_events.0001.a.crit_success
|
||||
left_icon = root
|
||||
add_trait = strong
|
||||
add_prowess_skill = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
40 = { #Prowess
|
||||
desc = ep2_decision_events.0001.a.success
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
}
|
||||
root = {
|
||||
send_interface_toast = {
|
||||
title = ep2_decision_events.0001.a.success
|
||||
left_icon = root
|
||||
add_prowess_skill = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = { #regular PtV modifier
|
||||
desc = ep2_decision_events.0001.a.failure
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
}
|
||||
root = {
|
||||
send_interface_toast = {
|
||||
title = ep2_decision_events.0001.a.failure
|
||||
left_icon = root
|
||||
add_character_modifier = { #we add a modifier so you can see it on your character
|
||||
modifier = tournament_training_decision_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
25 = { #wounded
|
||||
desc = ep2_decision_events.0001.a.crit_failure
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
}
|
||||
root = {
|
||||
send_interface_toast = {
|
||||
title = ep2_decision_events.0001.a.crit_failure
|
||||
left_icon = root
|
||||
increase_wounds_effect = { REASON = accident }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
every_knight = {
|
||||
custom = custom.every_knight
|
||||
scope:marshal = {
|
||||
duel = {
|
||||
skill = prowess
|
||||
value = decent_skill_rating
|
||||
25 = { #Prowess
|
||||
desc = ep2_decision_events.0001.a.failure
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
}
|
||||
prev = { add_prowess_skill = 1 }
|
||||
}
|
||||
75 = { #regular PtV modifier
|
||||
desc = ep2_decision_events.0001.a.knight_fail
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { #get sparring tradition
|
||||
name = ep2_decision_events.0001.b
|
||||
trigger = {
|
||||
NOT = {
|
||||
culture = { has_cultural_tradition = tradition_chivalry }
|
||||
has_variable = tradition_chivalry_tournament_discount
|
||||
}
|
||||
culture = { #and you can get it
|
||||
OR = {
|
||||
has_cultural_pillar = heritage_brythonic
|
||||
has_cultural_pillar = heritage_central_germanic
|
||||
has_cultural_pillar = heritage_frankish
|
||||
has_cultural_pillar = heritage_goidelic
|
||||
has_cultural_pillar = heritage_iberian
|
||||
has_cultural_pillar = heritage_latin
|
||||
has_cultural_pillar = heritage_west_germanic
|
||||
}
|
||||
}
|
||||
}
|
||||
custom_tooltip = ep2_decision_events.0001.b.tt
|
||||
set_variable = tradition_chivalry_tournament_discount
|
||||
add_prestige = major_prestige_loss
|
||||
stress_impact = {
|
||||
base = major_stress_impact_gain
|
||||
gallant = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
after = {
|
||||
scope:training_ruler = {
|
||||
remove_character_flag = wear_armor
|
||||
}
|
||||
scope:marshal = {
|
||||
remove_character_flag = wear_armor
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,707 +0,0 @@
|
|||
namespace = major_decisions
|
||||
|
||||
#Decisions:
|
||||
# form_dai_viet_empire_decision, by Ali Kara
|
||||
# 4000 - The decision is made, choose a reward.
|
||||
# 4001 - Inform any players.
|
||||
|
||||
# form_majapahit_empire_decision, by Ali Kara
|
||||
# 5000 - The decision is made, choose a reward.
|
||||
# 5001 - Inform any players.
|
||||
|
||||
# form_ryukyu_empire_decision, by Ali Kara
|
||||
# 6000 - The decision is made, choose an artifact to be crafted.
|
||||
# 6001 - The chosen shaku artifact has been crafted
|
||||
# 6002 - The chosen crown artifact has been crafted
|
||||
# 6003 - Inform any players.
|
||||
|
||||
# form_siam_kingdom_decision, by Ali Kara
|
||||
# 7000 - The decision is made, choose a reward.
|
||||
# 7001 - Inform any players.
|
||||
|
||||
#form_dai_viet_empire_decision
|
||||
#The decision is made, choose a reward.
|
||||
major_decisions.4000 = { #by Ali Kara
|
||||
type = character_event
|
||||
title = major_decisions.4000.t
|
||||
desc = major_decisions.4000.desc
|
||||
window = big_event_window
|
||||
theme = realm
|
||||
override_effect_2d = { reference = legend_glow }
|
||||
right_portrait = {
|
||||
character = scope:founder
|
||||
animation = personality_bold
|
||||
camera = camera_event_right_to_the_right
|
||||
}
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_epic_sacral_moment"
|
||||
form_dai_viet_empire_decision_scripted_effect = yes
|
||||
legend_seed_new_title_effect = yes
|
||||
primary_title = { save_scope_as = new_primary_title }
|
||||
save_scope_as = flavor
|
||||
create_character_memory = {
|
||||
type = ascended_throne_memory
|
||||
|
||||
participants = {
|
||||
flavor_character = scope:flavor
|
||||
}
|
||||
}
|
||||
scope:new_memory = {
|
||||
set_variable = {
|
||||
name = landed_title
|
||||
value = scope:new_primary_title
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#More house Godliness
|
||||
option = {
|
||||
name = major_decisions.4000.a
|
||||
root.house = {
|
||||
add_house_modifier = dai_viet_empire_house_modifier
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = cp:councillor_court_chaplain
|
||||
}
|
||||
cp:councillor_court_chaplain = {
|
||||
add_opinion = {
|
||||
modifier = pious_opinion
|
||||
target = root
|
||||
opinion = 40
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#Subject opinion boost
|
||||
option = {
|
||||
trigger = {
|
||||
any_vassal_or_below = {
|
||||
count > 0
|
||||
primary_title.tier >= tier_county
|
||||
}
|
||||
}
|
||||
name = major_decisions.4000.b
|
||||
every_vassal_or_below = {
|
||||
limit = {
|
||||
primary_title.tier >= tier_county
|
||||
}
|
||||
add_opinion = {
|
||||
modifier = respect_opinion
|
||||
opinion = 15
|
||||
target = root
|
||||
}
|
||||
}
|
||||
}
|
||||
#Personal credit
|
||||
option = {
|
||||
name = major_decisions.4000.c
|
||||
give_nickname = nick_the_great
|
||||
add_prestige_experience = massive_fame_gain
|
||||
stress_impact = {
|
||||
humble = medium_stress_impact_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Inform any players.
|
||||
major_decisions.4001 = { #by Ali Kara
|
||||
type = character_event
|
||||
title = major_decisions.4001.t
|
||||
desc = major_decisions.4001.desc
|
||||
theme = realm
|
||||
override_effect_2d = { reference = legend_glow }
|
||||
right_portrait = {
|
||||
character = scope:founder
|
||||
animation = personality_bold
|
||||
camera = camera_body_left_slight
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = { highest_held_title_tier >= tier_empire }
|
||||
play_music_cue = "mx_cue_combat_2"
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = {
|
||||
trigger = {
|
||||
highest_held_title_tier < tier_empire
|
||||
}
|
||||
text = major_decisions.4001.a
|
||||
}
|
||||
name = { #Empires are less than impressed.
|
||||
trigger = {
|
||||
NOT = {
|
||||
highest_held_title_tier >= tier_empire
|
||||
}
|
||||
}
|
||||
text = major_decisions.4001.b
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
scripted_effect majapahit_reward_island_title_claims_list_effect = {
|
||||
title:d_BOR_tanjungpura = { add_to_list = island_titles }
|
||||
title:d_BOR_nan_sarunai = { add_to_list = island_titles }
|
||||
title:d_BOR_kutai = { add_to_list = island_titles }
|
||||
title:d_SUM_jambi = { add_to_list = island_titles }
|
||||
title:d_SUM_minangkabau = { add_to_list = island_titles }
|
||||
title:d_SUM_riau = { add_to_list = island_titles }
|
||||
title:d_SUM_aceh = { add_to_list = island_titles }
|
||||
title:d_SuMa_luwu = { add_to_list = island_titles }
|
||||
title:d_SuMa_tompotika = { add_to_list = island_titles }
|
||||
title:d_SuMa_konawe = { add_to_list = island_titles }
|
||||
random_in_list = {
|
||||
list = island_titles
|
||||
limit = {
|
||||
is_title_created = yes
|
||||
holder = {
|
||||
this != root
|
||||
NOT = {
|
||||
is_vassal_of = root
|
||||
is_tributary_of = root
|
||||
}
|
||||
is_within_diplo_range = { CHARACTER = root }
|
||||
}
|
||||
root = {
|
||||
NOT = {
|
||||
has_claim_on = prev
|
||||
}
|
||||
}
|
||||
}
|
||||
save_scope_as = chosen_island_title_scope
|
||||
}
|
||||
}
|
||||
|
||||
#form_majapahit_empire_decision
|
||||
#The decision is made, choose a reward.
|
||||
major_decisions.5000 = { #by Ali Kara
|
||||
type = character_event
|
||||
title = major_decisions.5000.t
|
||||
desc = major_decisions.5000.desc
|
||||
window = big_event_window
|
||||
theme = faith
|
||||
right_portrait = {
|
||||
character = scope:founder
|
||||
animation = personality_bold
|
||||
camera = camera_event_very_right
|
||||
}
|
||||
left_portrait = {
|
||||
character = scope:ritual_guide
|
||||
animation = storyteller
|
||||
camera = camera_event_very_left
|
||||
}
|
||||
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_epic_sacral_moment"
|
||||
form_majapahit_empire_decision_scripted_effect = yes
|
||||
majapahit_reward_island_title_claims_list_effect = yes
|
||||
legend_seed_new_title_effect = yes
|
||||
if = {
|
||||
limit = {
|
||||
exists = root.cp:councillor_court_chaplain
|
||||
}
|
||||
cp:councillor_court_chaplain = {
|
||||
save_scope_as = ritual_guide
|
||||
}
|
||||
}
|
||||
else = {
|
||||
faith = {
|
||||
ordered_faith_character = {
|
||||
order_by = learning
|
||||
limit = {
|
||||
culture = root.culture
|
||||
top_liege = root
|
||||
}
|
||||
position = 0
|
||||
save_scope_as = ritual_guide
|
||||
}
|
||||
}
|
||||
}
|
||||
primary_title = { save_scope_as = new_primary_title }
|
||||
save_scope_as = flavor
|
||||
create_character_memory = {
|
||||
type = ascended_throne_memory
|
||||
|
||||
participants = {
|
||||
flavor_character = scope:flavor
|
||||
}
|
||||
}
|
||||
scope:new_memory = {
|
||||
set_variable = {
|
||||
name = landed_title
|
||||
value = scope:new_primary_title
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# (War/Aggression) Get a random island duchy claim & modifiers
|
||||
option = {
|
||||
name = major_decisions.5000.a
|
||||
add_character_modifier = {
|
||||
modifier = majapahit_empire_knight_modifier
|
||||
years = 15
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
list_size = {
|
||||
name = island_titles
|
||||
value > 0
|
||||
}
|
||||
}
|
||||
add_unpressed_claim = scope:chosen_island_title_scope
|
||||
}
|
||||
give_nickname = nick_the_brave
|
||||
}
|
||||
# (Peace/Development) build speed & cost
|
||||
option = {
|
||||
name = major_decisions.5000.b
|
||||
add_character_modifier = {
|
||||
modifier = majapahit_empire_build_discount_modifier
|
||||
years = 15
|
||||
}
|
||||
give_nickname = nick_the_meticulous
|
||||
}
|
||||
}
|
||||
|
||||
#Inform any players.
|
||||
major_decisions.5001 = { #by Ali Kara
|
||||
type = character_event
|
||||
title = major_decisions.5001.t
|
||||
desc = major_decisions.5001.desc
|
||||
theme = realm
|
||||
override_effect_2d = { reference = legend_glow }
|
||||
right_portrait = {
|
||||
character = scope:founder
|
||||
animation = personality_bold
|
||||
camera = camera_body_left_slight
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = { highest_held_title_tier >= tier_empire }
|
||||
play_music_cue = "mx_cue_combat_2"
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = {
|
||||
trigger = {
|
||||
highest_held_title_tier > tier_empire
|
||||
}
|
||||
text = major_decisions.5001.a
|
||||
}
|
||||
name = { #Empires are less than impressed.
|
||||
trigger = {
|
||||
NOT = {
|
||||
highest_held_title_tier >= tier_empire
|
||||
}
|
||||
}
|
||||
text = major_decisions.5001.b
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#form_ryukyu_empire_decision
|
||||
#The decision is made, choose an artifact to be crafted.
|
||||
major_decisions.6000 = { #by Ali Kara
|
||||
type = character_event
|
||||
title = major_decisions.6000.t
|
||||
desc = major_decisions.6000.desc
|
||||
window = big_event_window
|
||||
theme = realm
|
||||
right_portrait = {
|
||||
character = scope:founder
|
||||
animation = personality_bold
|
||||
camera = camera_event_center_pointing_slighty_left
|
||||
}
|
||||
left_portrait = {
|
||||
character = scope:antiquarian
|
||||
animation = storyteller
|
||||
camera = camera_event_left_away_3_4
|
||||
}
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_epic_sacral_moment"
|
||||
form_ryukyu_empire_decision_scripted_effect = yes
|
||||
legend_seed_new_title_effect = yes
|
||||
primary_title = { save_scope_as = new_primary_title }
|
||||
save_scope_as = flavor
|
||||
create_character_memory = {
|
||||
type = ascended_throne_memory
|
||||
|
||||
participants = {
|
||||
flavor_character = scope:flavor
|
||||
}
|
||||
}
|
||||
scope:new_memory = {
|
||||
set_variable = {
|
||||
name = landed_title
|
||||
value = scope:new_primary_title
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
employs_court_position = antiquarian_court_position
|
||||
any_court_position_holder = {
|
||||
type = antiquarian_court_position
|
||||
}
|
||||
is_healthy = yes
|
||||
NOR = {
|
||||
has_trait = ill
|
||||
has_trait = leper
|
||||
has_trait = cancer
|
||||
}
|
||||
}
|
||||
random_court_position_holder = {
|
||||
type = antiquarian_court_position
|
||||
save_scope_as = antiquarian
|
||||
}
|
||||
}
|
||||
else = {
|
||||
ordered_courtier = {
|
||||
limiT = {
|
||||
is_healthy = yes
|
||||
NOR = {
|
||||
has_trait = ill
|
||||
has_trait = leper
|
||||
has_trait = cancer
|
||||
}
|
||||
}
|
||||
order_by = learning
|
||||
position = 0
|
||||
save_scope_as = antiquarian
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Taller
|
||||
option = {
|
||||
name = major_decisions.6000.a
|
||||
custom_tooltip = ryukyu_artifact_regalia_craft_tt
|
||||
trigger_event = {
|
||||
id = major_decisions.6001
|
||||
days = 180
|
||||
}
|
||||
}
|
||||
# Wider
|
||||
option = {
|
||||
name = major_decisions.6000.b
|
||||
custom_tooltip = ryukyu_artifact_crown_craft_tt
|
||||
trigger_event = {
|
||||
id = major_decisions.6002
|
||||
days = 180
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#The chosen shaku artifact has been crafted
|
||||
major_decisions.6001 = { #by Ali Kara
|
||||
type = character_event
|
||||
title = major_decisions.6001.t
|
||||
desc = major_decisions.6001.desc
|
||||
theme = realm
|
||||
override_effect_2d = { reference = legend_glow }
|
||||
right_portrait = {
|
||||
character = root
|
||||
animation = personality_bold
|
||||
camera = camera_event_right_crowner_crowning
|
||||
}
|
||||
left_portrait = {
|
||||
character = scope:antiquarian
|
||||
animation = gongshou_with_hu
|
||||
camera = camera_event_left_crowning_observation
|
||||
}
|
||||
artifact = {
|
||||
target = scope:ryukyu_shaku_artifact
|
||||
position = lower_right_portrait
|
||||
}
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_epic_sacral_moment"
|
||||
if = {
|
||||
limit = {
|
||||
employs_court_position = antiquarian_court_position
|
||||
any_court_position_holder = {
|
||||
type = antiquarian_court_position
|
||||
}
|
||||
is_healthy = yes
|
||||
NOR = {
|
||||
has_trait = ill
|
||||
has_trait = leper
|
||||
has_trait = cancer
|
||||
}
|
||||
}
|
||||
random_court_position_holder = {
|
||||
type = antiquarian_court_position
|
||||
save_scope_as = antiquarian
|
||||
}
|
||||
}
|
||||
else = {
|
||||
ordered_courtier = {
|
||||
limit = {
|
||||
is_healthy = yes
|
||||
NOR = {
|
||||
has_trait = ill
|
||||
has_trait = leper
|
||||
has_trait = cancer
|
||||
}
|
||||
}
|
||||
order_by = learning
|
||||
position = 0
|
||||
save_scope_as = antiquarian
|
||||
}
|
||||
}
|
||||
set_artifact_rarity_illustrious = yes
|
||||
create_artifact = {
|
||||
name = ryukyu_shaku_name
|
||||
description = ryukyu_shaku_description
|
||||
template = ryukyu_shaku_template
|
||||
type = regalia
|
||||
visuals = ryukyuan_regalia
|
||||
wealth = scope:wealth
|
||||
quality = scope:quality
|
||||
modifier = ryukyu_empire_shaku_modifier
|
||||
save_scope_as = ryukyu_shaku_artifact
|
||||
decaying = no
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = major_decisions.6001.a
|
||||
add_piety_experience = medium_piety_value
|
||||
add_prestige_experience = medium_fame_gain
|
||||
}
|
||||
}
|
||||
|
||||
#The chosen crown artifact has been crafted
|
||||
major_decisions.6002 = { #by Ali Kara
|
||||
type = character_event
|
||||
title = major_decisions.6002.t
|
||||
desc = major_decisions.6002.desc
|
||||
theme = realm
|
||||
override_effect_2d = { reference = legend_glow }
|
||||
right_portrait = {
|
||||
character = root
|
||||
animation = personality_bold
|
||||
camera = camera_event_right_crowner_crowning
|
||||
}
|
||||
left_portrait = {
|
||||
character = scope:antiquarian
|
||||
animation = crowning
|
||||
camera = camera_event_left_crowning_observation
|
||||
}
|
||||
artifact = {
|
||||
target = scope:ryukyu_crown_artifact
|
||||
position = lower_right_portrait
|
||||
}
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_epic_sacral_moment"
|
||||
if = {
|
||||
limit = {
|
||||
employs_court_position = antiquarian_court_position
|
||||
any_court_position_holder = {
|
||||
type = antiquarian_court_position
|
||||
}
|
||||
is_healthy = yes
|
||||
NOR = {
|
||||
has_trait = ill
|
||||
has_trait = leper
|
||||
has_trait = cancer
|
||||
}
|
||||
}
|
||||
random_court_position_holder = {
|
||||
type = antiquarian_court_position
|
||||
save_scope_as = antiquarian
|
||||
}
|
||||
}
|
||||
else = {
|
||||
ordered_courtier = {
|
||||
limit = {
|
||||
is_healthy = yes
|
||||
NOR = {
|
||||
has_trait = ill
|
||||
has_trait = leper
|
||||
has_trait = cancer
|
||||
}
|
||||
}
|
||||
order_by = learning
|
||||
position = 0
|
||||
save_scope_as = antiquarian
|
||||
}
|
||||
}
|
||||
set_artifact_rarity_illustrious = yes
|
||||
create_artifact = {
|
||||
name = ryukyu_crown_name
|
||||
description = ryukyu_crown_description
|
||||
template = ryukyu_crown_template
|
||||
type = helmet
|
||||
visuals = ryukyuan_crown
|
||||
wealth = scope:wealth
|
||||
quality = scope:quality
|
||||
modifier = ryukyu_empire_crown_modifier
|
||||
save_scope_as = ryukyu_crown_artifact
|
||||
decaying = no
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = major_decisions.6002.a
|
||||
add_prestige_experience = major_fame_gain
|
||||
}
|
||||
}
|
||||
|
||||
#Inform any players.
|
||||
major_decisions.6003 = { #by Ali Kara
|
||||
type = character_event
|
||||
title = major_decisions.6003.t
|
||||
desc = major_decisions.6003.desc
|
||||
theme = realm
|
||||
override_effect_2d = { reference = legend_glow }
|
||||
right_portrait = {
|
||||
character = scope:founder
|
||||
animation = personality_bold
|
||||
camera = camera_body_left_slight
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = { highest_held_title_tier >= tier_empire }
|
||||
play_music_cue = "mx_cue_combat_2"
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = {
|
||||
trigger = {
|
||||
highest_held_title_tier < tier_empire
|
||||
}
|
||||
text = major_decisions.6003.a
|
||||
}
|
||||
name = { #Empires are less than impressed.
|
||||
trigger = {
|
||||
highest_held_title_tier >= tier_empire
|
||||
}
|
||||
text = major_decisions.6003.b
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#form_siam_kingdom_decision
|
||||
#The decision is made, choose an artifact to be crafted.
|
||||
major_decisions.7000 = { #by Ali Kara
|
||||
type = character_event
|
||||
title = major_decisions.7000.t
|
||||
desc = major_decisions.7000.desc
|
||||
window = big_event_window
|
||||
theme = realm
|
||||
right_portrait = {
|
||||
character = scope:founder
|
||||
animation = personality_rational
|
||||
camera = camera_legend_chronicle
|
||||
}
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_epic_sacral_moment"
|
||||
form_siam_kingdom_decision_scripted_effect = yes
|
||||
legend_seed_new_title_effect = yes
|
||||
primary_title = { save_scope_as = new_primary_title }
|
||||
save_scope_as = flavor
|
||||
create_character_memory = {
|
||||
type = ascended_throne_memory
|
||||
|
||||
participants = {
|
||||
flavor_character = scope:flavor
|
||||
}
|
||||
}
|
||||
scope:new_memory = {
|
||||
set_variable = {
|
||||
name = landed_title
|
||||
value = scope:new_primary_title
|
||||
}
|
||||
}
|
||||
capital_county = {
|
||||
save_scope_as = kingdom_capital
|
||||
}
|
||||
}
|
||||
|
||||
# Invest in development
|
||||
option = {
|
||||
name = major_decisions.7000.a
|
||||
scope:kingdom_capital = {
|
||||
add_county_modifier = {
|
||||
modifier = siam_kingdom_sangkhalok_workshops_county_modifier
|
||||
years = 20
|
||||
}
|
||||
}
|
||||
capital_county = {
|
||||
every_county_province = {
|
||||
add_province_modifier = {
|
||||
modifier = siam_kingdom_sangkhalok_workshops_province_modifier
|
||||
years = 20
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# Invest in military
|
||||
option = {
|
||||
name = major_decisions.7000.b
|
||||
capital_county = {
|
||||
every_county_province = {
|
||||
add_province_modifier = {
|
||||
modifier = siam_kingdom_military_modifier
|
||||
years = 20
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# Invest in culture
|
||||
option = {
|
||||
name = major_decisions.7000.c
|
||||
add_character_modifier = {
|
||||
modifier = siam_kingdom_culture_modifier
|
||||
years = 20
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Inform any players.
|
||||
major_decisions.7001 = { #by Ali Kara
|
||||
type = character_event
|
||||
title = major_decisions.7001.t
|
||||
desc = major_decisions.7001.desc
|
||||
theme = realm
|
||||
override_effect_2d = { reference = legend_glow }
|
||||
right_portrait = {
|
||||
character = scope:founder
|
||||
animation = personality_bold
|
||||
camera = camera_body_left_slight
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = { highest_held_title_tier >= tier_kingdom }
|
||||
play_music_cue = "mx_cue_combat_2"
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = {
|
||||
trigger = {
|
||||
highest_held_title_tier < tier_kingdom
|
||||
}
|
||||
text = major_decisions.7001.a
|
||||
}
|
||||
name = { #Kingdoms are less than impressed.
|
||||
trigger = {
|
||||
highest_held_title_tier >= tier_kingdom
|
||||
}
|
||||
text = major_decisions.7001.b
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue