revert Alignment
This commit is contained in:
Vannifar 2026-04-25 10:02:11 +02:00
parent 15a5108e23
commit c4b6d9bdeb
250 changed files with 11067 additions and 16365 deletions

View file

@ -954,7 +954,7 @@ ep3_laamp_flavour_ewan.0011 = {
title = ep3_laamp_flavour_ewan.0011.a.tt.failure
left_icon = scope:mockee
scope:mockee = {
add_opinion = {
reverse_add_opinion = {
target = root
modifier = humiliated_opinion
opinion = -30
@ -1021,7 +1021,7 @@ ep3_laamp_flavour_ewan.0011 = {
title = ep3_laamp_flavour_ewan.0011.b.tt.failure
left_icon = scope:mocker
scope:mocker = {
add_opinion = {
reverse_add_opinion = {
target = root
modifier = humiliated_opinion
opinion = -30
@ -8980,29 +8980,48 @@ ep3_laamp_flavour_ewan.2002 = {
}
immediate = {
# Sort our courtiers.
## First, get our scope:follower_1 candidate.
random_courtier = {
while = {
count = 10
limit = {
ep3_laamp_flavour_ewan_2001_courtier_1_trigger = yes
save_temporary_scope_as = char_temp
root = {
any_courtier = {
ep3_laamp_flavour_ewan_2001_courtier_2_trigger = { TARGET = scope:char_temp }
NOT = { exists = scope:follower_2 }
}
# Sort our courtiers.
## First, get our scope:follower_1 candidate.
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2001_courtier_1_trigger = yes
NOT = { is_in_list = checked_courtier_1_candidates_list }
}
save_scope_as = follower_1
add_to_list = checked_courtier_1_candidates_list
}
## Now, find a scope:follower_2 from their opinion of the scope:follower_1 candidates.
if = {
limit = { exists = scope:follower_1 }
ordered_courtier = {
limit = {
ep3_laamp_flavour_ewan_2001_courtier_2_trigger = { TARGET = scope:follower_1 }
}
order_by = "opinion(scope:follower_1)"
save_scope_as = follower_2
}
# And, wipe our checks so we can iterate the loop if required.
if = {
limit = {
NOT = { exists = scope:follower_2 }
}
clear_saved_scope = follower_1
}
}
save_scope_as = follower_1
}
## Now, find a scope:follower_2 from their opinion of the scope:follower_1 candidates.
ordered_courtier = {
# If we've actually got our dudes, proceed to the event.
if = {
limit = {
ep3_laamp_flavour_ewan_2001_courtier_2_trigger = { TARGET = scope:follower_1 }
exists = scope:follower_1
exists = scope:follower_2
}
order_by = "opinion(scope:follower_1)"
save_scope_as = follower_2
trigger_event = ep3_laamp_flavour_ewan.2001
}
trigger_event = ep3_laamp_flavour_ewan.2001
}
}
@ -9029,7 +9048,7 @@ scripted_trigger ep3_laamp_flavour_ewan_2011_secret_lover_would_be_affair_trigge
NOT = {
trait_is_shunned_or_criminal_in_faith_trigger = {
FAITH = faith
TRAIT = trait:adulterer
TRAIT = adulterer
GENDER_CHARACTER = root
}
}
@ -10477,7 +10496,9 @@ scripted_trigger ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_pre
# Must have matching sexualities & the right legalities in place.
is_attracted_to_gender_of = $TARGET$
$TARGET$ = { is_attracted_to_gender_of = prev }
could_marry_character_trigger = { CHARACTER = $TARGET$ }
allowed_to_marry_character_gender_trigger = { CHARACTER = $TARGET$ }
# Avoid pairing up people that are already somehow related to each other
NOT = { is_close_or_extended_family_of = $TARGET$ }
# Ensure our ages aren't too far apart — not that this couldn't happen, but huge age gaps are a big verisimilitude problem for many players.
age >= {
value = $TARGET$.age
@ -10828,39 +10849,58 @@ ep3_laamp_flavour_ewan.2022 = {
}
immediate = {
# Alright, let's select our lovebirds.
## First, pick a scope:follower_1 candidate.
random_courtier = {
while = {
count = 10
limit = {
ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_general_trigger = yes
save_temporary_scope_as = char_temp
root = {
any_courtier = {
ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_precise_trigger = { TARGET = scope:char_temp }
NOT = { exists = scope:follower_2 }
}
# Alright, let's select our lovebirds.
## First, pick a scope:follower_1 candidate.
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_general_trigger = yes
NOT = { is_in_list = checked_courtier_1_candidates_list }
}
save_scope_as = follower_1
add_to_list = checked_courtier_1_candidates_list
}
## Now, nab a suitable pair.
if = {
limit = { exists = scope:follower_1 }
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_precise_trigger = { TARGET = scope:follower_1 }
}
weight = {
opinion_modifier = {
opinion_target = scope:follower_1
multiplier = 0.5
}
opinion_modifier = {
who = scope:follower_1
opinion_target = this
multiplier = 0.5
}
}
save_scope_as = follower_2
}
# And, wipe our checks so we can iterate the loop if required.
if = {
limit = {
NOT = { exists = scope:follower_2 }
}
clear_saved_scope = follower_1
}
}
save_scope_as = follower_1
}
## Now, nab a suitable pair.
random_courtier = {
# If we've actually got our dudes, proceed to the event.
if = {
limit = {
ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_precise_trigger = { TARGET = scope:follower_1 }
exists = scope:follower_1
exists = scope:follower_2
}
weight = {
opinion_modifier = {
opinion_target = scope:follower_1
multiplier = 0.5
}
opinion_modifier = {
who = scope:follower_1
opinion_target = this
multiplier = 0.5
}
}
save_scope_as = follower_2
trigger_event = ep3_laamp_flavour_ewan.2021
}
trigger_event = ep3_laamp_flavour_ewan.2021
}
}
@ -11216,7 +11256,7 @@ scripted_trigger ep3_laamp_flavour_ewan_2041_valid_courtier_to_gain_lover_genera
OR = {
trait_is_criminal_in_faith_trigger = {
FAITH = faith
TRAIT = trait:adulterer
TRAIT = adulterer
GENDER_CHARACTER = this
}
AND = {
@ -11506,49 +11546,68 @@ ep3_laamp_flavour_ewan.2042 = {
save_temporary_scope_as = char_temp
root = {
any_courtier = {
ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_precise_trigger = { TARGET = scope:char_temp }
ep3_laamp_flavour_ewan_2041_valid_courtier_to_gain_lover_precise_trigger = { TARGET = scope:char_temp }
}
}
}
}
immediate = {
# Alright, let's select our lovebirds.
## First up, pick an appropriate character.
random_courtier = {
while = {
count = 10
limit = {
ep3_laamp_flavour_ewan_2041_valid_courtier_to_gain_lover_general_trigger = yes
save_temporary_scope_as = char_temp
root = {
any_courtier = {
ep3_laamp_flavour_ewan_2041_valid_courtier_to_gain_lover_precise_trigger = { TARGET = scope:char_temp }
NOT = { exists = scope:follower_2 }
}
# Alright, let's select our lovebirds.
## First up, pick an appropriate character.
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2041_valid_courtier_to_gain_lover_general_trigger = yes
NOT = { is_in_list = checked_courtier_1_candidates_list }
}
save_scope_as = follower_1
add_to_list = checked_courtier_1_candidates_list
}
## Now, nab a suitable pair.
if = {
limit = { exists = scope:follower_1 }
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_precise_trigger = { TARGET = scope:follower_1 }
}
weight = {
modifier = {
add = attraction
always = yes
}
modifier = {
add = 50
has_trait = lustful
}
modifier = {
add = -50
has_trait = chaste
}
}
save_scope_as = follower_2
}
# And, wipe our checks so we can iterate the loop if required.
if = {
limit = {
NOT = { exists = scope:follower_2 }
}
clear_saved_scope = follower_1
}
}
save_scope_as = follower_1
}
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2021_valid_courtier_for_own_marriage_precise_trigger = { TARGET = scope:follower_1 }
}
weight = {
modifier = {
add = attraction
always = yes
}
modifier = {
add = 50
has_trait = lustful
}
modifier = {
add = -50
has_trait = chaste
}
}
save_scope_as = follower_2
}
# If we've actually got our dudes, proceed to the event.
trigger_event = ep3_laamp_flavour_ewan.2041
if = {
limit = {
exists = scope:follower_1
exists = scope:follower_2
}
trigger_event = ep3_laamp_flavour_ewan.2041
}
}
}
@ -11994,66 +12053,85 @@ ep3_laamp_flavour_ewan.2062 = {
}
immediate = {
# Find our best courtiers.
## First, grabbing a valid annoyed char.
random_courtier = {
while = {
count = 10
limit = {
ep3_laamp_flavour_ewan_2061_valid_angry_courtier_general_trigger = yes
save_temporary_scope_as = char_temp
root = {
any_courtier = {
ep3_laamp_flavour_ewan_2061_valid_angry_courtier_precise_trigger = { TARGET = scope:char_temp }
NOT = { exists = scope:thief }
}
# Find our best courtiers.
## First, grabbing a valid annoyed char.
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2061_valid_angry_courtier_general_trigger = yes
NOT = { is_in_list = checked_courtier_1_candidates_list }
}
save_scope_as = victim
add_to_list = checked_courtier_1_candidates_list
}
## Then processing out a good thief.
if = {
limit = { exists = scope:victim }
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2061_valid_angry_courtier_precise_trigger = { TARGET = scope:victim }
}
weight = {
modifier = {
add = 20
has_trait = wrathful
}
modifier = {
add = 15
has_trait = deceitful
}
modifier = {
add = 5
has_trait = arrogant
}
modifier = {
add = 10
has_trait = arbitrary
}
modifier = {
add = -20
has_trait = just
}
modifier = {
add = 5
has_trait = fickle
}
modifier = {
add = 15
has_trait = vengeful
}
modifier = {
add = -15
has_trait = forgiving
}
modifier = {
add = -15
has_trait = honest
}
}
save_scope_as = thief
}
# And, wipe our checks so we can iterate the loop if required.
if = {
limit = {
NOT = { exists = scope:thief }
}
clear_saved_scope = victim
}
}
save_scope_as = victim
}
## Then processing out a good thief.
random_courtier = {
# If we've actually got our dudes, proceed to the event.
if = {
limit = {
ep3_laamp_flavour_ewan_2061_valid_angry_courtier_precise_trigger = { TARGET = scope:victim }
exists = scope:victim
exists = scope:thief
}
weight = {
modifier = {
add = 20
has_trait = wrathful
}
modifier = {
add = 15
has_trait = deceitful
}
modifier = {
add = 5
has_trait = arrogant
}
modifier = {
add = 10
has_trait = arbitrary
}
modifier = {
add = -20
has_trait = just
}
modifier = {
add = 5
has_trait = fickle
}
modifier = {
add = 15
has_trait = vengeful
}
modifier = {
add = -15
has_trait = forgiving
}
modifier = {
add = -15
has_trait = honest
}
}
save_scope_as = thief
trigger_event = ep3_laamp_flavour_ewan.2061
}
trigger_event = ep3_laamp_flavour_ewan.2061
}
}
@ -12631,7 +12709,6 @@ ep3_laamp_flavour_ewan.2081 = {
scripted_trigger ep3_laamp_flavour_ewan_2091_valid_angry_courtier_general_trigger = {
ep3_laamp_flavour_ewan_available_courtier_trigger = yes
is_of_major_or_minor_interest_trigger = { CHARACTER = root }
# Mustn't have a deescalatory personality.
NOR = {
has_trait = patient
@ -12683,14 +12760,12 @@ ep3_laamp_flavour_ewan.2091 = {
left_portrait = {
character = scope:attacker
animation = random_weapon_aggressive
camera = camera_event_very_left
}
right_portrait = {
character = scope:defender
animation = shock
}
override_background = { reference = ep3_campfire }
override_effect_2d = { reference = smoke }
immediate = {
if = {
@ -12964,70 +13039,90 @@ ep3_laamp_flavour_ewan.2093 = {
}
immediate = {
# Find our best courtiers.
## First, grab a suitable candidate.
random_courtier = {
while = {
count = 10
limit = {
ep3_laamp_flavour_ewan_2091_valid_angry_courtier_general_trigger = yes
save_temporary_scope_as = char_temp
root = {
any_courtier = {
ep3_laamp_flavour_ewan_2091_valid_angry_courtier_precise_trigger = { TARGET = scope:char_temp }
NOT = { exists = scope:attacker }
}
# Find our best courtiers.
## First, grab a suitable candidate.
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2091_valid_angry_courtier_general_trigger = yes
NOT = { is_in_list = checked_courtier_1_candidates_list }
}
save_scope_as = defender
add_to_list = checked_courtier_1_candidates_list
}
## Then processing out a good one.
if = {
limit = { exists = scope:defender }
random_courtier = {
limit = {
ep3_laamp_flavour_ewan_2091_valid_angry_courtier_precise_trigger = { TARGET = scope:defender }
}
weight = {
modifier = {
add = 20
has_trait = wrathful
}
modifier = {
add = 15
has_trait = deceitful
}
modifier = {
add = 5
has_trait = arrogant
}
modifier = {
add = 10
has_trait = arbitrary
}
modifier = {
add = -20
has_trait = just
}
modifier = {
add = 5
has_trait = fickle
}
modifier = {
add = 15
has_trait = vengeful
}
modifier = {
add = -15
has_trait = forgiving
}
modifier = {
add = -15
has_trait = honest
}
opinion_modifier = {
who = this
opinion_target = scope:defender
multiplier = -0.5
}
}
save_scope_as = attacker
}
# And, wipe our checks so we can iterate the loop if required.
if = {
limit = {
NOT = { exists = scope:attacker }
}
clear_saved_scope = defender
}
}
save_scope_as = defender
}
random_courtier = {
# If we've actually got our dudes, proceed to the event.
if = {
limit = {
ep3_laamp_flavour_ewan_2091_valid_angry_courtier_precise_trigger = { TARGET = scope:defender }
exists = scope:defender
exists = scope:attacker
}
weight = {
modifier = {
add = 20
has_trait = wrathful
}
modifier = {
add = 15
has_trait = deceitful
}
modifier = {
add = 5
has_trait = arrogant
}
modifier = {
add = 10
has_trait = arbitrary
}
modifier = {
add = -20
has_trait = just
}
modifier = {
add = 5
has_trait = fickle
}
modifier = {
add = 15
has_trait = vengeful
}
modifier = {
add = -15
has_trait = forgiving
}
modifier = {
add = -15
has_trait = honest
}
opinion_modifier = {
who = this
opinion_target = scope:defender
multiplier = -0.5
}
}
save_scope_as = attacker
trigger_event = ep3_laamp_flavour_ewan.2091
}
trigger_event = ep3_laamp_flavour_ewan.2091
}
}
@ -17746,41 +17841,39 @@ ep3_laamp_flavour_ewan.4041 = {
value = flag:earthquake
}
# If this isn't the direct holding of a player, cause some serious damage.
location.county = {
holder = {
if = {
limit = {
is_ai = yes
}
random_courtier = {
limit = { location = prev.location }
death = { death_reason = death_consumed_by_earthquake }
}
random_courtier = {
limit = { location = prev.location }
death = { death_reason = death_consumed_by_earthquake }
}
random_courtier = {
limit = { location = prev.location }
death = { death_reason = death_consumed_by_earthquake }
}
random_courtier = {
limit = { location = prev.location }
death = { death_reason = death_consumed_by_earthquake }
}
prev = {
change_development_level = {
integer_range = {
min = -35
max = -10
}
location.county.holder = {
if = {
limit = {
NOT = { is_ai = yes }
}
random_courtier = {
limit = { location = prev.location }
death = { death_reason = death_consumed_by_earthquake }
}
random_courtier = {
limit = { location = prev.location }
death = { death_reason = death_consumed_by_earthquake }
}
random_courtier = {
limit = { location = prev.location }
death = { death_reason = death_consumed_by_earthquake }
}
random_courtier = {
limit = { location = prev.location }
death = { death_reason = death_consumed_by_earthquake }
}
prev = {
change_development_level = {
integer_range = {
min = -35
max = -10
}
change_county_control = -100
}
random = {
chance = 20
death = { death_reason = death_consumed_by_earthquake }
}
change_county_control = -100
}
random = {
chance = 20
death = { death_reason = death_consumed_by_earthquake }
}
}
}