N3OW/events/scheme_events/sway_scheme/sway_outcome_events.txt
2026-01-06 14:25:21 +01:00

979 lines
20 KiB
Text

#Events handling Sway outcomes
namespace = sway_outcome
#Note: Outcome events for the Sway scheme are unusual. The default is simply a notification for success or failure
################################
# Standard outcomes
# 0000-0999
################################
#Standard success
#by Petter Vilberg
sway_outcome.0001 = {
hidden = yes
immediate = {
send_interface_message = {
type = sway_good_message
title = sway_sway_success_message
left_icon = scope:target
scope:target = {
if = {
limit = {
is_alive = yes
scope:owner = { is_alive = yes }
}
if = {
limit = {
any_character_struggle = {
is_struggle_type = persian_struggle
has_struggle_phase_parameter = fp3_sway_vassals_removes_disloyalty
}
}
add_opinion = {
target = scope:owner
modifier = scheme_sway_and_compelled_to_submit_opinion
opinion = sway_opinion_increase_per_success
}
}
else = {
add_opinion = {
target = scope:owner
modifier = scheme_sway_opinion
opinion = sway_opinion_increase_per_success
}
}
scope:owner = {
if = {
limit = {
faith = { has_doctrine_parameter = sway_scheme_piety }
OR = {
liege ?= scope:target
target_is_vassal_or_below = scope:target
}
}
add_piety = minor_piety_gain
}
}
}
}
sway_end_effect = yes
}
}
}
#Standard failure
#by Petter Vilberg
sway_outcome.0002 = {
hidden = yes
immediate = {
send_interface_message = {
type = sway_bad_message
title = sway_sway_failed_message
left_icon = scope:target
stress_impact = {
gregarious = minor_stress_impact_gain
}
sway_end_effect = yes
}
}
}
#################################
# Positive Outcomes
# 1000-1999
#################################
#Diplomacy Duel to get an extra bonus
#by Petter Vilberg
sway_outcome.1001 = {
type = character_event
title = sway_outcome.1001.t
desc = sway_outcome.1001.desc
theme = sway_scheme
left_portrait = scope:target
widget = {
gui = "event_window_widget_scheme"
container = "custom_widgets_container"
}
override_background = {
trigger = { is_travelling_not_at_activity = yes }
reference = terrain_travel
}
override_background = {
trigger = { is_travelling_at_activity = yes }
reference = ep2_activity
}
trigger = {
NOT = {
has_character_flag = had_event_sway_outcome_1001
}
}
immediate = {
add_character_flag = {
flag = had_event_sway_outcome_1001
years = 5
}
}
option = {
name = sway_outcome.1001.a
duel = {
target = scope:target
skill = diplomacy
20 = {
compare_modifier = {
value = scope:duel_value
}
desc = sway_outcome.1001.a.success
send_interface_toast = {
left_icon = scope:target
title = sway_outcome.1001.a.success
add_prestige = minor_prestige_gain
scope:target = {
if = {
limit = {
any_character_struggle = {
is_struggle_type = persian_struggle
has_struggle_phase_parameter = fp3_sway_vassals_removes_disloyalty
}
}
add_opinion = {
target = scope:owner
modifier = scheme_sway_and_compelled_to_submit_opinion
opinion = 50
}
}
else = {
add_opinion = {
target = scope:owner
modifier = scheme_sway_opinion
opinion = 50
}
}
scope:owner = {
if = {
limit = {
faith = { has_doctrine_parameter = sway_scheme_piety }
OR = {
liege ?= scope:target
target_is_vassal_or_below = scope:target
}
}
add_piety = minor_piety_gain
}
}
}
}
}
20 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
desc = sway_outcome.1001.a.failure
send_interface_toast = {
left_icon = scope:target
title = sway_outcome.1001.a.failure
add_prestige = minor_prestige_loss
}
}
}
sway_end_effect = yes
}
option = {
name = sway_outcome.1001.b
scope:target = {
add_opinion = {
target = scope:owner
modifier = scheme_sway_opinion
opinion = 30
}
}
scope:owner = {
if = {
limit = {
faith = { has_doctrine_parameter = sway_scheme_piety }
OR = {
liege ?= scope:target
target_is_vassal_or_below = scope:target
}
}
add_piety = minor_piety_gain
}
}
sway_end_effect = yes
}
}
#Learning Duel to get an extra bonus
#by Petter Vilberg
sway_outcome.1002 = {
type = character_event
title = sway_outcome.1002.t
desc = {
first_valid = {
triggered_desc = {
trigger = { faith = scope:target.faith }
desc = sway_outcome.1002.same_faith
}
desc = sway_outcome.1002.other_faith
}
}
theme = sway_scheme
left_portrait = scope:target
widget = {
gui = "event_window_widget_scheme"
container = "custom_widgets_container"
}
override_background = {
trigger = { scope:target = { is_travelling = yes } }
reference = terrain_travel
}
trigger = {
NOT = {
has_character_flag = had_event_sway_outcome_1002
}
}
weight_multiplier = {
base = 0
compare_modifier = {
value = learning
multiplier = 0.1
}
modifier = {
add = 2
scope:target = {
is_landed = yes
government_has_flag = government_is_theocracy
}
}
}
immediate = {
add_character_flag = {
flag = had_event_sway_outcome_1002
years = 5
}
}
option = {
name = sway_outcome.1002.a
duel = {
target = scope:target
skill = learning
20 = {
compare_modifier = {
value = scope:duel_value
min = -18
max = 20
}
desc = sway_outcome.1001.a.success
send_interface_toast = {
left_icon = scope:target
title = sway_outcome.1001.a.success
add_prestige = minor_prestige_gain
scope:target = {
if = {
limit = {
any_character_struggle = {
is_struggle_type = persian_struggle
has_struggle_phase_parameter = fp3_sway_vassals_removes_disloyalty
}
}
add_opinion = {
target = scope:owner
modifier = scheme_sway_and_compelled_to_submit_opinion
opinion = 50
}
}
else = {
add_opinion = {
target = scope:owner
modifier = scheme_sway_opinion
opinion = 50
}
}
scope:owner = {
if = {
limit = {
faith = { has_doctrine_parameter = sway_scheme_piety }
OR = {
liege ?= scope:target
target_is_vassal_or_below = scope:target
}
}
add_piety = minor_piety_gain
}
}
}
}
}
20 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
min = -18
max = 20
}
desc = sway_outcome.1001.a.failure
send_interface_toast = {
left_icon = scope:target
title = sway_outcome.1001.a.failure
add_prestige = minor_prestige_loss
}
}
}
sway_end_effect = yes
}
option = {
name = sway_outcome.1002.b
scope:target = {
add_opinion = {
target = scope:owner
modifier = scheme_sway_opinion
opinion = 30
}
}
scope:owner = {
if = {
limit = {
faith = { has_doctrine_parameter = sway_scheme_piety }
OR = {
liege ?= scope:target
target_is_vassal_or_below = scope:target
}
}
add_piety = minor_piety_gain
}
}
sway_end_effect = yes
}
}
#They're warming up to me, can I take it further?
#by Linnéa Thimrén
sway_outcome.1003 = {
type = character_event
title = sway_outcome.1003.t
desc = sway_outcome.1003.desc
theme = sway_scheme
left_portrait = scope:target
right_portrait = scope:friend
widget = {
gui = "event_window_widget_scheme"
container = "custom_widgets_container"
}
override_background = {
trigger = { is_travelling_not_at_activity = yes }
reference = terrain_travel
}
override_background = {
trigger = { is_travelling_at_activity = yes }
reference = ep2_activity
}
trigger = {
NOT = {
has_character_flag = had_event_sway_outcome_1003
}
}
immediate = {
add_character_flag = {
flag = had_event_sway_outcome_1003
years = 5
}
scope:target = {
if = {
limit = {
any_character_struggle = {
is_struggle_type = persian_struggle
has_struggle_phase_parameter = fp3_sway_vassals_removes_disloyalty
}
}
add_opinion = {
target = scope:owner
modifier = scheme_sway_and_compelled_to_submit_opinion
opinion = 30
}
}
else = {
add_opinion = {
target = scope:owner
modifier = scheme_sway_opinion
opinion = 30
}
}
scope:owner = {
if = {
limit = {
faith = { has_doctrine_parameter = sway_scheme_piety }
OR = {
liege ?= scope:target
target_is_vassal_or_below = scope:target
}
}
add_piety = minor_piety_gain
}
}
}
if = {
limit = {
any_relation = {
type = friend
diplomacy > root.diplomacy
}
}
random_relation = {
type = friend
limit = {
diplomacy > root.diplomacy
}
save_scope_as = friend
}
}
}
option = { #Gamble!
name = sway_outcome.1003.a
duel = {
target = scope:target
skill = diplomacy
30 = {
compare_modifier = {
value = scope:duel_value
}
desc = sway_outcome.1003.a.success
send_interface_toast = {
left_icon = scope:target
title = sway_outcome.1003.a.success
scope:target = {
if = {
limit = {
any_character_struggle = {
is_struggle_type = persian_struggle
has_struggle_phase_parameter = fp3_sway_vassals_removes_disloyalty
}
}
add_opinion = {
target = scope:owner
modifier = scheme_sway_and_compelled_to_submit_opinion
opinion = 20
}
}
else = {
add_opinion = {
target = scope:owner
modifier = scheme_sway_opinion
opinion = 20
}
}
}
}
}
20 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
desc = sway_outcome.1003.a.failure
send_interface_toast = {
left_icon = scope:target
title = sway_outcome.1003.a.failure
scope:target = {
if = {
limit = {
any_character_struggle = {
is_struggle_type = persian_struggle
has_struggle_phase_parameter = fp3_sway_vassals_removes_disloyalty
}
}
add_opinion = {
target = scope:owner
modifier = scheme_sway_and_compelled_to_submit_opinion
opinion = -10
}
}
else = {
add_opinion = {
target = scope:owner
modifier = scheme_sway_opinion
opinion = -10
}
}
}
}
}
}
}
option = { #Gamble! Friend helps you out!
name = sway_outcome.1003.a_friend
trigger = {
exists = scope:friend
}
scope:friend = {
duel = {
target = scope:target
skill = diplomacy
40 = {
compare_modifier = {
value = scope:duel_value
}
desc = sway_outcome.1003.a.success
send_interface_toast = {
left_icon = scope:target
title = sway_outcome.1003.a.success
scope:target = {
if = {
limit = {
any_character_struggle = {
is_struggle_type = persian_struggle
has_struggle_phase_parameter = fp3_sway_vassals_removes_disloyalty
}
}
add_opinion = {
target = scope:owner
modifier = scheme_sway_and_compelled_to_submit_opinion
opinion = 15
}
}
else = {
add_opinion = {
target = scope:owner
modifier = scheme_sway_opinion
opinion = 15
}
}
}
}
}
20 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
desc = sway_outcome.1003.a.failure
send_interface_toast = {
left_icon = scope:target
title = sway_outcome.1003.a.failure
scope:target = {
if = {
limit = {
any_character_struggle = {
is_struggle_type = persian_struggle
has_struggle_phase_parameter = fp3_sway_vassals_removes_disloyalty
}
}
add_opinion = {
target = scope:owner
modifier = scheme_sway_and_compelled_to_submit_opinion
opinion = -10
}
}
else = {
add_opinion = {
target = scope:owner
modifier = scheme_sway_opinion
opinion = -10
}
}
}
}
}
}
}
}
option = { #Safe route
name = sway_outcome.1003.b
}
after = {
sway_end_effect = yes
}
}
#A disloyal vassal can be compelled to reconsider during the Anarchy at Samarra Struggle
#by Ola Jentzsch
sway_outcome.1004 = {
type = character_event
title = sway_outcome.1004.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
scope:target = {
ai_vengefulness >= medium_positive_ai_value
}
}
desc = sway_outcome_grudgingly.1004.desc
}
random_valid = {
desc = sway_outcome_magnanimity.1004.desc
desc = sway_outcome_blessed.1004.desc
triggered_desc = {
trigger = {
scope:target = {
NOR = {
has_trait = stubborn
has_trait = arrogant
has_trait = august
has_trait = callous
}
}
}
desc = sway_outcome_flattery.1004.desc
}
triggered_desc = {
trigger = {
AND = {
scope:target = {
AND = {
OR = {
has_religion = religion:buddhism_religion
has_religion = religion:jainism_religion
has_religion = religion:hinduism_religion
}
ai_zeal >= low_positive_ai_value
}
}
scope:owner = {
OR = {
has_religion = religion:buddhism_religion
has_religion = religion:jainism_religion
has_religion = religion:hinduism_religion
}
}
}
}
desc = sway_outcome_dharmic.1004.desc
}
triggered_desc = {
trigger = {
scope:target = {
has_religion = religion:islam_religion
ai_zeal >= low_positive_ai_value
exists = faith.religious_head
faith.religious_head = { this = root }
}
}
desc = sway_outcome_caliph.1004.desc
}
}
}
}
theme = sway_scheme
left_portrait = {
character = scope:owner
triggered_animation = {
trigger = {
has_trait = callous
has_trait = vengeful
has_trait = sadistic
}
animation = personality_callous
}
animation = personality_bold
}
right_portrait = {
character = scope:target
animation = throne_room_bow_1
}
trigger = {
any_character_struggle = {
is_struggle_type = persian_struggle
has_struggle_phase_parameter = fp3_sway_scheme_more_powerful
}
scope:target = {
AND = {
is_vassal_of = scope:owner
has_trait = disloyal
}
NOT = {
has_relation_rival = scope:owner
}
}
}
weight_multiplier = { #more likely to trigger if the target likes you, or has a flexible personality
base = 1
modifier = {
add = 0.5
scope:target = { has_trait = fickle } #They're flexible
}
modifier = {
add = 0.5
scope:target = { has_trait = trusting } #They trust you
}
modifier = {
add = -0.7
scope:target = { has_trait = stubborn } #They are not prone to change their ways
}
modifier = {
add = -0.3
scope:target = { has_trait = vengeful } #They are not soon to forgive slights, real or imagined
}
}
immediate = {
scope:target = {
add_opinion = {
target = scope:owner
modifier = scheme_sway_opinion
opinion = 20
}
remove_trait = disloyal
}
scope:owner = {
if = {
limit = {
faith = { has_doctrine_parameter = sway_scheme_piety }
OR = {
liege ?= scope:target
target_is_vassal_or_below = scope:target
}
}
add_piety = minor_piety_gain
}
}
}
option = {
name = sway_outcome.1004.a
trigger = {
OR = {
has_trait = vengeful
has_trait = arrogant
has_trait = paranoid
}
}
scope:scheme = {
end_scheme = yes
}
}
option = {
name = sway_outcome.1004.b
trigger = {
NOR = {
has_trait = vengeful
has_trait = arrogant
has_trait = paranoid
}
}
scope:scheme = {
end_scheme = yes
}
}
}
#################################
# Negative Outcomes
# 2000-2999
#################################
#Diplomatic misunderstanding
#by Petter Vilberg
sway_outcome.2001 = {
type = character_event
title = sway_outcome.2001.t
desc = {
desc = sway_outcome.2001.opening
first_valid = {
triggered_desc = {
trigger = {
scope:target = {
OR = {
is_of_major_interest_to_root_trigger = yes
is_of_minor_interest_to_root_trigger = yes
}
NOT = {
has_relation_rival = root
}
}
}
desc = sway_outcome.2001.not_interested_relation
}
triggered_desc = {
trigger = {
scope:target = {
possibly_interested_in_character_trigger = {
CHARACTER = root
}
}
}
desc = sway_outcome.2001.not_interested_romantically
}
random_valid = {
desc = sway_outcome.2001.not_interested_horses
desc = sway_outcome.2001.not_interested_toll_exemptions
desc = sway_outcome.2001.not_interested_friend
triggered_desc = {
trigger = {
OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion }
OR = { scope:target.religion = religion:eastern_orthodox_religion scope:target.religion = religion:catholic_religion scope:target.religion = religion:protestant_religion }
}
desc = sway_outcome.2001.not_interested_relics
}
}
}
desc = sway_outcome.2001.end
}
theme = sway_scheme
left_portrait = {
character = scope:target
animation = eyeroll
}
widget = {
gui = "event_window_widget_scheme"
container = "custom_widgets_container"
}
override_background = {
trigger = { is_travelling_not_at_activity = yes }
reference = terrain_travel
}
override_background = {
trigger = { is_travelling_at_activity = yes }
reference = ep2_activity
}
trigger = {
NOT = {
has_character_flag = had_event_sway_outcome_2001
}
NOR = {
has_relation_lover = scope:target
has_relation_friend = scope:target
any_consort = {
this = scope:target
}
betrothed ?= scope:target
}
}
immediate = {
add_character_flag = {
flag = had_event_sway_outcome_2001
years = 5
}
}
option = {
name = sway_outcome.2001.a
scope:target = {
add_opinion = {
target = scope:owner
modifier = sway_blocker_opinion
opinion = -10
}
}
scope:scheme = {
end_scheme = yes
}
}
}
#They think you're plotting against them
#by Linnéa Thimrén
sway_outcome.2002 = {
type = character_event
title = sway_outcome.2002.t
desc = sway_outcome.2002.desc
theme = sway_scheme
left_portrait = scope:target
widget = {
gui = "event_window_widget_scheme"
container = "custom_widgets_container"
}
override_background = {
trigger = { is_travelling_not_at_activity = yes }
reference = terrain_travel
}
override_background = {
trigger = { is_travelling_at_activity = yes }
reference = ep2_activity
}
trigger = {
NOT = {
has_character_flag = had_event_sway_outcome_2002
}
}
weight_multiplier = {
base = 0.75
modifier = {
add = 0.75
has_trait = paranoid
}
}
immediate = {
add_character_flag = {
flag = had_event_sway_outcome_2002
years = 5
}
}
option = {
name = sway_outcome.2002.a
scope:target = {
add_opinion = {
target = scope:owner
modifier = sway_blocker_opinion
opinion = -10
}
add_character_modifier = {
modifier = more_vigilant_recistance_modifier
years = 5
}
}
scope:scheme = {
end_scheme = yes
}
}
}