event fixing pt III

This commit is contained in:
trashmasteruni 2026-10-11 00:22:25 +02:00
parent 0555f85c12
commit e660a1513e
112 changed files with 4671 additions and 148791 deletions

View file

@ -473,7 +473,7 @@ fp1_jomsvikings.0001 = {
scope:leader = { add_courtier = scope:retainer_b }
}
stress_impact = {
stress_and_fulfillment_impact = {
trusting = minor_stress_impact_loss
zealous = medium_stress_impact_loss
paranoid = medium_stress_impact_gain
@ -517,7 +517,7 @@ fp1_jomsvikings.0001 = {
scope:leader = { add_courtier = scope:retainer_a }
}
stress_impact = {
stress_and_fulfillment_impact = {
trusting = minor_stress_impact_loss
zealous = medium_stress_impact_loss
paranoid = medium_stress_impact_gain
@ -578,7 +578,7 @@ fp1_jomsvikings.0001 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
paranoid = medium_stress_impact_loss
cynical = major_stress_impact_loss
trusting = minor_stress_impact_gain
@ -950,7 +950,7 @@ fp1_jomsvikings.0011 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
diligent = minor_stress_impact_loss
arrogant = medium_stress_impact_loss
vengeful = major_stress_impact_loss
@ -1038,7 +1038,7 @@ fp1_jomsvikings.0011 = {
# Lose control, but not that much.
scope:target_county = { change_county_control = medium_county_control_loss }
stress_impact = {
stress_and_fulfillment_impact = {
generous = minor_stress_impact_loss
forgiving = minor_stress_impact_loss
greedy = major_stress_impact_gain
@ -1090,7 +1090,7 @@ fp1_jomsvikings.0011 = {
value = medium_treasury_or_gold_value
}
stress_impact = {
stress_and_fulfillment_impact = {
generous = minor_stress_impact_loss
forgiving = minor_stress_impact_loss
greedy = major_stress_impact_gain
@ -1130,7 +1130,7 @@ fp1_jomsvikings.0011 = {
# Reduce control.
scope:target_county = { change_county_control = extreme_county_control_loss }
stress_impact = {
stress_and_fulfillment_impact = {
lazy = medium_stress_impact_loss
callous = medium_stress_impact_loss
sadistic = medium_stress_impact_loss
@ -1240,7 +1240,7 @@ fp1_jomsvikings.0021 = {
name = fp1_jomsvikings_event_troops
}
stress_impact = {
stress_and_fulfillment_impact = {
ambitious = medium_stress_impact_loss
zealous = medium_stress_impact_loss
content = medium_stress_impact_gain
@ -1291,7 +1291,7 @@ fp1_jomsvikings.0021 = {
name = fp1_jomsvikings_event_troops
}
stress_impact = {
stress_and_fulfillment_impact = {
ambitious = medium_stress_impact_loss
zealous = medium_stress_impact_loss
content = medium_stress_impact_gain
@ -1345,7 +1345,7 @@ fp1_jomsvikings.0021 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
paranoid = medium_stress_impact_loss
cynical = major_stress_impact_loss
trusting = minor_stress_impact_gain
@ -1467,38 +1467,38 @@ fp1_jomsvikings.0041 = {
## Kinslayer.
AND = {
has_trait = kinslayer_1
faith = { has_doctrine_parameter = kinslaying_any_dynasty_member_crime }
rite = { rite_has_parameter = kinslaying_any_dynasty_member_crime }
}
AND = {
has_trait = kinslayer_2
faith = { has_doctrine_parameter = kinslaying_extended_family_crime }
rite = { rite_has_parameter = kinslaying_extended_family_crime }
}
AND = {
has_trait = kinslayer_3
faith = { has_doctrine_parameter = kinslaying_close_kin_crime }
rite = { rite_has_parameter = kinslaying_close_kin_crime }
}
## Deviant.
AND = {
has_trait = deviant
faith = { has_doctrine_parameter = deviancy_illegal }
rite = { rite_has_parameter = deviancy_illegal }
}
## Cannibal.
AND = {
has_trait = cannibal
NOT = {
faith = { has_doctrine_parameter = cannibalism_legal }
rite = { rite_has_parameter = cannibalism_legal }
}
}
## Sodomite.
AND = {
has_trait = sodomite
faith = { has_doctrine_parameter = homosexuality_illegal }
rite = { rite_has_parameter = homosexuality_illegal }
}
## Incestuous.
AND = {
has_trait = incestuous
NOT = {
faith = { has_doctrine_parameter = consanguinity_unrestricted_incest }
rite = { rite_has_parameter = allows_unrestricted_marriage }
}
}
## Adulterer/Fornicator
@ -1507,8 +1507,8 @@ fp1_jomsvikings.0041 = {
has_trait = adulterer
has_trait = fornicator
}
trait_is_criminal_in_faith_trigger = {
FAITH = faith
trait_is_criminal_in_rite_trigger = {
RITE = rite
TRAIT = trait:adulterer
GENDER_CHARACTER = this
}
@ -1518,7 +1518,7 @@ fp1_jomsvikings.0041 = {
## Witch.
AND = {
has_trait = witch
faith = { has_doctrine_parameter = witchcraft_illegal }
rite = { rite_has_parameter = witchcraft_illegal }
}
}
}
@ -1631,7 +1631,7 @@ fp1_jomsvikings.0041 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = minor_stress_impact_loss
brave = major_stress_impact_loss
craven = major_stress_impact_gain
@ -1746,7 +1746,7 @@ fp1_jomsvikings.0041 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
vengeful = medium_stress_impact_loss
arbitrary = major_stress_impact_loss
forgiving = medium_stress_impact_gain
@ -1825,7 +1825,7 @@ fp1_jomsvikings.0041 = {
add_prestige_level = -1
add_prestige = massive_prestige_loss
stress_impact = {
stress_and_fulfillment_impact = {
craven = major_stress_impact_loss
arrogant = minor_stress_impact_gain
brave = major_stress_impact_gain
@ -1962,7 +1962,7 @@ fp1_jomsvikings.0044 = {
# Get a decent tyranny reduction for your troubles.
add_tyranny = massive_tyranny_loss
stress_impact = {
stress_and_fulfillment_impact = {
deceitful = major_stress_impact_loss
arbitrary = major_stress_impact_loss
honest = major_stress_impact_gain
@ -2005,7 +2005,7 @@ fp1_jomsvikings.0044 = {
years = 10
}
stress_impact = {
stress_and_fulfillment_impact = {
cynical = major_stress_impact_loss
zealous = major_stress_impact_gain
}

View file

@ -580,7 +580,7 @@ fp1_major_decisions.0031 = {
# Get your bonus troops.
forge_the_jomsvikings_maa_reward_effect = yes
stress_impact = {
stress_and_fulfillment_impact = {
# Usually bad form to give stress impact on single event options, but if you're cynical and taking this option, you *know* you're doing it for purely cynical reasons.
zealous = massive_stress_impact_loss
cynical = medium_stress_impact_gain
@ -713,7 +713,7 @@ fp1_major_decisions.0033 = {
show_as_tooltip = {
scope:founder.faith = {
change_fervor = {
value = 10
value = significant_fervor_gain
desc = fervor_gain_holy_order_founded
}
}
@ -898,7 +898,7 @@ fp1_major_decisions.1001 = {
custom_tooltip = fp1_major_decisions.1001.a.tt
trigger_event = fp1_major_decisions.1002
stress_impact = {
stress_and_fulfillment_impact = {
humble = major_stress_impact_loss
paranoid = major_stress_impact_loss
honest = major_stress_impact_loss
@ -931,7 +931,7 @@ fp1_major_decisions.1001 = {
# Gain some very minor stress loss for opting out.
## Stress loss handled in stress_impact.
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_loss
vengeful = minor_stress_impact_gain
impatient = minor_stress_impact_gain
@ -1041,7 +1041,7 @@ fp1_major_decisions.1002 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
cynical = medium_stress_impact_loss
humble = major_stress_impact_loss
}
@ -1079,7 +1079,7 @@ fp1_major_decisions.1002 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = major_stress_impact_loss
zealous = massive_stress_impact_loss
}
@ -1114,7 +1114,7 @@ fp1_major_decisions.1002 = {
has_character_modifier = high_queen_of_the_seas_fp1_modifier
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = massive_stress_gain
paranoid = major_stress_impact_loss
honest = major_stress_impact_gain
@ -1122,7 +1122,7 @@ fp1_major_decisions.1002 = {
}
## Ordinary stress otherwise.
else = {
stress_impact = {
stress_and_fulfillment_impact = {
paranoid = major_stress_impact_loss
honest = major_stress_impact_gain
}
@ -1173,7 +1173,7 @@ fp1_major_decisions.1002 = {
# The court is confused and afraid.
fp1_major_decisions_1002_courtiers_terrified_effect = yes
stress_impact = {
stress_and_fulfillment_impact = {
vengeful = major_stress_impact_loss
forgiving = minor_stress_impact_gain
}
@ -1207,7 +1207,7 @@ fp1_major_decisions.1002 = {
# The court is confused and afraid.
fp1_major_decisions_1002_courtiers_terrified_effect = yes
stress_impact = {
stress_and_fulfillment_impact = {
cynical = medium_stress_impact_loss
craven = medium_stress_impact_gain
zealous = medium_stress_impact_gain

View file

@ -227,7 +227,7 @@ fp1_other_decisions.0003 = {
}
right_portrait = {
character = scope:unlucky_guest
animation = fear
animation = dead
}
override_background = { reference = temple }
@ -253,6 +253,8 @@ fp1_other_decisions.0003 = {
# Get the party (audibly) started.
play_music_cue = "mx_cue_banquet"
scope:blotter.faith.religious_head ?= { save_scope_as = blotter_hof }
# Is it somebody specific's death day?
if = {
limit = {
@ -357,8 +359,7 @@ fp1_other_decisions.0003 = {
}
every_in_list = {
variable = gf_guests_rejecting_invite_list
# TIT-25457
remove_from_list = happified_title_subjects_list
remove_from_list = happified_character_subjects_list
}
}
# Set up var:gf_faith for custom loc to work; not used in strictly every permutation, but doesn't really need an if gate on it.
@ -380,49 +381,49 @@ fp1_other_decisions.0003 = {
add_piety = var:gf_piety_value
remove_variable = gf_piety_value
}
}
## Big RIP, scope:unlucky_guest.
if = {
limit = { exists = scope:unlucky_guest }
# Sort opinions and kinslaying.
add_kinslayer_trait_or_nothing_effect = { VICTIM = scope:unlucky_guest}
execute_opinion_effect = {
VICTIM = scope:unlucky_guest
EXECUTIONER = scope:blotter
}
# Are you HumSac'ing the HoF of a faith that doesn't practice HumSac?
## We hide this, since it's too late for you to do anything about now and it's more fun/terrifying to find out about it *after* the sacrifice.
hidden_effect = {
humsacd_a_hof_effect = {
SACRIFICER = scope:blotter
SACRIFICED_HOF = scope:unlucky_guest
}
}
## And are you actually humsac'ing your *OWN* HoF?
## Big RIP, scope:unlucky_guest.
if = {
limit = { scope:blotter.faith.religious_head = scope:unlucky_guest }
# Inform players that they're an abysmal, abysmal faith adherent.
every_player = {
limit = {
this != scope:blotter
faith = scope:unlucky_guest.faith
limit = { exists = scope:unlucky_guest }
# Sort opinions and kinslaying.
add_kinslayer_trait_or_nothing_effect = { VICTIM = scope:unlucky_guest }
execute_opinion_effect = {
VICTIM = scope:unlucky_guest
EXECUTIONER = scope:blotter
}
# Are you HumSac'ing the HoF of a faith that doesn't practice HumSac?
## We hide this, since it's too late for you to do anything about now and it's more fun/terrifying to find out about it *after* the sacrifice.
hidden_effect = {
humsacd_a_hof_effect = {
SACRIFICER = scope:blotter
SACRIFICED_HOF = scope:unlucky_guest
}
trigger_event = fp1_other_decisions.0023
}
# Update scope:blotter's HumSac'd HoFs kill tally manually, since we're not going through the usual effect.
add_to_variable_list = {
name = humsacd_hofs
target = scope:unlucky_guest.faith
}
# And tell scope:blotter they dun goofed.
trigger_event = {
id = fp1_other_decisions.0024
# We give it a day's delay, since they _might_ have taken a conversion option in the event itself, in which case the follow-up event is invalid.
days = 1
## And are you actually humsac'ing your *OWN* HoF?
if = {
limit = { scope:blotter.faith.religious_head ?= scope:unlucky_guest }
# Inform players that they're an abysmal, abysmal faith adherent.
every_player = {
limit = {
this != scope:blotter
faith = scope:unlucky_guest.faith
}
trigger_event = fp1_other_decisions.0023
}
# Update scope:blotter's HumSac'd HoFs kill tally manually, since we're not going through the usual effect.
add_to_variable_list = {
name = humsacd_hofs
target = scope:unlucky_guest.faith
}
# And tell scope:blotter they dun goofed.
trigger_event = {
id = fp1_other_decisions.0024
# We give it a day's delay, since they _might_ have taken a conversion option in the event itself, in which case the follow-up event is invalid.
days = 1
}
}
}
# How exactly do they die?
scope:unlucky_guest = {
scope:unlucky_guest ?= {
# Cannibalist Germanic pagans will hang them, then eat them.
trigger_event = fp1_other_decisions.1000
if = {
@ -596,7 +597,7 @@ fp1_other_decisions.0003 = {
}
hidden_effect = {
every_in_list = {
list = happified_title_subjects_list
list = happified_character_subjects_list
limit = {
# Filter out lowborns.
exists = dynasty
@ -617,10 +618,8 @@ fp1_other_decisions.0003 = {
name = fp1_other_decisions.0003.a
# Only available if you follow the scope:gf_faith & have priests to impress at all.
trigger = {
faith = {
this = scope:gf_faith
has_doctrine = doctrine_theocracy_temporal
}
faith = scope:gf_faith
rite = { rite_has_doctrine = doctrine_theocracy_temporal }
}
scope:activity = {
@ -633,7 +632,7 @@ fp1_other_decisions.0003 = {
# Your commitment to ritual earns you opinion with the priestly classes.
if = {
limit = {
any_learning_councillor = { exists = this }
any_learning_councillor = {}
}
every_learning_councillor = {
add_opinion = {
@ -665,7 +664,7 @@ fp1_other_decisions.0003 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
zealous = major_stress_impact_loss
cynical = major_stress_impact_gain
}
@ -718,7 +717,7 @@ fp1_other_decisions.0003 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = medium_stress_impact_loss
humble = medium_stress_impact_gain
}
@ -764,7 +763,7 @@ fp1_other_decisions.0003 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = major_stress_impact_loss
arrogant = major_stress_impact_gain
}
@ -807,7 +806,7 @@ fp1_other_decisions.0003 = {
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = major_stress_impact_loss
humble = major_stress_impact_gain
}
@ -855,7 +854,7 @@ fp1_other_decisions.0003 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = major_stress_impact_loss
arrogant = major_stress_impact_gain
}
@ -955,26 +954,7 @@ fp1_other_decisions.0003 = {
# Converting outside of your religious family, you're a heathen.
else_if = {
limit = {
OR = {
AND = {
scope:old_faith.religion = { is_in_family = rf_eastern }
NOT = {
scope:gf_faith.religion = { is_in_family = rf_eastern }
}
}
AND = {
scope:old_faith.religion = { is_in_family = rf_pagan }
NOT = {
scope:gf_faith.religion = { is_in_family = rf_pagan }
}
}
AND = {
scope:old_faith.religion = { is_in_family = rf_abrahamic }
NOT = {
scope:gf_faith.religion = { is_in_family = rf_abrahamic }
}
}
}
scope:old_faith = { faith_is_in_same_rf = { FAITH = scope:gf_faith } }
}
give_nickname = nick_the_heathen
}
@ -985,7 +965,7 @@ fp1_other_decisions.0003 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
trusting = medium_stress_impact_loss
cynical = major_stress_impact_loss
paranoid = medium_stress_impact_gain
@ -1096,7 +1076,7 @@ fp1_other_decisions.0011 = {
# Get some opinion with scope:blotter for turning up.
show_as_tooltip = { gruesome_festivals_blotter_opinion_gain_of_guests_effect = yes }
stress_impact = {
stress_and_fulfillment_impact = {
forgiving = minor_stress_impact_loss
gregarious = medium_stress_impact_loss
vengeful = minor_stress_impact_gain
@ -1136,7 +1116,7 @@ fp1_other_decisions.0011 = {
custom_tooltip = fp1_other_decisions.0011.b.tt
gruesome_festivals_turn_down_invitation_effect = yes
stress_impact = {
stress_and_fulfillment_impact = {
vengeful = minor_stress_impact_loss
shy = medium_stress_impact_loss
forgiving = minor_stress_impact_gain
@ -1177,7 +1157,7 @@ fp1_other_decisions.0011 = {
# Get some opinion with scope:blotter for turning up.
show_as_tooltip = { gruesome_festivals_blotter_opinion_gain_of_guests_effect = yes }
stress_impact = {
stress_and_fulfillment_impact = {
forgiving = minor_stress_impact_loss
gregarious = medium_stress_impact_loss
sadistic = medium_stress_impact_loss
@ -1229,7 +1209,7 @@ fp1_other_decisions.0011 = {
# Get some opinion with scope:blotter for turning up.
show_as_tooltip = { gruesome_festivals_blotter_opinion_gain_of_guests_effect = yes }
stress_impact = {
stress_and_fulfillment_impact = {
forgiving = minor_stress_impact_loss
gregarious = medium_stress_impact_loss
compassionate = medium_stress_impact_loss
@ -1282,7 +1262,7 @@ fp1_other_decisions.0011 = {
custom_tooltip = fp1_other_decisions.0011.e.tt
gruesome_festivals_turn_down_invitation_effect = yes
stress_impact = {
stress_and_fulfillment_impact = {
vengeful = minor_stress_impact_loss
shy = medium_stress_impact_loss
forgiving = minor_stress_impact_gain
@ -1401,29 +1381,32 @@ fp1_other_decisions.0012 = {
NOT = { exists = scope:decliner_1 }
}
save_scope_as = decliner_1
add_to_list = decliners_list
}
else_if = {
limit = {
NOT = {
NOR = {
this = scope:decliner_1
exists = scope:decliner_2
}
}
save_scope_as = decliner_2
add_to_list = decliners_list
}
else_if = {
limit = {
NOT = {
NOR = {
this = scope:decliner_1
this = scope:decliner_2
exists = scope:decliner_3
}
}
save_scope_as = decliner_3
add_to_list = decliners_list
}
else_if = {
limit = {
NOT = {
NOR = {
this = scope:decliner_1
this = scope:decliner_2
this = scope:decliner_3
@ -1431,10 +1414,11 @@ fp1_other_decisions.0012 = {
}
}
save_scope_as = decliner_4
add_to_list = decliners_list
}
else_if = {
limit = {
NOT = {
NOR = {
this = scope:decliner_1
this = scope:decliner_2
this = scope:decliner_3
@ -1443,26 +1427,9 @@ fp1_other_decisions.0012 = {
}
}
save_scope_as = decliner_5
add_to_list = decliners_list
}
}
# Add them to a list for easy general management if there's more than one.
scope:decliner_1 = { add_to_list = decliners_list }
if = {
limit = { exists = scope:decliner_2 }
add_to_list = decliners_list
}
if = {
limit = { exists = scope:decliner_3 }
add_to_list = decliners_list
}
if = {
limit = { exists = scope:decliner_4 }
add_to_list = decliners_list
}
if = {
limit = { exists = scope:decliner_5 }
add_to_list = decliners_list
}
# Clean up the variable list.
gruesome_sacrifices_clean_up_declining_guests_effect = yes
}
@ -1494,7 +1461,7 @@ fp1_other_decisions.0012 = {
OPINION = -30
}
stress_impact = {
stress_and_fulfillment_impact = {
forgiving = minor_stress_impact_loss
vengeful = minor_stress_impact_gain
}
@ -1552,7 +1519,7 @@ fp1_other_decisions.0012 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
forgiving = major_stress_impact_loss
vengeful = major_stress_impact_gain
}
@ -1591,7 +1558,7 @@ fp1_other_decisions.0012 = {
# But it was still a slight.
add_prestige = minor_prestige_loss
stress_impact = {
stress_and_fulfillment_impact = {
forgiving = medium_stress_impact_loss
vengeful = medium_stress_impact_gain
}
@ -1661,7 +1628,7 @@ fp1_other_decisions.0021 = {
}
right_portrait = {
character = scope:sacrificed_hof
animation = fear
animation = dead
}
override_background = { reference = throne_room }
@ -1732,7 +1699,7 @@ fp1_other_decisions.0022 = {
}
right_portrait = {
character = scope:sacrificed_hof
animation = fear
animation = dead
}
override_background = { reference = throne_room }
@ -1811,7 +1778,7 @@ scripted_effect gruesome_festivals_own_faith_martyred_own_hof_effect = {
add_character_modifier = { modifier = ultimate_blasphemer_modifier }
if = {
limit = {
faith = { has_doctrine_parameter = excommunication_active }
rite = { rite_has_parameter = excommunication_active }
}
# Add excommunication directly, since no one specific requested this.
add_excommunication_actual_effect = yes
@ -1827,7 +1794,7 @@ fp1_other_decisions.0023 = {
first_valid = {
triggered_desc = {
trigger = {
scope:unlucky_guest.faith = { has_doctrine_parameter = excommunication_active }
scope:unlucky_guest.rite = { rite_has_parameter = excommunication_active }
}
desc = fp1_other_decisions.0023.desc.has_excommunication
}
@ -1842,7 +1809,7 @@ fp1_other_decisions.0023 = {
}
right_portrait = {
character = scope:unlucky_guest
animation = fear
animation = dead
}
override_background = { reference = throne_room }
@ -1894,7 +1861,7 @@ fp1_other_decisions.0024 = {
first_valid = {
triggered_desc = {
trigger = {
scope:unlucky_guest.faith = { has_doctrine_parameter = excommunication_active }
scope:unlucky_guest.rite = { rite_has_parameter = excommunication_active }
}
desc = fp1_other_decisions.0024.desc.has_excommunication
}
@ -1909,7 +1876,7 @@ fp1_other_decisions.0024 = {
}
right_portrait = {
character = scope:unlucky_guest
animation = fear
animation = dead
}
override_background = { reference = throne_room }
@ -1921,6 +1888,7 @@ fp1_other_decisions.0024 = {
immediate = {
gruesome_festivals_martyred_a_hof_effect = { SACRIFICED_HOF = scope:unlucky_guest }
gruesome_festivals_own_faith_martyred_own_hof_effect = yes
change_spiritual_fulfillment = massive_spiritual_fulfillment_loss
}
# _What have I done?!_
@ -2128,7 +2096,7 @@ fp1_other_decisions.0101 = {
custom_tooltip = fp1_other_decisions.0101.a.tt
trigger_event = fp1_other_decisions.0111
stress_impact = {
stress_and_fulfillment_impact = {
humble = medium_stress_impact_loss
arrogant = medium_stress_impact_gain
}
@ -2164,7 +2132,7 @@ fp1_other_decisions.0101 = {
custom_tooltip = fp1_other_decisions.0101.b.tt
trigger_event = fp1_other_decisions.0111
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = minor_stress_impact_loss
vengeful = medium_stress_impact_loss
humble = minor_stress_impact_gain
@ -2210,7 +2178,7 @@ fp1_other_decisions.0101 = {
custom_tooltip = fp1_other_decisions.0101.c.tt
trigger_event = fp1_other_decisions.0111
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = major_stress_impact_loss
humble = major_stress_impact_gain
}
@ -2283,6 +2251,7 @@ scripted_effect fp1_apply_stele_effects = {
gender_female_chance = 50
dynasty = none
faith = $LOCATION$.faith
rite = $LOCATION$.rite
culture = $LOCATION$.culture
location = $LOCATION$.title_province
save_scope_as = carver

View file

@ -108,19 +108,19 @@ scripted_effect scandinavian_adventurer_start_war_effect = {
first_valid = {
triggered_desc = {
trigger = {
faith = { has_doctrine = doctrine_gender_male_dominated }
rite = { rite_has_doctrine = doctrine_gender_male_dominated }
}
desc = VIKING_ARMY_MEN_NAME
}
triggered_desc = {
trigger = {
faith = { has_doctrine = doctrine_gender_female_dominated }
rite = { rite_has_doctrine = doctrine_gender_female_dominated }
}
desc = VIKING_ARMY_WOMEN_NAME
}
triggered_desc = {
trigger = {
faith = { has_doctrine = doctrine_gender_equal }
rite = { rite_has_doctrine = doctrine_gender_equal }
}
desc = VIKING_ARMY_NEUTRAL_NAME
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,971 +0,0 @@
namespace = fp1_tbc
##################################################
# #Scope:actor-side Events
# 0001 - 0040 Bout Maintenance & Setup
# 0041 - 0060 Scope:actor Results
#
# #Scope:recipient-side Events
# 0101 - 0110 Champion Selection
# 0111 - 0130 Scope:recipient Results
##################################################
##################################################
# SCOPE:ACTOR-SIDE EVENTS
##################################################
# Bout Maintenance & Setup
# by Ewan Cowhig Croft
# 0001 - 0040
##################################################
# Everything is set for the bout to begin!
fp1_tbc.0001 = {
type = character_event
window = duel_event
title = fp1_tbc.0001.t
desc = {
desc = fp1_tbc.0001.desc.intro
first_valid = {
triggered_desc = {
trigger = { scope:champion = scope:recipient }
desc = fp1_tbc.0001.desc.recipient_fighting
}
desc = fp1_tbc.0001.desc.recipient_has_champion
}
desc = fp1_tbc.0001.desc.outro
}
theme = prison
left_portrait = {
character = scope:actor
scripted_animation = duel_wield_weapon
}
right_portrait = {
character = scope:champion
scripted_animation = duel_wield_weapon
}
override_background = { reference = terrain_scope }
trigger = {
# DLC check.
has_fp1_dlc_trigger = yes
# If, for any reason, scope:recipient has died or been imprisoned, then the bout is cancelled.
scope:recipient = {
is_alive = yes
is_imprisoned = no
}
# Check that scope:actor is still in a valid state to fight.
trial_by_combat_shown_and_not_invalid_trigger = yes
# And scope:champion likewise.
scope:champion = {
OR = {
this = scope:recipient
eligible_knight_to_champion_trial_by_combat_trigger = yes
}
}
}
on_trigger_fail = {
# Inform both parties that the duel has invalidated.
scope:actor = {
send_interface_toast = {
title = fp1_tbc.0001.trigger_failure.actor
left_icon = scope:recipient
}
}
scope:recipient = {
send_interface_toast = {
title = fp1_tbc.0001.trigger_failure.recipient
left_icon = scope:actor
}
}
# Reset scope:actor's cooldowns against scope:recipient.
scope:actor = {
remove_interaction_cooldown = challenge_to_trial_by_combat_interaction
remove_interaction_cooldown_against = {
interaction = challenge_to_trial_by_combat_interaction
target = scope:recipient
}
}
}
immediate = {
play_music_cue = "mx_cue_combat_stinger"
# Nab scope:champion's location for terrain.
scope:champion.location = {
save_scope_as = background_terrain_scope
# And scope:champion's location name for loc.
barony = { save_scope_as = duel_location }
}
}
# Almost there.
option = {
name = fp1_tbc.0001.a
# Inform scope:actor that the bout will begin immediately.
custom_tooltip = fp1_tbc.0001.a.tt
# Configure the bout.
## Tribals strip to the waist.
single_combat_apply_default_shirtlessness_effect = {
ATTACKER = scope:actor
DEFENDER = scope:champion
}
## Deadly fights.
if = {
limit = { scope:tbc_death = yes }
configure_start_single_combat_effect = {
SC_INITIATOR = scope:actor
SC_ATTACKER = scope:actor
SC_DEFENDER = scope:champion
FATALITY = always
FIXED = no
LOCALE = terrain_scope
OUTPUT_EVENT = fp1_tbc.0011
INVALIDATION_EVENT = fp1_tbc.0021
}
}
## Non-deadly fights.
else = {
configure_start_single_combat_effect = {
SC_INITIATOR = scope:actor
SC_ATTACKER = scope:actor
SC_DEFENDER = scope:champion
FATALITY = no
FIXED = no
LOCALE = terrain_scope
OUTPUT_EVENT = fp1_tbc.0011
INVALIDATION_EVENT = fp1_tbc.0021
}
}
# No stress for single-option events.
ai_chance = {
# AI will always choose single option.
base = 100
}
}
}
scripted_effect fp1_tbc_non_lethal_results_effect = {
if = {
limit = {
scope:recipient = { is_alive = yes }
}
# TbC ends in cash settlement.
if = {
limit = { scope:tbc_gold = yes }
fp1_tbc_gold_effect = {
TBC_VICTOR = scope:actor
TBC_LOSER = scope:recipient
}
}
# TbC ends in favour settlement.
if = {
limit = { scope:tbc_weak_hook = yes }
fp1_tbc_hook_effect = {
TBC_VICTOR = scope:actor
TBC_LOSER = scope:recipient
}
}
# TbC ends in mandated humiliation.
if = {
limit = { scope:tbc_humiliation = yes }
fp1_tbc_humiliation_effect = {
TBC_LOSER = scope:recipient
TBC_VICTOR = scope:actor
}
}
}
}
scripted_effect fp1_tbc_consume_imprisonment_reasons_effect = {
if = {
limit = {
scope:actor = { is_alive = yes }
scope:recipient = { is_alive = yes }
}
scope:actor = { consume_imprisonment_reasons = scope:recipient }
}
}
# Bout has ended, inform affected parties.
fp1_tbc.0011 = {
hidden = yes
immediate = {
# If any clothes were stripped, put 'em back on.
single_combat_clean_shirtlessness_effect = {
ATTACKER = scope:actor
DEFENDER = scope:champion
}
# Did scope:actor win?
if = {
limit = { scope:sc_victor = scope:actor }
# Apply effects; we do this separately so that there's not a weird day's delay.
fp1_tbc_non_lethal_results_effect = yes
# And send out the ending events.
scope:actor = {
trigger_event = {
id = fp1_tbc.0041
days = 1
}
}
scope:recipient = {
trigger_event = {
id = fp1_tbc.0121
days = 1
}
}
}
# Or was it scope:champion?
else_if = {
limit = { scope:sc_victor = scope:champion }
# If scope:actor is still alive, they gain stress.
if = {
limit = {
scope:actor = { is_alive = yes }
}
fp1_tbc_actor_defeated_effect = {
TBC_LOSER = scope:actor
TBC_VICTOR = scope:recipient
}
}
# And send out the ending events.
scope:actor = {
trigger_event = {
id = fp1_tbc.0051
days = 1
}
}
scope:recipient = {
trigger_event = {
id = fp1_tbc.0111
days = 1
}
}
}
# If both parties are alive, and aren't good losers/don't have good reasons to forgive each other, then we mark them as potential rivals.
if = {
limit = {
scope:actor = {
is_alive = yes
NOR = {
has_trait = humble
has_trait = content
has_trait = just
has_trait = forgiving
}
}
scope:recipient = {
is_alive = yes
NOR = {
has_trait = humble
has_trait = content
has_trait = just
has_trait = forgiving
}
can_set_relation_potential_rival_trigger = { CHARACTER = scope:actor }
}
}
scope:actor = { set_relation_potential_rival = scope:recipient }
}
}
}
# Bout has invalidated, inform affected parties.
fp1_tbc.0021 = {
hidden = yes
immediate = {
# Put your shirts back on.
single_combat_clean_shirtlessness_effect = {
ATTACKER = scope:actor
DEFENDER = scope:recipient
}
# Inform both parties that the duel has invalidated.
scope:actor = {
send_interface_toast = {
title = fp1_tbc.0021.trigger_failure.actor
left_icon = scope:recipient
}
}
scope:recipient = {
send_interface_toast = {
title = fp1_tbc.0021.trigger_failure.recipient
left_icon = scope:actor
}
}
# Reset scope:actor's cooldowns against scope:recipient.
scope:actor = {
remove_interaction_cooldown = challenge_to_trial_by_combat_interaction
remove_interaction_cooldown_against = {
interaction = challenge_to_trial_by_combat_interaction
target = scope:recipient
}
}
}
}
# Scope:recipient has declined.
fp1_tbc.0031 = {
type = letter_event
opening = fp1_tbc.0031.opening
desc = fp1_tbc.0031.desc
sender = scope:recipient
option = { name = fp1_tbc.0031.a }
}
##################################################
# Scope:actor Results
# by Ewan Cowhig Croft
# 0041 - 0060
##################################################
# Scope:actor has won the bout.
fp1_tbc.0041 = {
type = character_event
title = fp1_tbc.0041.t
desc = {
desc = fp1_tbc.0041.desc.intro
# Scope:champion died in the fighting; no need to loc for a separate scope:champion, as they can't fight to the death.
triggered_desc = {
trigger = {
scope:champion = { is_alive = no }
}
desc = fp1_tbc.0041.desc.opponent_died
}
# Scope:champion is still alive.
triggered_desc = {
trigger = {
scope:champion = { is_alive = yes}
}
desc = {
first_valid = {
# Scope:recipient fought for themselves.
triggered_desc = {
trigger = { scope:champion = scope:recipient }
desc = fp1_tbc.0041.desc.opponent_lives.recipient_fighting
}
# Scope:recipient had a designated champion instead.
desc = fp1_tbc.0041.desc.opponent_lives.recipient_has_champion
}
}
}
# Reward, if anything.
first_valid = {
# Gold.
triggered_desc = {
trigger = { scope:tbc_gold = yes }
desc = fp1_tbc.0041.desc.reward.gold
}
# Weak hook.
triggered_desc = {
trigger = { scope:tbc_weak_hook = yes }
desc = fp1_tbc.0041.desc.reward.weak_hook
}
# Humiliation.
triggered_desc = {
trigger = { scope:tbc_humiliation = yes }
desc = fp1_tbc.0041.desc.reward.humiliation
}
# No outcome for death, since that's handled more succinctly above.
}
desc = fp1_tbc.0041.desc.outro
}
theme = prison
left_portrait = {
character = scope:actor
animation = personality_bold
}
right_portrait = {
character = scope:recipient
animation = shock
}
override_background = { reference = throne_room }
trigger = {
# DLC check.
has_fp1_dlc_trigger = yes
# Juuuust need to double-check that they're actually alive.
is_alive = yes
}
immediate = {
# Show duel results from the player's POV.
show_as_tooltip = { fp1_tbc_non_lethal_results_effect = yes }
# Sadly, we have to apply some effects here instead of in the initial output event in order to not break tooltips.
single_combat_have_slain_kin_effect = {
ATTACKER = scope:actor
DEFENDER = scope:champion
}
fp1_tbc_consume_imprisonment_reasons_effect = yes
}
# The bout closes.
option = {
name = fp1_tbc.0041.a
# No stress for single-option events.
ai_chance = {
# AI will always choose single option.
base = 100
}
}
}
# Scope:actor has lost the bout.
fp1_tbc.0051 = {
type = character_event
title = fp1_tbc.0051.t
desc = {
desc = fp1_tbc.0051.desc.intro
# Scope:actor is still alive (alternatives not included because, well...).
first_valid = {
# Scope:recipient fought for themselves.
triggered_desc = {
trigger = { scope:champion = scope:recipient }
desc = fp1_tbc.0051.desc.opponent_lives.recipient_fighting
}
# Scope:recipient had a designated champion instead.
desc = fp1_tbc.0051.desc.opponent_lives.recipient_has_champion
}
desc = fp1_tbc.0051.desc.outro
}
theme = prison
left_portrait = {
character = scope:actor
animation = shock
}
right_portrait = {
character = scope:recipient
animation = personality_bold
}
override_background = { reference = throne_room }
trigger = {
# DLC check.
has_fp1_dlc_trigger = yes
# Juuuust need to double-check that they're actually alive.
is_alive = yes
}
immediate = {
# Show duel results from the player's POV.
if = {
limit = {
scope:actor = { is_alive = yes }
}
fp1_tbc_actor_defeated_effect = {
TBC_LOSER = scope:actor
TBC_VICTOR = scope:recipient
}
}
show_as_tooltip = {
fp1_tbc_consume_imprisonment_reasons_effect = yes
single_combat_have_slain_kin_effect = {
ATTACKER = scope:actor
DEFENDER = scope:champion
}
}
}
# The bout closes.
option = {
name = fp1_tbc.0051.a
# No stress for single-option events.
ai_chance = {
# AI will always choose single option.
base = 100
}
}
}
##################################################
# SCOPE:RECIPIENT-SIDE EVENTS
##################################################
# Champion Selection
# by Ewan Cowhig Croft
# 0101 - 0110
##################################################
scripted_trigger fp1_tbc_knights_with_high_opinion_filter_trigger = {
# Has a ludicrously high opinion of scope:recipient.
opinion = {
target = scope:recipient
value >= 95
}
# And isn't one of the other knights presented.
NOR = {
AND = {
exists = scope:knight_best
this = scope:knight_best
}
AND = {
exists = scope:knight_exotic
this = scope:knight_exotic
}
AND = {
exists = scope:knight_alternative
this = scope:knight_alternative
}
}
}
# Scope:recipient has accepted a challenge to a Trial-by-Combat & must designate a champion due to ineligibility.
fp1_tbc.0101 = {
type = character_event
title = fp1_tbc.0101.t
desc = fp1_tbc.0101.desc
theme = prison
left_portrait = {
character = scope:recipient
animation = disbelief
}
right_portrait = {
character = scope:knight_best
animation = personality_honorable
}
lower_left_portrait = scope:knight_alternative
lower_center_portrait = scope:knight_exotic
lower_right_portrait = scope:knight_opinion
override_background = { reference = throne_room }
trigger = {
# DLC check.
has_fp1_dlc_trigger = yes
}
immediate = {
play_music_cue = "mx_cue_prison"
# First, grab all available knights that are suitable for the Trial-by-Combat.
every_knight = {
limit = {
eligible_knight_to_champion_trial_by_combat_trigger = yes
NOT = {
has_court_position = champion_court_position #EP1: Pluck out the champion title holder
}
}
add_to_list = fp1_tbc_valid_knights_list
}
# Then, sort through the list, selecting the knight with the highest prowess.
ordered_in_list = {
list = fp1_tbc_valid_knights_list
order_by = prowess
save_scope_as = knight_best
}
# After that, we grab the most interesting knight (looking at assorted prowess-ish pecial traits and factoring for those) who isn't scope:knight_best.
ordered_in_list = {
list = fp1_tbc_valid_knights_list
limit = {
NOT = {
exists = scope:knight_best
this = scope:knight_best
}
has_relevant_special_single_combat_trait_trigger = yes
}
order_by = sce_has_single_combat_special_traits_value
save_scope_as = knight_exotic
}
#EP1: Fetch your champion if they exist
if = {
limit = {
employs_court_position = champion_court_position
any_court_position_holder = {
type = champion_court_position
is_physically_able_adult = yes # eligible_knight_to_champion_trial_by_combat_trigger checks for prowess, and its not mandatory that the champ has high value
}
}
random_court_position_holder = {
type = champion_court_position
save_scope_as = knight_alternative #same scope name is used due to limited portrait logic
}
}
# Then take the second highest-prowess knight who isn't scope:knight_best or scope:knight_exotic.
# EP1: Only do this if the court position of champion isn't already filled
ordered_in_list = {
list = fp1_tbc_valid_knights_list
limit = {
NOR = {
this = scope:knight_best
AND = {
exists = scope:knight_exotic
this = scope:knight_exotic
}
}
NOT = { employs_court_position = champion_court_position }
}
order_by = prowess
save_scope_as = knight_alternative
}
# Next, if we've got any knight who isn't scope:knight_best, scope:knight_exotic, or scope:knight_alternative, and who would literally murder for you, we grab them.
if = {
limit = {
any_in_list = {
list = fp1_tbc_valid_knights_list
fp1_tbc_knights_with_high_opinion_filter_trigger = yes
}
}
# First, add them to a sub-list.
every_in_list = {
list = fp1_tbc_valid_knights_list
limit = { fp1_tbc_knights_with_high_opinion_filter_trigger = yes }
add_to_list = fp1_tbc_high_opinion_knights_list
}
# Next, try to pluck out knightly soulmates.
if = {
limit = {
any_in_list = {
list = fp1_tbc_high_opinion_knights_list
any_relation = {
type = soulmate
this = scope:recipient
}
}
}
random_in_list = {
list = fp1_tbc_high_opinion_knights_list
limit = {
any_relation = {
type = soulmate
this = scope:recipient
}
}
save_scope_as = knight_opinion
}
}
# Otherwise, order by prowess and select the best.
else = {
ordered_in_list = {
list = fp1_tbc_high_opinion_knights_list
order_by = prowess
save_scope_as = knight_opinion
}
}
}
# Finally, if shenanigans have somehow deprived us of a scope:knight_best, then we want to generate someone to fill that minimum slot.
if = {
limit = {
NOT = { exists = scope:knight_best }
}
create_character = {
gender_female_chance = root_soldier_female_chance
location = scope:recipient.capital_province
template = new_warrior_character
faith = scope:recipient.capital_county.faith
culture = scope:recipient.capital_county.culture
save_scope_as = knight_best
}
add_courtier = scope:knight_best
}
}
# Take the most skilled knight.
option = {
name = fp1_tbc.0101.a
trigger = {
exists = scope:knight_best
}
# Select scope:knight_best to represent you in the bout.
scope:knight_best = { save_scope_as = champion }
custom_tooltip = fp1_tbc.0101.a.tt
custom_tooltip = fp1_tbc.0101.bout_moves_forward
highlight_portrait = scope:knight_best
# RP/functional choice: no stress charge.
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 0.75
ai_boldness = -0.5
}
}
}
# EP1: Take your already designated champion
option = {
name = fp1_ep1_tbc.0101.e
trigger = {
exists = scope:knight_alternative
scope:knight_alternative = { has_court_position = champion_court_position }
}
# Select scope:knight_best to represent you in the bout.
scope:knight_alternative = { save_scope_as = champion }
custom_tooltip = fp1_ep1_tbc.0101.e.tt
custom_tooltip = fp1_tbc.0101.bout_moves_forward
highlight_portrait = scope:knight_alternative
# RP/functional choice: no stress charge.
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 0.75
ai_boldness = -0.5
}
}
}
# Take the next most skilled knight.
option = {
name = fp1_tbc.0101.b
trigger = {
exists = scope:knight_alternative
scope:knight_alternative = { NOT = { has_court_position = champion_court_position } }
}
# Select scope:knight_best to represent you in the bout.
scope:knight_alternative = { save_scope_as = champion }
custom_tooltip = fp1_tbc.0101.b.tt
custom_tooltip = fp1_tbc.0101.bout_moves_forward
highlight_portrait = scope:knight_alternative
# RP/functional choice: no stress charge.
ai_chance = {
# There's no reason for the AI to ever take this option, we offer it entirely for players who dislike/wish to preserve their best knight.
base = 0
}
}
# Take the knight with the most special traits that *isn't* the most skilled knight.
option = {
name = fp1_tbc.0101.c
trigger = { exists = scope:knight_opinion }
# Select scope:knight_best to represent you in the bout.
scope:knight_exotic = { save_scope_as = champion }
custom_tooltip = fp1_tbc.0101.c.tt
custom_tooltip = fp1_tbc.0101.bout_moves_forward
highlight_portrait = scope:knight_exotic
# RP/functional choice: no stress charge.
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 0.5
ai_boldness = 0.25
}
}
}
# Take the knight who likes me the most.
option = {
name = fp1_tbc.0101.d
trigger = { exists = scope:knight_opinion}
# Select scope:knight_best to represent you in the bout.
scope:knight_opinion = { save_scope_as = champion }
custom_tooltip = fp1_tbc.0101.d.tt
custom_tooltip = fp1_tbc.0101.bout_moves_forward
highlight_portrait = scope:knight_opinion
# RP/functional choice: no stress charge.
ai_chance = {
base = 100
ai_value_modifier = {
ai_sociability = 0.5
ai_rationality = -0.75
}
}
}
# Then, we skip over to scope:actor to inform them what's up.
after = {
# Clean up any errant scopes we no longer need to avoid debug bloat.
clear_saved_scope = knight_best
if = {
limit = { exists = scope:knight_exotic }
clear_saved_scope = knight_exotic
}
if = {
limit = { exists = scope:knight_alternative }
clear_saved_scope = knight_alternative
}
if = {
limit = { exists = scope:knight_opinion }
clear_saved_scope = knight_opinion
}
# And transition.
scope:actor = { trigger_event = fp1_tbc.0001 }
}
}
fp1_tbc.0102 = {
desc = debug_main
theme = prison
option = {
name = interaction_debug_main
}
}
##################################################
# Scope:recipient Results
# by Ewan Cowhig Croft
# 0111 - 0130
##################################################
# Scope:recipient has won the bout.
fp1_tbc.0111 = {
type = character_event
title = fp1_tbc.0111.t
desc = {
desc = fp1_tbc.0111.desc.intro
# Scope:actor died in the fighting; we don't account for
triggered_desc = {
trigger = {
scope:actor = { is_alive = no }
}
desc = fp1_tbc.0111.desc.opponent_died.recipient_fighting
}
# Scope:actor is still alive.
triggered_desc = {
trigger = {
scope:actor = { is_alive = yes}
}
desc = {
first_valid = {
# Scope:recipient fought for themselves.
triggered_desc = {
trigger = { scope:champion = scope:recipient }
desc = fp1_tbc.0111.desc.opponent_lives.recipient_fighting
}
# Scope:recipient had a designated champion instead.
desc = fp1_tbc.0111.desc.opponent_lives.recipient_has_champion
}
}
}
desc = fp1_tbc.0111.desc.outro
}
theme = prison
left_portrait = {
character = scope:recipient
animation = personality_bold
}
right_portrait = {
character = scope:actor
animation = shock
}
override_background = { reference = throne_room }
trigger = {
# DLC check.
has_fp1_dlc_trigger = yes
# Juuuust need to double-check that they're actually alive.
is_alive = yes
}
immediate = {
# Show duel results from the player's POV.
if = {
limit = {
scope:actor = { is_alive = yes }
}
fp1_tbc_actor_defeated_effect = {
TBC_LOSER = scope:actor
TBC_VICTOR = scope:recipient
}
}
# Sadly, we have to apply some effects here instead of in the initial output event in order to not break tooltips.
single_combat_have_slain_kin_effect = {
ATTACKER = scope:actor
DEFENDER = scope:champion
}
fp1_tbc_consume_imprisonment_reasons_effect = yes
}
# The bout closes.
option = {
name = fp1_tbc.0111.a
# No stress for single-option events.
ai_chance = {
# AI will always choose single option.
base = 100
}
}
}
# Scope:recipient has lost the bout.
fp1_tbc.0121 = {
type = character_event
title = fp1_tbc.0121.t
desc = {
desc = fp1_tbc.0121.desc.intro
# We don't need to account for scope:champion dying in the fighting; if it was scope:recipient, then they're dead, and a separate champion cannot be challenged to a fight to the death.
# Scope:champion is still alive.
first_valid = {
# Scope:recipient fought for themselves.
triggered_desc = {
trigger = { scope:champion = scope:recipient }
desc = fp1_tbc.0121.desc.champion_lives.recipient_fighting
}
# Scope:recipient had a designated champion instead.
desc = fp1_tbc.0121.desc.champion_lives.recipient_has_champion
}
# Reward, if anything.
first_valid = {
# Gold.
triggered_desc = {
trigger = { scope:tbc_gold = yes }
desc = fp1_tbc.0121.desc.reward.gold
}
# Weak hook.
triggered_desc = {
trigger = { scope:tbc_weak_hook = yes }
desc = fp1_tbc.0121.desc.reward.weak_hook
}
# Humiliation.
triggered_desc = {
trigger = { scope:tbc_humiliation = yes }
desc = fp1_tbc.0121.desc.reward.humiliation
}
# No outcome for death, since that's handled more succinctly above.
}
desc = fp1_tbc.0121.desc.outro
}
theme = prison
left_portrait = {
character = scope:recipient
animation = shock
}
right_portrait = {
character = scope:actor
animation = personality_bold
}
override_background = { reference = throne_room }
trigger = {
# DLC check.
has_fp1_dlc_trigger = yes
# Juuuust need to double-check that they're actually alive.
is_alive = yes
}
immediate = {
# Show duel results from the player's POV.
show_as_tooltip = { fp1_tbc_non_lethal_results_effect = yes }
# Sadly, we have to apply some effects here instead of in the initial output event in order to not break tooltips.
fp1_tbc_consume_imprisonment_reasons_effect = yes
}
# The bout closes.
option = {
name = fp1_tbc.0121.a
# No stress for single-option events.
ai_chance = {
# AI will always choose single option.
base = 100
}
}
}

View file

@ -1,29 +0,0 @@
namespace = fp1_varangian_adventures
##################################################
# #Maintenance Events
# 0001 - 0010 Boost attacker control after the war.
##################################################
##################################################
# #Maintenance Events
##################################################
# Boost Attacker Control
# by Ewan Cowhig Croft
# 0001 - 0010
##################################################
# Boost control in newly conquered lands.
fp1_varangian_adventures.0001 = {
hidden = yes
immediate = {
every_realm_county = { change_county_control = 50 }
}
}

File diff suppressed because it is too large Load diff

View file

@ -179,7 +179,7 @@ fp1_yearly.2000 = {
#Standard checks.
is_available_at_peace_adult = yes
NOT = { has_character_flag = had_event_fp1_yearly_2000 }
is_landed_or_landless_administrative = yes
is_landed_or_landless_administrative_or_theocratic = yes
any_child = {
suitable_child_to_leave = yes
@ -263,7 +263,7 @@ fp1_yearly.2000 = {
INVALIDATION_EVENT = fp1_yearly.2002
}
stress_impact = {
stress_and_fulfillment_impact = {
craven = major_stress_impact_gain
forgiving = medium_stress_impact_gain
compassionate = medium_stress_impact_gain
@ -298,7 +298,7 @@ fp1_yearly.2000 = {
option = { # Remind them of their duties
name = fp1_yearly.2000.b
stress_impact = {
stress_and_fulfillment_impact = {
impatient = major_stress_impact_gain
wrathful = major_stress_impact_gain
arrogant = medium_stress_impact_gain
@ -377,7 +377,7 @@ fp1_yearly.2000 = {
option = { # Bribe them
name = fp1_yearly.2000.c
stress_impact = {
stress_and_fulfillment_impact = {
greedy = major_stress_impact_gain
wrathful = major_stress_impact_gain
arrogant = medium_stress_impact_gain
@ -406,7 +406,7 @@ fp1_yearly.2000 = {
option = { # Let them go, the fool...
name = fp1_yearly.2000.d
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = medium_stress_impact_gain
stubborn = major_stress_impact_gain
wrathful = major_stress_impact_gain
@ -759,7 +759,7 @@ fp1_yearly.2100 = {
OUTPUT_EVENT = fp1_yearly.2101
}
stress_impact = {
stress_and_fulfillment_impact = {
forgiving = medium_stress_impact_gain
compassionate = major_stress_impact_gain
calm = medium_stress_impact_gain
@ -827,7 +827,7 @@ fp1_yearly.2100 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = major_stress_impact_gain
sadistic = major_stress_impact_gain
callous = medium_stress_impact_gain
@ -898,7 +898,7 @@ fp1_yearly.2100 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
craven = major_stress_impact_gain
arrogant = minor_stress_impact_gain
sadistic = major_stress_impact_gain
@ -1001,7 +1001,7 @@ fp1_yearly.2101 = {
PREGNANCY_CHANCE = pregnancy_chance
}
stress_impact = {
stress_and_fulfillment_impact = {
forgiving = major_stress_impact_gain
compassionate = major_stress_impact_gain
humble = major_stress_impact_gain
@ -1033,7 +1033,7 @@ fp1_yearly.2101 = {
years = 30
}
stress_impact = {
stress_and_fulfillment_impact = {
forgiving = major_stress_impact_gain
vengeful = major_stress_impact_gain
arbitrary = medium_stress_impact_gain
@ -1057,7 +1057,7 @@ fp1_yearly.2101 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
forgiving = major_stress_impact_gain
compassionate = major_stress_impact_gain
humble = major_stress_impact_gain
@ -1086,7 +1086,7 @@ fp1_yearly.2101 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
vengeful = major_stress_impact_gain
arbitrary = medium_stress_impact_gain
trusting = medium_stress_impact_gain
@ -1133,10 +1133,10 @@ fp1_yearly.2200 = {
is_available_at_peace_adult = yes
NOT = { has_character_flag = had_event_fp1_yearly_2200 }
is_landed_or_landless_administrative = yes
is_landed_or_landless_administrative_or_theocratic = yes
faith = {
has_doctrine = tenet_warmonger
rite = {
rite_has_tenet = tenet_warmonger
}
OR = {
@ -1166,6 +1166,7 @@ fp1_yearly.2200 = {
gender_female_chance = root_soldier_female_chance
template = new_berserker_character
faith = root.faith
rite = root.rite
culture = root.culture
dynasty = none
location = root.location
@ -1240,7 +1241,7 @@ fp1_yearly.2200 = {
INVALIDATION_EVENT = fp1_yearly.2202
}
stress_impact = {
stress_and_fulfillment_impact = {
forgiving = medium_stress_impact_gain
calm = medium_stress_impact_gain
patient = medium_stress_impact_gain
@ -1260,7 +1261,7 @@ fp1_yearly.2200 = {
option = {
name = fp1_yearly.2200.b
stress_impact = {
stress_and_fulfillment_impact = {
brave = major_stress_impact_gain
arrogant = medium_stress_impact_gain
greedy = major_stress_impact_gain
@ -1325,7 +1326,7 @@ fp1_yearly.2200 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
brave = major_stress_impact_gain
wrathful = major_stress_impact_gain
impatient = major_stress_impact_gain
@ -1385,7 +1386,7 @@ fp1_yearly.2200 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
brave = major_stress_impact_gain
trusting = medium_stress_impact_gain
patient = medium_stress_impact_gain
@ -1459,7 +1460,7 @@ fp1_yearly.2203 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
trusting = major_stress_impact_gain
forgiving = medium_stress_impact_gain
compassionate = major_stress_impact_gain
@ -1483,7 +1484,7 @@ fp1_yearly.2203 = {
option = {
name = fp1_yearly.2203.b
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = major_stress_impact_gain
vengeful = major_stress_impact_gain
cynical = major_stress_impact_gain
@ -1502,7 +1503,7 @@ fp1_yearly.2203 = {
option = {
name = fp1_yearly.2203.c
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = major_stress_impact_gain
vengeful = major_stress_impact_gain
trusting = major_stress_impact_gain
@ -1541,7 +1542,7 @@ fp1_yearly.2204 = {
add_courtier = scope:new_berserker
set_relation_friend = { reason = friend_rousing_fight target = scope:new_berserker }
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = major_stress_impact_gain
vengeful = major_stress_impact_gain
cynical = major_stress_impact_gain
@ -1558,7 +1559,7 @@ fp1_yearly.2204 = {
option = {
name = fp1_yearly.2204.b
stress_impact = {
stress_and_fulfillment_impact = {
trusting = major_stress_impact_gain
forgiving = major_stress_impact_gain
humble = major_stress_impact_gain
@ -1593,7 +1594,7 @@ fp1_yearly.2300 = {
is_available_at_peace_adult = yes
NOT = { has_character_flag = had_event_fp1_yearly_2300 }
is_landed_or_landless_administrative = yes
is_landed_or_landless_administrative_or_theocratic = yes
any_sub_realm_barony = {
title_province = {
@ -1660,7 +1661,7 @@ fp1_yearly.2300 = {
custom_tooltip = MILITARY_VIEW_EVENT_TROOPS_NOT_INHERITABLE
stress_impact = {
stress_and_fulfillment_impact = {
humble = minor_stress_impact_gain
shy = minor_stress_impact_gain
}
@ -1692,7 +1693,7 @@ fp1_yearly.2300 = {
custom_tooltip = MILITARY_VIEW_EVENT_TROOPS_NOT_INHERITABLE
stress_impact = {
stress_and_fulfillment_impact = {
humble = minor_stress_impact_gain
shy = minor_stress_impact_gain
}
@ -1707,7 +1708,7 @@ fp1_yearly.2300 = {
add_gold = medium_gold_value
stress_impact = {
stress_and_fulfillment_impact = {
generous = major_stress_impact_gain
ambitious = medium_stress_impact_gain
}
@ -1751,7 +1752,7 @@ fp1_yearly.2300 = {
custom_tooltip = MILITARY_VIEW_EVENT_TROOPS_NOT_INHERITABLE
stress_impact = {
stress_and_fulfillment_impact = {
greedy = medium_stress_impact_gain
}
ai_chance = {
@ -1780,7 +1781,7 @@ fp1_yearly.2400 = {
is_available_at_peace_adult = yes
NOT = { has_character_flag = had_event_fp1_yearly_2400 }
is_landed_or_landless_administrative = yes
is_landed_or_landless_administrative_or_theocratic = yes
NOR = {
has_trait = lazy
@ -1816,7 +1817,7 @@ fp1_yearly.2400 = {
start_dog_story_cycle_effect = yes
remove_short_term_gold = minor_gold_value
stress_impact = {
stress_and_fulfillment_impact = {
greedy = major_stress_impact_gain
shy = minor_stress_impact_gain
}
@ -1842,7 +1843,7 @@ fp1_yearly.2400 = {
start_eagle_story_cycle_effect = yes
remove_short_term_gold = minor_gold_value
stress_impact = {
stress_and_fulfillment_impact = {
greedy = major_stress_impact_gain
shy = minor_stress_impact_gain
}
@ -1864,7 +1865,7 @@ fp1_yearly.2400 = {
}
remove_short_term_gold = minor_gold_value
stress_impact = {
stress_and_fulfillment_impact = {
greedy = major_stress_impact_gain
temperate = medium_stress_impact_gain
}
@ -1887,7 +1888,7 @@ fp1_yearly.2400 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
impatient = major_stress_impact_gain
}
ai_chance = {
@ -1912,7 +1913,7 @@ scripted_trigger fp1_yearly_2500_guest_trigger = {
}
}
save_temporary_scope_as = deviant_guest
trait_is_criminal_in_faith_trigger = { TRAIT = trait:deviant FAITH = scope:deviant_guest.faith GENDER_CHARACTER = scope:deviant_guest }
trait_is_criminal_in_rite_trigger = { TRAIT = trait:deviant RITE = scope:deviant_guest.rite GENDER_CHARACTER = scope:deviant_guest }
}
scripted_trigger fp1_yearly_2500_court_target_trigger = {
@ -1956,7 +1957,7 @@ fp1_yearly.2500 = {
fp1_yearly_2500_guest_trigger = yes
}
trait_is_criminal_in_faith_trigger = { TRAIT = trait:deviant FAITH = root.faith GENDER_CHARACTER = scope:deviant_guest }
trait_is_criminal_in_rite_trigger = { TRAIT = trait:deviant RITE = root.rite GENDER_CHARACTER = scope:deviant_guest }
any_held_title = {
title_tier = county
@ -2090,7 +2091,7 @@ fp1_yearly.2500 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
forgiving = medium_stress_impact_gain
compassionate = minor_stress_impact_gain
just = medium_stress_impact_gain
@ -2130,7 +2131,7 @@ fp1_yearly.2500 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
forgiving = major_stress_impact_gain
deviant = massive_stress_impact_gain
}
@ -2155,7 +2156,7 @@ fp1_yearly.2500 = {
base = 100
}
stress_impact = {
stress_and_fulfillment_impact = {
zealous = major_stress_impact_gain
just = medium_stress_impact_gain
}
@ -2192,7 +2193,7 @@ fp1_yearly.2500 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
chaste = major_stress_impact_gain
temperate = major_stress_impact_gain
}
@ -2233,8 +2234,8 @@ fp1_yearly.2600 = {
religion = religion:folk_germanic_religion
}
faith = {
has_doctrine = tenet_warmonger
rite = {
rite_has_tenet = tenet_warmonger
}
NOR = {
@ -2353,7 +2354,7 @@ fp1_yearly.2600 = {
trigger_event = fp1_yearly.2601
}
stress_impact = {
stress_and_fulfillment_impact = {
calm = massive_stress_impact_gain
lazy = massive_stress_impact_gain
patient = major_stress_impact_gain
@ -2377,7 +2378,7 @@ fp1_yearly.2600 = {
custom_tooltip = fp1_yearly.2600.b.tt
stress_impact = {
stress_and_fulfillment_impact = {
impatient = massive_stress_impact_gain
wrathful = massive_stress_impact_gain
sadistic = medium_stress_impact_gain