14526 lines
313 KiB
Text
14526 lines
313 KiB
Text
namespace = ep2_tournament_events
|
|
|
|
##################################################
|
|
# DUEL
|
|
# 0001 - 0999
|
|
#
|
|
# MELEE
|
|
# 1000 - 1499
|
|
#
|
|
# ARCHERY
|
|
# 1500 - 1999
|
|
#
|
|
# WRESTLING/FISTFIGHTING
|
|
# 2000 - 2999
|
|
#
|
|
# QUINTAIN (Locale)
|
|
# 3500 - 3999
|
|
#
|
|
# JOUST
|
|
# 4000 - 4499
|
|
#
|
|
# RACE
|
|
# 4500 - 4999
|
|
#
|
|
# RECITAL
|
|
# 5500 - 5999
|
|
#
|
|
##################################################
|
|
|
|
#########################
|
|
### SHARED EVENTS ###
|
|
#########################
|
|
|
|
##############
|
|
### DUEL ###
|
|
##############
|
|
|
|
# Opponent is limping... you think
|
|
ep2_tournament_events.0001 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.0001.t
|
|
desc = ep2_tournament_events.0001.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_cynical
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = pain
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_male_grunts"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
if = {
|
|
limit = {
|
|
scope:activity = { has_current_phase = tournament_phase_wrestling }
|
|
}
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = wrestling ID = 0001 }
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:activity = { has_current_phase = tournament_phase_duel }
|
|
}
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = duel ID = 0001 }
|
|
}
|
|
}
|
|
|
|
# Work it out via smarts
|
|
option = {
|
|
name = ep2_tournament_events.0001.a
|
|
trigger = {
|
|
OR = {
|
|
has_trait = intellect_good
|
|
has_trait = shrewd
|
|
}
|
|
}
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
custom_tooltip = ep2_tournament_events.0001.a.tt
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
paranoid = minor_stress_impact_loss
|
|
trusting = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Go for their leg
|
|
option = {
|
|
name = ep2_tournament_events.0001.b
|
|
|
|
duel = {
|
|
skills = { intrigue prowess }
|
|
target = scope:versus_contestant
|
|
#Your intuition was correct
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.0001.b.tt.win
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
}
|
|
|
|
desc = ep2_tournament_events.0001.b.tt.win
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
paranoid = minor_stress_impact_loss
|
|
trusting = minor_stress_impact_gain
|
|
}
|
|
}
|
|
#Your opponent was bluffing
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.0001.b.tt.lose
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
|
|
desc = ep2_tournament_events.0001.b.tt.lose
|
|
|
|
stress_impact = {
|
|
paranoid = minor_stress_impact_gain
|
|
trusting = minor_stress_impact_loss
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Ignore it
|
|
option = {
|
|
name = ep2_tournament_events.0001.c
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
stress_impact = {
|
|
paranoid = minor_stress_impact_gain
|
|
trusting = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# Opponent plays to the crowd
|
|
ep2_tournament_events.0002 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.0002.t
|
|
desc = ep2_tournament_events.0002.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_cynical
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = throne_room_cheer_1
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_positive_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
if = {
|
|
limit = {
|
|
scope:activity = { has_current_phase = tournament_phase_wrestling }
|
|
}
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = wrestling ID = 0002 }
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:activity = { has_current_phase = tournament_phase_duel }
|
|
}
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = duel ID = 0002 }
|
|
}
|
|
}
|
|
|
|
# I'll show you!
|
|
option = {
|
|
name = ep2_tournament_events.0002.a
|
|
trigger = {
|
|
OR = {
|
|
has_trait = physique_good
|
|
has_trait = strong
|
|
}
|
|
}
|
|
custom_tooltip = ep2_tournament_events.0002.a.tt
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
add_prestige = minor_prestige_gain
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_pose_off_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
arrogant = medium_stress_impact_loss
|
|
humble = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Demand they face you
|
|
option = {
|
|
name = ep2_tournament_events.0002.b
|
|
|
|
stress_impact = {
|
|
arrogant = minor_stress_impact_loss
|
|
humble = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Attack them from behind
|
|
option = {
|
|
name = ep2_tournament_events.0002.c
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
accolade_minimal_glory_loss_with_checks_effect = yes
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = angry_opinion
|
|
opinion = -30
|
|
}
|
|
|
|
stress_impact = {
|
|
craven = medium_stress_impact_loss
|
|
brave = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_trigger contest_versus_wants_to_resign_trigger = {
|
|
OR = {
|
|
dread_modified_ai_boldness = {
|
|
dreaded_character = root
|
|
value <= medium_negative_ai_value
|
|
}
|
|
AND = {
|
|
has_trait = wounded
|
|
has_trait = craven
|
|
}
|
|
AND = {
|
|
NOT = { has_trait = brave }
|
|
has_trait_rank = {
|
|
trait = wounded
|
|
rank >= 2
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Opponent wants to quit
|
|
ep2_tournament_events.0003 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.0003.t
|
|
desc = {
|
|
desc = ep2_tournament_events.0003.desc
|
|
first_valid = {
|
|
triggered_desc = { # Dread
|
|
trigger = {
|
|
scope:versus_contestant = {
|
|
has_dread_level_towards = {
|
|
target = root
|
|
level > 0
|
|
}
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.0003.desc.dread
|
|
}
|
|
triggered_desc = { #Wounded and Craven
|
|
trigger = {
|
|
scope:versus_contestant = {
|
|
has_trait = wounded
|
|
has_trait = craven
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.0003.desc.craven
|
|
}
|
|
triggered_desc = { # Badly wounded, not brave
|
|
trigger = {
|
|
scope:versus_contestant = {
|
|
NOT = { has_trait = brave }
|
|
has_trait_rank = {
|
|
trait = wounded
|
|
rank >= 2
|
|
}
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.0003.desc.wounded
|
|
}
|
|
}
|
|
}
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
cooldown = { years = 1 }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_honorable
|
|
}
|
|
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = pain
|
|
}
|
|
|
|
# Reasons for the opposition to quit:
|
|
# They dread you
|
|
# They have medium or high wounds and aren't brave
|
|
# They have any level of wounds and are craven
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
trigger_if = {
|
|
limit = { this = scope:versus_matchee }
|
|
scope:versus_matcher = { contest_versus_wants_to_resign_trigger = yes }
|
|
}
|
|
trigger_else = {
|
|
scope:versus_matchee = { contest_versus_wants_to_resign_trigger = yes }
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_negative_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
if = {
|
|
limit = {
|
|
scope:activity = { has_current_phase = tournament_phase_wrestling }
|
|
}
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = wrestling ID = 0003 }
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:activity = { has_current_phase = tournament_phase_duel }
|
|
}
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = duel ID = 0003 }
|
|
}
|
|
}
|
|
|
|
# Mock their cowardice
|
|
option = {
|
|
name = ep2_tournament_events.0003.a
|
|
trigger = {
|
|
NOT = { has_trait = craven }
|
|
scope:versus_contestant = { has_trait = craven }
|
|
}
|
|
accolade_minimal_glory_loss_with_checks_effect = yes
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = tournament_mocked_opinion
|
|
opinion = -30
|
|
}
|
|
|
|
add_prestige = minor_prestige_gain
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_mocked_cowardice_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
compassionate = minor_stress_impact_gain
|
|
sadistic = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Understand their cowardice
|
|
option = {
|
|
name = ep2_tournament_events.0003.b
|
|
trigger = {
|
|
has_trait = craven
|
|
scope:versus_contestant = { has_trait = craven }
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = grateful_opinion
|
|
opinion = 20
|
|
}
|
|
|
|
stress_impact = {
|
|
craven = medium_stress_impact_loss
|
|
arrogant = minor_stress_impact_gain
|
|
compassionate = minor_stress_impact_loss
|
|
humble = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Acknowledge their wounds
|
|
option = {
|
|
name = ep2_tournament_events.0003.c
|
|
trigger = {
|
|
scope:versus_contestant = {
|
|
NOT = { has_trait = brave }
|
|
OR = {
|
|
has_trait = wounded_2
|
|
has_trait = wounded_3
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_wounded_quit_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = respect_opinion
|
|
opinion = 20
|
|
}
|
|
|
|
stress_impact = {
|
|
compassionate = minor_stress_impact_loss
|
|
sadistic = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Tell them never to challenge you again
|
|
option = {
|
|
name = ep2_tournament_events.0003.d
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = angry_opinion
|
|
opinion = -30
|
|
}
|
|
|
|
stress_impact = {
|
|
arrogant = minor_stress_impact_loss
|
|
compassionate = minor_stress_impact_gain
|
|
humble = minor_stress_impact_gain
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_mocked_cowardice_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = compassionate
|
|
has_trait = humble
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Tell them they fought well
|
|
option = {
|
|
name = ep2_tournament_events.0003.e
|
|
accolade_minimal_glory_gain_with_checks_effect = yes
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = compliment_opinion
|
|
opinion = 20
|
|
}
|
|
|
|
stress_impact = {
|
|
arrogant = minor_stress_impact_gain
|
|
compassionate = minor_stress_impact_loss
|
|
humble = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
has_trait = arrogant
|
|
}
|
|
}
|
|
}
|
|
|
|
after = {
|
|
tournament_contest_versus_resignation_effect = { RESIGNER = scope:versus_contestant CONTEST = wrestling SKILL = pugilism }
|
|
}
|
|
}
|
|
|
|
# Sword flies into the crowd
|
|
ep2_tournament_events.0004 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.0004.t
|
|
desc = ep2_tournament_events.0004.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
cooldown = { years = 1 }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = worry
|
|
}
|
|
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = shock
|
|
}
|
|
|
|
lower_center_portrait = {
|
|
character = scope:watching_crowd
|
|
}
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
name = spectator
|
|
is_alive = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_surprise_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = duel ID = 0004 }
|
|
|
|
scope:activity = {
|
|
random_guest_subset_current_phase = {
|
|
name = spectator
|
|
limit = { is_alive = yes }
|
|
save_scope_as = watching_crowd
|
|
}
|
|
}
|
|
|
|
scope:watching_crowd = {
|
|
increase_wounds_no_death_effect = { REASON = death_spectator_injured }
|
|
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_trait = scarred
|
|
}
|
|
}
|
|
add_trait = scarred
|
|
}
|
|
add_trait_xp = {
|
|
trait = scarred
|
|
value = {
|
|
integer_range = {
|
|
min = 5
|
|
max = 25
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Blame your opponent
|
|
option = {
|
|
name = ep2_tournament_events.0004.a
|
|
|
|
trigger = {
|
|
has_trait = deceitful
|
|
}
|
|
|
|
scope:watching_crowd = {
|
|
add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = hurt_opinion
|
|
opinion = -50
|
|
}
|
|
}
|
|
|
|
scope:versus_contestant = {
|
|
add_prestige = minor_prestige_loss
|
|
|
|
add_opinion = {
|
|
target = root
|
|
modifier = angry_opinion
|
|
opinion = -30
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_failed_defuse_duel_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
compassionate = medium_stress_impact_gain
|
|
just = medium_stress_impact_gain
|
|
sadistic = miniscule_stress_impact_loss
|
|
arbitrary = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = compassionate
|
|
has_trait = just
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Apologise
|
|
option = {
|
|
name = ep2_tournament_events.0004.b
|
|
|
|
duel = {
|
|
skill = diplomacy
|
|
value = high_skill_rating
|
|
50 = { #They accept your apology
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.0004.b.success
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.0004.b.success
|
|
left_icon = root
|
|
right_icon = scope:watching_crowd
|
|
|
|
scope:watching_crowd = {
|
|
add_opinion = {
|
|
target = root
|
|
modifier = forgiven_opinion
|
|
opinion = 15
|
|
}
|
|
}
|
|
}
|
|
|
|
desc = ep2_tournament_events.1001.c.success
|
|
}
|
|
50 = { #They don't accept the apology
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.0004.b.failure
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.0004.b.failure
|
|
left_icon = root
|
|
right_icon = scope:watching_crowd
|
|
|
|
scope:watching_crowd = {
|
|
add_opinion = {
|
|
target = root
|
|
modifier = angry_opinion
|
|
opinion = -35
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_duel_apology_log
|
|
tags = { bad }
|
|
score = 5
|
|
character = root
|
|
target = scope:watching_crowd
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
compassionate = miniscule_stress_impact_loss
|
|
just = miniscule_stress_impact_loss
|
|
honest = minor_stress_impact_loss
|
|
sadistic = medium_stress_impact_gain
|
|
arbitrary = medium_stress_impact_gain
|
|
deceitful = major_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = sadistic
|
|
has_trait = arbitrary
|
|
has_trait = deceitful
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Take a swing at opponent whilst they're distracted
|
|
option = {
|
|
name = ep2_tournament_events.0004.c
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
accolade_minimal_glory_loss_with_checks_effect = yes
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = angry_opinion
|
|
opinion = -40
|
|
}
|
|
|
|
stress_impact = {
|
|
ambitious = miniscule_stress_impact_loss
|
|
craven = miniscule_stress_impact_loss
|
|
impatient = minor_stress_impact_loss
|
|
brave = medium_stress_impact_gain
|
|
patient = medium_stress_impact_gain
|
|
content = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = content
|
|
has_trait = patient
|
|
has_trait = brave
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Kick opponent in the groin
|
|
ep2_tournament_events.0005 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.0005.t
|
|
desc = {
|
|
desc = ep2_tournament_events.0005.start
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:versus_contestant = { is_eunuch_trigger = yes }
|
|
}
|
|
desc = ep2_tournament_events.0005.eunuch
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:versus_contestant = { is_eunuch_trigger = no }
|
|
}
|
|
desc = ep2_tournament_events.0005.pain
|
|
}
|
|
}
|
|
}
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
cooldown = { years = 1 }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = worry
|
|
}
|
|
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
triggered_animation = { # Normal
|
|
trigger = {
|
|
scope:versus_contestant = { is_eunuch_trigger = no }
|
|
}
|
|
animation = pain
|
|
}
|
|
triggered_animation = { # Unfettered by any weak spots. BUILT DIFFERENT.
|
|
trigger = {
|
|
scope:versus_contestant = { is_eunuch_trigger = yes }
|
|
}
|
|
animation = anger
|
|
}
|
|
}
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
OR = {
|
|
has_trait = just
|
|
has_trait = compassionate
|
|
has_trait = gallant
|
|
}
|
|
add = -0.5
|
|
}
|
|
modifier = {
|
|
OR = {
|
|
has_trait = arbitrary
|
|
has_trait = sadistic
|
|
has_trait = ambitious
|
|
}
|
|
add = 0.5
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_negative_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = duel ID = 0005 }
|
|
}
|
|
|
|
# Follow up
|
|
option = {
|
|
name = ep2_tournament_events.0005.a
|
|
|
|
trigger = {
|
|
scope:versus_contestant = { is_eunuch_trigger = no }
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
accolade_minimal_glory_loss_with_checks_effect = yes
|
|
|
|
add_prestige = minor_prestige_loss
|
|
|
|
add_character_modifier = {
|
|
modifier = tournament_low_blower_modifier
|
|
years = 10
|
|
}
|
|
|
|
scope:versus_contestant = {
|
|
add_prestige = minor_prestige_loss
|
|
|
|
add_opinion = {
|
|
target = root
|
|
modifier = angry_opinion
|
|
opinion = -50
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
compassionate = medium_stress_impact_gain
|
|
just = medium_stress_impact_gain
|
|
honest = medium_stress_impact_gain
|
|
sadistic = miniscule_stress_impact_loss
|
|
arbitrary = miniscule_stress_impact_loss
|
|
deceitful = miniscule_stress_impact_loss
|
|
gallant = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = -1
|
|
ai_vengefulness = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Apologise
|
|
option = {
|
|
name = ep2_tournament_events.0005.b
|
|
|
|
trigger = {
|
|
scope:versus_contestant = { is_eunuch_trigger = no }
|
|
}
|
|
|
|
accolade_minimal_glory_gain_with_checks_effect = yes
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = angry_opinion
|
|
opinion = -20
|
|
}
|
|
|
|
stress_impact = {
|
|
compassionate = miniscule_stress_impact_loss
|
|
just = miniscule_stress_impact_loss
|
|
honest = minor_stress_impact_loss
|
|
sadistic = medium_stress_impact_gain
|
|
arbitrary = medium_stress_impact_gain
|
|
deceitful = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = 1
|
|
ai_vengefulness = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Oh no, they're not susceptible to my secret technique!
|
|
option = {
|
|
name = ep2_tournament_events.0005.c
|
|
|
|
trigger = {
|
|
scope:versus_contestant = { is_eunuch_trigger = yes }
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_miniscule }
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = dismissive_opinion
|
|
opinion = -25
|
|
}
|
|
|
|
stress_impact = {
|
|
ambitious = miniscule_stress_impact_loss
|
|
craven = miniscule_stress_impact_loss
|
|
impatient = minor_stress_impact_loss
|
|
brave = medium_stress_impact_gain
|
|
patient = medium_stress_impact_gain
|
|
content = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = 0.5
|
|
ai_vengefulness = -0.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# You have a chance to end them rightly
|
|
ep2_tournament_events.0006 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.0006.t
|
|
desc = ep2_tournament_events.0006.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
cooldown = { years = 1 }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = scheme
|
|
}
|
|
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = worry
|
|
}
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_positive_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = duel ID = 0006 }
|
|
}
|
|
|
|
# End them rightly!
|
|
option = {
|
|
name = ep2_tournament_events.0006.a
|
|
|
|
flavor = ep2_tournament_events.0006.a.tt
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_miniscule }
|
|
|
|
accolade_minimal_glory_gain_with_checks_effect = yes
|
|
|
|
add_character_modifier = {
|
|
modifier = tournament_roguish_duelist_modifier
|
|
years = 25
|
|
}
|
|
|
|
scope:versus_contestant = {
|
|
send_interface_toast = { #Send an interface toast so it's not just completely random if it's not an AI
|
|
title = ep2_tournament_events.0006.a.toast
|
|
left_icon = scope:versus_contestant
|
|
right_icon = root
|
|
|
|
add_prestige = medium_prestige_loss
|
|
|
|
add_character_modifier = {
|
|
modifier = tournament_ended_rightly_modifier
|
|
years = 15
|
|
}
|
|
}
|
|
|
|
add_opinion = {
|
|
target = root
|
|
modifier = tournament_ended_rightly_opinion
|
|
opinion = -60
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_ended_rightly_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
compassionate = medium_stress_impact_gain
|
|
just = medium_stress_impact_gain
|
|
honest = medium_stress_impact_gain
|
|
sadistic = minor_stress_impact_loss
|
|
arbitrary = minor_stress_impact_loss
|
|
deceitful = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 30 #Deliberately lowered to ensure we don't see too much of this
|
|
ai_value_modifier = {
|
|
ai_compassion = -1
|
|
ai_vengefulness = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Just follow up normally
|
|
option = {
|
|
name = ep2_tournament_events.0006.b
|
|
|
|
flavor = ep2_tournament_events.0006.b.tt
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
stress_impact = {
|
|
just = miniscule_stress_impact_loss
|
|
arbitrary = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = 1
|
|
ai_vengefulness = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Let them recover
|
|
option = {
|
|
name = ep2_tournament_events.0006.c
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_miniscule }
|
|
|
|
accolade_minor_glory_gain_with_checks_effect = yes
|
|
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_duel_recovered
|
|
CHARACTER = scope:versus_contestant
|
|
OPINION = default_friend_opinion
|
|
}
|
|
|
|
stress_impact = {
|
|
ambitious = medium_stress_impact_gain
|
|
craven = medium_stress_impact_gain
|
|
impatient = medium_stress_impact_gain
|
|
vengeful = minor_stress_impact_gain
|
|
brave = miniscule_stress_impact_loss
|
|
patient = miniscule_stress_impact_loss
|
|
content = miniscule_stress_impact_loss
|
|
forgiving = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = 0.5
|
|
ai_vengefulness = -0.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Your opponent offers you money to take a dive
|
|
ep2_tournament_events.0007 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.0007.t
|
|
desc = ep2_tournament_events.0007.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
cooldown = { years = 1 }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = worry
|
|
}
|
|
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = beg
|
|
}
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
trigger_if = {
|
|
limit = { this = scope:versus_matcher }
|
|
scope:versus_matchee.gold > 100
|
|
}
|
|
trigger_else = { scope:versus_matcher.gold > 100 }
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_surprise_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = duel ID = 0007 }
|
|
}
|
|
|
|
# Accept
|
|
option = {
|
|
name = ep2_tournament_events.0007.a
|
|
|
|
scope:versus_contestant = {
|
|
pay_short_term_gold = {
|
|
target = root
|
|
gold = {
|
|
value = scope:versus_contestant.major_gold_value
|
|
max = 100
|
|
}
|
|
}
|
|
|
|
add_opinion = {
|
|
target = root
|
|
modifier = relieved_opinion
|
|
opinion = 30
|
|
}
|
|
}
|
|
|
|
save_scope_as = resigner
|
|
tournament_contest_versus_resignation_effect = { RESIGNER = root CONTEST = duel SKILL = foot }
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_suspicious_loss_log
|
|
tags = { bad }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
honest = medium_stress_impact_gain
|
|
just = medium_stress_impact_gain
|
|
ambitious = medium_stress_impact_gain
|
|
greedy = minor_stress_impact_loss
|
|
arbitrary = miniscule_stress_impact_loss
|
|
content = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_honor = -1
|
|
ai_greed = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Accept, but for a hook and half the gold
|
|
option = {
|
|
name = ep2_tournament_events.0007.b
|
|
|
|
trigger = {
|
|
can_add_hook = { #Ensure they can be indebted to you
|
|
type = loyalty_hook
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
add_hook = {
|
|
type = loyalty_hook
|
|
target = scope:versus_contestant
|
|
}
|
|
|
|
save_scope_as = resigner
|
|
tournament_contest_versus_resignation_effect = { RESIGNER = root CONTEST = duel SKILL = foot }
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_suspicious_loss_log
|
|
tags = { bad }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
honest = medium_stress_impact_gain
|
|
greedy = minor_stress_impact_gain
|
|
deceitful = miniscule_stress_impact_loss
|
|
ambitious = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_honor = -1
|
|
ai_energy = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Refuse
|
|
option = {
|
|
name = ep2_tournament_events.0007.c
|
|
|
|
scope:versus_contestant = {
|
|
add_opinion = {
|
|
target = root
|
|
modifier = disappointed_opinion
|
|
opinion = -30
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
arbitrary = medium_stress_impact_gain
|
|
just = miniscule_stress_impact_loss
|
|
greedy = medium_stress_impact_gain
|
|
ambitious = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_honor = 1
|
|
ai_vengefulness = -1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# You try to read your opponent's move
|
|
ep2_tournament_events.0010 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.0010.t
|
|
desc = ep2_tournament_events.0010.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
cooldown = { years = 1 }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = marshal
|
|
}
|
|
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = sword_coup_degrace
|
|
}
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_metal_clash"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = duel ID = 0010 }
|
|
}
|
|
|
|
# Attempt a risky counter
|
|
option = {
|
|
name = ep2_tournament_events.0010.a
|
|
|
|
duel = {
|
|
skills = { prowess intrigue }
|
|
target = scope:versus_contestant
|
|
50 = { #You guess right
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.0010.a.success
|
|
|
|
modifier = {
|
|
has_trait = lifestyle_blademaster
|
|
add = 10
|
|
}
|
|
|
|
modifier = {
|
|
AND = {
|
|
has_trait = tourney_participant
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
}
|
|
add = 10
|
|
}
|
|
|
|
modifier = {
|
|
has_trait = shrewd
|
|
add = 2
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.0010.a.success
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = respect_opinion
|
|
opinion = 10
|
|
}
|
|
}
|
|
min = 10
|
|
}
|
|
50 = { #You guess wrong
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.0010.a.failure
|
|
|
|
modifier = {
|
|
scope:versus_contestant = {
|
|
has_trait = lifestyle_blademaster
|
|
}
|
|
add = 5
|
|
}
|
|
|
|
modifier = {
|
|
scope:versus_contestant = {
|
|
AND = {
|
|
has_trait = tourney_participant
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
}
|
|
}
|
|
add = 5
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.0010.a.failure
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
increase_wounds_no_death_effect = { REASON = duel }
|
|
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_trait = scarred
|
|
}
|
|
}
|
|
add_trait = scarred
|
|
}
|
|
add_trait_xp = {
|
|
trait = scarred
|
|
value = {
|
|
integer_range = {
|
|
min = 5
|
|
max = 25
|
|
}
|
|
}
|
|
}
|
|
}
|
|
min = 10
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
brave = miniscule_stress_impact_loss
|
|
ambitious = miniscule_stress_impact_loss
|
|
impatient = miniscule_stress_impact_loss
|
|
patient = minor_stress_impact_gain
|
|
content = minor_stress_impact_gain
|
|
craven = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
ai_honor = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Block it
|
|
option = {
|
|
name = ep2_tournament_events.0010.b
|
|
|
|
duel = {
|
|
skills = { prowess martial }
|
|
target = scope:versus_contestant
|
|
75 = { #It succeeds
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.0010.b.success
|
|
|
|
modifier = {
|
|
has_trait = lifestyle_blademaster
|
|
add = 10
|
|
}
|
|
|
|
modifier = {
|
|
AND = {
|
|
has_trait = tourney_participant
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
}
|
|
add = 10
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.0010.b.success
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = respect_opinion
|
|
opinion = 10
|
|
}
|
|
}
|
|
min = 10
|
|
}
|
|
25 = { #It fails
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.0010.a.failure
|
|
|
|
modifier = {
|
|
scope:versus_contestant = {
|
|
has_trait = lifestyle_blademaster
|
|
}
|
|
add = 7
|
|
}
|
|
|
|
modifier = {
|
|
scope:versus_contestant = {
|
|
AND = {
|
|
has_trait = tourney_participant
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
}
|
|
}
|
|
add = 7
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.0010.a.failure
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
increase_wounds_no_death_effect = { REASON = duel }
|
|
}
|
|
min = 10
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
fickle = miniscule_stress_impact_loss
|
|
patient = miniscule_stress_impact_loss
|
|
humble = miniscule_stress_impact_loss
|
|
stubborn = minor_stress_impact_gain
|
|
impatient = minor_stress_impact_gain
|
|
arrogant = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 0.5
|
|
ai_honor = 0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
# Sidestep the blow entirely
|
|
option = {
|
|
name = ep2_tournament_events.0010.c
|
|
|
|
flavor = ep2_tournament_events.0010.c.tt
|
|
|
|
accolade_minimal_glory_gain_with_checks_effect = yes
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_miniscule }
|
|
|
|
stress_impact = {
|
|
brave = minor_stress_impact_gain
|
|
ambitious = minor_stress_impact_gain
|
|
impatient = minor_stress_impact_gain
|
|
patient = miniscule_stress_impact_loss
|
|
content = miniscule_stress_impact_loss
|
|
craven = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = -1
|
|
ai_honor = -1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# You attempt to fight with your other hand to surprise your opponent
|
|
ep2_tournament_events.0011 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.0011.t
|
|
desc = ep2_tournament_events.0011.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
cooldown = { years = 1 }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = aggressive_sword
|
|
}
|
|
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = sword_coup_degrace
|
|
}
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
|
|
NOT = { #For obvious reasons
|
|
has_trait = maimed
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_metal_woosh"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = duel ID = 0011 }
|
|
save_scope_value_as = {
|
|
name = weapon_range
|
|
value = {
|
|
integer_range = {
|
|
min = 1
|
|
max = 15
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Pop it to your hand with the greatest of ease
|
|
option = {
|
|
name = ep2_tournament_events.0011.a
|
|
|
|
trigger = {
|
|
OR = {
|
|
AND = {
|
|
has_trait = tourney_participant
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
}
|
|
has_trait = lifestyle_blademaster
|
|
has_trait = education_martial_prowess
|
|
}
|
|
}
|
|
|
|
flavor = ep2_tournament_events.0011.a.tt
|
|
|
|
add_character_modifier = tournament_ambidextrous_modifier
|
|
|
|
accolade_minor_glory_gain_with_checks_effect = yes
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_ambidextrous_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
deceitful = miniscule_stress_impact_loss
|
|
arrogant = miniscule_stress_impact_loss
|
|
honest = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Attempt to throw your weapon to your other hand
|
|
option = {
|
|
name = ep2_tournament_events.0011.b
|
|
|
|
trigger = {
|
|
NOR = {
|
|
AND = {
|
|
has_trait = tourney_participant
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
}
|
|
has_trait = lifestyle_blademaster
|
|
has_trait = education_martial_prowess
|
|
}
|
|
}
|
|
|
|
flavor = ep2_tournament_events.0011.b.tt
|
|
|
|
duel = {
|
|
skills = { prowess intrigue }
|
|
target = scope:versus_contestant
|
|
|
|
50 = { #It succeeds
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.0011.b.success
|
|
|
|
modifier = {
|
|
has_trait = athletic
|
|
add = 5
|
|
}
|
|
|
|
modifier = {
|
|
AND = {
|
|
has_trait = tourney_participant
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 15
|
|
}
|
|
}
|
|
add = 5
|
|
}
|
|
min = 5
|
|
|
|
modifier = {
|
|
has_trait = education_martial_prowess
|
|
add = 15
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_ambidextrous_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.0011.b.success
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
add_character_modifier = {
|
|
modifier = tournament_ambidextrous_modifier
|
|
years = 25
|
|
}
|
|
}
|
|
}
|
|
40 = { #It fails
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.0011.b.failure
|
|
|
|
modifier = {
|
|
scope:versus_contestant = {
|
|
has_trait = lifestyle_blademaster
|
|
}
|
|
add = 7
|
|
}
|
|
|
|
modifier = {
|
|
scope:versus_contestant = {
|
|
AND = {
|
|
has_trait = tourney_participant
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
}
|
|
}
|
|
add = 7
|
|
}
|
|
min = 4
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.0011.b.failure
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
}
|
|
|
|
10 = { #It fails horrendously
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
min = 1
|
|
|
|
desc = ep2_tournament_events.0011.b.criticalfailure
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_ambisinister_log
|
|
tags = { bad }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.0011.b.criticalfailure
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_major }
|
|
|
|
add_character_modifier = {
|
|
modifier = tournament_ambisinister_modifier
|
|
years = 25
|
|
}
|
|
|
|
increase_wounds_no_death_effect = { REASON = duel }
|
|
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_trait = scarred
|
|
}
|
|
}
|
|
add_trait = scarred
|
|
}
|
|
add_trait_xp = {
|
|
trait = scarred
|
|
value = {
|
|
integer_range = {
|
|
min = 5
|
|
max = 25
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
deceitful = miniscule_stress_impact_loss
|
|
arrogant = miniscule_stress_impact_loss
|
|
honest = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Attempt to fight on, using your sword with two hands
|
|
option = {
|
|
name = ep2_tournament_events.0011.c
|
|
|
|
flavor = ep2_tournament_events.0011.c.tt
|
|
|
|
random_list = {
|
|
50 = {
|
|
modifier = { #This is for fuzzying up the random list so it randomises it a bit
|
|
add = scope:weapon_range
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.0011.c.success
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
custom_tooltip = ep2_tournament_events.0011.c.opinion
|
|
|
|
scope:activity = {
|
|
random_guest_subset_current_phase = {
|
|
name = spectator
|
|
limit = { is_alive = yes }
|
|
|
|
hidden_effect = {
|
|
add_opinion = {
|
|
target = root
|
|
opinion = 5
|
|
modifier = impressed_opinion
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
50 = {
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.0011.c.failure
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
increase_wounds_no_death_effect = { REASON = duel }
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_miniscule }
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
brave = miniscule_stress_impact_loss
|
|
ambitious = miniscule_stress_impact_loss
|
|
wrathful = miniscule_stress_impact_loss
|
|
calm = minor_stress_impact_gain
|
|
content = minor_stress_impact_gain
|
|
craven = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = -1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# GO GO GADGET DUELING CLOAK
|
|
# No but for real, it's taken from Di Grassi's manuals (yes, I know, slightly out of period, shhhh, rule of cool):
|
|
# "The cloak may be flung or thrown with the edge of the sword, when one standeth at the low ward,
|
|
# with the point of the sword turned backwards, on the left side and the left side with the cloak upon it,
|
|
# followed at large upon the arm up to the elbow: but not wrapped about it, and whilest he falseth a reverse,
|
|
# he may take the cloak on the edge of the sword and fling it towards his enemy,
|
|
# and then strike him with such a blow as shall be then most for his advantage deliver."
|
|
ep2_tournament_events.0012 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.0012.t
|
|
desc = ep2_tournament_events.0012.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = marshal
|
|
}
|
|
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = laugh
|
|
}
|
|
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
|
|
has_character_flag = cloak_duelist_flag #Ensure you are wearing your DUELING CLOAK
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_surprise_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = duel ID = 0012 }
|
|
}
|
|
|
|
# Proudly fight in the cloak
|
|
option = {
|
|
name = ep2_tournament_events.0012.a
|
|
|
|
trigger = {
|
|
has_trait = arrogant
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_character_modifier = tournament_fashionable_duelist_modifier
|
|
}
|
|
}
|
|
add_character_modifier = {
|
|
modifier = tournament_fashionable_duelist_modifier
|
|
years = 20
|
|
}
|
|
}
|
|
else = {
|
|
add_prestige = medium_prestige_gain
|
|
}
|
|
|
|
accolade_medium_glory_gain_with_checks_effect = yes
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_miniscule }
|
|
|
|
stress_impact = {
|
|
base = medium_stress_impact_loss
|
|
stubborn = miniscule_stress_impact_loss
|
|
fickle = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 75
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
ai_vengefulness = 0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
# Throw the cloak at your enemy
|
|
option = {
|
|
name = ep2_tournament_events.0012.b
|
|
|
|
trigger = {
|
|
intrigue > 8
|
|
}
|
|
show_as_unavailable = {
|
|
always = yes
|
|
}
|
|
|
|
flavor = ep2_tournament_events.0012.b.tt
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_dueling_cloak_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
deceitful = minor_stress_impact_loss
|
|
arbitrary = minor_stress_impact_loss
|
|
just = medium_stress_impact_gain
|
|
honest = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 0.5
|
|
ai_vengefulness = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Dis-cloak thyself
|
|
option = {
|
|
name = ep2_tournament_events.0012.c
|
|
|
|
flavor = ep2_tournament_events.0012.c.tt
|
|
|
|
stress_impact = {
|
|
ambitious = miniscule_stress_impact_loss
|
|
fickle = miniscule_stress_impact_loss
|
|
humble = miniscule_stress_impact_loss
|
|
content = medium_stress_impact_gain
|
|
stubborn = medium_stress_impact_gain
|
|
arrogant = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = -1
|
|
ai_honor = 0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
# Insist on wearing it
|
|
option = {
|
|
name = ep2_tournament_events.0012.d
|
|
|
|
trigger = {
|
|
NOT = {
|
|
has_trait = arrogant
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_character_modifier = tournament_fashionable_duelist_modifier
|
|
}
|
|
}
|
|
add_character_modifier = {
|
|
modifier = tournament_fashionable_duelist_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
else = {
|
|
add_prestige = medium_prestige_gain
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
stress_impact = {
|
|
stubborn = miniscule_stress_impact_loss
|
|
fickle = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
ai_honor = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
after = {
|
|
remove_character_flag = cloak_duelist_flag
|
|
}
|
|
}
|
|
|
|
# Try to distract your opponent with words
|
|
ep2_tournament_events.0020 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.0020.t
|
|
desc = {
|
|
desc = ep2_tournament_events.0020.desc
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:secret = {
|
|
exists = this
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.0020.secret
|
|
}
|
|
}
|
|
}
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = scheme
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = aggressive_sword
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = duel ID = 0020 }
|
|
|
|
scope:versus_contestant = {
|
|
random_secret = {
|
|
limit = {
|
|
is_known_by = root
|
|
}
|
|
save_scope_as = secret
|
|
}
|
|
}
|
|
}
|
|
|
|
# Loudly reveal their secret
|
|
option = {
|
|
name = ep2_tournament_events.0020.a
|
|
|
|
trigger = {
|
|
scope:secret = {
|
|
exists = this
|
|
}
|
|
OR = {
|
|
has_trait = sadistic
|
|
has_trait = callous
|
|
has_trait = arbitrary
|
|
}
|
|
}
|
|
|
|
scope:secret = {
|
|
expose_secret = root
|
|
}
|
|
|
|
scope:versus_contestant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_major }
|
|
}
|
|
|
|
accolade_minor_glory_loss_with_checks_effect = yes
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = angry_opinion
|
|
opinion = -50
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_secret_exposed_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
compassionate = medium_stress_impact_gain
|
|
just = medium_stress_impact_gain
|
|
sadistic = miniscule_stress_impact_loss
|
|
callous = miniscule_stress_impact_loss
|
|
arbitrary = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = compassionate
|
|
has_trait = just
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# I know your seeeecreeeet!
|
|
option = {
|
|
name = ep2_tournament_events.0020.b
|
|
|
|
trigger = {
|
|
scope:secret = {
|
|
exists = this
|
|
}
|
|
}
|
|
|
|
add_internal_flag = special
|
|
|
|
scope:versus_contestant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
|
|
accolade_minimal_glory_loss_with_checks_effect = yes
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = angry_opinion
|
|
opinion = -30
|
|
}
|
|
|
|
stress_impact = {
|
|
compassionate = minor_stress_impact_gain
|
|
just = minor_stress_impact_gain
|
|
sadistic = miniscule_stress_impact_loss
|
|
callous = miniscule_stress_impact_loss
|
|
arbitrary = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_vengefulness = 2
|
|
ai_boldness = 2
|
|
ai_honor = -2
|
|
ai_compassion = -2
|
|
}
|
|
}
|
|
}
|
|
|
|
# Try to distract them
|
|
option = {
|
|
name = ep2_tournament_events.0020.c
|
|
|
|
duel = {
|
|
skill = diplomacy
|
|
value = high_skill_rating
|
|
50 = { #They accept your apology
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.0020.c.success
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.0020.c.success
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
scope:versus_contestant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
}
|
|
}
|
|
}
|
|
50 = { #They don't accept the apology
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.0020.c.failure
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.0020.c.failure
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
just = medium_stress_impact_gain
|
|
honest = minor_stress_impact_gain
|
|
arbitrary = miniscule_stress_impact_gain
|
|
deceitful = miniscule_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
ai_honor = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Decide against such underhanded tactics
|
|
option = {
|
|
name = ep2_tournament_events.0020.d
|
|
|
|
accolade_minimal_glory_gain_with_checks_effect = yes
|
|
|
|
stress_impact = {
|
|
just = miniscule_stress_impact_loss
|
|
honest = miniscule_stress_impact_loss
|
|
arbitrary = minor_stress_impact_gain
|
|
deceitful = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 75
|
|
ai_value_modifier = {
|
|
ai_boldness = -0.5
|
|
ai_honor = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Remind your opponent you slept with their family member
|
|
ep2_tournament_events.0021 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.0021.t
|
|
desc = ep2_tournament_events.0021.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = scheme
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = dismissal
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
trigger_if = {
|
|
limit = { this = scope:versus_matcher }
|
|
scope:versus_matchee = {
|
|
any_close_family_member = {
|
|
OR = {
|
|
has_relation_lover = root
|
|
has_relation_soulmate = root
|
|
is_spouse_of = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
trigger_else = {
|
|
scope:versus_matcher = {
|
|
any_close_family_member = {
|
|
OR = {
|
|
has_relation_lover = root
|
|
has_relation_soulmate = root
|
|
is_spouse_of = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_surprise_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = duel ID = 0021 }
|
|
|
|
scope:versus_contestant = {
|
|
random_close_family_member = {
|
|
limit = {
|
|
OR = {
|
|
has_relation_lover = root
|
|
has_relation_soulmate = root
|
|
is_spouse_of = root
|
|
}
|
|
}
|
|
save_scope_as = family
|
|
}
|
|
}
|
|
}
|
|
|
|
# CoD lobby trash talk, 2009
|
|
option = {
|
|
name = ep2_tournament_events.0021.a
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = sadistic
|
|
has_trait = arrogant
|
|
}
|
|
|
|
NOR = {
|
|
has_trait = chaste
|
|
has_trait = celibate
|
|
}
|
|
}
|
|
|
|
scope:versus_contestant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_major }
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = absolutely_horrified_opinion
|
|
opinion = -60
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:family
|
|
modifier = insulted_opinion
|
|
opinion = -20
|
|
}
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
compassionate = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_vengefulness = 2
|
|
ai_boldness = 2
|
|
ai_honor = -2
|
|
ai_compassion = -2
|
|
}
|
|
}
|
|
}
|
|
|
|
# Thou hast undone our mother!
|
|
option = {
|
|
name = ep2_tournament_events.0021.b
|
|
|
|
scope:versus_contestant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
|
|
accolade_minimal_glory_gain_with_checks_effect = yes
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = angry_opinion
|
|
opinion = -40
|
|
}
|
|
|
|
stress_impact = {
|
|
compassionate = minor_stress_impact_gain
|
|
just = minor_stress_impact_gain
|
|
sadistic = miniscule_stress_impact_loss
|
|
arbitrary = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_vengefulness = 2
|
|
ai_boldness = 2
|
|
ai_honor = -2
|
|
ai_compassion = -2
|
|
}
|
|
}
|
|
}
|
|
|
|
# Stay out of it
|
|
option = {
|
|
name = ep2_tournament_events.0021.c
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
stress_impact = {
|
|
compassionate = miniscule_stress_impact_loss
|
|
just = miniscule_stress_impact_loss
|
|
content = miniscule_stress_impact_loss
|
|
ambitious = minor_stress_impact_gain
|
|
sadistic = minor_stress_impact_gain
|
|
arbitrary = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_vengefulness = -2
|
|
ai_boldness = -2
|
|
ai_honor = 2
|
|
ai_compassion = 2
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
###############
|
|
### MELEE ###
|
|
###############
|
|
|
|
# Melee spills over into nearby town
|
|
ep2_tournament_events.1001 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1001.t
|
|
desc = ep2_tournament_events.1001.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = worry
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
NOT = {
|
|
has_variable = tournament_village_destroyed
|
|
}
|
|
OR = {
|
|
involved_activity.activity_location = {
|
|
has_holding_type = church_holding
|
|
barony = {
|
|
lessee = {
|
|
this != root #it's not you
|
|
is_ai = yes
|
|
is_adult = yes
|
|
}
|
|
}
|
|
}
|
|
scope:activity.activity_location.province_owner != root
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/SFX/Ambience/3DMapEmitters/Nature/sfx_amb_3d_fire"
|
|
scope:activity.activity_location.province_owner = { save_scope_as = mayor }
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = melee ID = 1001 }
|
|
}
|
|
|
|
# Make everyone stop
|
|
option = {
|
|
name = ep2_tournament_events.1001.a
|
|
|
|
trigger = {
|
|
has_trait = august
|
|
}
|
|
|
|
add_prestige = medium_prestige_value
|
|
|
|
stress_impact = {
|
|
craven = medium_stress_impact_gain
|
|
content = minor_stress_impact_gain
|
|
humble = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = craven
|
|
has_trait = content
|
|
has_trait = humble
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Stubbornly refuse to leave
|
|
option = {
|
|
name = ep2_tournament_events.1001.b
|
|
|
|
trigger = {
|
|
has_trait = stubborn
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
scope:activity.activity_location = {
|
|
add_province_modifier = {
|
|
modifier = village_destroyed_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_village_burned_log
|
|
tags = { bad }
|
|
score = 5
|
|
character = root
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
craven = medium_stress_impact_gain
|
|
content = minor_stress_impact_gain
|
|
humble = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = craven
|
|
has_trait = content
|
|
has_trait = humble
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Attempt to call a truce
|
|
option = {
|
|
name = ep2_tournament_events.1001.c
|
|
|
|
duel = {
|
|
skill = diplomacy
|
|
value = high_skill_rating
|
|
|
|
50 = { #The contestants acquiesce
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1001.c.success
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
add_prestige = minor_prestige_gain
|
|
}
|
|
|
|
desc = ep2_tournament_events.1001.c.success
|
|
}
|
|
50 = { #Nobody listens
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1001.c.success
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
add_prestige = minor_prestige_loss
|
|
}
|
|
|
|
desc = ep2_tournament_events.1001.c.failure
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_village_burned_log
|
|
tags = { bad }
|
|
score = 5
|
|
character = root
|
|
}
|
|
}
|
|
|
|
scope:activity.activity_location = {
|
|
add_province_modifier = {
|
|
modifier = village_destroyed_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
|
|
set_variable = {
|
|
days = 150 #Want it to last the entire duration of a tournament
|
|
name = tournament_village_destroyed
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
brave = medium_stress_impact_gain
|
|
ambitious = minor_stress_impact_gain
|
|
arrogant = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Leave
|
|
option = {
|
|
name = ep2_tournament_events.1001.d
|
|
|
|
set_variable = {
|
|
days = 150 #Want it to last the entire duration of a tournament
|
|
name = tournament_village_destroyed
|
|
}
|
|
|
|
scope:activity.activity_location = {
|
|
add_province_modifier = {
|
|
modifier = village_destroyed_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_village_burned_log
|
|
tags = { bad }
|
|
score = 5
|
|
character = root
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
craven = minor_stress_impact_loss
|
|
content = miniscule_stress_impact_loss
|
|
brave = medium_stress_impact_gain
|
|
ambitious = medium_stress_impact_gain
|
|
arrogant = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = brave
|
|
has_trait = ambitious
|
|
has_trait = arrogant
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Village mayor approaches you furiously
|
|
ep2_tournament_events.1002 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1002.t
|
|
desc = ep2_tournament_events.1002.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = worry
|
|
}
|
|
right_portrait = {
|
|
character = scope:mayor
|
|
animation = anger
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
has_variable = tournament_village_destroyed # ensure village actually got ruined
|
|
scope:activity.activity_location.province_owner != root
|
|
}
|
|
|
|
immediate = {
|
|
scope:activity.activity_location.province_owner = { save_scope_as = mayor }
|
|
scope:activity.activity_location = { save_scope_as = holding }
|
|
}
|
|
|
|
# Offer to rebuild using your expertise
|
|
option = {
|
|
name = ep2_tournament_events.1002.a
|
|
|
|
trigger = {
|
|
has_trait = architect
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:mayor
|
|
opinion = 20
|
|
modifier = pleased_opinion
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
this != scope:host
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:host
|
|
opinion = 20
|
|
modifier = pleased_opinion
|
|
}
|
|
}
|
|
|
|
scope:holding = {
|
|
remove_province_modifier = village_destroyed_modifier
|
|
add_province_modifier = {
|
|
modifier = village_rebuilt_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
content = minor_stress_impact_gain
|
|
humble = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = content
|
|
has_trait = humble
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Intimidate the mayor
|
|
option = {
|
|
name = ep2_tournament_events.1002.b
|
|
|
|
trigger = {
|
|
dread >= high_dread
|
|
}
|
|
|
|
add_internal_flag = special
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:mayor
|
|
opinion = -30
|
|
modifier = scared_opinion
|
|
}
|
|
|
|
stress_impact = {
|
|
sadistic = minor_stress_impact_loss
|
|
content = minor_stress_impact_gain
|
|
humble = minor_stress_impact_gain
|
|
compassionate = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = content
|
|
has_trait = humble
|
|
has_trait = compassionate
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Offer to pay for the damage
|
|
option = {
|
|
name = ep2_tournament_events.1002.c
|
|
|
|
remove_short_term_gold = medium_gold_value
|
|
|
|
scope:holding = {
|
|
remove_province_modifier = village_destroyed_modifier
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:mayor
|
|
opinion = 10
|
|
modifier = kindness_opinion
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_village_paid_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:mayor
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
greedy = major_stress_impact_gain
|
|
generous = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
has_trait = greedy
|
|
}
|
|
}
|
|
}
|
|
|
|
# Send the mayor away
|
|
option = {
|
|
name = ep2_tournament_events.1002.d
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_melee_dismissed_mayor
|
|
CHARACTER = scope:mayor
|
|
OPINION = default_rival_opinion
|
|
}
|
|
|
|
stress_impact = {
|
|
arrogant = miniscule_stress_impact_loss
|
|
compassionate = minor_stress_impact_gain
|
|
just = minor_stress_impact_gain
|
|
humble = minor_stress_impact_gain
|
|
honest = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# Your weapon is knocked from your grasp; retrieve it or switch to a reserve?
|
|
ep2_tournament_events.1003 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1003.t
|
|
desc = ep2_tournament_events.1003.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = shock
|
|
}
|
|
artifact = {
|
|
target = scope:tournament_weapon
|
|
position = lower_center_portrait
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
exists = var:contest_aptitude
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
this = root
|
|
}
|
|
any_guest_subset_current_phase = { # Just to make sure there's still some alive people
|
|
name = qualified
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
}
|
|
}
|
|
any_character_artifact = {
|
|
is_equipped = yes
|
|
artifact_slot_type = primary_armament
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_surprise_reaction"
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = melee ID = 1003 }
|
|
random_character_artifact = {
|
|
limit = {
|
|
is_equipped = yes
|
|
artifact_slot_type = primary_armament
|
|
}
|
|
unequip_artifact_from_owner = yes
|
|
save_scope_as = tournament_weapon
|
|
}
|
|
|
|
save_scope_value_as = {
|
|
name = weapon_range
|
|
value = {
|
|
integer_range = {
|
|
min = 0
|
|
max = 5
|
|
}
|
|
}
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
}
|
|
|
|
# Dive for it
|
|
option = {
|
|
name = ep2_tournament_events.1003.a
|
|
|
|
random_list = {
|
|
10 = { #You successfully retrieve it
|
|
custom_tooltip = ep2_tournament_events.1003.a.tt.success
|
|
|
|
modifier = { #Strong and Athletic are nice catch-all traits for having quick reflexes
|
|
add = 5
|
|
|
|
OR = {
|
|
has_trait = strong
|
|
has_trait = athletic
|
|
}
|
|
}
|
|
modifier = { #add a good physique too, for the same reasons
|
|
add = 2
|
|
|
|
has_trait = physique_good
|
|
}
|
|
|
|
modifier = { #This is for fuzzying up the random list so it randomises it a bit
|
|
add = scope:weapon_range
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1003.a.tt.success
|
|
left_icon = root
|
|
|
|
scope:tournament_weapon = {
|
|
equip_artifact_to_owner = yes
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
|
|
arrogant = miniscule_stress_impact_loss
|
|
content = minor_stress_impact_gain
|
|
lazy = minor_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
10 = { #You have to go back later and find it
|
|
custom_tooltip = ep2_tournament_events.1003.a.tt.failure
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1003.a.tt.failure
|
|
left_icon = root
|
|
}
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_gain
|
|
|
|
arrogant = minor_stress_impact_gain
|
|
content = miniscule_stress_impact_loss
|
|
lazy = miniscule_stress_impact_loss
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOT = {
|
|
has_trait = arrogant
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Switch to a different weapon
|
|
option = {
|
|
name = ep2_tournament_events.1003.b
|
|
|
|
flavor = ep2_tournament_events.1003.b.tt
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
stress_impact = {
|
|
arrogant = medium_stress_impact_gain
|
|
content = minor_stress_impact_gain
|
|
humble = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = { #Get out option
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# A comely [non-martial gender] has taken a wrong turn and ended up in the melee!
|
|
ep2_tournament_events.1004 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1004.t
|
|
desc = ep2_tournament_events.1004.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_honorable
|
|
}
|
|
right_portrait = {
|
|
character = scope:comely_stray
|
|
animation = worry
|
|
}
|
|
lower_center_portrait = {
|
|
character = scope:rescuer_knight
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
exists = var:contest_aptitude
|
|
scope:activity = {
|
|
any_attending_character = {
|
|
count < 240 #Max is 250 but attendance is open so leaving some space
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
this = root
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
is_knight_of = root
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_metal_clash"
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = melee ID = 1004 }
|
|
create_character = {
|
|
template = beautiful_peasant_character
|
|
age = { age_compared_to_root_minus_ten_always_adult age_compared_to_root_plus_ten_always_adult }
|
|
gender_female_chance = root_attraction_based_female_chance
|
|
location = scope:activity.activity_location
|
|
faith = root.location.faith
|
|
culture = root.location.culture
|
|
save_scope_as = comely_stray
|
|
|
|
}
|
|
scope:comely_stray = {
|
|
hidden_effect = {
|
|
add_to_activity = scope:activity
|
|
}
|
|
}
|
|
scope:activity = {
|
|
random_guest_subset_current_phase = {
|
|
name = qualified
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
is_knight_of = root
|
|
}
|
|
save_scope_as = rescuer_knight
|
|
}
|
|
}
|
|
}
|
|
|
|
# Lustful/Seducer option that has you escort them completely off the field of battle
|
|
option = {
|
|
name = ep2_tournament_events.1004.a
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = lustful
|
|
has_trait = seducer
|
|
}
|
|
might_cheat_on_every_partner_trigger = yes
|
|
}
|
|
|
|
flavor = ep2_tournament_events.1004.a.tt
|
|
|
|
accolade_minor_glory_gain_with_checks_effect = yes
|
|
|
|
had_sex_with_effect = {
|
|
CHARACTER = scope:comely_stray
|
|
PREGNANCY_CHANCE = 50
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
can_set_relation_lover_trigger = { CHARACTER = scope:comely_stray }
|
|
}
|
|
set_relation_lover = {
|
|
TARGET = scope:comely_stray
|
|
REASON = lover_saved_melee
|
|
}
|
|
}
|
|
|
|
remove_variable = contest_aptitude
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_seducer_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:comely_stray
|
|
|
|
# Effect
|
|
custom_description = {
|
|
text = tournament_contest_withdraw_tt
|
|
subject = root
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
chaste = massive_stress_impact_gain #technically possible if you're a Seducer
|
|
content = minor_stress_impact_gain
|
|
lazy = minor_stress_impact_gain
|
|
compassionate = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = chaste
|
|
has_trait = brave
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Well well, how would you like a dashing ladylord to sweep you off your feet?
|
|
option = {
|
|
name = ep2_tournament_events.1004.a # Same name as above to re-use loc
|
|
|
|
trigger = {
|
|
NOR = {
|
|
has_trait = lustful
|
|
has_trait = seducer
|
|
}
|
|
}
|
|
|
|
accolade_minimal_glory_gain_with_checks_effect = yes
|
|
|
|
scope:comely_stray = { #Goodness, so dashing!
|
|
add_opinion = {
|
|
modifier = grateful_opinion
|
|
target = root
|
|
opinion = 40
|
|
}
|
|
}
|
|
|
|
add_courtier = scope:comely_stray
|
|
|
|
if = {
|
|
limit = {
|
|
can_start_scheme = {
|
|
type = seduce
|
|
target_character = scope:comely_stray
|
|
}
|
|
}
|
|
start_scheme = {
|
|
type = seduce
|
|
target_character = scope:comely_stray
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_swept_off_feet_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:comely_stray
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
chaste = major_stress_impact_gain
|
|
content = minor_stress_impact_gain
|
|
lazy = minor_stress_impact_gain
|
|
compassionate = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = chaste
|
|
has_trait = brave
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Send a knight to rescue them
|
|
option = {
|
|
name = ep2_tournament_events.1004.c
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
scope:rescuer_knight = {
|
|
accolade_minor_glory_gain_with_checks_effect = yes
|
|
}
|
|
|
|
scope:comely_stray = {
|
|
add_opinion = {
|
|
modifier = grateful_opinion
|
|
target = scope:rescuer_knight
|
|
opinion = 40
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
lustful = major_stress_impact_gain
|
|
arrogant = medium_stress_impact_gain
|
|
brave = medium_stress_impact_gain
|
|
humble = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = arrogant
|
|
has_trait = lustful
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# They can fend for themselves
|
|
option = {
|
|
name = ep2_tournament_events.1004.d
|
|
|
|
scope:comely_stray = {
|
|
add_opinion = {
|
|
modifier = cruelty_opinion
|
|
target = root
|
|
opinion = -30
|
|
}
|
|
}
|
|
|
|
random_list = {
|
|
7 = { #They escape unharmed
|
|
desc = ep2_tournament_events.1004.d.escape.tt
|
|
|
|
show_chance = no #Make it uncertain for all three
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1004.d.escape.tt
|
|
left_icon = root
|
|
right_icon = scope:comely_stray
|
|
}
|
|
}
|
|
|
|
5 = { #They get injured
|
|
desc = ep2_tournament_events.1004.d.injured.tt
|
|
|
|
show_chance = no
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1004.d.injured.tt
|
|
left_icon = root
|
|
right_icon = scope:comely_stray
|
|
|
|
scope:comely_stray = {
|
|
increase_wounds_effect = { REASON = battle }
|
|
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_trait = scarred
|
|
}
|
|
}
|
|
add_trait = scarred
|
|
}
|
|
add_trait_xp = {
|
|
trait = scarred
|
|
value = {
|
|
integer_range = {
|
|
min = 35
|
|
max = 100
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
3 = { #They die
|
|
desc = ep2_tournament_events.1004.d.dead.tt
|
|
|
|
show_chance = no
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_melee_death_log
|
|
tags = { bad }
|
|
score = 5
|
|
character = root
|
|
target = scope:comely_stray
|
|
}
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1004.d.dead.tt
|
|
left_icon = root
|
|
right_icon = scope:comely_stray
|
|
scope:comely_stray = {
|
|
death = { death_reason = death_wounds }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
lustful = major_stress_impact_gain
|
|
brave = medium_stress_impact_gain
|
|
compassionate = medium_stress_impact_gain
|
|
lazy = minor_stress_impact_loss
|
|
arbitrary = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = lustful
|
|
has_trait = brave
|
|
has_trait = compassionate
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Death Event: You step into a throat strike
|
|
ep2_tournament_events.1005 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1005.t
|
|
desc = ep2_tournament_events.1005.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = poison
|
|
}
|
|
cooldown = { years = 5 }
|
|
|
|
trigger = {
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
this = root
|
|
}
|
|
}
|
|
}
|
|
|
|
# Die
|
|
option = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_metal_clash"
|
|
name = ep2_tournament_events.1005.a
|
|
|
|
remove_variable = contest_aptitude
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_melee_death_log
|
|
tags = { bad }
|
|
score = 10
|
|
character = root
|
|
}
|
|
}
|
|
|
|
death = {
|
|
death_reason = death_tournament_melee_throat
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# Ransom an opponent
|
|
ep2_tournament_events.1006 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1006.t
|
|
desc = {
|
|
desc = ep2_tournament_events.1006.start
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
OR = {
|
|
has_relation_rival = scope:surrendering_knight
|
|
has_relation_nemesis = scope:surrendering_knight
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.1006.rival
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
AND = {
|
|
NOR = {
|
|
has_relation_rival = scope:surrendering_knight
|
|
has_relation_nemesis = scope:surrendering_knight
|
|
}
|
|
scope:surrendering_knight.gold < 5
|
|
}
|
|
}
|
|
desc = {
|
|
desc = ep2_tournament_events.1006.normal
|
|
desc = ep2_tournament_events.1006.broke
|
|
}
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
NOR = {
|
|
has_relation_rival = scope:surrendering_knight
|
|
has_relation_nemesis = scope:surrendering_knight
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.1006.normal
|
|
}
|
|
}
|
|
}
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = sword_coup_degrace
|
|
}
|
|
right_portrait = {
|
|
character = scope:surrendering_knight
|
|
animation = sword_yield_start
|
|
}
|
|
cooldown = { years = 5 }
|
|
|
|
trigger = {
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
root = this
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
is_ai = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_positive_reaction"
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = melee ID = 1006 }
|
|
scope:activity = {
|
|
random_guest_subset_current_phase = {
|
|
name = qualified
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
is_ai = yes
|
|
}
|
|
save_scope_as = surrendering_knight
|
|
}
|
|
}
|
|
|
|
save_scope_value_as = { #Save their gold
|
|
name = surrendering_knight_gold
|
|
value = scope:surrendering_knight.gold
|
|
}
|
|
|
|
save_scope_value_as = { #Save a fifth of their gold as a ransom
|
|
name = gold_percentage
|
|
value = {
|
|
value = scope:surrendering_knight.gold
|
|
multiply = 0.2
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
scope:surrendering_knight ?= {
|
|
any_equipped_character_artifact = {
|
|
OR = {
|
|
artifact_slot_type = primary_armament
|
|
artifact_slot_type = armor
|
|
artifact_slot_type = helmet
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:surrendering_knight = {
|
|
random_equipped_character_artifact = {
|
|
limit = {
|
|
OR = {
|
|
artifact_slot_type = primary_armament
|
|
artifact_slot_type = armor
|
|
artifact_slot_type = helmet
|
|
}
|
|
}
|
|
save_scope_as = artifact
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
create_artifact_brooch_effect = {
|
|
OWNER = scope:surrendering_knight
|
|
SMITH = scope:surrendering_knight
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
|
|
scope:surrendering_knight = {
|
|
accolade_medium_glory_loss_with_checks_effect = yes
|
|
}
|
|
}
|
|
|
|
# Take their eye
|
|
option = {
|
|
name = ep2_tournament_events.1006.a
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_relation_rival = scope:surrendering_knight
|
|
has_relation_nemesis = scope:surrendering_knight
|
|
}
|
|
}
|
|
|
|
add_internal_flag = special
|
|
|
|
if = {
|
|
limit = {
|
|
scope:surrendering_knight = {
|
|
has_relation_nemesis = root
|
|
}
|
|
}
|
|
scope:surrendering_knight = {
|
|
add_trait = disfigured
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:surrendering_knight = {
|
|
has_relation_rival = root
|
|
}
|
|
}
|
|
scope:surrendering_knight = {
|
|
add_trait = one_eyed
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
compassionate = massive_stress_impact_gain
|
|
forgiving = massive_stress_impact_gain
|
|
vengeful = minor_stress_impact_loss
|
|
sadistic = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 25
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = compassionate
|
|
has_trait = forgiving
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Take the ransom
|
|
option = {
|
|
name = ep2_tournament_events.1006.b
|
|
|
|
trigger = {
|
|
scope:surrendering_knight.gold > 4
|
|
}
|
|
|
|
scope:surrendering_knight = {
|
|
pay_short_term_gold = {
|
|
target = root
|
|
gold = scope:gold_percentage
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_ransom_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:surrendering_knight
|
|
}
|
|
}
|
|
|
|
stress_impact = { # Deliberately low; we want the player to pick this option the most
|
|
greedy = miniscule_stress_impact_loss
|
|
just = miniscule_stress_impact_loss
|
|
generous = miniscule_stress_impact_gain
|
|
arbitrary = miniscule_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_boldness = 0.5
|
|
ai_vengefulness = -0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
# Take a piece of their armour/weaponry
|
|
option = {
|
|
name = ep2_tournament_events.1006.c
|
|
|
|
trigger = {
|
|
scope:surrendering_knight = {
|
|
any_equipped_character_artifact = {
|
|
count >= 1
|
|
OR = {
|
|
artifact_slot_type = primary_armament
|
|
artifact_slot_type = armor
|
|
artifact_slot_type = helmet
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
scope:surrendering_knight = {
|
|
any_equipped_character_artifact = {
|
|
count >= 1
|
|
OR = {
|
|
artifact_slot_type = primary_armament
|
|
artifact_slot_type = armor
|
|
artifact_slot_type = helmet
|
|
}
|
|
save_temporary_scope_as = artifact
|
|
}
|
|
}
|
|
}
|
|
scope:artifact = {
|
|
set_owner = root
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_ransom_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:surrendering_knight
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 0.5
|
|
ai_vengefulness = -0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
# Take a tiny amount of gold
|
|
option = {
|
|
name = ep2_tournament_events.1006.d
|
|
|
|
trigger = {
|
|
scope:surrendering_knight = {
|
|
any_equipped_character_artifact = {
|
|
count = 0
|
|
}
|
|
gold < 4
|
|
}
|
|
}
|
|
|
|
scope:surrendering_knight = {
|
|
pay_short_term_gold = {
|
|
target = root
|
|
gold = 5
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_ransom_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:surrendering_knight
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 0.5
|
|
ai_vengefulness = -0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
# Let them go free
|
|
option = {
|
|
name = ep2_tournament_events.1006.e
|
|
|
|
add_prestige = 50 #Small bit of prestige for being gracious
|
|
|
|
reverse_add_opinion = {
|
|
modifier = grateful_opinion
|
|
target = scope:surrendering_knight
|
|
opinion = 25
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = -1
|
|
ai_vengefulness = -1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# You take a minute at a refuge
|
|
ep2_tournament_events.1007 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1007.t
|
|
desc = ep2_tournament_events.1007.desc
|
|
theme = tournament_contest
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = thinking
|
|
}
|
|
right_portrait = {
|
|
character = scope:teammate_1
|
|
}
|
|
lower_right_portrait = {
|
|
character = scope:teammate_2
|
|
}
|
|
lower_left_portrait = {
|
|
character = scope:teammate_3
|
|
}
|
|
cooldown = { years = 5 }
|
|
|
|
trigger = {
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
root = this
|
|
exists = var:progress_to_victory
|
|
}
|
|
#Ensure there are two teams with at least 3 people each
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
count >= 3
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = team_beta
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
count >= 3
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_horse_trotting"
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = melee ID = 1007 }
|
|
scope:activity = {
|
|
if = { # If you're in Team A, grab teammates
|
|
limit = {
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
this = root
|
|
}
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
limit = { contest_event_general_contestant_valid_trigger = yes }
|
|
save_scope_as = teammate_1
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
this != scope:teammate_1
|
|
}
|
|
save_scope_as = teammate_2
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
NOR = {
|
|
this = scope:teammate_1
|
|
this = scope:teammate_2
|
|
}
|
|
}
|
|
save_scope_as = teammate_3
|
|
}
|
|
}
|
|
else = { # If you're in team B, grab those teammates
|
|
random_guest_subset_current_phase = {
|
|
name = team_beta
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
}
|
|
save_scope_as = teammate_1
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = team_beta
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
this != scope:teammate_1
|
|
}
|
|
save_scope_as = teammate_2
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = team_beta
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
NOR = {
|
|
this = scope:teammate_1
|
|
this = scope:teammate_2
|
|
}
|
|
}
|
|
save_scope_as = teammate_3
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Pay for some food and drink
|
|
option = {
|
|
name = ep2_tournament_events.1007.a
|
|
|
|
remove_short_term_gold = medium_gold_value
|
|
|
|
random_list = {
|
|
10 = { #You are all somewhat refreshed
|
|
desc = ep2_tournament_events.1007.a.tt.success
|
|
show_chance = no
|
|
|
|
hidden_effect = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
scope:teammate_1 = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
}
|
|
scope:teammate_2 = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
}
|
|
scope:teammate_3 = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
}
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1007.a.tt.success
|
|
left_icon = root
|
|
|
|
custom_tooltip = ep2_tournament_events.1007.a.result
|
|
}
|
|
}
|
|
2 = { #It refreshes all of you a lot
|
|
desc = ep2_tournament_events.1007.a.tt.bigsuccess
|
|
show_chance = no
|
|
|
|
hidden_effect = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
scope:teammate_1 = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
}
|
|
scope:teammate_2 = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
}
|
|
scope:teammate_3 = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
}
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1007.a.tt.bigsuccess
|
|
left_icon = root
|
|
|
|
custom_tooltip = ep2_tournament_events.1007.a.bigresult
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
diligent = miniscule_stress_impact_gain
|
|
gluttonous = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = greedy
|
|
has_trait = avaricious
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Share some inspiring words
|
|
option = {
|
|
name = ep2_tournament_events.1007.b
|
|
|
|
flavor = ep2_tournament_events.1007.b.tt
|
|
|
|
duel = {
|
|
skill = diplomacy
|
|
value = decent_skill_rating
|
|
|
|
50 = { #You inspire your troops
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.1007.b.tt.success
|
|
|
|
hidden_effect = {
|
|
scope:teammate_1 = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
}
|
|
scope:teammate_2 = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
}
|
|
scope:teammate_3 = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
}
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1007.b.tt.success
|
|
left_icon = root
|
|
|
|
custom_tooltip = ep2_tournament_events.1007.b.result
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = wit
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
50 = { #You fail to make an impact
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.1007.b.tt.failure
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1007.b.tt.failure
|
|
left_icon = root
|
|
|
|
add_stress = minor_stress_gain
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
shy = medium_stress_impact_gain
|
|
lazy = minor_stress_impact_gain
|
|
greedy = miniscule_stress_impact_loss
|
|
gregarious = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
has_trait = shy
|
|
}
|
|
}
|
|
}
|
|
|
|
# Rest alone
|
|
option = {
|
|
name = ep2_tournament_events.1007.c
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
stress_impact = {
|
|
shy = minor_stress_impact_loss
|
|
lazy = miniscule_stress_impact_loss
|
|
greedy = miniscule_stress_impact_loss
|
|
gregarious = medium_stress_impact_gain
|
|
diligent = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
has_trait = gregarious
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# You encounter a famous knight in the melee
|
|
ep2_tournament_events.1011 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1011.t
|
|
desc = {
|
|
desc = ep2_tournament_events.1011.start
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
OR = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 50
|
|
}
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.1011.equal
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
NOR = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 50
|
|
}
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.1011.unequal
|
|
}
|
|
}
|
|
}
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_honorable
|
|
}
|
|
right_portrait = {
|
|
character = scope:famous_knight
|
|
animation = sword_coup_degrace
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
exists = var:progress_to_victory_score
|
|
scope:activity = {
|
|
has_current_phase = tournament_phase_melee
|
|
OR = {
|
|
AND = { # If you're in Team A, they need to be in Team B
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
this = root
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = team_beta
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
has_trait = tourney_participant
|
|
is_healthy = yes
|
|
OR = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 50
|
|
}
|
|
}
|
|
}
|
|
}
|
|
AND = { # If you're in Team B, they need to be in Team A
|
|
any_guest_subset_current_phase = {
|
|
name = team_beta
|
|
this = root
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
has_trait = tourney_participant
|
|
is_healthy = yes
|
|
OR = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 50
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_horse_neigh"
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = melee ID = 1011 }
|
|
scope:activity = {
|
|
if = {
|
|
limit = {
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
this = root
|
|
}
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = team_beta
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
has_trait = tourney_participant
|
|
is_healthy = yes
|
|
OR = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 50
|
|
}
|
|
}
|
|
}
|
|
save_scope_as = famous_knight
|
|
}
|
|
}
|
|
else = {
|
|
random_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
has_trait = tourney_participant
|
|
is_healthy = yes
|
|
OR = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 50
|
|
}
|
|
}
|
|
}
|
|
save_scope_as = famous_knight
|
|
}
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = fight_range
|
|
value = {
|
|
integer_range = {
|
|
min = 1
|
|
max = 9
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Throw dirt to give you an advantage before your duel
|
|
option = {
|
|
name = ep2_tournament_events.1011.a
|
|
|
|
flavor = ep2_tournament_events.1011.a.tt
|
|
|
|
trigger = {
|
|
OR = {
|
|
intrigue > 20
|
|
has_trait = deceitful
|
|
has_trait = arbitrary
|
|
}
|
|
}
|
|
|
|
random_list = {
|
|
75 = { #You win
|
|
modifier = { #This is for fuzzying up the random list so it randomises it a bit
|
|
add = scope:fight_range
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 60
|
|
}
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 75
|
|
}
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 90
|
|
}
|
|
add = 15
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 60
|
|
}
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 75
|
|
}
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 90
|
|
}
|
|
add = 15
|
|
}
|
|
desc = ep2_tournament_events.1011.a.success
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1011.a.success
|
|
left_icon = root
|
|
right_icon = scope:famous_knight
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
25 = { #You lose
|
|
modifier = { #This is for fuzzying up the random list so it randomises it a bit
|
|
add = scope:fight_range
|
|
}
|
|
modifier = {
|
|
scope:famous_knight = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 60
|
|
}
|
|
}
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
scope:famous_knight = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 75
|
|
}
|
|
}
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
scope:famous_knight = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 90
|
|
}
|
|
}
|
|
add = 15
|
|
}
|
|
modifier = {
|
|
scope:famous_knight = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 60
|
|
}
|
|
}
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
scope:famous_knight = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 75
|
|
}
|
|
}
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
scope:famous_knight = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 90
|
|
}
|
|
}
|
|
add = 15
|
|
}
|
|
desc = ep2_tournament_events.1011.a.failure
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1011.a.failure
|
|
left_icon = root
|
|
right_icon = scope:famous_knight
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_major }
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_dirt_thrown_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:famous_knight
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
craven = minor_stress_impact_loss
|
|
deceitful = minor_stress_impact_loss
|
|
wrathful = miniscule_stress_impact_loss
|
|
arbitrary = miniscule_stress_impact_loss
|
|
brave = minor_stress_impact_gain
|
|
just = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = brave
|
|
has_trait = just
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Engage them head on
|
|
option = {
|
|
name = ep2_tournament_events.1011.b
|
|
|
|
trigger = {
|
|
OR = { #You are skilful in your own right
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 50
|
|
}
|
|
}
|
|
}
|
|
|
|
random_list = {
|
|
50 = { #You win
|
|
modifier = { #This is for fuzzying up the random list so it randomises it a bit
|
|
add = scope:fight_range
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 60
|
|
}
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 75
|
|
}
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 90
|
|
}
|
|
add = 15
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 60
|
|
}
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 75
|
|
}
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 90
|
|
}
|
|
add = 15
|
|
}
|
|
desc = ep2_tournament_events.1011.a.success
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1011.a.success
|
|
left_icon = root
|
|
right_icon = scope:famous_knight
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
}
|
|
}
|
|
50 = { #You lose
|
|
modifier = {
|
|
scope:famous_knight = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 60
|
|
}
|
|
}
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
scope:famous_knight = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 75
|
|
}
|
|
}
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
scope:famous_knight = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 90
|
|
}
|
|
}
|
|
add = 15
|
|
}
|
|
modifier = {
|
|
scope:famous_knight = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 60
|
|
}
|
|
}
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
scope:famous_knight = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 75
|
|
}
|
|
}
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
scope:famous_knight = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 90
|
|
}
|
|
}
|
|
add = 15
|
|
}
|
|
desc = ep2_tournament_events.1011.a.failure
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1011.a.failure
|
|
left_icon = root
|
|
right_icon = scope:famous_knight
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_major }
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_dirt_thrown_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:famous_knight
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
craven = medium_stress_impact_gain
|
|
wrathful = miniscule_stress_impact_loss
|
|
brave = minor_stress_impact_loss
|
|
just = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_boldness = 0.5
|
|
ai_energy = 0.5
|
|
ai_vengefulness = 0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
# Ignore their challenge and slip away
|
|
option = {
|
|
name = ep2_tournament_events.1011.c
|
|
|
|
trigger = {
|
|
OR = { #You are skilful in your own right
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 50
|
|
}
|
|
}
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
modifier = disappointed_opinion
|
|
target = scope:famous_knight
|
|
opinion = -30
|
|
}
|
|
|
|
stress_impact = {
|
|
brave = major_stress_impact_gain
|
|
ambitious = medium_stress_impact_gain
|
|
arrogant = medium_stress_impact_gain
|
|
craven = medium_stress_impact_loss
|
|
content = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = ambitious
|
|
has_trait = brave
|
|
has_trait = arrogant
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Try to fight them
|
|
option = {
|
|
name = ep2_tournament_events.1011.b #Re-use loc from above
|
|
|
|
trigger = {
|
|
NOR = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 50
|
|
}
|
|
}
|
|
}
|
|
|
|
random_list = {
|
|
20 = { #You win
|
|
modifier = { #This is for fuzzying up the random list so it randomises it a bit
|
|
add = scope:fight_range
|
|
}
|
|
modifier = {
|
|
has_trait = physique_good
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
has_trait = strong
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
has_trait = gallant
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
has_trait = lifestyle_blademaster
|
|
add = 10
|
|
}
|
|
custom_tooltip = ep2_tournament_events.1011.a.success
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1011.a.success
|
|
left_icon = root
|
|
right_icon = scope:famous_knight
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
accolade_medium_glory_gain_with_checks_effect = yes
|
|
}
|
|
}
|
|
80 = { #You lose
|
|
modifier = { #This is for fuzzying up the random list so it randomises it a bit
|
|
add = scope:fight_range
|
|
}
|
|
custom_tooltip = ep2_tournament_events.1011.a.failure
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1011.a.failure
|
|
left_icon = root
|
|
right_icon = scope:famous_knight
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_major }
|
|
|
|
scope:famous_knight = {
|
|
accolade_minor_glory_gain_with_checks_effect = yes
|
|
}
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
brave = medium_stress_impact_loss #In face of very unlikely odds!
|
|
ambitious = miniscule_stress_impact_loss
|
|
arrogant = miniscule_stress_impact_loss
|
|
craven = major_stress_impact_gain
|
|
humble = medium_stress_impact_gain
|
|
content = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 0.5
|
|
ai_energy = 0.5
|
|
ai_vengefulness = 0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
# Try to escape
|
|
option = {
|
|
name = ep2_tournament_events.1011.c #Also re-using this
|
|
|
|
trigger = {
|
|
NOR = { #You are skilful in your own right
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 50
|
|
}
|
|
}
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
modifier = disappointed_opinion
|
|
target = scope:famous_knight
|
|
opinion = -30
|
|
}
|
|
|
|
duel = {
|
|
skill = intrigue
|
|
target = scope:famous_knight
|
|
|
|
50 = { #You escape
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.1011.d.success
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1011.d.success
|
|
left_icon = root
|
|
right_icon = scope:famous_knight
|
|
|
|
add_stress = medium_stress_loss
|
|
}
|
|
}
|
|
50 = { #They catch you and smack you about
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.1011.d.failure
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1011.d.failure
|
|
left_icon = root
|
|
right_icon = scope:famous_knight
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_major }
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
brave = major_stress_impact_gain
|
|
ambitious = medium_stress_impact_gain
|
|
arrogant = medium_stress_impact_gain
|
|
craven = medium_stress_impact_loss
|
|
content = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = brave
|
|
has_trait = ambitious
|
|
has_trait = arrogant
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# You attempt to ambush an opponent in the trees
|
|
ep2_tournament_events.1012 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1012.t
|
|
desc = ep2_tournament_events.1012.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = scheme
|
|
}
|
|
right_portrait = {
|
|
character = scope:caught_opponent
|
|
animation = shock
|
|
}
|
|
cooldown = { years = 5 }
|
|
|
|
trigger = {
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
this = root
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
}
|
|
}
|
|
scope:activity.activity_location = { #Ensure it's in a place where there could feasibly be some trees
|
|
NOR = {
|
|
terrain = desert
|
|
terrain = desert_mountains
|
|
terrain = drylands
|
|
terrain = floodplains
|
|
terrain = mountains
|
|
terrain = oasis
|
|
terrain = steppe
|
|
terrain = wetlands
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_wood_woosh"
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = melee ID = 1012 }
|
|
scope:activity = {
|
|
if = { # If you're in Team A, grab opponent
|
|
limit = {
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
this = root
|
|
}
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = team_beta
|
|
limit = { contest_event_general_contestant_valid_trigger = yes }
|
|
save_scope_as = caught_opponent
|
|
}
|
|
}
|
|
else = { # If you're in team B, grab that opponent
|
|
random_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
}
|
|
save_scope_as = caught_opponent
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# You, a forest fighter, take huge advantage
|
|
option = {
|
|
name = ep2_tournament_events.1012.a
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = forest_fighter
|
|
has_trait = jungle_stalker
|
|
}
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
scope:caught_opponent = {
|
|
pay_short_term_gold = {
|
|
target = root
|
|
gold = {
|
|
value = root.medium_gold_value
|
|
max = scope:caught_opponent.gold
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_ambush_sprung_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
brave = miniscule_stress_impact_loss
|
|
ambitious = miniscule_stress_impact_loss
|
|
deceitful = miniscule_stress_impact_loss
|
|
craven = medium_stress_impact_gain
|
|
content = minor_stress_impact_gain
|
|
honest = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
ai_honor = -1
|
|
ai_vengefulness = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# You are an honorable knight, and offer them fair duel
|
|
option = {
|
|
name = ep2_tournament_events.1012.b
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = gallant
|
|
has_trait = just
|
|
}
|
|
}
|
|
|
|
duel = {
|
|
skill = prowess
|
|
target = scope:caught_opponent
|
|
|
|
50 = { #You win
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 20
|
|
}
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 40
|
|
}
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 60
|
|
}
|
|
add = 15
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 80
|
|
}
|
|
add = 20
|
|
}
|
|
desc = ep2_tournament_events.1012.b.success
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1012.b.success
|
|
left_icon = root
|
|
right_icon = scope:caught_opponent
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
accolade_minor_glory_gain_with_checks_effect = yes
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
50 = { #You lose
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
modifier = {
|
|
scope:caught_opponent = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 20
|
|
}
|
|
}
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
scope:caught_opponent = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 40
|
|
}
|
|
}
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
scope:caught_opponent = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 60
|
|
}
|
|
}
|
|
add = 15
|
|
}
|
|
modifier = {
|
|
scope:caught_opponent = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value >= 80
|
|
}
|
|
}
|
|
add = 20
|
|
}
|
|
desc = ep2_tournament_events.1012.b.failure
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1012.b.failure
|
|
left_icon = root
|
|
right_icon = scope:caught_opponent
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
scope:caught_opponent = {
|
|
accolade_minor_glory_gain_with_checks_effect = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
modifier = respect_opinion
|
|
target = scope:caught_opponent
|
|
opinion = 25
|
|
}
|
|
|
|
stress_impact = {
|
|
brave = miniscule_stress_impact_loss
|
|
ambitious = miniscule_stress_impact_loss
|
|
deceitful = miniscule_stress_impact_loss
|
|
craven = medium_stress_impact_gain
|
|
content = minor_stress_impact_gain
|
|
honest = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_compassion = 1
|
|
ai_honor = 1
|
|
ai_boldness = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# You attempt an ambush
|
|
option = {
|
|
name = ep2_tournament_events.1012.c
|
|
|
|
trigger = {
|
|
NOR = {
|
|
has_trait = forest_fighter
|
|
has_trait = jungle_stalker
|
|
}
|
|
}
|
|
|
|
duel = {
|
|
skills = { martial intrigue }
|
|
target = scope:caught_opponent
|
|
|
|
60 = { #It works
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
modifier = {
|
|
has_trait = deceitful #Happy to do it!
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
has_trait = patient #Wait for the right time to strike
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
has_trait = lifestyle_hunter
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
has_trait = lifestyle_blademaster
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
has_trait = strategist
|
|
add = 5
|
|
}
|
|
custom_tooltip = ep2_tournament_events.1012.c.success
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_ambush_sprung_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:caught_opponent
|
|
}
|
|
}
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1012.c.success
|
|
left_icon = root
|
|
right_icon = scope:caught_opponent
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
scope:caught_opponent = {
|
|
pay_short_term_gold = {
|
|
target = root
|
|
gold = {
|
|
value = root.minor_gold_value
|
|
max = scope:caught_opponent.gold
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
40 = { #It doesn't work
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
modifier = {
|
|
has_trait = impatient
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
scope:caught_opponent = {
|
|
has_trait = strategist
|
|
}
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
scope:caught_opponent = {
|
|
has_trait = paranoid #Always watching out of the corner of their eye
|
|
}
|
|
add = 5
|
|
}
|
|
custom_tooltip = ep2_tournament_events.1012.c.failure
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1012.c.failure
|
|
left_icon = root
|
|
right_icon = scope:caught_opponent
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
pay_short_term_gold = {
|
|
target = scope:caught_opponent
|
|
gold = {
|
|
value = root.minor_gold_value
|
|
max = root.gold
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
brave = miniscule_stress_impact_loss
|
|
ambitious = miniscule_stress_impact_loss
|
|
deceitful = miniscule_stress_impact_loss
|
|
craven = medium_stress_impact_gain
|
|
content = minor_stress_impact_gain
|
|
honest = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
ai_honor = -1
|
|
ai_vengefulness = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# You let them go
|
|
option = {
|
|
name = ep2_tournament_events.1012.d
|
|
|
|
stress_impact = {
|
|
brave = medium_stress_impact_gain
|
|
ambitious = medium_stress_impact_gain
|
|
deceitful = medium_stress_impact_gain
|
|
craven = miniscule_stress_impact_loss
|
|
content = miniscule_stress_impact_loss
|
|
honest = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = -1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# An opponent has fallen from their horse
|
|
ep2_tournament_events.1013 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1013.t
|
|
desc = ep2_tournament_events.1013.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = jockey_lance_couched_gallop
|
|
}
|
|
right_portrait = {
|
|
character = scope:felled_participant
|
|
animation = pain
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
scope:activity = { #Ensure each team has at least one participant
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
this = root
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
is_healthy = yes
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = team_beta
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
is_healthy = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_horse_neigh"
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = melee ID = 1013 }
|
|
scope:activity = {
|
|
if = { #Ensure it picks an opponent
|
|
limit = {
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
this = root
|
|
}
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = team_beta
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
is_healthy = yes
|
|
}
|
|
save_scope_as = felled_participant
|
|
}
|
|
}
|
|
else = {
|
|
random_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
is_healthy = yes
|
|
}
|
|
save_scope_as = felled_participant
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:felled_participant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
}
|
|
}
|
|
|
|
# You escort them out of the fray
|
|
option = {
|
|
name = ep2_tournament_events.1013.a
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = gallant
|
|
has_trait = just
|
|
}
|
|
}
|
|
|
|
scope:felled_participant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
add_opinion = {
|
|
modifier = grateful_opinion
|
|
target = root
|
|
opinion = 25
|
|
}
|
|
}
|
|
|
|
set_nickname_effect = { #To give you something roleplay-ish
|
|
NICKNAME = nick_the_honorable
|
|
}
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
compassionate = miniscule_stress_impact_loss
|
|
arbitrary = minor_stress_impact_gain
|
|
callous = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_compassion = 1
|
|
ai_honor = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# You run them over
|
|
option = {
|
|
name = ep2_tournament_events.1013.b
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_miniscule }
|
|
|
|
scope:felled_participant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
increase_wounds_no_death_effect = { REASON = battle }
|
|
|
|
random = {
|
|
chance = 33
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_trait = scarred
|
|
}
|
|
}
|
|
add_trait = scarred
|
|
}
|
|
add_trait_xp = {
|
|
trait = scarred
|
|
value = {
|
|
integer_range = {
|
|
min = 5
|
|
max = 25
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
add_opinion = {
|
|
modifier = angry_opinion
|
|
target = root
|
|
opinion = -25
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
brave = minor_stress_impact_gain
|
|
just = medium_stress_impact_gain
|
|
compassionate = medium_stress_impact_gain
|
|
sadistic = miniscule_stress_impact_loss
|
|
craven = miniscule_stress_impact_loss
|
|
arbitrary = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_honor = -1
|
|
ai_compassion = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
# You dismount to offer them fair duel
|
|
option = {
|
|
name = ep2_tournament_events.1013.c
|
|
|
|
duel = {
|
|
skills = { prowess martial }
|
|
target = scope:felled_participant
|
|
|
|
50 = { #You win
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 25
|
|
}
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
add = 20
|
|
}
|
|
modifier = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 75
|
|
}
|
|
add = 30
|
|
}
|
|
desc = ep2_tournament_events.1013.c.success
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1013.c.success
|
|
left_icon = root
|
|
right_icon = scope:felled_participant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
scope:felled_participant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
50 = { #You lose
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
modifier = {
|
|
scope:felled_participant = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 25
|
|
}
|
|
}
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
scope:felled_participant = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 50
|
|
}
|
|
}
|
|
add = 20
|
|
}
|
|
modifier = {
|
|
scope:felled_participant = {
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value >= 75
|
|
}
|
|
}
|
|
add = 30
|
|
}
|
|
desc = ep2_tournament_events.1013.c.failure
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1013.c.failure
|
|
left_icon = root
|
|
right_icon = scope:felled_participant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
scope:felled_participant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
brave = miniscule_stress_impact_loss
|
|
just = miniscule_stress_impact_loss
|
|
craven = minor_stress_impact_gain
|
|
arbitrary = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_compassion = 0.5
|
|
ai_honor = 1
|
|
ai_boldness = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# You let them go
|
|
option = {
|
|
name = ep2_tournament_events.1013.d
|
|
|
|
stress_impact = {
|
|
brave = miniscule_stress_impact_gain
|
|
sadistic = minor_stress_impact_gain
|
|
craven = miniscule_stress_impact_loss
|
|
just = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_compassion = 0.5
|
|
ai_honor = 0.5
|
|
ai_boldness = -0.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# A mysterious knight is doing incredibly well
|
|
ep2_tournament_events.1015 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1015.t
|
|
desc = ep2_tournament_events.1015.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = shock
|
|
}
|
|
cooldown = { years = 5 }
|
|
|
|
trigger = {
|
|
scope:activity = {
|
|
OR = {
|
|
AND = {
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
this = root
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
OR = { #Ensure it's someone meaningful to you
|
|
is_close_family_or_spouse_of_root_trigger = yes
|
|
has_relation_lover = root
|
|
has_relation_soulmate = root
|
|
has_character_modifier = ignores_gender_army_rules #In case Mulan ends up really good!
|
|
}
|
|
}
|
|
}
|
|
AND = {
|
|
any_guest_subset_current_phase = {
|
|
name = team_beta
|
|
this = root
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = team_beta
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
OR = { #Ensure it's someone meaningful to you
|
|
is_close_family_or_spouse_of_root_trigger = yes
|
|
has_relation_lover = root
|
|
has_relation_soulmate = root
|
|
has_character_modifier = ignores_gender_army_rules #In case Mulan ends up really good!
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_metal_clash"
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = melee ID = 1015 }
|
|
scope:activity = {
|
|
if = { #Ensure it picks a member of your team
|
|
limit = {
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
this = root
|
|
}
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
OR = {
|
|
is_close_family_or_spouse_of_root_trigger = yes
|
|
has_relation_soulmate = root
|
|
has_relation_lover = root
|
|
has_character_modifier = ignores_gender_army_rules
|
|
}
|
|
}
|
|
save_scope_as = mysterious_knight
|
|
}
|
|
}
|
|
else = {
|
|
random_guest_subset_current_phase = {
|
|
name = team_beta
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
OR = {
|
|
is_close_family_or_spouse_of_root_trigger = yes
|
|
has_relation_soulmate = root
|
|
has_relation_lover = root
|
|
has_character_modifier = ignores_gender_army_rules
|
|
}
|
|
}
|
|
save_scope_as = mysterious_knight
|
|
}
|
|
}
|
|
}
|
|
|
|
hidden_effect = {
|
|
scope:mysterious_knight = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
}
|
|
}
|
|
|
|
save_scope_value_as = { #For the chase scene number fuzzying
|
|
name = chase_range
|
|
value = {
|
|
integer_range = {
|
|
min = 1
|
|
max = 9
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Follow along behind them to clean up in their wake
|
|
option = {
|
|
name = ep2_tournament_events.1015.a
|
|
|
|
trigger = {
|
|
intrigue >= 15
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
add_gold = { minor_gold_value medium_gold_value }
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
ambitious = miniscule_stress_impact_loss
|
|
deceitful = miniscule_stress_impact_loss
|
|
craven = miniscule_stress_impact_loss
|
|
arbitrary = miniscule_stress_impact_loss
|
|
brave = medium_stress_impact_gain
|
|
just = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = -1
|
|
ai_honor = -1
|
|
ai_compassion = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
# You must know who it is! Chase after them!
|
|
option = {
|
|
name = ep2_tournament_events.1015.b
|
|
|
|
random_list = {
|
|
50 = { #You catch them
|
|
modifier = { #This is for fuzzying up the random list so it randomises it a bit
|
|
add = scope:chase_range
|
|
}
|
|
modifier = {
|
|
has_trait = athletic
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
has_trait = stubborn
|
|
add = 5
|
|
}
|
|
desc = ep2_tournament_events.1015.b.success
|
|
custom_tooltip = ep2_tournament_events.1015.b.success.tt
|
|
|
|
trigger_event = ep2_tournament_events.1016
|
|
}
|
|
50 = { #They get away
|
|
modifier = { #This is for fuzzying up the random list so it randomises it a bit
|
|
add = scope:chase_range
|
|
}
|
|
modifier = {
|
|
OR = {
|
|
has_trait = wheezing
|
|
has_trait = spindly
|
|
}
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
OR = {
|
|
has_trait = clubfooted
|
|
has_trait = dwarf
|
|
}
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
current_weight > 80
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
scope:mysterious_knight = {
|
|
has_trait = athletic
|
|
}
|
|
add = 10
|
|
}
|
|
desc = ep2_tournament_events.1015.b.failure
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1015.b.failure
|
|
left_icon = root
|
|
right_icon = scope:caught_opponent
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_miniscule }
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
diligent = miniscule_stress_impact_loss
|
|
stubborn = miniscule_stress_impact_loss
|
|
lazy = medium_stress_impact_gain
|
|
fickle = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# You let them go
|
|
option = {
|
|
name = ep2_tournament_events.1015.c
|
|
|
|
stress_impact = {
|
|
diligent = minor_stress_impact_gain
|
|
stubborn = medium_stress_impact_gain
|
|
lazy = miniscule_stress_impact_loss
|
|
fickle = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = -0.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Followup to 1015: it's your (notable person!)
|
|
ep2_tournament_events.1016 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1016.t
|
|
desc = {
|
|
desc = ep2_tournament_events.1016.start
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
has_character_flag = knows_mulan_flag
|
|
scope:mysterious_knight = {
|
|
has_character_modifier = ignores_gender_army_rules
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.1016.mulan
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
NOT = {
|
|
has_character_flag = knows_mulan_flag
|
|
}
|
|
scope:mysterious_knight = {
|
|
has_character_modifier = ignores_gender_army_rules
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.1016.mulanunknown
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:mysterious_knight = {
|
|
OR = { #Catchall for relations
|
|
is_close_family_or_spouse_of_root_trigger = yes
|
|
has_relation_lover = root
|
|
has_relation_soulmate = root
|
|
}
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.1016.relation
|
|
}
|
|
}
|
|
}
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = shock
|
|
}
|
|
right_portrait = {
|
|
character = scope:mysterious_knight
|
|
animation = marshal
|
|
}
|
|
cooldown = { years = 5 }
|
|
|
|
immediate = {
|
|
hidden_effect = {
|
|
if = {
|
|
limit = {
|
|
scope:mysterious_knight = {
|
|
NOT = {
|
|
has_trait = tourney_participant
|
|
}
|
|
}
|
|
}
|
|
add_trait = tourney_participant
|
|
}
|
|
|
|
if = { #Give them a stealthy big boost, so in-universe they don't look weird
|
|
limit = {
|
|
scope:mysterious_knight = {
|
|
has_trait = tourney_participant
|
|
}
|
|
}
|
|
scope:mysterious_knight = {
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
scope:mysterious_knight = {
|
|
add_trait = tourney_participant
|
|
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
save_scope_value_as = { #For the chase scene number fuzzying
|
|
name = ability_range
|
|
value = {
|
|
integer_range = {
|
|
min = 1
|
|
max = 9
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Protect me!
|
|
option = {
|
|
name = ep2_tournament_events.1016.a
|
|
|
|
add_character_modifier = { #Add a powerful but temporary modifier
|
|
modifier = tournament_melee_protector_modifier
|
|
years = 1
|
|
}
|
|
|
|
stress_impact = {
|
|
ambitious = miniscule_stress_impact_loss
|
|
paranoid = miniscule_stress_impact_loss
|
|
craven = miniscule_stress_impact_loss
|
|
humble = miniscule_stress_impact_loss
|
|
brave = minor_stress_impact_gain
|
|
arrogant = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = -0.5
|
|
ai_rationality = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# You must teach me!
|
|
option = {
|
|
name = ep2_tournament_events.1016.b
|
|
|
|
flavor = ep2_tournament_events.1016.b.tt
|
|
|
|
random_list = {
|
|
20 = { #You learn a lot
|
|
modifier = { #This is for fuzzying up the random list so it randomises it a bit
|
|
add = scope:ability_range
|
|
}
|
|
modifier = {
|
|
learning > 10
|
|
add = 10
|
|
}
|
|
modifier = {
|
|
has_trait = shrewd
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
has_trait = lifestyle_blademaster
|
|
add = 5
|
|
}
|
|
desc = ep2_tournament_events.1016.b.success
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1016.b.success
|
|
left_icon = root
|
|
right_icon = scope:mysterious_knight
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
}
|
|
else = {
|
|
add_trait = tourney_participant
|
|
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
80 = { #You learn a little
|
|
modifier = { #This is for fuzzying up the random list so it randomises it a bit
|
|
add = scope:ability_range
|
|
}
|
|
desc = ep2_tournament_events.1016.b.failure
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1016.b.failure
|
|
left_icon = root
|
|
right_icon = scope:mysterious_knight
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
else = {
|
|
add_trait = tourney_participant
|
|
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
humble = miniscule_stress_impact_loss
|
|
diligent = miniscule_stress_impact_loss
|
|
arrogant = medium_stress_impact_gain
|
|
lazy = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 0.5
|
|
ai_energy = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# I forbid this!
|
|
option = {
|
|
name = ep2_tournament_events.1016.c
|
|
|
|
if = { #If you are their liege, demand they resign
|
|
limit = {
|
|
scope:mysterious_knight.liege = root
|
|
}
|
|
scope:mysterious_knight = {
|
|
if = {
|
|
limit = { exists = var:progress_to_victory }
|
|
remove_variable = progress_to_victory
|
|
}
|
|
if = {
|
|
limit = { exists = var:progress_to_victory_score }
|
|
remove_variable = progress_to_victory_score
|
|
}
|
|
if = {
|
|
limit = { exists = var:contest_aptitude }
|
|
remove_variable = contest_aptitude
|
|
}
|
|
}
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
modifier = disappointed_opinion
|
|
target = scope:mysterious_knight
|
|
opinion = -25
|
|
}
|
|
|
|
stress_impact = {
|
|
humble = minor_stress_impact_gain
|
|
compassionate = minor_stress_impact_gain
|
|
fickle = medium_stress_impact_gain
|
|
callous = miniscule_stress_impact_loss
|
|
stubborn = miniscule_stress_impact_loss
|
|
arrogant = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 0.5
|
|
ai_energy = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Cornered by three opposing knights
|
|
ep2_tournament_events.1017 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1017.t
|
|
desc = ep2_tournament_events.1017.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = pain
|
|
}
|
|
right_portrait = {
|
|
character = scope:knight_1
|
|
animation = sword_coup_degrace
|
|
}
|
|
lower_right_portrait = {
|
|
character = scope:knight_2
|
|
}
|
|
lower_left_portrait = {
|
|
character = scope:knight_3
|
|
}
|
|
cooldown = { years = 5 }
|
|
|
|
trigger = {
|
|
scope:activity = {
|
|
OR = {
|
|
AND = {
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
this = root
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
this != root
|
|
}
|
|
}
|
|
AND = {
|
|
any_guest_subset_current_phase = {
|
|
name = team_beta
|
|
this = root
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = team_beta
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
this != root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_metal_woosh"
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = melee ID = 1017 }
|
|
scope:activity = {
|
|
if = { # If you're in Team A, grab opponents in B
|
|
limit = {
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
this = root
|
|
}
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = team_beta
|
|
limit = { contest_event_general_contestant_valid_trigger = yes }
|
|
save_scope_as = knight_1
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = team_beta
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
this != scope:knight_1
|
|
}
|
|
save_scope_as = knight_2
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = team_beta
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
NOR = {
|
|
this = scope:knight_1
|
|
this = scope:knight_2
|
|
}
|
|
}
|
|
save_scope_as = knight_3
|
|
}
|
|
}
|
|
else = { # If you're in team B, grab opponents in A
|
|
random_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
}
|
|
save_scope_as = knight_1
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
this != scope:knight_1
|
|
}
|
|
save_scope_as = knight_2
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
NOR = {
|
|
this = scope:knight_1
|
|
this = scope:knight_2
|
|
}
|
|
}
|
|
save_scope_as = knight_3
|
|
}
|
|
}
|
|
}
|
|
|
|
save_scope_value_as = { #Combine the knights' prowess
|
|
name = knight_prowess
|
|
value = {
|
|
add = scope:knight_1.prowess
|
|
add = scope:knight_3.prowess
|
|
add = scope:knight_3.prowess
|
|
}
|
|
}
|
|
|
|
save_scope_value_as = { #Simulate your backups' combined prowess
|
|
name = prowess_range
|
|
value = {
|
|
integer_range = {
|
|
min = 10
|
|
max = 35
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Take them all on!
|
|
option = {
|
|
name = ep2_tournament_events.1017.a
|
|
|
|
duel = {
|
|
skill = prowess
|
|
value = scope:knight_prowess
|
|
|
|
# Success
|
|
50 = {
|
|
desc = ep2_tournament_events.1017.a.success
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1017.a.success
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_massive }
|
|
|
|
add_prestige = 250
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Failure
|
|
50 = {
|
|
desc = ep2_tournament_events.1017.a.failure
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1017.a.failure
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
increase_wounds_effect = { REASON = battle }
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
ambitious = minor_stress_impact_loss
|
|
brave = minor_stress_impact_loss
|
|
stubborn = miniscule_stress_impact_loss
|
|
content = medium_stress_impact_gain
|
|
craven = medium_stress_impact_gain
|
|
fickle = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
ai_honor = 0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
# Call for backup
|
|
option = {
|
|
name = ep2_tournament_events.1017.b
|
|
|
|
duel = {
|
|
skills = { prowess martial }
|
|
value = decent_skill_rating
|
|
|
|
# Success
|
|
50 = {
|
|
desc = ep2_tournament_events.1017.b.success
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1017.b.success
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Failure
|
|
50 = {
|
|
desc = ep2_tournament_events.1017.b.failure
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1017.b.failure
|
|
left_icon = root
|
|
|
|
add_stress = minor_stress_gain
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
ambitious = minor_stress_impact_gain
|
|
brave = minor_stress_impact_gain
|
|
stubborn = minor_stress_impact_gain
|
|
content = miniscule_stress_impact_loss
|
|
craven = miniscule_stress_impact_loss
|
|
fickle = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = -1
|
|
ai_honor = -0.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_trigger contest_house_united_trigger = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
this != root
|
|
exists = house
|
|
house ?= {
|
|
this = root.house
|
|
any_house_member = { is_alive = yes }
|
|
}
|
|
}
|
|
|
|
# You save a house member
|
|
ep2_tournament_events.1018 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1018.t
|
|
desc = ep2_tournament_events.1018.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = jockey_gallop
|
|
}
|
|
right_portrait = {
|
|
character = scope:family
|
|
animation = admiration
|
|
}
|
|
cooldown = { years = 5 }
|
|
|
|
trigger = {
|
|
exists = house
|
|
scope:activity = {
|
|
OR = {
|
|
AND = {
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
this = root
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
contest_house_united_trigger = yes
|
|
}
|
|
}
|
|
AND = {
|
|
any_guest_subset_current_phase = {
|
|
name = team_beta
|
|
this = root
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = team_beta
|
|
contest_house_united_trigger = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_horse_flyby"
|
|
scope:activity = {
|
|
if = { # If you're in Team A, grab teammate
|
|
limit = {
|
|
any_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
this = root
|
|
}
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = team_alpha
|
|
limit = { contest_house_united_trigger = yes }
|
|
save_scope_as = family
|
|
}
|
|
}
|
|
else = { # If you're in Team B, grab teammate
|
|
random_guest_subset_current_phase = {
|
|
name = team_beta
|
|
limit = { contest_house_united_trigger = yes }
|
|
save_scope_as = family
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_ambush_sprung_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:family
|
|
}
|
|
}
|
|
}
|
|
|
|
# House unity!
|
|
option = {
|
|
name = ep2_tournament_events.1018.a
|
|
|
|
if = {
|
|
limit = {
|
|
house = {
|
|
NOT = {
|
|
has_house_modifier = tournament_house_unity_modifier
|
|
}
|
|
}
|
|
}
|
|
house = {
|
|
add_house_modifier = {
|
|
modifier = tournament_house_unity_modifier
|
|
years = 15
|
|
desc = tournament_house_unity_modifier_desc
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
add_prestige = medium_prestige_value
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:family
|
|
opinion = 15
|
|
modifier = respect_opinion
|
|
}
|
|
|
|
stress_impact = {
|
|
ambitious = miniscule_stress_impact_loss
|
|
shy = miniscule_stress_impact_loss
|
|
content = minor_stress_impact_gain
|
|
callous = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 25 #Deliberately low to keep the else from occurring too much for AI
|
|
ai_value_modifier = {
|
|
ai_boldness = 0.5
|
|
ai_honor = 0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
# Love u fam
|
|
option = {
|
|
name = ep2_tournament_events.1018.b
|
|
|
|
if = {
|
|
limit = {
|
|
NOT = { #Ensure that you're not AI, to avoid massive proliferation of the Loyal trait
|
|
is_ai = yes
|
|
}
|
|
scope:family = {
|
|
is_ai = yes
|
|
NOR = {
|
|
has_trait = disloyal
|
|
has_trait = loyal
|
|
}
|
|
}
|
|
}
|
|
scope:family = {
|
|
add_trait = loyal
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
can_add_hook = {
|
|
type = loyalty_hook
|
|
target = scope:family
|
|
}
|
|
}
|
|
add_hook = {
|
|
type = loyalty_hook
|
|
target = scope:family
|
|
}
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:family
|
|
opinion = 15
|
|
modifier = loyalty_opinion
|
|
}
|
|
|
|
stress_impact = {
|
|
gregarious = miniscule_stress_impact_loss
|
|
compassionate = miniscule_stress_impact_loss
|
|
callous = miniscule_stress_impact_loss
|
|
sadistic = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
ai_honor = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
###################
|
|
### ARCHERY ###
|
|
###################
|
|
|
|
# Attempt to put off an opponent by coughing
|
|
ep2_tournament_events.1501 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1501.t
|
|
desc = {
|
|
desc = ep2_tournament_events.1501.desc
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:competitor = {
|
|
has_any_secrets = yes
|
|
}
|
|
intrigue > 10
|
|
}
|
|
desc = ep2_tournament_events.1501.secret
|
|
}
|
|
}
|
|
}
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
scripted_animation = bow_closed
|
|
}
|
|
right_portrait = {
|
|
character = scope:competitor
|
|
scripted_animation = bow_drawn
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
is_alive = yes
|
|
is_ai = yes # To ensure we don't reveal player secrets
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_arrow_flyby"
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = archery ID = 1501 }
|
|
scope:activity = {
|
|
random_guest_subset_current_phase = {
|
|
name = qualified
|
|
limit = {
|
|
is_alive = yes
|
|
is_ai = yes # To ensure we don't reveal player secrets
|
|
}
|
|
save_scope_as = competitor
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
scope:competitor = {
|
|
any_secret = {
|
|
OR = {
|
|
secret_type = secret_deviant
|
|
secret_type = secret_witch
|
|
secret_type = secret_murder
|
|
secret_type = secret_disputed_heritage
|
|
secret_type = secret_non_believer
|
|
secret_type = secret_cannibal
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:competitor = {
|
|
random_secret = {
|
|
limit = {
|
|
OR = {
|
|
secret_type = secret_deviant
|
|
secret_type = secret_witch
|
|
secret_type = secret_murder
|
|
secret_type = secret_disputed_heritage
|
|
secret_type = secret_non_believer
|
|
secret_type = secret_cannibal
|
|
}
|
|
}
|
|
save_scope_as = competitor_secret
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Spread a rumour amongst the crowd
|
|
option = {
|
|
name = ep2_tournament_events.1501.a
|
|
|
|
trigger = {
|
|
exists = scope:competitor_secret
|
|
|
|
intrigue > 10 # Ensure you have decent enough intrigue to do this
|
|
}
|
|
|
|
flavor = ep2_tournament_events.1501.a.tt
|
|
|
|
scope:competitor_secret = {
|
|
expose_secret = root
|
|
}
|
|
|
|
scope:competitor = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_archery_rumour_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:competitor
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
deceitful = minor_stress_impact_loss
|
|
arbitrary = miniscule_stress_impact_loss
|
|
vengeful = miniscule_stress_impact_loss
|
|
just = medium_stress_impact_gain
|
|
honest = medium_stress_impact_gain
|
|
forgiving = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = just
|
|
has_trait = honest
|
|
has_trait = forgiving
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Cough loudly
|
|
option = {
|
|
name = ep2_tournament_events.1501.b
|
|
|
|
flavor = ep2_tournament_events.1501.b.tt
|
|
|
|
add_prestige = -25
|
|
|
|
scope:competitor = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_archery_cough_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:competitor
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
arbitrary = miniscule_stress_impact_loss
|
|
deceitful = miniscule_stress_impact_loss
|
|
just = medium_stress_impact_gain
|
|
honest = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
ai_vengefulness = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Stay silent
|
|
option = {
|
|
name = ep2_tournament_events.1501.c
|
|
|
|
scope:competitor = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_miniscule }
|
|
}
|
|
|
|
stress_impact = {
|
|
deceitful = medium_stress_impact_gain
|
|
arbitrary = medium_stress_impact_gain
|
|
vengeful = medium_stress_impact_gain
|
|
just = miniscule_stress_impact_loss
|
|
honest = miniscule_stress_impact_loss
|
|
forgiving = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
|
|
ai_value_modifier = {
|
|
ai_boldness = -1
|
|
ai_vengefulness = -1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# It's a bit windy as you step up to shoot!
|
|
ep2_tournament_events.1502 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1502.t
|
|
desc = ep2_tournament_events.1502.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
scripted_animation = bow_closed
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
is_in_guest_subset = { name = qualified }
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = { #random qualified participant
|
|
name = qualified
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_arrow_flyby"
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = archery ID = 1502 }
|
|
scope:activity = {
|
|
random_guest_subset_current_phase = {
|
|
name = qualified
|
|
limit = { contest_event_general_contestant_valid_trigger = yes }
|
|
save_scope_as = contestant
|
|
}
|
|
}
|
|
}
|
|
|
|
# Take the shot anyway, because you're an experienced marksman
|
|
option = {
|
|
name = ep2_tournament_events.1502.a
|
|
|
|
trigger = {
|
|
OR = { #Make sure you're good at shooting a bow!
|
|
AND = {
|
|
has_trait = lifestyle_hunter
|
|
has_trait_xp = {
|
|
trait = lifestyle_hunter
|
|
track = hunter
|
|
value >= 50
|
|
}
|
|
}
|
|
AND = {
|
|
has_trait = tourney_participant
|
|
has_trait_xp = {
|
|
trait = tourney_participant
|
|
track = bow
|
|
value >= 50
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
add_prestige = medium_prestige_gain
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = bow
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
ambitious = miniscule_stress_impact_loss
|
|
diligent = miniscule_stress_impact_loss
|
|
arrogant = miniscule_stress_impact_loss
|
|
content = minor_stress_impact_gain
|
|
lazy = minor_stress_impact_gain
|
|
humble = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_energy = 1
|
|
ai_honor = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Try and pin it on someone else
|
|
option = {
|
|
name = ep2_tournament_events.1502.b
|
|
|
|
flavor = ep2_tournament_events.1502.b.tt
|
|
|
|
duel = {
|
|
skill = diplomacy
|
|
value = medium_skill_rating
|
|
# Success
|
|
1 = {
|
|
desc = ep2_tournament_events.1502.b.success
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1502.b.success
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
scope:contestant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
}
|
|
}
|
|
# Failure
|
|
1 = {
|
|
desc = ep2_tournament_events.1502.b.failure
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1502.b.failure
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
ambitious = miniscule_stress_impact_loss
|
|
deceitful = miniscule_stress_impact_loss
|
|
arbitrary = miniscule_stress_impact_loss
|
|
content = minor_stress_impact_gain
|
|
honest = medium_stress_impact_gain
|
|
just = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = -1
|
|
ai_honor = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Have a go despite the wind
|
|
option = {
|
|
name = ep2_tournament_events.1502.c
|
|
|
|
duel = {
|
|
skill = prowess
|
|
value = high_skill_rating
|
|
# Success
|
|
1 = {
|
|
desc = ep2_tournament_events.1502.c.success
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1502.c.success
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = bow
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Failure
|
|
1 = {
|
|
desc = ep2_tournament_events.1502.c.failure
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1502.c.success
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
ambitious = minor_stress_impact_gain
|
|
deceitful = minor_stress_impact_gain
|
|
arbitrary = minor_stress_impact_gain
|
|
content = miniscule_stress_impact_loss
|
|
honest = miniscule_stress_impact_loss
|
|
just = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
ai_honor = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Bored waiting for your turn, try some mischief?
|
|
ep2_tournament_events.1503 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.1503.t
|
|
desc = ep2_tournament_events.1503.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = boredom
|
|
}
|
|
right_portrait = {
|
|
character = scope:contestant
|
|
scripted_animation = bow_closed
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
is_in_guest_subset = { name = qualified }
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = { #random qualified participant
|
|
name = qualified
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
NOT = {
|
|
any_secret = {
|
|
NOT = { is_known_by = root }
|
|
}
|
|
}
|
|
save_temporary_scope_as = participant_1
|
|
}
|
|
any_guest_subset_current_phase = { #random qualified participant with a secret
|
|
name = qualified
|
|
this != scope:participant_1
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
# Won't reveal a secret to you which you already know.
|
|
any_secret = {
|
|
NOT = { is_known_by = root }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_wood_woosh"
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = archery ID = 1503 }
|
|
scope:activity = {
|
|
random_guest_subset_current_phase = { #random qualified participant
|
|
name = qualified
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
NOT = {
|
|
any_secret = {
|
|
NOT = { is_known_by = root }
|
|
}
|
|
}
|
|
}
|
|
save_scope_as = contestant
|
|
}
|
|
random_guest_subset_current_phase = { #random qualified participant with a secret
|
|
name = qualified
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
this != scope:contestant
|
|
# Won't reveal a secret to you which you already know.
|
|
any_secret = {
|
|
NOT = { is_known_by = root }
|
|
}
|
|
}
|
|
save_scope_as = secret_haver
|
|
random_secret = {
|
|
limit = {
|
|
NOT = { is_known_by = root }
|
|
}
|
|
save_scope_as = secret
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Move the line back a few feet
|
|
option = {
|
|
name = ep2_tournament_events.1503.a
|
|
|
|
flavor = ep2_tournament_events.1503.a.tt
|
|
|
|
duel = {
|
|
skill = intrigue
|
|
target = scope:contestant
|
|
# Success
|
|
1 = {
|
|
desc = ep2_tournament_events.1503.a.success
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1503.a.success
|
|
left_icon = root
|
|
right_icon = scope:contestant
|
|
|
|
scope:contestant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
}
|
|
}
|
|
# Failure
|
|
1 = {
|
|
desc = ep2_tournament_events.1503.a.failure
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_cheating_caught_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:contestant
|
|
}
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1503.a.failure
|
|
left_icon = root
|
|
right_icon = scope:contestant
|
|
|
|
add_prestige = medium_prestige_loss
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
ambitious = miniscule_stress_impact_loss
|
|
arbitrary = miniscule_stress_impact_loss
|
|
content = minor_stress_impact_gain
|
|
just = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_energy = 0.5
|
|
ai_honor = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Go and talk to the crowd
|
|
option = {
|
|
name = ep2_tournament_events.1503.b
|
|
|
|
flavor = ep2_tournament_events.1503.b.flavor
|
|
|
|
# Success, find a secret
|
|
duel = {
|
|
skills = { diplomacy intrigue }
|
|
value = medium_skill_rating
|
|
# Find a
|
|
1 = {
|
|
desc = ep2_tournament_events.1503.b.success
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
custom_tooltip = ep2_tournament_events.1503.b.tt
|
|
|
|
hidden_effect = { #So at to hide the secret until toast pops
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1503.b.success
|
|
left_icon = root
|
|
|
|
scope:secret = {
|
|
reveal_to_without_events_effect = {
|
|
CHARACTER = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Failure, find nothing
|
|
1 = {
|
|
desc = ep2_tournament_events.1503.b.failure
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.1503.b.failure
|
|
left_icon = root
|
|
|
|
add_stress = minor_stress_loss
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
lazy = miniscule_stress_impact_loss
|
|
gregarious = miniscule_stress_impact_loss
|
|
shy = minor_stress_impact_gain
|
|
diligent = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_compassion = 1
|
|
ai_honor = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Bah, just wait it out
|
|
option = {
|
|
name = ep2_tournament_events.1503.c
|
|
|
|
stress_impact = {
|
|
gregarious = miniscule_stress_impact_gain
|
|
deceitful = miniscule_stress_impact_gain
|
|
impatient = miniscule_stress_impact_gain
|
|
shy = miniscule_stress_impact_loss
|
|
honest = miniscule_stress_impact_loss
|
|
patient = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_boldness = -1
|
|
ai_honor = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
###################
|
|
### WRESTLING ###
|
|
###################
|
|
|
|
# You can use dirt to blind your opponent
|
|
ep2_tournament_events.2001 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.2001.t
|
|
desc = ep2_tournament_events.2001.desc
|
|
theme = tournament_contest
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = aggressive_unarmed
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = rage
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_male_grunts"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = wrestling ID = 2001 }
|
|
}
|
|
|
|
# Throw dirt at them
|
|
option = {
|
|
name = ep2_tournament_events.2001.a
|
|
|
|
custom_tooltip = ep2_tournament_events.2001.a.tt
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
stress_impact = {
|
|
craven = medium_stress_impact_gain
|
|
brave = medium_stress_impact_loss
|
|
content = minor_stress_impact_gain
|
|
ambitious = minor_stress_impact_loss
|
|
arrogant = minor_stress_impact_loss
|
|
humble = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = craven
|
|
has_trait = content
|
|
has_trait = humble
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Don't throw the dirt
|
|
option = {
|
|
name = ep2_tournament_events.2001.b
|
|
|
|
duel = {
|
|
skill = prowess
|
|
target = scope:versus_contestant
|
|
|
|
40 = { #You fight your way out
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.2004.d.tt.success
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2004.d.tt.success
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
60 = { #You struggle fruitlessly
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.2004.d.tt.failure
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2004.d.tt.failure
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
craven = medium_stress_impact_loss
|
|
brave = medium_stress_impact_gain
|
|
content = minor_stress_impact_loss
|
|
ambitious = minor_stress_impact_gain
|
|
arrogant = minor_stress_impact_gain
|
|
humble = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = brave
|
|
has_trait = ambitious
|
|
has_trait = arrogant
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# You go for the ol' oil check
|
|
ep2_tournament_events.2002 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.2002.t
|
|
desc = ep2_tournament_events.2002.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_dishonorable
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = shock
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
NOT = { #Make sure player has two hands with which to fight
|
|
has_trait = maimed
|
|
}
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_surprise_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
|
|
save_scope_value_as = {
|
|
name = xp_range
|
|
value = {
|
|
integer_range = {
|
|
min = 1
|
|
max = 5
|
|
}
|
|
}
|
|
}
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = wrestling ID = 2002 }
|
|
}
|
|
|
|
# Pokey poke
|
|
option = {
|
|
name = ep2_tournament_events.2002.a
|
|
|
|
give_nickname = nick_the_dirty
|
|
|
|
scope:versus_contestant = {
|
|
add_character_modifier = {
|
|
modifier = tournament_walking_funny_modifier
|
|
years = 3
|
|
}
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
every_close_family_member = {
|
|
custom = ep2_tournament_events.2002.a.tt
|
|
add_opinion = {
|
|
target = root
|
|
opinion = -10
|
|
modifier = disgusted_opinion
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
honest = major_stress_impact_gain
|
|
just = major_stress_impact_gain
|
|
arbitrary = minor_stress_impact_loss
|
|
deceitful = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = honest
|
|
has_trait = just
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# I'd rather not
|
|
option = {
|
|
name = ep2_tournament_events.2002.b
|
|
|
|
flavor = ep2_tournament_events.2002.b.tt
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
else = {
|
|
add_trait = tourney_participant
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
honest = minor_stress_impact_loss
|
|
just = minor_stress_impact_loss
|
|
arbitrary = major_stress_impact_gain
|
|
deceitful = major_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = arbitrary
|
|
has_trait = deceitful
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Your friend distracts the ref; use the chair?
|
|
ep2_tournament_events.2003 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.2003.t
|
|
desc = ep2_tournament_events.2003.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = scheme
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = worry
|
|
}
|
|
lower_left_portrait = {
|
|
character = scope:friend
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
scope:activity = {
|
|
any_attending_character = {
|
|
is_alive = yes
|
|
NOR = {
|
|
this = scope:versus_matchee
|
|
this = scope:versus_matcher
|
|
}
|
|
OR = {
|
|
has_relation_friend = root
|
|
has_relation_best_friend = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = wrestling ID = 2003 }
|
|
involved_activity = {
|
|
random_attending_character = {
|
|
limit = {
|
|
is_alive = yes
|
|
NOR = {
|
|
this = scope:versus_matchee
|
|
this = scope:versus_matcher
|
|
}
|
|
OR = {
|
|
has_relation_friend = root
|
|
has_relation_best_friend = root
|
|
}
|
|
}
|
|
save_scope_as = friend
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = xp_range
|
|
value = {
|
|
integer_range = {
|
|
min = 1
|
|
max = 5
|
|
}
|
|
}
|
|
}
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_ref_distracted_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:friend
|
|
}
|
|
}
|
|
}
|
|
|
|
# Viva la raza!
|
|
option = {
|
|
name = ep2_tournament_events.2003.a
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = deceitful
|
|
has_trait = arbitrary
|
|
}
|
|
}
|
|
|
|
custom_tooltip = ep2_tournament_events.2003.a.tt
|
|
|
|
give_nickname = nick_the_cheater
|
|
|
|
reverse_add_opinion = {
|
|
modifier = cheater_opinion
|
|
target = scope:versus_contestant
|
|
opinion = -40
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
brave = minor_stress_impact_gain
|
|
compassionate = minor_stress_impact_gain
|
|
just = major_stress_impact_gain
|
|
honest = major_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = just
|
|
has_trait = brave
|
|
has_trait = honest
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Hit them with the chair
|
|
option = {
|
|
name = ep2_tournament_events.2003.b
|
|
|
|
flavor = ep2_tournament_events.2003.b.tt
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
craven = medium_stress_impact_loss
|
|
brave = medium_stress_impact_gain
|
|
content = minor_stress_impact_gain
|
|
ambitious = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = brave
|
|
has_trait = content
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Choose the honourable route
|
|
option = {
|
|
name = ep2_tournament_events.2003.c
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
if = {
|
|
limit = { has_trait = tourney_participant }
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
else = {
|
|
add_trait = tourney_participant
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
compassionate = medium_stress_impact_loss
|
|
craven = medium_stress_impact_gain
|
|
brave = medium_stress_impact_loss
|
|
just = medium_stress_impact_loss
|
|
sadistic = medium_stress_impact_gain
|
|
callous = minor_stress_impact_gain
|
|
content = minor_stress_impact_loss
|
|
ambitious = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = craven
|
|
has_trait = ambitious
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Opponent has a high weight
|
|
ep2_tournament_events.2004 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.2004.t
|
|
desc = ep2_tournament_events.2004.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_rational
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = personality_bold
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
trigger_if = {
|
|
limit = { this = scope:versus_matchee }
|
|
scope:versus_matcher = { current_weight >= 70 }
|
|
}
|
|
trigger_else = {
|
|
scope:versus_matchee = { current_weight >= 70 }
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = wrestling ID = 2004 }
|
|
}
|
|
|
|
# Tire them out by moving them around
|
|
option = {
|
|
name = ep2_tournament_events.2004.a
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = shrewd
|
|
has_trait = intellect_good
|
|
scope:versus_contestant = {
|
|
has_trait = wheezing
|
|
}
|
|
}
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Just pick them up lol
|
|
option = {
|
|
name = ep2_tournament_events.2004.b
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = strong
|
|
has_trait = physique_good_1
|
|
has_trait = physique_good_2
|
|
has_trait = physique_good_3
|
|
}
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Medieval sumo
|
|
option = {
|
|
name = ep2_tournament_events.2004.c
|
|
|
|
trigger = {
|
|
current_weight > 50
|
|
NOT = {
|
|
has_trait = strong
|
|
has_trait = physique_good
|
|
}
|
|
}
|
|
|
|
add_internal_flag = special
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_sumo_wrestling_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
craven = minor_stress_impact_gain
|
|
brave = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Attempt to target their legs
|
|
option = {
|
|
name = ep2_tournament_events.2004.d
|
|
|
|
duel = {
|
|
skill = prowess
|
|
target = scope:versus_contestant
|
|
|
|
50 = { #You wear them down
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.2004.d.tt.success
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
}
|
|
50 = { #You fail to make an impact
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.2004.d.tt.failure
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Take them head-on
|
|
option = {
|
|
name = ep2_tournament_events.2004.e
|
|
|
|
add_prestige = minor_prestige_gain
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
stress_impact = {
|
|
craven = minor_stress_impact_gain
|
|
brave = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
has_trait = craven
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_trigger suitably_amorous_opponent = {
|
|
is_physically_able_adult = yes
|
|
can_marry_trigger = yes
|
|
is_concubine = no
|
|
is_attracted_to_gender_of = root
|
|
NOT = {
|
|
has_trait = chaste
|
|
has_trait = celibate
|
|
}
|
|
}
|
|
|
|
# You and your opponent end up in a rather amorous position
|
|
ep2_tournament_events.2005 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.2005.t
|
|
desc = ep2_tournament_events.2005.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = flirtation_left
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = flirtation
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
scope:versus_matcher = {
|
|
is_attracted_to_gender_of = scope:versus_matchee
|
|
might_cheat_on_every_partner_trigger = yes
|
|
}
|
|
scope:versus_matchee = {
|
|
is_attracted_to_gender_of = scope:versus_matcher
|
|
might_cheat_on_every_partner_trigger = yes
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_male_grunts"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = wrestling ID = 2005 }
|
|
}
|
|
|
|
# Give 'em a good tumble
|
|
option = {
|
|
name = ep2_tournament_events.2005.a
|
|
trigger = {
|
|
OR = {
|
|
has_trait = rakish
|
|
has_trait = seducer
|
|
has_trait = lustful
|
|
}
|
|
NOT = {
|
|
has_trait = chaste
|
|
}
|
|
}
|
|
|
|
had_sex_with_effect = {
|
|
CHARACTER = scope:versus_contestant
|
|
PREGNANCY_CHANCE = 50
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
}
|
|
|
|
tournament_contest_versus_resignation_effect = { RESIGNER = scope:versus_contestant CONTEST = wrestling SKILL = pugilism }
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# See if they're interested
|
|
option = {
|
|
name = ep2_tournament_events.2005.b
|
|
|
|
trigger = {
|
|
NOR = {
|
|
has_trait = rakish
|
|
has_trait = seducer
|
|
has_trait = lustful
|
|
}
|
|
}
|
|
|
|
random_list = {
|
|
5 = { #They are amenable to your advances
|
|
custom_tooltip = ep2_tournament_events.2005.b.tt.success
|
|
|
|
had_sex_with_effect = {
|
|
CHARACTER = scope:versus_contestant
|
|
PREGNANCY_CHANCE = 50
|
|
}
|
|
|
|
modifier = {
|
|
add = 5
|
|
scope:versus_contestant = {
|
|
has_trait = lustful
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 5
|
|
scope:versus_contestant = {
|
|
has_trait = seducer
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 5
|
|
scope:versus_contestant = {
|
|
has_trait = rakish
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 1
|
|
scope:versus_contestant = {
|
|
trait_compatibility = {
|
|
target = root
|
|
value >= medium_positive_trait_compatibility
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = -100
|
|
scope:versus_contestant = {
|
|
has_trait = celibate
|
|
}
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2005.b.tt.success
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
}
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
lustful = minor_stress_impact_loss
|
|
arrogant = minor_stress_impact_loss
|
|
rakish = minor_stress_impact_loss
|
|
seducer = minor_stress_impact_loss
|
|
}
|
|
|
|
tournament_contest_versus_resignation_effect = { RESIGNER = scope:versus_contestant CONTEST = wrestling SKILL = pugilism }
|
|
}
|
|
|
|
6 = { #They are flattered but decline
|
|
custom_tooltip = ep2_tournament_events.2005.b.tt.failure
|
|
modifier = {
|
|
add = 5
|
|
scope:versus_contestant = {
|
|
trait_compatibility = {
|
|
target = root
|
|
value >= medium_positive_trait_compatibility
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 5
|
|
scope:versus_contestant = {
|
|
has_trait = celibate
|
|
}
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2005.b.tt.failure
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
}
|
|
|
|
stress_impact = {
|
|
lustful = minor_stress_impact_gain
|
|
stubborn = minor_stress_impact_gain
|
|
arrogant = minor_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
4 = { #They are horrified and angry
|
|
custom_tooltip = ep2_tournament_events.2005.b.tt.criticalfailure
|
|
modifier = {
|
|
add = 5
|
|
scope:versus_contestant = {
|
|
has_trait = chaste
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 5
|
|
scope:versus_contestant = {
|
|
has_trait = celibate
|
|
}
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2005.b.tt.criticalfailure
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
}
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_gain
|
|
lustful = medium_stress_impact_gain
|
|
arrogant = medium_stress_impact_gain
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
chaste = major_stress_impact_gain
|
|
celibate = massive_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = celibate
|
|
has_trait = chaste
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Take advantage to win the contest
|
|
option = {
|
|
name = ep2_tournament_events.2005.c
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
stress_impact = {
|
|
just = medium_stress_impact_gain
|
|
deceitful = minor_stress_impact_loss
|
|
arbitrary = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
has_trait = just
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Death Event: Your opponent piledrivers you on to your head
|
|
ep2_tournament_events.2006 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.2006.t
|
|
desc = ep2_tournament_events.2006.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = shock
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = rage
|
|
}
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_negative_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = wrestling ID = 2006 }
|
|
}
|
|
|
|
# Die
|
|
option = {
|
|
name = ep2_tournament_events.2006.a
|
|
|
|
hidden_effect = {
|
|
tournament_contest_versus_resignation_effect = { RESIGNER = root CONTEST = wrestling SKILL = pugilism }
|
|
}
|
|
death = {
|
|
death_reason = death_tournament_piledriver
|
|
}
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_wrestling_death_log
|
|
tags = { bad }
|
|
score = 10
|
|
character = root
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# A person storms the ring to protest a decision in your favour
|
|
ep2_tournament_events.2007 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.2007.t
|
|
desc = ep2_tournament_events.2007.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = shock
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = worry
|
|
}
|
|
lower_right_portrait = {
|
|
character = scope:opponent_friend
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
scope:activity = {
|
|
any_attending_character = {
|
|
is_alive = yes
|
|
is_adult = yes
|
|
NOR = {
|
|
this = scope:versus_matchee
|
|
this = scope:versus_matcher
|
|
}
|
|
trigger_if = {
|
|
limit = { root = scope:versus_matchee }
|
|
has_relation_friend = scope:versus_matcher
|
|
}
|
|
trigger_else = { has_relation_friend = scope:versus_matchee }
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_negative_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
|
|
scope:activity = {
|
|
random_guest_subset_current_phase = {
|
|
name = spectator
|
|
limit = {
|
|
is_alive = yes
|
|
is_adult = yes
|
|
NOR = {
|
|
this = scope:versus_matchee
|
|
this = scope:versus_matcher
|
|
}
|
|
trigger_if = {
|
|
limit = { root = scope:versus_matchee }
|
|
has_relation_friend = scope:versus_matcher
|
|
}
|
|
trigger_else = { has_relation_friend = scope:versus_matchee }
|
|
}
|
|
save_scope_as = opponent_friend
|
|
}
|
|
}
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_ring_stormed_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:opponent_friend
|
|
}
|
|
}
|
|
}
|
|
|
|
# Guards! Have this miscreant removed!
|
|
option = {
|
|
name = ep2_tournament_events.2007.a
|
|
|
|
add_prestige = -50
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_wrestling_liar
|
|
CHARACTER = scope:opponent_friend
|
|
OPINION = 0
|
|
}
|
|
|
|
stress_impact = {
|
|
wrathful = miniscule_stress_impact_loss
|
|
ambitious = miniscule_stress_impact_loss
|
|
deceitful = miniscule_stress_impact_loss
|
|
arbitrary = miniscule_stress_impact_loss
|
|
calm = medium_stress_impact_gain
|
|
content = medium_stress_impact_gain
|
|
honest = major_stress_impact_gain
|
|
just = major_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = just
|
|
has_trait = honest
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Argue with them
|
|
option = {
|
|
name = ep2_tournament_events.2007.b
|
|
|
|
duel = {
|
|
skill = diplomacy
|
|
target = scope:opponent_friend
|
|
#You win the debate
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
desc = ep2_tournament_events.2007.b.tt.success
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2007.b.tt.success
|
|
left_icon = root
|
|
right_icon = scope:opponent_friend
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = wit
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#They win the debate
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
desc = ep2_tournament_events.2007.b.tt.failure
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2007.b.tt.failure
|
|
left_icon = root
|
|
right_icon = scope:opponent_friend
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
stubborn = miniscule_stress_impact_loss
|
|
diligent = miniscule_stress_impact_loss
|
|
fickle = medium_stress_impact_gain
|
|
lazy = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
NOR = {
|
|
has_trait = fickle
|
|
has_trait = lazy
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Admit it, gain nickname
|
|
option = {
|
|
name = ep2_tournament_events.2007.c
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
give_nickname = nick_the_honest
|
|
|
|
add_prestige = medium_prestige_value
|
|
|
|
reverse_add_opinion = {
|
|
modifier = impressed_opinion
|
|
target = scope:opponent_friend
|
|
opinion = 20
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
modifier = grateful_opinion
|
|
target = scope:versus_contestant
|
|
opinion = 20
|
|
}
|
|
|
|
stress_impact = {
|
|
honest = minor_stress_impact_loss
|
|
just = minor_stress_impact_loss
|
|
arbitrary = medium_stress_impact_gain
|
|
deceitful = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
ai_value_modifier = {
|
|
ai_honor = 1
|
|
ai_vengefulness = -0.5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# What part of your opponent's body do you focus on?
|
|
ep2_tournament_events.2501 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.2501.t
|
|
desc = ep2_tournament_events.2501.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = shock
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = throne_room_cheer_1
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_male_grunts"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = wrestling ID = 2501 }
|
|
}
|
|
|
|
# Aim for the head
|
|
option = {
|
|
name = ep2_tournament_events.2501.a
|
|
random_list = {
|
|
5 = { #You knock them out!
|
|
custom_tooltip = ep2_tournament_events.2501.a.tt.criticalsuccess
|
|
modifier = {
|
|
add = 5
|
|
prowess > high_skill_rating
|
|
}
|
|
modifier = {
|
|
add = -5
|
|
prowess < low_skill_rating
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2501.a.tt.criticalsuccess
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
add_prestige = minor_prestige_gain
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
20 = { #It works reasonably well
|
|
custom_tooltip = ep2_tournament_events.2501.a.tt.success
|
|
modifier = {
|
|
add = 10
|
|
prowess > high_skill_rating
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2501.a.tt.success
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
20 = { #Your opponent sees it coming
|
|
custom_tooltip = ep2_tournament_events.2501.a.tt.failure
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2501.a.tt.failure
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Aim for the body
|
|
option = {
|
|
name = ep2_tournament_events.2501.b
|
|
random_list = {
|
|
10 = { #It works well
|
|
custom_tooltip = ep2_tournament_events.2501.a.tt.criticalsuccess
|
|
modifier = {
|
|
add = 5
|
|
prowess > high_skill_rating
|
|
}
|
|
add_prestige = minor_prestige_gain
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2501.a.tt.criticalsuccess
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
10 = { #It works reasonably well
|
|
custom_tooltip = ep2_tournament_events.2501.a.tt.success
|
|
modifier = {
|
|
add = 10
|
|
prowess > high_skill_rating
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2501.a.tt.success
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
}
|
|
}
|
|
10 = { #Your opponent sees it coming
|
|
custom_tooltip = ep2_tournament_events.2501.a.tt.failure
|
|
modifier = {
|
|
add = 10
|
|
prowess < low_skill_rating
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2501.a.tt.failure
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
add_prestige = minor_prestige_loss
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
}
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Attack their legs
|
|
option = {
|
|
name = ep2_tournament_events.2501.c
|
|
random_list = {
|
|
1 = { #It works well
|
|
custom_tooltip = ep2_tournament_events.2501.a.tt.criticalsuccess
|
|
modifier = {
|
|
add = -5
|
|
prowess < low_skill_rating
|
|
}
|
|
add_prestige = minor_prestige_gain
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2501.a.tt.criticalsuccess
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
30 = { #It works reasonably well
|
|
custom_tooltip = ep2_tournament_events.2501.a.tt.success
|
|
|
|
modifier = {
|
|
add = 10
|
|
prowess > high_skill_rating
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2501.a.tt.success
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
}
|
|
}
|
|
5 = { #Your opponent sees it coming
|
|
|
|
custom_tooltip = ep2_tournament_events.2501.a.tt.failure
|
|
modifier = {
|
|
add = 10
|
|
prowess < low_skill_rating
|
|
}
|
|
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2501.a.tt.failure
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
add_prestige = minor_prestige_loss
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# Your finger pops out of its socket!
|
|
ep2_tournament_events.2502 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.2502.t
|
|
desc = ep2_tournament_events.2502.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = pain
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = personality_dishonorable
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_male_grunts"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = wrestling ID = 2502 }
|
|
}
|
|
|
|
# Try and pop it back in
|
|
option = {
|
|
name = ep2_tournament_events.2502.a
|
|
custom_tooltip = ep2_tournament_events.2502.a.tt
|
|
random_list = {
|
|
5 = { #It works
|
|
desc = ep2_tournament_events.2502.a.tt.success
|
|
modifier = {
|
|
add = 30
|
|
has_trait = lifestyle_physician
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
has_trait = lifestyle_herbalist
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2502.a.tt.success
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
add_prestige = minor_prestige_gain
|
|
}
|
|
}
|
|
20 = { #It doesn't work
|
|
desc = ep2_tournament_events.2502.a.tt.failure
|
|
modifier = {
|
|
add = 10
|
|
has_trait = physique_bad
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2502.a.tt.failure
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
add_character_modifier = {
|
|
modifier = tournament_dislocated_finger_modifier
|
|
years = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_finger_popped_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
craven = medium_stress_impact_gain
|
|
impatient = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
has_trait = craven
|
|
}
|
|
}
|
|
}
|
|
|
|
# Work around it
|
|
option = {
|
|
name = ep2_tournament_events.2502.b
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
add_character_modifier = {
|
|
modifier = tournament_dislocated_finger_modifier
|
|
years = 1
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Concede
|
|
option = {
|
|
name = ep2_tournament_events.2502.c
|
|
tournament_contest_versus_resignation_effect = { RESIGNER = root CONTEST = wrestling SKILL = pugilism }
|
|
|
|
stress_impact = {
|
|
craven = medium_stress_impact_loss
|
|
brave = medium_stress_impact_gain
|
|
content = minor_stress_impact_loss
|
|
ambitious = minor_stress_impact_gain
|
|
arrogant = minor_stress_impact_gain
|
|
humble = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = brave
|
|
has_trait = ambitious
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_trigger contest_wrestling_eye_poke_trigger = {
|
|
OR = {
|
|
has_trait = sadistic
|
|
has_trait = deceitful
|
|
ai_compassion <= low_positive_ai_value
|
|
}
|
|
}
|
|
|
|
# Your opponent tries eye-poking you
|
|
ep2_tournament_events.2503 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.2503.t
|
|
desc = ep2_tournament_events.2503.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = grief
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = personality_cynical
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
trigger_if = {
|
|
limit = { this = scope:versus_matchee }
|
|
scope:versus_matcher = { contest_wrestling_eye_poke_trigger = yes }
|
|
}
|
|
trigger_else = {
|
|
scope:versus_matchee = { contest_wrestling_eye_poke_trigger = yes }
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_male_grunts"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = wrestling ID = 2503 }
|
|
}
|
|
|
|
# Poke them back
|
|
option = {
|
|
name = ep2_tournament_events.2503.a
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = wrathful
|
|
has_trait = vengeful
|
|
has_trait = deceitful
|
|
has_trait = arbitrary
|
|
has_trait = callous
|
|
has_trait = sadistic
|
|
}
|
|
NOT = {
|
|
has_trait = one_eyed
|
|
}
|
|
}
|
|
|
|
custom_tooltip = ep2_tournament_events.2503.a.tt
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
|
|
add_prestige = minor_prestige_loss
|
|
|
|
add_character_modifier = {
|
|
modifier = tournament_blurry_vision_modifier
|
|
years = 3
|
|
}
|
|
|
|
scope:versus_contestant = {
|
|
add_character_modifier = {
|
|
modifier = tournament_blurry_vision_modifier
|
|
years = 3
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
vengeful = minor_stress_impact_gain
|
|
wrathful = minor_stress_impact_gain
|
|
craven = medium_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = vengeful
|
|
has_trait = wrathful
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Complain to get them disqualified, and take some time to recover
|
|
option = {
|
|
name = ep2_tournament_events.2503.b
|
|
|
|
trigger = {
|
|
NOT = {
|
|
has_trait = one_eyed
|
|
}
|
|
}
|
|
|
|
duel = {
|
|
skill = diplomacy
|
|
target = scope:versus_contestant
|
|
#You get them disqualified
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
desc = ep2_tournament_events.2503.b.tt.success
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
}
|
|
#You fail to get them disqualified
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
desc = ep2_tournament_events.2503.b.tt.failure
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
}
|
|
|
|
|
|
}
|
|
|
|
# Continue the fight
|
|
option = {
|
|
name = ep2_tournament_events.2503.c
|
|
|
|
trigger = {
|
|
NOT = {
|
|
has_trait = one_eyed
|
|
}
|
|
}
|
|
|
|
custom_tooltip = ep2_tournament_events.2503.c.tt
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
add_character_modifier = {
|
|
modifier = tournament_blurry_vision_modifier
|
|
years = 3
|
|
}
|
|
}
|
|
|
|
# Continue the fight but with no working eyes
|
|
option = {
|
|
name = ep2_tournament_events.2503.d
|
|
|
|
trigger = {
|
|
has_trait = one_eyed
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
add_character_modifier = {
|
|
modifier = tournament_really_blurry_vision_modifier
|
|
years = 5
|
|
}
|
|
}
|
|
}
|
|
|
|
# Your berserker opponent bites your nose off
|
|
ep2_tournament_events.2504 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.2504.t
|
|
desc = ep2_tournament_events.2504.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = grief
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = rage
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
trigger_if = {
|
|
limit = { this = scope:versus_matchee }
|
|
scope:versus_matcher = { has_trait = berserker }
|
|
}
|
|
trigger_else = {
|
|
scope:versus_matchee = { has_trait = berserker }
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_negative_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = wrestling ID = 2504 }
|
|
random_court_position_holder = {
|
|
type = court_physician_court_position
|
|
save_scope_as = physician
|
|
}
|
|
|
|
add_stress = major_stress_gain
|
|
}
|
|
|
|
# Aaaaaaaaagggghhhh! Disqualify them!
|
|
option = {
|
|
name = ep2_tournament_events.2504.a
|
|
|
|
custom_tooltip = ep2_tournament_events.2504.a.tt
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
add_trait = disfigured
|
|
|
|
tournament_contest_versus_disqualification_effect = { DISQUALIFIED = scope:versus_contestant MATCH = root CONTEST = wrestling SKILL = pugilism }
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_berserker_log
|
|
tags = { bad }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
}
|
|
}
|
|
|
|
# Get me my physician! I don't need to participate any further!
|
|
option = {
|
|
name = ep2_tournament_events.2504.b
|
|
|
|
trigger = {
|
|
court_physician_available_trigger = yes
|
|
}
|
|
|
|
custom_tooltip = ep2_tournament_events.2504.b.tt
|
|
|
|
random_list = {
|
|
#Your physician works miracles
|
|
2 = {
|
|
modifier = {
|
|
add = 5
|
|
scope:physician = {
|
|
learning > average_skill_rating
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
scope:physician = {
|
|
learning > high_skill_rating
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
scope:physician = {
|
|
has_trait = lifestyle_herbalist
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 20
|
|
scope:physician = {
|
|
has_trait = lifestyle_physician
|
|
}
|
|
}
|
|
custom_tooltip = ep2_tournament_events.2504.b.tt.criticalsuccess
|
|
increase_wounds_effect = { REASON = fight }
|
|
}
|
|
#Your physician saves your nose
|
|
10 = {
|
|
modifier = {
|
|
add = 5
|
|
scope:physician = {
|
|
learning > average_skill_rating
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
scope:physician = {
|
|
learning > high_skill_rating
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
scope:physician = {
|
|
has_trait = lifestyle_herbalist
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 20
|
|
scope:physician = {
|
|
has_trait = lifestyle_physician
|
|
}
|
|
}
|
|
custom_tooltip = ep2_tournament_events.2504.b.tt.success
|
|
increase_wounds_effect = { REASON = fight }
|
|
add_trait = scarred
|
|
add_trait_xp = {
|
|
trait = scarred
|
|
value = {
|
|
integer_range = {
|
|
min = 25
|
|
max = 60
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#Your physician is unable to save your nose
|
|
10 = {
|
|
modifier = {
|
|
add = 5
|
|
scope:physician = {
|
|
learning < average_skill_rating
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
scope:physician = {
|
|
learning < low_skill_rating
|
|
}
|
|
}
|
|
custom_tooltip = ep2_tournament_events.2504.b.tt.failure
|
|
increase_wounds_effect = { REASON = fight }
|
|
add_trait = disfigured
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
vengeful = minor_stress_impact_gain
|
|
wrathful = minor_stress_impact_gain
|
|
craven = medium_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = vengeful
|
|
has_trait = wrathful
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Find me a physician! I don't need to participate any further!
|
|
option = {
|
|
name = ep2_tournament_events.2504.c
|
|
|
|
trigger = {
|
|
court_physician_available_trigger = no
|
|
}
|
|
|
|
custom_tooltip = ep2_tournament_events.2504.c.tt
|
|
|
|
increase_wounds_effect = { REASON = fight }
|
|
add_trait = disfigured
|
|
|
|
tournament_contest_versus_resignation_effect = { RESIGNER = root CONTEST = wrestling SKILL = pugilism }
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
vengeful = minor_stress_impact_gain
|
|
wrathful = minor_stress_impact_gain
|
|
craven = medium_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = vengeful
|
|
has_trait = wrathful
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Death event: opponent kicks your head through 180 degrees
|
|
ep2_tournament_events.2506 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.2506.t
|
|
desc = ep2_tournament_events.2506.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = pain
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = shock
|
|
}
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_surprise_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
}
|
|
|
|
# Urk!
|
|
option = {
|
|
name = ep2_tournament_events.2506.a
|
|
|
|
hidden_effect = {
|
|
tournament_contest_versus_resignation_effect = { RESIGNER = root CONTEST = wrestling SKILL = pugilism }
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_wrestling_death_log
|
|
tags = { bad }
|
|
score = 10
|
|
character = root
|
|
}
|
|
}
|
|
|
|
death = {
|
|
death_reason = death_tournament_roundhouse
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# Discombobulate
|
|
ep2_tournament_events.2507 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.2507.t
|
|
desc = ep2_tournament_events.2507.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_callous
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = rage
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_surprise_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = wrestling ID = 2507 }
|
|
}
|
|
|
|
# ...do it again
|
|
option = {
|
|
name = ep2_tournament_events.2507.a
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = callous
|
|
has_trait = sadistic
|
|
has_trait = wrathful
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
|
|
scope:versus_contestant = {
|
|
add_character_modifier = {
|
|
modifier = tournament_discombobulated_modifier
|
|
years = 10
|
|
}
|
|
|
|
add_opinion = {
|
|
modifier = hate_opinion
|
|
target = root
|
|
opinion = -60
|
|
}
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Finish the fight quickly
|
|
option = {
|
|
name = ep2_tournament_events.2507.b
|
|
|
|
flavor = ep2_tournament_events.2507.b.tt
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
|
|
add_prestige = minor_prestige_gain
|
|
|
|
reverse_add_opinion = {
|
|
modifier = grateful_opinion
|
|
target = scope:versus_contestant
|
|
opinion = 10
|
|
}
|
|
|
|
stress_impact = {
|
|
compassionate = minor_stress_impact_loss
|
|
sadistic = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Persuade them to give up
|
|
option = {
|
|
name = ep2_tournament_events.2507.c
|
|
|
|
duel = {
|
|
skill = diplomacy
|
|
value = medium_skill_rating
|
|
# Success
|
|
1 = {
|
|
desc = ep2_tournament_events.2507.c.success
|
|
modifier = {
|
|
add = 10
|
|
has_trait = compassionate
|
|
}
|
|
modifier = {
|
|
add = 2
|
|
has_trait = humble
|
|
}
|
|
modifier = {
|
|
add = 5
|
|
has_trait = patient
|
|
}
|
|
modifier = {
|
|
add = 5
|
|
has_trait = education_diplomacy
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
has_trait = intellect_good
|
|
}
|
|
modifier = {
|
|
add = 15
|
|
has_trait = shrewd
|
|
}
|
|
modifier = {
|
|
add = 20
|
|
has_trait = diplomat
|
|
}
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 5
|
|
}
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2507.c.success
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
add_prestige = minor_prestige_gain
|
|
reverse_add_opinion = {
|
|
modifier = kindness_opinion
|
|
target = scope:versus_contestant
|
|
opinion = 20
|
|
}
|
|
tournament_contest_versus_resignation_effect = { RESIGNER = scope:versus_contestant CONTEST = wrestling SKILL = pugilism }
|
|
}
|
|
min = 5
|
|
}
|
|
# Failure
|
|
1 = {
|
|
desc = ep2_tournament_events.2507.c.failure
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -5
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
has_trait = callous
|
|
}
|
|
modifier = {
|
|
add = 5
|
|
has_trait = arrogant
|
|
}
|
|
modifier = {
|
|
add = 2
|
|
has_trait = impatient
|
|
}
|
|
modifier = {
|
|
add = 5
|
|
has_trait = intellect_bad
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
has_trait = lisping
|
|
}
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.2507.c.failure
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
add_prestige = minor_prestige_loss
|
|
reverse_add_opinion = {
|
|
modifier = insult_opinion
|
|
target = scope:versus_contestant
|
|
opinion = -30
|
|
}
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
}
|
|
min = 5
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
##################
|
|
### QUINTAIN ###
|
|
##################
|
|
|
|
scripted_trigger tournament_events_3501_knight_trigger = {
|
|
age < 25 #Need to be young to prove themselves!
|
|
is_ai = yes #No players!
|
|
can_be_knight_trigger = { ARMY_OWNER = root } # CAN be a knight...
|
|
is_knight = no #...but isn't currently
|
|
is_landed = no #is not landed, to avoid taking anyone good
|
|
NOR = { #is not employed, to avoid taking anyone useful
|
|
has_council_position = councillor_spouse
|
|
has_council_position = councillor_marshal
|
|
has_council_position = councillor_court_chaplain
|
|
has_council_position = councillor_steward
|
|
has_council_position = councillor_spymaster
|
|
}
|
|
this != root #isn't you, or the either knight
|
|
}
|
|
|
|
# Two young knights vie for your attention
|
|
ep2_tournament_events.3501 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.3501.t
|
|
desc = ep2_tournament_events.3501.desc
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_callous
|
|
}
|
|
lower_right_portrait = {
|
|
character = scope:knight1
|
|
}
|
|
lower_left_portrait = {
|
|
character = scope:knight2
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
this = scope:host
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
name = contestant
|
|
count >= 2
|
|
tournament_events_3501_knight_trigger = yes
|
|
is_alive = yes
|
|
}
|
|
has_current_phase = tournament_phase_joust
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
scope:activity = {
|
|
random_guest_subset_current_phase = {
|
|
name = contestant
|
|
limit = {
|
|
tournament_events_3501_knight_trigger = yes
|
|
is_alive = yes
|
|
}
|
|
save_scope_as = knight1
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = contestant
|
|
limit = {
|
|
tournament_events_3501_knight_trigger = yes
|
|
is_alive = yes
|
|
this != scope:knight1
|
|
}
|
|
save_scope_as = knight2
|
|
}
|
|
}
|
|
}
|
|
|
|
# Pick Knight 1
|
|
option = {
|
|
name = ep2_tournament_events.3501.a
|
|
|
|
add_courtier = scope:knight1
|
|
|
|
scope:knight1 = {
|
|
|
|
add_opinion = {
|
|
target = root
|
|
modifier = flattered_opinion
|
|
opinion = 50
|
|
}
|
|
|
|
accolade_medium_glory_gain_with_checks_effect = yes
|
|
|
|
scope:knight2 = {
|
|
add_opinion = {
|
|
modifier = hate_opinion
|
|
target = scope:knight1
|
|
opinion = -60
|
|
}
|
|
add_opinion = {
|
|
modifier = disappointed_opinion
|
|
target = root
|
|
opinion = -10
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_quintain_choice_log_1
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:knight1
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Pick Knight 2
|
|
option = {
|
|
name = ep2_tournament_events.3501.b
|
|
|
|
add_courtier = scope:knight2
|
|
|
|
scope:knight2 = {
|
|
|
|
add_opinion = {
|
|
target = root
|
|
modifier = flattered_opinion
|
|
opinion = 50
|
|
}
|
|
|
|
accolade_medium_glory_gain_with_checks_effect = yes
|
|
|
|
scope:knight1 = {
|
|
add_opinion = {
|
|
modifier = hate_opinion
|
|
target = scope:knight2
|
|
opinion = -60
|
|
}
|
|
add_opinion = {
|
|
modifier = disappointed_opinion
|
|
target = root
|
|
opinion = -10
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_quintain_choice_log_2
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:knight2
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Pick whoever wins the next match!
|
|
option = {
|
|
name = ep2_tournament_events.3501.c
|
|
scope:knight1 = {
|
|
duel = {
|
|
skill = prowess
|
|
target = scope:knight2
|
|
50 = {
|
|
show_chance = no
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 1.5
|
|
}
|
|
desc = ep2_tournament_events.knight_1_wins
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_quintain_choice_log_1
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:knight1
|
|
}
|
|
}
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.knight_1_wins
|
|
left_icon = root
|
|
right_icon = scope:knight1
|
|
add_courtier = scope:knight1
|
|
scope:knight1 = {
|
|
accolade_minor_glory_gain_with_checks_effect = yes
|
|
}
|
|
}
|
|
}
|
|
50 = {
|
|
show_chance = no
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -1.5
|
|
}
|
|
desc = ep2_tournament_events.knight_2_wins
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_quintain_choice_log_2
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:knight2
|
|
}
|
|
}
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.knight_2_wins
|
|
left_icon = root
|
|
right_icon = scope:knight2
|
|
add_courtier = scope:knight2
|
|
scope:knight2 = {
|
|
accolade_minor_glory_gain_with_checks_effect = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Pick neither
|
|
option = {
|
|
name = ep2_tournament_events.3501.d
|
|
|
|
if = {
|
|
limit = { activity_is_competing_trigger = yes }
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
}
|
|
|
|
scope:knight1 = {
|
|
|
|
add_opinion = {
|
|
target = root
|
|
modifier = disappointed_opinion
|
|
opinion = -20
|
|
}
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_quintain_knight_anger
|
|
CHARACTER = scope:knight2
|
|
OPINION = 0
|
|
}
|
|
}
|
|
|
|
scope:knight2 = {
|
|
|
|
add_opinion = {
|
|
target = root
|
|
modifier = disappointed_opinion
|
|
opinion = -20
|
|
}
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_quintain_knight_anger
|
|
CHARACTER = scope:knight1
|
|
OPINION = 0
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# Quintain breaks
|
|
ep2_tournament_events.3502 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.3502.t
|
|
desc = ep2_tournament_events.3502.desc
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = shock
|
|
}
|
|
right_portrait = {
|
|
character = scope:competitor
|
|
animation = personality_honorable
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
this = scope:host
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
name = contestant
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
}
|
|
has_current_phase = tournament_phase_joust
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
scope:activity = {
|
|
random_guest_subset_current_phase = {
|
|
name = contestant
|
|
limit = { contest_event_general_contestant_valid_trigger = yes }
|
|
save_scope_as = competitor
|
|
}
|
|
activity_location.province_owner = { save_scope_as = mayor }
|
|
}
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_broken_quintain_log
|
|
tags = { bad }
|
|
score = 5
|
|
character = scope:mayor
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Punish the builder
|
|
name = ep2_tournament_events.3502.a
|
|
|
|
trigger = {
|
|
this = scope:host
|
|
}
|
|
|
|
if = {
|
|
limit = { activity_is_competing_trigger = yes}
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
}
|
|
|
|
add_prestige = medium_prestige_loss
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_quintain_collapse_blame
|
|
CHARACTER = scope:mayor
|
|
OPINION = default_rival_opinion
|
|
}
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_gain
|
|
calm = minor_stress_impact_gain
|
|
wrathful = miniscule_stress_impact_loss
|
|
vengeful = miniscule_stress_impact_loss
|
|
forgiving = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
has_trait = forgiving
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Criticise the host
|
|
name = ep2_tournament_events.3502.b
|
|
|
|
trigger = {
|
|
this != scope:host
|
|
}
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_quintain_collapse_blame
|
|
CHARACTER = scope:mayor
|
|
OPINION = default_rival_opinion
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:host
|
|
modifier = angry_opinion
|
|
opinion = -30
|
|
}
|
|
|
|
stress_impact = {
|
|
forgiving = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
has_trait = forgiving
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Pay for its repair
|
|
name = ep2_tournament_events.3502.c
|
|
|
|
remove_short_term_gold = medium_gold_value
|
|
|
|
add_prestige = minor_prestige_gain
|
|
|
|
if = {
|
|
limit = {
|
|
this != scope:host
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:host
|
|
modifier = grateful_opinion
|
|
opinion = 30
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
greedy = medium_stress_impact_gain
|
|
generous = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
has_trait = greedy
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Pull out
|
|
name = ep2_tournament_events.3502.d
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:competitor
|
|
modifier = compliment_opinion
|
|
opinion = 20
|
|
}
|
|
|
|
stress_impact = {
|
|
arrogant = minor_stress_impact_gain
|
|
humble = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = ambitious
|
|
has_trait = stubborn
|
|
has_trait = arrogant
|
|
has_trait = brave
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Hapless knight ends up on the quintain
|
|
ep2_tournament_events.3503 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.3503.t
|
|
desc = ep2_tournament_events.3503.desc
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = laugh
|
|
}
|
|
right_portrait = {
|
|
character = scope:hapless_knight
|
|
animation = pain
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
this = scope:host
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
name = contestant
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
is_landed = no #Make sure they're not a noble
|
|
is_lowborn = yes #...and again
|
|
prowess < medium_skill_rating #Make sure they're likely to actually be bad
|
|
is_alive = yes #duh
|
|
}
|
|
has_current_phase = tournament_phase_joust
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
scope:activity = {
|
|
random_guest_subset_current_phase = {
|
|
name = contestant
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
is_landed = no #Make sure they're not a noble
|
|
is_lowborn = yes #...and again
|
|
prowess < medium_skill_rating #Make sure they're likely to actually be bad
|
|
is_alive = yes #duh
|
|
}
|
|
save_scope_as = hapless_knight
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_major }
|
|
}
|
|
add_activity_log_entry = {
|
|
key = tournament_hapless_knight_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:hapless_knight
|
|
}
|
|
}
|
|
scope:hapless_knight = { accolade_minor_glory_loss_with_checks_effect = yes }
|
|
}
|
|
|
|
option = { # Offer them a place as a jester
|
|
name = ep2_tournament_events.3503.a
|
|
|
|
trigger = {
|
|
#Make sure you can actually offer them a jester position
|
|
can_appoint_char_to_court_position = {
|
|
CHAR = scope:hapless_knight
|
|
COURT_POS = court_jester_court_position
|
|
}
|
|
}
|
|
|
|
random_list = {
|
|
24 = { #They accept
|
|
|
|
modifier = { #A humble person might be more likely to accept
|
|
add = 40
|
|
scope:hapless_knight = {
|
|
has_trait = humble
|
|
}
|
|
}
|
|
|
|
|
|
modifier = { #A fickle person is less likely to adhere to their profession
|
|
add = 20
|
|
scope:hapless_knight = {
|
|
has_trait = fickle
|
|
}
|
|
}
|
|
|
|
modifier = { #A lazy person sees the opportunity for a comfortable life with minimal effort
|
|
add = 20
|
|
scope:hapless_knight = {
|
|
has_trait = lazy
|
|
}
|
|
}
|
|
|
|
modifier = { #Perhaps more likely if they're good at it
|
|
add = 10
|
|
scope:hapless_knight = {
|
|
aptitude:court_jester_court_position >= 2
|
|
}
|
|
}
|
|
|
|
modifier = { #A gregarious person loves interacting with people
|
|
add = 5
|
|
scope:hapless_knight = {
|
|
has_trait = gregarious
|
|
}
|
|
}
|
|
|
|
desc = ep2_tournament_events.3503.a.tt.success
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.3503.a.tt.success
|
|
left_icon = root
|
|
right_icon = scope:hapless_knight
|
|
hidden_effect = {
|
|
scope:hapless_knight = { set_employer = root }
|
|
}
|
|
court_position_grant_effect = {
|
|
EMPLOYER = root
|
|
POS = court_jester
|
|
CANDIDATE = scope:hapless_knight
|
|
}
|
|
|
|
scope:hapless_knight = {
|
|
save_scope_as = resigner
|
|
tournament_contest_versus_resignation_effect = { RESIGNER = scope:hapless_knight CONTEST = joust SKILL = horse }
|
|
}
|
|
}
|
|
}
|
|
76 = { #They refuse
|
|
modifier = { #An arrogant person would almost never accept
|
|
add = 200
|
|
scope:hapless_knight = {
|
|
has_trait = arrogant
|
|
}
|
|
}
|
|
|
|
modifier = { #A stubborn person doesn't want a career change
|
|
add = 50
|
|
scope:hapless_knight = {
|
|
has_trait = stubborn
|
|
}
|
|
}
|
|
|
|
desc = ep2_tournament_events.3503.a.tt.failure
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.3503.a.tt.failure
|
|
left_icon = root
|
|
right_icon = scope:hapless_knight
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_quintain_collapse_blame
|
|
CHARACTER = scope:hapless_knight
|
|
OPINION = default_rival_opinion
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
option = { # Try to get them banned
|
|
name = ep2_tournament_events.3503.b
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_tournament_attempted_banning
|
|
CHARACTER = scope:hapless_knight
|
|
OPINION = default_rival_opinion
|
|
}
|
|
|
|
duel = {
|
|
skill = diplomacy
|
|
target = scope:hapless_knight
|
|
# Success
|
|
50 = {
|
|
show_chance = yes
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.3503.b.tt.success
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.3503.b.tt.success
|
|
left_icon = root
|
|
right_icon = scope:enemy
|
|
|
|
if = {
|
|
limit = { activity_is_competing_trigger = yes }
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
}
|
|
|
|
scope:hapless_knight = {
|
|
add_prestige = minor_prestige_loss
|
|
add_character_flag = tournament_not_competing
|
|
custom_tooltip = tournament_not_competing_tt
|
|
}
|
|
scope:activity = {
|
|
remove_from_guest_subset = {
|
|
name = contestant
|
|
target = scope:hapless_knight
|
|
}
|
|
add_to_guest_subset = {
|
|
name = spectator
|
|
target = scope:hapless_knight
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Failure
|
|
50 = {
|
|
show_chance = yes
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
desc = ep2_tournament_events.3503.b.tt.failure
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.3503.b.tt.failure
|
|
left_icon = root
|
|
right_icon = scope:enemy
|
|
|
|
add_prestige = minor_prestige_loss
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
option = { # You decide you quite like them
|
|
name = ep2_tournament_events.3503.c
|
|
|
|
if = {
|
|
limit = { activity_is_competing_trigger = yes }
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
}
|
|
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_joust_endearment
|
|
CHARACTER = scope:hapless_knight
|
|
OPINION = default_friend_opinion
|
|
}
|
|
|
|
stress_impact = {
|
|
sadistic = medium_stress_impact_gain
|
|
callous = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = callous
|
|
has_trait = sadistic
|
|
}
|
|
}
|
|
}
|
|
}
|
|
option = { # Laugh at them
|
|
name = ep2_tournament_events.3503.d
|
|
custom_tooltip = available_because_intent_tt
|
|
trigger = { has_activity_intent = reduce_stress_intent }
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_contest_mockery
|
|
CHARACTER = scope:hapless_knight
|
|
OPINION = default_rival_opinion
|
|
}
|
|
|
|
scope:hapless_knight = {
|
|
add_prestige = medium_prestige_loss
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_major }
|
|
}
|
|
|
|
stress_impact = {
|
|
base = major_stress_impact_loss
|
|
compassionate = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
#Death event: Quintain hits you
|
|
ep2_tournament_events.3504 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.3504.t
|
|
desc = ep2_tournament_events.3504.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = pain
|
|
}
|
|
|
|
trigger = {
|
|
is_participant_in_activity = scope:activity
|
|
scope:activity = {
|
|
has_current_phase = tournament_phase_joust
|
|
}
|
|
}
|
|
|
|
option = { # Ouch!
|
|
name = ep2_tournament_events.3504.a
|
|
|
|
random_list = {
|
|
1 = {
|
|
show_chance = no
|
|
increase_wounds_effect = { REASON = accident }
|
|
}
|
|
1 = {
|
|
show_chance = no
|
|
add_trait = incapable
|
|
}
|
|
1 = {
|
|
show_chance = no
|
|
death = {
|
|
death_reason = death_tournament_quintain_hit
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_quintain_death_log
|
|
tags = { bad }
|
|
score = 10
|
|
character = root
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
#################
|
|
### JOUST ###
|
|
#################
|
|
|
|
# You get injured
|
|
ep2_tournament_events.4001 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.4001.t
|
|
desc = ep2_tournament_events.4001.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = jockey_loss
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = jockey_lance_couched_gallop
|
|
}
|
|
cooldown = { months = 2 }
|
|
|
|
trigger = {
|
|
#DLC check.
|
|
#has_ep2_dlc_trigger = yes
|
|
|
|
#Standard checks.
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_surprise_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = joust ID = 4001 }
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_joust_injury_log
|
|
tags = { bad }
|
|
score = 5
|
|
character = root
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Pull through
|
|
name = ep2_tournament_events.4001.a
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = physique_good
|
|
has_trait = strong
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
|
|
increase_wounds_no_death_effect = { REASON = battle }
|
|
|
|
add_prestige = medium_prestige_gain
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_gain
|
|
fickle = minor_stress_impact_gain
|
|
stubborn = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
option = { # Stay in, get wounded
|
|
name = ep2_tournament_events.4001.b
|
|
|
|
increase_wounds_no_death_effect = { REASON = battle }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
|
|
add_prestige = medium_prestige_gain
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_gain
|
|
fickle = minor_stress_impact_gain
|
|
stubborn = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
option = { # Pull out
|
|
name = ep2_tournament_events.4001.c
|
|
|
|
tournament_contest_versus_resignation_effect = { RESIGNER = root CONTEST = joust SKILL = horse }
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
brave = minor_stress_impact_gain
|
|
craven = minor_stress_impact_loss
|
|
ambitious = minor_stress_impact_gain
|
|
stubborn = minor_stress_impact_gain
|
|
arrogant = minor_stress_impact_gain
|
|
humble = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = ambitious
|
|
has_trait = stubborn
|
|
has_trait = arrogant
|
|
has_trait = brave
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Your opponent is knocked off their horse
|
|
ep2_tournament_events.4002 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.4002.t
|
|
desc = ep2_tournament_events.4002.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = jockey_lance_tilted
|
|
}
|
|
right_portrait = {
|
|
trigger = {
|
|
this != involved_activity.activity_host
|
|
}
|
|
character = scope:versus_contestant
|
|
animation = pain
|
|
}
|
|
cooldown = { months = 2 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_horse_neigh"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = joust ID = 4002 }
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_knocked_off_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Help them up and give them a shield
|
|
name = ep2_tournament_events.4002.a
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = just
|
|
has_trait = gregarious
|
|
has_trait = compassionate
|
|
}
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = grateful_opinion
|
|
opinion = 40
|
|
}
|
|
|
|
add_prestige = medium_prestige_gain
|
|
|
|
custom_tooltip = ep2_tournament_events.4001.a.tt
|
|
|
|
hidden_effect = {
|
|
every_courtier_or_guest = {
|
|
add_opinion = {
|
|
target = root
|
|
opinion = 10
|
|
modifier = reputation_opinion
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
ambitious = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
option = { # Help them up
|
|
name = ep2_tournament_events.4002.b
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = grateful_opinion
|
|
opinion = 15
|
|
}
|
|
|
|
add_prestige = minor_prestige_gain
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
stress_impact = {
|
|
just = miniscule_stress_impact_loss
|
|
compassionate = miniscule_stress_impact_loss
|
|
callous = minor_stress_impact_gain
|
|
sadistic = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = callous
|
|
has_trait = sadistic
|
|
}
|
|
}
|
|
}
|
|
}
|
|
option = { # Ah well
|
|
name = ep2_tournament_events.4002.c
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
stress_impact = {
|
|
just = minor_stress_impact_gain
|
|
brave = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# Your opponent is using a massive lance
|
|
ep2_tournament_events.4003 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.4003.t
|
|
desc = ep2_tournament_events.4003.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = jockey_loss
|
|
}
|
|
right_portrait = {
|
|
trigger = {
|
|
this != involved_activity.activity_host
|
|
}
|
|
character = scope:versus_contestant
|
|
animation = jockey_lance_couched_gallop
|
|
}
|
|
cooldown = { months = 2 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_horse_trotting"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = joust ID = 4003 }
|
|
}
|
|
|
|
option = { # Protest to the authorities
|
|
name = ep2_tournament_events.4003.a
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = just
|
|
has_trait = honest
|
|
has_trait = irritable
|
|
}
|
|
}
|
|
|
|
flavor = ep2_tournament_events.4003.a.tt
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = annoyed_opinion
|
|
opinion = -40
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
add_prestige = minor_prestige_loss
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
ambitious = minor_stress_impact_gain
|
|
just = minor_stress_impact_loss
|
|
craven = minor_stress_impact_loss
|
|
brave = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = brave
|
|
has_trait = ambitious
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Ask them not to use it
|
|
name = ep2_tournament_events.4003.b
|
|
|
|
duel = {
|
|
skill = diplomacy
|
|
target = scope:versus_contestant
|
|
# Success
|
|
50 = {
|
|
show_chance = yes
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.4003.b.tt.win
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
}
|
|
}
|
|
# Failure
|
|
50 = {
|
|
show_chance = yes
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.4003.b.tt.lose
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
ambitious = minor_stress_impact_gain
|
|
just = minor_stress_impact_loss
|
|
craven = minor_stress_impact_loss
|
|
brave = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = brave
|
|
has_trait = ambitious
|
|
}
|
|
}
|
|
}
|
|
}
|
|
option = { # Joust them anyway
|
|
name = ep2_tournament_events.4003.c
|
|
|
|
add_prestige = medium_prestige_gain
|
|
|
|
duel = {
|
|
skills = { prowess martial }
|
|
value = decent_skill_rating
|
|
# Success
|
|
50 = {
|
|
show_chance = yes
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.4003.c.tt.win
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Failure
|
|
50 = {
|
|
show_chance = yes
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.4003.c.tt.lose
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
ambitious = minor_stress_impact_loss
|
|
just = minor_stress_impact_gain
|
|
craven = minor_stress_impact_gain
|
|
brave = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = just
|
|
has_trait = craven
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Your opponent challenges you to a duel on foot
|
|
ep2_tournament_events.4004 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.4004.t
|
|
desc = ep2_tournament_events.4004.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = jockey_lance_tilted
|
|
}
|
|
right_portrait = {
|
|
trigger = {
|
|
this != involved_activity.activity_host
|
|
}
|
|
character = scope:versus_contestant
|
|
animation = marshal
|
|
}
|
|
cooldown = { months = 2 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_horse_neigh"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = joust ID = 4004 }
|
|
}
|
|
|
|
option = { # Accept
|
|
name = ep2_tournament_events.4004.a
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = respect_opinion
|
|
opinion = 30
|
|
}
|
|
|
|
duel = {
|
|
skill = prowess
|
|
target = scope:versus_contestant
|
|
# Success
|
|
50 = {
|
|
show_chance = yes
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.4004.a.success
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Failure
|
|
50 = {
|
|
show_chance = yes
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.4004.a.failure
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
}
|
|
}
|
|
|
|
add_prestige = minor_prestige_loss
|
|
|
|
stress_impact = {
|
|
ambitious = medium_stress_impact_loss
|
|
paranoid = medium_stress_impact_gain
|
|
craven = minor_stress_impact_gain
|
|
brave = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = paranoid
|
|
has_trait = craven
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Refuse
|
|
name = ep2_tournament_events.4004.b
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = disappointed_opinion
|
|
opinion = -30
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
option = { # Accept, but insist upon fighting WITH LANCES
|
|
name = ep2_tournament_events.4004.c
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = dull
|
|
has_trait = intellect_bad
|
|
}
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = tournament_confused_opinion
|
|
opinion = -40
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
add_prestige = minor_prestige_loss
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = foot
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# Your opponent is injured but tilts anyway
|
|
ep2_tournament_events.4005 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.4005.t
|
|
desc = ep2_tournament_events.4005.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = jockey_lance_tilted
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = jockey_loss
|
|
}
|
|
cooldown = { months = 2 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_wood_clash"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = joust ID = 4005 }
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_joust_injury_log
|
|
tags = { bad }
|
|
score = 5
|
|
character = scope:versus_contestant
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Tilt against them
|
|
name = ep2_tournament_events.4005.a
|
|
|
|
flavor = ep2_tournament_events.4005.a.tt
|
|
|
|
if = { # If they're a coward they'll like you less
|
|
limit = {
|
|
scope:versus_contestant = {
|
|
has_trait = craven
|
|
}
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = cruelty_opinion
|
|
opinion = -10
|
|
}
|
|
}
|
|
else_if = { # If they're brave, stubborn or chivalric they'll respect you for respecting their wishes
|
|
limit = {
|
|
scope:versus_contestant = {
|
|
OR = {
|
|
has_trait = brave
|
|
has_trait = stubborn
|
|
has_trait = gallant
|
|
}
|
|
}
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = tournament_respected_wishes_opinion
|
|
opinion = 30
|
|
}
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
add_prestige = miniscule_prestige_loss
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
option = { # Refuse to tilt against them
|
|
name = ep2_tournament_events.4005.b
|
|
|
|
flavor = ep2_tournament_events.4005.b.tt
|
|
|
|
if = { # If they're chivalric they'll respect you even more for being knightly
|
|
limit = {
|
|
scope:versus_contestant = {
|
|
has_trait = gallant
|
|
}
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = respect_opinion
|
|
opinion = 50
|
|
}
|
|
}
|
|
|
|
else_if = { # If they're not chivalric they'll still respect you
|
|
limit = {
|
|
scope:versus_contestant = {
|
|
NOT = {
|
|
has_trait = gallant
|
|
}
|
|
}
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = respect_opinion
|
|
opinion = 20
|
|
}
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
add_prestige = medium_prestige_gain
|
|
|
|
stress_impact = {
|
|
compassionate = medium_stress_impact_loss
|
|
sadistic = medium_stress_impact_gain
|
|
callous = medium_stress_impact_gain
|
|
just = medium_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = sadistic
|
|
has_trait = callous
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Tilt against them in an underhanded way that guarantees victory
|
|
name = ep2_tournament_events.4005.c
|
|
|
|
flavor = ep2_tournament_events.4005.c.tt
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
add_prestige = medium_prestige_loss
|
|
|
|
if = { # If they're chivalric they'll hate you you even more for being knightly
|
|
limit = {
|
|
scope:versus_contestant = {
|
|
has_trait = gallant
|
|
}
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = angry_opinion
|
|
opinion = -60
|
|
}
|
|
}
|
|
|
|
else_if = { # If they're not chivalric they'll still hate you, just less so
|
|
limit = {
|
|
scope:versus_contestant = {
|
|
NOT = {
|
|
has_trait = gallant
|
|
}
|
|
}
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = angry_opinion
|
|
opinion = -40
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
compassionate = medium_stress_impact_gain
|
|
sadistic = medium_stress_impact_loss
|
|
callous = medium_stress_impact_loss
|
|
just = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = compassionate
|
|
has_trait = just
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Your opponent asks for a mercy pass
|
|
ep2_tournament_events.4006 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.4006.t
|
|
desc = ep2_tournament_events.4006.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = jockey_lance_tilted
|
|
}
|
|
right_portrait = {
|
|
trigger = {
|
|
this != involved_activity.activity_host
|
|
}
|
|
character = scope:versus_contestant
|
|
animation = jockey_idle
|
|
}
|
|
cooldown = { months = 2 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_horse_flyby"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = joust ID = 4006 }
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_mercy_pass_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Show mercy
|
|
name = ep2_tournament_events.4006.a
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = tournament_mercy_opinion
|
|
opinion = 30
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
add_prestige = minor_prestige_gain
|
|
|
|
stress_impact = {
|
|
compassionate = medium_stress_impact_loss
|
|
sadistic = medium_stress_impact_gain
|
|
callous = medium_stress_impact_gain
|
|
just = medium_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = callous
|
|
has_trait = sadistic
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # No mercy
|
|
name = ep2_tournament_events.4006.b
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = cruelty_opinion
|
|
opinion = -30
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
stress_impact = {
|
|
compassionate = medium_stress_impact_gain
|
|
sadistic = medium_stress_impact_loss
|
|
callous = minor_stress_impact_loss
|
|
just = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = just
|
|
has_trait = compassionate
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Your opponent is mistreating their groom
|
|
ep2_tournament_events.4007 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.4007.t
|
|
desc = ep2_tournament_events.4007.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = jockey_idle
|
|
}
|
|
right_portrait = {
|
|
character = scope:groom
|
|
outfit_tags = { beggar_rags }
|
|
animation = admiration
|
|
}
|
|
lower_right_portrait = {
|
|
character = scope:versus_contestant
|
|
}
|
|
cooldown = { months = 2 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_negative_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = joust ID = 4007 }
|
|
create_character = {
|
|
location = root.location
|
|
faith = scope:versus_contestant.faith
|
|
culture = scope:versus_contestant.culture
|
|
random_traits_list = {
|
|
count = 1
|
|
education_martial_1 = {}
|
|
education_martial_2 = {}
|
|
}
|
|
dynasty = none
|
|
age = { 18 22 }
|
|
random_traits = yes
|
|
gender_female_chance = {
|
|
if = {
|
|
limit = { scope:versus_contestant.faith = { has_doctrine = doctrine_gender_male_dominated } }
|
|
add = 0
|
|
}
|
|
else_if = {
|
|
limit = { scope:versus_contestant.faith = { has_doctrine = doctrine_gender_female_dominated } }
|
|
add = 100
|
|
}
|
|
else = {
|
|
add = 50
|
|
}
|
|
}
|
|
save_scope_as = groom
|
|
}
|
|
}
|
|
|
|
|
|
option = { # Laugh at the groom
|
|
name = ep2_tournament_events.4007.a
|
|
|
|
trigger = {
|
|
has_trait = callous
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = tournament_agreed_opinion
|
|
opinion = 30
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = root
|
|
modifier = tournament_mocked_opinion
|
|
opinion = -30
|
|
}
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
gregarious = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
has_trait = gregarious
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Offer the groom a job
|
|
name = ep2_tournament_events.4007.b
|
|
|
|
flavor = ep2_tournament_events.4007.b.tt
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = angry_opinion
|
|
opinion = -30
|
|
}
|
|
|
|
scope:groom = {
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = angry_opinion
|
|
opinion = -30
|
|
}
|
|
}
|
|
|
|
add_courtier = scope:groom
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
option = { # Pay groom to unsettle opponent's horse
|
|
name = ep2_tournament_events.4007.c
|
|
|
|
flavor = ep2_tournament_events.4007.c.tt
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
scope:groom = {
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = angry_opinion
|
|
opinion = -50
|
|
}
|
|
}
|
|
|
|
pay_short_term_gold = {
|
|
target = scope:groom
|
|
gold = minor_gold_value
|
|
}
|
|
|
|
stress_impact = {
|
|
just = medium_stress_impact_gain
|
|
ambitious = minor_stress_impact_loss
|
|
greedy = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = just
|
|
has_trait = greedy
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Let it go
|
|
name = ep2_tournament_events.4007.d
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# Crowd heckles you
|
|
ep2_tournament_events.4008 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.4008.t
|
|
desc = ep2_tournament_events.4008.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
cooldown = { months = 2 }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = jockey_loss
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = jockey_lance_tilted
|
|
}
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_amb_2d_crowd_negative_reaction"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = joust ID = 4008 }
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_crowd_heckled_log
|
|
tags = { bad }
|
|
score = 5
|
|
character = root
|
|
}
|
|
}
|
|
}
|
|
|
|
# Continue with the contest
|
|
option = {
|
|
name = ep2_tournament_events.4008.a
|
|
random_list = {
|
|
45 = { #You win
|
|
|
|
modifier = { #Skill buff
|
|
add = 15
|
|
prowess > high_skill_rating
|
|
}
|
|
|
|
modifier = {
|
|
add = 10
|
|
has_trait = brave #Brave enough to ignore it
|
|
}
|
|
|
|
modifier = {
|
|
add = 10
|
|
has_trait = calm #Calm enough to ignore the abuse
|
|
}
|
|
|
|
modifier = {
|
|
add = -10
|
|
OR = {
|
|
has_trait = wrathful #Too angry to not care
|
|
has_trait = arrogant #How dare they!
|
|
has_trait = craven #Aaahhh, scary!
|
|
}
|
|
}
|
|
|
|
desc = ep2_tournament_events.4008.a.success
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.4008.a.success
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = horse
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
}
|
|
}
|
|
}
|
|
25 = { #You lose
|
|
|
|
desc = ep2_tournament_events.4008.a.failure
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.4008.a.failure
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_gain
|
|
}
|
|
}
|
|
}
|
|
15 = { #You get injured by the crowd throwing stuff at you
|
|
modifier = {
|
|
add = 10
|
|
has_trait = sadistic
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
has_trait = callous
|
|
}
|
|
modifier = {
|
|
add = 15
|
|
OR = {
|
|
has_trait = murderer
|
|
has_trait = incestuous
|
|
has_trait = sodomite
|
|
has_trait = cannibal
|
|
has_trait = deviant
|
|
has_trait = kinslayer
|
|
has_trait = adulterer
|
|
has_trait = fornicator
|
|
has_trait = excommunicated
|
|
}
|
|
}
|
|
|
|
desc = ep2_tournament_events.4008.a.criticalfailure
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.4008.a.criticalfailure
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
add_prestige = minor_prestige_loss
|
|
|
|
increase_wounds_effect = { REASON = fight }
|
|
|
|
random = {
|
|
chance = 25
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_trait = scarred
|
|
}
|
|
}
|
|
add_trait = scarred
|
|
}
|
|
add_trait_xp = {
|
|
trait = scarred
|
|
value = {
|
|
integer_range = {
|
|
min = 5
|
|
max = 25
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_gain
|
|
}
|
|
}
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
}
|
|
}
|
|
|
|
# Throw the contest
|
|
option = {
|
|
name = ep2_tournament_events.4008.b
|
|
|
|
add_prestige = minor_prestige_loss
|
|
|
|
tournament_contest_versus_resignation_effect = { RESIGNER = root CONTEST = joust SKILL = horse }
|
|
|
|
stress_impact = {
|
|
brave = medium_stress_impact_gain
|
|
craven = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
has_trait = brave
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Lend opponent a lance
|
|
ep2_tournament_events.4009 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.4009.t
|
|
desc = ep2_tournament_events.4009.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
cooldown = { months = 2 }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = jockey_lance_tilted
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = jockey_idle
|
|
}
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_horse_neigh"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = joust ID = 4009 }
|
|
}
|
|
|
|
# Mock them
|
|
option = {
|
|
name = ep2_tournament_events.4009.a
|
|
trigger = {
|
|
OR = {
|
|
has_trait = sadistic
|
|
has_trait = arrogant
|
|
}
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_contest_mockery
|
|
CHARACTER = scope:hapless_knight
|
|
OPINION = default_rival_opinion
|
|
}
|
|
|
|
stress_impact = {
|
|
sadistic = minor_stress_impact_loss
|
|
arrogant = minor_stress_impact_loss
|
|
just = medium_stress_impact_loss
|
|
gregarious = medium_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = just
|
|
has_trait = gregarious
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Lend them a lance
|
|
option = {
|
|
name = ep2_tournament_events.4009.b
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
add_prestige = medium_prestige_gain
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_lent_lance_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = grateful_opinion
|
|
opinion = 30
|
|
}
|
|
|
|
stress_impact = {
|
|
compassionate = minor_stress_impact_loss
|
|
generous = minor_stress_impact_loss
|
|
just = minor_stress_impact_loss
|
|
arbitrary = minor_stress_impact_gain
|
|
callous = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = callous
|
|
has_trait = arbitrary
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Continue
|
|
option = {
|
|
name = ep2_tournament_events.4009.c
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
add_prestige = minor_prestige_loss
|
|
|
|
stress_impact = {
|
|
compassionate = minor_stress_impact_gain
|
|
generous = minor_stress_impact_gain
|
|
just = minor_stress_impact_gain
|
|
arbitrary = minor_stress_impact_loss
|
|
callous = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = compassionate
|
|
has_trait = generous
|
|
has_trait = just
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#################
|
|
### RECITAL ###
|
|
##################
|
|
|
|
# Previous entrant's verse is similar to yours
|
|
ep2_tournament_events.5501 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.5501.t
|
|
desc = ep2_tournament_events.5501.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = worry
|
|
}
|
|
right_portrait = {
|
|
character = scope:enemy
|
|
animation = scheme
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
exists = var:contest_aptitude
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
this = root
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
this != root
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_positive_reaction"
|
|
scope:activity = {
|
|
random_guest_subset_current_phase = {
|
|
name = qualified
|
|
limit = { contest_event_general_contestant_valid_trigger = yes }
|
|
save_scope_as = enemy
|
|
}
|
|
}
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = recital ID = 5501 }
|
|
}
|
|
|
|
# Show them it's all about the delivery
|
|
option = {
|
|
name = ep2_tournament_events.5501.a
|
|
trigger = {
|
|
OR = {
|
|
has_trait = lifestyle_poet
|
|
has_trait = education_learning_3
|
|
has_trait = education_learning_4
|
|
has_trait = education_learning_5
|
|
has_trait = shrewd
|
|
}
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = wit
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
arrogant = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
# Improvise
|
|
option = {
|
|
name = ep2_tournament_events.5501.b
|
|
|
|
random_list = {
|
|
9 = { #It goes well
|
|
|
|
modifier = { #Skill buff
|
|
add = 15
|
|
diplomacy > high_skill_rating
|
|
}
|
|
|
|
modifier = { #Big buff if you're a poet
|
|
add = 15
|
|
has_trait = lifestyle_poet
|
|
}
|
|
|
|
modifier = { #More diplo!
|
|
add = 10
|
|
OR = {
|
|
has_trait = education_learning_3
|
|
has_trait = education_learning_4
|
|
has_trait = education_learning_5
|
|
}
|
|
}
|
|
|
|
modifier = { #Being learned helps
|
|
add = 5
|
|
learning > high_skill_rating
|
|
}
|
|
|
|
modifier = { #Always good to be an extrovert in these situations
|
|
add = 5
|
|
has_trait = gregarious
|
|
}
|
|
|
|
modifier = { #Blanket coverage for smarts
|
|
add = 5
|
|
OR = {
|
|
has_trait = shrewd
|
|
has_trait = intellect_good
|
|
}
|
|
}
|
|
|
|
desc = ep2_tournament_events.5501.b.success
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.5501.b.success
|
|
left_icon = root
|
|
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 = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
}
|
|
}
|
|
}
|
|
10 = { #It doesn't go well
|
|
|
|
desc = ep2_tournament_events.5501.b.failure
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.5501.b.failure
|
|
left_icon = root
|
|
right_icon = scope:enemy
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_gain
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
# Protest
|
|
option = {
|
|
name = ep2_tournament_events.5501.c
|
|
|
|
add_prestige = minor_prestige_loss
|
|
|
|
duel = {
|
|
skills = { diplomacy intrigue }
|
|
target = scope:enemy
|
|
#They DID plan it!
|
|
40 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.5501.c.success
|
|
left_icon = root
|
|
right_icon = scope:enemy
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
add_prestige = minor_prestige_gain
|
|
}
|
|
|
|
desc = ep2_tournament_events.5501.c.success
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
paranoid = major_stress_impact_loss #I KNEW IT!
|
|
just = minor_stress_impact_loss
|
|
}
|
|
}
|
|
#You look like a fool
|
|
60 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.5501.c.failure
|
|
left_icon = root
|
|
right_icon = scope:enemy
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
add_prestige = minor_prestige_loss
|
|
}
|
|
|
|
desc = ep2_tournament_events.5501.c.failure
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_gain
|
|
paranoid = medium_stress_impact_gain
|
|
just = medium_stress_impact_gain
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# Contestant plagiarises verse
|
|
ep2_tournament_events.5502 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.5502.t
|
|
desc = {
|
|
desc = ep2_tournament_events.5502.start
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:contestant = {
|
|
has_friendly_relationship_trigger = {
|
|
CHARACTER = root
|
|
}
|
|
culture != scope:activity.activity_location.culture
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.5502.friend
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:contestant = {
|
|
culture != scope:activity.activity_location.culture
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.5502.culture
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.5502.end
|
|
}
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = worry
|
|
}
|
|
right_portrait = {
|
|
character = scope:contestant
|
|
animation = shock
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
culture != scope:activity.activity_location.culture
|
|
this != root
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_negative_reaction"
|
|
scope:activity = {
|
|
random_guest_subset_current_phase = {
|
|
name = qualified
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
culture != scope:activity.activity_location.culture
|
|
}
|
|
save_scope_as = contestant
|
|
}
|
|
}
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = recital ID = 5502 }
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_plagiarism_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:versus_contestant
|
|
}
|
|
}
|
|
}
|
|
|
|
# This isn't their fault!
|
|
option = {
|
|
name = ep2_tournament_events.5502.a
|
|
|
|
duel = {
|
|
skills = { diplomacy }
|
|
value = decent_skill_rating
|
|
|
|
#You convince the crowd
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.5502.c.success
|
|
left_icon = root
|
|
right_icon = scope:contestant
|
|
|
|
scope:contestant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
add_opinion = {
|
|
target = root
|
|
modifier = grateful_opinion
|
|
opinion = 35
|
|
}
|
|
}
|
|
}
|
|
|
|
desc = ep2_tournament_events.5502.c.success
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
gregarious = miniscule_stress_impact_loss
|
|
just = minor_stress_impact_loss
|
|
lazy = minor_stress_impact_gain
|
|
callous = medium_stress_impact_gain
|
|
}
|
|
}
|
|
|
|
#The crowd turn against them
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.5502.c.failure
|
|
left_icon = root
|
|
right_icon = scope:contestant
|
|
|
|
scope:contestant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
}
|
|
}
|
|
|
|
desc = ep2_tournament_events.5502.c.failure
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_gain
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Join in with the booing
|
|
option = {
|
|
name = ep2_tournament_events.5502.b
|
|
|
|
scope:contestant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
add_prestige = minor_prestige_loss
|
|
}
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_recital_booing
|
|
CHARACTER = scope:contestant
|
|
OPINION = default_rival_opinion
|
|
}
|
|
|
|
stress_impact = {
|
|
gregarious = minor_stress_impact_gain
|
|
just = medium_stress_impact_gain
|
|
lazy = miniscule_stress_impact_loss
|
|
callous = miniscule_stress_impact_loss
|
|
ambitious = miniscule_stress_impact_loss
|
|
honest = major_stress_impact_gain
|
|
deceitful = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = just
|
|
has_trait = honest
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Leave the contestant to suffer
|
|
option = {
|
|
name = ep2_tournament_events.5502.c
|
|
|
|
scope:contestant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
}
|
|
|
|
stress_impact = {
|
|
gregarious = miniscule_stress_impact_gain
|
|
just = miniscule_stress_impact_gain
|
|
honest = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
has_trait = honest
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Stage fright
|
|
ep2_tournament_events.5503 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.5503.t
|
|
desc = {
|
|
desc = ep2_tournament_events.5503.desc
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
OR = {
|
|
has_trait = avaricious
|
|
has_trait = education_stewardship_3
|
|
has_trait = education_stewardship_4
|
|
has_trait = education_stewardship_5
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.5503.rich
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
OR = {
|
|
has_trait = seducer
|
|
AND = {
|
|
has_trait = deviant
|
|
has_trait = lustful
|
|
}
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.5503.seducer
|
|
}
|
|
triggered_desc = {
|
|
desc = ep2_tournament_events.5503.fallback
|
|
}
|
|
}
|
|
}
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = shock
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
exists = var:contest_aptitude
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
this = root
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_surprise_reaction"
|
|
scope:activity = {
|
|
random_guest_subset_current_phase = {
|
|
name = qualified
|
|
limit = { contest_event_general_contestant_valid_trigger = yes }
|
|
save_scope_as = contestant
|
|
}
|
|
}
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = recital ID = 5503 }
|
|
}
|
|
|
|
# Fall back on a stock poem
|
|
option = {
|
|
name = ep2_tournament_events.5503.a
|
|
trigger = {
|
|
has_trait = lifestyle_poet
|
|
}
|
|
|
|
flavor = ep2_tournament_events.5503.a.tt
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = wit
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 200
|
|
}
|
|
}
|
|
|
|
# Behold! Free coin!
|
|
option = {
|
|
name = ep2_tournament_events.5503.b
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = avaricious
|
|
has_trait = education_stewardship_3
|
|
has_trait = education_stewardship_4
|
|
has_trait = education_stewardship_5
|
|
}
|
|
}
|
|
|
|
flavor = ep2_tournament_events.5503.b.tt
|
|
|
|
remove_short_term_gold = tiny_gold_value
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
greedy = major_stress_impact_gain
|
|
generous = minor_stress_impact_loss
|
|
just = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 200
|
|
}
|
|
}
|
|
|
|
# Give the crowd what they want
|
|
option = {
|
|
name = ep2_tournament_events.5503.c
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = seducer
|
|
AND = {
|
|
has_trait = deviant
|
|
has_trait = lustful
|
|
}
|
|
}
|
|
}
|
|
|
|
flavor = ep2_tournament_events.5503.c.tt
|
|
|
|
if = {
|
|
limit = {
|
|
faith = {
|
|
NOR = {
|
|
trait_is_virtue = lustful
|
|
trait_is_sin = lustful
|
|
}
|
|
}
|
|
}
|
|
add_prestige = minor_prestige_loss
|
|
add_character_modifier = {
|
|
modifier = tournament_performative_sensuousness_modifier
|
|
years = 5
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
faith = {
|
|
trait_is_sin = lustful
|
|
}
|
|
}
|
|
add_piety = medium_piety_loss
|
|
add_character_modifier = {
|
|
modifier = tournament_performative_sensuousness_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
ai_chance = {
|
|
base = 200
|
|
}
|
|
}
|
|
|
|
# Distract the crowd
|
|
option = {
|
|
name = ep2_tournament_events.5503.d
|
|
|
|
duel = {
|
|
skills = { intrigue diplomacy }
|
|
value = decent_skill_rating
|
|
#You successfully distract the crowd
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.5503.d.win
|
|
left_icon = root
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
}
|
|
|
|
desc = ep2_tournament_events.5503.d.win
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
deceitful = minor_stress_impact_loss
|
|
}
|
|
}
|
|
#The crowd aren't fooled
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.5503.d.lose
|
|
left_icon = root
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
|
|
desc = ep2_tournament_events.5503.d.lose
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_gain
|
|
arrogant = minor_stress_impact_gain
|
|
shy = minor_stress_impact_gain
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Try and fail
|
|
option = {
|
|
name = ep2_tournament_events.5503.e
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_gain
|
|
arrogant = minor_stress_impact_gain
|
|
shy = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# A downpour begins
|
|
ep2_tournament_events.5504 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.5504.t
|
|
desc = ep2_tournament_events.5504.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = worry
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
exists = var:contest_aptitude
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
this = root
|
|
}
|
|
activity_location = { is_drylands_or_desert_trigger = no }
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_negative_reaction"
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = recital ID = 5504 }
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_downpour_begins_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
}
|
|
}
|
|
}
|
|
|
|
# Continue
|
|
option = {
|
|
name = ep2_tournament_events.5504.a
|
|
|
|
duel = {
|
|
skills = { diplomacy }
|
|
value = decent_skill_rating
|
|
|
|
50 = { #You utilise the rain successfully
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
modifier = { #Skill buff
|
|
add = 15
|
|
diplomacy > high_skill_rating
|
|
}
|
|
|
|
modifier = { #Big buff if you're a poet
|
|
add = 15
|
|
has_trait = lifestyle_poet
|
|
}
|
|
|
|
modifier = { #More diplo!
|
|
add = 10
|
|
OR = {
|
|
has_trait = education_learning_3
|
|
has_trait = education_learning_4
|
|
has_trait = education_learning_5
|
|
}
|
|
}
|
|
|
|
modifier = { #Being learned helps
|
|
add = 5
|
|
learning > high_skill_rating
|
|
}
|
|
|
|
modifier = { #Not scared of a bit of thunder
|
|
add = 5
|
|
has_trait = brave
|
|
}
|
|
|
|
modifier = { #Blanket coverage for smarts
|
|
add = 5
|
|
OR = {
|
|
has_trait = shrewd
|
|
has_trait = intellect_good
|
|
}
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.5504.a.success
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = wit
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
}
|
|
|
|
desc = ep2_tournament_events.5504.a.success
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
brave = miniscule_stress_impact_loss
|
|
}
|
|
}
|
|
|
|
50 = { #You are drowned out by the downpour
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
modifier = { #Skill debuff
|
|
add = -10
|
|
diplomacy < high_skill_rating
|
|
}
|
|
|
|
modifier = { #Aaahhhh, loud noises!
|
|
add = -5
|
|
has_trait = craven
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.5504.a.failure
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
}
|
|
|
|
|
|
desc = ep2_tournament_events.5504.a.failure
|
|
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_gain
|
|
craven = medium_stress_impact_gain
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Run away scared
|
|
option = {
|
|
name = ep2_tournament_events.5504.b
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
stress_impact = {
|
|
brave = medium_stress_impact_gain
|
|
shy = miniscule_stress_impact_loss
|
|
craven = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
has_trait = brave
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# You see a chance to insult an opponent
|
|
ep2_tournament_events.5505 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.5505.t
|
|
desc = {
|
|
desc = ep2_tournament_events.5505.desc
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:enemy = {
|
|
AND = {
|
|
is_female = no
|
|
OR = {
|
|
has_trait = chaste
|
|
has_trait = celibate
|
|
}
|
|
}
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.5505.start.malevirgin
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:enemy = {
|
|
AND = {
|
|
is_female = yes
|
|
OR = {
|
|
has_trait = chaste
|
|
has_trait = celibate
|
|
}
|
|
}
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.5505.start.femalevirgin
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:enemy = {
|
|
age > 60
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.5505.start.old
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:enemy = {
|
|
current_weight > 50
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.5505.start.fat
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:enemy = {
|
|
has_trait = compassionate
|
|
}
|
|
NOT = {
|
|
has_trait = compassionate
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.5505.start.soft
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
has_trait = compassionate
|
|
}
|
|
desc = ep2_tournament_events.5505.start.compassionate
|
|
}
|
|
triggered_desc = {
|
|
desc = ep2_tournament_events.5505.start.fallback
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.5505.end
|
|
}
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = happiness
|
|
}
|
|
right_portrait = {
|
|
character = scope:enemy
|
|
animation = anger
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
exists = var:contest_aptitude
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
this = root
|
|
}
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
this != root
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Ambience/2D/ep2_amb_2d_crowd_surprise_reaction"
|
|
scope:activity = {
|
|
random_guest_subset_current_phase = {
|
|
name = qualified
|
|
limit = { contest_event_general_contestant_valid_trigger = yes }
|
|
save_scope_as = enemy
|
|
}
|
|
}
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = recital ID = 5505 }
|
|
}
|
|
|
|
# Call them a virgin
|
|
option = {
|
|
name = ep2_tournament_events.5505.maidenless
|
|
trigger = {
|
|
scope:enemy = {
|
|
OR = {
|
|
has_trait = chaste
|
|
has_trait = celibate
|
|
}
|
|
}
|
|
}
|
|
|
|
add_internal_flag = special
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = wit
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_recital_insult
|
|
CHARACTER = scope:enemy
|
|
OPINION = default_rival_opinion
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_insulted_opponent_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:enemy
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
chaste = medium_stress_impact_gain
|
|
celibate = medium_stress_impact_gain
|
|
sadistic = minor_stress_impact_loss
|
|
arrogant = minor_stress_impact_loss
|
|
gregarious = medium_stress_impact_gain
|
|
compassionate = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = compassionate
|
|
has_trait = gregarious
|
|
has_trait = chaste
|
|
has_trait = celibate
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Call them old
|
|
option = {
|
|
name = ep2_tournament_events.5505.old
|
|
trigger = {
|
|
scope:enemy = {
|
|
age > 60
|
|
}
|
|
}
|
|
|
|
add_internal_flag = special
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = wit
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_recital_insult
|
|
CHARACTER = scope:enemy
|
|
OPINION = default_rival_opinion
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_insulted_opponent_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:enemy
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
sadistic = minor_stress_impact_loss
|
|
arrogant = minor_stress_impact_loss
|
|
gregarious = medium_stress_impact_gain
|
|
compassionate = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = compassionate
|
|
has_trait = gregarious
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Call them fat
|
|
option = {
|
|
name = ep2_tournament_events.5505.fat
|
|
trigger = {
|
|
scope:enemy = {
|
|
current_weight > 50
|
|
}
|
|
NOT = {
|
|
current_weight > 50
|
|
}
|
|
}
|
|
|
|
add_internal_flag = special
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = wit
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_recital_insult
|
|
CHARACTER = scope:enemy
|
|
OPINION = default_rival_opinion
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_insulted_opponent_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:enemy
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
sadistic = minor_stress_impact_loss
|
|
arrogant = minor_stress_impact_loss
|
|
gregarious = medium_stress_impact_gain
|
|
compassionate = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = compassionate
|
|
has_trait = gregarious
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Try, and fail, to insult them
|
|
option = {
|
|
name = ep2_tournament_events.5505.idiot
|
|
trigger = {
|
|
OR = {
|
|
has_trait = dull
|
|
has_trait = intellect_bad
|
|
}
|
|
}
|
|
|
|
add_internal_flag = special
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:enemy
|
|
modifier = tournament_confused_opinion
|
|
opinion = -5
|
|
}
|
|
|
|
stress_impact = {
|
|
base = medium_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Imply you'll flay them
|
|
option = {
|
|
name = ep2_tournament_events.5505.torturer
|
|
trigger = {
|
|
has_trait = torturer
|
|
}
|
|
|
|
add_internal_flag = special
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_recital_insult
|
|
CHARACTER = scope:enemy
|
|
OPINION = default_rival_opinion
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = wit
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:enemy
|
|
modifier = disgusted_opinion
|
|
opinion = -40
|
|
}
|
|
|
|
every_close_family_member = {
|
|
custom = ep2_tournament_events.5505.opinion.tt
|
|
limit = {
|
|
NOT = {
|
|
has_trait = sadistic
|
|
}
|
|
location = root.location
|
|
}
|
|
add_opinion = {
|
|
target = root
|
|
opinion = -20
|
|
modifier = disgusted_opinion
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
sadistic = medium_stress_impact_loss
|
|
gregarious = major_stress_impact_gain
|
|
compassionate = major_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = compassionate
|
|
has_trait = gregarious
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Be nice
|
|
option = {
|
|
name = ep2_tournament_events.5505.compassionate
|
|
|
|
trigger = {
|
|
has_trait = compassionate
|
|
}
|
|
|
|
add_internal_flag = special
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_recital_compliment
|
|
CHARACTER = scope:enemy
|
|
OPINION = default_friend_opinion
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = wit
|
|
value = tournament_hastiludes_xp_gain_minor_value
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
sadistic = medium_stress_impact_gain
|
|
arrogant = medium_stress_impact_gain
|
|
compassionate = minor_stress_impact_loss
|
|
gregarious = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = sadistic
|
|
has_trait = arrogant
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Insult them
|
|
option = {
|
|
name = ep2_tournament_events.5505.fallback
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_minor }
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_recital_insult
|
|
CHARACTER = scope:enemy
|
|
OPINION = default_rival_opinion
|
|
}
|
|
|
|
stress_impact = {
|
|
compassionate = medium_stress_impact_gain
|
|
humble = medium_stress_impact_gain
|
|
gregarious = minor_stress_impact_gain
|
|
}
|
|
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_insulted_opponent_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
target = scope:enemy
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = compassionate
|
|
has_trait = gregarious
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# ...never mind
|
|
option = {
|
|
name = ep2_tournament_events.5505.getout
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
stress_impact = {
|
|
sadistic = medium_stress_impact_gain
|
|
arrogant = medium_stress_impact_gain
|
|
compassionate = minor_stress_impact_loss
|
|
gregarious = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = sadistic
|
|
has_trait = arrogant
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#########################
|
|
### HONSE RANCING ###
|
|
#########################
|
|
|
|
# Choose your ~~fighter~~ jockey
|
|
ep2_tournament_events.4500 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.4500.t
|
|
desc = {
|
|
desc = ep2_tournament_events.4500.desc
|
|
triggered_desc = { # Knight
|
|
trigger = {
|
|
scope:jockey1 = {
|
|
is_knight_of = root
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.4500.knight
|
|
}
|
|
triggered_desc = { # Guest
|
|
trigger = {
|
|
scope:jockey1 = {
|
|
is_knight_of = root
|
|
}
|
|
scope:jockey2 = { is_in_the_same_court_as_or_guest = root }
|
|
}
|
|
desc = ep2_tournament_events.4500.guest
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:jockey1 = {
|
|
is_knight_of = root
|
|
}
|
|
scope:jockey2 = {
|
|
is_in_the_same_court_as_or_guest = root
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.4500.nobody
|
|
}
|
|
triggered_desc = { # Nobody
|
|
trigger = {
|
|
NOR = {
|
|
scope:jockey1 = {
|
|
is_knight_of = root
|
|
}
|
|
scope:jockey2 = {
|
|
is_in_the_same_court_as_or_guest = root
|
|
}
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.4500.fallback
|
|
}
|
|
}
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = worry
|
|
}
|
|
right_portrait = scope:jockey1
|
|
lower_right_portrait = scope:jockey2
|
|
lower_left_portrait = scope:jockey3
|
|
|
|
trigger = {
|
|
is_ai = no
|
|
}
|
|
|
|
immediate = {
|
|
#Knight
|
|
if = {
|
|
limit = {
|
|
any_knight = {
|
|
location = root.location
|
|
is_participant_in_activity = scope:activity
|
|
is_adult = yes
|
|
is_landed = no
|
|
is_healthy = yes
|
|
NOT = {
|
|
is_in_guest_subset = { name = qualified }
|
|
}
|
|
}
|
|
}
|
|
random_knight = {
|
|
limit = {
|
|
location = root.location
|
|
is_participant_in_activity = scope:activity
|
|
is_adult = yes
|
|
is_landed = no
|
|
is_healthy = yes
|
|
NOT = {
|
|
is_in_guest_subset = { name = qualified }
|
|
}
|
|
}
|
|
weight = {
|
|
base = 1
|
|
modifier = { add = prowess }
|
|
}
|
|
save_scope_as = jockey1
|
|
}
|
|
}
|
|
else = {
|
|
create_character = {
|
|
template = tournament_locale_character
|
|
culture = root.location.culture
|
|
faith = root.location.faith
|
|
location = root.location
|
|
gender_female_chance = root_soldier_female_chance
|
|
save_scope_as = jockey1
|
|
}
|
|
scope:jockey1 = {
|
|
add_character_flag = generated_jockey
|
|
add_to_list = potential_jockeys
|
|
}
|
|
}
|
|
# Courtiers/Guests
|
|
if = {
|
|
limit = {
|
|
any_courtier_or_guest = {
|
|
location = root.location
|
|
is_participant_in_activity = scope:activity
|
|
is_adult = yes
|
|
is_healthy = yes
|
|
NOR = {
|
|
is_in_guest_subset = { name = qualified }
|
|
this = scope:jockey1
|
|
is_spouse_of = root
|
|
is_concubine = yes
|
|
}
|
|
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = scope:host }
|
|
}
|
|
}
|
|
random_courtier_or_guest = {
|
|
limit = {
|
|
location = root.location
|
|
is_participant_in_activity = scope:activity
|
|
is_adult = yes
|
|
is_healthy = yes
|
|
NOR = {
|
|
is_in_guest_subset = { name = qualified }
|
|
this = scope:jockey1
|
|
is_spouse_of = root
|
|
is_concubine = yes
|
|
}
|
|
}
|
|
weight = {
|
|
base = 1
|
|
modifier = { add = prowess }
|
|
}
|
|
save_scope_as = jockey2
|
|
}
|
|
}
|
|
else = {
|
|
create_character = {
|
|
template = tournament_locale_character
|
|
culture = root.location.culture
|
|
faith = root.location.faith
|
|
location = root.location
|
|
gender_female_chance = root_soldier_female_chance
|
|
save_scope_as = jockey2
|
|
}
|
|
scope:jockey2 = {
|
|
add_character_flag = generated_jockey
|
|
add_to_list = potential_jockeys
|
|
}
|
|
}
|
|
#Randos
|
|
create_character = {
|
|
template = tournament_locale_character
|
|
culture = root.location.culture
|
|
faith = root.location.faith
|
|
location = root.location
|
|
gender_female_chance = root_soldier_female_chance
|
|
save_scope_as = jockey3
|
|
}
|
|
scope:jockey3 = {
|
|
add_character_flag = generated_jockey
|
|
add_to_list = potential_jockeys
|
|
}
|
|
}
|
|
|
|
# Choose Jockey 1
|
|
option = {
|
|
name = ep2_tournament_events.4500.a
|
|
flavor = ep2_tournament_events.4500.knight.tt
|
|
scope:jockey1 = {
|
|
tournament_choose_jockey_effect = yes
|
|
accolade_medium_glory_gain_with_checks_effect = yes
|
|
}
|
|
ai_chance = {
|
|
base = 1
|
|
modifier = { add = scope:jockey1.contest_horse_aptitude_value }
|
|
}
|
|
}
|
|
# Choose Jockey 2
|
|
option = {
|
|
name = ep2_tournament_events.4500.b
|
|
flavor = ep2_tournament_events.4500.guest.tt
|
|
scope:jockey2 = {
|
|
tournament_choose_jockey_effect = yes
|
|
accolade_medium_glory_gain_with_checks_effect = yes
|
|
}
|
|
ai_chance = {
|
|
base = 1
|
|
modifier = { add = scope:jockey2.contest_horse_aptitude_value }
|
|
}
|
|
}
|
|
# Choose Jockey 3
|
|
option = {
|
|
name = ep2_tournament_events.4500.c
|
|
flavor = ep2_tournament_events.4500.nobody.tt
|
|
scope:jockey3 = {
|
|
tournament_choose_jockey_effect = yes
|
|
accolade_medium_glory_gain_with_checks_effect = yes
|
|
}
|
|
ai_chance = {
|
|
base = 1
|
|
modifier = { add = scope:jockey3.contest_horse_aptitude_value }
|
|
}
|
|
}
|
|
|
|
after = {
|
|
# Cull spare jockeys
|
|
every_in_list = {
|
|
list = potential_jockeys
|
|
limit = {
|
|
has_character_flag = generated_jockey
|
|
NOT = { root.var:horse_race_jockey ?= this }
|
|
}
|
|
silent_disappearance_effect = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
#########################
|
|
### EXTRA ARCHERY ###
|
|
#########################
|
|
|
|
# You try to liven up the Contest
|
|
# Archery
|
|
ep2_tournament_events.6501 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.6501.t
|
|
desc = ep2_tournament_events.6501.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = bow_closed
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
exists = var:contest_aptitude
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
name = qualified
|
|
this = root
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_arrow_flyby"
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = archery ID = 6501 }
|
|
}
|
|
|
|
# Stand on one leg a fencepost
|
|
option = {
|
|
name = ep2_tournament_events.6501.a
|
|
trigger = {
|
|
has_trait = arrogant
|
|
}
|
|
|
|
duel = {
|
|
skill = prowess
|
|
value = high_skill_rating
|
|
#You succeed!
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
modifier = { # I'm used to this :sunglasses:
|
|
factor = 2
|
|
has_trait = one_legged
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.6501.a.tt.win
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_major }
|
|
|
|
add_prestige = major_prestige_value
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = bow
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
location = {
|
|
OR = {
|
|
geographical_region = world_europe
|
|
geographical_region = world_asia_minor
|
|
}
|
|
}
|
|
OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion }
|
|
}
|
|
}
|
|
give_nickname = nick_monopod
|
|
}
|
|
else = {
|
|
give_nickname = nick_sure_footed
|
|
}
|
|
|
|
desc = ep2_tournament_events.6501.a.tt.win
|
|
|
|
stress_impact = {
|
|
arrogant = medium_stress_impact_loss
|
|
shy = medium_stress_impact_gain
|
|
brave = minor_stress_impact_loss
|
|
stubborn = minor_stress_impact_loss
|
|
}
|
|
}
|
|
#You slip and fall
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.6501.a.tt.lose
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
increase_wounds_effect = { REASON = wounds }
|
|
}
|
|
|
|
desc = ep2_tournament_events.6501.a.tt.lose
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_gain
|
|
arrogant = major_stress_impact_gain
|
|
}
|
|
}
|
|
}
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_archery_livened_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
}
|
|
}
|
|
stress_impact = {
|
|
craven = minor_stress_impact_gain
|
|
shy = minor_stress_impact_gain
|
|
humble = minor_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 30
|
|
}
|
|
}
|
|
|
|
# Try to fire an arrow blindfolded
|
|
option = {
|
|
name = ep2_tournament_events.6501.b
|
|
duel = {
|
|
skill = prowess
|
|
value = high_skill_rating
|
|
#You succeed!
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.6501.b.tt.win
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
add_prestige = medium_prestige_value
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = bow
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
}
|
|
|
|
desc = ep2_tournament_events.6501.b.tt.win
|
|
|
|
stress_impact = {
|
|
arrogant = minor_stress_impact_loss
|
|
shy = minor_stress_impact_gain
|
|
brave = miniscule_stress_impact_loss
|
|
stubborn = miniscule_stress_impact_loss
|
|
}
|
|
}
|
|
#You slip and fall
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.6501.a.tt.lose
|
|
left_icon = root
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
add_prestige = minor_prestige_loss
|
|
}
|
|
|
|
desc = ep2_tournament_events.6501.b.tt.lose
|
|
|
|
stress_impact = {
|
|
arrogant = medium_stress_impact_gain
|
|
}
|
|
}
|
|
}
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_archery_livened_log
|
|
tags = { good }
|
|
score = 5
|
|
character = root
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Leave it
|
|
option = {
|
|
name = ep2_tournament_events.6501.c
|
|
stress_impact = {
|
|
stubborn = minor_stress_impact_gain
|
|
arrogant = minor_stress_impact_gain
|
|
ambitious = minor_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# A competitor injures themself
|
|
# Joust
|
|
ep2_tournament_events.6502 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.6502.t
|
|
desc = ep2_tournament_events.6502.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_honorable
|
|
}
|
|
right_portrait = {
|
|
character = scope:versus_contestant
|
|
animation = loss_1
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
contest_versus_player_vs_ai_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_male_grunts"
|
|
contest_versus_player_vs_ai_scope_effect = yes
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = joust ID = 6502 }
|
|
random_court_position_holder = {
|
|
type = court_physician_court_position
|
|
save_scope_as = physician
|
|
}
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_joust_injury_log
|
|
tags = { bad }
|
|
score = 5
|
|
character = scope:versus_contestant
|
|
}
|
|
}
|
|
}
|
|
|
|
# Slyly delight in their fall and injure them further
|
|
option = {
|
|
name = ep2_tournament_events.6502.a
|
|
trigger = {
|
|
OR = {
|
|
has_trait = sadistic
|
|
has_trait = callous
|
|
}
|
|
}
|
|
|
|
flavor = ep2_tournament_events.6502.a.tt
|
|
|
|
activity_tournament_change_contestant_score_effect = { SCORE = increase_medium }
|
|
|
|
scope:versus_contestant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
increase_wounds_no_death_effect = { REASON = wounds }
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_trait = scarred
|
|
}
|
|
}
|
|
add_trait = scarred
|
|
}
|
|
add_trait_xp = {
|
|
trait = scarred
|
|
value = {
|
|
integer_range = {
|
|
min = 5
|
|
max = 65
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = hurt_opinion
|
|
opinion = -40
|
|
}
|
|
|
|
stress_impact = {
|
|
sadistic = miniscule_stress_impact_loss
|
|
callous = miniscule_stress_impact_loss
|
|
just = medium_stress_impact_gain
|
|
gregarious = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = just
|
|
has_trait = gregarious
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Fetch your doctor
|
|
option = {
|
|
name = ep2_tournament_events.6502.b
|
|
|
|
trigger = {
|
|
court_physician_available_trigger = yes
|
|
}
|
|
|
|
add_prestige = minor_prestige_gain
|
|
|
|
random_list = {
|
|
#Your physician does well
|
|
2 = {
|
|
modifier = {
|
|
add = 5
|
|
scope:physician = {
|
|
learning > average_skill_rating
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
scope:physician = {
|
|
learning > high_skill_rating
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
scope:physician = {
|
|
has_trait = lifestyle_herbalist
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 20
|
|
scope:physician = {
|
|
has_trait = lifestyle_physician
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.6502.b.tt.success
|
|
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.6502.b.tt.success
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = grateful_opinion
|
|
opinion = 30
|
|
}
|
|
}
|
|
}
|
|
#Your physician doesn't do so hot
|
|
10 = {
|
|
modifier = {
|
|
add = 5
|
|
scope:physician = {
|
|
learning < average_skill_rating
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 10
|
|
scope:physician = {
|
|
learning < high_skill_rating
|
|
}
|
|
}
|
|
desc = ep2_tournament_events.6502.b.tt.failure
|
|
send_interface_toast = {
|
|
title = ep2_tournament_events.6502.b.tt.failure
|
|
left_icon = root
|
|
right_icon = scope:versus_contestant
|
|
|
|
scope:competitor = {
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
scope:versus_contestant = {
|
|
has_trait = scarred
|
|
}
|
|
}
|
|
}
|
|
add_trait = scarred
|
|
}
|
|
add_trait_xp = {
|
|
trait = scarred
|
|
value = {
|
|
integer_range = {
|
|
min = 5
|
|
max = 25
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:versus_contestant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:versus_contestant
|
|
modifier = grateful_opinion
|
|
opinion = 20
|
|
}
|
|
|
|
stress_impact = {
|
|
compassionate = miniscule_stress_impact_loss
|
|
generous = miniscule_stress_impact_loss
|
|
just = miniscule_stress_impact_loss
|
|
callous = minor_stress_impact_gain
|
|
arbitrary = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
|
|
modifier = {
|
|
factor = 0
|
|
OR = {
|
|
has_trait = callous
|
|
has_trait = arbitrary
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Help them up
|
|
option = {
|
|
name = ep2_tournament_events.6502.c
|
|
|
|
trigger = {
|
|
NOT = {
|
|
has_trait = callous
|
|
has_trait = sadistic
|
|
}
|
|
}
|
|
|
|
scope:versus_contestant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
increase_wounds_no_death_effect = { REASON = wounds }
|
|
}
|
|
|
|
add_prestige = minor_prestige_gain
|
|
|
|
stress_impact = {
|
|
compassionate = miniscule_stress_impact_loss
|
|
generous = miniscule_stress_impact_loss
|
|
just = miniscule_stress_impact_loss
|
|
arbitrary = minor_stress_impact_gain
|
|
callous = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Shake your head and move on
|
|
option = {
|
|
name = ep2_tournament_events.6502.d
|
|
|
|
scope:versus_contestant = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
increase_wounds_no_death_effect = { REASON = wounds }
|
|
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_trait = scarred
|
|
}
|
|
}
|
|
add_trait = scarred
|
|
}
|
|
add_trait_xp = {
|
|
trait = scarred
|
|
value = {
|
|
integer_range = {
|
|
min = 5
|
|
max = 25
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
compassionate = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# A wayward arrow hits a bystander
|
|
# Archery
|
|
ep2_tournament_events.6503 = {
|
|
type = activity_event
|
|
title = ep2_tournament_events.6503.t
|
|
desc = ep2_tournament_events.6503.desc
|
|
window = widget_activity_locale_fullscreen_event
|
|
theme = tournament_contest
|
|
left_portrait = {
|
|
character = root
|
|
animation = shock
|
|
}
|
|
right_portrait = {
|
|
character = scope:competitor1
|
|
animation = shame
|
|
}
|
|
lower_right_portrait = {
|
|
character = scope:competitor2
|
|
}
|
|
cooldown = { years = 1 }
|
|
|
|
trigger = {
|
|
scope:activity = {
|
|
any_guest_subset_current_phase = {
|
|
count >= 2
|
|
name = qualified
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
play_sound_effect = "event:/DLC/EP2/SFX/Events/Grand_Activities/Tournaments/ConstructionKits/ep2_event_grand_tournament_ck_arrow_impact"
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = archery ID = 6503 }
|
|
scope:activity = {
|
|
random_guest_subset_current_phase = {
|
|
name = qualified
|
|
limit = { contest_event_general_contestant_valid_trigger = yes }
|
|
save_scope_as = competitor1
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = archery ID = 6503 }
|
|
}
|
|
random_guest_subset_current_phase = {
|
|
name = qualified
|
|
limit = {
|
|
contest_event_general_contestant_valid_trigger = yes
|
|
this != scope:competitor1
|
|
}
|
|
save_scope_as = competitor2
|
|
tournament_pivotal_flavor_variable_effect = { CONTEST = archery ID = 6503 }
|
|
}
|
|
}
|
|
scope:competitor2 = {
|
|
increase_wounds_no_death_effect = {
|
|
REASON = spectator_injured
|
|
}
|
|
}
|
|
scope:activity = {
|
|
add_activity_log_entry = {
|
|
key = tournament_wayward_arrow_log
|
|
tags = { bad }
|
|
score = 5
|
|
character = scope:competitor2
|
|
}
|
|
}
|
|
}
|
|
|
|
# Heal the person
|
|
option = {
|
|
name = ep2_tournament_events.6503.a
|
|
trigger = {
|
|
has_trait = lifestyle_herbalist
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:competitor2
|
|
modifier = grateful_opinion
|
|
opinion = 40
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:competitor1
|
|
modifier = relieved_opinion
|
|
opinion = 10
|
|
}
|
|
scope:competitor2 = {
|
|
add_character_modifier = {
|
|
modifier = safe_wound_treatment_success_low_modifier
|
|
years = 2
|
|
}
|
|
}
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_treated_wounds
|
|
CHARACTER = scope:competitor2
|
|
OPINION = 0
|
|
}
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_loss
|
|
arbitrary = minor_stress_impact_gain
|
|
callous = minor_stress_impact_gain
|
|
sadistic = minor_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
# Call for a medic
|
|
option = {
|
|
name = ep2_tournament_events.6503.b
|
|
remove_short_term_gold = minor_gold_value
|
|
reverse_add_opinion = {
|
|
target = scope:competitor2
|
|
modifier = grateful_opinion
|
|
opinion = 40
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:competitor1
|
|
modifier = relieved_opinion
|
|
opinion = 10
|
|
}
|
|
scope:competitor2 = {
|
|
add_character_modifier = {
|
|
modifier = safe_wound_treatment_success_low_modifier
|
|
years = 2
|
|
}
|
|
}
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_treated_wounds
|
|
CHARACTER = scope:competitor2
|
|
OPINION = 0
|
|
}
|
|
stress_impact = {
|
|
base = miniscule_stress_impact_gain
|
|
greedy = minor_stress_impact_gain
|
|
callous = minor_stress_impact_gain
|
|
sadistic = minor_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
modifier = { #More likely if you don't have a lot of gold
|
|
factor = 0
|
|
gold < root.minor_gold_value
|
|
}
|
|
}
|
|
}
|
|
|
|
# This isn't my concern
|
|
option = {
|
|
name = ep2_tournament_events.6503.c
|
|
scope:competitor1 = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor }
|
|
}
|
|
scope:competitor2 = {
|
|
activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium }
|
|
|
|
add_stress = minor_stress_gain
|
|
|
|
progress_towards_rival_effect = {
|
|
REASON = rival_refused_to_help_wound
|
|
CHARACTER = scope:competitor1
|
|
OPINION = default_rival_opinion
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|