N3OW/events/dlc/ce1/legend_events.txt
2026-01-06 14:25:21 +01:00

790 lines
17 KiB
Text

namespace = legend_events
############################
## Legend Spawn Events
## 0001-1000
## by James Beaumont
############################
# legend_events.0001 - Chronicler gives you a legend seed
# legend_events.0010 - Chronicler convinces someone to promote your legend
# legend_events.0020 - Hold Court presentation of a legend seed
# Chronicler gives you a legend seed :D
legend_events.0001 = {
type = character_event
title = legend_events.0001.t
desc = {
desc = legend_events.0001.desc.intro
first_valid = {
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:slew_dragon
}
desc = legend_events.0001.desc.mid.slew_dragon
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:ancestral_saint
}
desc = legend_events.0001.desc.mid.ancestral_saint
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:old_godly_descent
}
desc = legend_events.0001.desc.mid.old_godly_descent
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:raised_by_animals
}
desc = legend_events.0001.desc.mid.raised_by_animals
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:auspicious_stars
}
desc = legend_events.0001.desc.mid.auspicious_stars
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:virgin_birth
}
desc = legend_events.0001.desc.mid.virgin_birth
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:spoke_to_angels
}
desc = legend_events.0001.desc.mid.spoke_to_angels
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:fought_the_devil
}
desc = legend_events.0001.desc.mid.fought_the_devil
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:exotic_backstory
}
desc = legend_events.0001.desc.mid.exotic_backstory
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:ancient_people
}
desc = legend_events.0001.desc.mid.ancient_people
}
}
desc = legend_events.0001.desc.outro
}
theme = legend
left_portrait = {
character = root
animation = personality_honorable
}
right_portrait = {
character = scope:chronicler
animation = chancellor
}
lower_center_portrait = {
trigger = {
exists = scope:legend_character
}
character = scope:legend_character
}
# The Court Chronicler needs to be alive
trigger = {
scope:chronicler = {
is_alive = yes
}
}
immediate = {
random_list = { # Determine the seed to hand out
10 = { # Ancestor killed a dragon
trigger = {
any_ancestor = {
even_if_dead = yes
is_adult = yes
is_alive = no
}
NOT = { has_game_rule = historical_legends_only }
}
random_ancestor = {
even_if_dead = yes
limit = {
is_adult = yes
is_alive = no
}
weight = {
base = 1
modifier = {
add = prowess
}
modifier = {
add = martial
}
}
save_scope_as = legend_character
}
set_variable = {
name = legend_seed_to_give
value = flag:slew_dragon
}
}
10 = { # Ancestor was/should be a saint
trigger = {
any_ancestor = {
even_if_dead = yes
is_adult = yes
is_alive = no
}
NOT = { has_game_rule = historical_legends_only }
}
random_ancestor = {
even_if_dead = yes
limit = {
is_adult = yes
is_alive = no
}
weight = {
base = 1
modifier = {
add = learning
}
modifier = {
factor = 3
OR = {
num_virtuous_traits = {
target = root.faith
value >= 1
}
has_trait = saint
}
}
modifier = {
factor = 0.1
OR = {
num_sinful_traits = {
target = root.faith
value >= 1
}
has_trait = excommunicated
}
}
}
save_scope_as = legend_character
}
set_variable = {
name = legend_seed_to_give
value = flag:ancestral_saint
}
}
10 = { # I am descended from an old God
trigger = {
NOT = { religion = { is_in_family = rf_pagan } }
any_ancestor = {
even_if_dead = yes
is_alive = no
religion = { is_in_family = rf_pagan }
}
NOT = { has_game_rule = historical_legends_only }
}
random_ancestor = {
even_if_dead = yes
limit = {
religion = { is_in_family = rf_pagan }
is_alive = no
}
weight = {
base = 1
modifier = {
add = learning
}
modifier = {
factor = 3
OR = {
num_virtuous_traits = {
target = root.faith
value >= 1
}
has_trait = saint
}
}
modifier = {
factor = 0.1
OR = {
num_sinful_traits = {
target = root.faith
value >= 1
}
has_trait = excommunicated
}
}
}
save_scope_as = legend_character
}
set_variable = {
name = legend_seed_to_give
value = flag:old_godly_descent
}
}
10 = { # I was raised by dangerous animals
trigger = {
NOT = { has_game_rule = historical_legends_only }
}
select_local_animal_effect = { TYPE = dangerous }
set_variable = {
name = legend_seed_to_give
value = flag:raised_by_animals
}
}
10 = { # Born under auspicious stars
trigger = {
NOT = { has_game_rule = historical_legends_only }
}
set_variable = {
name = legend_seed_to_give
value = flag:auspicious_stars
}
}
10 = { # Virgin birth
trigger = {
has_any_bastard_trait_trigger = yes
NOT = { has_game_rule = historical_legends_only }
}
set_variable = {
name = legend_seed_to_give
value = flag:virgin_birth
}
}
10 = { # Spoke to an angel
trigger = {
religion_has_angels_trigger = yes
NOT = { has_game_rule = historical_legends_only }
}
set_variable = {
name = legend_seed_to_give
value = flag:spoke_to_angels
}
}
10 = { # Fought a demon
trigger = {
NOT = { has_game_rule = historical_legends_only }
}
set_variable = {
name = legend_seed_to_give
value = flag:fought_the_devil
}
}
10 = { # Exotic backstory
get_appropriate_exotic_location = yes
set_variable = {
name = legend_seed_to_give
value = flag:exotic_backstory
}
}
10 = { # Ancient people
trigger = {
# The ancient cultures we have for now aren't appropriate for these regions
root.culture = {
NOR = {
culture_overlaps_geographical_region = world_burma
culture_overlaps_geographical_region = custom_arakan_mountains
culture_overlaps_geographical_region = world_tibet
}
}
}
get_appropriate_ancient_people = yes
set_variable = {
name = legend_seed_to_give
value = flag:ancient_people
}
}
}
}
option = { # Wowie zowie, really?
name = legend_events.0001.a
if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:slew_dragon
}
create_legend_seed = {
type = heroic
quality = famed
chronicle = beast_slayer
properties = {
beast = flag:dragon
location = root.location
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:ancestral_saint
}
create_legend_seed = {
type = holy
quality = famed
chronicle = saintly_deed
properties = {
ancestor = scope:legend_character
religion = root.religion
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:old_godly_descent
}
generate_religion_descent_effect = {
RELIGION = scope:legend_character.religion
GOD = high_god
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:raised_by_animals
}
create_legend_seed = {
type = heroic
quality = famed
chronicle = raised_by_animals
properties = {
beast = var:animal_type
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:auspicious_stars
}
create_legend_seed = {
type = holy
quality = famed
chronicle = sacred_birth
properties = {
reason = flag:auspicious
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:virgin_birth
}
create_legend_seed = {
type = holy
quality = famed
chronicle = sacred_birth
properties = {
reason = flag:virgin
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:spoke_to_angels
}
create_legend_seed = {
type = holy
quality = famed
chronicle = divine_intervention
properties = {
god = flag:the_angels
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:fought_the_devil
}
create_legend_seed = {
type = holy
quality = famed
chronicle = fought_devil
properties = {
faith = root.faith
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:exotic_backstory
}
create_legend_seed = {
type = heroic
quality = famed
chronicle = exotic_backstory
properties = {
location = scope:exotic_location
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:ancient_people
}
create_legend_seed = {
type = legitimizing
quality = famed
chronicle = ancient_people
properties = {
culture = scope:ancient_culture
title = root.primary_title
original_region = var:original_region
}
}
}
ai_chance = {
base = 100
}
}
option = { # I don't want this legend
name = legend_events.0001.b
ai_chance = {
base = 0
}
}
}
# Chronicler convinces someone to promote your legend
legend_events.0010 = {
type = character_event
title = legend_events.0010.t
desc = legend_events.0010.desc
theme = legend
left_portrait = {
character = root
animation = personality_honorable
}
center_portrait = {
character = scope:chronicler
animation = chancellor
}
right_portrait = {
character = scope:potential_promoter
animation = chancellor
}
option = { # Diplo duel option
name = legend_events.0010.a
duel = {
skill = diplomacy
target = scope:potential_promoter
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
modifier = { # Reluctant to drop their existing legend
scope:potential_promoter = { exists = promoted_legend }
factor = 0.5
}
send_interface_toast = {
title = legend_events.0010.a.success
scope:potential_promoter = {
set_promoted_legend = root.promoted_legend
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
modifier = { # Reluctant to drop their existing legend
scope:potential_promoter = { exists = promoted_legend }
factor = 2
}
send_interface_toast = {
title = legend_events.0010.a.failure
add_prestige = minor_prestige_loss
}
}
}
ai_chance = {
base = 100
modifier = { # I'd have better odds with option B
intrigue > diplomacy
factor = 0
}
}
}
option = { # Lie
name = legend_events.0010.b
duel = {
skill = intrigue
target = scope:potential_promoter
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
modifier = { # Reluctant to drop their existing legend
scope:potential_promoter = { exists = promoted_legend }
factor = 0.5
}
send_interface_toast = {
title = legend_events.0010.a.success
scope:potential_promoter = {
set_promoted_legend = root.promoted_legend
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
modifier = { # Reluctant to drop their existing legend
scope:potential_promoter = { exists = promoted_legend }
factor = 2
}
send_interface_toast = {
title = legend_events.0010.a.failure
add_prestige = minor_prestige_loss
}
}
}
stress_impact = {
honest = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = { # I'd have better odds with option A
intrigue < diplomacy
factor = 0
}
}
}
option = { # Nah not interested, go away.
name = legend_events.0010.c
ai_chance = {
base = 0
}
}
}
legend_events.0020 = { #hold court presentation of a potential seed
type = court_event
title = legend_events.0020.t
desc = legend_events.0020.desc
theme = legend
court_scene = {
button_position_character = scope:seed_presenter
court_event_force_open = yes
show_timeout_info = no
should_pause_time = yes
roles = {
scope:seed_presenter = {
group = petitioners_group
animation = personality_rational
}
}
}
widget = {
gui = "event_window_widget_event_chain_progress"
container = "custom_widgets_container"
controller = event_chain_progress
}
weight_multiplier = {
base = 1
modifier = {
factor = 2
court_grandeur_current_level > court_grandeur_minimum_expected_level
}
# Court weightings.
ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_diplomatic }
}
trigger = {
any_pool_guest = {
count >= 1
is_available_adult = yes
has_court_event_flag = no
culture != root.culture
opinion = {
target = root
value >= high_positive_opinion
}
}
NOR = {
has_personal_legend_seed = heroic
has_personal_legend_seed = holy
has_personal_legend_seed = legitimizing
}
}
immediate = {
random_pool_guest = {
limit = {
is_available_adult = yes
has_court_event_flag = no
culture != root.culture
opinion = {
target = root
value >= high_positive_opinion
}
}
save_scope_as = seed_presenter
court_event_character_flag_effect = yes
}
hold_court_queue_next_event_effect = yes
}
option = { #yes, it is my about my dynasty and I shall prove it!
name = legend_events.0020.a
legend_seed_great_deed_dynasty_effect = yes
culture = {
change_cultural_acceptance = {
target = scope:seed_presenter.culture
value = miniscule_positive_culture_acceptance
desc = cultural_acceptance_gain_hold_court_event_outcome
}
}
stress_impact = {
ambitious = minor_stress_loss
}
ai_chance = { #we want AI to have seeds
base = 100
}
}
option = { #yes, it is about me ruling the title and I shall prove it!
name = legend_events.0020.b
legend_seed_great_deed_title_effect = {
TITLE = root.primary_title
}
culture = {
change_cultural_acceptance = {
target = scope:seed_presenter.culture
value = miniscule_positive_culture_acceptance
desc = cultural_acceptance_gain_hold_court_event_outcome
}
}
stress_impact = {
ambitious = minor_stress_loss
}
ai_chance = { #we want AI to have seeds
base = 100
}
}
option = { #no, I don't need to humor your culture fairy tales
name = legend_events.0020.c
add_prestige = medium_prestige_gain
dynasty = {
add_dynasty_prestige = minor_dynasty_prestige_gain
}
culture = {
change_cultural_acceptance = {
target = scope:seed_presenter.culture
value = low_negative_culture_acceptance
desc = cultural_acceptance_gain_hold_court_event_outcome
}
}
stress_impact = {
ambitious = minor_stress_gain
compassionate = minor_stress_gain
callous = medium_stress_loss
sadistic = medium_stress_loss
}
ai_chance = { #we want AI to have seeds
base = 0
}
}
after = {
scope:seed_presenter = {
clear_court_event_participation = yes
}
# Finish up the chain if relevant.
hold_court_queue_post_event_effect = yes
}
}
legend_events.1000 = {
type = letter_event
opening = { desc = legend_events.1000.t }
desc = legend_events.1000.desc
sender = scope:legend_owner
immediate = {
scope:legend = {
legend_owner = { save_scope_as = legend_owner }
}
}
option = { #I did a silly
name = legend_events.1000.a
pay_short_term_gold = {
target = scope:legend_owner
gold = medium_gold_value
}
stress_impact = {
deceitful = major_stress_impact_loss
honest = medium_stress_impact_gain
just = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { #If you have really high Intrigue you get away with paying just half
name = legend_events.1000.b
trigger = {
intrigue >= very_high_skill_rating
}
#trait = deceitful
pay_short_term_gold = {
target = scope:legend_owner
gold = {
value = medium_gold_value
multiply = 0.5
}
}
stress_impact = {
deceitful = massive_stress_impact_loss
honest = major_stress_impact_gain
just = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
after = {
remove_variable = accepted_promote_legend_var
}
}