More rel bugs
This commit is contained in:
parent
16e7f0de2a
commit
c6d5c01c61
125 changed files with 337211 additions and 3069 deletions
720
events/dlc/ach/ach_maintenance_events.txt
Normal file
720
events/dlc/ach/ach_maintenance_events.txt
Normal file
|
|
@ -0,0 +1,720 @@
|
|||
namespace = ach_maintenance_events
|
||||
|
||||
ach_maintenance_events.0001 = { # Clean up of Coronation realm law, will happen 1 tick after you gain the title (due to on_actions)
|
||||
type = character_event
|
||||
hidden = yes
|
||||
|
||||
trigger = {
|
||||
coronation_trigger = yes
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
NOT = {
|
||||
has_game_rule = coronation_laws_off
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
has_variable = crowned_king_var
|
||||
NOT = { has_realm_law = crowned_king }
|
||||
}
|
||||
add_realm_law_skip_effects = crowned_king
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
has_variable = crowned_emperor_var
|
||||
NOT = { has_realm_law = crowned_emperor }
|
||||
}
|
||||
add_realm_law_skip_effects = crowned_emperor
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
NOR = {
|
||||
has_variable = crowned_king_var
|
||||
has_variable = crowned_emperor_var
|
||||
}
|
||||
NOT = { has_realm_law = uncrowned }
|
||||
}
|
||||
add_realm_law_skip_effects = uncrowned
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ach_maintenance_events.0002 = { # ACH Oath synergy culture rewards
|
||||
type = character_event
|
||||
hidden = yes
|
||||
|
||||
trigger = {
|
||||
has_variable = mend_the_fracture_oath_target_culture
|
||||
culture ?= {
|
||||
has_cultural_tradition = oath_mend_the_fracture_tradition
|
||||
}
|
||||
top_liege = root
|
||||
var:mend_the_fracture_oath_target_culture = {
|
||||
has_cultural_tradition = oath_mend_the_fracture_tradition
|
||||
NOT = { this = root.culture }
|
||||
any_culture_county = {
|
||||
count >= 3
|
||||
top_liege = root.top_liege
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
# calculate the chances of a positive thing happening
|
||||
set_variable = {
|
||||
name = synergy_cultures_chance
|
||||
value = 0.1
|
||||
}
|
||||
set_variable = {
|
||||
name = synergy_cultures_amount
|
||||
value = 0
|
||||
}
|
||||
var:mend_the_fracture_oath_target_culture = {
|
||||
if = {
|
||||
limit = {
|
||||
cultural_acceptance = {
|
||||
target = root.culture
|
||||
value >= 99
|
||||
}
|
||||
}
|
||||
root = {
|
||||
change_variable = {
|
||||
name = synergy_cultures_chance
|
||||
add = 0.4
|
||||
}
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
cultural_acceptance = {
|
||||
target = root.culture
|
||||
value >= 80
|
||||
}
|
||||
}
|
||||
root = {
|
||||
change_variable = {
|
||||
name = synergy_cultures_chance
|
||||
add = 0.3
|
||||
}
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
cultural_acceptance = {
|
||||
target = root.culture
|
||||
value >= 60
|
||||
}
|
||||
}
|
||||
root = {
|
||||
change_variable = {
|
||||
name = synergy_cultures_chance
|
||||
add = 0.2
|
||||
}
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
cultural_acceptance = {
|
||||
target = root.culture
|
||||
value >= 40
|
||||
}
|
||||
}
|
||||
root = {
|
||||
change_variable = {
|
||||
name = synergy_cultures_chance
|
||||
add = 0.1
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
culture_head ?= {
|
||||
opinion = {
|
||||
target = root
|
||||
value >= 80
|
||||
}
|
||||
}
|
||||
}
|
||||
root = {
|
||||
change_variable = {
|
||||
name = synergy_cultures_chance
|
||||
add = 0.3
|
||||
}
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
culture_head ?= {
|
||||
opinion = {
|
||||
target = root
|
||||
value >= 40
|
||||
}
|
||||
}
|
||||
}
|
||||
root = {
|
||||
change_variable = {
|
||||
name = synergy_cultures_chance
|
||||
add = 0.2
|
||||
}
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
culture_head ?= {
|
||||
opinion = {
|
||||
target = root
|
||||
value >= 20
|
||||
}
|
||||
}
|
||||
}
|
||||
root = {
|
||||
change_variable = {
|
||||
name = synergy_cultures_chance
|
||||
add = 0.1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = var:mend_the_fracture_oath_target_culture.culture_head
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
opinion = {
|
||||
target = var:mend_the_fracture_oath_target_culture.culture_head
|
||||
value >= 80
|
||||
}
|
||||
}
|
||||
root = {
|
||||
change_variable = {
|
||||
name = synergy_cultures_chance
|
||||
add = 0.3
|
||||
}
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
opinion = {
|
||||
target = var:mend_the_fracture_oath_target_culture.culture_head
|
||||
value >= 40
|
||||
}
|
||||
}
|
||||
root = {
|
||||
change_variable = {
|
||||
name = synergy_cultures_chance
|
||||
add = 0.2
|
||||
}
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
opinion = {
|
||||
target = var:mend_the_fracture_oath_target_culture.culture_head
|
||||
value >= 20
|
||||
}
|
||||
}
|
||||
root = {
|
||||
change_variable = {
|
||||
name = synergy_cultures_chance
|
||||
add = 0.1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = {
|
||||
prestige_level = 5
|
||||
}
|
||||
change_variable = {
|
||||
name = synergy_cultures_chance
|
||||
add = 0.2
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
prestige_level = 4
|
||||
}
|
||||
change_variable = {
|
||||
name = synergy_cultures_chance
|
||||
add = 0.15
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
prestige_level = 3
|
||||
}
|
||||
change_variable = {
|
||||
name = synergy_cultures_chance
|
||||
add = 0.1
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
prestige_level = 2
|
||||
}
|
||||
change_variable = {
|
||||
name = synergy_cultures_chance
|
||||
add = 0.05
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
prestige_level = 1
|
||||
}
|
||||
change_variable = {
|
||||
name = synergy_cultures_chance
|
||||
add = 0.02
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if = {
|
||||
limit = {
|
||||
var:synergy_cultures_chance >= 1
|
||||
}
|
||||
change_variable = {
|
||||
name = synergy_cultures_amount
|
||||
add = var:synergy_cultures_chance
|
||||
multiply = 2
|
||||
}
|
||||
set_variable = {
|
||||
name = synergy_cultures_chance
|
||||
value = 1
|
||||
}
|
||||
}
|
||||
|
||||
# calculate the amount of a positive things happening
|
||||
var:mend_the_fracture_oath_target_culture = {
|
||||
every_culture_county = {
|
||||
limit = {
|
||||
top_liege = root.top_liege
|
||||
}
|
||||
change_variable = {
|
||||
name = synergy_cultures_amount
|
||||
add = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
change_variable = {
|
||||
name = synergy_cultures_amount
|
||||
multiply = 0.2
|
||||
multiply = var:synergy_cultures_chance
|
||||
min = 1
|
||||
}
|
||||
|
||||
while = {
|
||||
limit = {
|
||||
var:synergy_cultures_amount > 0
|
||||
}
|
||||
random_list = {
|
||||
1 = {
|
||||
culture ?= {
|
||||
random_culture_county = {
|
||||
limit = {
|
||||
NOT = {
|
||||
has_county_modifier = oath_mend_the_fracture_county
|
||||
}
|
||||
holder = root
|
||||
}
|
||||
alternative_limit = {
|
||||
NOT = {
|
||||
has_county_modifier = oath_mend_the_fracture_county
|
||||
}
|
||||
top_liege = root.top_liege
|
||||
}
|
||||
alternative_limit = {
|
||||
NOT = {
|
||||
has_county_modifier = oath_mend_the_fracture_county
|
||||
}
|
||||
}
|
||||
add_county_modifier = {
|
||||
modifier = oath_mend_the_fracture_county
|
||||
years = 2
|
||||
}
|
||||
add_to_list = synergy_culture_counties
|
||||
}
|
||||
}
|
||||
var:mend_the_fracture_oath_target_culture = {
|
||||
random_culture_county = {
|
||||
limit = {
|
||||
NOT = {
|
||||
has_county_modifier = oath_mend_the_fracture_county
|
||||
}
|
||||
holder = root
|
||||
}
|
||||
alternative_limit = {
|
||||
NOT = {
|
||||
has_county_modifier = oath_mend_the_fracture_county
|
||||
}
|
||||
top_liege = root.top_liege
|
||||
}
|
||||
alternative_limit = {
|
||||
NOT = {
|
||||
has_county_modifier = oath_mend_the_fracture_county
|
||||
}
|
||||
}
|
||||
add_county_modifier = {
|
||||
modifier = oath_mend_the_fracture_county
|
||||
years = 3
|
||||
}
|
||||
add_to_list = synergy_culture_counties
|
||||
}
|
||||
}
|
||||
save_scope_as = county_reward
|
||||
}
|
||||
1 = {
|
||||
modifier = {
|
||||
NOT = {
|
||||
root.culture.culture_head ?= root
|
||||
}
|
||||
factor = 0
|
||||
}
|
||||
spawn_army = {
|
||||
name = ach_culture_synergy_troops
|
||||
men_at_arms = {
|
||||
type = accolade_maa_archers
|
||||
stacks = 1
|
||||
}
|
||||
men_at_arms = {
|
||||
type = accolade_maa_skirmishers
|
||||
stacks = 1
|
||||
}
|
||||
location = root.capital_province
|
||||
uses_supply = no
|
||||
inheritable = yes
|
||||
}
|
||||
var:mend_the_fracture_oath_target_culture = {
|
||||
if = {
|
||||
limit = {
|
||||
NOT = {
|
||||
culture_head ?= root
|
||||
}
|
||||
}
|
||||
}
|
||||
culture_head ?= {
|
||||
spawn_army = {
|
||||
name = ach_culture_synergy_troops
|
||||
men_at_arms = {
|
||||
type = accolade_maa_skirmishers
|
||||
stacks = 1
|
||||
}
|
||||
location = root.capital_province
|
||||
uses_supply = no
|
||||
inheritable = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
save_scope_as = army_reward
|
||||
}
|
||||
1 = {
|
||||
modifier = {
|
||||
NOT = {
|
||||
root.culture.culture_head ?= root
|
||||
var:mend_the_fracture_oath_target_culture.culture_head != root
|
||||
}
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
opinion = {
|
||||
target = var:mend_the_fracture_oath_target_culture.culture_head
|
||||
value = 100
|
||||
}
|
||||
factor = 0
|
||||
}
|
||||
add_opinion = {
|
||||
target = var:mend_the_fracture_oath_target_culture.culture_head
|
||||
opinion = 20
|
||||
modifier = ach_synergy_culture_opinion
|
||||
}
|
||||
save_scope_as = opinion_reward
|
||||
}
|
||||
}
|
||||
|
||||
change_variable = {
|
||||
name = synergy_cultures_amount
|
||||
subtract = 1
|
||||
}
|
||||
}
|
||||
|
||||
# inform the player about what happened
|
||||
send_interface_message = {
|
||||
title = ach_maintenance_events.0002.title
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:army_reward
|
||||
}
|
||||
custom_tooltip = ach_maintenance_events.0002.army_reward
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:opinion_reward
|
||||
}
|
||||
custom_tooltip = ach_maintenance_events.0002.opinion_reward
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:county_reward
|
||||
}
|
||||
every_in_list = {
|
||||
list = synergy_culture_counties
|
||||
show_as_tooltip = {
|
||||
add_county_modifier = {
|
||||
modifier = oath_mend_the_fracture_county
|
||||
years = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = {
|
||||
var:mend_the_fracture_oath_target_culture = {
|
||||
any_culture_county = {
|
||||
holder = {
|
||||
culture = var:mend_the_fracture_oath_target_culture
|
||||
is_ai = no
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
send_interface_message = {
|
||||
title = ach_maintenance_events.0002.title
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:army_reward
|
||||
}
|
||||
custom_tooltip = ach_maintenance_events.0002.army_reward
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:opinion_reward
|
||||
}
|
||||
custom_tooltip = ach_maintenance_events.0002.opinion_reward
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:county_reward
|
||||
}
|
||||
every_in_list = {
|
||||
list = synergy_culture_counties
|
||||
show_as_tooltip = {
|
||||
add_county_modifier = {
|
||||
modifier = oath_mend_the_fracture_county
|
||||
years = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
remove_variable = synergy_cultures_chance
|
||||
remove_variable = synergy_cultures_amount
|
||||
}
|
||||
}
|
||||
|
||||
ach_maintenance_events.0100 = { #Coronation host is ded, notify guests
|
||||
type = character_event
|
||||
title = ach_maintenance_events.0100.t
|
||||
desc = ach_maintenance_events.0100.desc
|
||||
theme = realm
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = shock
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = scope:host
|
||||
animation = dead
|
||||
}
|
||||
|
||||
immediate = {
|
||||
|
||||
}
|
||||
|
||||
option = {
|
||||
name = ach_maintenance_events.0100.a
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ach_maintenance_events.0101 = { #Coronation host has been imprisoned, notify guests
|
||||
type = character_event
|
||||
title = ach_maintenance_events.0101.t
|
||||
desc = ach_maintenance_events.0101.desc
|
||||
theme = realm
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = shock
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = scope:host
|
||||
animation = prisonhouse
|
||||
}
|
||||
|
||||
lower_left_portrait = {
|
||||
character = scope:gaoler
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:host.imprisoner = {
|
||||
save_scope_as = gaoler
|
||||
}
|
||||
}
|
||||
|
||||
trigger = {
|
||||
NOT = { #you know what you did
|
||||
this = scope:host.imprisoner
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = ach_maintenance_events.0101.a
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ach_maintenance_events.0102 = { #Coronation host has been imprisoned, notify host and cancellation
|
||||
type = character_event
|
||||
title = ach_maintenance_events.0102.t
|
||||
desc = ach_maintenance_events.0102.desc
|
||||
theme = realm
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = prisonhouse
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = scope:gaoler
|
||||
animation = manic
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:host.imprisoner = {
|
||||
save_scope_as = gaoler
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = ach_maintenance_events.0102.a
|
||||
}
|
||||
}
|
||||
|
||||
ach_maintenance_events.0103 = { #No one shows up, notify host
|
||||
type = character_event
|
||||
title = ach_maintenance_events.0103.t
|
||||
desc = ach_maintenance_events.0103.desc
|
||||
theme = realm
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = worry
|
||||
}
|
||||
|
||||
|
||||
immediate = {
|
||||
|
||||
}
|
||||
|
||||
option = {
|
||||
name = ach_maintenance_events.0103.a
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ach_maintenance_events.0104 = { #Officiator ded, host cancelled the coronation, notify guests
|
||||
type = character_event
|
||||
title = ach_maintenance_events.0104.t
|
||||
desc = ach_maintenance_events.0104.desc
|
||||
theme = realm
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = stunned
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = scope:host
|
||||
animation = wailing
|
||||
}
|
||||
|
||||
lower_right_portrait = {
|
||||
character = scope:dead_officiator
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:activity.var:officiator ?= { save_scope_as = dead_officiator }
|
||||
}
|
||||
|
||||
option = {
|
||||
name = ach_maintenance_events.0104.a
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ach_maintenance_events.0105 = { #Host excommunicated, notify guests
|
||||
type = character_event
|
||||
title = ach_maintenance_events.0105.t
|
||||
desc = ach_maintenance_events.0105.desc
|
||||
theme = realm
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = worry
|
||||
}
|
||||
|
||||
center_portrait = {
|
||||
character = scope:host
|
||||
animation = shame
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = scope:hof
|
||||
animation = go_to_your_room
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:host.faith.religious_head = { save_scope_as = hof }
|
||||
}
|
||||
|
||||
option = {
|
||||
name = ach_maintenance_events.0105.a
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
ach_maintenance_events.0106 = { #Host excommunicated, notify host
|
||||
type = character_event
|
||||
title = ach_maintenance_events.0106.t
|
||||
desc = ach_maintenance_events.0106.desc
|
||||
theme = realm
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = shame
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = scope:hof
|
||||
animation = go_to_your_room
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:hof.faith.religious_head = { save_scope_as = hof }
|
||||
}
|
||||
|
||||
option = {
|
||||
name = ach_maintenance_events.0106.a
|
||||
}
|
||||
|
||||
}
|
||||
4763
events/dlc/bp1/bp1_filippa_yearly_events.txt
Normal file
4763
events/dlc/bp1/bp1_filippa_yearly_events.txt
Normal file
File diff suppressed because it is too large
Load diff
2305
events/dlc/bp1/bp1_yearly_oltner.txt
Normal file
2305
events/dlc/bp1/bp1_yearly_oltner.txt
Normal file
File diff suppressed because it is too large
Load diff
3594
events/dlc/bp2/bp2_adult_education_activity_events.txt
Normal file
3594
events/dlc/bp2/bp2_adult_education_activity_events.txt
Normal file
File diff suppressed because it is too large
Load diff
514
events/dlc/bp2/bp2_character_interaction_events.txt
Normal file
514
events/dlc/bp2/bp2_character_interaction_events.txt
Normal file
|
|
@ -0,0 +1,514 @@
|
|||
namespace = bp2_character_interaction
|
||||
|
||||
# Influence Ward's Personality - Success Event
|
||||
bp2_character_interaction.1001 = {
|
||||
type = character_event
|
||||
content_source = dlc_009
|
||||
title = bp2_character_interaction.1001.t
|
||||
desc = {
|
||||
desc = bp2_character_interaction.1001.desc_intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:lustful }
|
||||
desc = bp2_character_interaction.1001.desc_lustful
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:chaste }
|
||||
desc = bp2_character_interaction.1001.desc_chaste
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:gluttonous }
|
||||
desc = bp2_character_interaction.1001.desc_gluttonous
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:temperate }
|
||||
desc = bp2_character_interaction.1001.desc_temperate
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:greedy }
|
||||
desc = bp2_character_interaction.1001.desc_greedy
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:generous }
|
||||
desc = bp2_character_interaction.1001.desc_generous
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:lazy }
|
||||
desc = bp2_character_interaction.1001.desc_lazy
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:diligent }
|
||||
desc = bp2_character_interaction.1001.desc_diligent
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:wrathful }
|
||||
desc = bp2_character_interaction.1001.desc_wrathful
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:calm }
|
||||
desc = bp2_character_interaction.1001.desc_calm
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:patient }
|
||||
desc = bp2_character_interaction.1001.desc_patient
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:impatient }
|
||||
desc = bp2_character_interaction.1001.desc_impatient
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:arrogant}
|
||||
desc = bp2_character_interaction.1001.desc_arrogant
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:humble }
|
||||
desc = bp2_character_interaction.1001.desc_humble
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:deceitful }
|
||||
desc = bp2_character_interaction.1001.desc_deceitful
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:honest }
|
||||
desc = bp2_character_interaction.1001.desc_honest
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:craven }
|
||||
desc = bp2_character_interaction.1001.desc_craven
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:target_trait = trait:brave
|
||||
scope:recipient = { is_landed = yes }
|
||||
}
|
||||
desc = bp2_character_interaction.1001.desc_brave_self
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:target_trait = trait:brave
|
||||
scope:recipient = { exists = liege }
|
||||
}
|
||||
desc = bp2_character_interaction.1001.desc_brave_liege
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:target_trait = trait:brave
|
||||
}
|
||||
desc = bp2_character_interaction.1001.desc_brave_root
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:shy }
|
||||
desc = bp2_character_interaction.1001.desc_shy
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:gregarious }
|
||||
desc = bp2_character_interaction.1001.desc_gregarious
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:ambitious }
|
||||
desc = bp2_character_interaction.1001.desc_ambitious
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:content }
|
||||
desc = bp2_character_interaction.1001.desc_content
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:arbitrary }
|
||||
desc = bp2_character_interaction.1001.desc_arbitrary
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:just }
|
||||
desc = bp2_character_interaction.1001.desc_just
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:cynical }
|
||||
desc = bp2_character_interaction.1001.desc_cynical
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:zealous }
|
||||
desc = bp2_character_interaction.1001.desc_zealous
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:paranoid }
|
||||
desc = bp2_character_interaction.1001.desc_paranoid
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:trusting }
|
||||
desc = bp2_character_interaction.1001.desc_trusting
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:compassionate }
|
||||
desc = bp2_character_interaction.1001.desc_compassionate
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:callous }
|
||||
desc = bp2_character_interaction.1001.desc_callous
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:sadistic }
|
||||
desc = bp2_character_interaction.1001.desc_sadistic
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:stubborn }
|
||||
desc = bp2_character_interaction.1001.desc_stubborn
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:fickle }
|
||||
desc = bp2_character_interaction.1001.desc_fickle
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:eccentric }
|
||||
desc = bp2_character_interaction.1001.desc_eccentric
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:vengeful }
|
||||
desc = bp2_character_interaction.1001.desc_vengeful
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:forgiving }
|
||||
desc = bp2_character_interaction.1001.desc_forgiving
|
||||
}
|
||||
}
|
||||
}
|
||||
theme = family
|
||||
override_background = {
|
||||
trigger = {
|
||||
scope:recipient = {
|
||||
age < 12
|
||||
}
|
||||
}
|
||||
reference = bp2_nursery
|
||||
}
|
||||
override_background = {
|
||||
trigger = {
|
||||
scope:recipient = {
|
||||
age >= 12
|
||||
}
|
||||
}
|
||||
reference = garden
|
||||
}
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = happiness
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:recipient
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
OR = {
|
||||
scope:target_trait = trait:greedy
|
||||
scope:target_trait = trait:generous
|
||||
}
|
||||
}
|
||||
animation = hunting_shortbow_rest_arrow_default
|
||||
}
|
||||
animation = admiration
|
||||
}
|
||||
|
||||
trigger = {
|
||||
exists = scope:target_trait
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:recipient = {
|
||||
set_favorite_toy_effect = yes
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = bp2_character_interaction.1001.a
|
||||
flavor = bp2_character_interaction.1001.a.flavor
|
||||
add_opinion = {
|
||||
target = scope:recipient
|
||||
modifier = pleased_opinion
|
||||
opinion = 20
|
||||
}
|
||||
scope:recipient = {
|
||||
add_trait = scope:target_trait
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = admiration_opinion
|
||||
opinion = 20
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:recipient = {
|
||||
any_parent = {
|
||||
this != root
|
||||
is_ai = no
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:recipient = {
|
||||
every_parent = {
|
||||
limit = {
|
||||
this != root
|
||||
is_ai = no
|
||||
}
|
||||
send_interface_message = {
|
||||
type = event_childhood_good_text
|
||||
title = guardian_influenced_personality
|
||||
desc = guardian_influenced_personality_desc
|
||||
left_icon = scope:recipient
|
||||
right_icon = scope:actor
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Influence Ward's Personality - Basic Failure Event
|
||||
bp2_character_interaction.1002 = {
|
||||
type = character_event
|
||||
content_source = dlc_009
|
||||
title = bp2_character_interaction.1002.t
|
||||
desc = {
|
||||
desc = bp2_character_interaction.1002.desc_intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:lustful }
|
||||
desc = bp2_character_interaction.1002.desc_lustful
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:chaste }
|
||||
desc = bp2_character_interaction.1002.desc_chaste
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:gluttonous }
|
||||
desc = bp2_character_interaction.1002.desc_gluttonous
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:temperate }
|
||||
desc = bp2_character_interaction.1002.desc_temperate
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:greedy }
|
||||
desc = bp2_character_interaction.1002.desc_greedy
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:generous }
|
||||
desc = bp2_character_interaction.1002.desc_generous
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:lazy }
|
||||
desc = bp2_character_interaction.1002.desc_lazy
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:diligent }
|
||||
desc = bp2_character_interaction.1002.desc_diligent
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:wrathful }
|
||||
desc = bp2_character_interaction.1002.desc_wrathful
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:calm }
|
||||
desc = bp2_character_interaction.1002.desc_calm
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:patient }
|
||||
desc = bp2_character_interaction.1002.desc_patient
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:impatient }
|
||||
desc = bp2_character_interaction.1002.desc_impatient
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:arrogant}
|
||||
desc = bp2_character_interaction.1002.desc_arrogant
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:humble }
|
||||
desc = bp2_character_interaction.1002.desc_humble
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:deceitful }
|
||||
desc = bp2_character_interaction.1002.desc_deceitful
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:honest }
|
||||
desc = bp2_character_interaction.1002.desc_honest
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:craven }
|
||||
desc = bp2_character_interaction.1002.desc_craven
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:brave }
|
||||
desc = bp2_character_interaction.1002.desc_brave
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:shy }
|
||||
desc = bp2_character_interaction.1002.desc_shy
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:gregarious }
|
||||
desc = bp2_character_interaction.1002.desc_gregarious
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:ambitious }
|
||||
desc = bp2_character_interaction.1002.desc_ambitious
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:content }
|
||||
desc = bp2_character_interaction.1002.desc_content
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:arbitrary }
|
||||
desc = bp2_character_interaction.1002.desc_arbitrary
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:just }
|
||||
desc = bp2_character_interaction.1002.desc_just
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:cynical }
|
||||
desc = bp2_character_interaction.1002.desc_cynical
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:zealous }
|
||||
desc = bp2_character_interaction.1002.desc_zealous
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:paranoid }
|
||||
desc = bp2_character_interaction.1002.desc_paranoid
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:trusting }
|
||||
desc = bp2_character_interaction.1002.desc_trusting
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:compassionate }
|
||||
desc = bp2_character_interaction.1002.desc_compassionate
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:callous }
|
||||
desc = bp2_character_interaction.1002.desc_callous
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:sadistic }
|
||||
desc = bp2_character_interaction.1002.desc_sadistic
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:stubborn }
|
||||
desc = bp2_character_interaction.1002.desc_stubborn
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:fickle }
|
||||
desc = bp2_character_interaction.1002.desc_fickle
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:eccentric }
|
||||
desc = bp2_character_interaction.1002.desc_eccentric
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:vengeful }
|
||||
desc = bp2_character_interaction.1002.desc_vengeful
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:target_trait = trait:forgiving }
|
||||
desc = bp2_character_interaction.1002.desc_forgiving
|
||||
}
|
||||
}
|
||||
}
|
||||
theme = family
|
||||
override_background = {
|
||||
trigger = {
|
||||
scope:recipient = {
|
||||
age < 12
|
||||
}
|
||||
}
|
||||
reference = bp2_nursery
|
||||
}
|
||||
override_background = {
|
||||
trigger = {
|
||||
scope:recipient = {
|
||||
age >= 12
|
||||
}
|
||||
}
|
||||
reference = garden
|
||||
}
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = stress
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:recipient
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
OR = {
|
||||
scope:target_trait = trait:greedy
|
||||
scope:target_trait = trait:generous
|
||||
}
|
||||
}
|
||||
animation = hunting_shortbow_rest_arrow_default
|
||||
}
|
||||
triggered_animation = {
|
||||
trigger = { scope:target_trait = trait:paranoid }
|
||||
animation = disapproval
|
||||
}
|
||||
triggered_animation = {
|
||||
trigger = { scope:recipient = { age >= 12 } }
|
||||
animation = shame
|
||||
}
|
||||
animation = clutching_toy
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:recipient = {
|
||||
set_favorite_toy_effect = yes
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = bp2_character_interaction.1002.a
|
||||
flavor = bp2_character_interaction.1002.a.flavor
|
||||
scope:recipient = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = confused_opinion
|
||||
opinion = -20
|
||||
}
|
||||
}
|
||||
add_opinion = {
|
||||
target = scope:recipient
|
||||
modifier = disappointed_opinion
|
||||
opinion = -20
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:recipient = {
|
||||
any_parent = {
|
||||
this != root
|
||||
is_ai = no
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:recipient = {
|
||||
every_parent = {
|
||||
limit = {
|
||||
this != root
|
||||
is_ai = no
|
||||
}
|
||||
send_interface_message = {
|
||||
type = event_childhood_bad_text
|
||||
title = guardian_influenced_personality_fail
|
||||
desc = guardian_influenced_personality_fail_desc
|
||||
left_icon = scope:recipient
|
||||
right_icon = scope:actor
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
1891
events/dlc/bp2/bp2_child_of_destiny_events.txt
Normal file
1891
events/dlc/bp2/bp2_child_of_destiny_events.txt
Normal file
File diff suppressed because it is too large
Load diff
831
events/dlc/bp2/bp2_decision_events.txt
Normal file
831
events/dlc/bp2/bp2_decision_events.txt
Normal file
|
|
@ -0,0 +1,831 @@
|
|||
namespace = bp2_decision
|
||||
|
||||
##################################################
|
||||
#
|
||||
# FIND WET NURSE
|
||||
# 0001 Find a character to be a wet nurse
|
||||
#
|
||||
##################################################
|
||||
|
||||
bp2_decision.0001 = { #find wet nurse candidates
|
||||
type = character_event
|
||||
content_source = dlc_009
|
||||
title = bp2_decision.0001.t
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { exists = root.primary_spouse }
|
||||
desc = bp2_decision.0001.desc
|
||||
}
|
||||
desc = bp2_decision.0001.desc_widower
|
||||
}
|
||||
}
|
||||
theme = family
|
||||
override_background = {
|
||||
reference = bp2_nursery
|
||||
}
|
||||
left_portrait = {
|
||||
character = scope:wet_nurse_candidate_1
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:wet_nurse_candidate_2
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
any_spouse = { }
|
||||
}
|
||||
random_spouse = {
|
||||
save_scope_as = spouse
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
if = {
|
||||
limit = {
|
||||
exists = capital_province
|
||||
any_pool_character = {
|
||||
province = root.capital_province
|
||||
can_be_employed_as = wet_nurse_court_position
|
||||
}
|
||||
}
|
||||
random_pool_character = {
|
||||
province = root.capital_province
|
||||
limit = { can_be_employed_as = wet_nurse_court_position}
|
||||
save_scope_as = wet_nurse_candidate_1
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = capital_province
|
||||
any_pool_character = {
|
||||
province = root.capital_province
|
||||
can_be_employed_as = wet_nurse_court_position
|
||||
this != scope:wet_nurse_candidate_1
|
||||
}
|
||||
}
|
||||
save_scope_as = wet_nurse_candidate_2
|
||||
}
|
||||
else = {
|
||||
create_character = { #create poor candidate without a child
|
||||
template = generic_peasant_character
|
||||
gender = female
|
||||
age = { 18 25 }
|
||||
culture = root.culture
|
||||
faith = root.faith
|
||||
location = root.location
|
||||
save_scope_as = wet_nurse_candidate_2
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
create_character = { #create a good candidate with a child
|
||||
template = bp2_wet_nurse_template
|
||||
location = root.location
|
||||
save_scope_as = wet_nurse_candidate_1
|
||||
}
|
||||
create_character = {
|
||||
template = peasant_child_character
|
||||
age = { 0 5 }
|
||||
culture = root.culture
|
||||
faith = root.faith
|
||||
location = root.location
|
||||
save_scope_as = wet_nurse_candidate_1_child
|
||||
}
|
||||
scope:wet_nurse_candidate_1_child = {
|
||||
set_mother = scope:wet_nurse_candidate_1
|
||||
}
|
||||
create_character = { #create poor candidate without a child
|
||||
template = generic_peasant_character
|
||||
gender = female
|
||||
age = { 18 25 }
|
||||
culture = root.culture
|
||||
faith = root.faith
|
||||
location = root.location
|
||||
save_scope_as = wet_nurse_candidate_2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Expensive wet nurse with great health and a chance for good trait
|
||||
option = {
|
||||
name = bp2_decision.0001.a
|
||||
custom_tooltip = bp2_decision.0001.a.aptitude
|
||||
pay_treasury_or_gold = {
|
||||
target = scope:wet_nurse_candidate_1
|
||||
value = tiny_treasury_or_gold_value
|
||||
}
|
||||
hidden_effect = {
|
||||
add_courtier = scope:wet_nurse_candidate_1
|
||||
add_courtier = scope:wet_nurse_candidate_1_child
|
||||
}
|
||||
if = { #reappoint the former wet nurse, fire current one if exists
|
||||
limit = {
|
||||
employs_court_position = wet_nurse_court_position
|
||||
}
|
||||
every_court_position_holder = {
|
||||
type = wet_nurse_court_position
|
||||
save_temporary_scope_as = current_wet_nurse
|
||||
}
|
||||
replace_court_position = {
|
||||
recipient = scope:wet_nurse_candidate_1
|
||||
holder = scope:current_wet_nurse
|
||||
court_position = wet_nurse_court_position
|
||||
}
|
||||
}
|
||||
else = {
|
||||
appoint_court_position = {
|
||||
recipient = scope:wet_nurse_candidate_1
|
||||
court_position = wet_nurse_court_position
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
greedy = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = greedy
|
||||
add = -100
|
||||
}
|
||||
modifier = {
|
||||
short_term_gold < minor_gold_value
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Cheaper wet nurse; all random traits
|
||||
option = {
|
||||
name = bp2_decision.0001.b
|
||||
custom_tooltip = bp2_decision.0001.b.aptitude
|
||||
pay_treasury_or_gold = {
|
||||
target = scope:wet_nurse_candidate_2
|
||||
value = {
|
||||
add = tiny_treasury_or_gold_value
|
||||
divide = 3
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
add_courtier = scope:wet_nurse_candidate_2
|
||||
}
|
||||
if = { #reappoint the former wet nurse, fire current one if exists
|
||||
limit = {
|
||||
employs_court_position = wet_nurse_court_position
|
||||
}
|
||||
every_court_position_holder = {
|
||||
type = wet_nurse_court_position
|
||||
save_temporary_scope_as = current_wet_nurse
|
||||
}
|
||||
replace_court_position = {
|
||||
recipient = scope:wet_nurse_candidate_2
|
||||
holder = scope:current_wet_nurse
|
||||
court_position = wet_nurse_court_position
|
||||
}
|
||||
}
|
||||
else = {
|
||||
appoint_court_position = {
|
||||
recipient = scope:wet_nurse_candidate_2
|
||||
court_position = wet_nurse_court_position
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
greedy = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 50
|
||||
modifier = {
|
||||
short_term_gold < tiny_gold_value_check
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# On seconds thoughts, I won't hire a wet nurse at all...
|
||||
option = {
|
||||
name = bp2_decision.0001.c
|
||||
ai_chance = {
|
||||
base = 0
|
||||
modifier = {
|
||||
short_term_gold < tiny_gold_value_check
|
||||
add = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
if = {
|
||||
limit = { scope:wet_nurse_candidate_1 = { has_court_position = wet_nurse_court_position } }
|
||||
scope:wet_nurse_candidate_2 = {
|
||||
silent_disappearance_effect = yes
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = { scope:wet_nurse_candidate_2 = { has_court_position = wet_nurse_court_position } }
|
||||
scope:wet_nurse_candidate_1 = {
|
||||
silent_disappearance_effect = yes
|
||||
}
|
||||
scope:wet_nurse_candidate_1_child = {
|
||||
silent_disappearance_effect = yes
|
||||
}
|
||||
}
|
||||
else = {
|
||||
scope:wet_nurse_candidate_1 = {
|
||||
silent_disappearance_effect = yes
|
||||
}
|
||||
scope:wet_nurse_candidate_2 = {
|
||||
silent_disappearance_effect = yes
|
||||
}
|
||||
scope:wet_nurse_candidate_1_child = {
|
||||
silent_disappearance_effect = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
bp2_decision.0002 = { #rites of passage
|
||||
type = character_event
|
||||
content_source = dlc_009
|
||||
title = bp2_decision.0002.t
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { scope:teentribal != root }
|
||||
desc = bp2_decision.0002.desc
|
||||
}
|
||||
desc = bp2_decision.0002.desc_root
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:teentribal = {
|
||||
is_target_in_variable_list = {
|
||||
name = possible_rites
|
||||
target = flag:duel
|
||||
}
|
||||
}
|
||||
}
|
||||
desc = bp2_decision.0002.desc_duel
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:teentribal = {
|
||||
is_target_in_variable_list = {
|
||||
name = possible_rites
|
||||
target = flag:scarification
|
||||
}
|
||||
}
|
||||
}
|
||||
desc = bp2_decision.0002.desc_scarification
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:teentribal = {
|
||||
is_target_in_variable_list = {
|
||||
name = possible_rites
|
||||
target = flag:seclusion
|
||||
}
|
||||
}
|
||||
}
|
||||
desc = bp2_decision.0002.desc_seclusion
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:teentribal = {
|
||||
is_target_in_variable_list = {
|
||||
name = possible_rites
|
||||
target = flag:hair_shaving
|
||||
}
|
||||
}
|
||||
}
|
||||
desc = bp2_decision.0002.desc_hair_shaving
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:teentribal = {
|
||||
is_target_in_variable_list = {
|
||||
name = possible_rites
|
||||
target = flag:cleansing
|
||||
}
|
||||
}
|
||||
}
|
||||
desc = bp2_decision.0002.desc_cleansing
|
||||
}
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { scope:teentribal != root }
|
||||
desc = bp2_decision.0002.desc_end
|
||||
}
|
||||
desc = bp2_decision.0002.desc_end_root
|
||||
}
|
||||
}
|
||||
theme = family
|
||||
override_background = {
|
||||
reference = holy_site_generic_scope
|
||||
}
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = war_defender
|
||||
}
|
||||
right_portrait = {
|
||||
trigger = { scope:teentribal != root }
|
||||
character = scope:teentribal
|
||||
animation = throne_room_bow_1
|
||||
}
|
||||
lower_right_portrait = {
|
||||
trigger = { exists = scope:priest }
|
||||
character = scope:priest
|
||||
}
|
||||
|
||||
immediate = {
|
||||
capital_province = {
|
||||
save_scope_as = holy_site_scope
|
||||
}
|
||||
location = {
|
||||
save_scope_as = rite_location
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
is_landed = yes
|
||||
character_can_rites_of_passage_trigger = yes
|
||||
}
|
||||
save_scope_as = teentribal
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
any_child = {
|
||||
character_can_rites_of_passage_trigger = yes
|
||||
}
|
||||
}
|
||||
save_scope_as = liege
|
||||
random_child = {
|
||||
limit = {
|
||||
character_can_rites_of_passage_trigger = yes
|
||||
}
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = {
|
||||
has_character_flag = unproven_adult_flag
|
||||
add = 100
|
||||
}
|
||||
modifier = {
|
||||
is_primary_heir_of = scope:liege
|
||||
add = 100
|
||||
}
|
||||
modifier = {
|
||||
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
|
||||
add = 10
|
||||
}
|
||||
}
|
||||
save_scope_as = teentribal
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
any_courtier = {
|
||||
is_hostage_of = root
|
||||
character_can_rites_of_passage_trigger = yes
|
||||
}
|
||||
}
|
||||
save_scope_as = liege
|
||||
random_courtier = {
|
||||
limit = {
|
||||
is_hostage_of = root
|
||||
character_can_rites_of_passage_trigger = yes
|
||||
}
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = {
|
||||
has_character_flag = unproven_adult_flag
|
||||
add = 100
|
||||
}
|
||||
modifier = {
|
||||
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
|
||||
add = 10
|
||||
}
|
||||
}
|
||||
save_scope_as = teentribal
|
||||
}
|
||||
}
|
||||
if = { #grab a court chaplain if you have one
|
||||
limit = {
|
||||
cp:councillor_court_chaplain ?= {
|
||||
is_available_ai_adult = yes
|
||||
}
|
||||
}
|
||||
cp:councillor_court_chaplain = {
|
||||
save_scope_as = priest
|
||||
}
|
||||
}
|
||||
if = { #duel rite for warrior cultures
|
||||
limit = {
|
||||
culture = {
|
||||
OR = {
|
||||
has_cultural_pillar = ethos_bellicose
|
||||
has_cultural_pillar = ethos_stoic
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:teentribal = {
|
||||
add_to_variable_list = {
|
||||
name = possible_rites
|
||||
target = flag:duel
|
||||
}
|
||||
}
|
||||
}
|
||||
if = { #scarification rite for warrior cultures
|
||||
limit = {
|
||||
culture = {
|
||||
OR = {
|
||||
has_cultural_pillar = ethos_bellicose
|
||||
has_cultural_pillar = ethos_stoic
|
||||
has_cultural_pillar = ethos_communal
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:teentribal = {
|
||||
add_to_variable_list = {
|
||||
name = possible_rites
|
||||
target = flag:scarification
|
||||
}
|
||||
}
|
||||
}
|
||||
if = { #seclusion rite for non-communal cultures
|
||||
limit = {
|
||||
culture = {
|
||||
NOT = {
|
||||
has_cultural_pillar = ethos_communal
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:teentribal = {
|
||||
add_to_variable_list = {
|
||||
name = possible_rites
|
||||
target = flag:seclusion
|
||||
}
|
||||
}
|
||||
}
|
||||
if = { #hair shaving rite non-warrior cultures
|
||||
limit = {
|
||||
culture = {
|
||||
OR = {
|
||||
has_cultural_pillar = ethos_spiritual
|
||||
has_cultural_pillar = ethos_communal
|
||||
has_cultural_pillar = ethos_egalitarian
|
||||
has_cultural_pillar = ethos_bureaucratic
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:teentribal = {
|
||||
add_to_variable_list = {
|
||||
name = possible_rites
|
||||
target = flag:hair_shaving
|
||||
}
|
||||
}
|
||||
}
|
||||
if = { #cleansing for non-warrior cultures
|
||||
limit = {
|
||||
culture = {
|
||||
NOT = {
|
||||
has_cultural_pillar = ethos_bellicose
|
||||
has_cultural_pillar = ethos_stoic
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:teentribal = {
|
||||
add_to_variable_list = {
|
||||
name = possible_rites
|
||||
target = flag:cleansing
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:rite_location = {
|
||||
OR = {
|
||||
is_riverside_province = yes
|
||||
is_coastal = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
set_variable = {
|
||||
name = cleansing_type
|
||||
value = flag:water_cleanse
|
||||
}
|
||||
}
|
||||
else = {
|
||||
set_variable = {
|
||||
name = cleansing_type
|
||||
value = flag:fire_cleanse
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { #combat duel
|
||||
name = bp2_decision.0002.a
|
||||
flavor = bp2_decision.0002.a.flavor
|
||||
custom_tooltip = bp2_decision.0002.a.tt
|
||||
trigger = {
|
||||
scope:teentribal = {
|
||||
is_target_in_variable_list = {
|
||||
name = possible_rites
|
||||
target = flag:duel
|
||||
}
|
||||
}
|
||||
}
|
||||
show_as_tooltip = {
|
||||
random_list = {
|
||||
1 = {
|
||||
desc = bp2_decision.0002.a.win
|
||||
show_chance = no
|
||||
scope:teentribal = {
|
||||
add_character_modifier = {
|
||||
modifier = proven_adult_modifier
|
||||
years = 10
|
||||
}
|
||||
custom_tooltip = bp2_decision.0002.effect_tt
|
||||
}
|
||||
}
|
||||
1= {
|
||||
desc = bp2_decision.0002.a.lose
|
||||
show_chance = no
|
||||
scope:teentribal = {
|
||||
add_character_modifier = {
|
||||
modifier = insecure_adult_modifier
|
||||
years = 10
|
||||
}
|
||||
custom_tooltip = bp2_decision.0002.effect_tt
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
|
||||
set_variable = {
|
||||
name = chosen_rite_memory
|
||||
value = flag:dueling_rite_memory
|
||||
}
|
||||
}
|
||||
trigger_event = bp2_yearly.7021
|
||||
ai_chance = {
|
||||
base = 1
|
||||
}
|
||||
}
|
||||
|
||||
option = { #scarification
|
||||
name = bp2_decision.0002.b
|
||||
flavor = bp2_decision.0002.b.tt
|
||||
trigger = {
|
||||
scope:teentribal = {
|
||||
is_target_in_variable_list = {
|
||||
name = possible_rites
|
||||
target = flag:scarification
|
||||
}
|
||||
}
|
||||
}
|
||||
show_as_tooltip = {
|
||||
random_list = {
|
||||
1 = {
|
||||
desc = bp2_decision.0002.b_scarred
|
||||
show_chance = no
|
||||
scope:teentribal = {
|
||||
add_character_modifier = {
|
||||
modifier = proven_adult_modifier
|
||||
years = 10
|
||||
}
|
||||
custom_tooltip = bp2_decision.0002.effect_tt
|
||||
custom_tooltip = bp2_decision.0002.b_scarred.tt
|
||||
}
|
||||
}
|
||||
1= {
|
||||
desc = bp2_decision.0002.b_modifier
|
||||
show_chance = no
|
||||
scope:teentribal = {
|
||||
add_character_modifier = {
|
||||
modifier = insecure_adult_modifier
|
||||
years = 10
|
||||
}
|
||||
custom_tooltip = bp2_decision.0002.effect_tt
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
|
||||
set_variable = {
|
||||
name = chosen_rite_memory
|
||||
value = flag:scarification_rite_memory
|
||||
}
|
||||
}
|
||||
trigger_event = bp2_yearly.7023
|
||||
ai_chance = {
|
||||
base = 1
|
||||
}
|
||||
}
|
||||
|
||||
option = { #seclusion
|
||||
name = bp2_decision.0002.c
|
||||
flavor = bp2_decision.0002.c.tt
|
||||
trigger = {
|
||||
scope:teentribal = {
|
||||
is_target_in_variable_list = {
|
||||
name = possible_rites
|
||||
target = flag:seclusion
|
||||
}
|
||||
}
|
||||
}
|
||||
show_as_tooltip = {
|
||||
custom_tooltip = bp2_decision.0002.c.destination
|
||||
random_list = {
|
||||
1 = {
|
||||
desc = bp2_decision.0002.c_win
|
||||
show_chance = no
|
||||
scope:teentribal = {
|
||||
add_character_modifier = {
|
||||
modifier = proven_adult_modifier
|
||||
years = 10
|
||||
}
|
||||
custom_tooltip = bp2_decision.0002.c_trait
|
||||
}
|
||||
}
|
||||
1= {
|
||||
desc = bp2_decision.0002.c_lose
|
||||
show_chance = no
|
||||
scope:teentribal = {
|
||||
add_character_modifier = {
|
||||
modifier = insecure_adult_modifier
|
||||
years = 10
|
||||
}
|
||||
add_trait_xp = {
|
||||
trait = lifestyle_traveler
|
||||
track = danger
|
||||
value = 25
|
||||
}
|
||||
increase_wounds_no_death_effect = { REASON = wild_animal }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
|
||||
set_variable = {
|
||||
name = chosen_rite_memory
|
||||
value = flag:seclusion_rite_memory
|
||||
}
|
||||
}
|
||||
trigger_event = bp2_yearly.7024
|
||||
ai_chance = {
|
||||
base = 1
|
||||
}
|
||||
}
|
||||
|
||||
option = { #hair shave
|
||||
trigger = {
|
||||
scope:teentribal = {
|
||||
is_target_in_variable_list = {
|
||||
name = possible_rites
|
||||
target = flag:hair_shaving
|
||||
}
|
||||
}
|
||||
}
|
||||
name = bp2_decision.0002.d
|
||||
flavor = bp2_decision.0002.d.tt
|
||||
show_as_tooltip = {
|
||||
random_list = {
|
||||
1 = {
|
||||
show_chance = no
|
||||
desc = bp2_decision.0002.d_bald
|
||||
scope:teentribal = {
|
||||
add_character_modifier = {
|
||||
modifier = proven_adult_modifier
|
||||
years = 10
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = shaven_bald_modifier
|
||||
years = 3
|
||||
}
|
||||
custom_tooltip = bp2_decision.0002.effect_tt
|
||||
add_piety = medium_piety_gain
|
||||
}
|
||||
}
|
||||
1 = {
|
||||
show_chance = no
|
||||
desc = bp2_decision.0002.d_shave
|
||||
scope:teentribal = {
|
||||
add_character_modifier = {
|
||||
modifier = insecure_adult_modifier
|
||||
years = 10
|
||||
}
|
||||
custom_tooltip = bp2_decision.0002.effect_tt
|
||||
custom_tooltip = bp2_decision.0002.d_artifact
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
|
||||
set_variable = {
|
||||
name = chosen_rite_memory
|
||||
value = flag:shaving_hair_rite_memory
|
||||
}
|
||||
}
|
||||
trigger_event = bp2_yearly.7026
|
||||
ai_chance = {
|
||||
base = 1
|
||||
}
|
||||
}
|
||||
|
||||
option = { #fire/water cleansing
|
||||
trigger = {
|
||||
scope:teentribal = {
|
||||
is_target_in_variable_list = {
|
||||
name = possible_rites
|
||||
target = flag:cleansing
|
||||
}
|
||||
}
|
||||
}
|
||||
name = bp2_decision.0002.e
|
||||
flavor = bp2_decision.0002.e.tt
|
||||
show_as_tooltip = {
|
||||
random_list = {
|
||||
1 = {
|
||||
show_chance = no
|
||||
desc = bp2_decision.0002.e.full
|
||||
scope:teentribal = {
|
||||
add_character_modifier = {
|
||||
modifier = proven_adult_modifier
|
||||
years = 10
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
num_sinful_traits > 0
|
||||
}
|
||||
custom_tooltip = bp2_decision.0002.e_flip
|
||||
}
|
||||
custom_tooltip = bp2_decision.0002.effect_tt
|
||||
add_piety = medium_piety_gain
|
||||
if = {
|
||||
limit = {
|
||||
scope:teentribal.var:cleansing_type = flag:water_cleanse
|
||||
}
|
||||
add_stress = minor_stress_gain
|
||||
}
|
||||
else = {
|
||||
add_character_modifier = {
|
||||
modifier = scorched_soles_modifier
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1 = {
|
||||
show_chance = no
|
||||
desc = bp2_decision.0002.e.partially
|
||||
scope:teentribal = {
|
||||
add_character_modifier = {
|
||||
modifier = insecure_adult_modifier
|
||||
years = 10
|
||||
}
|
||||
custom_tooltip = bp2_decision.0002.effect_tt
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:teentribal.var:cleansing_type = flag:water_cleanse
|
||||
}
|
||||
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
|
||||
set_variable = {
|
||||
name = chosen_rite_memory
|
||||
value = flag:water_cleanse_rite_memory
|
||||
}
|
||||
}
|
||||
trigger_event = bp2_yearly.7027
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
scope:teentribal.var:cleansing_type = flag:fire_cleanse
|
||||
}
|
||||
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
|
||||
set_variable = {
|
||||
name = chosen_rite_memory
|
||||
value = flag:fire_cleanse_rite_memory
|
||||
}
|
||||
}
|
||||
trigger_event = bp2_yearly.7028
|
||||
}
|
||||
ai_chance = {
|
||||
base = 1
|
||||
}
|
||||
}
|
||||
|
||||
option = { # opt out - trigger the decision cooldown, don't get your money back. Think of it as a non-refundable deposit.
|
||||
name = bp2_decision.0002.f
|
||||
flavor = bp2_decision.0002.tt
|
||||
scope:teentribal ?= {
|
||||
remove_variable ?= cleansing_type
|
||||
remove_variable ?= chosen_rite_memory
|
||||
clear_variable_list ?= possible_rites
|
||||
}
|
||||
ai_chance = { #there is no reason for the AI to back out at this point
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
2266
events/dlc/bp2/bp2_hostage_system.txt
Normal file
2266
events/dlc/bp2/bp2_hostage_system.txt
Normal file
File diff suppressed because it is too large
Load diff
6953
events/dlc/bp2/bp2_yearly_1_events.txt
Normal file
6953
events/dlc/bp2/bp2_yearly_1_events.txt
Normal file
File diff suppressed because it is too large
Load diff
4472
events/dlc/bp2/bp2_yearly_2.txt
Normal file
4472
events/dlc/bp2/bp2_yearly_2.txt
Normal file
File diff suppressed because it is too large
Load diff
538
events/dlc/bp2/bp2_yearly_3.txt
Normal file
538
events/dlc/bp2/bp2_yearly_3.txt
Normal file
|
|
@ -0,0 +1,538 @@
|
|||
namespace = bp2_yearly
|
||||
|
||||
# bp2_yearly.3000 - Asserting yourself in your studies or loafing
|
||||
|
||||
################################
|
||||
# What's a Study Day Worth? #
|
||||
# by Claudia Baldassi #
|
||||
# bp2_yearly.3000 #
|
||||
################################
|
||||
|
||||
# Asserting yourself in your studies or loafing
|
||||
|
||||
bp2_yearly.3000 = {
|
||||
type = character_event
|
||||
content_source = dlc_009
|
||||
title = bp2_yearly.3000.t
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:educator
|
||||
}
|
||||
desc = bp2_yearly.3000.desc
|
||||
}
|
||||
desc = bp2_yearly.3000.desc_no_educator
|
||||
}
|
||||
desc = bp2_yearly.3000.desc_ending
|
||||
}
|
||||
theme = education
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = boredom
|
||||
}
|
||||
right_portrait = {
|
||||
trigger = { exists = scope:educator }
|
||||
character = scope:educator
|
||||
animation = personality_rational
|
||||
}
|
||||
cooldown = { years = 10 } #Should not happen more than once for the same child
|
||||
|
||||
trigger = {
|
||||
has_bp2_dlc_trigger = yes
|
||||
age >= 8
|
||||
is_available_child = yes
|
||||
has_education_focus_trigger = yes
|
||||
OR = {
|
||||
exists = warden
|
||||
any_relation = {
|
||||
type = guardian
|
||||
location = root.location
|
||||
}
|
||||
exists = liege
|
||||
AND = {
|
||||
top_liege = this
|
||||
employs_court_position = court_tutor_court_position
|
||||
}
|
||||
any_parent = {
|
||||
is_alive = yes
|
||||
location = root.location
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
is_hostage = yes
|
||||
location = warden.location
|
||||
}
|
||||
warden = {
|
||||
save_scope_as = educator
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
any_relation = {
|
||||
type = guardian
|
||||
location = root.location
|
||||
}
|
||||
}
|
||||
random_relation = {
|
||||
type = guardian
|
||||
limit = {
|
||||
location = root.location
|
||||
}
|
||||
save_scope_as = educator
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
exists = liege
|
||||
root.liege = {
|
||||
employs_court_position = court_tutor_court_position
|
||||
court_position:court_tutor_court_position = { location = root.location }
|
||||
}
|
||||
}
|
||||
root.liege.court_position:court_tutor_court_position = {
|
||||
save_scope_as = educator
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
top_liege = this
|
||||
employs_court_position = court_tutor_court_position
|
||||
court_position:court_tutor_court_position = { location = root.location }
|
||||
}
|
||||
court_position:court_tutor_court_position = {
|
||||
save_scope_as = educator
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
any_parent = {
|
||||
is_alive = yes
|
||||
location = root.location
|
||||
}
|
||||
}
|
||||
random_parent = {
|
||||
limit = {
|
||||
is_alive = yes
|
||||
location = root.location
|
||||
}
|
||||
save_scope_as = educator
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = { exists = liege }
|
||||
liege = {
|
||||
save_scope_as = educator
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Option A: study hard
|
||||
option = {
|
||||
name = bp2_yearly.3000.a
|
||||
if = {
|
||||
limit = {
|
||||
has_focus = education_diplomacy
|
||||
}
|
||||
add_diplomacy_skill = 1
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
has_focus = education_martial
|
||||
}
|
||||
add_martial_skill = 1
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
has_focus = education_stewardship
|
||||
}
|
||||
add_stewardship_skill = 1
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
has_focus = education_intrigue
|
||||
}
|
||||
add_intrigue_skill = 1
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
has_focus = education_learning
|
||||
}
|
||||
add_learning_skill = 1
|
||||
}
|
||||
hidden_effect = { education_point_acquisition_effect = yes }
|
||||
custom_tooltip = bp2_yearly.3000.a.tt
|
||||
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_gain
|
||||
diligent = medium_stress_impact_loss
|
||||
lazy = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = diligent
|
||||
add = 100
|
||||
}
|
||||
modifier = {
|
||||
has_trait = lazy
|
||||
add = -100
|
||||
}
|
||||
modifier = {
|
||||
has_trait = curious
|
||||
add = 100
|
||||
}
|
||||
modifier = {
|
||||
has_trait = pensive
|
||||
add = 150
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Option B: study a bit
|
||||
option = {
|
||||
name = bp2_yearly.3000.b
|
||||
hidden_effect = { education_point_acquisition_effect = yes }
|
||||
custom_tooltip = bp2_yearly.3000.a.tt
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_gain
|
||||
diligent = minor_stress_impact_loss
|
||||
lazy = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = diligent
|
||||
add = 50
|
||||
}
|
||||
modifier = {
|
||||
has_trait = lazy
|
||||
add = -50
|
||||
}
|
||||
modifier = {
|
||||
has_trait = curious
|
||||
add = 50
|
||||
}
|
||||
modifier = {
|
||||
has_trait = pensive
|
||||
add = 75
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Option C: play
|
||||
option = {
|
||||
name = bp2_yearly.3000.c
|
||||
add_prowess_skill = 1
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
diligent = major_stress_impact_gain
|
||||
pensive = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = diligent
|
||||
add = -100
|
||||
}
|
||||
modifier = {
|
||||
has_trait = lazy
|
||||
add = 100
|
||||
}
|
||||
modifier = {
|
||||
has_trait = pensive
|
||||
add = -75
|
||||
}
|
||||
modifier = {
|
||||
has_trait = rowdy
|
||||
add = 100
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
################################
|
||||
# SheHe Knows This Room #
|
||||
# by Claudia Baldassi #
|
||||
# bp2_yearly.3010 #
|
||||
################################
|
||||
|
||||
# Child returns home: This home is unfamiliar to me: parent POV
|
||||
|
||||
bp2_yearly.3010 = {
|
||||
type = character_event
|
||||
content_source = dlc_009
|
||||
title = bp2_yearly.3010.t
|
||||
desc = bp2_yearly.3010.desc
|
||||
theme = hostage
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = worry
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:child
|
||||
animation = sadness
|
||||
}
|
||||
|
||||
override_background = { reference = corridor_day }
|
||||
|
||||
cooldown = { years = 20 }
|
||||
|
||||
trigger = {
|
||||
has_bp2_dlc_trigger = yes
|
||||
is_available_adult = yes
|
||||
is_landless_adventurer = no
|
||||
any_child = {
|
||||
age >= 12
|
||||
location = root.location
|
||||
NOT = { has_relation_ward = root } # Your ward grew up here
|
||||
any_memory = {
|
||||
memory_type = hostage_returned_hostage
|
||||
memory_age_years <= 1
|
||||
}
|
||||
any_memory = {
|
||||
memory_type = hostage_created_hostage
|
||||
memory_age_years >= 6
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
modifier = {
|
||||
add = 1
|
||||
has_trait = compassionate
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
# for the responding event
|
||||
save_scope_as = parent
|
||||
random_child = {
|
||||
limit = {
|
||||
any_memory = {
|
||||
memory_type = hostage_returned_hostage
|
||||
memory_age_years <= 1
|
||||
}
|
||||
any_memory = {
|
||||
memory_type = hostage_created_hostage
|
||||
memory_age_years >= 6
|
||||
}
|
||||
age >= 12
|
||||
location = root.location
|
||||
}
|
||||
save_scope_as = child
|
||||
}
|
||||
}
|
||||
|
||||
# Option A: I wanna help
|
||||
option = {
|
||||
name = bp2_yearly.3010.a
|
||||
scope:child = {
|
||||
add_character_flag = helpful_parent_flag
|
||||
add_opinion = {
|
||||
target = scope:parent
|
||||
modifier = feel_accepted_opinion
|
||||
opinion = 20
|
||||
}
|
||||
trigger_event = bp2_yearly.3011
|
||||
}
|
||||
stress_impact = {
|
||||
callous = medium_stress_impact_gain
|
||||
fickle = medium_stress_impact_gain
|
||||
paranoid = medium_stress_impact_gain
|
||||
content = minor_stress_impact_gain
|
||||
lazy = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
# Option B: he'll manage
|
||||
option = {
|
||||
name = bp2_yearly.3010.b
|
||||
scope:child = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = ignored_opinion
|
||||
opinion = -15
|
||||
}
|
||||
scope:child = { trigger_event = bp2_yearly.3011 }
|
||||
}
|
||||
stress_impact = {
|
||||
compassionate = medium_stress_impact_gain
|
||||
gregarious = medium_stress_impact_gain
|
||||
family_first = medium_stress_impact_gain
|
||||
patient = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = callous
|
||||
add = 50
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Child returns home: This home is unfamiliar to me: child POV
|
||||
|
||||
bp2_yearly.3011 = {
|
||||
type = character_event
|
||||
content_source = dlc_009
|
||||
title = bp2_yearly.3011.t
|
||||
desc = {
|
||||
desc = bp2_yearly.3011.desc
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = helpful_parent_flag
|
||||
}
|
||||
desc = bp2_yearly.3011.desc_parent
|
||||
}
|
||||
desc = bp2_yearly.3011.desc_no_parent
|
||||
}
|
||||
}
|
||||
theme = hostage
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = sadness
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:parent
|
||||
animation = worry
|
||||
}
|
||||
|
||||
override_background = { reference = corridor_day }
|
||||
|
||||
# Option A: accept you're a stranger now
|
||||
option = {
|
||||
name = bp2_yearly.3011.a
|
||||
if = {
|
||||
limit = {
|
||||
has_character_flag = helpful_parent_flag
|
||||
}
|
||||
scope:parent = {
|
||||
send_interface_toast = {
|
||||
title = bp2_yearly.3010.a.tt
|
||||
left_icon = scope:child
|
||||
scope:child = {
|
||||
add_character_modifier = {
|
||||
modifier = bp2_stranger_at_home_modifier
|
||||
years = 30
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
add_character_modifier = {
|
||||
modifier = bp2_stranger_at_home_modifier
|
||||
years = 30
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
gregarious = medium_stress_impact_gain
|
||||
humble = medium_stress_impact_gain
|
||||
patient = minor_stress_impact_gain
|
||||
pensive = medium_stress_impact_loss
|
||||
bossy = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_vengefulness = 0.5
|
||||
}
|
||||
modifier = {
|
||||
has_trait = pensive
|
||||
add = 100
|
||||
}
|
||||
modifier = {
|
||||
has_trait = bossy
|
||||
add = 100
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Option B: try to integrate again
|
||||
option = {
|
||||
name = bp2_yearly.3011.b
|
||||
if = {
|
||||
limit = {
|
||||
has_character_flag = helpful_parent_flag
|
||||
}
|
||||
scope:parent = {
|
||||
send_interface_toast = {
|
||||
title = bp2_yearly.3010.b.tt
|
||||
left_icon = scope:child
|
||||
scope:child = {
|
||||
add_character_modifier = {
|
||||
modifier = bp2_stranger_no_more_modifier
|
||||
years = 30
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
add_character_modifier = {
|
||||
modifier = bp2_stranger_no_more_modifier
|
||||
years = 30
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
stubborn = major_stress_impact_gain
|
||||
lazy = medium_stress_impact_gain
|
||||
reclusive = medium_stress_impact_gain
|
||||
arrogant = medium_stress_impact_gain
|
||||
wrathful = minor_stress_impact_gain
|
||||
impatient = minor_stress_impact_gain
|
||||
charming = medium_stress_impact_loss
|
||||
curious = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_character_flag = helpful_parent_flag
|
||||
add = 100
|
||||
}
|
||||
modifier = {
|
||||
has_trait = lazy
|
||||
add = -50
|
||||
}
|
||||
modifier = {
|
||||
has_trait = reclusive
|
||||
add = -50
|
||||
}
|
||||
modifier = {
|
||||
has_trait = charming
|
||||
add = 100
|
||||
}
|
||||
modifier = {
|
||||
has_trait = curious
|
||||
add = 100
|
||||
}
|
||||
ai_value_modifier = {
|
||||
ai_energy = -0.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
if = {
|
||||
limit = {
|
||||
has_character_flag = helpful_parent_flag
|
||||
}
|
||||
remove_character_flag = helpful_parent_flag
|
||||
}
|
||||
}
|
||||
}
|
||||
2069
events/dlc/bp2/bp2_yearly_4.txt
Normal file
2069
events/dlc/bp2/bp2_yearly_4.txt
Normal file
File diff suppressed because it is too large
Load diff
4143
events/dlc/bp2/bp2_yearly_5.txt
Normal file
4143
events/dlc/bp2/bp2_yearly_5.txt
Normal file
File diff suppressed because it is too large
Load diff
6050
events/dlc/bp2/bp2_yearly_7.txt
Normal file
6050
events/dlc/bp2/bp2_yearly_7.txt
Normal file
File diff suppressed because it is too large
Load diff
15018
events/dlc/bp2/bp2_yearly_events_6.txt
Normal file
15018
events/dlc/bp2/bp2_yearly_events_6.txt
Normal file
File diff suppressed because it is too large
Load diff
206
events/dlc/bp2/bp2_yearly_extra.txt
Normal file
206
events/dlc/bp2/bp2_yearly_extra.txt
Normal file
|
|
@ -0,0 +1,206 @@
|
|||
namespace = bp2_yearly_extra
|
||||
|
||||
################################
|
||||
# My Favorite Councilor #
|
||||
# by Johan Husén #
|
||||
# bp2_yearly_extra #
|
||||
################################
|
||||
|
||||
# Gaining some skills from your councilor
|
||||
|
||||
bp2_yearly_extra.0001 = {
|
||||
type = character_event
|
||||
content_source = dlc_009
|
||||
title = bp2_yearly_extra.0001.t
|
||||
desc = bp2_yearly_extra.0001.desc
|
||||
theme = education
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = thinking
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:target_councilor
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
scope:target_councilor = { has_council_position = councillor_court_chaplain }
|
||||
}
|
||||
animation = chaplain
|
||||
}
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
scope:target_councilor = { has_council_position = councillor_steward }
|
||||
}
|
||||
animation = steward
|
||||
}
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
scope:target_councilor = { has_council_position = councillor_marshal }
|
||||
}
|
||||
animation = marshal
|
||||
}
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
scope:target_councilor = { has_council_position = councillor_spymaster }
|
||||
}
|
||||
animation = spymaster
|
||||
}
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
scope:target_councilor = { has_council_position = councillor_chancellor }
|
||||
}
|
||||
animation = chancellor
|
||||
}
|
||||
}
|
||||
cooldown = { years = 15 }
|
||||
|
||||
trigger = {
|
||||
has_bp2_dlc_trigger = yes
|
||||
is_available_child = yes
|
||||
OR = {
|
||||
AND = {
|
||||
has_focus = education_diplomacy
|
||||
exists = cp:councillor_chancellor
|
||||
}
|
||||
AND = {
|
||||
has_focus = education_martial
|
||||
exists = cp:councillor_marshal
|
||||
}
|
||||
AND = {
|
||||
has_focus = education_stewardship
|
||||
exists = cp:councillor_steward
|
||||
}
|
||||
AND = {
|
||||
has_focus = education_intrigue
|
||||
exists = cp:councillor_spymaster
|
||||
}
|
||||
AND = {
|
||||
has_focus = education_learning
|
||||
exists = cp:councillor_court_chaplain
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
has_focus = education_diplomacy
|
||||
exists = cp:councillor_chancellor
|
||||
}
|
||||
cp:councillor_chancellor = { save_scope_as = target_councilor }
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
has_focus = education_martial
|
||||
exists = cp:councillor_marshal
|
||||
}
|
||||
cp:councillor_marshal = { save_scope_as = target_councilor }
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
has_focus = education_stewardship
|
||||
exists = cp:councillor_steward
|
||||
}
|
||||
cp:councillor_steward = { save_scope_as = target_councilor }
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
has_focus = education_intrigue
|
||||
exists = cp:councillor_spymaster
|
||||
}
|
||||
cp:councillor_spymaster = { save_scope_as = target_councilor }
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
has_focus = education_learning
|
||||
exists = cp:councillor_court_chaplain
|
||||
}
|
||||
cp:councillor_court_chaplain = { save_scope_as = target_councilor }
|
||||
}
|
||||
}
|
||||
|
||||
# Option A: I want to help out!
|
||||
option = {
|
||||
name = bp2_yearly_extra.0001.a
|
||||
flavor = bp2_yearly_extra.0001.a.tt
|
||||
|
||||
if = {
|
||||
limit = { has_focus = education_diplomacy }
|
||||
add_diplomacy_skill = 1
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_focus = education_martial }
|
||||
add_martial_skill = 1
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_focus = education_stewardship }
|
||||
add_stewardship_skill = 1
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_focus = education_intrigue }
|
||||
add_intrigue_skill = 1
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_focus = education_learning }
|
||||
add_learning_skill = 1
|
||||
}
|
||||
stress_impact = {
|
||||
base = miniscule_stress_impact_gain
|
||||
diligent = minor_stress_impact_loss
|
||||
lazy = minor_stress_impact_gain
|
||||
}
|
||||
scope:target_councilor = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = frustrated_opinion
|
||||
opinion = -20
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = lazy
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Option B: I just like to see them work.
|
||||
option = {
|
||||
name = bp2_yearly_extra.0001.b
|
||||
flavor = bp2_yearly_extra.0001.b.tt
|
||||
scope:target_councilor = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = thankful_opinion
|
||||
opinion = 20
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_loss
|
||||
diligent = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = diligent
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = lazy
|
||||
add = 50
|
||||
}
|
||||
modifier = {
|
||||
has_trait = curious
|
||||
add = 50
|
||||
}
|
||||
modifier = {
|
||||
has_trait = pensive
|
||||
add = 50
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1066
events/dlc/bp2/story_cycles/story_cycle_pet_rock_events.txt
Normal file
1066
events/dlc/bp2/story_cycles/story_cycle_pet_rock_events.txt
Normal file
File diff suppressed because it is too large
Load diff
2793
events/dlc/bp3/bp3_mapmaking.txt
Normal file
2793
events/dlc/bp3/bp3_mapmaking.txt
Normal file
File diff suppressed because it is too large
Load diff
2828
events/dlc/bp3/bp3_roaming_events.txt
Normal file
2828
events/dlc/bp3/bp3_roaming_events.txt
Normal file
File diff suppressed because it is too large
Load diff
4487
events/dlc/bp3/bp3_survey_events.txt
Normal file
4487
events/dlc/bp3/bp3_survey_events.txt
Normal file
File diff suppressed because it is too large
Load diff
951
events/dlc/ce1/epidemic_events_2.txt
Normal file
951
events/dlc/ce1/epidemic_events_2.txt
Normal file
|
|
@ -0,0 +1,951 @@
|
|||
namespace = epidemic_events
|
||||
|
||||
epidemic_events.2001 = { #defender trying to status quo the vassal war cuz he's sick
|
||||
type = character_event
|
||||
title = epidemic_events.2001.t
|
||||
desc = epidemic_events.2001.desc
|
||||
theme = plague
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = thinking
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:pleading_vassal
|
||||
animation = beg
|
||||
}
|
||||
lower_right_portrait = {
|
||||
character = scope:attacking_vassal
|
||||
}
|
||||
override_background = {
|
||||
reference = army_camp
|
||||
}
|
||||
override_effect_2d = {
|
||||
reference = fog
|
||||
}
|
||||
cooldown = { years = 30 }
|
||||
|
||||
trigger = {
|
||||
is_available_adult = yes
|
||||
any_vassal = {
|
||||
is_ai = yes
|
||||
is_at_war = yes
|
||||
any_character_war = {
|
||||
primary_attacker = {
|
||||
is_vassal_of = root
|
||||
is_ai = yes
|
||||
}
|
||||
is_defender = prev
|
||||
attacker_war_score > 30
|
||||
}
|
||||
realm_has_any_epidemic = { SIZE = 3 INTENSITY = minor }
|
||||
current_gold_value > minor_gold_value
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
random_vassal = {
|
||||
limit = {
|
||||
is_ai = yes
|
||||
is_at_war = yes
|
||||
any_character_war = {
|
||||
primary_attacker = {
|
||||
is_vassal_of = root
|
||||
is_ai = yes
|
||||
}
|
||||
is_defender = prev
|
||||
attacker_war_score > 30
|
||||
}
|
||||
realm_has_any_epidemic = { SIZE = 2 INTENSITY = minor }
|
||||
current_gold_value > minor_gold_value
|
||||
}
|
||||
save_scope_as = pleading_vassal
|
||||
get_random_realm_epidemic = { INTENSITY = minor }
|
||||
random_character_war = {
|
||||
limit = {
|
||||
primary_attacker = {
|
||||
is_vassal_of = root
|
||||
is_ai = yes
|
||||
}
|
||||
is_defender = prev
|
||||
attacker_war_score > 30
|
||||
}
|
||||
save_scope_as = vassal_war
|
||||
}
|
||||
}
|
||||
scope:vassal_war = {
|
||||
primary_attacker = {
|
||||
save_scope_as = attacking_vassal
|
||||
}
|
||||
}
|
||||
set_variable = {
|
||||
name = gold_transfer_value
|
||||
value = scope:pleading_vassal.current_gold_value
|
||||
}
|
||||
scope:pleading_vassal = {
|
||||
pay_short_term_gold = {
|
||||
target = root
|
||||
gold = current_gold_value
|
||||
}
|
||||
hidden_effect = {
|
||||
if = {
|
||||
limit = {
|
||||
NOT = { has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait }
|
||||
}
|
||||
random = {
|
||||
chance = 25
|
||||
infect_with_epidemic = scope:epidemic_scope
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { #send a royal order for white peace
|
||||
name = epidemic_events.2001.c
|
||||
|
||||
duel = {
|
||||
skill = diplomacy
|
||||
target = scope:attacking_vassal
|
||||
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 1
|
||||
}
|
||||
send_interface_toast = {
|
||||
title = epidemic_events.2001.c.success
|
||||
left_icon = scope:pleading_vassal
|
||||
right_icon = scope:attacking_vassal
|
||||
scope:vassal_war = {
|
||||
end_war = white_peace
|
||||
}
|
||||
add_legitimacy_effect = { LEGITIMACY = minor_legitimacy_gain }
|
||||
scope:pleading_vassal = {
|
||||
add_opinion = {
|
||||
modifier = thankful_opinion
|
||||
opinion = 30
|
||||
target = root
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -1
|
||||
}
|
||||
send_interface_toast = {
|
||||
title = epidemic_events.2001.c.failure
|
||||
left_icon = scope:pleading_vassal
|
||||
right_icon = scope:attacking_vassal
|
||||
scope:pleading_vassal = {
|
||||
add_opinion = {
|
||||
modifier = disappointed_opinion
|
||||
opinion = -25
|
||||
target = root
|
||||
}
|
||||
}
|
||||
custom_tooltip = epidemic_events.2001.danger
|
||||
}
|
||||
hidden_effect = {
|
||||
random = {
|
||||
chance = 10
|
||||
trigger_event = {
|
||||
months = 4
|
||||
id = epidemic_events.2002
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
greedy = medium_stress_gain
|
||||
compassionate = medium_stress_loss
|
||||
just = medium_stress_loss
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_compassion = low_chance_impact_positive_ai_value
|
||||
ai_rationality = low_chance_impact_positive_ai_value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { #imprison the other guy from traveling to you during a pandemic and wash whatever he touched
|
||||
name = epidemic_events.2001.b
|
||||
flavor = epidemic_events.2001.b.desc
|
||||
|
||||
imprison = {
|
||||
target = scope:pleading_vassal
|
||||
type = dungeon
|
||||
}
|
||||
|
||||
scope:pleading_vassal = {
|
||||
add_opinion = {
|
||||
modifier = angry_opinion
|
||||
opinion = -40
|
||||
target = root
|
||||
}
|
||||
}
|
||||
custom_tooltip = epidemic_events.2001.danger
|
||||
hidden_effect = {
|
||||
random = {
|
||||
chance = 10
|
||||
trigger_event = {
|
||||
months = 4
|
||||
id = epidemic_events.2002
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_greed = low_chance_impact_positive_ai_value
|
||||
ai_rationality = low_chance_impact_positive_ai_value
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
compassionate = medium_stress_gain
|
||||
just = medium_stress_gain
|
||||
paranoid = major_stress_loss
|
||||
}
|
||||
}
|
||||
|
||||
option = { #pay money to end war
|
||||
name = epidemic_events.2001.a
|
||||
|
||||
scope:vassal_war = {
|
||||
end_war = white_peace
|
||||
}
|
||||
pay_treasury_or_gold = {
|
||||
target = scope:attacking_vassal
|
||||
value = {
|
||||
value = root.var:gold_transfer_value
|
||||
multiply = 0.5
|
||||
}
|
||||
}
|
||||
|
||||
scope:pleading_vassal = {
|
||||
add_opinion = {
|
||||
modifier = thankful_opinion
|
||||
opinion = 30
|
||||
target = root
|
||||
}
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_greed = low_chance_impact_negative_ai_value
|
||||
ai_compassion = low_chance_impact_positive_ai_value
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
greedy = medium_stress_gain
|
||||
compassionate = medium_stress_loss
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
after = {
|
||||
hidden_effect = {
|
||||
if = {
|
||||
limit = {
|
||||
scope:pleading_vassal = {
|
||||
has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait
|
||||
is_imprisoned = no
|
||||
}
|
||||
}
|
||||
random_list = {
|
||||
60 = {
|
||||
random_courtier = {
|
||||
limit = {
|
||||
NOT = { has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait }
|
||||
}
|
||||
save_scope_as = infected_courtier
|
||||
}
|
||||
send_interface_toast = {
|
||||
title = epidemic_events.2001.epidemic_spread.t
|
||||
left_icon = scope:pleading_vassal
|
||||
right_icon = scope:infected_courtier
|
||||
scope:infected_courtier = {
|
||||
infect_with_epidemic = scope:epidemic_scope
|
||||
}
|
||||
}
|
||||
}
|
||||
20 = {
|
||||
if = {
|
||||
limit = {
|
||||
NOT = { has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait }
|
||||
}
|
||||
}
|
||||
random_courtier = {
|
||||
limit = {
|
||||
NOT = { has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait }
|
||||
}
|
||||
save_scope_as = first_infected_courtier
|
||||
}
|
||||
random_courtier = {
|
||||
limit = {
|
||||
NOT = {
|
||||
has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait
|
||||
scope:first_infected_courtier = this
|
||||
}
|
||||
}
|
||||
save_scope_as = second_infected_courtier
|
||||
}
|
||||
send_interface_toast = {
|
||||
title = epidemic_events.2001.epidemic_spread.t
|
||||
left_icon = scope:second_infected_courtier
|
||||
right_icon = scope:first_infected_courtier
|
||||
scope:first_infected_courtier = {
|
||||
infect_with_epidemic = scope:epidemic_scope
|
||||
}
|
||||
scope:second_infected_courtier = {
|
||||
infect_with_epidemic = scope:epidemic_scope
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
epidemic_events.2002 = {
|
||||
type = character_event
|
||||
title = epidemic_events.2002.t
|
||||
desc = epidemic_events.2002.desc
|
||||
theme = plague
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = stress
|
||||
}
|
||||
lower_left_portrait = scope:attacking_vassal
|
||||
lower_right_portrait = scope:pleading_vassal
|
||||
|
||||
trigger = {
|
||||
exists = scope:epidemic_scope
|
||||
exists = scope:vassal_war
|
||||
is_ai = no
|
||||
}
|
||||
|
||||
override_background = {
|
||||
reference = battlefield
|
||||
}
|
||||
override_effect_2d = {
|
||||
reference = fog
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
scope:epidemic_scope = {
|
||||
outbreak_intensity = minor
|
||||
}
|
||||
}
|
||||
scope:epidemic_scope = {
|
||||
set_epidemic_outbreak_intensity = major
|
||||
}
|
||||
}
|
||||
else = {
|
||||
scope:epidemic_scope = {
|
||||
set_epidemic_outbreak_intensity = apocalyptic
|
||||
}
|
||||
}
|
||||
add_legitimacy = miniscule_legitimacy_loss
|
||||
}
|
||||
|
||||
option = {
|
||||
name = epidemic_events.2002.a
|
||||
stress_impact = {
|
||||
base = minor_stress_gain
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
epidemic_events.2003 = { #maa are dying from war
|
||||
type = character_event
|
||||
title = epidemic_events.2003.t
|
||||
desc = epidemic_events.2003.desc
|
||||
theme = plague
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = stress
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = scope:marshal
|
||||
animation = marshal_shield
|
||||
}
|
||||
|
||||
override_background = {
|
||||
reference = army_camp
|
||||
}
|
||||
|
||||
override_effect_2d = {
|
||||
reference = flies
|
||||
}
|
||||
|
||||
cooldown = { years = 8 }
|
||||
|
||||
trigger = {
|
||||
is_available_adult = yes
|
||||
any_held_county = {
|
||||
any_county_province = {
|
||||
has_stationed_regiment = yes
|
||||
any_province_epidemic = {
|
||||
intensity >= minor
|
||||
}
|
||||
}
|
||||
save_temporary_scope_as = first_county
|
||||
}
|
||||
any_held_county = {
|
||||
this != scope:first_county
|
||||
any_county_province = {
|
||||
has_stationed_regiment = yes
|
||||
any_province_epidemic = {
|
||||
intensity >= minor
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
exists = cp:councillor_marshal
|
||||
}
|
||||
immediate = {
|
||||
random_held_county = {
|
||||
limit = {
|
||||
any_county_province = {
|
||||
has_stationed_regiment = yes
|
||||
any_province_epidemic = {
|
||||
intensity >= minor
|
||||
}
|
||||
}
|
||||
}
|
||||
random_county_province = {
|
||||
limit = {
|
||||
has_stationed_regiment = yes
|
||||
any_province_epidemic = {
|
||||
intensity >= minor
|
||||
}
|
||||
}
|
||||
save_scope_as = first_epidemic_province
|
||||
random_province_epidemic = {
|
||||
save_scope_as = epidemic_scope
|
||||
}
|
||||
}
|
||||
save_scope_as = first_epidemic_county
|
||||
}
|
||||
random_held_county = {
|
||||
limit = {
|
||||
this != scope:first_epidemic_county
|
||||
any_county_province = {
|
||||
has_stationed_regiment = yes
|
||||
any_province_epidemic = {
|
||||
intensity >= minor
|
||||
}
|
||||
}
|
||||
}
|
||||
random_county_province = {
|
||||
limit = {
|
||||
has_stationed_regiment = yes
|
||||
any_province_epidemic = {
|
||||
intensity >= minor
|
||||
}
|
||||
}
|
||||
save_scope_as = second_epidemic_province
|
||||
}
|
||||
}
|
||||
cp:councillor_marshal = { save_scope_as = marshal }
|
||||
}
|
||||
|
||||
option = { #pay more to get more recruits
|
||||
name = epidemic_events.2003.a
|
||||
|
||||
every_maa_regiment = {
|
||||
change_maa_troops_count = {
|
||||
value = {
|
||||
value = this.maa_current_troops_count
|
||||
multiply = -0.25
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_greed = low_chance_impact_negative_ai_value
|
||||
ai_rationality = low_chance_impact_positive_ai_value
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
greedy = medium_stress_gain
|
||||
ambitious = medium_stress_loss
|
||||
}
|
||||
}
|
||||
|
||||
option = { #dont care, press peasants as maa
|
||||
name = epidemic_events.2003.b
|
||||
|
||||
scope:first_epidemic_province = {
|
||||
add_province_modifier = {
|
||||
modifier = epidemic_pressed_levies
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
|
||||
scope:second_epidemic_province = {
|
||||
add_province_modifier = {
|
||||
modifier = epidemic_pressed_levies
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_greed = low_chance_impact_positive_ai_value
|
||||
ai_compassion = low_chance_impact_negative_ai_value
|
||||
ai_rationality = low_chance_impact_positive_ai_value
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
just = medium_stress_gain
|
||||
}
|
||||
}
|
||||
|
||||
option = { #close the barracks!
|
||||
name = epidemic_events.2003.c
|
||||
|
||||
scope:first_epidemic_province = {
|
||||
add_province_modifier = {
|
||||
modifier = epidemic_closed_barracks
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
|
||||
scope:second_epidemic_province = {
|
||||
add_province_modifier = {
|
||||
modifier = epidemic_closed_barracks
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_compassion = low_chance_impact_positive_ai_value
|
||||
ai_rationality = low_chance_impact_positive_ai_value
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
paranoid = medium_stress_loss
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
epidemic_events.2004 = { #Medicinal Jar creation event
|
||||
hidden = yes
|
||||
|
||||
trigger = {
|
||||
is_available_adult = yes
|
||||
court_position:court_physician_court_position ?= {
|
||||
is_available_ai_adult = yes
|
||||
culture != root.culture
|
||||
NOT = {
|
||||
has_character_flag = physician_medicinal_jar
|
||||
}
|
||||
}
|
||||
realm_has_any_nearby_epidemic = { SIZE = 4 INTENSITY = minor }
|
||||
}
|
||||
|
||||
cooldown = { years = 160 }
|
||||
|
||||
immediate = {
|
||||
court_position:court_physician_court_position = {
|
||||
save_scope_as = physician
|
||||
}
|
||||
scope:physician = {
|
||||
create_artifact = {
|
||||
name = medicine_jar
|
||||
description = medicine_jar_desc
|
||||
type = miscellaneous
|
||||
visuals = glazed_jar
|
||||
modifier = artifact_epidemic_resistance_1_modifier
|
||||
modifier = artifact_learning_lifestyle_xp_2_modifier
|
||||
save_scope_as = medicine_jar
|
||||
quality = 50
|
||||
}
|
||||
add_character_flag = physician_medicinal_jar
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = {
|
||||
scope:physician = {
|
||||
can_equip_artifact = scope:medicine_jar
|
||||
}
|
||||
}
|
||||
scope:medicine_jar = {
|
||||
equip_artifact_to_owner = yes
|
||||
}
|
||||
get_random_nearby_realm_epidemic = { INTENSITY = minor }
|
||||
trigger_event = {
|
||||
days = { 3 7 }
|
||||
id = epidemic_events.2005
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
epidemic_events.2005 = { #Glass jar artifact
|
||||
type = character_event
|
||||
title = epidemic_events.2005.t
|
||||
desc = epidemic_events.2005.desc
|
||||
theme = plague
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_rational
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = scope:physician
|
||||
animation = physician
|
||||
}
|
||||
|
||||
artifact = {
|
||||
target = scope:medicine_jar
|
||||
position = lower_center_portrait
|
||||
}
|
||||
|
||||
override_background = {
|
||||
reference = physicians_study
|
||||
}
|
||||
|
||||
trigger = {
|
||||
scope:physician = { is_alive = yes }
|
||||
}
|
||||
|
||||
option = { #politely ask the physisican to part with the jar
|
||||
name = epidemic_events.2005.a
|
||||
duel = {
|
||||
skill = diplomacy
|
||||
target = scope:physician
|
||||
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 1
|
||||
}
|
||||
send_interface_toast = {
|
||||
title = epidemic_events.2005.a.success
|
||||
left_icon = scope:physician
|
||||
scope:medicine_jar = {
|
||||
set_owner = root
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -1
|
||||
}
|
||||
send_interface_toast = {
|
||||
title = epidemic_events.2005.a.failure
|
||||
left_icon = scope:physician
|
||||
scope:medicine_jar = {
|
||||
add_artifact_modifier = artifact_physician_aptitude_1_modifier
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
craven = minor_stress_loss
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_rationality = low_chance_impact_negative_ai_value
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
option = { #violently grab the jar from physician
|
||||
name = epidemic_events.2005.b
|
||||
|
||||
scope:physician = {
|
||||
add_opinion = {
|
||||
modifier = fp3_stole_from_me
|
||||
opinion = -25
|
||||
target = root
|
||||
}
|
||||
progress_towards_rival_effect = {
|
||||
REASON = rival_stole_artifact
|
||||
CHARACTER = root
|
||||
OPINION = 0
|
||||
}
|
||||
}
|
||||
|
||||
scope:medicine_jar = {
|
||||
set_owner = root
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
temperate = medium_stress_gain
|
||||
just = medium_stress_gain
|
||||
paranoid = medium_stress_loss
|
||||
wrathful = medium_stress_loss
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_greed = low_chance_impact_positive_ai_value
|
||||
ai_energy = low_chance_impact_positive_ai_value
|
||||
ai_rationality = low_chance_impact_negative_ai_value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { #let phycisian keep his precious jar
|
||||
name = epidemic_events.2005.c
|
||||
scope:medicine_jar = {
|
||||
add_artifact_modifier = artifact_physician_aptitude_1_modifier
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
temperate = medium_stress_loss
|
||||
just = medium_stress_loss
|
||||
trusting = medium_stress_loss
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 10
|
||||
ai_value_modifier = {
|
||||
ai_compassion = low_chance_impact_positive_ai_value
|
||||
ai_rationality = low_chance_impact_positive_ai_value
|
||||
ai_greed = low_chance_impact_negative_ai_value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
epidemic_events.2006 = { #Dancing plague
|
||||
type = character_event
|
||||
title = epidemic_events.2006.t
|
||||
desc = epidemic_events.2006.desc
|
||||
theme = plague
|
||||
override_background = courtyard
|
||||
override_effect_2d = { reference = flies }
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = stress
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = scope:dance_victim
|
||||
animation = dancing_plague
|
||||
}
|
||||
|
||||
trigger = {
|
||||
is_available_adult = yes
|
||||
OR = {
|
||||
is_ai = no
|
||||
this = top_liege
|
||||
}
|
||||
capital_province = {
|
||||
any_province_epidemic = {
|
||||
#epidemic_type = epidemic_type:ergotism
|
||||
intensity < apocalyptic
|
||||
}
|
||||
}
|
||||
NOT = {
|
||||
has_character_flag = had_event_dancing_plague
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
modifier = { #Since a big outbreak occurred in Aachen 1374
|
||||
add = 9
|
||||
capital_province = {
|
||||
county = title:c_aachen
|
||||
}
|
||||
current_date >= 1370.1.1
|
||||
current_date <= 1380.1.1
|
||||
}
|
||||
modifier = { #Since an outbreak occurred in Erfurt 1247
|
||||
add = 9
|
||||
capital_province = {
|
||||
duchy = title:d_thuringia
|
||||
}
|
||||
current_date >= 1240.1.1
|
||||
current_date <= 1250.1.1
|
||||
}
|
||||
modifier = { #Since an outbreak occurred in Kolbigk 1021
|
||||
add = 9
|
||||
capital_province = {
|
||||
geographical_region = ghw_region_saxony
|
||||
}
|
||||
current_date >= 1020.1.1
|
||||
current_date <= 1030.1.1
|
||||
|
||||
}
|
||||
modifier = { #Since it historically occurred in Europe
|
||||
add = 1
|
||||
capital_province = {
|
||||
geographical_region = world_europe
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
immediate = {
|
||||
capital_province = {
|
||||
random_province_epidemic = {
|
||||
limit = {
|
||||
epidemic_type = epidemic_type:ergotism
|
||||
outbreak_intensity < apocalyptic
|
||||
}
|
||||
save_scope_as = dancing_plague
|
||||
}
|
||||
}
|
||||
create_character = {
|
||||
template = servant_character
|
||||
dynasty = none
|
||||
location = root.capital_province
|
||||
save_scope_as = dance_victim
|
||||
}
|
||||
hidden_effect = {
|
||||
scope:dance_victim = {
|
||||
add_trait = ergotism
|
||||
}
|
||||
}
|
||||
|
||||
scope:dancing_plague = {
|
||||
set_epidemic_outbreak_intensity = apocalyptic
|
||||
}
|
||||
|
||||
add_character_flag = had_event_dancing_plague
|
||||
}
|
||||
|
||||
option = { #let's join the paaartey
|
||||
trigger = {
|
||||
has_trait = eccentric
|
||||
}
|
||||
name = epidemic_events.2006.a
|
||||
add_character_modifier = {
|
||||
modifier = ce1_gone_dancing
|
||||
years = 2
|
||||
}
|
||||
|
||||
hidden_effect = {
|
||||
random = {
|
||||
chance = 10
|
||||
trigger_event = { id = health.1017 days = { 5 15 } } #You contract ergotism
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
eccentric = medium_stress_loss
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
option = { #slay the demon!
|
||||
trigger = {
|
||||
has_trait = zealous
|
||||
}
|
||||
name = epidemic_events.2006.d
|
||||
add_piety = minor_piety_gain
|
||||
|
||||
scope:dance_victim = {
|
||||
death = {
|
||||
death_reason = death_murder
|
||||
killer = root
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
zealous = medium_stress_loss
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 10
|
||||
ai_value_modifier = {
|
||||
ai_compassion = low_chance_impact_negative_ai_value
|
||||
ai_zeal = low_chance_impact_positive_ai_value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { #eh, every dance stops eventually, right?
|
||||
name = epidemic_events.2006.b
|
||||
|
||||
capital_county = {
|
||||
add_county_modifier = {
|
||||
modifier = dance_plague_modifier
|
||||
years = 4
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
compassionate = minor_stress_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 10
|
||||
ai_value_modifier = {
|
||||
ai_compassion = low_chance_impact_negative_ai_value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { #tie them down! allieviate their pains somehow
|
||||
name = epidemic_events.2006.c
|
||||
|
||||
hidden_effect = {
|
||||
random = {
|
||||
chance = 10
|
||||
trigger_event = { id = health.1017 days = { 5 15 } } #You contract ergotism
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
lustful = medium_stress_loss
|
||||
compassionate = medium_stress_loss
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 10
|
||||
ai_value_modifier = {
|
||||
ai_compassion = low_chance_impact_positive_ai_value
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
880
events/dlc/ce1/legend_events.txt
Normal file
880
events/dlc/ce1/legend_events.txt
Normal file
|
|
@ -0,0 +1,880 @@
|
|||
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
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:chronicler
|
||||
animation = chancellor
|
||||
}
|
||||
lower_center_portrait = scope:potential_promoter
|
||||
|
||||
trigger = {
|
||||
OR = {
|
||||
scope:chronicler ?= {
|
||||
is_alive = yes
|
||||
has_court_position = chronicler_court_position
|
||||
employer = root
|
||||
}
|
||||
employs_court_position = chronicler_court_position
|
||||
}
|
||||
OR = {
|
||||
# Vassals
|
||||
any_vassal_or_below = {
|
||||
# No barons
|
||||
highest_held_title_tier >= tier_county
|
||||
# Not promoting their own legend
|
||||
promoted_legend.legend_owner != root
|
||||
promoted_legend != scope:liege.promoted_legend
|
||||
is_ai = yes
|
||||
}
|
||||
# Neighbourinos
|
||||
any_neighboring_and_across_water_top_liege_realm_owner = {
|
||||
# Not promoting their own legend
|
||||
promoted_legend.legend_owner != root
|
||||
promoted_legend != scope:liege.promoted_legend
|
||||
is_ai = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
NOT = {
|
||||
scope:chronicler ?= {
|
||||
is_alive = yes
|
||||
has_court_position = chronicler_court_position
|
||||
employer = root
|
||||
}
|
||||
}
|
||||
}
|
||||
court_position:chronicler_court_position ?= { save_scope_as = chronicler }
|
||||
}
|
||||
random_list = {
|
||||
# Vassals
|
||||
75 = {
|
||||
trigger = {
|
||||
any_vassal_or_below = {
|
||||
highest_held_title_tier >= tier_county
|
||||
promoted_legend.legend_owner != root
|
||||
promoted_legend != scope:liege.promoted_legend
|
||||
is_ai = yes
|
||||
}
|
||||
}
|
||||
random_vassal_or_below = {
|
||||
limit = {
|
||||
highest_held_title_tier >= tier_county
|
||||
promoted_legend.legend_owner != root
|
||||
promoted_legend != scope:liege.promoted_legend
|
||||
is_ai = yes
|
||||
}
|
||||
save_scope_as = potential_promoter
|
||||
}
|
||||
}
|
||||
# Neighbourinos
|
||||
25 = {
|
||||
trigger = {
|
||||
any_neighboring_and_across_water_top_liege_realm_owner = {
|
||||
promoted_legend.legend_owner != root
|
||||
promoted_legend != scope:liege.promoted_legend
|
||||
is_ai = yes
|
||||
}
|
||||
}
|
||||
random_neighboring_and_across_water_top_liege_realm_owner = {
|
||||
limit = {
|
||||
promoted_legend.legend_owner != root
|
||||
promoted_legend != scope:liege.promoted_legend
|
||||
is_ai = yes
|
||||
}
|
||||
save_scope_as = potential_promoter
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
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
|
||||
}
|
||||
min = 10
|
||||
send_interface_toast = {
|
||||
title = legend_events.0010.a.success
|
||||
right_icon = scope:potential_promoter
|
||||
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
|
||||
}
|
||||
min = 10
|
||||
send_interface_toast = {
|
||||
title = legend_events.0010.a.failure
|
||||
right_icon = scope:potential_promoter
|
||||
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
|
||||
}
|
||||
min = 10
|
||||
send_interface_toast = {
|
||||
title = legend_events.0010.a.success
|
||||
right_icon = scope:potential_promoter
|
||||
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
|
||||
}
|
||||
min = 10
|
||||
send_interface_toast = {
|
||||
title = legend_events.0010.a.failure
|
||||
right_icon = scope:potential_promoter
|
||||
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
|
||||
}
|
||||
}
|
||||
3067
events/dlc/ce1/legend_spread_events_veronica.txt
Normal file
3067
events/dlc/ce1/legend_spread_events_veronica.txt
Normal file
File diff suppressed because it is too large
Load diff
32
events/dlc/ce1/legitimacy_events.txt
Normal file
32
events/dlc/ce1/legitimacy_events.txt
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
namespace = legitimacy_events
|
||||
|
||||
############################
|
||||
## Legitimacy Maintenance Events
|
||||
## 0001-1000
|
||||
## by Joe Parkin
|
||||
############################
|
||||
|
||||
# legitimacy_events.0001 - Debug event for testing base legitimacy values with breakdowns of sources
|
||||
|
||||
legitimacy_events.0001 = {
|
||||
type = character_event
|
||||
title = LOREM_IPSUM_TITLE
|
||||
desc = LOREM_IPSUM_DESCRIPTION
|
||||
theme = realm
|
||||
orphan = yes
|
||||
left_portrait = root
|
||||
|
||||
trigger = {
|
||||
exists = dynasty
|
||||
# Exclude unplayable for now
|
||||
NOR = {
|
||||
government_has_flag = government_is_republic
|
||||
government_has_flag = government_is_theocracy
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
add_legitimacy = base_legitimacy_value
|
||||
custom_tooltip = base_legitimacy_debug_tt
|
||||
}
|
||||
}
|
||||
1481
events/dlc/ce1/physician_epidemic_events.txt
Normal file
1481
events/dlc/ce1/physician_epidemic_events.txt
Normal file
File diff suppressed because it is too large
Load diff
719
events/dlc/ep1/ep1_character_interaction_events.txt
Normal file
719
events/dlc/ep1/ep1_character_interaction_events.txt
Normal file
|
|
@ -0,0 +1,719 @@
|
|||
namespace = ep1_character_interaction
|
||||
|
||||
##################################################
|
||||
#
|
||||
# Character Interaction Events
|
||||
#
|
||||
# 0001 - 0010 Indebt Guest
|
||||
##################################################
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
##################################################
|
||||
# CHARACTER INTERACTION EVENTS
|
||||
|
||||
##################################################
|
||||
# A Sensible Recompense
|
||||
# by Ewan Cowhig Croft
|
||||
# 0001 - 0010
|
||||
##################################################
|
||||
|
||||
scripted_trigger ep1_character_interaction_0001_valid_hostile_relation_trigger = {
|
||||
# Must be at a court of some kind *other* than your own.
|
||||
exists = host
|
||||
scope:actor != host
|
||||
# And not in scope:actor's prison.
|
||||
NOR = {
|
||||
imprisoner ?= scope:actor
|
||||
}
|
||||
# Double check that this'd be an appropriate court to send a plant.
|
||||
save_temporary_scope_as = current_target
|
||||
scope:actor = {
|
||||
OR = {
|
||||
# Either you've got a scheme on the go...
|
||||
any_scheme = {
|
||||
hostile_scheme_trigger = yes
|
||||
scheme_target_character = scope:current_target
|
||||
}
|
||||
# ... or you could start one.
|
||||
can_start_hostile_scheme_against_trigger = { TARGET = scope:current_target}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
scripted_trigger ep1_character_interaction_0001_valid_rival_trigger = {
|
||||
ep1_character_interaction_0001_valid_hostile_relation_trigger = yes
|
||||
OR = {
|
||||
NOT = { exists = scope:actor_nemesis }
|
||||
this != scope:actor_nemesis
|
||||
}
|
||||
}
|
||||
|
||||
scripted_effect ep1_character_interaction_0001_move_character_and_family_effect = {
|
||||
scope:recipient = {
|
||||
# Whatever else happens, just move them.
|
||||
scope:actor = { remove_courtier_or_guest = scope:recipient }
|
||||
$DESTINATION$ = { add_courtier = scope:recipient }
|
||||
# If they have any family, quietly send them along too.
|
||||
hidden_effect = {
|
||||
if = {
|
||||
limit = {
|
||||
any_traveling_family_member = { }
|
||||
}
|
||||
every_traveling_family_member = {
|
||||
save_temporary_scope_as = family_to_shunt
|
||||
scope:actor = { remove_courtier_or_guest = scope:family_to_shunt }
|
||||
$DESTINATION$ = { add_courtier = scope:family_to_shunt }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Trick a guest into a debt & turn them into an agent.
|
||||
ep1_character_interaction.0001 = {
|
||||
type = character_event
|
||||
title = ep1_character_interaction.0001.t
|
||||
desc = {
|
||||
desc = ep1_character_interaction.0001.desc.intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:lustful }
|
||||
desc = ep1_character_interaction.0001.desc.lustful
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:chaste }
|
||||
desc = ep1_character_interaction.0001.desc.chaste
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:gluttonous }
|
||||
desc = ep1_character_interaction.0001.desc.gluttonous
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:temperate }
|
||||
desc = ep1_character_interaction.0001.desc.temperate
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:greedy }
|
||||
desc = ep1_character_interaction.0001.desc.greedy
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:generous }
|
||||
desc = ep1_character_interaction.0001.desc.generous
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:lazy }
|
||||
desc = ep1_character_interaction.0001.desc.lazy
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:diligent }
|
||||
desc = ep1_character_interaction.0001.desc.diligent
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:wrathful }
|
||||
desc = ep1_character_interaction.0001.desc.wrathful
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:calm }
|
||||
desc = ep1_character_interaction.0001.desc.calm
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:patient }
|
||||
desc = ep1_character_interaction.0001.desc.patient
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:impatient }
|
||||
desc = ep1_character_interaction.0001.desc.impatient
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:arrogant }
|
||||
desc = ep1_character_interaction.0001.desc.arrogant
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:humble }
|
||||
desc = ep1_character_interaction.0001.desc.humble
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:deceitful }
|
||||
desc = ep1_character_interaction.0001.desc.deceitful
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:honest }
|
||||
desc = ep1_character_interaction.0001.desc.honest
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:craven }
|
||||
desc = ep1_character_interaction.0001.desc.craven
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:brave }
|
||||
desc = ep1_character_interaction.0001.desc.brave
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:shy }
|
||||
desc = ep1_character_interaction.0001.desc.shy
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:gregarious }
|
||||
desc = ep1_character_interaction.0001.desc.gregarious
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:ambitious }
|
||||
desc = ep1_character_interaction.0001.desc.ambitious
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:content }
|
||||
desc = ep1_character_interaction.0001.desc.content
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:arbitrary }
|
||||
desc = ep1_character_interaction.0001.desc.arbitrary
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:just }
|
||||
desc = ep1_character_interaction.0001.desc.just
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:cynical }
|
||||
desc = ep1_character_interaction.0001.desc.cynical
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:zealous }
|
||||
desc = ep1_character_interaction.0001.desc.zealous
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:paranoid }
|
||||
desc = ep1_character_interaction.0001.desc.paranoid
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:trusting }
|
||||
desc = ep1_character_interaction.0001.desc.trusting
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:compassionate }
|
||||
desc = ep1_character_interaction.0001.desc.compassionate
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:callous }
|
||||
desc = ep1_character_interaction.0001.desc.callous
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:sadistic }
|
||||
desc = ep1_character_interaction.0001.desc.sadistic
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:stubborn }
|
||||
desc = ep1_character_interaction.0001.desc.stubborn
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:fickle }
|
||||
desc = ep1_character_interaction.0001.desc.fickle
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:vengeful }
|
||||
desc = ep1_character_interaction.0001.desc.vengeful
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:forgiving }
|
||||
desc = ep1_character_interaction.0001.desc.forgiving
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:fallback_1 }
|
||||
desc = ep1_character_interaction.0001.desc.fallback_1
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:fallback_2 }
|
||||
desc = ep1_character_interaction.0001.desc.fallback_2
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:fallback_3 }
|
||||
desc = ep1_character_interaction.0001.desc.fallback_3
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:fallback_4 }
|
||||
desc = ep1_character_interaction.0001.desc.fallback_4
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:false_flag_type = flag:fallback_5 }
|
||||
desc = ep1_character_interaction.0001.desc.fallback_5
|
||||
}
|
||||
}
|
||||
desc = ep1_character_interaction.0001.desc.outro
|
||||
}
|
||||
theme = intrigue_skulduggery_focus
|
||||
left_portrait = {
|
||||
character = scope:actor
|
||||
animation = schadenfreude
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:recipient
|
||||
animation = fear
|
||||
}
|
||||
lower_center_portrait = scope:actor_nemesis
|
||||
lower_right_portrait = scope:actor_rival
|
||||
override_background = { reference = throne_room }
|
||||
|
||||
immediate = {
|
||||
# Apply the interaction's effects.
|
||||
indebt_guest_interaction_accepted_effect = yes
|
||||
# Roll the offending crime.
|
||||
## Percentages even throughout: we're not fussed about which result you roll.
|
||||
scope:recipient = {
|
||||
random_list = {
|
||||
# lustful
|
||||
100 = {
|
||||
trigger = { has_trait = lustful }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:lustful
|
||||
}
|
||||
}
|
||||
# chaste
|
||||
100 = {
|
||||
trigger = { has_trait = chaste }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:chaste
|
||||
}
|
||||
}
|
||||
# gluttonous
|
||||
100 = {
|
||||
trigger = { has_trait = gluttonous }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:gluttonous
|
||||
}
|
||||
}
|
||||
# temperate
|
||||
100 = {
|
||||
trigger = { has_trait = temperate }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:temperate
|
||||
}
|
||||
}
|
||||
# greedy
|
||||
100 = {
|
||||
trigger = { has_trait = greedy }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:greedy
|
||||
}
|
||||
}
|
||||
# generous
|
||||
100 = {
|
||||
trigger = { has_trait = generous }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:generous
|
||||
}
|
||||
}
|
||||
# lazy
|
||||
100 = {
|
||||
trigger = { has_trait = lazy }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:lazy
|
||||
}
|
||||
}
|
||||
# diligent
|
||||
100 = {
|
||||
trigger = { has_trait = diligent }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:diligent
|
||||
}
|
||||
}
|
||||
# wrathful
|
||||
100 = {
|
||||
trigger = { has_trait = wrathful }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:wrathful
|
||||
}
|
||||
}
|
||||
# calm
|
||||
100 = {
|
||||
trigger = { has_trait = calm }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:calm
|
||||
}
|
||||
}
|
||||
# patient
|
||||
100 = {
|
||||
trigger = { has_trait = patient }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:patient
|
||||
}
|
||||
}
|
||||
# impatient
|
||||
100 = {
|
||||
trigger = { has_trait = impatient }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:impatient
|
||||
}
|
||||
}
|
||||
# arrogant
|
||||
100 = {
|
||||
trigger = { has_trait = arrogant }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:arrogant
|
||||
}
|
||||
}
|
||||
# humble
|
||||
100 = {
|
||||
trigger = { has_trait = humble }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:humble
|
||||
}
|
||||
}
|
||||
# deceitful
|
||||
100 = {
|
||||
trigger = { has_trait = deceitful }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:deceitful
|
||||
}
|
||||
}
|
||||
# honest
|
||||
100 = {
|
||||
trigger = { has_trait = honest }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:honest
|
||||
}
|
||||
}
|
||||
# craven
|
||||
100 = {
|
||||
trigger = { has_trait = craven }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:craven
|
||||
}
|
||||
}
|
||||
# brave
|
||||
100 = {
|
||||
trigger = { has_trait = brave }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:brave
|
||||
}
|
||||
}
|
||||
# shy
|
||||
100 = {
|
||||
trigger = { has_trait = shy }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:shy
|
||||
}
|
||||
}
|
||||
# gregarious
|
||||
100 = {
|
||||
trigger = { has_trait = gregarious }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:gregarious
|
||||
}
|
||||
}
|
||||
# ambitious
|
||||
100 = {
|
||||
trigger = { has_trait = ambitious }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:ambitious
|
||||
}
|
||||
}
|
||||
# content
|
||||
100 = {
|
||||
trigger = { has_trait = content }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:content
|
||||
}
|
||||
}
|
||||
# arbitrary
|
||||
100 = {
|
||||
trigger = { has_trait = arbitrary }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:arbitrary
|
||||
}
|
||||
}
|
||||
# just
|
||||
100 = {
|
||||
trigger = { has_trait = just }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:just
|
||||
}
|
||||
}
|
||||
# cynical
|
||||
100 = {
|
||||
trigger = { has_trait = cynical }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:cynical
|
||||
}
|
||||
}
|
||||
# zealous
|
||||
100 = {
|
||||
trigger = { has_trait = zealous }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:zealous
|
||||
}
|
||||
}
|
||||
# paranoid
|
||||
100 = {
|
||||
trigger = { has_trait = paranoid }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:paranoid
|
||||
}
|
||||
}
|
||||
# trusting
|
||||
100 = {
|
||||
trigger = { has_trait = trusting }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:trusting
|
||||
}
|
||||
}
|
||||
# compassionate
|
||||
100 = {
|
||||
trigger = { has_trait = compassionate }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:compassionate
|
||||
}
|
||||
}
|
||||
# callous
|
||||
100 = {
|
||||
trigger = { has_trait = callous }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:callous
|
||||
}
|
||||
}
|
||||
# sadistic
|
||||
100 = {
|
||||
trigger = { has_trait = sadistic }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:sadistic
|
||||
}
|
||||
}
|
||||
# stubborn
|
||||
100 = {
|
||||
trigger = { has_trait = stubborn }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:stubborn
|
||||
}
|
||||
}
|
||||
# fickle
|
||||
100 = {
|
||||
trigger = { has_trait = fickle }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:fickle
|
||||
}
|
||||
}
|
||||
# vengeful
|
||||
100 = {
|
||||
trigger = { has_trait = vengeful }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:vengeful
|
||||
}
|
||||
}
|
||||
# forgiving
|
||||
100 = {
|
||||
trigger = { has_trait = forgiving }
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:forgiving
|
||||
}
|
||||
}
|
||||
# fallback_1
|
||||
100 = {
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:fallback_1
|
||||
}
|
||||
}
|
||||
# fallback_2
|
||||
100 = {
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:fallback_2
|
||||
}
|
||||
}
|
||||
# fallback_3
|
||||
100 = {
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:fallback_3
|
||||
}
|
||||
}
|
||||
# fallback_4
|
||||
100 = {
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:fallback_4
|
||||
}
|
||||
}
|
||||
# fallback_5
|
||||
100 = {
|
||||
save_scope_value_as = {
|
||||
name = false_flag_type
|
||||
value = flag:fallback_5
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# Sort scopes for event options.
|
||||
scope:actor = {
|
||||
# If scope:actor has a nemesis, save them for loc.
|
||||
if = {
|
||||
limit = {
|
||||
any_relation = {
|
||||
type = nemesis
|
||||
count >= 1
|
||||
ep1_character_interaction_0001_valid_hostile_relation_trigger = yes
|
||||
}
|
||||
}
|
||||
random_relation = {
|
||||
type = nemesis
|
||||
limit = { ep1_character_interaction_0001_valid_hostile_relation_trigger = yes }
|
||||
save_scope_as = actor_nemesis
|
||||
}
|
||||
}
|
||||
# If scope:actor has any valid rivals, pick a random one for option B.
|
||||
if = {
|
||||
limit = {
|
||||
any_relation = {
|
||||
type = rival
|
||||
count >= 1
|
||||
ep1_character_interaction_0001_valid_rival_trigger = yes
|
||||
}
|
||||
}
|
||||
random_relation = {
|
||||
type = rival
|
||||
# Prefer rivals that are targets of hostile schemes.
|
||||
limit = {
|
||||
any_targeting_scheme = {
|
||||
scheme_owner = scope:actor
|
||||
is_hostile = yes
|
||||
}
|
||||
ep1_character_interaction_0001_valid_rival_trigger = yes
|
||||
}
|
||||
# Failing that, rivals who are targets of any schemes.
|
||||
alternative_limit = {
|
||||
any_targeting_scheme = {
|
||||
scheme_owner = scope:actor
|
||||
is_hostile = no
|
||||
}
|
||||
ep1_character_interaction_0001_valid_rival_trigger = yes
|
||||
}
|
||||
# Otherwise just any rando rival who could be schemed against.
|
||||
alternative_limit = { ep1_character_interaction_0001_valid_rival_trigger = yes }
|
||||
save_scope_as = actor_rival
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# *Cackling* Oh yes, [actor_nemesis.GetFirstName] will never see this coming!
|
||||
option = {
|
||||
name = ep1_character_interaction.0001.a
|
||||
trigger = { exists = scope:actor_nemesis }
|
||||
|
||||
# Quietly add scope:recipient as a courtier of scope:actor_nemesis.
|
||||
ep1_character_interaction_0001_move_character_and_family_effect = { DESTINATION = scope:actor_nemesis }
|
||||
|
||||
stress_impact = {
|
||||
patient = miniscule_stress_impact_loss
|
||||
vengeful = minor_stress_impact_loss
|
||||
impatient = medium_stress_impact_gain
|
||||
trusting = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
# If valid, this should always be the choice selected.
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
# Excellent! Now, you will deliver yourself to [actor_rival.GetFirstNamePossessive] court...
|
||||
option = {
|
||||
name = ep1_character_interaction.0001.b
|
||||
trigger = { exists = scope:actor_rival }
|
||||
|
||||
# Quietly add scope:recipient as a courtier of scope:actor_rival.
|
||||
ep1_character_interaction_0001_move_character_and_family_effect = { DESTINATION = scope:actor_rival }
|
||||
|
||||
stress_impact = {
|
||||
patient = miniscule_stress_impact_loss
|
||||
vengeful = minor_stress_impact_loss
|
||||
impatient = medium_stress_impact_gain
|
||||
trusting = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
# Never pick this option...
|
||||
base = 0
|
||||
# ... unless there's no nemesis, in which case it should be the default.
|
||||
modifier = {
|
||||
add = 100
|
||||
NOT = { exists = scope:actor_rival }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Now, begone till I have need of you.
|
||||
option = {
|
||||
name = ep1_character_interaction.0001.c
|
||||
|
||||
# Boot 'em out.
|
||||
hidden_effect = {
|
||||
scope:recipient = { select_and_move_to_pool_effect = yes }
|
||||
}
|
||||
show_as_tooltip = {
|
||||
remove_courtier_or_guest = scope:recipient
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
shy = minor_stress_impact_loss
|
||||
gregarious = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
# AI should never be taking this without a nemesis, but if they do, it doesn't matter where they send scope:recipient.
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
|
||||
# Naturally, you will stay where I can keep an eye on you.
|
||||
option = {
|
||||
name = ep1_character_interaction.0001.d
|
||||
|
||||
# Status quo: no extra changes here.
|
||||
|
||||
# No stress impact necessary for the fallback option.
|
||||
ai_chance = {
|
||||
# AI should never be taking this without a nemesis, but if they do, it doesn't matter where they send scope:recipient.
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
552
events/dlc/ep1/ep1_court_position_events.txt
Normal file
552
events/dlc/ep1/ep1_court_position_events.txt
Normal file
|
|
@ -0,0 +1,552 @@
|
|||
namespace = court_position
|
||||
|
||||
################################
|
||||
# FLAVOR EVENTS
|
||||
# 1001 - 8999
|
||||
################################
|
||||
|
||||
|
||||
|
||||
#############################
|
||||
# MURDER SAVE EVENTS
|
||||
# 9001 - 9199
|
||||
# by Linnéa Thimrén
|
||||
#############################
|
||||
|
||||
###############
|
||||
# SAVED BY FOOD TASTER
|
||||
|
||||
# FOR MURDERER: Saved from poisoned food by food taster
|
||||
# by Linnéa Thimrén
|
||||
court_position.9001 = {
|
||||
type = character_event
|
||||
window = scheme_failed_event
|
||||
title = court_position.9001.t
|
||||
desc = {
|
||||
desc = court_position.9001.desc
|
||||
triggered_desc = {
|
||||
trigger = { exists = local_var:food_taster_dies }
|
||||
desc = court_position.9001.food_taster_dies
|
||||
}
|
||||
}
|
||||
theme = murder_scheme
|
||||
left_portrait = {
|
||||
character = scope:owner
|
||||
triggered_animation = {
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
animation = fear
|
||||
}
|
||||
animation = stress
|
||||
}
|
||||
center_portrait = {
|
||||
character = scope:food_taster
|
||||
animation = poison
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:target
|
||||
triggered_animation = {
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
animation = rage
|
||||
}
|
||||
animation = paranoia
|
||||
}
|
||||
override_background = { reference = feast }
|
||||
widget = {
|
||||
gui = "event_window_widget_scheme"
|
||||
container = "custom_widgets_container"
|
||||
}
|
||||
|
||||
trigger = {
|
||||
scope:target = {
|
||||
employs_court_position = food_taster_court_position
|
||||
any_court_position_holder = {
|
||||
type = food_taster_court_position
|
||||
foodtaster_will_actually_do_job_trigger = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:target = {
|
||||
random_court_position_holder = {
|
||||
type = food_taster_court_position
|
||||
limit = { is_physically_able = yes }
|
||||
save_scope_as = food_taster
|
||||
}
|
||||
}
|
||||
murder_failure_effect = yes
|
||||
hidden_effect = {
|
||||
random = {
|
||||
chance = 75
|
||||
set_local_variable = {
|
||||
name = food_taster_dies
|
||||
value = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = murder_save.0001.a
|
||||
scope:scheme = { end_scheme = yes }
|
||||
}
|
||||
|
||||
option = {
|
||||
name = murder_save.0001.b
|
||||
restart_murder_scheme_effect = yes
|
||||
}
|
||||
|
||||
after = {
|
||||
# Fire the rest of the outcome.
|
||||
scope:target = { trigger_event = court_position.9002 }
|
||||
if = {
|
||||
limit = { exists = local_var:food_taster_dies }
|
||||
show_as_tooltip = {
|
||||
murder_interception_handle_extra_deaths_effect = {
|
||||
VICTIM = scope:food_taster
|
||||
REASON = death_poison
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# FOR TARGET: Food taster dies to poison
|
||||
court_position.9002 = {
|
||||
type = character_event
|
||||
window = scheme_conclusion_event_no_header
|
||||
title = court_position.9001.t
|
||||
desc = {
|
||||
desc = court_position.9002.desc
|
||||
triggered_desc = {
|
||||
trigger = { exists = local_var:food_taster_dies }
|
||||
desc = court_position.9002.food_taster_dies
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
desc = court_position.9002.owner_discovered
|
||||
}
|
||||
}
|
||||
theme = murder_scheme
|
||||
left_portrait = {
|
||||
character = scope:target
|
||||
triggered_animation = {
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
animation = rage
|
||||
}
|
||||
animation = paranoia
|
||||
}
|
||||
center_portrait = {
|
||||
character = scope:food_taster
|
||||
animation = poison
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:owner_to_reveal
|
||||
triggered_animation = {
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
animation = fear
|
||||
}
|
||||
animation = stress
|
||||
}
|
||||
|
||||
immediate = {
|
||||
set_variable = {
|
||||
name = block_death_event_from
|
||||
value = scope:food_taster
|
||||
days = 3
|
||||
}
|
||||
# Handle the death of the food taster, if necessary
|
||||
if = {
|
||||
limit = { exists = local_var:food_taster_dies }
|
||||
murder_interception_handle_extra_deaths_effect = {
|
||||
VICTIM = scope:food_taster
|
||||
REASON = death_poison
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Who could do such a thing?
|
||||
option = {
|
||||
name = murder_save.1001.a
|
||||
trigger = {
|
||||
NOT = { exists = scope:scheme_discovered }
|
||||
}
|
||||
custom_tooltip = murder_save.failure_unknown_owner_tt
|
||||
}
|
||||
|
||||
# Vengeance!
|
||||
option = {
|
||||
name = murder_save.1001.b
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
custom_tooltip = murder_save.failure_known_owner_tt
|
||||
}
|
||||
|
||||
after = {
|
||||
add_character_modifier = {
|
||||
modifier = watchful_modifier
|
||||
days = watchful_modifier_duration
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
###############
|
||||
# SAVED BY CUP-BEARER
|
||||
|
||||
# FOR MURDERER: Saved from poisoned drink by cup-bearer
|
||||
# by Linnéa Thimrén
|
||||
court_position.9011 = {
|
||||
type = character_event
|
||||
window = scheme_failed_event
|
||||
title = court_position.9011.t
|
||||
desc = {
|
||||
desc = court_position.9011.desc
|
||||
triggered_desc = {
|
||||
trigger = { exists = local_var:cupbearer_dies }
|
||||
desc = court_position.9011.cupbearer_dies
|
||||
}
|
||||
}
|
||||
theme = murder_scheme
|
||||
left_portrait = {
|
||||
character = scope:owner
|
||||
triggered_animation = {
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
animation = fear
|
||||
}
|
||||
animation = stress
|
||||
}
|
||||
center_portrait = {
|
||||
character = scope:food_taster
|
||||
animation = poison
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:target
|
||||
triggered_animation = {
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
animation = rage
|
||||
}
|
||||
animation = paranoia
|
||||
}
|
||||
widget = {
|
||||
gui = "event_window_widget_scheme"
|
||||
container = "custom_widgets_container"
|
||||
}
|
||||
|
||||
trigger = {
|
||||
scope:target = {
|
||||
employs_court_position = cupbearer_court_position
|
||||
any_court_position_holder = {
|
||||
type = cupbearer_court_position
|
||||
cupbearer_will_actually_do_job_trigger = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:target = {
|
||||
random_court_position_holder = {
|
||||
type = cupbearer_court_position
|
||||
limit = { is_physically_able = yes }
|
||||
save_scope_as = cupbearer
|
||||
}
|
||||
}
|
||||
murder_failure_effect = yes
|
||||
hidden_effect = {
|
||||
random = {
|
||||
chance = 75
|
||||
set_local_variable = {
|
||||
name = cupbearer_dies
|
||||
value = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = murder_save.0001.a
|
||||
scope:scheme = { end_scheme = yes }
|
||||
}
|
||||
|
||||
option = {
|
||||
name = murder_save.0001.b
|
||||
restart_murder_scheme_effect = yes
|
||||
}
|
||||
|
||||
after = {
|
||||
# Fire the rest of the outcome.
|
||||
scope:target = { trigger_event = court_position.9012 }
|
||||
if = {
|
||||
limit = { exists = local_var:cupbearer_dies }
|
||||
show_as_tooltip = {
|
||||
murder_interception_handle_extra_deaths_effect = {
|
||||
VICTIM = scope:cupbearer
|
||||
REASON = death_poison
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
# FOR TARGET: Cup-bearer dies to poison
|
||||
court_position.9012 = {
|
||||
type = character_event
|
||||
window = scheme_conclusion_event_no_header
|
||||
title = court_position.9011.t
|
||||
desc = {
|
||||
desc = court_position.9012.desc
|
||||
triggered_desc = {
|
||||
trigger = { exists = local_var:cupbearer_dies }
|
||||
desc = court_position.9012.cupbearer_dies
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
desc = court_position.9002.owner_discovered
|
||||
}
|
||||
}
|
||||
theme = murder_scheme
|
||||
left_portrait = {
|
||||
character = scope:target
|
||||
triggered_animation = {
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
animation = rage
|
||||
}
|
||||
animation = paranoia
|
||||
}
|
||||
center_portrait = {
|
||||
character = scope:food_taster
|
||||
animation = poison
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:owner_to_reveal
|
||||
triggered_animation = {
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
animation = fear
|
||||
}
|
||||
animation = stress
|
||||
}
|
||||
|
||||
immediate = {
|
||||
set_variable = {
|
||||
name = block_death_event_from
|
||||
value = scope:cupbearer
|
||||
days = 3
|
||||
}
|
||||
# Handle the death of the cupbearer, if necessary
|
||||
if = {
|
||||
limit = { exists = local_var:cupbearer_dies }
|
||||
murder_interception_handle_extra_deaths_effect = {
|
||||
VICTIM = scope:cupbearer
|
||||
REASON = death_poison
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Who could do such a thing?
|
||||
option = {
|
||||
name = murder_save.1001.a
|
||||
trigger = {
|
||||
NOT = { exists = scope:scheme_discovered }
|
||||
}
|
||||
custom_tooltip = murder_save.failure_unknown_owner_tt
|
||||
}
|
||||
|
||||
# Vengeance!
|
||||
option = {
|
||||
name = murder_save.1001.b
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
custom_tooltip = murder_save.failure_known_owner_tt
|
||||
}
|
||||
|
||||
after = {
|
||||
add_character_modifier = {
|
||||
modifier = watchful_modifier
|
||||
days = watchful_modifier_duration
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
###############
|
||||
# SAVED BY BODYGUARD
|
||||
|
||||
# FOR MURDERER: Saved from assassin by bodyguard
|
||||
# by Linnéa Thimrén
|
||||
court_position.9021 = {
|
||||
type = character_event
|
||||
window = scheme_failed_event
|
||||
title = court_position.9021.t
|
||||
desc = {
|
||||
desc = court_position.9021.desc
|
||||
triggered_desc = {
|
||||
trigger = { exists = local_var:bodyguard_dies }
|
||||
desc = court_position.9021.bodyguard_dies
|
||||
}
|
||||
}
|
||||
theme = murder_scheme
|
||||
left_portrait = {
|
||||
character = scope:owner
|
||||
triggered_animation = {
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
animation = fear
|
||||
}
|
||||
animation = stress
|
||||
}
|
||||
center_portrait = {
|
||||
character = scope:bodyguard
|
||||
triggered_animation = {
|
||||
trigger = { is_alive = no }
|
||||
animation = map_fear
|
||||
}
|
||||
animation = random_weapon_aggressive
|
||||
camera = camera_event_center_pointing_left
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:target
|
||||
triggered_animation = {
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
animation = rage
|
||||
}
|
||||
animation = paranoia
|
||||
}
|
||||
widget = {
|
||||
gui = "event_window_widget_scheme"
|
||||
container = "custom_widgets_container"
|
||||
}
|
||||
|
||||
trigger = {
|
||||
scope:target = {
|
||||
employs_court_position = bodyguard_court_position
|
||||
any_court_position_holder = {
|
||||
type = bodyguard_court_position
|
||||
bodyguard_will_actually_do_job_trigger = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:target = {
|
||||
random_court_position_holder = {
|
||||
type = bodyguard_court_position
|
||||
limit = { is_physically_able = yes }
|
||||
save_scope_as = bodyguard
|
||||
}
|
||||
}
|
||||
murder_failure_effect = yes
|
||||
hidden_effect = {
|
||||
random = {
|
||||
chance = 75
|
||||
set_local_variable = {
|
||||
name = bodyguard_dies
|
||||
value = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = murder_save.0001.a
|
||||
scope:scheme = { end_scheme = yes }
|
||||
}
|
||||
|
||||
option = {
|
||||
name = murder_save.0001.b
|
||||
restart_murder_scheme_effect = yes
|
||||
}
|
||||
|
||||
after = {
|
||||
# Fire the rest of the outcome.
|
||||
scope:target = { trigger_event = court_position.9022 }
|
||||
if = {
|
||||
limit = { exists = local_var:bodyguard_dies }
|
||||
show_as_tooltip = {
|
||||
murder_interception_handle_extra_deaths_effect = {
|
||||
VICTIM = scope:bodyguard
|
||||
REASON = death_murder
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# FOR TARGET: Bodyguard dies to assassin
|
||||
court_position.9022 = {
|
||||
type = character_event
|
||||
window = scheme_conclusion_event_no_header
|
||||
title = court_position.9021.t
|
||||
desc = {
|
||||
desc = court_position.9022.desc
|
||||
triggered_desc = {
|
||||
trigger = { exists = local_var:bodyguard_dies }
|
||||
desc = court_position.9022.bodyguard_dies
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
desc = court_position.9002.owner_discovered
|
||||
}
|
||||
}
|
||||
theme = murder_scheme
|
||||
left_portrait = {
|
||||
character = scope:target
|
||||
triggered_animation = {
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
animation = rage
|
||||
}
|
||||
animation = paranoia
|
||||
}
|
||||
center_portrait = {
|
||||
character = scope:bodyguard
|
||||
triggered_animation = {
|
||||
trigger = { is_alive = no }
|
||||
animation = map_fear
|
||||
}
|
||||
animation = random_weapon_aggressive
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:owner_to_reveal
|
||||
triggered_animation = {
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
animation = fear
|
||||
}
|
||||
animation = stress
|
||||
}
|
||||
|
||||
immediate = {
|
||||
set_variable = {
|
||||
name = block_death_event_from
|
||||
value = scope:bodyguard
|
||||
days = 3
|
||||
}
|
||||
# Handle the death of the bodyguard, if necessary
|
||||
if = {
|
||||
limit = { exists = local_var:bodyguard_dies }
|
||||
murder_interception_handle_extra_deaths_effect = {
|
||||
VICTIM = scope:bodyguard
|
||||
REASON = death_murder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Who could do such a thing?
|
||||
option = {
|
||||
name = murder_save.1001.a
|
||||
trigger = {
|
||||
NOT = { exists = scope:scheme_discovered }
|
||||
}
|
||||
custom_tooltip = murder_save.failure_unknown_owner_tt
|
||||
}
|
||||
|
||||
# Vengeance!
|
||||
option = {
|
||||
name = murder_save.1001.b
|
||||
trigger = { exists = scope:scheme_discovered }
|
||||
custom_tooltip = murder_save.failure_known_owner_tt
|
||||
}
|
||||
|
||||
after = {
|
||||
add_character_modifier = {
|
||||
modifier = watchful_modifier
|
||||
days = watchful_modifier_duration
|
||||
}
|
||||
}
|
||||
}
|
||||
6005
events/dlc/ep1/ep1_flavor_events.txt
Normal file
6005
events/dlc/ep1/ep1_flavor_events.txt
Normal file
File diff suppressed because it is too large
Load diff
1197
events/dlc/ep2/ep2_accolade_events.txt
Normal file
1197
events/dlc/ep2/ep2_accolade_events.txt
Normal file
File diff suppressed because it is too large
Load diff
1857
events/dlc/ep2/wedding_events/ep2_bloody_wedding_events.txt
Normal file
1857
events/dlc/ep2/wedding_events/ep2_bloody_wedding_events.txt
Normal file
File diff suppressed because it is too large
Load diff
23480
events/dlc/ep2/wedding_events/ep2_wedding_events.txt
Normal file
23480
events/dlc/ep2/wedding_events/ep2_wedding_events.txt
Normal file
File diff suppressed because it is too large
Load diff
10220
events/dlc/ep3/ep3_contract_events.txt
Normal file
10220
events/dlc/ep3/ep3_contract_events.txt
Normal file
File diff suppressed because it is too large
Load diff
2212
events/dlc/ep3/ep3_emperor_yearly_8.txt
Normal file
2212
events/dlc/ep3/ep3_emperor_yearly_8.txt
Normal file
File diff suppressed because it is too large
Load diff
22488
events/dlc/ep3/ep3_laamp_decision_events.txt
Normal file
22488
events/dlc/ep3/ep3_laamp_decision_events.txt
Normal file
File diff suppressed because it is too large
Load diff
9084
events/dlc/ep3/ep3_laamp_events.txt
Normal file
9084
events/dlc/ep3/ep3_laamp_events.txt
Normal file
File diff suppressed because it is too large
Load diff
3986
events/dlc/ep3/ep3_laamp_events_8.txt
Normal file
3986
events/dlc/ep3/ep3_laamp_events_8.txt
Normal file
File diff suppressed because it is too large
Load diff
329
events/dlc/ep3/ep3_laamp_flavor_oltner.txt
Normal file
329
events/dlc/ep3/ep3_laamp_flavor_oltner.txt
Normal file
|
|
@ -0,0 +1,329 @@
|
|||
namespace = ep3_laamp_flavor_oltner
|
||||
|
||||
scripted_trigger suitable_pool_marriage_trigger = {
|
||||
save_temporary_scope_as = pool_marriage_target
|
||||
is_physically_able_adult = yes
|
||||
allowed_to_marry_character_gender_trigger = { CHARACTER = $FOLLOWER_TARGET$ }
|
||||
$FOLLOWER_TARGET$ ?= { allowed_to_marry_character_gender_trigger = { CHARACTER = prev } }
|
||||
are_characters_sensible_lovers_trigger = { INSTIGATING_LOVER = $FOLLOWER_TARGET$ TARGET_OF_LOVE = scope:pool_marriage_target }
|
||||
is_married = no
|
||||
can_marry_trigger = yes
|
||||
is_concubine = no
|
||||
NOT = {
|
||||
exists = betrothed
|
||||
}
|
||||
has_no_particular_noble_roots_trigger = yes
|
||||
}
|
||||
|
||||
scripted_trigger suitable_follower_marriage_character_trigger = {
|
||||
is_physically_able_adult = yes
|
||||
this != root
|
||||
is_married = no
|
||||
can_marry_trigger = yes
|
||||
is_concubine = no
|
||||
age <= 50
|
||||
health >= fine_health
|
||||
is_faith_dominant_gender = no
|
||||
NOR = {
|
||||
house = root.house
|
||||
is_close_family_of = root
|
||||
exists = betrothed
|
||||
has_relation_rival = root
|
||||
}
|
||||
save_temporary_scope_as = entourage_member
|
||||
any_pool_character = {
|
||||
province = root.location
|
||||
age <= 40
|
||||
health >= fine_health
|
||||
suitable_pool_marriage_trigger = { FOLLOWER_TARGET = scope:entourage_member }
|
||||
}
|
||||
}
|
||||
|
||||
# A Follower's Heart
|
||||
ep3_laamp_flavor_oltner.0001 = {
|
||||
type = character_event
|
||||
title = ep3_laamp_flavor_oltner.3001.t
|
||||
desc = ep3_laamp_flavor_oltner.3001.desc
|
||||
theme = marriage
|
||||
override_background = { reference = market_scope }
|
||||
left_portrait = {
|
||||
character = scope:entourage_to_marry_2
|
||||
animation = beg
|
||||
camera = camera_event_very_left
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:marriage_material
|
||||
animation = dismissal
|
||||
camera = camera_event_right_pointing_left
|
||||
}
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
has_government = landless_adventurer_government
|
||||
location = {
|
||||
has_holding = yes
|
||||
}
|
||||
any_courtier = {
|
||||
suitable_follower_marriage_character_trigger = yes
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
save_scope_as = root_char
|
||||
random_courtier = {
|
||||
limit = {
|
||||
suitable_follower_marriage_character_trigger = yes
|
||||
}
|
||||
save_scope_as = entourage_to_marry_2
|
||||
}
|
||||
random_pool_character = {
|
||||
province = root.location
|
||||
limit = {
|
||||
suitable_pool_marriage_trigger = { FOLLOWER_TARGET = scope:entourage_to_marry_2 }
|
||||
}
|
||||
save_scope_as = marriage_material
|
||||
}
|
||||
location.county.title_province = { save_scope_as = background_market_scope }
|
||||
}
|
||||
|
||||
option = { # Tell them to pay it themselves
|
||||
name = ep3_laamp_flavor_oltner.0001.a
|
||||
|
||||
trigger = {
|
||||
scope:entourage_to_marry_2.gold >= {
|
||||
add = scope:marriage_material.sum_of_all_skills_and_prowess_value
|
||||
}
|
||||
}
|
||||
|
||||
scope:entourage_to_marry_2 = {
|
||||
remove_short_term_gold = {
|
||||
add = scope:marriage_material.sum_of_all_skills_value
|
||||
add = scope:marriage_material.prowess
|
||||
}
|
||||
}
|
||||
|
||||
add_courtier = scope:marriage_material
|
||||
scope:entourage_to_marry_2 = {
|
||||
if = {
|
||||
limit = {
|
||||
is_female = yes
|
||||
is_lowborn = no
|
||||
scope:marriage_material = {
|
||||
is_lowborn = yes
|
||||
}
|
||||
}
|
||||
marry_matrilineal = scope:marriage_material
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
is_male = yes
|
||||
is_lowborn = yes
|
||||
scope:marriage_material = {
|
||||
is_lowborn = no
|
||||
}
|
||||
}
|
||||
marry_matrilineal = scope:marriage_material
|
||||
}
|
||||
else = {
|
||||
marry = scope:marriage_material
|
||||
}
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Pay the dowry
|
||||
name = ep3_laamp_flavor_oltner.0001.b
|
||||
stress_impact = {
|
||||
generous = massive_stress_impact_loss
|
||||
greedy = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
remove_short_term_gold = {
|
||||
add = scope:marriage_material.sum_of_all_skills_and_prowess_value
|
||||
}
|
||||
|
||||
add_courtier = scope:marriage_material
|
||||
scope:entourage_to_marry_2 = {
|
||||
if = {
|
||||
limit = {
|
||||
is_female = yes
|
||||
is_lowborn = no
|
||||
scope:marriage_material = {
|
||||
is_lowborn = yes
|
||||
}
|
||||
}
|
||||
marry_matrilineal = scope:marriage_material
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
is_male = yes
|
||||
is_lowborn = yes
|
||||
scope:marriage_material = {
|
||||
is_lowborn = no
|
||||
}
|
||||
}
|
||||
marry_matrilineal = scope:marriage_material
|
||||
}
|
||||
else = {
|
||||
marry = scope:marriage_material
|
||||
}
|
||||
progress_towards_friend_effect = {
|
||||
CHARACTER = root
|
||||
OPINION = 0
|
||||
REASON = friend_helped_me_marry
|
||||
}
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = grateful_opinion
|
||||
opinion = 50
|
||||
}
|
||||
}
|
||||
|
||||
scope:marriage_material = { save_scope_as = relationship_reason_involved_character }
|
||||
|
||||
clear_saved_scope = relationship_reason_involved_character
|
||||
|
||||
ai_chance = {
|
||||
base = 10
|
||||
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = greedy
|
||||
gold <= {
|
||||
add = scope:marriage_material.sum_of_all_skills_and_prowess_value
|
||||
multiply = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Convince them to run away with you
|
||||
name = ep3_laamp_flavor_oltner.0001.c
|
||||
skill = intrigue
|
||||
stress_impact = {
|
||||
generous = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
duel = {
|
||||
skill = intrigue
|
||||
value = high_skill_rating
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
desc = ep3_laamp_flavor_oltner.0001.c.success
|
||||
send_interface_toast = {
|
||||
title = ep3_laamp_flavor_oltner.0001.c.success
|
||||
left_icon = scope:entourage_to_marry_2
|
||||
right_icon = scope:marriage_material
|
||||
add_courtier = scope:marriage_material
|
||||
scope:entourage_to_marry_2 = {
|
||||
if = {
|
||||
limit = {
|
||||
is_female = yes
|
||||
is_lowborn = no
|
||||
scope:marriage_material = {
|
||||
is_lowborn = yes
|
||||
}
|
||||
}
|
||||
marry_matrilineal = scope:marriage_material
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
is_male = yes
|
||||
is_lowborn = yes
|
||||
scope:marriage_material = {
|
||||
is_lowborn = no
|
||||
}
|
||||
}
|
||||
marry_matrilineal = scope:marriage_material
|
||||
}
|
||||
else = {
|
||||
marry = scope:marriage_material
|
||||
}
|
||||
progress_towards_friend_effect = {
|
||||
CHARACTER = root
|
||||
OPINION = 0
|
||||
REASON = friend_helped_me_marry
|
||||
}
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = grateful_opinion
|
||||
opinion = 50
|
||||
}
|
||||
}
|
||||
|
||||
scope:marriage_material = { save_scope_as = relationship_reason_involved_character }
|
||||
clear_saved_scope = relationship_reason_involved_character
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
desc = ep3_laamp_flavor_oltner.0001.c.failure
|
||||
send_interface_toast = {
|
||||
title = ep3_laamp_flavor_oltner.0001.c.failure
|
||||
left_icon = scope:entourage_to_marry_2
|
||||
right_icon = scope:marriage_material
|
||||
scope:entourage_to_marry_2 = {
|
||||
add_stress = medium_stress_gain
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = disappointed_opinion
|
||||
opinion = -30
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 10
|
||||
|
||||
modifier = {
|
||||
factor = 0
|
||||
has_trait = generous
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Ignore your follower
|
||||
name = ep3_laamp_flavor_oltner.0001.d
|
||||
stress_impact = {
|
||||
compassionate = medium_stress_impact_gain
|
||||
generous = medium_stress_impact_gain
|
||||
callous = minor_stress_impact_loss
|
||||
sadistic = minor_stress_impact_loss
|
||||
chaste = minor_stress_impact_loss
|
||||
shy = minor_stress_impact_loss
|
||||
}
|
||||
scope:entourage_to_marry_2 = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = heartbroken_opinion
|
||||
opinion = -30
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = compassionate
|
||||
has_trait = generous
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
23555
events/dlc/ep3/ep3_laamp_flavour_ewan_events.txt
Normal file
23555
events/dlc/ep3/ep3_laamp_flavour_ewan_events.txt
Normal file
File diff suppressed because it is too large
Load diff
533
events/dlc/ep3/ep3_roman_restoration_events.txt
Normal file
533
events/dlc/ep3/ep3_roman_restoration_events.txt
Normal file
|
|
@ -0,0 +1,533 @@
|
|||
namespace = ep3_roman_restoration
|
||||
|
||||
#######################################
|
||||
###
|
||||
### EP3 RESTORE ROME STORY CYCLE EVENTS
|
||||
### by Chad Uhl
|
||||
###
|
||||
### 0100 Justinian's Dream
|
||||
### 0101-0109 Rome Reformed Notifications
|
||||
### 0300-0590 Post-Restoration Difficulties
|
||||
###
|
||||
#######################################
|
||||
|
||||
# Justinian's Dream
|
||||
# Event fired on story cycle setup informing the player that they can form the roman empire
|
||||
ep3_roman_restoration.0001 = {
|
||||
type = character_event
|
||||
title = ep3_roman_restoration.0001.t
|
||||
desc = ep3_roman_restoration.0001.desc
|
||||
theme = emperor
|
||||
|
||||
override_background = {
|
||||
trigger = { capital_county = title:c_byzantion }
|
||||
reference = ep3_constantinople
|
||||
}
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = emotion_thinking_scepter
|
||||
}
|
||||
|
||||
trigger = {
|
||||
NOT = { has_global_variable = flag_restored_roman_empire }
|
||||
}
|
||||
|
||||
option = {
|
||||
name = ep3_roman_restoration.0001.a
|
||||
custom_tooltip = ep3_roman_restoration.0001.a.tt
|
||||
decision:restore_roman_empire_decision = {
|
||||
open_view_data = {
|
||||
view = decision_detail
|
||||
player = root
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Should I LARP or nah?
|
||||
ep3_roman_restoration.0100 = {
|
||||
type = character_event
|
||||
window = fullscreen_event
|
||||
title = ep3_roman_restoration.0100.t
|
||||
desc = ep3_roman_restoration.0100.desc
|
||||
theme = emperor
|
||||
override_background = { reference = ep3_fullscreen_restore_rome }
|
||||
|
||||
immediate = {
|
||||
save_scope_as = scoped_emperor
|
||||
}
|
||||
|
||||
option = { # LARP (Hard Mode)
|
||||
name = ep3_roman_restoration.0100.a
|
||||
custom_tooltip = ep3_roman_restoration.hard_mode
|
||||
custom_tooltip = ep3_roman_restoration.end_hard_mode
|
||||
custom_tooltip = ep3_roman_restoration.invasion_cb
|
||||
every_held_title = {
|
||||
limit = {
|
||||
is_head_of_faith = yes
|
||||
}
|
||||
root = {
|
||||
destroy_title = prev
|
||||
}
|
||||
}
|
||||
set_character_faith = faith:hellenic_pagan
|
||||
if = {
|
||||
limit = {
|
||||
faith:hellenic_pagan = { has_doctrine = doctrine_monotheist }
|
||||
}
|
||||
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
|
||||
}
|
||||
primary_title = { set_state_faith = faith:hellenic_pagan }
|
||||
every_held_title = {
|
||||
custom = custom.every_held_county
|
||||
title_tier = county
|
||||
set_county_faith = faith:hellenic_pagan
|
||||
}
|
||||
every_vassal = {
|
||||
custom = custom.every_vassal
|
||||
limit = {
|
||||
NOT = {
|
||||
any_held_title = {
|
||||
is_head_of_faith = yes # you cannot convert the Ecumenical Patriarch, sorry
|
||||
}
|
||||
}
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = may_choose_to_convert_hellenic_desc
|
||||
run_interaction = { # We use the same interaction as when creating a new faith to keep a consistent behaviour, since that is essentially what you're doing here
|
||||
interaction = ask_for_conversion_interaction
|
||||
actor = root
|
||||
recipient = this
|
||||
execute_threshold = accept
|
||||
}
|
||||
}
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = ep3_roman_restoration.household_gods_tenet
|
||||
set_global_variable = household_gods_tenet_unlocked
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = uses_custom_caesar_flavourization_tt
|
||||
set_variable = uses_custom_caesar_flavourization
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
any_owned_story = { type = ep3_story_cycle_restoring_rome }
|
||||
}
|
||||
random_owned_story = {
|
||||
type = ep3_story_cycle_restoring_rome
|
||||
set_variable = roman_empire_hard_mode
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Roleplay option (become Hellenic without Hard Mode)
|
||||
name = ep3_roman_restoration.0100.c
|
||||
custom_tooltip = ep3_roman_restoration.easy_mode
|
||||
every_held_title = {
|
||||
limit = {
|
||||
is_head_of_faith = yes
|
||||
}
|
||||
root = {
|
||||
destroy_title = prev
|
||||
}
|
||||
}
|
||||
set_character_faith = faith:hellenic_pagan
|
||||
if = {
|
||||
limit = {
|
||||
faith:hellenic_pagan = { has_doctrine = doctrine_monotheist }
|
||||
}
|
||||
custom_description_no_bullet = { text = mandala_monotheist_warning_tt }
|
||||
}
|
||||
primary_title = { set_state_faith = faith:hellenic_pagan }
|
||||
every_held_title = {
|
||||
custom = custom.every_held_county
|
||||
title_tier = county
|
||||
set_county_faith = faith:hellenic_pagan
|
||||
}
|
||||
every_vassal = {
|
||||
custom = custom.every_vassal
|
||||
limit = {
|
||||
NOT = {
|
||||
any_held_title = {
|
||||
is_head_of_faith = yes # you cannot convert the Ecumenical Patriarch, sorry
|
||||
}
|
||||
}
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = may_choose_to_convert_hellenic_desc
|
||||
run_interaction = { # We use the same interaction as when creating a new faith to keep a consistent behaviour, since that is essentially what you're doing here
|
||||
interaction = ask_for_conversion_interaction
|
||||
actor = root
|
||||
recipient = this
|
||||
execute_threshold = accept
|
||||
}
|
||||
}
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = ep3_roman_restoration.household_gods_tenet
|
||||
set_global_variable = household_gods_tenet_unlocked
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = uses_custom_caesar_flavourization_tt
|
||||
set_variable = uses_custom_caesar_flavourization
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Easy Mode
|
||||
name = ep3_roman_restoration.0100.b
|
||||
custom_tooltip = ep3_roman_restoration.easy_mode
|
||||
}
|
||||
|
||||
after = {
|
||||
create_roman_empire_scripted_effect = yes
|
||||
set_nickname_effect = { NICKNAME = nick_the_glorious }
|
||||
# Send narrative fluff to other players (if any).
|
||||
every_player = {
|
||||
limit = { this != root }
|
||||
trigger_event = ep3_roman_restoration.0101
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Some chucklefuck restored Rome
|
||||
ep3_roman_restoration.0101 = {
|
||||
type = character_event
|
||||
window = fullscreen_event
|
||||
title = roman_restoration.0002.t
|
||||
desc = {
|
||||
desc = ep3_roman_restoration.0101.intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { scope:scoped_emperor.primary_title.state_faith ?= faith:hellenic_pagan }
|
||||
desc = ep3_roman_restoration.0101.hellenic
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:scoped_emperor.primary_title.state_faith ?= faith:orthodox }
|
||||
desc = ep3_roman_restoration.0101.orthodox
|
||||
}
|
||||
desc = ep3_roman_restoration.0101.fallback
|
||||
}
|
||||
desc = ep3_roman_restoration.0101.outro
|
||||
}
|
||||
theme = emperor
|
||||
override_background = { reference = ep3_fullscreen_restore_rome }
|
||||
|
||||
immediate = {
|
||||
#Same-faith non-empire tier rulers are over-awed.
|
||||
if = {
|
||||
limit = { faith = scope:scoped_emperor.primary_title.state_faith }
|
||||
play_music_cue = "mx_cue_epic_sacral_moment"
|
||||
}
|
||||
#Otherwise, this is a tacit statement of imperial threat.
|
||||
else = { play_music_cue = "mx_cue_combat_2" }
|
||||
}
|
||||
|
||||
option = {
|
||||
name = ep3_roman_restoration.0101.a
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#######################################
|
||||
### POST-ROME DIFFICULTIES
|
||||
|
||||
# Your inefficient governor messed up, causing mass loss in popular opinion. Can you fix it?
|
||||
ep3_roman_restoration.0300 = {
|
||||
type = character_event
|
||||
title = ep3_roman_restoration.0300.t
|
||||
desc = ep3_roman_restoration.0300.desc
|
||||
theme = emperor
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = anger
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:inefficient_governor
|
||||
animation = shock
|
||||
}
|
||||
|
||||
cooldown = { years = 20 }
|
||||
|
||||
immediate = {
|
||||
ordered_vassal = {
|
||||
limit = {
|
||||
is_governor = yes
|
||||
is_ai = yes
|
||||
}
|
||||
order_by = { # Mostly sort by governor efficiency
|
||||
value = governor_efficiency
|
||||
multiply = -10
|
||||
# Prefer governors with a larger realm size for more difficulty
|
||||
add = sub_realm_size
|
||||
}
|
||||
save_scope_as = inefficient_governor
|
||||
}
|
||||
custom_tooltip = ep3_roman_restoration.0300.efficiency
|
||||
}
|
||||
|
||||
option = { # Stewardship Challenge
|
||||
name = ep3_roman_restoration.0300.a
|
||||
duel = {
|
||||
skill = stewardship
|
||||
value = excellent_skill_level
|
||||
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
send_interface_toast = {
|
||||
type = event_toast_effect_good
|
||||
title = ep3_roman_restoration.0300.a.success
|
||||
left_icon = scope:inefficient_governor
|
||||
right_icon = scope:inefficient_governor.primary_title
|
||||
|
||||
scope:inefficient_governor = {
|
||||
every_sub_realm_county = {
|
||||
custom = ep3_roman_restoration.0300.every_sub_realm_county
|
||||
add_county_modifier = {
|
||||
modifier = restore_rome_recuperated_county_opinion_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
send_interface_toast = {
|
||||
type = event_toast_effect_bad
|
||||
title = ep3_roman_restoration.0300.a.failure
|
||||
left_icon = scope:inefficient_governor
|
||||
right_icon = scope:inefficient_governor.primary_title
|
||||
|
||||
scope:inefficient_governor = {
|
||||
every_sub_realm_county = {
|
||||
custom = ep3_roman_restoration.0300.every_sub_realm_county
|
||||
add_county_modifier = {
|
||||
modifier = restore_rome_devastated_county_opinion_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Fire the Governor
|
||||
name = ep3_roman_restoration.0300.b
|
||||
change_influence = massive_influence_loss
|
||||
save_scope_as = actor
|
||||
scope:inefficient_governor = {
|
||||
save_scope_as = recipient
|
||||
primary_title = { save_scope_as = landed_title }
|
||||
}
|
||||
save_scope_value_as = {
|
||||
name = hook
|
||||
value = no
|
||||
}
|
||||
scope:inefficient_governor = {
|
||||
every_sub_realm_county = {
|
||||
custom = ep3_roman_restoration.0300.every_sub_realm_county
|
||||
add_county_modifier = {
|
||||
modifier = restore_rome_recuperated_county_opinion_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
force_step_down_landed_titles = yes
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Opt-Out
|
||||
name = ep3_roman_restoration.0300.c
|
||||
|
||||
scope:inefficient_governor = {
|
||||
every_sub_realm_county = {
|
||||
custom = ep3_roman_restoration.0300.every_sub_realm_county
|
||||
add_county_modifier = {
|
||||
modifier = restore_rome_lowered_county_opinion_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_loss
|
||||
lazy = minor_stress_impact_loss
|
||||
diligent = medium_stress_impact_gain
|
||||
ambitious = minor_stress_impact_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Every 10-30 years, a random kingdom will raid you
|
||||
ep3_roman_restoration.0500 = {
|
||||
type = character_event
|
||||
title = ep3_roman_restoration.0500.t
|
||||
desc = ep3_roman_restoration.0500.desc
|
||||
theme = emperor
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = emotion_thinking_scepter
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = scope:marshal
|
||||
animation = inspect_weapon
|
||||
}
|
||||
|
||||
lower_center_portrait = scope:target_kingdom
|
||||
|
||||
cooldown = { years = { 10 30 } }
|
||||
|
||||
trigger = {
|
||||
exists = cp:councillor_marshal
|
||||
any_neighboring_top_liege_realm_owner = {
|
||||
is_ai = yes
|
||||
is_at_war = no
|
||||
primary_title = { tier >= tier_kingdom }
|
||||
NOR = {
|
||||
is_allied_to = root
|
||||
any_truce_target = { this = root }
|
||||
has_relation_friend = root
|
||||
has_relation_lover = root
|
||||
}
|
||||
any_top_realm_border_county = {
|
||||
any_neighboring_county = {
|
||||
holder.top_liege = root
|
||||
NOT = {
|
||||
title_province = { has_province_modifier = recently_looted_modifier }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
cp:councillor_marshal = { save_scope_as = marshal }
|
||||
ordered_neighboring_top_liege_realm_owner = {
|
||||
limit = {
|
||||
is_ai = yes
|
||||
is_at_war = no
|
||||
primary_title = { tier >= tier_kingdom }
|
||||
any_top_realm_border_county = {
|
||||
any_neighboring_county = {
|
||||
holder.top_liege = root
|
||||
NOT = {
|
||||
title_province = { has_province_modifier = recently_looted_modifier }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
order_by = {
|
||||
value = 1
|
||||
add = { # inverted opinion since we're looking for ppl who hate you
|
||||
value = "opinion(root)"
|
||||
multiply = -1
|
||||
}
|
||||
if = {
|
||||
limit = { can_raid_trigger = yes }
|
||||
add = 50
|
||||
}
|
||||
}
|
||||
save_scope_as = target_kingdom
|
||||
}
|
||||
scope:target_kingdom = {
|
||||
random_top_realm_border_county = {
|
||||
limit = {
|
||||
any_neighboring_county = {
|
||||
holder.top_liege = root
|
||||
NOT = {
|
||||
title_province = { has_province_modifier = recently_looted_modifier }
|
||||
}
|
||||
}
|
||||
}
|
||||
random_neighboring_county = {
|
||||
limit = {
|
||||
holder.top_liege = root
|
||||
NOT = {
|
||||
title_province = { has_province_modifier = recently_looted_modifier }
|
||||
}
|
||||
}
|
||||
save_scope_as = target_county
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = ep3_roman_restoration.0500.a
|
||||
}
|
||||
|
||||
after = {
|
||||
scope:target_kingdom = {
|
||||
start_war = {
|
||||
cb = ep3_roman_empire_border_war
|
||||
target = root
|
||||
target_title = scope:target_county
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Special Bubonic Plague Spawns - Commented out and disabled because this is not very fun
|
||||
#ep3_roman_restoration.0510 = {
|
||||
# hidden = yes
|
||||
#
|
||||
# immediate = {
|
||||
# random_realm_county = {
|
||||
# limit = { exists = holder }
|
||||
# holder = { save_scope_as = target_holder }
|
||||
# save_scope_as = infected_county
|
||||
# title_province = {
|
||||
# save_scope_as = target_province
|
||||
# create_epidemic_outbreak = {
|
||||
# type = bubonic_plague
|
||||
# intensity = major
|
||||
# save_scope_as = epidemic
|
||||
# }
|
||||
# }
|
||||
# }
|
||||
# trigger_event = epidemic_events.1100
|
||||
# }
|
||||
#}
|
||||
|
||||
# Mongol Invasion Spawns
|
||||
ep3_roman_restoration.0520 = {
|
||||
scope = none
|
||||
hidden = yes
|
||||
|
||||
trigger = {
|
||||
NOR = {
|
||||
has_global_variable = mongols_have_appeared
|
||||
any_player = {
|
||||
THIS = culture:mongol.culture_head
|
||||
realm_size >= 100
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
set_global_variable = {
|
||||
name = mongols_have_appeared
|
||||
value = yes
|
||||
}
|
||||
debug_log = "Mongols appeared!"
|
||||
debug_log_date = yes
|
||||
spawn_temujin_character_effect = yes
|
||||
scope:temujin = {
|
||||
save_scope_as = story_owner
|
||||
create_story = story_mongol_invasion
|
||||
}
|
||||
}
|
||||
}
|
||||
4666
events/dlc/ep3/ep3_story_cycle_harrying_of_the_north_events.txt
Normal file
4666
events/dlc/ep3/ep3_story_cycle_harrying_of_the_north_events.txt
Normal file
File diff suppressed because it is too large
Load diff
2616
events/dlc/ep3/ep3_wedding_events.txt
Normal file
2616
events/dlc/ep3/ep3_wedding_events.txt
Normal file
File diff suppressed because it is too large
Load diff
2222
events/dlc/fp1/fp1_jomsvikings_events.txt
Normal file
2222
events/dlc/fp1/fp1_jomsvikings_events.txt
Normal file
File diff suppressed because it is too large
Load diff
1479
events/dlc/fp1/fp1_major_decision_events.txt
Normal file
1479
events/dlc/fp1/fp1_major_decision_events.txt
Normal file
File diff suppressed because it is too large
Load diff
1113
events/dlc/fp1/fp1_scandinavian_adventurer_events.txt
Normal file
1113
events/dlc/fp1/fp1_scandinavian_adventurer_events.txt
Normal file
File diff suppressed because it is too large
Load diff
1426
events/dlc/fp1/fp1_shieldmaiden_events.txt
Normal file
1426
events/dlc/fp1/fp1_shieldmaiden_events.txt
Normal file
File diff suppressed because it is too large
Load diff
2505
events/dlc/fp1/fp1_trade_events.txt
Normal file
2505
events/dlc/fp1/fp1_trade_events.txt
Normal file
File diff suppressed because it is too large
Load diff
2687
events/dlc/fp1/fp1_yearly_events_oltner.txt
Normal file
2687
events/dlc/fp1/fp1_yearly_events_oltner.txt
Normal file
File diff suppressed because it is too large
Load diff
552
events/dlc/fp2/fp2_el_cid_events.txt
Normal file
552
events/dlc/fp2/fp2_el_cid_events.txt
Normal file
|
|
@ -0,0 +1,552 @@
|
|||
namespace = fp2_struggle
|
||||
|
||||
######################################
|
||||
# EL CID'S BIZARRE ADVENTURE SYSTEM
|
||||
# By Hugo Cortell
|
||||
######################################
|
||||
fp2_struggle.2045 = {
|
||||
hidden = yes
|
||||
|
||||
trigger = {
|
||||
is_landless_adventurer = no
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = { # Startup changes (give the cid his full nickname when he starts adventuring)
|
||||
limit = { NOT = { has_character_flag = has_already_begun_travelling } }
|
||||
|
||||
remove_nickname = yes
|
||||
give_nickname = nick_the_cid_campeador
|
||||
add_character_flag = has_already_begun_travelling # Prevents yearly pulse from stacking up requests
|
||||
add_character_flag = blocked_from_leaving # Prevents el cid from vacationing in far away lands
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = { NOT = { has_character_flag = finished_el_cids_travels } } # In case several requests for the event are stacked up
|
||||
if = { # Being a guest is used as a boolean to check if the character is in an "evaluation" phase or already in a court. DO NOT USE THE GUEST SYSTEM FOR THIS.
|
||||
limit = {
|
||||
OR = {
|
||||
is_pool_guest = yes
|
||||
is_pool_character = yes
|
||||
is_foreign_court_guest = yes
|
||||
}
|
||||
}
|
||||
random_county_in_region = { # Naturally biased in favor of larger states
|
||||
limit = { exists = holder.liege }
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = {
|
||||
add = 10
|
||||
holder.liege = { has_relation_friend = root }
|
||||
}
|
||||
modifier = {
|
||||
add = 30
|
||||
holder.liege = { has_relation_best_friend = root }
|
||||
}
|
||||
compare_modifier = {
|
||||
value = holder.prestige_level
|
||||
multiplier = 1.5
|
||||
}
|
||||
}
|
||||
region = world_europe_west_iberia # Locks el cid's forced travels to iberia
|
||||
holder.liege = { trigger_event = fp2_struggle.2051 }
|
||||
}
|
||||
}
|
||||
else = {
|
||||
if = {
|
||||
limit = { exists = liege }
|
||||
liege = { trigger_event = fp2_struggle.2050 } # This is you, you get the event, while el cid gets the "system event"
|
||||
}
|
||||
else = {
|
||||
employer = { trigger_event = fp2_struggle.2050 } # ditto
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#############################################################
|
||||
# Unease About El Sidi
|
||||
# By The Content Design Team (And scripted by Hugo Cortell)
|
||||
#############################################################
|
||||
|
||||
scripted_trigger el_cid_too_important_trigger = {
|
||||
OR = {
|
||||
any_extended_family_member = { this = scope:fp2_2050_el_cid }
|
||||
scope:fp2_2050_el_cid = { is_vassal_of = ROOT }
|
||||
has_relation_best_friend = scope:fp2_2050_el_cid
|
||||
is_spouse_of = scope:fp2_2050_el_cid
|
||||
}
|
||||
}
|
||||
|
||||
fp2_struggle.2050 = {
|
||||
type = character_event
|
||||
title = {
|
||||
random_valid = {
|
||||
triggered_desc = { # Muslim Titles
|
||||
trigger = { religion = religion:islam_religion }
|
||||
desc = {
|
||||
random_valid = {
|
||||
desc = fp2_struggle.2050.t_muslim_one
|
||||
desc = fp2_struggle.2050.t_muslim_two
|
||||
desc = fp2_struggle.2050.t_muslim_three
|
||||
desc = fp2_struggle.2050.t_muslim_four
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
triggered_desc = { # Generic (Christian, nickname-like) Titles
|
||||
trigger = { NOT = { religion = religion:islam_religion } }
|
||||
desc = {
|
||||
random_valid = {
|
||||
desc = fp2_struggle.2050.t_generic_one
|
||||
desc = fp2_struggle.2050.t_generic_two
|
||||
desc = fp2_struggle.2050.t_generic_three
|
||||
desc = fp2_struggle.2050.t_generic_four
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
desc = { # See immediate for flags
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:generic_court }
|
||||
desc = fp2_struggle.2050.desc_court
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:jelly_knights }
|
||||
desc = fp2_struggle.2050.desc_knights
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:upset_nobles }
|
||||
desc = fp2_struggle.2050.desc_nobles
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:faith_discomfort }
|
||||
desc = fp2_struggle.2050.desc_faith
|
||||
}
|
||||
desc = board_games.0001.desc.i_am_winning.trait.rowdy # Theoretically impossible to trigger, but if something breaks, players will see this and report it for sure
|
||||
}
|
||||
}
|
||||
|
||||
theme = corruption
|
||||
override_background = { reference = throne_room }
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_rational
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:fp2_2050_el_cid
|
||||
animation = throne_room_two_handed_passive_1
|
||||
}
|
||||
|
||||
immediate = {
|
||||
character:107590 = { save_scope_as = fp2_2050_el_cid }
|
||||
|
||||
random_list = { # Spin the wheel to decide who and why wishes ill on el cid
|
||||
10 = { # Generic "the court thinks he is bad"
|
||||
save_scope_value_as = {
|
||||
name = fp2_2050_reason_for_kicking_out_el_cid
|
||||
value = flag:generic_court
|
||||
}
|
||||
}
|
||||
10 = { # Your knights are all sore losers
|
||||
modifier = {
|
||||
add = 30
|
||||
any_knight = {
|
||||
OR = {
|
||||
has_relation_rival = scope:fp2_2050_el_cid
|
||||
has_relation_nemesis = scope:fp2_2050_el_cid
|
||||
}
|
||||
}
|
||||
}
|
||||
save_scope_value_as = {
|
||||
name = fp2_2050_reason_for_kicking_out_el_cid
|
||||
value = flag:jelly_knights
|
||||
}
|
||||
}
|
||||
10 = { # Nobles dislike upstart poor people
|
||||
modifier = {
|
||||
add = 30
|
||||
any_vassal = {
|
||||
OR = {
|
||||
has_relation_rival = scope:fp2_2050_el_cid
|
||||
has_relation_nemesis = scope:fp2_2050_el_cid
|
||||
}
|
||||
}
|
||||
}
|
||||
save_scope_value_as = {
|
||||
name = fp2_2050_reason_for_kicking_out_el_cid
|
||||
value = flag:upset_nobles
|
||||
}
|
||||
}
|
||||
10 = { # Generic faith concerns from your bishop
|
||||
save_scope_value_as = {
|
||||
name = fp2_2050_reason_for_kicking_out_el_cid
|
||||
value = flag:faith_discomfort
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Family, Friend or Vassal
|
||||
name = fp2_struggle.2050.a
|
||||
|
||||
trigger = { el_cid_too_important_trigger = yes }
|
||||
|
||||
hidden_effect = {
|
||||
scope:fp2_2050_el_cid = { add_character_flag = finished_el_cids_travels } # At this point we can imagine that this character has settled, this stops the cycle to prevent spam
|
||||
}
|
||||
|
||||
custom_tooltip = fp2_struggle.2050.a.serve_tooltip
|
||||
send_interface_toast = {
|
||||
type = event_toast_effect_good
|
||||
title = fp2_struggle.2050.a.notif.t
|
||||
right_icon = scope:fp2_2050_el_cid
|
||||
|
||||
reverse_add_opinion = {
|
||||
target = scope:fp2_2050_el_cid
|
||||
modifier = stood_by_me_opinion
|
||||
opinion = 10
|
||||
years = 20
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
fickle = minor_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = { base = 1000 }
|
||||
}
|
||||
|
||||
option = { # No, I stand by my knight and he can stay!
|
||||
name = fp2_struggle.2050.b
|
||||
|
||||
trigger = {
|
||||
is_ai = no
|
||||
NOT = { scope:fp2_2050_el_cid = { is_vassal_of = ROOT } }
|
||||
}
|
||||
|
||||
custom_tooltip = fp2_struggle.2050.a.serve_tooltip
|
||||
send_interface_toast = {
|
||||
type = event_toast_effect_good
|
||||
title = fp2_struggle.2050.a.notif.t
|
||||
right_icon = scope:fp2_2050_el_cid
|
||||
|
||||
if = {
|
||||
limit = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:generic_court }
|
||||
add_character_modifier = {
|
||||
modifier = fp2_kept_accused_traitor_in_court_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:jelly_knights }
|
||||
add_character_modifier = {
|
||||
modifier = fp2_kept_op_knight_in_court_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:upset_nobles }
|
||||
add_character_modifier = {
|
||||
modifier = fp2_kept_upstart_knight_in_court_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:faith_discomfort }
|
||||
add_character_modifier = {
|
||||
modifier = fp2_kept_godless_mercenary_in_court_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
|
||||
reverse_add_opinion = {
|
||||
target = scope:fp2_2050_el_cid
|
||||
modifier = stood_by_me_opinion
|
||||
opinion = 10
|
||||
years = 20
|
||||
}
|
||||
scope:fp2_2050_el_cid = {
|
||||
trigger_event = {
|
||||
id = fp2_struggle.2045
|
||||
years = { 4 12 }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
fickle = minor_stress_impact_gain
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Okay, please do not give me malus
|
||||
name = fp2_struggle.2050.c
|
||||
|
||||
trigger = {
|
||||
NOT = { scope:fp2_2050_el_cid = { is_vassal_of = ROOT } }
|
||||
}
|
||||
|
||||
send_interface_toast = {
|
||||
type = event_toast_effect_bad
|
||||
title = fp2_struggle.2051.t
|
||||
right_icon = scope:fp2_2050_el_cid
|
||||
|
||||
scope:fp2_2050_el_cid = {
|
||||
move_to_pool = yes
|
||||
trigger_event = {
|
||||
id = fp2_struggle.2045
|
||||
days = { 1 4 }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
generous = minor_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = { base = 1 }
|
||||
}
|
||||
|
||||
option = { # Vanish el cid, even though he is your vassal (suggested by Max)
|
||||
name = fp2_struggle.2050.c
|
||||
|
||||
trigger = {
|
||||
is_ai = no
|
||||
scope:fp2_2050_el_cid = { is_vassal_of = ROOT }
|
||||
}
|
||||
|
||||
# The only reason to ever select this option is to gain those "repossessed" lands, but it is very mean.
|
||||
# It will give you tyranny, but it won't directly anger your vassals as they are *narratively* the reason why this is happening.
|
||||
# The primary reason this exists is to prevent ludonarrative dissonance with the event's description. It is less resource intensive than making new loc.
|
||||
|
||||
# We set the tyranny and opinion loss based on how much was lost (Placed outside the toast to prevent clutter)
|
||||
add_tyranny = {
|
||||
value = medium_tyranny_gain
|
||||
multiply = scope:fp2_2050_el_cid.primary_title.tier
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = { can_set_relation_rival_trigger = { CHARACTER = scope:fp2_2050_el_cid } }
|
||||
set_relation_rival = scope:fp2_2050_el_cid
|
||||
}
|
||||
if = { # This is not out of order, it is WAD. If can_set_relation_rival_trigger fails, you just lose a friend but not gain a rival.
|
||||
limit = { has_relation_friend = scope:fp2_2050_el_cid }
|
||||
remove_relation_friend = scope:fp2_2050_el_cid
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = { scope:fp2_2050_el_cid.primary_title.tier < tier_kingdom }
|
||||
scope:fp2_2050_el_cid = {
|
||||
add_opinion = {
|
||||
modifier = betrayed_me_opinion
|
||||
target = root
|
||||
opinion = -100
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
scope:fp2_2050_el_cid = {
|
||||
add_opinion = {
|
||||
modifier = betrayed_me_opinion
|
||||
target = root
|
||||
opinion = -200
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
create_title_and_vassal_change = { # This tells the engine to start paying closer attention to title changes (and not butt in)
|
||||
type = revoked
|
||||
save_scope_as = change
|
||||
}
|
||||
scope:fp2_2050_el_cid = {
|
||||
every_held_title = {
|
||||
change_title_holder = {
|
||||
holder = root
|
||||
change = scope:change
|
||||
}
|
||||
}
|
||||
}
|
||||
resolve_title_and_vassal_change = scope:change # Tells the engine that it is safe to go about its buisness with titles
|
||||
|
||||
show_as_tooltip = { scope:fp2_2050_el_cid = { move_to_pool = yes } } # Just jomini things~
|
||||
hidden_effect = { # Prevents rendering of toast on option highlight
|
||||
send_interface_toast = {
|
||||
type = event_toast_effect_bad
|
||||
title = fp2_struggle.2051.t
|
||||
right_icon = scope:fp2_2050_el_cid
|
||||
|
||||
show_as_tooltip = { # Condensed version to fit into the toast
|
||||
if = {
|
||||
limit = { scope:fp2_2050_el_cid.primary_title.tier > tier_duchy }
|
||||
scope:fp2_2050_el_cid = {
|
||||
if = {
|
||||
limit = { has_relation_nemesis = ROOT }
|
||||
set_relation_nemesis = ROOT
|
||||
}
|
||||
add_opinion = {
|
||||
modifier = betrayed_me_opinion
|
||||
target = root
|
||||
opinion = -200
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
if = {
|
||||
limit = { has_relation_rival = ROOT }
|
||||
set_relation_rival = ROOT
|
||||
}
|
||||
add_opinion = {
|
||||
modifier = betrayed_me_opinion
|
||||
target = root
|
||||
opinion = -100
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Standard stuff
|
||||
scope:fp2_2050_el_cid = {
|
||||
move_to_pool = yes
|
||||
trigger_event = {
|
||||
id = fp2_struggle.2045
|
||||
days = { 1 4 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = { # This kind of action comes with quite a bit of stress
|
||||
generous = minor_stress_impact_gain
|
||||
brave = medium_stress_impact_gain
|
||||
forgiving = major_stress_impact_gain
|
||||
gregarious = medium_stress_impact_gain
|
||||
honest = minor_stress_impact_gain
|
||||
humble = medium_stress_impact_gain
|
||||
just = major_stress_impact_gain
|
||||
trusting = medium_stress_impact_gain
|
||||
compassionate = major_stress_impact_gain
|
||||
august = minor_stress_impact_gain
|
||||
gallant = medium_stress_impact_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
############################################################
|
||||
# El Cid Arrives At Your Court
|
||||
# By The Content Design Team (And scripted by Hugo Cortell)
|
||||
############################################################
|
||||
fp2_struggle.2051 = {
|
||||
type = character_event
|
||||
title = fp2_struggle.2051.t
|
||||
desc = fp2_struggle.2051.desc
|
||||
|
||||
theme = vassal
|
||||
override_background = { reference = throne_room }
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_rational
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:fp2_2050_el_cid
|
||||
animation = throne_room_one_handed_passive_1
|
||||
}
|
||||
|
||||
immediate = {
|
||||
character:107590 = { save_scope_as = fp2_2050_el_cid }
|
||||
add_visiting_courtier = scope:fp2_2050_el_cid
|
||||
}
|
||||
|
||||
option = { # You will enjoy a high position at my court!
|
||||
name = fp2_struggle.2051.a
|
||||
|
||||
send_interface_toast = {
|
||||
type = event_toast_effect_good
|
||||
title = fp2_struggle.2050.a.notif.t
|
||||
right_icon = scope:fp2_2050_el_cid
|
||||
|
||||
pay_treasury_or_gold = {
|
||||
target = scope:fp2_2050_el_cid
|
||||
value = medium_treasury_or_gold_value
|
||||
}
|
||||
add_courtier = scope:fp2_2050_el_cid
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = { exists = cp:councillor_marshal }
|
||||
fire_councillor = cp:councillor_marshal
|
||||
}
|
||||
assign_councillor_type = {
|
||||
type = councillor_marshal
|
||||
target = scope:fp2_2050_el_cid
|
||||
}
|
||||
|
||||
scope:fp2_2050_el_cid = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = hired_me_opinion
|
||||
opinion = 20
|
||||
}
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = given_luxuries_opinion
|
||||
opinion = 10
|
||||
}
|
||||
|
||||
trigger_event = {
|
||||
id = fp2_struggle.2045
|
||||
years = { 4 12 }
|
||||
}
|
||||
}
|
||||
|
||||
trigger = { is_ai = no }
|
||||
}
|
||||
|
||||
option = { # Welcome or whatever
|
||||
name = fp2_struggle.2051.b
|
||||
|
||||
send_interface_toast = {
|
||||
type = event_toast_effect_good
|
||||
title = fp2_struggle.2050.a.notif.t
|
||||
right_icon = scope:fp2_2050_el_cid
|
||||
|
||||
pay_treasury_or_gold = {
|
||||
target = scope:fp2_2050_el_cid
|
||||
value = minor_treasury_or_gold_value
|
||||
}
|
||||
add_courtier = scope:fp2_2050_el_cid
|
||||
}
|
||||
scope:fp2_2050_el_cid = {
|
||||
trigger_event = {
|
||||
id = fp2_struggle.2045
|
||||
years = { 4 10 }
|
||||
}
|
||||
}
|
||||
|
||||
ai_chance = { base = 65 }
|
||||
}
|
||||
|
||||
option = { # Away with you vile beggar!
|
||||
name = fp2_struggle.2051.c
|
||||
|
||||
send_interface_toast = {
|
||||
type = event_toast_effect_bad
|
||||
title = fp2_struggle.2051.t
|
||||
right_icon = scope:fp2_2050_el_cid
|
||||
|
||||
custom_tooltip = fp2_struggle.2050.c.notif
|
||||
scope:fp2_2050_el_cid = {
|
||||
move_to_pool = yes
|
||||
trigger_event = {
|
||||
id = fp2_struggle.2045
|
||||
days = { 1 4 }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ai_chance = { base = 45 }
|
||||
}
|
||||
}
|
||||
4806
events/dlc/fp2/fp2_lyonese_monk_events.txt
Normal file
4806
events/dlc/fp2/fp2_lyonese_monk_events.txt
Normal file
File diff suppressed because it is too large
Load diff
2569
events/dlc/fp2/fp2_other_decision_events.txt
Normal file
2569
events/dlc/fp2/fp2_other_decision_events.txt
Normal file
File diff suppressed because it is too large
Load diff
2906
events/dlc/fp3/fp3_misc_decision_events.txt
Normal file
2906
events/dlc/fp3/fp3_misc_decision_events.txt
Normal file
File diff suppressed because it is too large
Load diff
1362
events/dlc/fp3/fp3_religious_decision_events.txt
Normal file
1362
events/dlc/fp3/fp3_religious_decision_events.txt
Normal file
File diff suppressed because it is too large
Load diff
1918
events/dlc/fp3/fp3_scholarship_events.txt
Normal file
1918
events/dlc/fp3/fp3_scholarship_events.txt
Normal file
File diff suppressed because it is too large
Load diff
153
events/dlc/fp3/fp3_story_cycle_seljuks_invasion_events.txt
Normal file
153
events/dlc/fp3/fp3_story_cycle_seljuks_invasion_events.txt
Normal file
|
|
@ -0,0 +1,153 @@
|
|||
namespace = fp3_story_cycle_seljuks_invasion_events
|
||||
|
||||
### RISE OF THE SELJUKS #############################################
|
||||
## 0001 Leader and Story Cycle Creation by Maxence Voleau
|
||||
## 0002 The First Settlers by Hugo Cortell
|
||||
#####################################################################
|
||||
|
||||
###################################
|
||||
# Setup: we create the leader and start the story cycle
|
||||
# By Maxence Voleau
|
||||
###################################
|
||||
fp3_story_cycle_seljuks_invasion_events.0001 = {
|
||||
scope = none
|
||||
hidden = yes
|
||||
|
||||
immediate = {
|
||||
spawn_seljuk_character_effect = yes
|
||||
scope:lead_seljuk = {
|
||||
create_story = story_seljuk_invasion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
###################################
|
||||
# The First Settlers
|
||||
# By Hugo Cortell
|
||||
###################################
|
||||
fp3_story_cycle_seljuks_invasion_events.0002 = {
|
||||
type = character_event
|
||||
title = fp3_story_cycle_seljuks_invasion_events.0001.t
|
||||
desc = {
|
||||
desc = fp3_story_cycle_seljuks_invasion_events.0001.desc
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { highest_held_title_tier > tier_duchy }
|
||||
desc = fp3_story_cycle_seljuks_invasion_events.0001.desc_vassal
|
||||
}
|
||||
desc = fp3_story_cycle_seljuks_invasion_events.0001.desc_independent
|
||||
}
|
||||
}
|
||||
theme = realm
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = thinking
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:lead_seljuk
|
||||
animation = personality_honorable
|
||||
}
|
||||
|
||||
immediate = {
|
||||
save_scope_as = seljuk_victim
|
||||
random_sub_realm_county = {
|
||||
limit = {
|
||||
any_neighboring_county = {
|
||||
exists = holder
|
||||
holder.top_liege != scope:seljuk_victim
|
||||
}
|
||||
de_jure_liege = scope:fp3_seljuk_settle_target
|
||||
}
|
||||
alternative_limit = {
|
||||
any_neighboring_county = {
|
||||
exists = holder
|
||||
holder.top_liege != scope:seljuk_victim
|
||||
}
|
||||
any_neighboring_county = { de_jure_liege = scope:fp3_seljuk_settle_target }
|
||||
}
|
||||
alternative_limit = {
|
||||
any_neighboring_county = {
|
||||
exists = holder
|
||||
holder.top_liege != scope:seljuk_victim
|
||||
}
|
||||
}
|
||||
random_county_province = {
|
||||
limit = {
|
||||
this != scope:fp3_seljuk_settle_target.title_capital_county.title_province
|
||||
}
|
||||
save_scope_as = spawn_location
|
||||
}
|
||||
}
|
||||
save_scope_value_as = {
|
||||
name = victim_strength_modifier
|
||||
value = {
|
||||
value = current_military_strength
|
||||
divide = 10000
|
||||
add = 1.25
|
||||
}
|
||||
}
|
||||
scope:lead_seljuk = {
|
||||
#move to the army spawn location, so it's less confusing when you want to see where they are
|
||||
set_location = scope:spawn_location
|
||||
var:seljuk_birthplace = { save_scope_as = seljuk_birthplace }
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Yes - Serve me well!
|
||||
name = fp3_story_cycle_seljuks_invasion_events.0001.a_liege
|
||||
|
||||
fp3_story_cycle_seljuks_invasion_events_grant_seljuks_land_effect = yes
|
||||
scope:lead_seljuk = {
|
||||
add_trait = loyal
|
||||
culture = {
|
||||
change_cultural_acceptance = {
|
||||
target = scope:seljuk_victim.culture
|
||||
value = 30
|
||||
desc = STEWARD_PROMOTE_CULTURE_ALLOWED_NOMAD_SETTLEMENT
|
||||
}
|
||||
}
|
||||
}
|
||||
create_seljuk_army_at_peace_effect = yes
|
||||
debug_log = "Seljuk got the land and were vassalized"
|
||||
ai_chance = {
|
||||
base = 50
|
||||
|
||||
ai_value_modifier = {
|
||||
ai_boldness = -0.5
|
||||
ai_compassion = 0.2
|
||||
ai_greed = -0.5
|
||||
ai_energy = -0.5
|
||||
ai_rationality = 0.3
|
||||
ai_sociability = 0.3
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # No - To war with you!
|
||||
name = fp3_story_cycle_seljuks_invasion_events.0001.b
|
||||
|
||||
# Start war
|
||||
scope:lead_seljuk = {
|
||||
start_war = {
|
||||
casus_belli = fp3_seljuk_invasion_cb
|
||||
target = root
|
||||
target_title = scope:fp3_seljuk_settle_target
|
||||
}
|
||||
random_character_war = { save_scope_as = war }
|
||||
}
|
||||
|
||||
create_seljuk_army_effect = yes
|
||||
debug_log = "Seljuk have to win a war"
|
||||
ai_chance = {
|
||||
base = 50
|
||||
|
||||
ai_value_modifier = {
|
||||
ai_boldness = 0.5
|
||||
ai_greed = 0.5
|
||||
ai_energy = 0.5
|
||||
ai_vengefulness = 0.5
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
726
events/dlc/fp3/fp3_story_cycle_zanj_rebellion_events.txt
Normal file
726
events/dlc/fp3/fp3_story_cycle_zanj_rebellion_events.txt
Normal file
|
|
@ -0,0 +1,726 @@
|
|||
namespace = fp3_story_cycle_zanj_rebellion_events
|
||||
|
||||
### Ali Ibn Muhammad and Zanj Rebellion Setup
|
||||
fp3_story_cycle_zanj_rebellion_events.0001 = {
|
||||
scope = none
|
||||
hidden = yes
|
||||
|
||||
immediate = {
|
||||
spawn_zanj_leader_character_effect = yes
|
||||
scope:zanj_leader = {
|
||||
save_scope_as = story_owner
|
||||
create_story = story_zanj_rebellion
|
||||
give_nickname = nick_albaghid
|
||||
}
|
||||
|
||||
title:c_basra.holder = {
|
||||
add_visiting_courtier = scope:zanj_leader
|
||||
}
|
||||
title:c_basra.holder.top_liege = {
|
||||
trigger_event = {
|
||||
id = fp3_story_cycle_zanj_rebellion_events.0002
|
||||
}
|
||||
trigger_event = {
|
||||
id = fp3_story_cycle_zanj_rebellion_events.0005
|
||||
days = { 60 120 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
### Ali Ibn Muhammad riling up locals in Basra
|
||||
fp3_story_cycle_zanj_rebellion_events.0002 = {
|
||||
type = character_event
|
||||
theme = intrigue
|
||||
override_background = { reference = wilderness_wetlands }
|
||||
title = fp3_story_cycle_zanj_rebellion_events.0002.t
|
||||
desc = fp3_story_cycle_zanj_rebellion_events.0002.desc
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = marshal
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:zanj_leader
|
||||
animation = scheme
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:zanj_leader = {
|
||||
save_scope_as = outspoken_rebel
|
||||
}
|
||||
}
|
||||
|
||||
#Try to arrest Ali
|
||||
option = {
|
||||
name = fp3_story_cycle_zanj_rebellion_events.0002.a
|
||||
duel = {
|
||||
skill = intrigue
|
||||
target = scope:outspoken_rebel
|
||||
50 = {
|
||||
# You arrest Ali Ibn Muhammad
|
||||
desc = fp3_story_cycle_zanj_rebellion_events.0002.a.success
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
send_interface_toast = {
|
||||
title = fp3_story_cycle_zanj_rebellion_events.0002.a.success
|
||||
left_icon = root
|
||||
right_icon = scope:outspoken_rebel
|
||||
rightfully_imprison_character_effect = {
|
||||
TARGET = scope:outspoken_rebel
|
||||
IMPRISONER = root
|
||||
}
|
||||
}
|
||||
inherit_zanj_rebellion_effect = yes
|
||||
}
|
||||
50 = {
|
||||
# Ali Ibn Muhammad escapes
|
||||
desc = fp3_story_cycle_zanj_rebellion_events.0002.a.failure
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
send_interface_toast = {
|
||||
title = fp3_story_cycle_zanj_rebellion_events.0002.a.failure
|
||||
custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_greatly_strengthened_tt
|
||||
custom_tooltip = fp3_story_cycle_zanj_rebellion_leaves_for_baghdad
|
||||
left_icon = root
|
||||
right_icon = scope:outspoken_rebel
|
||||
}
|
||||
hidden_effect = {
|
||||
scope:zanj_leader = {
|
||||
change_variable = {
|
||||
name = zanj_rebellion_strength_score
|
||||
add = 4
|
||||
}
|
||||
}
|
||||
title:c_baghdad.holder = {
|
||||
hidden_effect = {
|
||||
title:c_baghdad.holder = {
|
||||
add_visiting_courtier = scope:outspoken_rebel
|
||||
}
|
||||
}
|
||||
}
|
||||
title:c_basra.holder.top_liege = {
|
||||
trigger_event = {
|
||||
id = fp3_story_cycle_zanj_rebellion_events.0003
|
||||
days = { 30 60 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
root = {
|
||||
progress_towards_rival_effect = {
|
||||
REASON = fp3_zanj_rebellion_opressed_me
|
||||
CHARACTER = scope:outspoken_rebel
|
||||
OPINION = default_rival_opinion
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
paranoid = medium_stress_impact_loss
|
||||
just = minor_stress_impact_loss
|
||||
callous = minor_stress_impact_loss
|
||||
sadistic = minor_stress_impact_loss
|
||||
trusting = medium_stress_impact_gain
|
||||
forgiving = medium_stress_impact_gain
|
||||
compassionate = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0.5
|
||||
OR = {
|
||||
has_trait = trusting
|
||||
has_trait = forgiving
|
||||
has_trait = compassionate
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Ignore Ali
|
||||
option = {
|
||||
name = fp3_story_cycle_zanj_rebellion_events.0002.c
|
||||
custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_strengthened_tt
|
||||
scope:zanj_leader = {
|
||||
change_variable = {
|
||||
name = zanj_rebellion_strength_score
|
||||
add = 2
|
||||
}
|
||||
}
|
||||
custom_tooltip = fp3_story_cycle_zanj_rebellion_leaves_for_baghdad
|
||||
hidden_effect = {
|
||||
title:c_baghdad.holder = {
|
||||
add_visiting_courtier = scope:outspoken_rebel
|
||||
}
|
||||
}
|
||||
title:c_basra.holder.top_liege = {
|
||||
trigger_event = {
|
||||
id = fp3_story_cycle_zanj_rebellion_events.0003
|
||||
days = { 30 60 }
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
paranoid = medium_stress_impact_gain
|
||||
just = minor_stress_impact_gain
|
||||
callous = minor_stress_impact_gain
|
||||
sadistic = medium_stress_impact_gain
|
||||
trusting = medium_stress_impact_loss
|
||||
forgiving = medium_stress_impact_loss
|
||||
compassionate = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0.5
|
||||
OR = {
|
||||
has_trait = paranoid
|
||||
has_trait = just
|
||||
has_trait = callous
|
||||
has_trait = sadistic
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
### Setup to find correct scope for event 0004 and check if Ali is dead or imprisoned
|
||||
fp3_story_cycle_zanj_rebellion_events.0003 = {
|
||||
scope = none
|
||||
hidden = yes
|
||||
|
||||
immediate = {
|
||||
if ={
|
||||
#check if Ali is still alive and not in prison and is not an inheritor of the rebellion
|
||||
limit = {
|
||||
scope:zanj_leader = {
|
||||
AND = {
|
||||
is_alive = yes
|
||||
is_imprisoned = no
|
||||
NOT = { has_character_flag = new_zanj_leader }
|
||||
}
|
||||
}
|
||||
}
|
||||
title:c_baghdad.holder.top_liege = {
|
||||
trigger_event = {
|
||||
id = fp3_story_cycle_zanj_rebellion_events.0004
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
### Ali Ibn Muhammad claims divinity
|
||||
fp3_story_cycle_zanj_rebellion_events.0004 = {
|
||||
type = character_event
|
||||
theme = faith
|
||||
title = fp3_story_cycle_zanj_rebellion_events.0004.t
|
||||
desc = fp3_story_cycle_zanj_rebellion_events.0004.desc
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = dismissal
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:zanj_leader
|
||||
animation = personality_zealous
|
||||
}
|
||||
|
||||
#Contest Ali Ibn Muhammad's claims
|
||||
option = {
|
||||
name = fp3_story_cycle_zanj_rebellion_events.0004.a
|
||||
duel = {
|
||||
skill = learning
|
||||
target = scope:zanj_leader
|
||||
50 = {
|
||||
# You disprove Ali's claims
|
||||
desc = fp3_story_cycle_zanj_rebellion_events.0004.a.success
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
send_interface_toast = {
|
||||
title = fp3_story_cycle_zanj_rebellion_events.0004.a.success
|
||||
add_piety = medium_piety_gain
|
||||
add_prestige = minor_prestige_gain
|
||||
left_icon = root
|
||||
right_icon = scope:zanj_leader
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
# Ali Ibn Muhammad validates his claims
|
||||
desc = fp3_story_cycle_zanj_rebellion_events.0004.a.failure
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_greatly_strengthened_tt
|
||||
send_interface_toast = {
|
||||
title = fp3_story_cycle_zanj_rebellion_events.0004.a.failure
|
||||
left_icon = root
|
||||
right_icon = scope:zanj_leader
|
||||
|
||||
scope:zanj_leader = {
|
||||
add_trait = sayyid
|
||||
add_pressed_claim = title:e_arabia
|
||||
change_variable = {
|
||||
name = zanj_rebellion_strength_score
|
||||
add = 4
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
root = {
|
||||
progress_towards_rival_effect = {
|
||||
REASON = fp3_zanj_rebellion_opressed_me
|
||||
CHARACTER = scope:zanj_leader
|
||||
OPINION = default_rival_opinion
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
paranoid = minor_stress_impact_loss
|
||||
just = minor_stress_impact_loss
|
||||
zealous = medium_stress_impact_loss
|
||||
trusting = medium_stress_impact_gain
|
||||
forgiving = medium_stress_impact_gain
|
||||
cynical = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0.5
|
||||
OR = {
|
||||
has_trait = cynical
|
||||
has_trait = trusting
|
||||
has_trait = forgiving
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Ignore Ali
|
||||
option = {
|
||||
name = fp3_story_cycle_zanj_rebellion_events.0004.b
|
||||
custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_strengthened_tt
|
||||
|
||||
scope:zanj_leader = {
|
||||
add_trait = sayyid
|
||||
add_pressed_claim = title:e_arabia
|
||||
change_variable = {
|
||||
name = zanj_rebellion_strength_score
|
||||
add = 2
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
paranoid = minor_stress_impact_gain
|
||||
just = minor_stress_impact_gain
|
||||
zealous = medium_stress_impact_gain
|
||||
trusting = minor_stress_impact_loss
|
||||
forgiving = medium_stress_impact_loss
|
||||
cynical = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0.5
|
||||
OR = {
|
||||
has_trait = paranoid
|
||||
has_trait = just
|
||||
has_trait = zealous
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
### Setup event to find the correct scope and check if Ali or the current Zanj Leader is dead or imprisoned
|
||||
fp3_story_cycle_zanj_rebellion_events.0005 = {
|
||||
scope = none
|
||||
hidden = yes
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
scope:zanj_leader = {
|
||||
OR = {
|
||||
is_imprisoned = yes
|
||||
is_alive = no
|
||||
is_landed = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
inherit_zanj_rebellion_effect = yes
|
||||
}
|
||||
title:c_basra.holder.top_liege = {
|
||||
trigger_event = {
|
||||
id = fp3_story_cycle_zanj_rebellion_events.0006
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
### A Zanj Steps Forth
|
||||
fp3_story_cycle_zanj_rebellion_events.0006 = {
|
||||
type = character_event
|
||||
theme = corruption
|
||||
title = fp3_story_cycle_zanj_rebellion_events.0006.t
|
||||
desc = {
|
||||
desc = fp3_story_cycle_zanj_rebellion_events.0006.desc.a
|
||||
|
||||
triggered_desc = {
|
||||
trigger = { scope:zanj_leader = { NOT = { has_character_flag = new_zanj_leader } } }
|
||||
desc = fp3_story_cycle_zanj_rebellion_events.0006.desc.b
|
||||
}
|
||||
|
||||
desc = fp3_story_cycle_zanj_rebellion_events.0006.desc.c
|
||||
}
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = eyeroll
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = scope:outspoken_rebel
|
||||
animation = worry
|
||||
}
|
||||
|
||||
lower_left_portrait = {
|
||||
trigger = { scope:zanj_leader = { NOT = { has_character_flag = new_zanj_leader } } }
|
||||
character = scope:zanj_leader
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = { scope:zanj_leader = { NOT = { has_character_flag = new_zanj_leader } } }
|
||||
spawn_zanj_representative_character_effect = yes
|
||||
scope:zanj_representative = { save_scope_as = outspoken_rebel }
|
||||
}
|
||||
else = {
|
||||
scope:zanj_leader = { save_scope_as = outspoken_rebel }
|
||||
}
|
||||
}
|
||||
#Give Basra to the Zanj
|
||||
option = {
|
||||
name = fp3_story_cycle_zanj_rebellion_events.0006.a
|
||||
|
||||
create_title_and_vassal_change = {
|
||||
type = independency
|
||||
save_scope_as = change
|
||||
add_claim_on_loss = no
|
||||
}
|
||||
|
||||
title:c_basra = {
|
||||
set_county_culture = culture:east_bantu
|
||||
set_county_faith = faith:azariqa
|
||||
}
|
||||
|
||||
show_as_tooltip = { # UI/UX
|
||||
title:c_basra = {
|
||||
change_title_holder = {
|
||||
holder = scope:outspoken_rebel
|
||||
change = scope:change
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
scope:outspoken_rebel = {
|
||||
becomes_independent = {
|
||||
change = scope:change
|
||||
}
|
||||
add_truce_both_ways = {
|
||||
character = root
|
||||
years = 10
|
||||
name = fp3_landed_zanj_reason
|
||||
}
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = {
|
||||
NOT = { title:c_basra.holder = root }
|
||||
}
|
||||
add_tyranny = 30
|
||||
set_relation_rival = {
|
||||
reason = fp3_rival_gave_title_away
|
||||
target = title:c_basra.holder
|
||||
}
|
||||
}
|
||||
|
||||
hidden_effect = {
|
||||
title:c_basra = {
|
||||
change_title_holder = {
|
||||
holder = scope:outspoken_rebel
|
||||
change = scope:change
|
||||
}
|
||||
every_de_jure_county = {
|
||||
change_title_holder = {
|
||||
holder = scope:outspoken_rebel
|
||||
change = scope:change
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:zanj_leader = {
|
||||
random_owned_story = {
|
||||
type = story_zanj_rebellion
|
||||
end_story = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
resolve_title_and_vassal_change = scope:change
|
||||
|
||||
stress_impact = {
|
||||
compassionate = medium_stress_impact_loss
|
||||
just = minor_stress_impact_loss
|
||||
forgiving = minor_stress_impact_loss
|
||||
generous = medium_stress_impact_loss
|
||||
content = medium_stress_impact_loss
|
||||
callous = medium_stress_impact_gain
|
||||
sadistic = major_stress_impact_gain
|
||||
ambitious = medium_stress_impact_gain
|
||||
greedy = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0.5
|
||||
OR = {
|
||||
has_trait = callous
|
||||
has_trait = sadistic
|
||||
has_trait = ambitious
|
||||
has_trait = greedy
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Make minor concessions to the Zanj
|
||||
option = {
|
||||
name = fp3_story_cycle_zanj_rebellion_events.0006.b
|
||||
|
||||
scope:zanj_leader = {
|
||||
change_variable = {
|
||||
name = zanj_rebellion_strength_score
|
||||
add = 3
|
||||
}
|
||||
}
|
||||
custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_strengthened_tt
|
||||
hidden_effect = {
|
||||
title:c_basra.holder = {
|
||||
if = {
|
||||
limit = { scope:zanj_leader != scope:outspoken_rebel}
|
||||
add_visiting_courtier = scope:zanj_leader
|
||||
}
|
||||
add_visiting_courtier = scope:outspoken_rebel
|
||||
}
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = {
|
||||
NOT = { title:c_basra.holder = root }
|
||||
}
|
||||
progress_towards_rival_effect = {
|
||||
REASON = fp3_zanj_rebellion_interfered_with_my_workers
|
||||
CHARACTER = title:c_basra.holder
|
||||
OPINION = default_rival_opinion
|
||||
}
|
||||
}
|
||||
|
||||
title:c_basra = {
|
||||
add_county_modifier = {
|
||||
modifier = fp3_zanj_rebellion_work_concessions_modifier
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
|
||||
trigger_event = {
|
||||
id = fp3_story_cycle_zanj_rebellion_events.0007
|
||||
days = { 30 60 }
|
||||
}
|
||||
stress_impact = {
|
||||
compassionate = minor_stress_impact_loss
|
||||
just = minor_stress_impact_loss
|
||||
forgiving = minor_stress_impact_loss
|
||||
generous = minor_stress_impact_loss
|
||||
content = minor_stress_impact_loss
|
||||
callous = minor_stress_impact_gain
|
||||
sadistic = medium_stress_impact_gain
|
||||
ambitious = minor_stress_impact_gain
|
||||
greedy = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0.5
|
||||
OR = {
|
||||
has_trait = callous
|
||||
has_trait = sadistic
|
||||
has_trait = ambitious
|
||||
has_trait = greedy
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Ignore the Zanj
|
||||
option = {
|
||||
name = fp3_story_cycle_zanj_rebellion_events.0006.c
|
||||
|
||||
scope:zanj_leader = {
|
||||
change_variable = {
|
||||
name = zanj_rebellion_strength_score
|
||||
add = 5
|
||||
}
|
||||
}
|
||||
custom_tooltip = fp3_story_cycle_zanj_rebellion_events_cause_greatly_strengthened_tt
|
||||
hidden_effect = {
|
||||
title:c_basra.holder = {
|
||||
add_visiting_courtier = scope:zanj_leader
|
||||
add_visiting_courtier = scope:zanj_representative
|
||||
}
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = {
|
||||
NOT = { title:c_basra.holder = root }
|
||||
}
|
||||
|
||||
progress_towards_friend_effect = {
|
||||
REASON = fp3_rival_stayed_out_of_my_business
|
||||
CHARACTER = title:c_basra.holder
|
||||
OPINION = default_friend_opinion
|
||||
}
|
||||
}
|
||||
|
||||
trigger_event = {
|
||||
id = fp3_story_cycle_zanj_rebellion_events.0007
|
||||
days = { 30 60 }
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
compassionate = minor_stress_impact_gain
|
||||
just = minor_stress_impact_gain
|
||||
forgiving = minor_stress_impact_gain
|
||||
generous = minor_stress_impact_gain
|
||||
content = minor_stress_impact_gain
|
||||
callous = minor_stress_impact_loss
|
||||
sadistic = medium_stress_impact_loss
|
||||
ambitious = minor_stress_impact_loss
|
||||
greedy = minor_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 0.5
|
||||
OR = {
|
||||
has_trait = compassionate
|
||||
has_trait = just
|
||||
has_trait = forgiving
|
||||
has_trait = generous
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fp3_story_cycle_zanj_rebellion_events.0007 = {
|
||||
scope = none
|
||||
hidden = yes
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
scope:zanj_leader = {
|
||||
OR = {
|
||||
is_imprisoned = yes
|
||||
is_alive = no
|
||||
is_landed = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
inherit_zanj_rebellion_effect = yes
|
||||
}
|
||||
title:c_basra.holder.top_liege = {
|
||||
trigger_event = {
|
||||
id = fp3_story_cycle_zanj_rebellion_events.0008
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
### The Zanj Rebellion
|
||||
fp3_story_cycle_zanj_rebellion_events.0008 = {
|
||||
type = character_event
|
||||
theme = battle
|
||||
override_background = { reference = wilderness_wetlands }
|
||||
title = fp3_story_cycle_zanj_rebellion_events.0008.t
|
||||
desc = {
|
||||
desc = fp3_story_cycle_zanj_rebellion_events.0008.desc.a
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:zanj_leader = { NOT = { has_character_flag = new_zanj_leader}}
|
||||
}
|
||||
desc = fp3_story_cycle_zanj_rebellion_events.0008.desc.b
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:zanj_leader = { has_character_flag = new_zanj_leader }
|
||||
}
|
||||
desc = fp3_story_cycle_zanj_rebellion_events.0008.desc.c
|
||||
}
|
||||
desc = fp3_story_cycle_zanj_rebellion_events.0008.desc.d
|
||||
}
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = shock
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:zanj_leader
|
||||
animation = celebrate_sword
|
||||
}
|
||||
|
||||
immediate = {
|
||||
scope:zanj_leader = {
|
||||
give_nickname = nick_chief_of_the_zanj
|
||||
hidden_effect = {
|
||||
random_owned_story = {
|
||||
type = story_zanj_rebellion
|
||||
end_story = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
fp3_start_zanj_rebellion_effect = {
|
||||
TARGET_COUNTY = title:c_basra
|
||||
REBEL_LEADER = scope:zanj_leader
|
||||
}
|
||||
create_zanj_courtier_effect = {
|
||||
EMPLOYER = scope:zanj_leader
|
||||
LOCATION = scope:zanj_leader.location
|
||||
}
|
||||
create_zanj_courtier_effect = {
|
||||
EMPLOYER = scope:zanj_leader
|
||||
LOCATION = scope:zanj_leader.location
|
||||
}
|
||||
create_zanj_courtier_effect = {
|
||||
EMPLOYER = scope:zanj_leader
|
||||
LOCATION = scope:zanj_leader.location
|
||||
}
|
||||
create_zanj_courtier_effect = {
|
||||
EMPLOYER = scope:zanj_leader
|
||||
LOCATION = scope:zanj_leader.location
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = fp3_story_cycle_zanj_rebellion_events.0008.a
|
||||
}
|
||||
}
|
||||
1339
events/dlc/fp3/fp3_struggle_events.txt
Normal file
1339
events/dlc/fp3/fp3_struggle_events.txt
Normal file
File diff suppressed because it is too large
Load diff
1416
events/dlc/fp3/fp3_tax_collector_events_ola.txt
Normal file
1416
events/dlc/fp3/fp3_tax_collector_events_ola.txt
Normal file
File diff suppressed because it is too large
Load diff
1063
events/dlc/fp3/fp3_tax_collector_flavor_events.txt
Normal file
1063
events/dlc/fp3/fp3_tax_collector_flavor_events.txt
Normal file
File diff suppressed because it is too large
Load diff
3134
events/dlc/fp3/fp3_yearly_events_eren.txt
Normal file
3134
events/dlc/fp3/fp3_yearly_events_eren.txt
Normal file
File diff suppressed because it is too large
Load diff
286
events/dlc/fp3/fp3_yearly_events_hugo.txt
Normal file
286
events/dlc/fp3/fp3_yearly_events_hugo.txt
Normal file
|
|
@ -0,0 +1,286 @@
|
|||
namespace = fp3_h_yearly
|
||||
|
||||
###################################
|
||||
# You have pissed off your ulema and you're a drunkard
|
||||
# By Hugo Cortell
|
||||
# Rewritten by Henrik Lohmander
|
||||
###################################
|
||||
fp3_h_yearly.0001 = {
|
||||
type = character_event
|
||||
title = fp3_h_yearly.0001.t
|
||||
desc = {
|
||||
triggered_desc = {
|
||||
trigger = { always = yes }
|
||||
desc = fp3_h_yearly.0001.desc.main
|
||||
}
|
||||
}
|
||||
theme = feast_activity
|
||||
override_background = { reference = throne_room }
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = drink_goblet
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:ulema_member
|
||||
animation = disapproval
|
||||
}
|
||||
|
||||
cooldown = { years = 10 }
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
|
||||
modifier = {
|
||||
exists = cp:councillor_court_chaplain
|
||||
cp:councillor_court_chaplain = { has_trait = drunkard }
|
||||
factor = 0.4
|
||||
}
|
||||
modifier = {
|
||||
any_character_struggle = {
|
||||
is_struggle_type = persian_struggle
|
||||
}
|
||||
add = 0.5
|
||||
}
|
||||
modifier = {
|
||||
has_trait = fp3_struggle_supporter
|
||||
add = -0.5
|
||||
}
|
||||
modifier = {
|
||||
has_trait = fp3_struggle_detractor
|
||||
add = 0.5
|
||||
}
|
||||
}
|
||||
|
||||
trigger = {
|
||||
has_fp3_dlc_trigger = yes
|
||||
has_trait = drunkard
|
||||
NOT = { has_character_modifier = ulema_displeased_drinking }
|
||||
exists = cp:councillor_court_chaplain
|
||||
NOT = {
|
||||
has_hook = cp:councillor_court_chaplain
|
||||
}
|
||||
cp:councillor_court_chaplain = {
|
||||
is_ai = yes
|
||||
faith = { trait_is_sin = drunkard }
|
||||
trigger_if = {
|
||||
limit = { exists = house }
|
||||
house != root.house
|
||||
}
|
||||
NOT = {
|
||||
has_trait = lifestyle_mystic
|
||||
}
|
||||
OR = {
|
||||
opinion = { # They will not do this unless they have reason to dislike you
|
||||
target = root
|
||||
value < -25
|
||||
}
|
||||
has_relation_rival = root
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
cp:councillor_court_chaplain = { save_scope_as = ulema_member }
|
||||
save_scope_as = actor
|
||||
scope:ulema_member = { save_scope_as = recipient }
|
||||
}
|
||||
|
||||
option = { #Deflection (They are a drunkard too) Look who is talking!
|
||||
name = fp3_h_yearly.0001.a
|
||||
trigger = { scope:ulema_member = { has_trait = drunkard } }
|
||||
|
||||
#No duel, this deflection always succeeds.
|
||||
|
||||
stress_impact = {
|
||||
craven = minor_stress_gain
|
||||
deceitful = minor_stress_loss
|
||||
callous = minor_stress_loss
|
||||
}
|
||||
add_prestige = medium_prestige_gain
|
||||
reverse_add_opinion = {
|
||||
target = scope:ulema_member
|
||||
modifier = ignored_concerns
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Deflection - Argue that drinking is healthy to the human spirit
|
||||
name = fp3_h_yearly.0001.b
|
||||
trigger = {
|
||||
OR = {
|
||||
has_trait = scholar
|
||||
has_trait = theologian
|
||||
has_trait = whole_of_body
|
||||
has_trait = lifestyle_physician
|
||||
has_trait = lifestyle_poet
|
||||
faith = { trait_is_virtue = drunkard }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
reverse_add_opinion = {
|
||||
target = scope:ulema_member
|
||||
modifier = ignored_concerns
|
||||
}
|
||||
|
||||
duel = {
|
||||
desc = fp3_h_yearly.0001.b.desc
|
||||
skill = learning
|
||||
target = scope:annoying_clergy
|
||||
|
||||
35 = { #Success
|
||||
desc = fp3_h_yearly.0001.b.success
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
send_interface_toast = {
|
||||
type = event_toast_effect_good
|
||||
title = fp3_h_yearly.0001.b.success
|
||||
left_icon = root
|
||||
add_prestige = minor_prestige_gain
|
||||
}
|
||||
}
|
||||
65 = {
|
||||
desc = fp3_h_yearly.0001.b.failure
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
send_interface_toast = {
|
||||
title = fp3_h_yearly.0001.b.failure
|
||||
left_icon = root
|
||||
add_piety = medium_piety_loss
|
||||
add_character_modifier = {
|
||||
modifier = ulema_displeased_drinking
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
honest = minor_stress_gain
|
||||
humble = minor_stress_gain
|
||||
callous = minor_stress_loss
|
||||
deceitful = minor_stress_loss
|
||||
}
|
||||
}
|
||||
|
||||
option = { # You do not get to speak to me in this way!
|
||||
name = fp3_h_yearly.0001.e
|
||||
|
||||
add_dread = medium_dread_gain
|
||||
imprison_court_chaplain_consequences_effect = yes
|
||||
imprison_character_effect = {
|
||||
TARGET = scope:recipient
|
||||
IMPRISONER = scope:actor
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
just = medium_stress_gain
|
||||
zealous = medium_stress_gain
|
||||
deceitful = minor_stress_loss
|
||||
callous = minor_stress_loss
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Bribery - Offer a generous donation
|
||||
name = fp3_h_yearly.0001.c
|
||||
trigger = { NOT = { scope:ulema_member = { has_trait = drunkard } } } #If you can deflect we don't show this option
|
||||
custom_tooltip = fp3_h_yearly.0001.c.tt
|
||||
pay_short_term_gold = {
|
||||
target = scope:ulema_member
|
||||
gold = medium_gold_value
|
||||
}
|
||||
random_list = {
|
||||
75 = {
|
||||
modifier = {
|
||||
scope:ulema_member = {
|
||||
has_trait = greedy
|
||||
}
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
scope:ulema_member = {
|
||||
has_trait = deceitful
|
||||
}
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
scope:ulema_member = {
|
||||
has_trait = ambitious
|
||||
}
|
||||
factor = 2
|
||||
}
|
||||
desc = fp3_h_yearly.0001.c.success
|
||||
send_interface_toast = {
|
||||
title = fp3_h_yearly.0001.c.success
|
||||
left_icon = root
|
||||
add_prestige = minor_prestige_gain
|
||||
}
|
||||
}
|
||||
25 = {
|
||||
modifier = {
|
||||
scope:ulema_member = {
|
||||
has_trait = zealous
|
||||
}
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
scope:ulema_member = {
|
||||
has_trait = honest
|
||||
}
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
scope:ulema_member = {
|
||||
has_trait = just
|
||||
}
|
||||
factor = 2
|
||||
}
|
||||
desc = fp3_h_yearly.0001.c.failure
|
||||
send_interface_toast = {
|
||||
title = fp3_h_yearly.0001.c.failure
|
||||
left_icon = root
|
||||
add_piety = medium_piety_loss
|
||||
add_character_modifier = {
|
||||
modifier = ulema_displeased_drinking
|
||||
years = 10
|
||||
}
|
||||
reverse_add_opinion = {
|
||||
target = scope:ulema_member
|
||||
modifier = ignored_concerns
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
stress_impact = {
|
||||
just = medium_stress_gain
|
||||
greedy = minor_stress_gain
|
||||
honest = minor_stress_gain
|
||||
callous = minor_stress_loss
|
||||
deceitful = minor_stress_loss
|
||||
}
|
||||
}
|
||||
|
||||
option = { # There is nothing I can do!
|
||||
name = fp3_h_yearly.0001.d
|
||||
|
||||
add_piety = minor_piety_loss
|
||||
add_character_modifier = {
|
||||
modifier = ulema_displeased_drinking
|
||||
years = 5
|
||||
}
|
||||
stress_impact = {
|
||||
arrogant = minor_stress_gain
|
||||
deceitful = minor_stress_gain
|
||||
drunkard = minor_stress_gain
|
||||
honest = minor_stress_loss
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
4034
events/dlc/fp3/fp3_yearly_events_ola_batch_1.txt
Normal file
4034
events/dlc/fp3/fp3_yearly_events_ola_batch_1.txt
Normal file
File diff suppressed because it is too large
Load diff
824
events/dlc/fp3/fp3_yearly_frontier_chains.txt
Normal file
824
events/dlc/fp3/fp3_yearly_frontier_chains.txt
Normal file
|
|
@ -0,0 +1,824 @@
|
|||
namespace = fp3_yearly
|
||||
|
||||
scripted_trigger not_steppe_nomad_trigger = {
|
||||
culture = {
|
||||
NOR = {
|
||||
has_cultural_pillar = heritage_mongolic
|
||||
has_cultural_pillar = heritage_turkic
|
||||
has_cultural_tradition = tradition_horse_lords
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
scripted_trigger suitable_nomad_settling_province_trigger = {
|
||||
has_holding_type = castle_holding
|
||||
barony = {
|
||||
is_under_holy_order_lease = no
|
||||
#is_capital_barony = no
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
fp3_yearly.8888 = { #Nomads story cycle
|
||||
type = character_event
|
||||
title = fp3_yearly.8888.t
|
||||
desc = fp3_yearly.8888.desc
|
||||
theme = vassal
|
||||
left_portrait = {
|
||||
character = scope:upset_vassal
|
||||
animation = anger
|
||||
}
|
||||
right_portrait = {
|
||||
character = root
|
||||
animation = personality_rational
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
diplomacy >= decent_skill_rating
|
||||
}
|
||||
animation = personality_honorable
|
||||
}
|
||||
}
|
||||
lower_left_portrait = {
|
||||
character = scope:possibly_capable_marshal
|
||||
}
|
||||
lower_right_portrait = {
|
||||
character = scope:turkic_leader
|
||||
}
|
||||
|
||||
trigger = {
|
||||
|
||||
#standard checks
|
||||
has_fp3_dlc_trigger = yes
|
||||
root.capital_province = { geographical_region = world_persian_empire }
|
||||
is_available_at_peace_adult = yes
|
||||
|
||||
#event fluff triggers
|
||||
not_steppe_nomad_trigger = yes
|
||||
|
||||
NOT = { has_character_flag = had_turkic_tribe_story } #since this event starts the story
|
||||
|
||||
exists = cp:councillor_marshal
|
||||
|
||||
cp:councillor_marshal = {
|
||||
NOT = { has_trait = craven }
|
||||
is_ai = yes
|
||||
}
|
||||
|
||||
any_vassal = {
|
||||
not_steppe_nomad_trigger = yes
|
||||
is_ai = yes
|
||||
NOT = {
|
||||
this = root.cp:councillor_marshal
|
||||
}
|
||||
any_held_county = {
|
||||
any_county_province = {
|
||||
geographical_region = dlc_fp3_eastern_persian_frontier_regions
|
||||
NOT = { terrain = steppe }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
any_held_county = { any_county_province = { suitable_nomad_settling_province_trigger = yes } }
|
||||
}
|
||||
|
||||
cooldown = { years = 50 }
|
||||
|
||||
immediate = {
|
||||
|
||||
random_vassal = {
|
||||
limit = {
|
||||
not_steppe_nomad_trigger = yes
|
||||
is_ai = yes
|
||||
NOT = {
|
||||
this = root.cp:councillor_marshal
|
||||
}
|
||||
any_held_county = {
|
||||
any_county_province = {
|
||||
geographical_region = dlc_fp3_eastern_persian_frontier_regions
|
||||
NOT = { terrain = steppe }
|
||||
}
|
||||
}
|
||||
}
|
||||
save_scope_as = upset_vassal
|
||||
random_held_county = {
|
||||
limit = {
|
||||
any_county_province = {
|
||||
geographical_region = dlc_fp3_eastern_persian_frontier_regions
|
||||
NOT = { terrain = steppe }
|
||||
}
|
||||
}
|
||||
save_scope_as = nomads_county
|
||||
}
|
||||
}
|
||||
|
||||
random_held_county = {
|
||||
limit = {
|
||||
any_county_province = { suitable_nomad_settling_province_trigger = yes }
|
||||
}
|
||||
save_scope_as = nomads_new_county #for use in the claim the former_master might get
|
||||
}
|
||||
|
||||
scope:nomads_new_county = {
|
||||
random_county_province = {
|
||||
limit = { suitable_nomad_settling_province_trigger = yes }
|
||||
barony = { save_scope_as = nomads_barony }
|
||||
}
|
||||
}
|
||||
|
||||
cp:councillor_marshal = { save_scope_as = possibly_capable_marshal }
|
||||
|
||||
scope:nomads_county = {
|
||||
add_county_modifier = {
|
||||
modifier = fp3_nomad_friction_county_modifier
|
||||
years = 50
|
||||
}
|
||||
}
|
||||
|
||||
create_character = {
|
||||
location = root.capital_province
|
||||
template = fp3_turko-mongol_leader
|
||||
save_scope_as = turkic_leader
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = fp3_yearly.8888.a
|
||||
|
||||
duel = {
|
||||
skill = diplomacy
|
||||
value = average_skill_rating
|
||||
|
||||
20 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 2
|
||||
}
|
||||
root = {
|
||||
custom_tooltip = fp3_treating_with_turks.success.tt
|
||||
trigger_event = {
|
||||
id = fp3_yearly.8889
|
||||
days = { 2 3 }
|
||||
}
|
||||
}
|
||||
}
|
||||
20 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -1
|
||||
}
|
||||
|
||||
custom_tooltip = fp3_treating_with_turks.failure.tt
|
||||
send_interface_toast = {
|
||||
title = fp3_treating_with_turks_toast.failure
|
||||
left_icon = root
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
scope:upset_vassal = {
|
||||
if = {
|
||||
limit = {
|
||||
OR = { #if he's diplomatically minded, he'll appreciate this
|
||||
has_trait = forgiving
|
||||
has_trait = trusting
|
||||
has_trait = compassionate
|
||||
has_diplomacy_lifestyle_trait_trigger = yes
|
||||
}
|
||||
}
|
||||
add_opinion = {
|
||||
target = root
|
||||
opinion = 20
|
||||
modifier = respect_opinion
|
||||
}
|
||||
}
|
||||
else = {
|
||||
add_opinion = { #but otherwise, they're not on board
|
||||
target = root
|
||||
opinion = -10
|
||||
modifier = fp3_treats_with_barbarians_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
scope:possibly_capable_marshal = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
opinion = -10
|
||||
modifier = disappointed_opinion
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
craven = medium_stress_impact_gain
|
||||
lazy = medium_stress_impact_gain
|
||||
shy = medium_stress_impact_gain
|
||||
gregarious = minor_stress_impact_loss
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_sociability = 0.5
|
||||
ai_boldness = 1
|
||||
ai_compassion = 0.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = fp3_yearly.8888.b
|
||||
|
||||
scope:upset_vassal = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
opinion = 20
|
||||
modifier = grateful_opinion
|
||||
}
|
||||
}
|
||||
|
||||
scope:possibly_capable_marshal = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
opinion = 10
|
||||
modifier = trusted_me_opinion
|
||||
}
|
||||
}
|
||||
|
||||
scope:possibly_capable_marshal = {
|
||||
duel = {
|
||||
skill = martial
|
||||
value = average_skill_rating
|
||||
|
||||
20 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 2
|
||||
}
|
||||
root = {
|
||||
custom_tooltip = fp3_fighting_turks.success.tt
|
||||
trigger_event = {
|
||||
id = fp3_yearly.8890
|
||||
days = { 2 3 }
|
||||
}
|
||||
}
|
||||
}
|
||||
20 = {
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -1
|
||||
}
|
||||
root = {
|
||||
custom_tooltip = fp3_fighting_turks.failure.tt
|
||||
send_interface_toast = {
|
||||
title = fp3_fighting_turks_toast.failure
|
||||
left_icon = scope:possibly_capable_marshal
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
compassionate = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_boldness = 1
|
||||
ai_vengefulness = 0.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { #Ignore the issue
|
||||
name = fp3_yearly.8888.c
|
||||
|
||||
scope:upset_vassal = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
opinion = -20
|
||||
modifier = angry_opinion
|
||||
}
|
||||
}
|
||||
|
||||
scope:possibly_capable_marshal = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
opinion = -10
|
||||
modifier = disappointed_opinion
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
ambitious = minor_stress_impact_gain
|
||||
diligent = minor_stress_impact_gain
|
||||
just = minor_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_energy = -1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
fp3_yearly.8889 = { #Nomads story cycle
|
||||
type = character_event
|
||||
title = fp3_yearly.8889.t
|
||||
desc = fp3_yearly.8889.desc
|
||||
theme = vassal
|
||||
left_portrait = {
|
||||
character = scope:turkic_leader
|
||||
animation = disapproval
|
||||
}
|
||||
right_portrait = {
|
||||
character = root
|
||||
animation = drink_goblet
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
diplomacy >= decent_skill_rating
|
||||
NOR = {
|
||||
has_trait = callous
|
||||
has_trait = wrathful
|
||||
has_trait = vengeful
|
||||
}
|
||||
}
|
||||
animation = personality_compassionate
|
||||
}
|
||||
}
|
||||
lower_left_portrait = {
|
||||
character = scope:upset_vassal
|
||||
}
|
||||
|
||||
override_background = { reference = wilderness }
|
||||
|
||||
trigger = {
|
||||
|
||||
#standard checks
|
||||
is_available_adult = yes
|
||||
|
||||
#event not breaking sanity triggers
|
||||
exists = scope:upset_vassal
|
||||
scope:upset_vassal = { is_alive = yes }
|
||||
|
||||
exists = scope:turkic_leader
|
||||
scope:turkic_leader = { is_alive = yes }
|
||||
|
||||
exists = scope:nomads_county
|
||||
|
||||
exists = scope:nomads_new_county
|
||||
}
|
||||
|
||||
option = {
|
||||
name = fp3_yearly.8889.a
|
||||
|
||||
|
||||
if = {
|
||||
limit = {
|
||||
scope:upset_vassal = {
|
||||
NOT = {
|
||||
has_relation_rival = root
|
||||
has_relation_nemesis = root
|
||||
}
|
||||
}
|
||||
}
|
||||
root = {
|
||||
progress_towards_rival_effect = {
|
||||
CHARACTER = scope:upset_vassal
|
||||
REASON = rival_let_hostile_nomads_roam_free
|
||||
OPINION = -20
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
scope:upset_vassal = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
opinion = -40
|
||||
modifier = hate_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
add_courtier = scope:turkic_leader
|
||||
|
||||
spawn_army = {
|
||||
men_at_arms = {
|
||||
type = horse_archers
|
||||
stacks = 1
|
||||
}
|
||||
location = root.capital_province
|
||||
war_keep_on_attacker_victory = yes
|
||||
uses_supply = yes
|
||||
inheritable = no
|
||||
save_scope_as = horsemen_army
|
||||
name = turkic_tribal_event_troops
|
||||
}
|
||||
|
||||
#This is needed to make the story cycle able to pick up the scopes
|
||||
set_variable = {
|
||||
name = turkic_leader
|
||||
value = scope:turkic_leader
|
||||
}
|
||||
set_variable = {
|
||||
name = upset_vassal
|
||||
value = scope:upset_vassal
|
||||
}
|
||||
set_variable = {
|
||||
name = nomads_county
|
||||
value = scope:nomads_county
|
||||
}
|
||||
set_variable = {
|
||||
name = nomads_new_county
|
||||
value = scope:nomads_new_county
|
||||
}
|
||||
|
||||
create_story = turkic_tribe_story
|
||||
|
||||
stress_impact = {
|
||||
paranoid = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_sociability = 0.4
|
||||
ai_boldness = 0.7
|
||||
ai_vengefulness = 0.3
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = fp3_yearly.8889.b
|
||||
|
||||
scope:upset_vassal = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
opinion = -10
|
||||
modifier = disappointed_opinion
|
||||
}
|
||||
}
|
||||
|
||||
add_courtier = scope:turkic_leader
|
||||
|
||||
spawn_army = {
|
||||
men_at_arms = {
|
||||
type = horse_archers
|
||||
stacks = 1
|
||||
}
|
||||
location = root.capital_province
|
||||
war_keep_on_attacker_victory = yes
|
||||
uses_supply = yes
|
||||
inheritable = no
|
||||
save_scope_as = horsemen_army
|
||||
name = turkic_tribal_event_troops
|
||||
}
|
||||
|
||||
#This is needed to make the story cycle able to pick up the scopes
|
||||
set_variable = {
|
||||
name = turkic_leader
|
||||
value = scope:turkic_leader
|
||||
}
|
||||
set_variable = {
|
||||
name = upset_vassal
|
||||
value = scope:upset_vassal
|
||||
}
|
||||
set_variable = {
|
||||
name = nomads_county
|
||||
value = scope:nomads_county
|
||||
}
|
||||
set_variable = {
|
||||
name = nomads_new_county
|
||||
value = scope:nomads_new_county
|
||||
}
|
||||
|
||||
create_story = turkic_tribe_story
|
||||
|
||||
scope:nomads_county = {
|
||||
remove_county_modifier = fp3_nomad_friction_county_modifier
|
||||
}
|
||||
|
||||
scope:nomads_new_county = {
|
||||
add_county_modifier = {
|
||||
modifier = fp3_nomad_friction_county_modifier
|
||||
years = 30
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
generous = medium_stress_impact_loss
|
||||
content = medium_stress_impact_gain
|
||||
paranoid = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_sociability = 0.6
|
||||
ai_boldness = 1
|
||||
ai_compassion = 0.2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { #no deal
|
||||
name = fp3_yearly.8889.c
|
||||
|
||||
scope:upset_vassal = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
opinion = 20
|
||||
modifier = pleased_opinion
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
ambitious = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_greed = -0.5
|
||||
ai_vengefulness = 0.5
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
fp3_yearly.8890 = { #Nomads story cycle
|
||||
type = character_event
|
||||
title = fp3_yearly.8890.t
|
||||
desc = {
|
||||
desc = fp3_yearly.8890.desc_beginning
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:upset_vassal = {
|
||||
AND = {
|
||||
ai_compassion < medium_positive_ai_value
|
||||
ai_vengefulness > medium_positive_ai_value
|
||||
}
|
||||
}
|
||||
}
|
||||
desc = fp3_yearly.8890_brutal_demands
|
||||
}
|
||||
desc = fp3_yearly.8890_nonbrutal_demands
|
||||
}
|
||||
desc = fp3_yearly.8890.desc_ending
|
||||
}
|
||||
|
||||
|
||||
theme = vassal
|
||||
left_portrait = {
|
||||
character = scope:turkic_leader
|
||||
animation = prisonhouse
|
||||
}
|
||||
right_portrait = {
|
||||
character = root
|
||||
animation = personality_rational
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
diplomacy < high_skill_rating
|
||||
NOR = {
|
||||
has_trait = compassionate
|
||||
has_trait = forgiving
|
||||
has_trait = just
|
||||
}
|
||||
}
|
||||
animation = personality_callous
|
||||
}
|
||||
}
|
||||
lower_left_portrait = {
|
||||
character = scope:upset_vassal
|
||||
}
|
||||
|
||||
lower_right_portrait = {
|
||||
character = scope:possibly_capable_marshal
|
||||
}
|
||||
|
||||
trigger = {
|
||||
|
||||
#standard checks
|
||||
is_available_adult = yes
|
||||
|
||||
#event not breaking sanity triggers
|
||||
exists = scope:upset_vassal
|
||||
scope:upset_vassal = { is_alive = yes }
|
||||
|
||||
exists = scope:turkic_leader
|
||||
scope:turkic_leader = { is_alive = yes }
|
||||
|
||||
exists = scope:nomads_county
|
||||
|
||||
exists = scope:nomads_new_county
|
||||
}
|
||||
|
||||
option = {
|
||||
name = fp3_yearly.8890.a
|
||||
|
||||
|
||||
scope:upset_vassal = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
opinion = -15
|
||||
modifier = fp3_suspicious_motives_opinion
|
||||
}
|
||||
}
|
||||
|
||||
add_courtier = scope:turkic_leader
|
||||
|
||||
add_hook = {
|
||||
type = indebted_hook
|
||||
target = scope:turkic_leader
|
||||
}
|
||||
|
||||
spawn_army = {
|
||||
men_at_arms = {
|
||||
type = horse_archers
|
||||
stacks = 1
|
||||
}
|
||||
location = root.capital_province
|
||||
war_keep_on_attacker_victory = yes
|
||||
uses_supply = yes
|
||||
inheritable = no
|
||||
save_scope_as = horsemen_army
|
||||
name = turkic_tribal_event_troops
|
||||
}
|
||||
|
||||
#This is needed to make the story cycle able to pick up the scopes
|
||||
set_variable = {
|
||||
name = turkic_leader
|
||||
value = scope:turkic_leader
|
||||
}
|
||||
set_variable = {
|
||||
name = upset_vassal
|
||||
value = scope:upset_vassal
|
||||
}
|
||||
set_variable = {
|
||||
name = nomads_county
|
||||
value = scope:nomads_county
|
||||
}
|
||||
set_variable = {
|
||||
name = nomads_new_county
|
||||
value = scope:nomads_new_county
|
||||
}
|
||||
|
||||
create_story = turkic_tribe_story
|
||||
|
||||
scope:nomads_county = {
|
||||
remove_county_modifier = fp3_nomad_friction_county_modifier
|
||||
}
|
||||
|
||||
scope:nomads_new_county = {
|
||||
add_county_modifier = {
|
||||
modifier = fp3_nomad_friction_county_modifier
|
||||
years = 30
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
content = medium_stress_impact_gain
|
||||
paranoid = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_boldness = 0.5
|
||||
ai_rationality = 0.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { #execute the nomad leader
|
||||
name = fp3_yearly.8890.b
|
||||
|
||||
add_dread = medium_dread_gain
|
||||
|
||||
scope:upset_vassal = {
|
||||
if = {
|
||||
limit = {
|
||||
AND = { #if they're cruel, he'll enjoy this
|
||||
ai_compassion < 0
|
||||
ai_vengefulness > medium_positive_ai_value
|
||||
}
|
||||
}
|
||||
add_opinion = {
|
||||
target = root
|
||||
opinion = 30
|
||||
modifier = fp3_very_very_pleased_opinion
|
||||
}
|
||||
}
|
||||
else = {
|
||||
add_opinion = { #but otherwise, they're not on board
|
||||
target = root
|
||||
opinion = -10
|
||||
modifier = fp3_went_too_far_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
scope:turkic_leader = {
|
||||
death = {
|
||||
death_reason = death_execution
|
||||
killer = root
|
||||
}
|
||||
}
|
||||
|
||||
random_list = {
|
||||
50 = {
|
||||
send_interface_toast = {
|
||||
title = nomad_friction_gone.tt
|
||||
left_icon = root
|
||||
|
||||
scope:nomads_county = { remove_county_modifier = fp3_nomad_friction_county_modifier }
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
send_interface_toast = {
|
||||
title = nomad_friction_active.tt
|
||||
left_icon = root
|
||||
|
||||
scope:nomads_county = {
|
||||
add_county_modifier = {
|
||||
modifier = fp3_vengeful_nomads_county_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
compassionate = medium_stress_impact_gain
|
||||
just = medium_stress_impact_gain
|
||||
arbitrary = medium_stress_impact_loss
|
||||
sadistic = minor_stress_impact_loss
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_vengefulness = 0.5
|
||||
ai_compassion = -1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = fp3_yearly.8890.c
|
||||
|
||||
add_dread = minor_dread_gain
|
||||
|
||||
scope:turkic_leader = {
|
||||
hard_imprison_character_effect = {
|
||||
TARGET = this
|
||||
IMPRISONER = root
|
||||
}
|
||||
}
|
||||
|
||||
scope:upset_vassal = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
opinion = 20
|
||||
modifier = pleased_opinion
|
||||
}
|
||||
}
|
||||
|
||||
random = {
|
||||
chance = 75
|
||||
send_interface_toast = {
|
||||
title = nomad_friction_gone.tt
|
||||
left_icon = root
|
||||
|
||||
scope:nomads_county = { remove_county_modifier = fp3_nomad_friction_county_modifier }
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
stress_impact = {
|
||||
compassionate = minor_stress_impact_gain
|
||||
just = minor_stress_impact_gain
|
||||
arbitrary = minor_stress_impact_loss
|
||||
cynical = minor_stress_impact_loss
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_vengefulness = 0.5
|
||||
ai_rationality = 1
|
||||
ai_compassion = -0.5
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
307
events/dlc/mpo/court_astrologer_events.txt
Normal file
307
events/dlc/mpo/court_astrologer_events.txt
Normal file
|
|
@ -0,0 +1,307 @@
|
|||
namespace = court_astrologer_events
|
||||
|
||||
#Triggered by the "Consult the Skies" decision
|
||||
court_astrologer_events.0001 = {
|
||||
type = character_event
|
||||
title = court_astrologer_events.0001.t
|
||||
desc = court_astrologer_events.0001.desc
|
||||
theme = faith
|
||||
override_effect_2d = {
|
||||
reference = legend_glow
|
||||
}
|
||||
left_portrait = {
|
||||
character = root
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
has_trait = zealous
|
||||
}
|
||||
animation = beg
|
||||
}
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
OR = {
|
||||
has_trait = craven
|
||||
has_trait = paranoid
|
||||
}
|
||||
}
|
||||
animation = worry
|
||||
}
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
OR = {
|
||||
has_trait = cynical
|
||||
has_trait = arrogant
|
||||
}
|
||||
}
|
||||
animation = boredom
|
||||
}
|
||||
animation = prayer
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:astrologer
|
||||
animation = holding_staff
|
||||
}
|
||||
|
||||
immediate = {
|
||||
random_courtier = {
|
||||
limit = { has_court_position = court_astrologer_court_position }
|
||||
save_scope_as = astrologer
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Tell me about my love life
|
||||
name = court_astrologer_events.0001.a
|
||||
random_list = {
|
||||
50 = {
|
||||
desc = court_astrologer_events.0001.a.success
|
||||
send_interface_toast = {
|
||||
title = court_astrologer_events.0001.a.success
|
||||
left_icon = root
|
||||
custom_tooltip = court_astrologer_events.0001.a.success.tt
|
||||
if = {
|
||||
limit = {
|
||||
culture ?= { has_cultural_pillar = ethos_spiritual }
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = mpo_divination_love_spiritual_modifier
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
else = {
|
||||
add_character_modifier = {
|
||||
modifier = mpo_divination_love_modifier
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
desc = court_astrologer_events.0001.a.failure
|
||||
send_interface_toast = {
|
||||
title = court_astrologer_events.0001.a.failure
|
||||
left_icon = root
|
||||
add_stress = minor_stress_loss
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
paranoid = miniscule_stress_impact_gain
|
||||
cynical = miniscule_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Tell me about war
|
||||
name = court_astrologer_events.0001.b
|
||||
random_list = {
|
||||
50 = {
|
||||
desc = court_astrologer_events.0001.b.success
|
||||
send_interface_toast = {
|
||||
title = court_astrologer_events.0001.b.success
|
||||
left_icon = root
|
||||
if = {
|
||||
limit = {
|
||||
culture ?= { has_cultural_pillar = ethos_spiritual }
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = mpo_divination_war_spiritual_modifier
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
else = {
|
||||
add_character_modifier = {
|
||||
modifier = mpo_divination_war_modifier
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
desc = court_astrologer_events.0001.a.failure
|
||||
send_interface_toast = {
|
||||
title = court_astrologer_events.0001.a.failure
|
||||
left_icon = root
|
||||
add_stress = minor_stress_loss
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
paranoid = miniscule_stress_impact_gain
|
||||
cynical = miniscule_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Just tell me about life
|
||||
name = court_astrologer_events.0001.c
|
||||
random_list = {
|
||||
50 = {
|
||||
desc = court_astrologer_events.0001.c.success
|
||||
send_interface_toast = {
|
||||
title = court_astrologer_events.0001.c.success
|
||||
left_icon = root
|
||||
if = {
|
||||
limit = {
|
||||
culture ?= { has_cultural_pillar = ethos_spiritual }
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = mpo_divination_life_spiritual_modifier
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
else = {
|
||||
add_character_modifier = {
|
||||
modifier = mpo_divination_life_modifier
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
desc = court_astrologer_events.0001.a.failure
|
||||
send_interface_toast = {
|
||||
title = court_astrologer_events.0001.a.failure
|
||||
left_icon = root
|
||||
add_stress = minor_stress_loss
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
paranoid = miniscule_stress_impact_gain
|
||||
cynical = miniscule_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Actually, not right now
|
||||
name = court_astrologer_events.0001.d
|
||||
remove_decision_cooldown = mpo_divination_decision
|
||||
ai_chance = {
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Migration Suggestion
|
||||
scripted_trigger court_astrologer_events_0002_neighbour_trigger = {
|
||||
government_has_flag = government_is_nomadic
|
||||
current_domain_fertility >= root.current_domain_fertility
|
||||
is_independent_ruler = yes
|
||||
}
|
||||
|
||||
court_astrologer_events.0002 = {
|
||||
type = character_event
|
||||
title = court_astrologer_events.0002.t
|
||||
desc = {
|
||||
desc = court_astrologer_events.0002.desc.intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
location.county.county_fertility <= bad_county_fertility_level
|
||||
}
|
||||
desc = court_astrologer_events.0002.desc.bad
|
||||
}
|
||||
desc = court_astrologer_events.0002.desc.meh
|
||||
}
|
||||
desc = court_astrologer_events.0002.desc.outro
|
||||
}
|
||||
theme = nomads
|
||||
override_background = { reference = mpo_steppe_evening }
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = thinking
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:astrologer
|
||||
animation = holding_staff
|
||||
}
|
||||
lower_center_portrait = scope:target_realm_owner
|
||||
cooldown = { years = 5 }
|
||||
|
||||
trigger = {
|
||||
has_mpo_dlc_trigger = yes
|
||||
government_has_flag = government_is_nomadic
|
||||
is_available = yes
|
||||
employs_court_position = court_astrologer_court_position
|
||||
court_position:court_astrologer_court_position = { is_available = yes }
|
||||
any_neighboring_realm_same_rank_owner = {
|
||||
court_astrologer_events_0002_neighbour_trigger = yes
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
modifier = {
|
||||
current_domain_fertility <= bad_county_fertility_level
|
||||
factor = 2
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
court_position:court_astrologer_court_position = {
|
||||
save_scope_as = astrologer
|
||||
get_quirk_character_effect = yes
|
||||
}
|
||||
ordered_neighboring_realm_same_rank_owner = {
|
||||
limit = {
|
||||
court_astrologer_events_0002_neighbour_trigger = yes
|
||||
}
|
||||
order_by = current_domain_fertility
|
||||
save_scope_as = target_realm_owner
|
||||
primary_title = { save_scope_as = target_realm }
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Sounds like a great idea
|
||||
name = court_astrologer_events.0002.a
|
||||
custom_tooltip = court_astrologer_events.0002.a.tt
|
||||
set_variable = {
|
||||
name = astrologer_desired_area
|
||||
value = scope:target_realm
|
||||
years = 5
|
||||
}
|
||||
stress_impact = {
|
||||
paranoid = medium_stress_impact_gain
|
||||
gregarious = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Thank you for your feedback
|
||||
name = court_astrologer_events.0002.b
|
||||
scope:astrologer = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = respect_opinion
|
||||
opinion = 20
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
paranoid = medium_stress_impact_gain
|
||||
gregarious = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # I'm good
|
||||
name = court_astrologer_events.0002.c
|
||||
add_prestige = minor_prestige_gain
|
||||
stress_impact = {
|
||||
paranoid = medium_stress_impact_gain
|
||||
gregarious = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
}
|
||||
9326
events/dlc/mpo/mpo_decisions_events.txt
Normal file
9326
events/dlc/mpo/mpo_decisions_events.txt
Normal file
File diff suppressed because it is too large
Load diff
4825
events/dlc/mpo/mpo_events_ariana.txt
Normal file
4825
events/dlc/mpo/mpo_events_ariana.txt
Normal file
File diff suppressed because it is too large
Load diff
1870
events/dlc/mpo/mpo_events_tova.txt
Normal file
1870
events/dlc/mpo/mpo_events_tova.txt
Normal file
File diff suppressed because it is too large
Load diff
456
events/dlc/mpo/mpo_flavor_events_settled.txt
Normal file
456
events/dlc/mpo/mpo_flavor_events_settled.txt
Normal file
|
|
@ -0,0 +1,456 @@
|
|||
namespace = mpo_flavor_events_settled
|
||||
|
||||
# mpo_flavor_events_settled.0001 - You hear of a Havsarsan Zud
|
||||
# mpo_flavor_events_settled.0010 - Horse Lord at your door
|
||||
|
||||
#######################
|
||||
# You hear of a Havsarsan Zud
|
||||
#######################
|
||||
mpo_flavor_events_settled.0001 = {
|
||||
type = character_event
|
||||
title = mpo_flavor_events_settled.0001.t
|
||||
desc = mpo_flavor_events_settled.0001.desc
|
||||
theme = nomads
|
||||
override_background = { reference = ep3_city_gate }
|
||||
left_portrait = {
|
||||
character = root
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
OR = {
|
||||
has_trait = callous
|
||||
has_trait = sadistic
|
||||
}
|
||||
}
|
||||
animation = schadenfreude
|
||||
}
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
OR = {
|
||||
has_trait = brave
|
||||
has_trait = arrogant
|
||||
}
|
||||
}
|
||||
animation = dismissal
|
||||
}
|
||||
animation = worry
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:nomad
|
||||
animation = horse_exhausted
|
||||
camera = camera_event_horse_right
|
||||
}
|
||||
widget = {
|
||||
gui = "event_window_widget_vfx_snowstorm"
|
||||
container = "foreground_shader_vfx_container"
|
||||
}
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
has_mpo_dlc_trigger = yes
|
||||
NOT = { government_has_flag = government_is_nomadic }
|
||||
OR = {
|
||||
any_character_situation = { # You are a settled ruler in the Great Steppe
|
||||
any_participant_group = {
|
||||
participant_group_type = settled_rulers
|
||||
participant_group_has_character = root
|
||||
}
|
||||
any_situation_sub_region = {
|
||||
sub_region_current_phase = situation_steppe_havsarsan_zud_season
|
||||
}
|
||||
}
|
||||
any_sub_realm_county = { # You are neighbouring the Great Steppe
|
||||
any_neighboring_county = {
|
||||
holder != root
|
||||
any_county_situation = {
|
||||
situation:the_great_steppe ?= this
|
||||
any_situation_sub_region = {
|
||||
sub_region_current_phase = situation_steppe_havsarsan_zud_season
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
any_neighboring_top_liege_realm_owner = {
|
||||
government_has_flag = government_is_nomadic
|
||||
}
|
||||
}
|
||||
random_neighboring_top_liege_realm_owner = {
|
||||
limit = { government_has_flag = government_is_nomadic }
|
||||
save_scope_as = nomad_lord
|
||||
}
|
||||
}
|
||||
else = {
|
||||
random_ruler = {
|
||||
limit = {
|
||||
in_diplomatic_range = root
|
||||
government_has_flag = government_is_nomadic
|
||||
}
|
||||
save_scope_as = nomad_lord
|
||||
}
|
||||
}
|
||||
create_character = {
|
||||
location = root.location
|
||||
template = nomadic_hunter_template
|
||||
faith = scope:nomad_lord.faith
|
||||
culture = scope:nomad_lord.culture
|
||||
save_scope_as = nomad
|
||||
}
|
||||
scope:nomad = { add_trait = nomadic_philosophy }
|
||||
}
|
||||
|
||||
option = { # Get out
|
||||
name = mpo_flavor_events_settled.0001.aa
|
||||
reason = faith
|
||||
add_internal_flag = special
|
||||
trigger = {
|
||||
faith = {
|
||||
trait_is_virtue = callous
|
||||
}
|
||||
}
|
||||
add_piety = medium_piety_gain
|
||||
stress_impact = {
|
||||
callous = major_stress_impact_loss
|
||||
generous = medium_stress_impact_gain
|
||||
paranoid = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
factor = 2
|
||||
has_trait = callous
|
||||
}
|
||||
modifier = {
|
||||
factor = 0
|
||||
OR = {
|
||||
has_trait = generous
|
||||
has_trait = paranoid
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Let's prepare
|
||||
name = mpo_flavor_events_settled.0001.a
|
||||
remove_short_term_gold = medium_gold_value
|
||||
every_sub_realm_county = {
|
||||
limit = { holder = root }
|
||||
add_county_modifier = {
|
||||
modifier = mpo_settled_preparations_war_county_modifier
|
||||
years = 15
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
wrathful = medium_stress_impact_loss
|
||||
brave = medium_stress_impact_loss
|
||||
craven = medium_stress_impact_gain
|
||||
greedy = medium_stress_impact_gain
|
||||
avaricious = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
OR = {
|
||||
has_trait = wrathful
|
||||
has_trait = brave
|
||||
}
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
OR = {
|
||||
short_term_gold <= major_gold_value
|
||||
has_trait = greedy
|
||||
has_trait = avaricious
|
||||
has_trait = craven
|
||||
}
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # We should focus on building
|
||||
name = mpo_flavor_events_settled.0001.b
|
||||
every_sub_realm_county = {
|
||||
limit = { holder = root }
|
||||
add_county_modifier = {
|
||||
modifier = mpo_settled_preparations_building_county_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
compassionate = major_stress_impact_loss
|
||||
greedy = medium_stress_impact_gain
|
||||
avaricious = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Recruit this guy
|
||||
name = mpo_flavor_events_settled.0001.c
|
||||
trigger = {
|
||||
NOT = {
|
||||
faith = {
|
||||
trait_is_virtue = callous
|
||||
}
|
||||
}
|
||||
}
|
||||
add_courtier = scope:nomad
|
||||
if = {
|
||||
limit = {
|
||||
faith = { trait_is_virtue = compassionate }
|
||||
}
|
||||
add_piety = major_piety_gain
|
||||
}
|
||||
else = {
|
||||
add_piety = medium_piety_gain
|
||||
}
|
||||
stress_impact = {
|
||||
compassionate = major_stress_impact_loss
|
||||
callous = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
custom_tooltip = mpo_flavor_events_settled.0001.tt
|
||||
if = {
|
||||
limit = { is_ai = yes }
|
||||
scope:nomad = { silent_disappearance_effect = yes }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#######################
|
||||
# Horse Lord at your door
|
||||
#######################
|
||||
scripted_trigger mpo_flavor_events_settled_0010_valid_nomad_lord_trigger = {
|
||||
government_has_flag = government_is_nomadic
|
||||
NOR = {
|
||||
is_close_family_of = root
|
||||
is_vassal_of = root
|
||||
is_tributary_of = root
|
||||
this = root.liege
|
||||
this = root.suzerain
|
||||
}
|
||||
any_character_situation = {
|
||||
situation:the_great_steppe ?= this
|
||||
}
|
||||
}
|
||||
|
||||
mpo_flavor_events_settled.0010 = {
|
||||
type = character_event
|
||||
title = mpo_flavor_events_settled.0010.t
|
||||
desc = mpo_flavor_events_settled.0010.desc
|
||||
theme = nomads
|
||||
override_background = { reference = ep3_city_gate }
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = anger
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:nomad
|
||||
animation = horse_conversing_left
|
||||
camera = camera_event_horse_right
|
||||
}
|
||||
lower_right_portrait = scope:nomad_lord
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
has_mpo_dlc_trigger = yes
|
||||
NOR = {
|
||||
government_has_flag = government_is_nomadic
|
||||
any_primary_war_enemy = { government_has_flag = government_is_nomadic }
|
||||
}
|
||||
any_neighboring_top_liege_realm_owner = {
|
||||
mpo_flavor_events_settled_0010_valid_nomad_lord_trigger = yes
|
||||
}
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
modifier = {
|
||||
any_neighboring_top_liege_realm_owner = {
|
||||
government_has_flag = government_is_nomadic
|
||||
highest_held_title_tier >= tier_kingdom
|
||||
}
|
||||
factor = 2
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
random_neighboring_top_liege_realm_owner = {
|
||||
limit = { mpo_flavor_events_settled_0010_valid_nomad_lord_trigger = yes }
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = {
|
||||
highest_held_title_tier >= tier_kingdom
|
||||
add = 5
|
||||
}
|
||||
}
|
||||
save_scope_as = nomad_lord
|
||||
}
|
||||
create_character = {
|
||||
location = root.location
|
||||
template = nomadic_commander_template
|
||||
faith = scope:nomad_lord.faith
|
||||
culture = scope:nomad_lord.culture
|
||||
save_scope_as = nomad
|
||||
}
|
||||
hidden_effect = {
|
||||
scope:nomad = { add_trait = nomadic_philosophy }
|
||||
scope:nomad_lord = { add_courtier = scope:nomad }
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Pay tribute
|
||||
name = mpo_flavor_events_settled.0010.a
|
||||
trigger = {
|
||||
OR = {
|
||||
scope:nomad_lord.primary_title.tier > root.primary_title.tier
|
||||
scope:nomad_lord.current_military_strength > root.current_military_strength
|
||||
}
|
||||
}
|
||||
start_tributary_interaction_effect = {
|
||||
TRIBUTARY = root
|
||||
SUZERAIN = scope:nomad_lord
|
||||
}
|
||||
scope:nomad_lord = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = pleased_opinion
|
||||
opinion = 25
|
||||
}
|
||||
}
|
||||
add_prestige = medium_prestige_gain
|
||||
stress_impact = {
|
||||
vengeful = major_stress_impact_loss
|
||||
compassionate = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Pay to get truce
|
||||
name = mpo_flavor_events_settled.0010.b
|
||||
trigger = {
|
||||
NOR = {
|
||||
scope:nomad_lord.primary_title.tier > root.primary_title.tier
|
||||
scope:nomad_lord.current_military_strength > root.current_military_strength
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
has_perk = defensive_measures_perk
|
||||
}
|
||||
custom_tooltip = mpo_flavor_events_settled.0010.b_perk_tt
|
||||
pay_short_term_gold = {
|
||||
target = scope:nomad_lord
|
||||
gold = root.purchase_truce_interaction_small_sum
|
||||
}
|
||||
add_truce_both_ways = {
|
||||
character = scope:nomad_lord
|
||||
days = purchase_truce_interaction_truce_days_medium_value
|
||||
name = TRUCE_PURCHASED
|
||||
}
|
||||
}
|
||||
else = {
|
||||
pay_short_term_gold = {
|
||||
target = scope:nomad_lord
|
||||
gold = root.purchase_truce_interaction_medium_sum
|
||||
}
|
||||
add_truce_both_ways = {
|
||||
character = scope:nomad_lord
|
||||
days = purchase_truce_interaction_truce_days_medium_value
|
||||
name = TRUCE_PURCHASED
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
brave = medium_stress_impact_gain
|
||||
ambitious = medium_stress_impact_gain
|
||||
arrogant = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 50
|
||||
modifier = {
|
||||
OR = {
|
||||
has_trait = content
|
||||
has_trait = craven
|
||||
}
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
OR = {
|
||||
has_trait = brave
|
||||
has_trait = ambitious
|
||||
has_trait = arrogant
|
||||
has_trait = greedy
|
||||
gold <= root.purchase_truce_interaction_major_sum
|
||||
}
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Offend them
|
||||
name = mpo_flavor_events_settled.0010.c
|
||||
add_dread = medium_dread_value
|
||||
scope:nomad_lord = {
|
||||
progress_towards_rival_effect = {
|
||||
CHARACTER = root
|
||||
OPINION = -40
|
||||
REASON = rival_disrespected_envoy
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
callous = major_stress_impact_loss
|
||||
craven = major_stress_impact_gain
|
||||
vengeful = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 0
|
||||
modifier = {
|
||||
add = 150
|
||||
has_trait = callous
|
||||
current_military_strength > scope:nomad_lord.current_military_strength
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Let's just be friends
|
||||
name = mpo_flavor_events_settled.0010.d
|
||||
add_diplomacy_lifestyle_xp = minor_lifestyle_xp
|
||||
scope:nomad_lord = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = pleased_opinion
|
||||
opinion = 5
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
gregarious = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 200
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
if = {
|
||||
limit = { is_ai = yes }
|
||||
scope:nomad = { silent_disappearance_effect = yes }
|
||||
}
|
||||
}
|
||||
}
|
||||
450
events/dlc/mpo/mpo_jamukha_flavor_events.txt
Normal file
450
events/dlc/mpo/mpo_jamukha_flavor_events.txt
Normal file
|
|
@ -0,0 +1,450 @@
|
|||
namespace = mpo_jamukha_flavor
|
||||
|
||||
#######################
|
||||
# Become Blood Brothers with Temujin
|
||||
#######################
|
||||
|
||||
mpo_jamukha_flavor.0001 = {
|
||||
type = character_event
|
||||
title = mpo_jamukha_flavor.0001.t
|
||||
desc = mpo_jamukha_flavor.0001.desc
|
||||
theme = nomads
|
||||
override_background = {
|
||||
reference = mpo_campfire_steppe
|
||||
}
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = happiness
|
||||
camera = camera_event_very_left
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:temujin
|
||||
animation = inspect_weapon
|
||||
}
|
||||
|
||||
trigger = {
|
||||
scope:temujin = {
|
||||
is_alive = yes
|
||||
NOR = {
|
||||
has_relation_blood_brother = root
|
||||
has_relation_rival = root
|
||||
}
|
||||
}
|
||||
is_alive = yes
|
||||
}
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_touching_moment"
|
||||
scope:temujin = {
|
||||
save_scope_as = blood_bro
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Yay
|
||||
name = mpo_jamukha_flavor.0001.a
|
||||
name = mpo_jamukha_flavor.0001.a.tt
|
||||
scope:temujin = {
|
||||
set_relation_blood_brother = {
|
||||
target = scope:jamukha
|
||||
reason = blood_brother_temujin_jamukha
|
||||
}
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = {
|
||||
NOR = {
|
||||
has_character_flag = had_warhorse_story
|
||||
any_owned_story = {
|
||||
story_type = story_cycle_martial_lifestyle_warhorse
|
||||
exists = var:story_cycle_horse_name
|
||||
}
|
||||
}
|
||||
scope:jamukha = {
|
||||
NOR = {
|
||||
has_character_flag = had_warhorse_story
|
||||
any_owned_story = {
|
||||
story_type = story_cycle_martial_lifestyle_warhorse
|
||||
exists = var:story_cycle_horse_name
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
custom_tooltip = temujin_warhorse_jamukha_tt
|
||||
custom_tooltip = jamukha_warhorse_jamukha_tt
|
||||
hidden_effect = {
|
||||
start_warhorse_story_cycle_effect = yes
|
||||
scope:temujin = {
|
||||
start_warhorse_story_cycle_effect = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
custom_tooltip = blood_brother_gains_hook_tt
|
||||
custom_tooltip = blood_brother_gains_hook_other_tt
|
||||
|
||||
add_character_modifier = blood_brother_warrior_modifier
|
||||
scope:temujin = {
|
||||
add_character_modifier = blood_brother_warrior_modifier
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
gregarious = medium_stress_impact_loss
|
||||
callous = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Not a chance
|
||||
name = mpo_jamukha_flavor.0001.b
|
||||
add_dread = minor_dread_gain
|
||||
add_prestige = minor_prestige_gain
|
||||
scope:temujin = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = disappointed_opinion
|
||||
opinion = -25
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_gain
|
||||
callous = medium_stress_impact_loss
|
||||
gregarious = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#######################
|
||||
# You consider breaking free from Temujin
|
||||
#######################
|
||||
|
||||
scripted_effect mpo_jamukha_flavor_0010_jamukha_leaving_effect = {
|
||||
if = {
|
||||
limit = { is_vassal_of = scope:temujin }
|
||||
create_title_and_vassal_change = {
|
||||
type = independency
|
||||
save_scope_as = change
|
||||
add_claim_on_loss = no
|
||||
}
|
||||
becomes_independent = {
|
||||
change = scope:change
|
||||
}
|
||||
resolve_title_and_vassal_change = scope:change
|
||||
}
|
||||
else = {
|
||||
end_tributary = yes
|
||||
}
|
||||
add_truce_both_ways = {
|
||||
character = scope:temujin
|
||||
years = 5
|
||||
name = temujin_jamukha_truce
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
current_military_strength < scope:temujin.current_military_strength
|
||||
}
|
||||
domicile ?= {
|
||||
change_herd = {
|
||||
value = scope:temujin.domicile.herd
|
||||
multiply = 0.5
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:togrul
|
||||
}
|
||||
show_as_tooltip = {
|
||||
custom_tooltip = negotiate_togrul_alliance_effect_tooltip
|
||||
create_alliance = {
|
||||
target = scope:togrul
|
||||
allied_through_owner = root
|
||||
allied_through_target = scope:togrul
|
||||
}
|
||||
scope:togrul = {
|
||||
add_opinion = {
|
||||
target = scope:jamukha
|
||||
modifier = event_negotiated_alliance_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
custom_tooltip = jamukha_temujin_response_warning_tt
|
||||
}
|
||||
|
||||
scripted_trigger mpo_jamukha_flavor_0010_togrul_trigger = {
|
||||
is_ai = yes
|
||||
is_at_war = no
|
||||
is_alive = yes
|
||||
is_ruler = yes
|
||||
NOR = {
|
||||
is_at_war_with = root
|
||||
has_relation_rival = root
|
||||
is_vassal_of = scope:temujin
|
||||
}
|
||||
in_diplomatic_range = root
|
||||
NOT = {
|
||||
government_has_flag = government_is_herder
|
||||
}
|
||||
}
|
||||
|
||||
mpo_jamukha_flavor.0010 = {
|
||||
type = character_event
|
||||
title = mpo_jamukha_flavor.0010.t
|
||||
desc = {
|
||||
desc = mpo_jamukha_flavor.0010.desc
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:togrul
|
||||
}
|
||||
desc = mpo_jamukha_flavor.0010.desc_togrul
|
||||
}
|
||||
}
|
||||
theme = nomads
|
||||
override_background = {
|
||||
reference = mpo_steppe_evening
|
||||
}
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = war_attacker
|
||||
camera = camera_event_very_left
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:temujin
|
||||
animation = dismissal
|
||||
camera = camera_event_very_right
|
||||
}
|
||||
lower_right_portrait = scope:togrul
|
||||
|
||||
trigger = {
|
||||
character:125501 = {
|
||||
has_variable = had_mpo_temujin_flavor_0001
|
||||
}
|
||||
is_alive = yes
|
||||
is_ruler = yes
|
||||
character:125501 = {
|
||||
is_alive = yes
|
||||
is_available = yes
|
||||
}
|
||||
OR = {
|
||||
is_vassal_of = character:125501
|
||||
is_tributary_of = character:125501
|
||||
}
|
||||
NOT = {
|
||||
is_at_war_with = character:125501
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
save_scope_as = jamukha
|
||||
character:125501 = {
|
||||
save_scope_as = temujin
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
character:303211 = {
|
||||
mpo_jamukha_flavor_0010_togrul_trigger = yes
|
||||
}
|
||||
}
|
||||
character:303211 = {
|
||||
save_scope_as = togrul
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
character:303211.house ?= {
|
||||
any_house_member = {
|
||||
mpo_jamukha_flavor_0010_togrul_trigger = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
character:303211.house ?= {
|
||||
ordered_house_member = {
|
||||
order_by = current_military_strength
|
||||
limit = {
|
||||
mpo_jamukha_flavor_0010_togrul_trigger = yes
|
||||
}
|
||||
save_scope_as = togrul
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
capital_county.empire ?= {
|
||||
ordered_de_jure_county_holder = {
|
||||
order_by = current_military_strength
|
||||
limit = {
|
||||
highest_held_title_tier <= tier_duchy
|
||||
mpo_jamukha_flavor_0010_togrul_trigger = yes
|
||||
}
|
||||
save_scope_as = togrul
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#I want to leave Temujin and take Togrul as an ally
|
||||
option = {
|
||||
name = mpo_jamukha_flavor.0010.a
|
||||
show_as_tooltip = {
|
||||
mpo_jamukha_flavor_0010_jamukha_leaving_effect = yes
|
||||
}
|
||||
scope:temujin = {
|
||||
trigger_event = mpo_temujin_flavor.0010
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = betrayal_opinion
|
||||
opinion = -40
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
#I want to stay with Temujin and be friends forever
|
||||
option = {
|
||||
name = mpo_jamukha_flavor.0010.b
|
||||
add_character_modifier = {
|
||||
modifier = jamukha_chose_loyalty_modifier
|
||||
years = 5
|
||||
}
|
||||
scope:temujin = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = loyalty_opinion
|
||||
opinion = 30
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
base = miniscule_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
|
||||
on_trigger_fail = { # Jamukha becomes your rival anyways if you've migrated away
|
||||
if = {
|
||||
limit = {
|
||||
is_independent_ruler = yes
|
||||
NOT = { is_tributary_of = scope:temujin }
|
||||
}
|
||||
hidden_effect = {
|
||||
scope:temujin = {
|
||||
trigger_event = {
|
||||
days = { 360 420 }
|
||||
id = mpo_temujin_flavor.0020
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#######################
|
||||
# Temujin becomes your rival -- now you must kill him
|
||||
#######################
|
||||
|
||||
mpo_jamukha_flavor.0020 = {
|
||||
type = character_event
|
||||
title = mpo_jamukha_flavor.0020.t
|
||||
desc = mpo_jamukha_flavor.0020.desc
|
||||
theme = nomads
|
||||
override_background = {
|
||||
reference = mpo_campfire_steppe
|
||||
}
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = threatening
|
||||
camera = camera_event_very_left
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:temujin
|
||||
animation = aggressive_sword
|
||||
outfit_tags = { nightgown }
|
||||
camera = camera_event_very_right
|
||||
}
|
||||
window = scheme_conclusion_event_no_header
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_murder"
|
||||
custom_tooltip = jamukha_temujin_no_more_positive_tt
|
||||
custom_tooltip = jamukha_temujin_rivals_tt
|
||||
custom_tooltip = mpo_temujin_flavor.0020.cb.tt
|
||||
if = {
|
||||
limit = {
|
||||
current_military_strength < scope:temujin.current_military_strength
|
||||
}
|
||||
domicile ?= {
|
||||
change_herd = {
|
||||
value = scope:temujin.domicile.herd
|
||||
multiply = 1.5
|
||||
}
|
||||
}
|
||||
add_prestige = major_prestige_gain # For MAA maintenance, mainly
|
||||
custom_tooltip = jamukha_gain_from_defectors_tt
|
||||
}
|
||||
}
|
||||
|
||||
option = { # You who I once called brother
|
||||
name = mpo_jamukha_flavor.0020.a
|
||||
reason = blood_brother
|
||||
add_internal_flag = special
|
||||
trigger = { has_character_flag = was_temujins_bro }
|
||||
custom_tooltip = {
|
||||
text = mpo_jamukha_flavor.0020.a_war_win
|
||||
set_variable = temujin_jamukha_war_var
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = temujin_jamukha_war_modifier
|
||||
years = 5
|
||||
}
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Murderrrrrrr
|
||||
name = mpo_jamukha_flavor.0020.b
|
||||
custom_tooltip = {
|
||||
text = mpo_jamukha_flavor.0020.b_murder
|
||||
set_variable = {
|
||||
name = temujin_jamukha_murder_var
|
||||
value = scope:temujin
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
deceitful = massive_stress_impact_loss
|
||||
sadistic = massive_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
|
||||
option = { # I'm going to crush your skull
|
||||
name = mpo_jamukha_flavor.0020.c
|
||||
trigger = {
|
||||
NOT = { has_relation_blood_brother = scope:jamukha }
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = temujin_jamukha_war_smaller_modifier
|
||||
years = 5
|
||||
}
|
||||
stress_impact = {
|
||||
wrathful = massive_stress_impact_loss
|
||||
vengeful = massive_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
}
|
||||
4571
events/dlc/mpo/mpo_migration_events.txt
Normal file
4571
events/dlc/mpo/mpo_migration_events.txt
Normal file
File diff suppressed because it is too large
Load diff
8959
events/dlc/mpo/mpo_nomad_events_1.txt
Normal file
8959
events/dlc/mpo/mpo_nomad_events_1.txt
Normal file
File diff suppressed because it is too large
Load diff
5740
events/dlc/mpo/mpo_nomads_flavour_events.txt
Normal file
5740
events/dlc/mpo/mpo_nomads_flavour_events.txt
Normal file
File diff suppressed because it is too large
Load diff
835
events/dlc/mpo/mpo_story_cycle_temujin_flavor_events.txt
Normal file
835
events/dlc/mpo/mpo_story_cycle_temujin_flavor_events.txt
Normal file
|
|
@ -0,0 +1,835 @@
|
|||
namespace = mpo_temujin_flavor
|
||||
|
||||
# mpo_temujin_flavor.0001 - Become Blood Brothers with Jamukha
|
||||
# mpo_temujin_flavor.0010 - Jamukha stops being your vassal
|
||||
# mpo_temujin_flavor.0020 - Jamukha becomes your rival
|
||||
# mpo_temujin_flavor.0030 - Borte announces she's pregnant
|
||||
|
||||
#######################
|
||||
# Become Blood Brothers with Jamukha
|
||||
#######################
|
||||
|
||||
mpo_temujin_flavor.0001 = {
|
||||
type = character_event
|
||||
title = mpo_temujin_flavor.0001.t
|
||||
desc = mpo_temujin_flavor.0001.desc
|
||||
theme = nomads
|
||||
override_background = {
|
||||
reference = mpo_campfire_steppe
|
||||
}
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = aggressive_dagger
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:jamukha
|
||||
animation = celebrate_dagger
|
||||
}
|
||||
|
||||
trigger = {
|
||||
NOR = {
|
||||
has_variable = had_mpo_temujin_flavor_0001
|
||||
has_variable = had_mpo_temujin_flavor_0010
|
||||
has_variable = had_mpo_temujin_flavor_0020
|
||||
}
|
||||
is_physically_able = yes
|
||||
character:mpo_mongol_1 = {
|
||||
is_alive = yes
|
||||
is_physically_able = yes
|
||||
NOR = {
|
||||
has_relation_blood_brother = root
|
||||
has_relation_rival = root
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_touching_moment"
|
||||
set_variable = had_mpo_temujin_flavor_0001
|
||||
character:mpo_mongol_1 = {
|
||||
save_scope_as = jamukha
|
||||
save_scope_as = blood_bro
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Yay
|
||||
name = mpo_temujin_flavor.0001.a
|
||||
|
||||
if = {
|
||||
limit = {
|
||||
NOR = {
|
||||
has_character_flag = had_warhorse_story
|
||||
any_owned_story = {
|
||||
story_type = story_cycle_martial_lifestyle_warhorse
|
||||
exists = var:story_cycle_horse_name
|
||||
}
|
||||
}
|
||||
scope:jamukha = {
|
||||
NOR = {
|
||||
has_character_flag = had_warhorse_story
|
||||
any_owned_story = {
|
||||
story_type = story_cycle_martial_lifestyle_warhorse
|
||||
exists = var:story_cycle_horse_name
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
custom_tooltip = temujin_warhorse_tt
|
||||
custom_tooltip = jamukha_warhorse_tt
|
||||
if = {
|
||||
limit = {
|
||||
scope:jamukha = {
|
||||
is_ai = yes
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
start_warhorse_story_cycle_effect = yes
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:jamukha = {
|
||||
is_ai = yes
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
scope:jamukha = {
|
||||
start_warhorse_story_cycle_effect = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:jamukha = {
|
||||
is_ai = yes
|
||||
}
|
||||
}
|
||||
set_relation_blood_brother = {
|
||||
target = scope:jamukha
|
||||
reason = blood_brother_temujin_jamukha
|
||||
}
|
||||
add_character_modifier = blood_brother_warrior_modifier
|
||||
scope:jamukha = {
|
||||
add_character_modifier = blood_brother_warrior_modifier
|
||||
}
|
||||
}
|
||||
else = {
|
||||
custom_tooltip = jamukha_choose_blood_brother_tt
|
||||
save_scope_as = temujin
|
||||
scope:jamukha = {
|
||||
trigger_event = mpo_jamukha_flavor.0001
|
||||
}
|
||||
show_as_tooltip = {
|
||||
add_character_modifier = blood_brother_warrior_modifier
|
||||
scope:jamukha = {
|
||||
add_character_modifier = blood_brother_warrior_modifier
|
||||
}
|
||||
}
|
||||
}
|
||||
custom_tooltip = blood_brother_gains_hook_tt
|
||||
custom_tooltip = blood_brother_gains_hook_other_tt
|
||||
|
||||
stress_impact = {
|
||||
gregarious = medium_stress_impact_loss
|
||||
callous = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Not a chance
|
||||
name = mpo_temujin_flavor.0001.b
|
||||
add_dread = minor_dread_gain
|
||||
add_prestige = minor_prestige_gain
|
||||
set_variable = rejected_jamukha_var
|
||||
scope:jamukha = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = insult_opinion
|
||||
opinion = -25
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_gain
|
||||
callous = medium_stress_impact_loss
|
||||
gregarious = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
hidden_effect = {
|
||||
scope:jamukha = {
|
||||
trigger_event = {
|
||||
days = { 180 360 }
|
||||
id = mpo_jamukha_flavor.0010
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#######################
|
||||
# Jamukha stops being your vassal
|
||||
#######################
|
||||
|
||||
scripted_effect mpo_temujin_flavor_0010_jamukha_leaving_effect = {
|
||||
if = {
|
||||
limit = { scope:jamukha = { is_vassal_of = root } }
|
||||
scope:jamukha = {
|
||||
create_title_and_vassal_change = {
|
||||
type = independency
|
||||
save_scope_as = change
|
||||
add_claim_on_loss = no
|
||||
}
|
||||
becomes_independent = {
|
||||
change = scope:change
|
||||
}
|
||||
resolve_title_and_vassal_change = scope:change
|
||||
}
|
||||
}
|
||||
else = {
|
||||
scope:jamukha = { end_tributary = yes }
|
||||
}
|
||||
add_truce_both_ways = {
|
||||
character = scope:jamukha
|
||||
years = 5
|
||||
name = temujin_jamukha_truce
|
||||
}
|
||||
hidden_effect = { # This will put him closer to Temujin
|
||||
scope:jamukha = {
|
||||
if = {
|
||||
limit = {
|
||||
current_military_strength < scope:temujin.current_military_strength
|
||||
}
|
||||
domicile ?= {
|
||||
change_herd = {
|
||||
value = scope:temujin.domicile.herd
|
||||
multiply = 0.5
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:togrul
|
||||
}
|
||||
scope:jamukha = {
|
||||
custom_tooltip = negotiate_togrul_alliance_effect_tooltip
|
||||
create_alliance = {
|
||||
target = scope:togrul
|
||||
allied_through_owner = scope:jamukha
|
||||
allied_through_target = scope:togrul
|
||||
}
|
||||
hidden_effect = {
|
||||
scope:togrul = {
|
||||
add_opinion = {
|
||||
target = scope:jamukha
|
||||
modifier = event_negotiated_alliance_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
mpo_temujin_flavor.0010 = {
|
||||
type = character_event
|
||||
title = mpo_temujin_flavor.0010.t
|
||||
desc = {
|
||||
desc = mpo_temujin_flavor.0010.desc.intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { has_variable = rejected_jamukha_var }
|
||||
desc = mpo_temujin_flavor.0010.desc.rejected
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { has_relation_blood_brother = scope:jamukha }
|
||||
desc = mpo_temujin_flavor.0010.desc.blood_brothers
|
||||
}
|
||||
desc = mpo_temujin_flavor.0010.desc.fallback
|
||||
}
|
||||
}
|
||||
theme = nomads
|
||||
override_background = {
|
||||
reference = mpo_campfire_steppe
|
||||
}
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = personality_vengeful
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:jamukha
|
||||
animation = schadenfreude
|
||||
}
|
||||
lower_right_portrait = scope:togrul
|
||||
|
||||
trigger = {
|
||||
has_variable = had_mpo_temujin_flavor_0001
|
||||
NOR = {
|
||||
has_variable = had_mpo_temujin_flavor_0010
|
||||
has_variable = had_mpo_temujin_flavor_0020
|
||||
}
|
||||
is_alive = yes
|
||||
is_ruler = yes
|
||||
character:mpo_mongol_1 = {
|
||||
is_alive = yes
|
||||
OR = {
|
||||
is_vassal_of = root
|
||||
is_tributary_of = root
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
set_variable = {
|
||||
name = had_mpo_temujin_flavor_0010
|
||||
value = character:mpo_mongol_1
|
||||
}
|
||||
character:mpo_mongol_1 = {
|
||||
save_scope_as = jamukha
|
||||
}
|
||||
mpo_temujin_flavor_0010_jamukha_leaving_effect = yes
|
||||
}
|
||||
|
||||
option = { # I will kill you
|
||||
name = mpo_temujin_flavor.0010.aa
|
||||
trigger = { dread >= 100 }
|
||||
if = {
|
||||
limit = {
|
||||
has_relation_blood_brother = scope:jamukha
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = mpo_temujin_flavor.0010.aa_remove_blood_brother
|
||||
remove_relation_blood_brother = scope:jamukha
|
||||
}
|
||||
}
|
||||
scope:jamukha = {
|
||||
add_dread = major_dread_loss
|
||||
add_prestige = medium_prestige_loss
|
||||
}
|
||||
every_vassal = {
|
||||
limit = {
|
||||
has_vassal_stance = belligerent
|
||||
is_obedient = no
|
||||
}
|
||||
custom = every_belligerent_vassal
|
||||
add_opinion = {
|
||||
modifier = obedience_opinion
|
||||
target = root
|
||||
}
|
||||
}
|
||||
every_courtier = {
|
||||
limit = {
|
||||
is_obedient = no
|
||||
NOR = {
|
||||
has_trait = brave
|
||||
has_trait = compassionate
|
||||
}
|
||||
}
|
||||
custom = every_non_brave_compassionate_courtier
|
||||
add_opinion = {
|
||||
modifier = obedience_opinion
|
||||
target = root
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
gregarious = medium_stress_impact_loss
|
||||
callous = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Look at this clown
|
||||
name = mpo_temujin_flavor.0010.a
|
||||
duel = {
|
||||
skill = diplomacy
|
||||
target = scope:jamukha
|
||||
50 = { # Your people are impressed
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3.5
|
||||
min = -49
|
||||
}
|
||||
min = 5
|
||||
desc = mpo_temujin_flavor.0010.a.tt.success
|
||||
send_interface_toast = {
|
||||
title = mpo_temujin_flavor.0010.a.tt.success
|
||||
left_icon = root
|
||||
right_icon = scope:jamukha
|
||||
add_prestige = medium_prestige_gain
|
||||
scope:jamukha = { add_prestige = medium_prestige_loss }
|
||||
}
|
||||
}
|
||||
50 = { # No one is impressed
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3.5
|
||||
min = -49
|
||||
}
|
||||
min = 5
|
||||
desc = mpo_temujin_flavor.0010.a.tt.failure
|
||||
send_interface_toast = {
|
||||
title = mpo_temujin_flavor.0010.a.tt.failure
|
||||
left_icon = root
|
||||
add_prestige = minor_prestige_loss
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
gregarious = medium_stress_impact_loss
|
||||
callous = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Try to force him to stay
|
||||
name = mpo_temujin_flavor.0010.b
|
||||
add_dread = minor_dread_gain
|
||||
scope:jamukha = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = hurt_opinion
|
||||
opinion = -30
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
callous = medium_stress_impact_loss
|
||||
gregarious = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Let him go
|
||||
name = mpo_temujin_flavor.0010.c
|
||||
scope:jamukha = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = grateful_opinion
|
||||
opinion = 20
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
generous = medium_stress_impact_loss
|
||||
callous = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
hidden_effect = {
|
||||
trigger_event = {
|
||||
days = { 360 420 }
|
||||
id = mpo_temujin_flavor.0020
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#######################
|
||||
# Jamukha becomes your rival -- now you must kill him
|
||||
#######################
|
||||
|
||||
mpo_temujin_flavor.0020 = {
|
||||
type = character_event
|
||||
title = mpo_temujin_flavor.0020.t
|
||||
desc = {
|
||||
desc = mpo_temujin_flavor.0020.desc.intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { has_relation_blood_brother = scope:jamukha }
|
||||
desc = mpo_temujin_flavor.0020.desc.blood_brothers
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { has_relation_friend = scope:jamukha }
|
||||
desc = mpo_temujin_flavor.0020.desc.friend
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { has_relation_rival = scope:jamukha }
|
||||
desc = mpo_temujin_flavor.0020.desc.rival
|
||||
}
|
||||
desc = mpo_temujin_flavor.0020.desc.fallback
|
||||
}
|
||||
desc = mpo_temujin_flavor.0020.desc.outro
|
||||
}
|
||||
theme = nomads
|
||||
override_background = {
|
||||
reference = mpo_campfire_steppe
|
||||
}
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = anger
|
||||
outfit_tags = { nightgown }
|
||||
camera = camera_event_very_left
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:jamukha
|
||||
animation = horse_conversing_left
|
||||
camera = camera_event_horse_right
|
||||
}
|
||||
window = scheme_conclusion_event_no_header
|
||||
|
||||
trigger = {
|
||||
NOT = { has_variable = had_mpo_temujin_flavor_0020 }
|
||||
OR = {
|
||||
has_variable = had_mpo_temujin_flavor_0010
|
||||
AND = {
|
||||
NOT = { has_variable = had_mpo_temujin_flavor_0010 }
|
||||
character:mpo_mongol_1 = {
|
||||
NOR = {
|
||||
is_vassal_of = root
|
||||
is_tributary = root
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
is_alive = yes
|
||||
is_ruler = yes
|
||||
character:mpo_mongol_1 = {
|
||||
is_alive = yes
|
||||
in_diplomatic_range = root
|
||||
is_ruler = yes
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
save_scope_as = temujin
|
||||
play_music_cue = "mx_cue_murder"
|
||||
set_variable = {
|
||||
name = had_mpo_temujin_flavor_0020
|
||||
value = character:mpo_mongol_1
|
||||
}
|
||||
character:mpo_mongol_1 = {
|
||||
save_scope_as = jamukha
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
current_military_strength < scope:jamukha.current_military_strength
|
||||
}
|
||||
domicile ?= {
|
||||
change_herd = {
|
||||
value = scope:jamukha.domicile.herd
|
||||
multiply = 1.5
|
||||
}
|
||||
}
|
||||
add_prestige = major_prestige_gain # For MAA maintenance, mainly
|
||||
custom_tooltip = temujin_gain_from_defectors_tt
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
has_relation_blood_brother = scope:jamukha
|
||||
}
|
||||
scope:jamukha = {
|
||||
add_character_flag = {
|
||||
flag = was_temujins_bro
|
||||
years = 30
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # You who I once called brother
|
||||
name = mpo_temujin_flavor.0020.a
|
||||
reason = blood_brother
|
||||
add_internal_flag = special
|
||||
trigger = { has_relation_blood_brother = scope:jamukha }
|
||||
custom_tooltip = {
|
||||
text = mpo_temujin_flavor.0020.a_war_win
|
||||
set_variable = temujin_jamukha_war_var
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = temujin_jamukha_war_modifier
|
||||
years = 5
|
||||
}
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Murderrrrrrr
|
||||
name = mpo_temujin_flavor.0020.b
|
||||
custom_tooltip = {
|
||||
text = mpo_temujin_flavor.0020.b_murder
|
||||
set_variable = {
|
||||
name = temujin_jamukha_murder_var
|
||||
value = scope:jamukha
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
deceitful = massive_stress_impact_loss
|
||||
sadistic = massive_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
|
||||
option = { # I'm going to crush your skull
|
||||
name = mpo_temujin_flavor.0020.c
|
||||
trigger = {
|
||||
NOT = { has_relation_blood_brother = scope:jamukha }
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = temujin_jamukha_war_smaller_modifier
|
||||
years = 5
|
||||
}
|
||||
stress_impact = {
|
||||
wrathful = massive_stress_impact_loss
|
||||
vengeful = massive_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
if = { # Remove hooks
|
||||
limit = {
|
||||
scope:jamukha = {
|
||||
has_hook = root
|
||||
}
|
||||
}
|
||||
scope:jamukha = { remove_hook = { target = root } }
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
has_hook = scope:jamukha
|
||||
}
|
||||
remove_hook = { target = scope:jamukha }
|
||||
}
|
||||
if = { # Remove Truce
|
||||
limit = {
|
||||
any_truce_target = { this = scope:jamukha }
|
||||
}
|
||||
cancel_truce_both_ways = scope:jamukha
|
||||
}
|
||||
custom_tooltip = mpo_temujin_flavor.0020.jamukha_gok_requirement
|
||||
if = {
|
||||
limit = { has_relation_blood_brother = scope:jamukha }
|
||||
custom_tooltip = {
|
||||
text = mpo_temujin_flavor.0010.aa_remove_blood_brother
|
||||
remove_relation_blood_brother = scope:jamukha
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_relation_friend = scope:jamukha }
|
||||
custom_tooltip = {
|
||||
text = mpo_temujin_flavor.0020.remove_friend
|
||||
remove_relation_friend = scope:jamukha
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = { NOT = { has_relation_rival = scope:jamukha } }
|
||||
set_relation_rival = {
|
||||
target = scope:jamukha
|
||||
reason = rival_temujin_jamukha
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_relation_rival = scope:jamukha }
|
||||
set_relation_nemesis = {
|
||||
target = scope:jamukha
|
||||
reason = rival_temujin_jamukha
|
||||
}
|
||||
}
|
||||
else = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = hate_opinion
|
||||
opinion = -100
|
||||
}
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = mpo_temujin_flavor.0020.cb.tt
|
||||
add_to_variable_list = {
|
||||
name = retaliation_cb_var_list
|
||||
target = scope:jamukha
|
||||
}
|
||||
scope:jamukha = {
|
||||
add_to_variable_list = {
|
||||
name = retaliation_cb_var_list
|
||||
target = root
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:jamukha = {
|
||||
trigger_event = mpo_jamukha_flavor.0020
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#######################
|
||||
# Borte announces she's pregnant
|
||||
#######################
|
||||
mpo_temujin_flavor.0030 = {
|
||||
type = character_event
|
||||
title = mpo_temujin_flavor.0030.t
|
||||
desc = mpo_temujin_flavor.0030.desc
|
||||
theme = pregnancy
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = anger
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:borte
|
||||
animation = worry
|
||||
}
|
||||
lower_right_portrait = scope:mergid
|
||||
|
||||
trigger = {
|
||||
NOT = { has_variable = had_mpo_temujin_flavor_0030 } # To make sure it triggers even if you migrate straight away and lose the event time window
|
||||
character:172004 = {
|
||||
is_alive = yes
|
||||
is_spouse_of = root
|
||||
is_pregnant = no
|
||||
}
|
||||
any_neighboring_top_liege_realm_owner = {
|
||||
NOT = { has_relation_rival = root }
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_personal_negative"
|
||||
set_variable = had_mpo_temujin_flavor_0030
|
||||
character:172004 = {
|
||||
save_scope_as = borte
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
character:303116 = {
|
||||
is_alive = yes
|
||||
NOT = { has_relation_rival = root }
|
||||
}
|
||||
}
|
||||
character:303116 = {
|
||||
save_scope_as = mergid
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
any_ruler = {
|
||||
dynasty = dynasty:2001144
|
||||
NOT = { has_relation_rival = root }
|
||||
}
|
||||
}
|
||||
random_ruler = {
|
||||
limit = {
|
||||
dynasty = dynasty:2001144
|
||||
NOT = { has_relation_rival = root }
|
||||
}
|
||||
save_scope_as = mergid
|
||||
}
|
||||
}
|
||||
else = {
|
||||
random_neighboring_top_liege_realm_owner = {
|
||||
limit = { NOT = { has_relation_rival = root } }
|
||||
save_scope_as = mergid
|
||||
}
|
||||
}
|
||||
scope:borte = {
|
||||
custom_tooltip = mpo_temujin_flavor.0030.pregnancy_tt
|
||||
hidden_effect = {
|
||||
make_pregnant = {
|
||||
father = scope:mergid
|
||||
}
|
||||
}
|
||||
set_variable = borte_first_child_var
|
||||
}
|
||||
}
|
||||
|
||||
option = { # I hate those guys
|
||||
name = mpo_temujin_flavor.0030.a
|
||||
set_relation_rival = {
|
||||
target = scope:mergid
|
||||
reason = rival_temujin_mergid
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = mpo_temujin_flavor.0030.a.tt
|
||||
add_to_variable_list = {
|
||||
name = retaliation_cb_var_list
|
||||
target = scope:mergid
|
||||
}
|
||||
}
|
||||
add_dread = medium_dread_gain
|
||||
stress_impact = {
|
||||
vengeful = major_stress_impact_loss
|
||||
compassionate = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 0 # To prevent AI Temüjin from being murdered immediately
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Let's forget about that, you are more important
|
||||
name = mpo_temujin_flavor.0030.b
|
||||
if = {
|
||||
limit = {
|
||||
NOT = { has_relation_lover = scope:borte }
|
||||
}
|
||||
set_relation_lover = {
|
||||
target = scope:borte
|
||||
reason = lover_temujin_borte
|
||||
}
|
||||
}
|
||||
else = {
|
||||
scope:borte = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = grateful_opinion
|
||||
opinion = 20
|
||||
}
|
||||
}
|
||||
}
|
||||
set_relation_wedding_very_good_fertility = scope:borte
|
||||
stress_impact = {
|
||||
compassionate = major_stress_impact_loss
|
||||
vengeful = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # I could not care less
|
||||
name = mpo_temujin_flavor.0030.c
|
||||
scope:borte = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = upset_opinion
|
||||
opinion = -25
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
callous = major_stress_impact_loss
|
||||
compassionate = major_stress_impact_gain
|
||||
vengeful = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
1305
events/dlc/tgp/tgp_ceremonial_liege_events.txt
Normal file
1305
events/dlc/tgp/tgp_ceremonial_liege_events.txt
Normal file
File diff suppressed because it is too large
Load diff
8001
events/dlc/tgp/tgp_child_personality_events.txt
Normal file
8001
events/dlc/tgp/tgp_child_personality_events.txt
Normal file
File diff suppressed because it is too large
Load diff
495
events/dlc/tgp/tgp_china_career_events.txt
Normal file
495
events/dlc/tgp/tgp_china_career_events.txt
Normal file
|
|
@ -0,0 +1,495 @@
|
|||
###################################
|
||||
# CHINA CAREER EVENTS
|
||||
###################################
|
||||
namespace = tgp_china_career
|
||||
|
||||
### EVENT LIST ####################################################################
|
||||
## 0001 - Celestial Intro Event
|
||||
## 0010 - A Meritorious Path
|
||||
## 0020 - Hidden event for merit gain on succession
|
||||
###################################################################################
|
||||
|
||||
# Intro Event - Who are you playing as and what is your situation
|
||||
# Also acts as an introduction if you become a noble family in China
|
||||
tgp_china_career.0001 = {
|
||||
type = character_event
|
||||
title = tgp_china_career.0001.t
|
||||
desc = {
|
||||
desc = tgp_china_career.0001.desc
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { tgp_is_any_minister = yes }
|
||||
desc = tgp_china_career.0001.minister_desc
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { is_landed = yes }
|
||||
desc = tgp_china_career.0001.landed_desc
|
||||
}
|
||||
desc = tgp_china_career.0001.unlanded_desc
|
||||
}
|
||||
}
|
||||
theme = merit
|
||||
override_background = {
|
||||
trigger = {
|
||||
OR = {
|
||||
vassal_contract_has_flag = celestial_province_military
|
||||
vassal_contract_has_flag = celestial_province_protectorate
|
||||
}
|
||||
}
|
||||
reference = courtyard
|
||||
}
|
||||
left_portrait = {
|
||||
character = root
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
OR = {
|
||||
vassal_contract_has_flag = celestial_province_military
|
||||
vassal_contract_has_flag = celestial_province_protectorate
|
||||
}
|
||||
}
|
||||
animation = relaxed_spear
|
||||
}
|
||||
animation = reading
|
||||
}
|
||||
|
||||
cooldown = { days = 1 }
|
||||
|
||||
trigger = {
|
||||
exists = top_liege
|
||||
this != top_liege
|
||||
top_liege = {
|
||||
government_has_flag = government_is_celestial
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
# Scopes
|
||||
save_scope_as = new_ruler
|
||||
house ?= { save_scope_as = ruler_family }
|
||||
top_liege = { save_scope_as = emperor }
|
||||
if = {
|
||||
limit = { tgp_is_any_minister = yes }
|
||||
primary_title = { save_scope_as = minister_title }
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = tgp_china_career.0001.a
|
||||
add_character_modifier = {
|
||||
modifier = tgp_merit_boost_modifier
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = tgp_china_career.0001.b
|
||||
add_character_modifier = {
|
||||
modifier = tgp_influence_boost_modifier
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# A Meritorious Path - You advanced/gained a merit rank
|
||||
tgp_china_career.0010 = {
|
||||
type = character_event
|
||||
title = tgp_china_career.0010.t
|
||||
desc = {
|
||||
# Intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { merit_level = 1 }
|
||||
desc = tgp_china_career.0010.first_rank_desc
|
||||
}
|
||||
desc = tgp_china_career.0010.higher_rank_desc
|
||||
}
|
||||
# Additional descs for ranks granting access to new tiers
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { merit_level = 2 }
|
||||
desc = tgp_china_career.0010.duchy_desc
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
merit_level = 5 # This is the highest rank for Meritocratic
|
||||
government_has_flag = government_is_celestial
|
||||
}
|
||||
desc = tgp_china_career.0010.kingdom_desc
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { merit_level = 7 }
|
||||
desc = tgp_china_career.0010.empire_desc
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { has_highest_merit_rank = yes }
|
||||
desc = tgp_china_career.0010.highest_rank
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
OR = {
|
||||
merit_level = 3
|
||||
merit_level = 4
|
||||
merit_level = 6
|
||||
merit_level = 8
|
||||
}
|
||||
}
|
||||
desc = tgp_china_career.0010.higher_rank_unspecific
|
||||
}
|
||||
}
|
||||
}
|
||||
theme = merit
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = reading
|
||||
}
|
||||
|
||||
# To prevent you from getting multiple events in case you gain several ranks
|
||||
cooldown = { days = 30 }
|
||||
|
||||
trigger = {
|
||||
}
|
||||
|
||||
immediate = {
|
||||
# Scopes
|
||||
save_scope_as = merit_char
|
||||
}
|
||||
|
||||
option = {
|
||||
trigger = { NOT = { merit_level = 1 } }
|
||||
name = tgp_china_career.0010.aa
|
||||
add_character_modifier = {
|
||||
modifier = tgp_higher_ambitions_modifier
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
trigger = { NOT = { merit_level = 1 } }
|
||||
name = tgp_china_career.0010.a
|
||||
add_stress = miniscule_stress_loss
|
||||
if = {
|
||||
limit = {
|
||||
has_character_modifier = tgp_higher_ambitions_modifier
|
||||
}
|
||||
remove_character_modifier = tgp_higher_ambitions_modifier
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Option for a civil career if you reach your first Merit Rank
|
||||
trigger = { merit_level = 1 }
|
||||
name = {
|
||||
trigger = {
|
||||
trigger_if = {
|
||||
limit = {
|
||||
has_variable = appointment_trait_override
|
||||
}
|
||||
var:appointment_trait_override != trait:education_stewardship_1
|
||||
}
|
||||
trigger_else = {
|
||||
NOT = { has_trait_with_flag = civilian_province }
|
||||
}
|
||||
}
|
||||
text = tgp_china_career.0010.b1
|
||||
}
|
||||
name = {
|
||||
trigger = {
|
||||
trigger_if = {
|
||||
limit = {
|
||||
has_variable = appointment_trait_override
|
||||
}
|
||||
var:appointment_trait_override = trait:education_stewardship_1
|
||||
}
|
||||
trigger_else = {
|
||||
has_trait_with_flag = civilian_province
|
||||
}
|
||||
}
|
||||
text = tgp_china_career.0010.b2
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = {
|
||||
trigger_if = {
|
||||
limit = {
|
||||
has_variable = appointment_trait_override
|
||||
}
|
||||
var:appointment_trait_override != trait:education_stewardship_1
|
||||
}
|
||||
trigger_else = {
|
||||
NOT = { has_trait_with_flag = civilian_province }
|
||||
}
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = change_to_civilian_career_desc
|
||||
set_variable = {
|
||||
name = appointment_trait_override
|
||||
value = trait:education_stewardship_1
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
custom_tooltip = keep_civilian_career_desc
|
||||
}
|
||||
add_stress = miniscule_stress_loss
|
||||
}
|
||||
|
||||
option = { # Option for a military career if you reach your first Merit Rank
|
||||
trigger = { merit_level = 1 }
|
||||
name = {
|
||||
trigger = {
|
||||
trigger_if = {
|
||||
limit = {
|
||||
has_variable = appointment_trait_override
|
||||
}
|
||||
var:appointment_trait_override != trait:education_martial_1
|
||||
}
|
||||
trigger_else = {
|
||||
NOT = { has_trait_with_flag = military_province }
|
||||
}
|
||||
}
|
||||
text = tgp_china_career.0010.c1
|
||||
}
|
||||
name = {
|
||||
trigger = {
|
||||
trigger_if = {
|
||||
limit = {
|
||||
has_variable = appointment_trait_override
|
||||
}
|
||||
var:appointment_trait_override = trait:education_martial_1
|
||||
}
|
||||
trigger_else = {
|
||||
has_trait_with_flag = military_province
|
||||
}
|
||||
}
|
||||
text = tgp_china_career.0010.c2
|
||||
}
|
||||
|
||||
if = {
|
||||
limit = {
|
||||
trigger_if = {
|
||||
limit = {
|
||||
has_variable = appointment_trait_override
|
||||
}
|
||||
var:appointment_trait_override != trait:education_martial_1
|
||||
}
|
||||
trigger_else = {
|
||||
NOT = { has_trait_with_flag = military_province }
|
||||
}
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = change_to_military_career_desc
|
||||
set_variable = {
|
||||
name = appointment_trait_override
|
||||
value = trait:education_martial_1
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
custom_tooltip = keep_military_career_desc
|
||||
}
|
||||
add_stress = miniscule_stress_loss
|
||||
}
|
||||
}
|
||||
|
||||
# Hidden event for merit gain on succession
|
||||
tgp_china_career.0020 = {
|
||||
hidden = yes
|
||||
|
||||
immediate = {
|
||||
send_interface_toast = {
|
||||
type = event_toast_effect_good
|
||||
title = merit_gained_on_succession
|
||||
left_icon = scope:meritorious_parent
|
||||
|
||||
change_merit = {
|
||||
value = scope:meritorious_parent_merit
|
||||
multiply = {
|
||||
value = 0
|
||||
house ?= {
|
||||
if = {
|
||||
limit = { has_house_aspiration_parameter = inherit_merit_bonus_4 }
|
||||
add = merit_gain_on_succession_4_value
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_house_aspiration_parameter = inherit_merit_bonus_3 }
|
||||
add = merit_gain_on_succession_3_value
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_house_aspiration_parameter = inherit_merit_bonus_2 }
|
||||
add = merit_gain_on_succession_2_value
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_house_aspiration_parameter = inherit_merit_bonus_1 }
|
||||
add = merit_gain_on_succession_1_value
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Your Elder has died
|
||||
tgp_china_career.0030 = {
|
||||
type = character_event
|
||||
title = tgp_china_career.0030.t
|
||||
desc = tgp_china_career.0030.desc
|
||||
|
||||
theme = death
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = grief
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = scope:deceased_elder
|
||||
animation = dead
|
||||
}
|
||||
|
||||
lower_left_portrait = {
|
||||
character = scope:superior_fellow_disciple
|
||||
animation = map_disbelief
|
||||
}
|
||||
|
||||
lower_right_portrait = {
|
||||
character = scope:benchmark_new_disciple
|
||||
animation = disappointed
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
num_of_relation_disciple < disciples_limit_value
|
||||
any_in_list = {
|
||||
list = potential_new_disciples
|
||||
count >= 1
|
||||
}
|
||||
}
|
||||
while = {
|
||||
limit = {
|
||||
num_of_relation_disciple < disciples_limit_value
|
||||
any_in_list = {
|
||||
list = potential_new_disciples
|
||||
count >= 1
|
||||
NOT = {
|
||||
is_in_list = new_disciples
|
||||
}
|
||||
}
|
||||
}
|
||||
random_in_list = {
|
||||
list = potential_new_disciples
|
||||
limit = {
|
||||
NOT = {
|
||||
has_relation_elder = root
|
||||
}
|
||||
}
|
||||
add_to_list = new_disciples # for the tooltip
|
||||
}
|
||||
}
|
||||
random_in_list = {
|
||||
list = potential_new_disciples
|
||||
save_scope_as = benchmark_new_disciple
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = tgp_china_career.0030.a
|
||||
|
||||
custom_tooltip = {
|
||||
text = tgp_china_career.0030.a.tt
|
||||
open_interaction_window = {
|
||||
interaction = find_elder_interaction
|
||||
actor = root
|
||||
recipient = top_liege
|
||||
}
|
||||
}
|
||||
}
|
||||
option = {
|
||||
name = tgp_china_career.0030.b
|
||||
|
||||
trigger = {
|
||||
exists = scope:deceased_elder.house.house_head
|
||||
this != scope:deceased_elder.house.house_head
|
||||
}
|
||||
|
||||
pay_short_term_gold = {
|
||||
target = scope:deceased_elder.house.house_head
|
||||
gold = medium_gold_value
|
||||
}
|
||||
|
||||
scope:deceased_elder.house = {
|
||||
change_house_relation_effect = {
|
||||
HOUSE = root.house
|
||||
VALUE = house_relation_improve_minor_value
|
||||
REASON = disciple_sent_condolences
|
||||
CHAR = root
|
||||
TARGET_CHAR = scope:deceased_elder
|
||||
TITLE = scope:dummy_gender
|
||||
}
|
||||
}
|
||||
|
||||
change_merit = minor_merit_gain
|
||||
|
||||
add_piety = minor_piety_gain
|
||||
|
||||
ai_chance = {
|
||||
base = 0 # player only
|
||||
}
|
||||
}
|
||||
option = {
|
||||
name = tgp_china_career.0030.c
|
||||
|
||||
trigger = {
|
||||
exists = scope:superior_fellow_disciple
|
||||
scope:superior_fellow_disciple = {
|
||||
opinion = {
|
||||
target = root
|
||||
value >= -10
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
set_elder_relation_effect = {
|
||||
ELDER = scope:superior_fellow_disciple
|
||||
DISCIPLE = root
|
||||
MERIT = medium_merit_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 0 # player only
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = tgp_china_career.0030.d
|
||||
|
||||
trigger = {
|
||||
any_in_list = {
|
||||
list = new_disciples
|
||||
count >= 1
|
||||
}
|
||||
}
|
||||
|
||||
every_in_list = {
|
||||
list = new_disciples
|
||||
set_elder_relation_effect = {
|
||||
ELDER = root
|
||||
DISCIPLE = this
|
||||
MERIT = 0
|
||||
}
|
||||
}
|
||||
|
||||
change_merit = {
|
||||
value = 0
|
||||
add = {
|
||||
value = medium_merit_gain
|
||||
multiply = list_size:new_disciples
|
||||
}
|
||||
}
|
||||
|
||||
add_prestige = minor_prestige_value
|
||||
|
||||
ai_chance = {
|
||||
base = 0 # player only
|
||||
}
|
||||
}
|
||||
}
|
||||
698
events/dlc/tgp/tgp_china_decision_events.txt
Normal file
698
events/dlc/tgp/tgp_china_decision_events.txt
Normal file
|
|
@ -0,0 +1,698 @@
|
|||
namespace = tgp_china_decision
|
||||
|
||||
scripted_effect set_up_local_examiner_effect = {
|
||||
top_liege = { save_scope_as = hegemon }
|
||||
scope:hegemon = {
|
||||
if = {
|
||||
limit = {
|
||||
any_vassal_or_below = {
|
||||
NOT = { this = root }
|
||||
has_trait = governor
|
||||
is_available = yes
|
||||
capital_county = root.domicile.domicile_location.county
|
||||
}
|
||||
}
|
||||
random_vassal_or_below = {
|
||||
limit = {
|
||||
NOT = { this = root }
|
||||
has_trait = governor
|
||||
is_available = yes
|
||||
capital_county = root.domicile.domicile_location.county
|
||||
}
|
||||
save_scope_as = examiner
|
||||
}
|
||||
}
|
||||
else = {
|
||||
create_character = {
|
||||
template = tgp_learning_exam_entrant_template
|
||||
age = { 33 79 }
|
||||
location = root.location
|
||||
faith = scope:hegemon.faith
|
||||
culture = scope:hegemon.culture
|
||||
gender_female_chance = {
|
||||
if = {
|
||||
limit = { scope:hegemon.faith = { has_doctrine = doctrine_gender_male_dominated } }
|
||||
add = 0
|
||||
}
|
||||
else_if = {
|
||||
limit = { scope:hegemon.faith = { has_doctrine = doctrine_gender_female_dominated } }
|
||||
add = 100
|
||||
}
|
||||
else = {
|
||||
add = 50
|
||||
}
|
||||
}
|
||||
save_scope_as = examiner
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:examiner = {
|
||||
hidden_effect = {
|
||||
add_trait = governor
|
||||
change_merit = massive_merit_value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tgp_china_decision.1000 = {
|
||||
type = character_event
|
||||
title = tgp_china_decision.1000.t
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { has_character_flag = failed_child_exam }
|
||||
desc = tgp_china_decision.1000.desc_returning
|
||||
}
|
||||
desc = tgp_china_decision.1000.desc_new
|
||||
}
|
||||
desc = tgp_china_decision.1000.desc_outro
|
||||
}
|
||||
|
||||
theme = imperial_examination
|
||||
override_background = { reference = study }
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = worry
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = scope:examiner
|
||||
animation = happy_teacher
|
||||
}
|
||||
|
||||
immediate = {
|
||||
set_variable = {
|
||||
name = child_examination_success_chance
|
||||
value = child_examination_success_chance_value
|
||||
}
|
||||
set_up_local_examiner_effect = yes
|
||||
}
|
||||
|
||||
widget = { gui = "child_examination_success_chance" container = "custom_widgets_container" }
|
||||
|
||||
option = { # Recite classics
|
||||
name = tgp_china_decision.1000.a
|
||||
duel = {
|
||||
skill = learning
|
||||
value = 1
|
||||
50 = { # You succeed
|
||||
desc = provincial_exam_success
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = tgp_local_exam_initial_success
|
||||
years = 12
|
||||
}
|
||||
custom_tooltip = examination_success_increase_medium_tt
|
||||
}
|
||||
50 = { # You fail
|
||||
desc = provincial_exam_duel_fail
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3
|
||||
}
|
||||
stress_impact = { base = medium_stress_impact_gain }
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_boldness = 1
|
||||
ai_energy = 1
|
||||
}
|
||||
modifier = {
|
||||
add = 20
|
||||
learning > medium_skill_rating
|
||||
}
|
||||
modifier = {
|
||||
add = 40
|
||||
has_trait = ambitious
|
||||
}
|
||||
modifier = {
|
||||
add = -40
|
||||
OR = {
|
||||
has_trait = content
|
||||
has_trait = lazy
|
||||
has_trait = craven
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Play it safe
|
||||
name = tgp_china_decision.1000.b
|
||||
custom_tooltip = examination_success_increase_miniscule_tt
|
||||
# Use this var to track score
|
||||
change_variable = {
|
||||
name = safe_bets
|
||||
add = 1
|
||||
}
|
||||
add_character_flag = safe_start
|
||||
add_prestige = miniscule_prestige_loss
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
add = 40
|
||||
OR = {
|
||||
has_trait = content
|
||||
has_trait = lazy
|
||||
has_trait = craven
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 40
|
||||
stress_level < 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
trigger_event = tgp_china_decision.1001
|
||||
}
|
||||
}
|
||||
|
||||
tgp_china_decision.1001 = {
|
||||
type = character_event
|
||||
title = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
OR = {
|
||||
has_character_modifier = tgp_local_exam_initial_success
|
||||
has_character_flag = safe_start
|
||||
}
|
||||
}
|
||||
desc = tgp_china_decision.1001.t_success
|
||||
}
|
||||
desc = tgp_china_decision.1001.t_fail
|
||||
}
|
||||
}
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_modifier = tgp_local_exam_initial_success
|
||||
}
|
||||
desc = tgp_china_decision.1001.desc_success
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
var:safe_bets = 1
|
||||
}
|
||||
desc = tgp_china_decision.1001.desc_safe
|
||||
}
|
||||
desc = tgp_china_decision.1001.desc_fail
|
||||
}
|
||||
desc = tgp_china_decision.1001.desc_outro
|
||||
}
|
||||
|
||||
theme = imperial_examination
|
||||
override_background = { reference = study }
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
has_character_modifier = tgp_local_exam_initial_success
|
||||
}
|
||||
animation = personality_bold
|
||||
}
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
var:safe_bets = 1
|
||||
}
|
||||
animation = shame
|
||||
}
|
||||
animation = disappointed
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = scope:examiner
|
||||
animation = happy_teacher
|
||||
}
|
||||
|
||||
immediate = {
|
||||
set_variable = {
|
||||
name = child_examination_success_chance
|
||||
value = child_examination_success_chance_value
|
||||
}
|
||||
}
|
||||
|
||||
widget = { gui = "child_examination_success_chance" container = "custom_widgets_container" }
|
||||
|
||||
option = { # Recite classics
|
||||
name = tgp_china_decision.1001.a
|
||||
duel = {
|
||||
skill = learning
|
||||
value = 1
|
||||
40 = { # You succeed
|
||||
desc = provincial_exam_success
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = tgp_local_exam_impressed_examiner
|
||||
years = 12
|
||||
}
|
||||
custom_tooltip = examination_success_increase_major_tt
|
||||
}
|
||||
60 = { # You fail
|
||||
desc = provincial_exam_duel_fail
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3
|
||||
}
|
||||
stress_impact = { base = medium_stress_impact_gain }
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_boldness = 1
|
||||
ai_energy = 1
|
||||
}
|
||||
modifier = {
|
||||
add = 20
|
||||
learning > medium_skill_rating
|
||||
}
|
||||
modifier = {
|
||||
add = 40
|
||||
has_trait = ambitious
|
||||
}
|
||||
modifier = {
|
||||
add = -40
|
||||
OR = {
|
||||
has_trait = content
|
||||
has_trait = lazy
|
||||
has_trait = craven
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Play it safe
|
||||
name = tgp_china_decision.1001.b
|
||||
custom_tooltip = examination_success_increase_miniscule_tt
|
||||
# Use this var to track score
|
||||
change_variable = {
|
||||
name = safe_bets
|
||||
add = 1
|
||||
}
|
||||
# Use this flag for loc only
|
||||
add_character_flag = safe_midpoint
|
||||
add_prestige = miniscule_prestige_loss
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
add = 40
|
||||
OR = {
|
||||
has_trait = content
|
||||
has_trait = lazy
|
||||
has_trait = craven
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 40
|
||||
stress_level < 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
trigger_event = tgp_china_decision.1002
|
||||
}
|
||||
}
|
||||
|
||||
tgp_china_decision.1002 = {
|
||||
type = character_event
|
||||
title = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
OR = {
|
||||
has_character_modifier = tgp_local_exam_impressed_examiner
|
||||
has_character_flag = safe_midpoint
|
||||
}
|
||||
}
|
||||
desc = tgp_china_decision.1002.t_success
|
||||
}
|
||||
desc = tgp_china_decision.1002.t_fail
|
||||
}
|
||||
}
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_modifier = tgp_local_exam_impressed_examiner
|
||||
}
|
||||
desc = tgp_china_decision.1002.desc_success
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = safe_midpoint
|
||||
}
|
||||
desc = tgp_china_decision.1002.desc_safe
|
||||
}
|
||||
desc = tgp_china_decision.1002.desc_fail
|
||||
}
|
||||
desc = tgp_china_decision.1002.desc_outro
|
||||
}
|
||||
|
||||
theme = imperial_examination
|
||||
override_background = { reference = study }
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
has_character_modifier = tgp_local_exam_impressed_examiner
|
||||
}
|
||||
animation = happiness
|
||||
}
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
has_character_flag = safe_midpoint
|
||||
}
|
||||
animation = shame
|
||||
}
|
||||
animation = stress
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = scope:examiner
|
||||
animation = happy_teacher
|
||||
}
|
||||
|
||||
immediate = {
|
||||
set_variable = {
|
||||
name = child_examination_success_chance
|
||||
value = child_examination_success_chance_value
|
||||
}
|
||||
}
|
||||
|
||||
widget = { gui = "child_examination_success_chance" container = "custom_widgets_container" }
|
||||
|
||||
option = { # Recite classics
|
||||
name = tgp_china_decision.1002.a
|
||||
duel = {
|
||||
skill = learning
|
||||
value = 1
|
||||
30 = { # You succeed
|
||||
desc = provincial_exam_success
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 3
|
||||
}
|
||||
add_character_modifier = {
|
||||
modifier = tgp_local_exam_strong_finish
|
||||
years = 12
|
||||
}
|
||||
custom_tooltip = examination_success_increase_massive_tt
|
||||
}
|
||||
70 = { # You fail
|
||||
desc = provincial_exam_duel_fail
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -3
|
||||
}
|
||||
stress_impact = { base = medium_stress_impact_gain }
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_boldness = 1
|
||||
ai_energy = 1
|
||||
}
|
||||
modifier = {
|
||||
add = 20
|
||||
learning > medium_skill_rating
|
||||
}
|
||||
modifier = {
|
||||
add = 40
|
||||
has_trait = ambitious
|
||||
}
|
||||
modifier = {
|
||||
add = -40
|
||||
OR = {
|
||||
has_trait = content
|
||||
has_trait = lazy
|
||||
has_trait = craven
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Play it safe
|
||||
name = tgp_china_decision.1002.b
|
||||
custom_tooltip = examination_success_increase_miniscule_tt
|
||||
# Use this var to track score
|
||||
change_variable = {
|
||||
name = safe_bets
|
||||
add = 1
|
||||
}
|
||||
# Use this flag for loc only
|
||||
add_character_flag = safe_end
|
||||
add_prestige = miniscule_prestige_loss
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
add = 40
|
||||
OR = {
|
||||
has_trait = content
|
||||
has_trait = lazy
|
||||
has_trait = craven
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 40
|
||||
stress_level < 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
set_variable = {
|
||||
name = child_examination_success_chance
|
||||
value = child_examination_success_chance_value
|
||||
}
|
||||
trigger_event = tgp_china_decision.1005
|
||||
}
|
||||
}
|
||||
|
||||
# Releasing the Roll (Results)
|
||||
tgp_china_decision.1005 = {
|
||||
type = character_event
|
||||
title = tgp_china_decision.1005.t
|
||||
desc = {
|
||||
# Opening
|
||||
desc = tgp_china_decision.1005.desc
|
||||
# Did you get a strong finish, play it safe, or fail?
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_modifier = tgp_local_exam_strong_finish
|
||||
}
|
||||
desc = tgp_china_decision.1005.desc.success
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
has_character_flag = safe_end
|
||||
}
|
||||
desc = tgp_china_decision.1005.desc.safe
|
||||
}
|
||||
# If none of the above, you failed.
|
||||
desc = tgp_china_decision.1005.desc.failure
|
||||
}
|
||||
# And now, for the score
|
||||
desc = tgp_china_decision.1005.desc.segway
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
var:child_examination_success_chance >= 90
|
||||
}
|
||||
desc = tgp_china_decision.1005.desc.high_score
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
var:child_examination_success_chance >= 60
|
||||
}
|
||||
desc = tgp_china_decision.1005.desc.good_score
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
var:child_examination_success_chance >= 40
|
||||
}
|
||||
desc = tgp_china_decision.1005.desc.passing_score
|
||||
}
|
||||
desc = tgp_china_decision.1005.desc.failing
|
||||
}
|
||||
}
|
||||
|
||||
theme = imperial_examination
|
||||
override_background = { reference = study }
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
AND = {
|
||||
var:child_examination_success_chance >= 40
|
||||
var:child_examination_success_chance < 90
|
||||
}
|
||||
}
|
||||
animation = war_over_win
|
||||
}
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
var:child_examination_success_chance < 40
|
||||
}
|
||||
animation = disappointed
|
||||
}
|
||||
animation = happiness
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = {
|
||||
var:child_examination_success_chance >= 40
|
||||
}
|
||||
change_merit = {
|
||||
value = {
|
||||
add = minor_merit_value
|
||||
add = var:child_examination_success_chance
|
||||
}
|
||||
}
|
||||
dynasty = {
|
||||
add_dynasty_prestige = 10
|
||||
}
|
||||
# For all characters who pass the exam, we give a flag to check their overall progress at the Imperial Examinations.
|
||||
add_character_flag = passed_child_exam
|
||||
remove_character_flag ?= failed_child_exam
|
||||
}
|
||||
else = {
|
||||
add_character_flag = failed_child_exam
|
||||
add_character_modifier = {
|
||||
modifier = tgp_child_exam_cooldown_modifier
|
||||
years = 3
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
widget = { gui = "child_examination_success_chance" container = "custom_widgets_container" }
|
||||
|
||||
# If you had a critical success, you do not get the option to dedicate yourself to studying.
|
||||
option = { # I have my family to thank for my success.
|
||||
name = tgp_china_decision.1005.a
|
||||
trigger = { var:child_examination_success_chance >= 90 }
|
||||
change_merit = medium_merit_value
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
add = 40
|
||||
has_trait = loyal
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
is_adult = no
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # My teachers deserve all the credit.
|
||||
name = tgp_china_decision.1005.b
|
||||
trigger = { var:child_examination_success_chance >= 90 }
|
||||
change_influence = medium_influence_gain
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_sociability = 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # I need to push myself harder next time!
|
||||
name = {
|
||||
text = tgp_china_decision.1005.a_success
|
||||
trigger = {
|
||||
var:child_examination_success_chance >= 40
|
||||
}
|
||||
}
|
||||
name = {
|
||||
text = tgp_china_decision.1005.a_failure
|
||||
trigger = {
|
||||
var:child_examination_success_chance < 40
|
||||
}
|
||||
}
|
||||
trigger = { var:child_examination_success_chance < 90 }
|
||||
add_character_modifier = {
|
||||
modifier = tgp_child_focused_studies_modifier
|
||||
years = 5
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_boldness = 1
|
||||
ai_energy = 1
|
||||
}
|
||||
modifier = {
|
||||
add = 40
|
||||
OR = {
|
||||
has_trait = ambitious
|
||||
has_trait = diligent
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = -100
|
||||
stress_level < 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # I am pleased with this result.
|
||||
name = {
|
||||
text = tgp_china_decision.1005.b_passing
|
||||
trigger = {
|
||||
var:child_examination_success_chance >= 40
|
||||
}
|
||||
}
|
||||
name = {
|
||||
text = tgp_china_decision.1005.b_failed
|
||||
trigger = {
|
||||
var:child_examination_success_chance < 40
|
||||
}
|
||||
}
|
||||
trigger = { var:child_examination_success_chance < 90 }
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
add = 40
|
||||
OR = {
|
||||
has_trait = content
|
||||
has_trait = lazy
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
# Time to clean up some variables
|
||||
remove_character_flag ?= safe_end
|
||||
remove_variable ?= safe_bets
|
||||
# And possibly the examiner
|
||||
scope:examiner = {
|
||||
if = {
|
||||
limit = {
|
||||
NOT = { is_vassal_or_below_of = scope:hegemon }
|
||||
}
|
||||
silent_disappearance_effect = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1346
events/dlc/tgp/tgp_china_ministry_events.txt
Normal file
1346
events/dlc/tgp/tgp_china_ministry_events.txt
Normal file
File diff suppressed because it is too large
Load diff
1162
events/dlc/tgp/tgp_china_yearly_events.txt
Normal file
1162
events/dlc/tgp/tgp_china_yearly_events.txt
Normal file
File diff suppressed because it is too large
Load diff
1824
events/dlc/tgp/tgp_commission_book.txt
Normal file
1824
events/dlc/tgp/tgp_commission_book.txt
Normal file
File diff suppressed because it is too large
Load diff
121
events/dlc/tgp/tgp_dynastic_cycle_decision_events.txt
Normal file
121
events/dlc/tgp/tgp_dynastic_cycle_decision_events.txt
Normal file
|
|
@ -0,0 +1,121 @@
|
|||
###################################
|
||||
# DYNASTIC CYCLE DECISION EVENTS
|
||||
###################################
|
||||
|
||||
namespace = tgp_dynastic_cycle_decision_event
|
||||
|
||||
# Retire from all Titles
|
||||
tgp_dynastic_cycle_decision_event.0101 = {
|
||||
type = character_event
|
||||
title = tgp_dynastic_cycle_decision_event.0101.t
|
||||
desc = tgp_dynastic_cycle_decision_event.0101.desc
|
||||
theme = dynasty
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = happy_teacher
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:new_player
|
||||
animation = personality_bold
|
||||
}
|
||||
option = {
|
||||
name = tgp_dynastic_cycle_decision_event.0101.a
|
||||
tgp_renounce_estate_effect = yes
|
||||
}
|
||||
after = {
|
||||
hidden_effect = {
|
||||
if = {
|
||||
limit = {
|
||||
employer != scope:new_player
|
||||
}
|
||||
set_employer = scope:new_player
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Inform Movements of a new Favored Movement - from decision
|
||||
tgp_dynastic_cycle_decision_event.0111 = {
|
||||
type = letter_event
|
||||
opening = tgp_dynastic_cycle_decision_event.0111.opening
|
||||
desc = {
|
||||
desc = tgp_dynastic_cycle_decision_event.0111.desc_intro
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
exists = scope:former_favored_movement
|
||||
}
|
||||
desc = tgp_dynastic_cycle_decision_event.0111.desc_former
|
||||
}
|
||||
desc = tgp_dynastic_cycle_decision_event.0111.desc
|
||||
}
|
||||
desc = tgp_dynastic_cycle_decision_event.0111.desc_outro
|
||||
}
|
||||
sender = scope:hegemon
|
||||
|
||||
immediate = {
|
||||
show_as_tooltip = {
|
||||
scope:new_favored_movement = {
|
||||
make_movement_favored_effect = yes
|
||||
switch = {
|
||||
trigger = participant_group_type
|
||||
pro_hegemon_movement = {
|
||||
if = {
|
||||
limit = {
|
||||
situation:dynastic_cycle = {
|
||||
situation_top_has_catalyst = catalyst_movement_gained_power_pro_hegemon
|
||||
}
|
||||
}
|
||||
trigger_situation_catalyst = catalyst_movement_gained_power_pro_hegemon
|
||||
}
|
||||
}
|
||||
advancement_movement = {
|
||||
if = {
|
||||
limit = {
|
||||
situation:dynastic_cycle = {
|
||||
situation_top_has_catalyst = catalyst_movement_gained_power_advancement
|
||||
}
|
||||
}
|
||||
trigger_situation_catalyst = catalyst_movement_gained_power_advancement
|
||||
}
|
||||
}
|
||||
expansion_movement = {
|
||||
if = {
|
||||
limit = {
|
||||
situation:dynastic_cycle = {
|
||||
situation_top_has_catalyst = catalyst_movement_gained_power_expansion
|
||||
}
|
||||
}
|
||||
trigger_situation_catalyst = catalyst_movement_gained_power_expansion
|
||||
}
|
||||
}
|
||||
conservative_movement = {
|
||||
if = {
|
||||
limit = {
|
||||
situation:dynastic_cycle = {
|
||||
situation_top_has_catalyst = catalyst_movement_gained_power_conservative
|
||||
}
|
||||
}
|
||||
trigger_situation_catalyst = catalyst_movement_gained_power_conservative
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
option = {
|
||||
name = {
|
||||
trigger = {
|
||||
scope:new_favored_movement ?= top_participant_group:dynastic_cycle
|
||||
}
|
||||
text = tgp_dynastic_cycle_decision_event.0111.a_new
|
||||
}
|
||||
name = {
|
||||
trigger = {
|
||||
scope:former_favored_movement ?= top_participant_group:dynastic_cycle
|
||||
}
|
||||
text = tgp_dynastic_cycle_decision_event.0111.a_former
|
||||
}
|
||||
name = tgp_dynastic_cycle_decision_event.0111.a_other
|
||||
}
|
||||
}
|
||||
2471
events/dlc/tgp/tgp_dynastic_cycle_events.txt
Normal file
2471
events/dlc/tgp/tgp_dynastic_cycle_events.txt
Normal file
File diff suppressed because it is too large
Load diff
953
events/dlc/tgp/tgp_dynastic_cycle_flavor_events.txt
Normal file
953
events/dlc/tgp/tgp_dynastic_cycle_flavor_events.txt
Normal file
|
|
@ -0,0 +1,953 @@
|
|||
namespace = tgp_dynastic_cycle_events
|
||||
|
||||
###################################################################################
|
||||
## By Veronica Pazos
|
||||
## tgp_dynastic_cycle_events.0001 - Tilt the scales towards Advancement
|
||||
## tgp_dynastic_cycle_events.0010 - Disciple has a mental breakdown in Instability
|
||||
## tgp_dynastic_cycle_events.0020 - Rowdy peasants steal food during Instability
|
||||
## tgp_dynastic_cycle_events.0030 - In this time of Expansion you should become a Military Governor
|
||||
## tgp_dynastic_cycle_events.0040 - Steward is interested in the Silk Road
|
||||
## tgp_dynastic_cycle_events.0050 - Debate the Favoured Movement and get ahead of them
|
||||
###################################################################################
|
||||
|
||||
# Tilt the scales towards Advancement
|
||||
scripted_trigger tgp_dynastic_cycle_events_0001_valid_servant = {
|
||||
is_available_ai_adult = yes
|
||||
is_lowborn = yes
|
||||
has_any_court_position = no
|
||||
is_councillor = no
|
||||
}
|
||||
|
||||
tgp_dynastic_cycle_events.0001 = {
|
||||
type = character_event
|
||||
title = tgp_dynastic_cycle_events.0001.t
|
||||
desc = tgp_dynastic_cycle_events.0001.desc
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = thinking
|
||||
camera = camera_event_right_fully_away
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:servant
|
||||
animation = serving_tray
|
||||
camera = camera_event_right_to_the_right
|
||||
}
|
||||
theme = dynastic_cycle
|
||||
override_background = { reference = garden }
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
is_available_adult = yes
|
||||
has_tgp_dlc_trigger = yes
|
||||
government_has_flag = government_is_celestial
|
||||
NOT = {
|
||||
situation:dynastic_cycle ?= {
|
||||
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
situation:dynastic_cycle = { save_scope_as = my_situation }
|
||||
top_participant_group:dynastic_cycle ?= { save_scope_as = my_movement }
|
||||
random_courtier = {
|
||||
limit = { tgp_dynastic_cycle_events_0001_valid_servant = yes }
|
||||
save_scope_as = servant
|
||||
}
|
||||
if = {
|
||||
limit = { NOT = { exists = scope:servant } }
|
||||
hidden_effect_new_object = {
|
||||
create_character = {
|
||||
template = servant_character
|
||||
dynasty = none
|
||||
location = root.location
|
||||
culture = root.location.culture
|
||||
faith = root.location.faith
|
||||
gender_female_chance = 50
|
||||
save_scope_as = servant
|
||||
}
|
||||
add_courtier = scope:servant
|
||||
scope:servant = { assign_quirk_effect = yes }
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
any_relation = {
|
||||
type = potential_friend
|
||||
is_available_ai_adult = yes
|
||||
count >= 1
|
||||
}
|
||||
}
|
||||
random_relation = {
|
||||
type = potential_friend
|
||||
limit = { is_available_ai_adult = yes }
|
||||
save_scope_as = potential_friend
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
any_relation = {
|
||||
type = friend
|
||||
is_available_ai_adult = yes
|
||||
count >= 1
|
||||
}
|
||||
}
|
||||
random_relation = {
|
||||
type = friend
|
||||
limit = { is_available_ai_adult = yes }
|
||||
save_scope_as = friend
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { #
|
||||
name = tgp_dynastic_cycle_events.0001.aa
|
||||
trigger = {
|
||||
top_participant_group:dynastic_cycle ?= {
|
||||
participant_group_type = advancement_movement
|
||||
}
|
||||
}
|
||||
add_internal_flag = special
|
||||
reason = movement
|
||||
custom_tooltip = event_increase_movement_power_minor_effect_tooltip
|
||||
scope:my_movement = {
|
||||
event_change_movement_power_effect = {
|
||||
VALUE = event_increase_movement_power_minor_value
|
||||
}
|
||||
}
|
||||
situation:dynastic_cycle ?= {
|
||||
if = {
|
||||
limit = {
|
||||
situation_top_has_catalyst = catalyst_event_advancement_medium_progress
|
||||
}
|
||||
trigger_situation_catalyst = {
|
||||
catalyst = catalyst_event_advancement_medium_progress
|
||||
character = root
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
ambitious = medium_stress_impact_loss
|
||||
content = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = ambitious
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = content
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Focus on friendos
|
||||
name = tgp_dynastic_cycle_events.0001.a
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:potential_friend
|
||||
}
|
||||
custom_tooltip = tgp_dynastic_cycle_events.0001.a.potential_friend
|
||||
set_relation_friend = {
|
||||
target = scope:potential_friend
|
||||
reason = friend_together_in_preparation
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
exists = scope:friend
|
||||
}
|
||||
custom_tooltip = tgp_dynastic_cycle_events.0001.a.potential_friend
|
||||
change_influence = major_influence_gain
|
||||
scope:friend = { change_influence = major_influence_gain }
|
||||
}
|
||||
else = { change_influence = medium_influence_gain }
|
||||
stress_impact = {
|
||||
gregarious = medium_stress_impact_loss
|
||||
callous = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = gregarious
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = callous
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Why wait?
|
||||
name = tgp_dynastic_cycle_events.0001.b
|
||||
add_character_modifier = {
|
||||
modifier = tgp_advancement_focus_modifier
|
||||
years = 20
|
||||
}
|
||||
stress_impact = {
|
||||
impatient = medium_stress_impact_loss
|
||||
patient = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = deceitful
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = honest
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # We must focus on NOW
|
||||
name = tgp_dynastic_cycle_events.0001.c
|
||||
stress_impact = {
|
||||
base = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Disciple has a mental breakdown in Instability
|
||||
scripted_trigger tgp_dynastic_cycle_events_0010_valid_disciple = {
|
||||
is_available_ai_adult = yes
|
||||
has_personality_dominant_trigger = no
|
||||
has_a_stress_coping_trait_trigger = no
|
||||
}
|
||||
|
||||
tgp_dynastic_cycle_events.0010 = {
|
||||
type = character_event
|
||||
title = tgp_dynastic_cycle_events.0010.t
|
||||
desc = tgp_dynastic_cycle_events.0010.desc
|
||||
left_portrait = {
|
||||
character = root
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
has_personality_malicious_trigger = yes
|
||||
}
|
||||
animation = dismissal
|
||||
}
|
||||
animation = worry
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:disciple
|
||||
animation = stress
|
||||
}
|
||||
theme = dynastic_cycle
|
||||
override_background = { reference = relaxing_room }
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
is_available_adult = yes
|
||||
has_tgp_dlc_trigger = yes
|
||||
government_has_flag = government_is_celestial
|
||||
situation:dynastic_cycle ?= {
|
||||
situation_current_phase = situation_dynastic_cycle_phase_instability
|
||||
}
|
||||
any_relation = {
|
||||
type = disciple
|
||||
tgp_dynastic_cycle_events_0010_valid_disciple = yes
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
situation:dynastic_cycle = { save_scope_as = my_situation }
|
||||
top_participant_group:dynastic_cycle ?= { save_scope_as = my_movement }
|
||||
random_relation = {
|
||||
type = disciple
|
||||
limit = { tgp_dynastic_cycle_events_0010_valid_disciple = yes }
|
||||
weight = {
|
||||
base = 1
|
||||
modifier = {
|
||||
has_personality_emotional_trigger = yes
|
||||
add = 10
|
||||
}
|
||||
modifier = {
|
||||
age <= 35
|
||||
add = 5
|
||||
}
|
||||
}
|
||||
save_scope_as = disciple
|
||||
}
|
||||
random_list = {
|
||||
1 = {
|
||||
set_variable = {
|
||||
name = stress_trait
|
||||
value = flag:drunkard
|
||||
}
|
||||
}
|
||||
1 = {
|
||||
set_variable = {
|
||||
name = stress_trait
|
||||
value = flag:flagellant
|
||||
}
|
||||
}
|
||||
1 = {
|
||||
set_variable = {
|
||||
name = stress_trait
|
||||
value = flag:contrite
|
||||
}
|
||||
}
|
||||
1 = {
|
||||
set_variable = {
|
||||
name = stress_trait
|
||||
value = flag:irritable
|
||||
}
|
||||
}
|
||||
1 = {
|
||||
set_variable = {
|
||||
name = stress_trait
|
||||
value = flag:rakish
|
||||
}
|
||||
}
|
||||
1 = {
|
||||
set_variable = {
|
||||
name = stress_trait
|
||||
value = flag:hashishiyah
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # You gotta straighten up
|
||||
name = tgp_dynastic_cycle_events.0010.a
|
||||
switch = {
|
||||
trigger = var:stress_trait
|
||||
flag:drunkard = {
|
||||
scope:disciple = { add_trait = drunkard }
|
||||
}
|
||||
flag:flagellant = {
|
||||
scope:disciple = { add_trait = flagellant }
|
||||
}
|
||||
flag:contrite = {
|
||||
scope:disciple = { add_trait = contrite }
|
||||
}
|
||||
flag:rakish = {
|
||||
scope:disciple = { add_trait = rakish }
|
||||
}
|
||||
flag:hashishiyah = {
|
||||
scope:disciple = { add_trait = hashishiyah }
|
||||
}
|
||||
}
|
||||
scope:disciple = { add_stress = major_stress_impact_gain }
|
||||
change_influence = medium_influence_gain
|
||||
stress_impact = {
|
||||
callous = medium_stress_impact_loss
|
||||
compassionate = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = callous
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = compassionate
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Comfort them
|
||||
name = tgp_dynastic_cycle_events.0010.b
|
||||
if = {
|
||||
limit = {
|
||||
can_add_hook = {
|
||||
type = favor_hook
|
||||
target = scope:disciple
|
||||
}
|
||||
}
|
||||
add_hook = {
|
||||
type = favor_hook
|
||||
target = scope:disciple
|
||||
}
|
||||
}
|
||||
scope:disciple = { add_stress = medium_stress_impact_loss }
|
||||
stress_impact = {
|
||||
compassionate = major_stress_impact_loss
|
||||
callous = major_stress_impact_gain
|
||||
sadistic = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
OR = {
|
||||
has_trait = callous
|
||||
has_trait = sadistic
|
||||
}
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = compassionate
|
||||
factor = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Instability is actually good
|
||||
name = tgp_dynastic_cycle_events.0010.c
|
||||
gain_appropriate_lifestyle_medium_xp_effect = yes
|
||||
scope:disciple = {
|
||||
gain_appropriate_lifestyle_medium_xp_effect = yes
|
||||
add_stress = medium_stress_impact_gain
|
||||
}
|
||||
stress_impact = {
|
||||
content = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = content
|
||||
factor = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Rowdy peasants steal food during instability
|
||||
tgp_dynastic_cycle_events.0020 = {
|
||||
type = character_event
|
||||
title = tgp_dynastic_cycle_events.0020.t
|
||||
desc = tgp_dynastic_cycle_events.0020.desc
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = japanese_war_fan
|
||||
camera = camera_event_very_left
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:marshal
|
||||
animation = relaxed_spear
|
||||
}
|
||||
theme = dynastic_cycle
|
||||
override_background = { reference = throne_room }
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
is_available_adult = yes
|
||||
has_tgp_dlc_trigger = yes
|
||||
government_has_flag = government_is_celestial
|
||||
situation:dynastic_cycle ?= {
|
||||
situation_current_phase = situation_dynastic_cycle_phase_instability
|
||||
}
|
||||
any_held_county = {
|
||||
county_control >= low_county_control
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
situation:dynastic_cycle = { save_scope_as = my_situation }
|
||||
top_participant_group:dynastic_cycle ?= { save_scope_as = my_movement }
|
||||
if = {
|
||||
limit = {
|
||||
exists = cp:councillor_marshal
|
||||
cp:councillor_marshal = { is_available_healthy_ai_adult = yes }
|
||||
}
|
||||
cp:councillor_marshal = { save_scope_as = marshal }
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
any_knight = { is_available_healthy_ai_adult = yes }
|
||||
}
|
||||
ordered_knight = {
|
||||
limit = { is_available_healthy_ai_adult = yes }
|
||||
order_by = martial
|
||||
save_scope_as = marshal
|
||||
}
|
||||
}
|
||||
else = {
|
||||
hidden_effect_new_object = {
|
||||
create_character = {
|
||||
template = knight
|
||||
dynasty = none
|
||||
location = root.location
|
||||
culture = root.location.culture
|
||||
faith = root.location.faith
|
||||
gender_female_chance = root_soldier_female_chance
|
||||
save_scope_as = marshal
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:marshal = {
|
||||
assign_quirk_effect = yes
|
||||
add_character_flag = need_military_outfit
|
||||
hidden_effect = {
|
||||
if = {
|
||||
limit = {
|
||||
NOR = {
|
||||
is_courtier_of = root
|
||||
is_vassal_of = root
|
||||
}
|
||||
|
||||
}
|
||||
root = { add_courtier = prev }
|
||||
}
|
||||
}
|
||||
}
|
||||
random_held_county = {
|
||||
limit = { county_control >= low_county_control }
|
||||
change_county_control = major_county_control_loss
|
||||
save_scope_as = peasant_county
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Execute them
|
||||
name = tgp_dynastic_cycle_events.0020.a
|
||||
trigger = {
|
||||
has_focus = intrigue_intimidation_focus
|
||||
}
|
||||
reason = lifestyle_focus
|
||||
add_internal_flag = special
|
||||
add_dread = major_dread_gain
|
||||
scope:peasant_county = {
|
||||
add_county_modifier = {
|
||||
modifier = tgp_executed_peasants_county_modifier
|
||||
years = 10
|
||||
}
|
||||
change_county_control = medium_county_control_gain
|
||||
}
|
||||
stress_impact = {
|
||||
callous = medium_stress_impact_loss
|
||||
compassionate = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = callous
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = compassionate
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Pay money to make Increase County Control better
|
||||
name = tgp_dynastic_cycle_events.0020.b
|
||||
pay_treasury_or_gold = {
|
||||
target = scope:marshal
|
||||
value = major_treasury_or_gold_value
|
||||
}
|
||||
scope:peasant_county = { change_county_control = medium_county_control_gain }
|
||||
stress_impact = {
|
||||
greedy = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
OR = {
|
||||
has_trait = greedy
|
||||
treasury_or_gold <= massive_treasury_or_gold_value
|
||||
}
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # What can you do
|
||||
name = tgp_dynastic_cycle_events.0020.c
|
||||
stress_impact = {
|
||||
lazy = medium_stress_impact_loss
|
||||
diligent = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = lazy
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = diligent
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# In this time of Expansion you should become a Military Governor
|
||||
tgp_dynastic_cycle_events.0030 = {
|
||||
type = character_event
|
||||
title = tgp_dynastic_cycle_events.0030.t
|
||||
desc = tgp_dynastic_cycle_events.0030.desc
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = frontend_center_idle
|
||||
camera = camera_event_very_left
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:marshal
|
||||
animation = celebrate_spear
|
||||
}
|
||||
theme = dynastic_cycle
|
||||
override_background = { reference = courtyard }
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
is_available_adult = yes
|
||||
has_tgp_dlc_trigger = yes
|
||||
government_has_flag = government_is_celestial
|
||||
situation:dynastic_cycle ?= {
|
||||
situation_current_phase = situation_dynastic_cycle_phase_stability_expansion
|
||||
}
|
||||
NOT = { has_trait_with_flag = military_province } # You are not a Military Governor
|
||||
}
|
||||
|
||||
immediate = {
|
||||
situation:dynastic_cycle = { save_scope_as = my_situation }
|
||||
top_participant_group:dynastic_cycle ?= { save_scope_as = my_movement }
|
||||
assign_quirk_effect = yes
|
||||
if = {
|
||||
limit = {
|
||||
exists = cp:councillor_marshal
|
||||
cp:councillor_marshal = { is_available_healthy_ai_adult = yes }
|
||||
}
|
||||
cp:councillor_marshal = { save_scope_as = marshal }
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
any_knight = { is_available_healthy_ai_adult = yes }
|
||||
}
|
||||
ordered_knight = {
|
||||
limit = { is_available_healthy_ai_adult = yes }
|
||||
order_by = martial
|
||||
save_scope_as = marshal
|
||||
}
|
||||
}
|
||||
else = {
|
||||
hidden_effect_new_object = {
|
||||
create_character = {
|
||||
template = knight
|
||||
dynasty = none
|
||||
location = root.location
|
||||
culture = root.location.culture
|
||||
faith = root.location.faith
|
||||
gender_female_chance = root_soldier_female_chance
|
||||
save_scope_as = marshal
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:marshal = {
|
||||
assign_quirk_effect = yes
|
||||
add_character_flag = need_military_outfit
|
||||
hidden_effect = {
|
||||
if = {
|
||||
limit = { NOT = { is_courtier_of = root } }
|
||||
root = { add_courtier = prev }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Let's do it!!!
|
||||
name = tgp_dynastic_cycle_events.0030.a
|
||||
custom_tooltip = {
|
||||
text = change_to_military_career_desc
|
||||
set_variable = {
|
||||
name = appointment_trait_override
|
||||
value = trait:education_martial_1
|
||||
}
|
||||
}
|
||||
add_martial_lifestyle_perk_points = 1
|
||||
add_martial_lifestyle_xp = massive_lifestyle_xp
|
||||
stress_impact = {
|
||||
base = major_stress_impact_gain
|
||||
fickle = major_stress_impact_loss
|
||||
arbitrary = major_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
OR = {
|
||||
has_trait = fickle
|
||||
has_trait = arbitrary
|
||||
}
|
||||
factor = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Thank you but no
|
||||
name = tgp_dynastic_cycle_events.0030.b
|
||||
custom_tooltip = {
|
||||
text = tgp_movement_events.0001.c.tt
|
||||
give_random_commander_trait_effect = yes
|
||||
}
|
||||
stress_impact = {
|
||||
diligent = major_stress_impact_loss
|
||||
lazy = major_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = lazy
|
||||
factor = 0
|
||||
}
|
||||
modifier = {
|
||||
has_trait = diligent
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # I am good thanks
|
||||
name = tgp_dynastic_cycle_events.0030.c
|
||||
change_merit = medium_merit_gain
|
||||
stress_impact = {
|
||||
content = medium_stress_impact_loss
|
||||
lazy = medium_stress_impact_loss
|
||||
fickle = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
OR = {
|
||||
has_trait = content
|
||||
has_trait = lazy
|
||||
}
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = fickle
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Steward is interested in the Silk Road
|
||||
tgp_dynastic_cycle_events.0040 = {
|
||||
type = character_event
|
||||
title = tgp_dynastic_cycle_events.0040.t
|
||||
desc = tgp_dynastic_cycle_events.0040.desc
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = interested
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:steward
|
||||
animation = steward
|
||||
}
|
||||
theme = dynastic_cycle
|
||||
override_background = { reference = study }
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
is_available_adult = yes
|
||||
has_tgp_dlc_trigger = yes
|
||||
government_has_flag = government_is_celestial
|
||||
exists = cp:councillor_steward
|
||||
exists = situation:dynastic_cycle
|
||||
exists = situation:silk_road_situation
|
||||
culture = { culture_has_any_fascination = yes }
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 0.5
|
||||
modifier = {
|
||||
situation:dynastic_cycle ?= {
|
||||
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
|
||||
}
|
||||
add = 1.5
|
||||
}
|
||||
modifier = {
|
||||
is_ai = yes
|
||||
factor = 0.2
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
situation:dynastic_cycle = { save_scope_as = my_situation }
|
||||
situation:silk_road_situation = { save_scope_as = silk_road_situation }
|
||||
top_participant_group:dynastic_cycle ?= { save_scope_as = my_movement }
|
||||
assign_quirk_effect = yes
|
||||
cp:councillor_steward = {
|
||||
assign_quirk_effect = yes
|
||||
save_scope_as = steward
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Special option if it's Advancement phase
|
||||
name = tgp_dynastic_cycle_events.0040.a
|
||||
trigger = {
|
||||
situation:dynastic_cycle ?= {
|
||||
situation_current_phase = situation_dynastic_cycle_phase_stability_advancement
|
||||
}
|
||||
}
|
||||
add_internal_flag = special
|
||||
reason = advancement_phase
|
||||
pay_treasury_or_gold = {
|
||||
target = scope:steward
|
||||
value = medium_treasury_or_gold_value
|
||||
}
|
||||
add_stewardship_lifestyle_xp = minor_lifestyle_xp
|
||||
add_character_modifier = {
|
||||
modifier = tgp_silk_road_advancement_modifier
|
||||
years = 15
|
||||
}
|
||||
stress_impact = {
|
||||
greedy = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 50
|
||||
modifier = {
|
||||
OR = {
|
||||
has_trait = greedy
|
||||
has_lifestyle = stewardship_lifestyle
|
||||
}
|
||||
factor = 2
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Invest!
|
||||
name = tgp_dynastic_cycle_events.0040.b
|
||||
pay_treasury_or_gold = {
|
||||
target = scope:steward
|
||||
value = medium_treasury_or_gold_value
|
||||
}
|
||||
culture = { add_fascination_progress = 2.5 }
|
||||
stress_impact = {
|
||||
avaricious = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 50
|
||||
modifier = {
|
||||
has_trait = greedy
|
||||
treasury_or_gold <= major_treasury_or_gold_value
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # I am good thanks
|
||||
name = tgp_dynastic_cycle_events.0040.c
|
||||
|
||||
stress_impact = {
|
||||
avaricious = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 200
|
||||
modifier = {
|
||||
has_trait = greedy
|
||||
factor = 2
|
||||
}
|
||||
modifier = {
|
||||
has_trait = avaricious
|
||||
factor = 0.5
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Debate the Favoured Movement and get ahead of them
|
||||
tgp_dynastic_cycle_events.0050 = {
|
||||
type = character_event
|
||||
title = tgp_dynastic_cycle_events.0050.t
|
||||
desc = tgp_dynastic_cycle_events.0050.desc
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = disapproval
|
||||
}
|
||||
theme = dynastic_cycle
|
||||
override_background = { reference = study }
|
||||
cooldown = { years = 10 }
|
||||
|
||||
trigger = {
|
||||
is_available_adult = yes
|
||||
has_tgp_dlc_trigger = yes
|
||||
government_has_flag = government_is_celestial
|
||||
is_any_movement_member_not_undecided = yes # You are part of a Movement
|
||||
situation:dynastic_cycle ?= { # You are not the Favoured Movement
|
||||
any_participant_group = {
|
||||
exists = var:movement_favored
|
||||
NOT = { participant_group_has_character = root }
|
||||
}
|
||||
}
|
||||
NOT = { has_variable = tgp_debate_discount_var }
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
modifier = {
|
||||
is_any_movement_leader = yes
|
||||
add = 1
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
situation:dynastic_cycle = {
|
||||
save_scope_as = my_situation
|
||||
random_participant_group = {
|
||||
limit = {
|
||||
has_variable = movement_favored
|
||||
}
|
||||
save_scope_as = favored_movement
|
||||
}
|
||||
}
|
||||
top_participant_group:dynastic_cycle ?= { save_scope_as = my_movement }
|
||||
top_liege = { save_scope_as = top_liege }
|
||||
}
|
||||
|
||||
option = { # Get discount to Debate
|
||||
name = tgp_dynastic_cycle_events.0050.a
|
||||
custom_tooltip = {
|
||||
text = tgp_debate_discount_var_tt
|
||||
set_variable = {
|
||||
name = tgp_debate_discount_var
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
greedy = medium_stress_impact_loss
|
||||
}
|
||||
ai_chance = {
|
||||
base = 50
|
||||
modifier = {
|
||||
is_any_movement_leader = yes
|
||||
add = 50
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Just get some Movement Power
|
||||
name = tgp_dynastic_cycle_events.0050.b
|
||||
custom_tooltip = event_increase_movement_power_medium_effect_tooltip
|
||||
scope:my_movement = {
|
||||
event_change_movement_power_effect = {
|
||||
VALUE = event_increase_movement_power_medium_value
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
arrogant = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = arrogant
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Focus on yourself
|
||||
name = tgp_dynastic_cycle_events.0050.c
|
||||
change_influence = medium_influence_gain
|
||||
stress_impact = {
|
||||
humble = medium_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
has_trait = humble
|
||||
factor = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
966
events/dlc/tgp/tgp_east_asia_decision_events.txt
Normal file
966
events/dlc/tgp/tgp_east_asia_decision_events.txt
Normal file
|
|
@ -0,0 +1,966 @@
|
|||
|
||||
namespace = tgp_east_asia_decision_events
|
||||
|
||||
#You adopted Mandala
|
||||
tgp_east_asia_decision_events.0010 = {
|
||||
type = character_event
|
||||
title = tgp_east_asia_decision_events.0010.t
|
||||
desc = tgp_east_asia_decision_events.0010.desc
|
||||
theme = mandala
|
||||
left_portrait = {
|
||||
character = root
|
||||
triggered_animation = {
|
||||
trigger = { has_trait = zealous }
|
||||
animation = personality_zealous
|
||||
}
|
||||
animation = eccentric
|
||||
}
|
||||
immediate = {
|
||||
if = {
|
||||
limit = { has_variable = vying_for_mandala_divinity }
|
||||
custom_description_no_bullet = { text = because_of_your_divine_happenstance_tt }
|
||||
divine_happenstance_adopt_mandala_effect = yes
|
||||
remove_variable = vying_for_mandala_divinity
|
||||
}
|
||||
}
|
||||
#Alright, and I'll take a Temple Citadel too, please
|
||||
option = {
|
||||
name = tgp_east_asia_decision_events.0010.a
|
||||
trigger = {
|
||||
any_directly_owned_province = { has_holding_type = tribal_holding }
|
||||
}
|
||||
#This changes all holdings for Tribals, or only the Capital for everyone else
|
||||
if = {
|
||||
limit = {
|
||||
culture = {
|
||||
has_cultural_parameter = mandala_tributaries
|
||||
}
|
||||
confederation ?= { is_house_based = no }
|
||||
}
|
||||
hidden_effect = {
|
||||
confederation = {
|
||||
every_confederation_member = {
|
||||
limit = {
|
||||
this != root
|
||||
}
|
||||
add_to_list = tributaries
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
change_to_mandala_government_and_citadel_effect = yes
|
||||
if = {
|
||||
limit = {
|
||||
culture = {
|
||||
has_cultural_parameter = mandala_tributaries
|
||||
}
|
||||
any_in_list = {
|
||||
list = tributaries
|
||||
is_alive = yes
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
every_in_list = {
|
||||
list = tributaries
|
||||
confederation = {
|
||||
remove_confederation_member = prev
|
||||
}
|
||||
start_tributary_interaction_effect = {
|
||||
TRIBUTARY = this
|
||||
SUZERAIN = root
|
||||
}
|
||||
}
|
||||
}
|
||||
custom_tooltip = confederates_to_tributaries_tt
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
#Only the government for me thanks
|
||||
option = {
|
||||
name = {
|
||||
text = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
capital_province = { has_holding_type = temple_citadel_holding }
|
||||
}
|
||||
desc = tgp_east_asia_decision_events.0010.b_temple_citadel
|
||||
}
|
||||
desc = tgp_east_asia_decision_events.0010.b
|
||||
}
|
||||
}
|
||||
}
|
||||
trigger = {
|
||||
#Sorry, Tribal Holdings need to go
|
||||
NOR = {
|
||||
capital_province = { has_holding_type = tribal_holding }
|
||||
any_directly_owned_province = { has_holding_type = tribal_holding }
|
||||
}
|
||||
#You need to either have a Temple Citadel or somewhere to build a Temple Citadel to avoid noob trap
|
||||
OR = {
|
||||
any_realm_province = {
|
||||
OR = {
|
||||
has_holding = no
|
||||
has_holding_type = temple_citadel_holding
|
||||
}
|
||||
}
|
||||
capital_province = { has_holding_type = temple_citadel_holding }
|
||||
}
|
||||
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
culture = {
|
||||
has_cultural_parameter = mandala_tributaries
|
||||
}
|
||||
confederation ?= { is_house_based = no }
|
||||
}
|
||||
hidden_effect = {
|
||||
confederation = {
|
||||
every_confederation_member = {
|
||||
limit = {
|
||||
this != root
|
||||
}
|
||||
add_to_list = tributaries
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
change_to_mandala_government_effect = yes
|
||||
if = {
|
||||
limit = {
|
||||
culture = {
|
||||
has_cultural_parameter = mandala_tributaries
|
||||
}
|
||||
any_in_list = {
|
||||
list = tributaries
|
||||
is_alive = yes
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
every_in_list = {
|
||||
list = tributaries
|
||||
confederation = {
|
||||
remove_confederation_member = prev
|
||||
}
|
||||
start_tributary_interaction_effect = {
|
||||
TRIBUTARY = this
|
||||
SUZERAIN = root
|
||||
}
|
||||
}
|
||||
}
|
||||
custom_tooltip = confederates_to_tributaries_tt
|
||||
}
|
||||
ai_chance = {
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Vassals get notified
|
||||
tgp_east_asia_decision_events.0015 = {
|
||||
type = letter_event
|
||||
opening = tgp_east_asia_decision_events.0015.opening
|
||||
desc = tgp_east_asia_decision_events.0015.desc
|
||||
sender = {
|
||||
character = scope:liege
|
||||
animation = personality_zealous
|
||||
}
|
||||
immediate = {
|
||||
liege = {
|
||||
save_scope_as = liege
|
||||
show_as_tooltip = { change_government = mandala_government }
|
||||
}
|
||||
}
|
||||
#What does this mean
|
||||
option = {
|
||||
name = tgp_east_asia_decision_events.0015.a
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#You assimilated to your Overlord being Mandala
|
||||
tgp_east_asia_decision_events.0020 = {
|
||||
type = character_event
|
||||
title = tgp_east_asia_decision_events.0020.t
|
||||
desc = tgp_east_asia_decision_events.0020.desc
|
||||
theme = mandala
|
||||
left_portrait = {
|
||||
character = root
|
||||
triggered_animation = {
|
||||
trigger = { has_trait = zealous }
|
||||
animation = personality_zealous
|
||||
}
|
||||
animation = eccentric
|
||||
}
|
||||
lower_right_portrait = {
|
||||
character = scope:overlord
|
||||
}
|
||||
immediate = {
|
||||
overlord = { save_scope_as = overlord }
|
||||
if = {
|
||||
limit = {
|
||||
NOR = {
|
||||
faith = overlord.faith
|
||||
faith.religious_head ?= root
|
||||
}
|
||||
}
|
||||
set_character_faith = overlord.faith
|
||||
custom_tooltip = tgp_east_asia_decision_events.0020.close_family_post_tt
|
||||
hidden_effect = {
|
||||
# Family at court also convert
|
||||
every_close_family_member = {
|
||||
limit = {
|
||||
is_courtier_of = root
|
||||
faith != root.overlord.faith
|
||||
}
|
||||
set_character_faith = root.overlord.faith
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#Alright, and I'll take a Temple Citadel too, please
|
||||
option = {
|
||||
name = tgp_east_asia_decision_events.0020.a
|
||||
if = {
|
||||
limit = {
|
||||
NOT = { government_has_flag = government_is_mandala }
|
||||
}
|
||||
#This changes all holdings for Tribals, or only the Capital for everyone else
|
||||
change_to_mandala_government_and_citadel_effect = yes
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
#Only the government for me thanks
|
||||
option = {
|
||||
name = tgp_east_asia_decision_events.0020.b
|
||||
trigger = {
|
||||
NOR = {
|
||||
government_has_flag = government_is_mandala
|
||||
#Sorry, Tribal Holdings need to go
|
||||
capital_province = { has_holding_type = tribal_holding }
|
||||
}
|
||||
#You need to either have a Temple Citadel or somewhere to build a Temple Citadel to avoid noob trap
|
||||
any_realm_province = {
|
||||
OR = {
|
||||
has_holding = no
|
||||
has_holding_type = temple_citadel_holding
|
||||
}
|
||||
}
|
||||
}
|
||||
change_to_mandala_government_effect = yes
|
||||
ai_chance = {
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
after = {
|
||||
#Change the tributary type to Mandala
|
||||
if = {
|
||||
limit = {
|
||||
is_tributary_of = scope:overlord
|
||||
NOT = { has_subject_contract_group = tributary_mandala }
|
||||
}
|
||||
hidden_effect = {
|
||||
end_tributary = yes
|
||||
#This still triggers the invalidation toast, somehow — should be reverted when code Jira TIT-68838 is fixed
|
||||
trigger_event = {
|
||||
id = tgp_east_asia_decision_events.0021
|
||||
delayed = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Ful-fix to make the tributary update not invalidate
|
||||
tgp_east_asia_decision_events.0021 = {
|
||||
hidden = yes
|
||||
immediate = {
|
||||
start_tributary_interaction_effect = {
|
||||
TRIBUTARY = root
|
||||
SUZERAIN = scope:overlord
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Vassals get notified
|
||||
tgp_east_asia_decision_events.0025 = {
|
||||
type = letter_event
|
||||
opening = tgp_east_asia_decision_events.0025.opening
|
||||
desc = tgp_east_asia_decision_events.0025.desc
|
||||
sender = {
|
||||
character = scope:liege
|
||||
animation = personality_zealous
|
||||
}
|
||||
immediate = {
|
||||
liege = {
|
||||
save_scope_as = liege
|
||||
overlord = { save_scope_as = overlord }
|
||||
show_as_tooltip = { mandala_assimilation_effect = yes }
|
||||
}
|
||||
}
|
||||
#What does this mean
|
||||
option = {
|
||||
name = tgp_east_asia_decision_events.0025.a
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#Your Mandala Liege turned Clan
|
||||
tgp_east_asia_decision_events.0030 = {
|
||||
type = character_event
|
||||
title = tgp_east_asia_decision_events.0030.t
|
||||
desc = tgp_east_asia_decision_events.0030.desc
|
||||
theme = court
|
||||
override_background = { reference = throne_room }
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = worry
|
||||
}
|
||||
lower_right_portrait = {
|
||||
character = scope:liege
|
||||
}
|
||||
immediate = {
|
||||
liege = {
|
||||
save_scope_as = liege
|
||||
show_as_tooltip = { change_government = clan_government }
|
||||
}
|
||||
show_as_tooltip = {
|
||||
if = {
|
||||
limit = {
|
||||
capital_province = {
|
||||
NOR = {
|
||||
has_holding_type = temple_citadel_holding
|
||||
has_holding_type = castle_holding
|
||||
}
|
||||
}
|
||||
}
|
||||
capital_province = { set_holding_type = castle_holding }
|
||||
}
|
||||
change_government = clan_government
|
||||
#Start off crown authorities
|
||||
if = {
|
||||
limit = {
|
||||
NOT = { has_realm_law = crown_authority_0 }
|
||||
}
|
||||
add_realm_law_skip_effects = crown_authority_0
|
||||
}
|
||||
}
|
||||
}
|
||||
#Okidoki
|
||||
option = {
|
||||
name = tgp_east_asia_decision_events.0030.a
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#Assimilation Payout Event
|
||||
tgp_east_asia_decision_events.0100 = {
|
||||
type = character_event
|
||||
title = tgp_east_asia_decision_events.0100.t
|
||||
desc = tgp_east_asia_decision_events.0100.desc
|
||||
theme = mandala
|
||||
left_portrait = {
|
||||
character = root
|
||||
triggered_animation = {
|
||||
trigger = { has_trait = zealous }
|
||||
animation = personality_zealous
|
||||
}
|
||||
animation = admiration
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:overlord
|
||||
animation = personality_zealous
|
||||
}
|
||||
trigger = {
|
||||
this != top_overlord
|
||||
government_has_flag = government_is_mandala
|
||||
AND = {
|
||||
has_variable = mandala_assimilation_devaraja
|
||||
var:mandala_assimilation_devaraja = {
|
||||
government_has_flag = government_is_mandala
|
||||
this = { is_alive = yes }
|
||||
this = overlord
|
||||
}
|
||||
}
|
||||
AND = {
|
||||
has_variable = mandala_assimilation_devaraja_piety_level
|
||||
var:mandala_assimilation_devaraja_piety_level >= overlord.piety_level
|
||||
}
|
||||
}
|
||||
on_trigger_fail = { trigger_event = tgp_east_asia_decision_events.0110 }
|
||||
#Did they level up?
|
||||
override_effect_2d = {
|
||||
trigger = { overlord.piety_level > var:mandala_assimilation_devaraja_piety_level }
|
||||
reference = legend_glow
|
||||
}
|
||||
immediate = {
|
||||
overlord = { save_scope_as = overlord }
|
||||
}
|
||||
#Cool!
|
||||
option = {
|
||||
name = tgp_east_asia_decision_events.0100.a
|
||||
if = {
|
||||
limit = { has_character_flag = assimilation_payout_t3 }
|
||||
add_piety = assimilation_piety_payout_t3
|
||||
add_legitimacy_effect = { LEGITIMACY = assimilation_legitimacy_payout_t3 }
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_character_flag = assimilation_payout_t2 }
|
||||
add_piety = assimilation_piety_payout_t2
|
||||
add_legitimacy_effect = { LEGITIMACY = assimilation_legitimacy_payout_t2 }
|
||||
}
|
||||
else_if = {
|
||||
limit = { has_character_flag = assimilation_payout_t1 }
|
||||
add_piety = assimilation_piety_payout_t1
|
||||
add_legitimacy_effect = { LEGITIMACY = assimilation_legitimacy_payout_t1 }
|
||||
}
|
||||
}
|
||||
after = { mandala_clean_up_variables_effect = yes }
|
||||
}
|
||||
|
||||
#Whelp, either you or your Devaraja have lost your way
|
||||
tgp_east_asia_decision_events.0110 = {
|
||||
hidden = yes
|
||||
|
||||
immediate = {
|
||||
var:mandala_assimilation_devaraja ?= { save_scope_as = saved_devaraja }
|
||||
send_interface_message = {
|
||||
type = event_conversion_bad_text
|
||||
title = failed_assimilation_payout_msg
|
||||
desc = failed_assimilation_payout_msg_desc
|
||||
left_icon = root
|
||||
right_icon = scope:saved_devaraja
|
||||
}
|
||||
mandala_clean_up_variables_effect = yes
|
||||
}
|
||||
}
|
||||
|
||||
scripted_trigger base_court_brahmin_triggers = {
|
||||
is_adult = yes
|
||||
has_any_disease_trigger = no
|
||||
}
|
||||
|
||||
scripted_effect recruit_mandala_court_position_effect = {
|
||||
pay_short_term_gold = {
|
||||
target = $RECRUITEE$
|
||||
gold = $GOLD_VALUE$
|
||||
}
|
||||
add_courtier = $RECRUITEE$
|
||||
appoint_court_position = {
|
||||
recipient = $RECRUITEE$
|
||||
court_position = $COURT_POSITION$
|
||||
}
|
||||
hidden_effect = {
|
||||
$RECRUITEE$ = {
|
||||
add_opinion = {
|
||||
modifier = grateful_opinion
|
||||
target = root
|
||||
opinion = 25
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Hire a Court Brahmin
|
||||
tgp_east_asia_decision_events.0200 = {
|
||||
type = character_event
|
||||
title = tgp_east_asia_decision_events.0200.t
|
||||
desc = tgp_east_asia_decision_events.0200.desc
|
||||
theme = mandala
|
||||
left_portrait = {
|
||||
character = scope:great_brahmin_option
|
||||
animation = personality_zealous
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:good_brahmin_option
|
||||
animation = thinking
|
||||
}
|
||||
immediate = {
|
||||
#Good character
|
||||
if = {
|
||||
limit = {
|
||||
any_pool_character = {
|
||||
province = root.capital_province
|
||||
base_court_brahmin_triggers = yes
|
||||
court_brahmin_validity_trigger = { EMPLOYER = root }
|
||||
"aptitude(court_brahmin_court_position)" = 3
|
||||
}
|
||||
}
|
||||
random_pool_character = {
|
||||
province = root.capital_province
|
||||
limit = {
|
||||
base_court_brahmin_triggers = yes
|
||||
court_brahmin_validity_trigger = { EMPLOYER = root }
|
||||
"aptitude(court_brahmin_court_position)" = 3
|
||||
}
|
||||
save_scope_as = good_brahmin_option
|
||||
}
|
||||
}
|
||||
else = {
|
||||
create_character = {
|
||||
location = root.capital_province
|
||||
template = tgp_court_brahmin_template
|
||||
age = { 25 40 }
|
||||
random_traits_list = {
|
||||
count = 1
|
||||
education_learning_1 = {}
|
||||
education_learning_2 = {}
|
||||
}
|
||||
save_scope_as = good_brahmin_option
|
||||
after_creation = { save_scope_as = goodly_created }
|
||||
}
|
||||
hidden_effect = {
|
||||
random_list = {
|
||||
50 = {
|
||||
religion:buddhism_religion = {
|
||||
random_faith = {
|
||||
save_scope_as = brahmin_faith
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
religion:hinduism_religion = {
|
||||
random_faith = {
|
||||
save_scope_as = brahmin_faith
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:good_brahmin_option = {
|
||||
set_character_faith = scope:brahmin_faith
|
||||
}
|
||||
}
|
||||
}
|
||||
#Great character
|
||||
if = {
|
||||
limit = {
|
||||
any_pool_character = {
|
||||
province = root.capital_province
|
||||
base_court_brahmin_triggers = yes
|
||||
court_brahmin_validity_trigger = { EMPLOYER = root }
|
||||
"aptitude(court_brahmin_court_position)" = 5
|
||||
}
|
||||
}
|
||||
random_pool_character = {
|
||||
province = root.capital_province
|
||||
limit = {
|
||||
base_court_brahmin_triggers = yes
|
||||
court_brahmin_validity_trigger = { EMPLOYER = root }
|
||||
"aptitude(court_brahmin_court_position)" = 5
|
||||
}
|
||||
save_scope_as = great_brahmin_option
|
||||
}
|
||||
}
|
||||
else = {
|
||||
create_character = {
|
||||
location = root.capital_province
|
||||
gender_female_chance = root_faith_clergy_gender_female_chance
|
||||
template = tgp_court_brahmin_template
|
||||
age = { 40 50 }
|
||||
trait = devoted
|
||||
trait = compassionate
|
||||
trait = education_learning_4
|
||||
random_traits_list = {
|
||||
count = 1
|
||||
theologian = {}
|
||||
avaricious = {}
|
||||
}
|
||||
save_scope_as = great_brahmin_option
|
||||
after_creation = { save_scope_as = greatly_created }
|
||||
}
|
||||
hidden_effect = {
|
||||
random_list = {
|
||||
50 = {
|
||||
religion:buddhism_religion = {
|
||||
random_faith = {
|
||||
save_scope_as = brahmin_faith
|
||||
}
|
||||
}
|
||||
}
|
||||
50 = {
|
||||
religion:hinduism_religion = {
|
||||
random_faith = {
|
||||
save_scope_as = brahmin_faith
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:great_brahmin_option = {
|
||||
set_character_faith = scope:brahmin_faith
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#Great option
|
||||
option = {
|
||||
name = tgp_east_asia_decision_events.0200.a
|
||||
custom_tooltip = tgp_east_asia_decision_events.0200.a.aptitude
|
||||
recruit_mandala_court_position_effect = {
|
||||
RECRUITEE = scope:great_brahmin_option
|
||||
GOLD_VALUE = medium_gold_value
|
||||
COURT_POSITION = court_brahmin_court_position
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
short_term_gold > medium_gold_value
|
||||
}
|
||||
}
|
||||
}
|
||||
#Good option
|
||||
option = {
|
||||
name = tgp_east_asia_decision_events.0200.b
|
||||
custom_tooltip = tgp_east_asia_decision_events.0200.b.aptitude
|
||||
recruit_mandala_court_position_effect = {
|
||||
RECRUITEE = scope:good_brahmin_option
|
||||
GOLD_VALUE = minor_gold_value
|
||||
COURT_POSITION = court_brahmin_court_position
|
||||
}
|
||||
}
|
||||
#Nah
|
||||
option = {
|
||||
name = tgp_east_asia_decision_events.0200.c
|
||||
}
|
||||
#Sweep, sweep
|
||||
after = {
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:goodly_created
|
||||
NOT = {
|
||||
scope:goodly_created = { is_courtier_of = root }
|
||||
}
|
||||
}
|
||||
scope:goodly_created = { silent_disappearance_effect = yes }
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:greatly_created
|
||||
NOT = {
|
||||
scope:greatly_created = { is_courtier_of = root }
|
||||
}
|
||||
}
|
||||
scope:greatly_created = { silent_disappearance_effect = yes }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Hire a Khlon Glan
|
||||
tgp_east_asia_decision_events.0210 = {
|
||||
type = character_event
|
||||
title = tgp_east_asia_decision_events.0210.t
|
||||
desc = tgp_east_asia_decision_events.0210.desc
|
||||
theme = mandala
|
||||
override_background = armory
|
||||
left_portrait = {
|
||||
character = scope:great_khlon_glan_option
|
||||
animation = survey
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:good_khlon_glan_option
|
||||
animation = chess_cocky
|
||||
}
|
||||
immediate = {
|
||||
#Good character
|
||||
if = {
|
||||
limit = {
|
||||
any_pool_character = {
|
||||
province = root.capital_province
|
||||
base_court_brahmin_triggers = yes
|
||||
khlon_glan_validity_trigger = { EMPLOYER = root }
|
||||
"aptitude(khlon_glan_court_position)" = 3
|
||||
}
|
||||
}
|
||||
random_pool_character = {
|
||||
province = root.capital_province
|
||||
limit = {
|
||||
base_court_brahmin_triggers = yes
|
||||
khlon_glan_validity_trigger = { EMPLOYER = root }
|
||||
"aptitude(khlon_glan_court_position)" = 3
|
||||
}
|
||||
save_scope_as = good_khlon_glan_option
|
||||
}
|
||||
}
|
||||
else = {
|
||||
create_character = {
|
||||
location = root.capital_province
|
||||
template = tgp_khlon_glan_template
|
||||
age = { 30 40 }
|
||||
random_traits_list = {
|
||||
count = 1
|
||||
education_stewardship_1 = {}
|
||||
education_stewardship_2 = {}
|
||||
education_martial_1 = {}
|
||||
education_martial_2 = {}
|
||||
}
|
||||
save_scope_as = good_khlon_glan_option
|
||||
after_creation = { save_scope_as = goodly_created }
|
||||
}
|
||||
scope:good_khlon_glan_option = {
|
||||
if = {
|
||||
limit = { martial < 10 }
|
||||
add_martial_skill = { 4 6 }
|
||||
}
|
||||
if = {
|
||||
limit = { stewardship < 10 }
|
||||
add_stewardship_skill = { 4 6 }
|
||||
}
|
||||
}
|
||||
}
|
||||
#Great character
|
||||
if = {
|
||||
limit = {
|
||||
any_pool_character = {
|
||||
province = root.capital_province
|
||||
base_court_brahmin_triggers = yes
|
||||
khlon_glan_validity_trigger = { EMPLOYER = root }
|
||||
"aptitude(khlon_glan_court_position)" = 5
|
||||
}
|
||||
}
|
||||
random_pool_character = {
|
||||
province = root.capital_province
|
||||
limit = {
|
||||
base_court_brahmin_triggers = yes
|
||||
khlon_glan_validity_trigger = { EMPLOYER = root }
|
||||
"aptitude(khlon_glan_court_position)" = 5
|
||||
}
|
||||
save_scope_as = great_khlon_glan_option
|
||||
}
|
||||
}
|
||||
else = {
|
||||
create_character = {
|
||||
location = root.capital_province
|
||||
template = tgp_khlon_glan_template
|
||||
age = { 40 50 }
|
||||
random_traits_list = {
|
||||
count = 1
|
||||
education_stewardship_3 = {}
|
||||
education_stewardship_4 = {}
|
||||
education_martial_3 = {}
|
||||
education_martial_4 = {}
|
||||
}
|
||||
random_traits_list = {
|
||||
count = 1
|
||||
administrator = {}
|
||||
overseer = {}
|
||||
}
|
||||
trait = organizer
|
||||
save_scope_as = great_khlon_glan_option
|
||||
after_creation = { save_scope_as = greatly_created }
|
||||
}
|
||||
scope:great_khlon_glan_option = {
|
||||
if = {
|
||||
limit = { martial < 10 }
|
||||
add_martial_skill = { 6 8 }
|
||||
}
|
||||
if = {
|
||||
limit = { stewardship < 10 }
|
||||
add_stewardship_skill = { 6 8 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#Great option
|
||||
option = {
|
||||
name = tgp_east_asia_decision_events.0210.a
|
||||
custom_tooltip = tgp_east_asia_decision_events.0210.a.aptitude
|
||||
recruit_mandala_court_position_effect = {
|
||||
RECRUITEE = scope:great_khlon_glan_option
|
||||
GOLD_VALUE = medium_gold_value
|
||||
COURT_POSITION = khlon_glan_court_position
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
modifier = {
|
||||
short_term_gold > medium_gold_value
|
||||
}
|
||||
}
|
||||
}
|
||||
#Good option
|
||||
option = {
|
||||
name = tgp_east_asia_decision_events.0210.b
|
||||
custom_tooltip = tgp_east_asia_decision_events.0210.b.aptitude
|
||||
recruit_mandala_court_position_effect = {
|
||||
RECRUITEE = scope:good_khlon_glan_option
|
||||
GOLD_VALUE = minor_gold_value
|
||||
COURT_POSITION = khlon_glan_court_position
|
||||
}
|
||||
}
|
||||
#Nah
|
||||
option = {
|
||||
name = tgp_east_asia_decision_events.0210.c
|
||||
}
|
||||
#Sweep, sweep
|
||||
after = {
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:goodly_created
|
||||
NOT = {
|
||||
scope:goodly_created = { is_courtier_of = root }
|
||||
}
|
||||
}
|
||||
scope:goodly_created = { silent_disappearance_effect = yes }
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
exists = scope:greatly_created
|
||||
NOT = {
|
||||
scope:greatly_created = { is_courtier_of = root }
|
||||
}
|
||||
}
|
||||
scope:greatly_created = { silent_disappearance_effect = yes }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Create Bunga Mas
|
||||
tgp_east_asia_decision_events.0300 = {
|
||||
type = character_event
|
||||
title = tgp_east_asia_decision_events.0300.t
|
||||
desc = {
|
||||
desc = tgp_east_asia_decision_events.0300.desc
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:newly_created_bunga_mas = { rarity = illustrious }
|
||||
}
|
||||
desc = tgp_east_asia_decision_events.0300.outro.illustrious
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:newly_created_bunga_mas = { rarity = famed }
|
||||
}
|
||||
desc = tgp_east_asia_decision_events.0300.outro.famed
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:newly_created_bunga_mas = { rarity = masterwork }
|
||||
}
|
||||
desc = tgp_east_asia_decision_events.0300.outro.masterwork
|
||||
}
|
||||
desc = tgp_east_asia_decision_events.0300.outro
|
||||
}
|
||||
}
|
||||
theme = mandala
|
||||
left_portrait = {
|
||||
character = root
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
scope:newly_created_bunga_mas = { rarity = illustrious }
|
||||
}
|
||||
animation = ecstasy
|
||||
}
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
scope:newly_created_bunga_mas = { rarity = famed }
|
||||
}
|
||||
animation = admiration
|
||||
}
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
scope:newly_created_bunga_mas = { rarity = masterwork }
|
||||
}
|
||||
animation = interested
|
||||
}
|
||||
animation = thinking
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:local_artisan
|
||||
animation = admiration
|
||||
}
|
||||
artifact = {
|
||||
target = scope:newly_created_bunga_mas
|
||||
position = lower_center_portrait
|
||||
}
|
||||
immediate = {
|
||||
overlord = { save_scope_as = overlord }
|
||||
|
||||
random_list = {
|
||||
50 = {
|
||||
get_artifact_quality_effect = yes
|
||||
get_artifact_wealth_effect = yes
|
||||
}
|
||||
25 = { set_artifact_rarity_famed = yes }
|
||||
10 = {
|
||||
trigger = { has_relation_best_friend = scope:overlord }
|
||||
set_artifact_rarity_illustrious = yes
|
||||
}
|
||||
}
|
||||
|
||||
scope:local_artisan = {
|
||||
hidden_effect_new_object = {
|
||||
create_artifact = {
|
||||
name = bunga_mas
|
||||
description = common_bunga_mas_desc
|
||||
modifier = artifact_placeholder_modifier
|
||||
wealth = scope:wealth
|
||||
quality = scope:quality
|
||||
type = pedestal
|
||||
visuals = bunga_mas
|
||||
save_scope_as = newly_created_bunga_mas
|
||||
}
|
||||
scope:newly_created_bunga_mas = {
|
||||
remove_artifact_modifier = artifact_placeholder_modifier
|
||||
if = {
|
||||
limit = { rarity = illustrious }
|
||||
set_artifact_description = illustrious_bunga_mas_desc
|
||||
add_artifact_modifier = artifact_monthly_piety_gain_per_legitimacy_level_mult_3_modifier
|
||||
add_artifact_modifier = artifact_legitimacy_loss_mult_5_modifier
|
||||
}
|
||||
else_if = {
|
||||
limit = { rarity = famed }
|
||||
set_artifact_description = famed_bunga_mas_desc
|
||||
add_artifact_modifier = artifact_monthly_piety_gain_per_legitimacy_level_mult_2_modifier
|
||||
add_artifact_modifier = artifact_legitimacy_loss_mult_4_modifier
|
||||
}
|
||||
else_if = {
|
||||
limit = { rarity = masterwork }
|
||||
set_artifact_description = masterwork_bunga_mas_desc
|
||||
add_artifact_modifier = artifact_monthly_piety_gain_per_legitimacy_level_mult_2_modifier
|
||||
add_artifact_modifier = artifact_legitimacy_loss_mult_3_modifier
|
||||
}
|
||||
else = {
|
||||
add_artifact_modifier = artifact_monthly_piety_gain_per_legitimacy_level_mult_1_modifier
|
||||
add_artifact_modifier = artifact_legitimacy_loss_mult_2_modifier
|
||||
}
|
||||
set_variable = {
|
||||
name = bunga_mas_created_by
|
||||
value = root
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
#Nah
|
||||
option = {
|
||||
name = tgp_east_asia_decision_events.0300.a
|
||||
scope:newly_created_bunga_mas = {
|
||||
set_owner = root
|
||||
if = {
|
||||
limit = { rarity = illustrious }
|
||||
custom_tooltip = illustrious_bunga_mas_desc.tt
|
||||
}
|
||||
else_if = {
|
||||
limit = { rarity = famed }
|
||||
custom_tooltip = famed_bunga_mas_desc.tt
|
||||
}
|
||||
else_if = {
|
||||
limit = { rarity = masterwork }
|
||||
custom_tooltip = masterwork_bunga_mas_desc.tt
|
||||
}
|
||||
else = { custom_tooltip = common_bunga_mas_desc.tt }
|
||||
}
|
||||
ai_chance = {
|
||||
base = 50
|
||||
}
|
||||
}
|
||||
}
|
||||
1106
events/dlc/tgp/tgp_east_asia_interaction_events.txt
Normal file
1106
events/dlc/tgp/tgp_east_asia_interaction_events.txt
Normal file
File diff suppressed because it is too large
Load diff
528
events/dlc/tgp/tgp_faction_events.txt
Normal file
528
events/dlc/tgp/tgp_faction_events.txt
Normal file
|
|
@ -0,0 +1,528 @@
|
|||
namespace = tgp_faction_events
|
||||
|
||||
scripted_effect faction_demand_japanese_regent_rejected_effect = {
|
||||
# This effect should always be placed here, _before_ all the other effects in the block.
|
||||
trigger_event = { on_action = on_faction_demand_rejected }
|
||||
show_as_tooltip = {
|
||||
scope:faction = {
|
||||
faction_start_war = {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Ceremonial Regent Faction Demand
|
||||
tgp_faction_events.0101 = {
|
||||
type = letter_event
|
||||
sender = scope:faction_leader
|
||||
opening = "FACTION_JAPANESE_REPLACE_REGENT"
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { tgp_has_ceremonial_liege_title_trigger = yes }
|
||||
desc = "FACTION_JAPANESE_REPLACE_RULER_DESC"
|
||||
}
|
||||
desc = "FACTION_JAPANESE_REPLACE_REGENT_DESC"
|
||||
}
|
||||
}
|
||||
|
||||
trigger = {
|
||||
# May have ceased to exist by the time this triggers
|
||||
exists = scope:faction
|
||||
}
|
||||
|
||||
immediate = {
|
||||
# Grab our scope for loc.
|
||||
save_scope_as = faction_target
|
||||
}
|
||||
|
||||
option = {
|
||||
name = "FACTION_DEMAND_ACCEPT"
|
||||
add_dread = medium_dread_loss
|
||||
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
|
||||
faction_accept_demand_legitimacy_effect = yes
|
||||
add_prestige = -500
|
||||
faction_demand_regent_transfer_effect = {
|
||||
NEW_REGENT = scope:faction_leader
|
||||
REASON = faction_demand
|
||||
}
|
||||
add_character_flag = {
|
||||
flag = recent_replace_regent_faction_war
|
||||
years = 10
|
||||
}
|
||||
scope:faction_leader = {
|
||||
trigger_event = { id = tgp_faction_events.0102 }
|
||||
}
|
||||
# This effect should always be placed here, _after_ everything except the ai_chance.
|
||||
trigger_event = { on_action = on_faction_demand_accepted }
|
||||
ai_chance = {
|
||||
base = 10
|
||||
modifier = {
|
||||
add = 90
|
||||
scope:faction = { faction_power >= 100 }
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
scope:faction = { faction_power >= 125 }
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
scope:faction = { faction_power >= 150 }
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
scope:faction = { faction_power >= 200 }
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
any_character_war = {
|
||||
is_war_leader = root
|
||||
is_defender = root
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
factor = 0.1
|
||||
any_ally = {
|
||||
NOR = {
|
||||
target_is_liege_or_above = root
|
||||
target_is_vassal_or_below = root
|
||||
}
|
||||
max_military_strength > root.max_military_strength
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 10000
|
||||
scope:faction_leader = { is_yes_men_enabled = yes }
|
||||
}
|
||||
modifier = { # The Kampaku always fights
|
||||
factor = 0
|
||||
has_title = title:e_japan
|
||||
government_has_flag = government_is_japan_administrative
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = "FACTION_DEMAND_REFUSE"
|
||||
faction_demand_japanese_regent_rejected_effect = yes
|
||||
scope:faction_leader = {
|
||||
trigger_event = {
|
||||
id = tgp_faction_events.0103
|
||||
days = 1
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_boldness = 4.0
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
scope:faction = { faction_power < 80 }
|
||||
}
|
||||
modifier = {
|
||||
add = 100
|
||||
scope:faction = { faction_power < 60 }
|
||||
}
|
||||
modifier = {
|
||||
add = 1000
|
||||
scope:faction = { faction_power < 40 }
|
||||
}
|
||||
modifier = {
|
||||
add = 10000
|
||||
scope:faction_leader = { is_no_men_enabled = yes }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Japanese Regent Faction Demand Accepted
|
||||
tgp_faction_events.0102 = {
|
||||
type = letter_event
|
||||
sender = scope:faction_target
|
||||
opening = "FACTION_JAPANESE_REPLACE_REGENT_ACCEPTED"
|
||||
desc = "FACTION_JAPANESE_REPLACE_REGENT_ACCEPTED_DESC"
|
||||
|
||||
immediate = {
|
||||
show_as_tooltip = {
|
||||
get_title = primary_title
|
||||
if = {
|
||||
limit = {
|
||||
government_has_flag = government_is_japan_administrative
|
||||
tgp_has_ceremonial_liege_title_trigger = no
|
||||
NOT = {
|
||||
has_realm_law = japanese_regency_succession_law
|
||||
}
|
||||
}
|
||||
add_realm_law_skip_effects = japanese_regency_succession_law
|
||||
}
|
||||
else = {
|
||||
add_realm_law_skip_effects = single_heir_succession_law
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = "FACTION_DEMAND_ACCEPTED_OPT"
|
||||
}
|
||||
}
|
||||
|
||||
# Japanese Regent Faction Demand Refused
|
||||
tgp_faction_events.0103 = {
|
||||
type = letter_event
|
||||
sender = scope:faction_target
|
||||
opening = "FACTION_JAPANESE_REPLACE_REGENT_REFUSED"
|
||||
desc = "FACTION_JAPANESE_REPLACE_REGENT_REFUSED_DESC"
|
||||
|
||||
option = {
|
||||
name = "FACTION_DEMAND_REFUSED_OPT"
|
||||
scope:faction = {
|
||||
faction_start_war = {}
|
||||
every_faction_member = {
|
||||
limit = {
|
||||
NOT = { this = scope:faction.faction_leader }
|
||||
}
|
||||
trigger_event = tgp_faction_events.0104
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Japanese Regent Faction Demand Refused Member Notice
|
||||
tgp_faction_events.0104 = {
|
||||
type = letter_event
|
||||
sender = scope:faction_target
|
||||
opening = "FACTION_JAPANESE_REPLACE_REGENT_REFUSED"
|
||||
desc = "FACTION_JAPANESE_REPLACE_REGENT_REFUSED_DESC"
|
||||
|
||||
option = { name = "FACTION_DEMAND_REFUSED_OPT" }
|
||||
}
|
||||
|
||||
# Japanese Regent Faction Demand Send Notice
|
||||
tgp_faction_events.0105 = {
|
||||
type = letter_event
|
||||
sender = scope:faction_leader
|
||||
opening = "FACTION_JAPANESE_REPLACE_REGENT_SEND_DEMAND_NOTIFICATION"
|
||||
desc = "FACTION_JAPANESE_REPLACE_REGENT_SEND_DEMAND_NOTIFICATION_DESC"
|
||||
|
||||
option = { name = "FACTION_DEMAND_SEND_DEMAND_NOTIFICATION_OPT" }
|
||||
}
|
||||
|
||||
scripted_effect faction_demand_restore_emperor_rejected_effect = {
|
||||
# This effect should always be placed here, _before_ all the other effects in the block.
|
||||
trigger_event = { on_action = on_faction_demand_rejected }
|
||||
show_as_tooltip = {
|
||||
scope:faction = {
|
||||
faction_start_war = {}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Restore Emperor Faction Demand
|
||||
tgp_faction_events.0201 = {
|
||||
type = letter_event
|
||||
sender = scope:faction_leader
|
||||
opening = "FACTION_JAPANESE_RESTORE_EMPEROR"
|
||||
desc = "FACTION_JAPANESE_RESTORE_EMPEROR_DESC"
|
||||
|
||||
trigger = {
|
||||
# May have ceased to exist by the time this triggers
|
||||
exists = scope:faction
|
||||
}
|
||||
|
||||
immediate = {
|
||||
# Grab our scope for loc.
|
||||
save_scope_as = faction_target
|
||||
}
|
||||
|
||||
option = {
|
||||
name = "FACTION_DEMAND_ACCEPT"
|
||||
add_dread = medium_dread_loss
|
||||
# LEGITIMACY LOSS FOR ACCEPTING FACTION DEMANDS
|
||||
faction_accept_demand_legitimacy_effect = yes
|
||||
add_prestige = -500
|
||||
scope:faction = {
|
||||
special_character = { save_scope_as = ceremonial_liege }
|
||||
faction_leader = {
|
||||
trigger_event = { id = tgp_faction_events.0202 }
|
||||
}
|
||||
if = {
|
||||
limit = { exists = this }
|
||||
destroy_faction = yes
|
||||
}
|
||||
}
|
||||
show_as_tooltip = {
|
||||
restore_ceremonial_liege_faction_combined_effect = yes
|
||||
}
|
||||
# This effect should always be placed here, _after_ everything except the ai_chance.
|
||||
trigger_event = { on_action = on_faction_demand_accepted }
|
||||
ai_chance = {
|
||||
base = 10
|
||||
modifier = {
|
||||
add = 90
|
||||
scope:faction = { faction_power >= 100 }
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
scope:faction = { faction_power >= 125 }
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
scope:faction = { faction_power >= 150 }
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
scope:faction = { faction_power >= 200 }
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
any_character_war = {
|
||||
is_war_leader = root
|
||||
is_defender = root
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
factor = 0.1
|
||||
any_ally = {
|
||||
NOR = {
|
||||
target_is_liege_or_above = root
|
||||
target_is_vassal_or_below = root
|
||||
}
|
||||
max_military_strength > root.max_military_strength
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 10000
|
||||
scope:faction_leader = { is_yes_men_enabled = yes }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = {
|
||||
trigger = {
|
||||
scope:faction_leader = { tgp_has_ceremonial_liege_title_trigger = no }
|
||||
}
|
||||
text = tgp_faction_events.0201.b
|
||||
}
|
||||
name = {
|
||||
trigger = {
|
||||
scope:faction_leader = { tgp_has_ceremonial_liege_title_trigger = yes }
|
||||
}
|
||||
text = tgp_faction_events.0201.b.cm
|
||||
}
|
||||
faction_demand_restore_emperor_rejected_effect = yes
|
||||
scope:faction_leader = {
|
||||
trigger_event = {
|
||||
id = tgp_faction_events.0203
|
||||
days = 1
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_boldness = 4.0
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
scope:faction = { faction_power < 80 }
|
||||
}
|
||||
modifier = {
|
||||
add = 100
|
||||
scope:faction = { faction_power < 60 }
|
||||
}
|
||||
modifier = {
|
||||
add = 1000
|
||||
scope:faction = { faction_power < 40 }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Restore Emperor Faction Demand Accepted
|
||||
tgp_faction_events.0202 = {
|
||||
type = letter_event
|
||||
sender = scope:faction_target
|
||||
opening = "FACTION_JAPANESE_RESTORE_EMPEROR_ACCEPTED"
|
||||
desc = "FACTION_JAPANESE_RESTORE_EMPEROR_ACCEPTED_DESC"
|
||||
|
||||
immediate = {
|
||||
save_scope_as = faction_restoration
|
||||
scope:faction.special_character = { save_scope_as = ceremonial_monarch }
|
||||
if = {
|
||||
limit = { this = scope:ceremonial_monarch }
|
||||
restore_ceremonial_liege_faction_combined_effect = yes
|
||||
}
|
||||
else = {
|
||||
scope:faction_target = { save_scope_as = defender }
|
||||
trigger_event = tgp_faction_events.0206
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = "FACTION_DEMAND_ACCEPTED_OPT"
|
||||
}
|
||||
}
|
||||
|
||||
# Restore Emperor Faction Demand Refused
|
||||
tgp_faction_events.0203 = {
|
||||
type = letter_event
|
||||
sender = scope:faction_target
|
||||
opening = "FACTION_JAPANESE_RESTORE_EMPEROR_REFUSED"
|
||||
desc = "FACTION_JAPANESE_RESTORE_EMPEROR_REFUSED_DESC"
|
||||
|
||||
option = {
|
||||
name = "FACTION_DEMAND_REFUSED_OPT"
|
||||
scope:faction = {
|
||||
faction_start_war = {}
|
||||
every_faction_member = {
|
||||
limit = {
|
||||
NOT = { this = scope:faction.faction_leader }
|
||||
}
|
||||
trigger_event = tgp_faction_events.0204
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Restore Emperor Faction Demand Refused Member Notice
|
||||
tgp_faction_events.0204 = {
|
||||
type = letter_event
|
||||
sender = scope:faction_target
|
||||
opening = "FACTION_JAPANESE_RESTORE_EMPEROR_REFUSED"
|
||||
desc = "FACTION_JAPANESE_RESTORE_EMPEROR_REFUSED_DESC"
|
||||
|
||||
option = { name = "FACTION_DEMAND_REFUSED_OPT" }
|
||||
}
|
||||
|
||||
# Restore Emperor Faction Demand Send Notice
|
||||
tgp_faction_events.0205 = {
|
||||
type = letter_event
|
||||
sender = scope:faction_leader
|
||||
opening = "FACTION_JAPANESE_RESTORE_EMPEROR_SEND_DEMAND_NOTIFICATION"
|
||||
desc = "FACTION_JAPANESE_RESTORE_EMPEROR_SEND_DEMAND_NOTIFICATION_DESC"
|
||||
|
||||
option = { name = "FACTION_DEMAND_SEND_DEMAND_NOTIFICATION_OPT" }
|
||||
}
|
||||
|
||||
# Restore Emperor Faction Aftermath
|
||||
tgp_faction_events.0206 = {
|
||||
type = character_event
|
||||
title = tgp_faction_events.0206.t
|
||||
desc = tgp_faction_events.0206.desc
|
||||
override_background = { reference = throne_room_scope }
|
||||
theme = war
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = war_over_win
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:ceremonial_liege
|
||||
animation = war_over_tie
|
||||
}
|
||||
lower_center_portrait = scope:defender
|
||||
|
||||
trigger = {
|
||||
tgp_realm_has_ceremonial_liege_trigger = yes
|
||||
tgp_has_ceremonial_liege_title_trigger = no
|
||||
}
|
||||
|
||||
on_trigger_fail = {
|
||||
if = {
|
||||
limit = { tgp_realm_has_ceremonial_liege_trigger = yes }
|
||||
restore_ceremonial_liege_faction_combined_effect = yes
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
if = {
|
||||
limit = { NOT = { exists = scope:attacker } }
|
||||
save_scope_as = attacker
|
||||
}
|
||||
tgp_save_realm_ceremonial_liege_effect = yes
|
||||
scope:ceremonial_liege = { save_scope_as = background_throne_room_scope }
|
||||
}
|
||||
|
||||
option = {
|
||||
name = tgp_faction_events.0206.a
|
||||
restore_ceremonial_liege_faction_combined_effect = yes
|
||||
add_hook = {
|
||||
target = scope:ceremonial_liege
|
||||
type = favor_hook
|
||||
}
|
||||
scope:ceremonial_liege = {
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = grateful_opinion
|
||||
opinion = 50
|
||||
}
|
||||
}
|
||||
every_in_list = {
|
||||
list = attackers
|
||||
limit = {
|
||||
NOT = { this = root }
|
||||
}
|
||||
custom = faction_member_custom
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = respect_opinion
|
||||
opinion = 25
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
ambitious = minor_stress_impact_gain
|
||||
arbitrary = minor_stress_impact_gain
|
||||
arrogant = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
ai_value_modifier = {
|
||||
ai_greed = -0.5
|
||||
ai_boldness = -0.5
|
||||
ai_honor = 0.5
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = tgp_faction_events.0206.b
|
||||
faction_demand_regent_transfer_effect = {
|
||||
NEW_REGENT = scope:attacker
|
||||
REASON = faction_demand
|
||||
}
|
||||
add_tyranny = major_tyranny_gain
|
||||
reverse_add_opinion = {
|
||||
target = scope:ceremonial_liege
|
||||
modifier = angry_opinion
|
||||
opinion = -50
|
||||
}
|
||||
every_in_list = {
|
||||
list = attackers
|
||||
limit = {
|
||||
NOR = {
|
||||
this = root
|
||||
house ?= root.house
|
||||
}
|
||||
}
|
||||
custom = faction_member_custom
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = angry_opinion
|
||||
opinion = -25
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
honest = minor_stress_impact_gain
|
||||
just = minor_stress_impact_gain
|
||||
content = minor_stress_impact_gain
|
||||
humble = minor_stress_impact_gain
|
||||
}
|
||||
ai_chance = {
|
||||
base = -50
|
||||
ai_value_modifier = {
|
||||
ai_greed = 0.5
|
||||
ai_boldness = 0.5
|
||||
ai_honor = -0.5
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1408
events/dlc/tgp/tgp_genpei_character_events.txt
Normal file
1408
events/dlc/tgp/tgp_genpei_character_events.txt
Normal file
File diff suppressed because it is too large
Load diff
3495
events/dlc/tgp/tgp_governor_contract_events.txt
Normal file
3495
events/dlc/tgp/tgp_governor_contract_events.txt
Normal file
File diff suppressed because it is too large
Load diff
502
events/dlc/tgp/tgp_governor_contract_events_2000.txt
Normal file
502
events/dlc/tgp/tgp_governor_contract_events_2000.txt
Normal file
|
|
@ -0,0 +1,502 @@
|
|||
##########################
|
||||
# GOVERNOR CONTRACT EVENTS
|
||||
##########################
|
||||
namespace = tgp_governor_contract_event
|
||||
|
||||
### Missing Equipment
|
||||
# Intro event
|
||||
tgp_governor_contract_event.2000 = {
|
||||
type = character_event
|
||||
title = tgp_governor_contract_event.2000.t
|
||||
desc = tgp_governor_contract_event.2000.desc
|
||||
theme = administrative
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = worry
|
||||
}
|
||||
|
||||
immediate = {
|
||||
# Save the contract
|
||||
random_character_active_contract = {
|
||||
limit = {
|
||||
has_task_contract_type = missing_equipment
|
||||
}
|
||||
save_scope_as = ongoing_contract
|
||||
|
||||
# Save the location
|
||||
task_contract_location = {
|
||||
save_scope_as = robbery_location
|
||||
}
|
||||
}
|
||||
|
||||
# Save the capital location
|
||||
top_liege = {
|
||||
capital_province = {
|
||||
save_scope_as = capital_location
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Let's pay the workshops a visit.
|
||||
name = tgp_governor_contract_event.2000.a
|
||||
|
||||
# Travel to the capital and visit a workshop/production facility
|
||||
custom_tooltip = {
|
||||
text = tgp_governor_contract_event.2000.a_tt
|
||||
governor_contract_travel_or_progress_effect = {
|
||||
DESTINATION = scope:capital_location
|
||||
ARRIVAL_EVENT = tgp_governor_contract_event.2001
|
||||
}
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = tgp_governor_contract_event.2000.b
|
||||
|
||||
scope:ongoing_contract = {
|
||||
complete_task_contract = buy_replacements
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 0
|
||||
|
||||
modifier = { # The AI may take this if they have A LOT of gold
|
||||
add = 100
|
||||
short_term_gold >= massive_gold_value
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = tgp_governor_contract_event.2000.c
|
||||
|
||||
scope:ongoing_contract = {
|
||||
complete_task_contract = failure_standard
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 0
|
||||
|
||||
modifier = { # Pick this only if necessary
|
||||
add = 100
|
||||
is_available = no
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Arrival at the workshop
|
||||
tgp_governor_contract_event.2001 = {
|
||||
type = character_event
|
||||
title = tgp_governor_contract_event.2001.t
|
||||
desc = tgp_governor_contract_event.2001.desc
|
||||
theme = administrative
|
||||
override_background = { reference = market }
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = disapproval
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:foreman
|
||||
animation = reading
|
||||
}
|
||||
|
||||
immediate = {
|
||||
# Save the contract
|
||||
random_character_active_contract = {
|
||||
limit = {
|
||||
has_task_contract_type = missing_equipment
|
||||
}
|
||||
save_scope_as = ongoing_contract
|
||||
}
|
||||
|
||||
# Save the capital location
|
||||
top_liege = {
|
||||
capital_province = {
|
||||
save_scope_as = capital_location
|
||||
}
|
||||
}
|
||||
|
||||
# Find/create a foreman for us to talk to
|
||||
if = {
|
||||
limit = {
|
||||
any_pool_character = {
|
||||
province = scope:capital_location
|
||||
is_physically_able_ai_adult = yes
|
||||
}
|
||||
}
|
||||
random_pool_character = {
|
||||
province = scope:capital_location
|
||||
limit = {
|
||||
is_physically_able_ai_adult = yes
|
||||
}
|
||||
save_scope_as = foreman
|
||||
}
|
||||
}
|
||||
else = {
|
||||
create_character = {
|
||||
template = scholar_character
|
||||
culture = scope:capital_location.county.culture
|
||||
faith = scope:capital_location.county.faith
|
||||
location = scope:capital_location
|
||||
gender_female_chance = root_faith_dominant_gender_female_chance
|
||||
save_scope_as = foreman
|
||||
}
|
||||
}
|
||||
|
||||
# Check if you have an important relation at the imperial court
|
||||
top_liege = {
|
||||
if = {
|
||||
limit = {
|
||||
OR = {
|
||||
has_relation_friend = root
|
||||
has_relation_lover = root
|
||||
is_close_or_extended_family_of = root
|
||||
root = { has_hook = prev }
|
||||
}
|
||||
}
|
||||
save_scope_as = court_relation
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
cp:councillor_chancellor ?= {
|
||||
OR = {
|
||||
has_relation_friend = root
|
||||
has_relation_lover = root
|
||||
is_close_or_extended_family_of = root
|
||||
root = { has_hook = prev }
|
||||
}
|
||||
}
|
||||
}
|
||||
cp:councillor_chancellor = { save_scope_as = court_relation }
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
cp:councillor_marshal ?= {
|
||||
OR = {
|
||||
has_relation_friend = root
|
||||
has_relation_lover = root
|
||||
is_close_or_extended_family_of = root
|
||||
root = { has_hook = prev }
|
||||
}
|
||||
}
|
||||
}
|
||||
cp:councillor_marshal = { save_scope_as = court_relation }
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
cp:councillor_steward ?= {
|
||||
OR = {
|
||||
has_relation_friend = root
|
||||
has_relation_lover = root
|
||||
is_close_or_extended_family_of = root
|
||||
root = { has_hook = prev }
|
||||
}
|
||||
}
|
||||
}
|
||||
cp:councillor_steward = { save_scope_as = court_relation }
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
cp:councillor_spymaster ?= {
|
||||
OR = {
|
||||
has_relation_friend = root
|
||||
has_relation_lover = root
|
||||
is_close_or_extended_family_of = root
|
||||
root = { has_hook = prev }
|
||||
}
|
||||
}
|
||||
}
|
||||
cp:councillor_spymaster = { save_scope_as = court_relation }
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
cp:councillor_court_chaplain ?= {
|
||||
OR = {
|
||||
has_relation_friend = root
|
||||
has_relation_lover = root
|
||||
is_close_or_extended_family_of = root
|
||||
root = { has_hook = prev }
|
||||
}
|
||||
}
|
||||
}
|
||||
cp:councillor_court_chaplain = { save_scope_as = court_relation }
|
||||
}
|
||||
}
|
||||
|
||||
hidden_effect = { # Delay the travel until the events are resolved
|
||||
current_travel_plan ?= {
|
||||
delay_travel_plan = { days = 180 }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # A _clerical_ error? [relation] will hear about this...
|
||||
name = tgp_governor_contract_event.2001.a
|
||||
|
||||
trigger = {
|
||||
exists = scope:court_relation
|
||||
}
|
||||
|
||||
custom_tooltip = {
|
||||
text = tgp_governor_contract_event.2001.a.tt
|
||||
trigger_event = {
|
||||
id = tgp_governor_contract_event.2002
|
||||
}
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Surely some additional compensation is in order?
|
||||
name = tgp_governor_contract_event.2001.b
|
||||
|
||||
duel = {
|
||||
skill = diplomacy
|
||||
value = 10
|
||||
50 = { # Success
|
||||
desc = tgp_governor_contract_event.2001.tt_success_desc
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 2.5
|
||||
}
|
||||
trigger_event = {
|
||||
id = tgp_governor_contract_event.2002
|
||||
}
|
||||
custom_tooltip = tgp_governor_contract_event.2001.tt_success
|
||||
}
|
||||
50 = { # Failure
|
||||
desc = tgp_governor_contract_event.2001.tt_failure_desc
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -2.5
|
||||
}
|
||||
trigger_event = {
|
||||
id = tgp_governor_contract_event.2003
|
||||
}
|
||||
custom_tooltip = tgp_governor_contract_event.2001.tt_failure
|
||||
show_as_tooltip = { # Actual deduction is done in follow-up event
|
||||
change_influence = medium_influence_loss
|
||||
add_prestige = medium_prestige_loss
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
content = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
|
||||
modifier = {
|
||||
factor = 2
|
||||
diplomacy >= good_skill_level
|
||||
}
|
||||
modifier = {
|
||||
factor = 0
|
||||
exists = scope:court_relation
|
||||
}
|
||||
modifier = {
|
||||
factor = 0
|
||||
has_trait = content
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # It would be unfortunate if your incompetence became public, no?
|
||||
name = tgp_governor_contract_event.2001.c
|
||||
|
||||
duel = {
|
||||
skill = intrigue
|
||||
value = 10
|
||||
50 = { # Success
|
||||
desc = tgp_governor_contract_event.2001.tt_success_desc
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = 2.5
|
||||
}
|
||||
trigger_event = {
|
||||
id = tgp_governor_contract_event.2002
|
||||
}
|
||||
custom_tooltip = tgp_governor_contract_event.2001.tt_success
|
||||
}
|
||||
50 = { # Failure
|
||||
desc = tgp_governor_contract_event.2001.tt_failure_desc
|
||||
compare_modifier = {
|
||||
value = scope:duel_value
|
||||
multiplier = -2.5
|
||||
}
|
||||
trigger_event = {
|
||||
id = tgp_governor_contract_event.2003
|
||||
}
|
||||
custom_tooltip = tgp_governor_contract_event.2001.tt_failure
|
||||
show_as_tooltip = { # Actual deduction is done in follow-up event
|
||||
change_influence = medium_influence_loss
|
||||
add_prestige = medium_prestige_loss
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
stress_impact = {
|
||||
compassionate = medium_stress_impact_gain
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 0
|
||||
|
||||
modifier = {
|
||||
factor = 2
|
||||
intrigue >= good_skill_level
|
||||
}
|
||||
modifier = {
|
||||
factor = 1.2
|
||||
has_trait = deceitful
|
||||
}
|
||||
modifier = {
|
||||
factor = 0
|
||||
has_trait = compassionate
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Very well. Just make certain that it does.
|
||||
name = tgp_governor_contract_event.2001.d
|
||||
|
||||
scope:ongoing_contract = {
|
||||
complete_task_contract = offered_replacements
|
||||
}
|
||||
|
||||
current_travel_plan ?= { resume_travel_plan = yes }
|
||||
|
||||
ai_chance = {
|
||||
base = 50
|
||||
|
||||
modifier = {
|
||||
factor = 2
|
||||
has_trait = content
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Workship visit: Success
|
||||
tgp_governor_contract_event.2002 = {
|
||||
type = character_event
|
||||
title = tgp_governor_contract_event.2002.t
|
||||
desc = tgp_governor_contract_event.2002.desc
|
||||
theme = administrative
|
||||
override_background = { reference = market }
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = schadenfreude
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:foreman
|
||||
animation = obsequious_bow
|
||||
}
|
||||
|
||||
immediate = {
|
||||
generate_governance_outcome_effect = { OPTIONS = 4 }
|
||||
}
|
||||
|
||||
# Special governor trait option
|
||||
option = { # Let's secure a number of shipments in the future.
|
||||
name = tgp_governor_contract_event.2002.a
|
||||
|
||||
trigger = {
|
||||
exists = scope:governance_option_a
|
||||
}
|
||||
scope:ongoing_contract = {
|
||||
complete_task_contract = secure_future_deliveries
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Secure me your next #EMP two#! shipments.
|
||||
name = tgp_governor_contract_event.2002.b
|
||||
trigger = { exists = scope:governance_option_b }
|
||||
|
||||
scope:ongoing_contract = {
|
||||
complete_task_contract = demand_extra_shipment
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 25
|
||||
}
|
||||
}
|
||||
|
||||
option = { # A monetary compensation is in order.
|
||||
name = tgp_governor_contract_event.2002.c
|
||||
trigger = { exists = scope:governance_option_c }
|
||||
|
||||
scope:ongoing_contract = {
|
||||
complete_task_contract = demand_gold
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 25
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Send me the best equipment you have available.
|
||||
name = tgp_governor_contract_event.2002.d
|
||||
trigger = { exists = scope:governance_option_d }
|
||||
|
||||
scope:ongoing_contract = {
|
||||
complete_task_contract = demand_best_equipment
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 25
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
current_travel_plan ?= { resume_travel_plan = yes }
|
||||
}
|
||||
}
|
||||
|
||||
# Workship visit: Failure
|
||||
tgp_governor_contract_event.2003 = {
|
||||
type = character_event
|
||||
title = tgp_governor_contract_event.2003.t
|
||||
desc = tgp_governor_contract_event.2003.desc
|
||||
theme = administrative
|
||||
override_background = { reference = market }
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = disappointed
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:foreman
|
||||
animation = anger
|
||||
}
|
||||
|
||||
immediate = {
|
||||
}
|
||||
|
||||
option = { # Fine.
|
||||
name = tgp_governor_contract_event.2003.a
|
||||
|
||||
scope:ongoing_contract = {
|
||||
complete_task_contract = offered_replacements
|
||||
}
|
||||
|
||||
change_influence = medium_influence_loss
|
||||
add_prestige = medium_prestige_loss
|
||||
}
|
||||
|
||||
after = {
|
||||
current_travel_plan ?= { resume_travel_plan = yes }
|
||||
}
|
||||
}
|
||||
176
events/dlc/tgp/tgp_house_blocs.txt
Normal file
176
events/dlc/tgp/tgp_house_blocs.txt
Normal file
|
|
@ -0,0 +1,176 @@
|
|||
namespace = tgp_house_blocs
|
||||
|
||||
# Message management
|
||||
|
||||
tgp_house_blocs.0001 = {
|
||||
type = character_event
|
||||
hidden = yes
|
||||
|
||||
trigger = { has_character_flag = bloc_message_flag }
|
||||
|
||||
immediate = {
|
||||
# Notify all members about them leaving.
|
||||
send_interface_message = {
|
||||
type = msg_left_house_bloc
|
||||
title = msg_left_bloc_root
|
||||
desc = msg_left_bloc_desc_root
|
||||
left_icon = scope:leaver.house
|
||||
right_icon = scope:bloc.leading_house
|
||||
custom_description = {
|
||||
text = leave_house_bloc_effect
|
||||
subject = house.house_head
|
||||
}
|
||||
}
|
||||
every_player = {
|
||||
limit = {
|
||||
confederation ?= scope:bloc
|
||||
NOT = { this = root }
|
||||
}
|
||||
send_interface_message = {
|
||||
type = msg_left_house_bloc
|
||||
title = msg_left_bloc
|
||||
desc = msg_left_bloc_desc
|
||||
left_icon = scope:leaver.house
|
||||
right_icon = scope:bloc.leading_house
|
||||
custom_description = {
|
||||
text = leave_house_bloc_effect
|
||||
subject = scope:leaver.house_head
|
||||
}
|
||||
}
|
||||
}
|
||||
remove_character_flag = bloc_message_flag
|
||||
}
|
||||
}
|
||||
|
||||
tgp_house_blocs.0002 = {
|
||||
type = character_event
|
||||
hidden = yes
|
||||
|
||||
trigger = { has_character_flag = bloc_message_flag }
|
||||
|
||||
immediate = {
|
||||
# Notify all members about them leaving.
|
||||
send_interface_message = {
|
||||
type = msg_joined_house_bloc
|
||||
title = msg_joined_bloc_root
|
||||
desc = msg_joined_bloc_desc_root
|
||||
left_icon = scope:joiner.house
|
||||
right_icon = scope:bloc.leading_house
|
||||
custom_description = {
|
||||
text = join_house_bloc_effect
|
||||
subject = scope:joiner
|
||||
object = scope:bloc.leading_house.house_head
|
||||
}
|
||||
}
|
||||
every_player = {
|
||||
limit = {
|
||||
confederation ?= scope:bloc
|
||||
NOT = { this = root }
|
||||
}
|
||||
send_interface_message = {
|
||||
type = msg_joined_house_bloc
|
||||
title = msg_joined_bloc
|
||||
desc = msg_joined_bloc_desc
|
||||
left_icon = scope:joiner.house
|
||||
right_icon = scope:bloc.leading_house
|
||||
custom_description = {
|
||||
text = join_house_bloc_effect
|
||||
subject = scope:joiner
|
||||
object = scope:bloc.leading_house.house_head
|
||||
}
|
||||
}
|
||||
}
|
||||
remove_character_flag = bloc_message_flag
|
||||
}
|
||||
}
|
||||
|
||||
tgp_house_blocs.0010 = {
|
||||
type = character_event
|
||||
hidden = yes
|
||||
|
||||
immediate = {
|
||||
bloc_leader_change_aspiration_cohesion_effect = yes
|
||||
}
|
||||
}
|
||||
|
||||
# Strength Unlock
|
||||
|
||||
tgp_house_blocs.1001 = {
|
||||
type = character_event
|
||||
title = tgp_house_blocs.1001.t
|
||||
desc = tgp_house_blocs.1001.desc
|
||||
theme = war
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = thinking
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:bloc_leader
|
||||
animation = japanese_war_fan
|
||||
}
|
||||
override_background = { reference = army_camp }
|
||||
|
||||
trigger = {
|
||||
is_ruler = yes
|
||||
exists = house.house_confederation
|
||||
NOT = { is_at_war_with = house.house_confederation.leading_house.house_head }
|
||||
}
|
||||
|
||||
immediate = {
|
||||
house = {
|
||||
house_confederation = {
|
||||
leading_house.house_head = { save_scope_as = bloc_leader }
|
||||
}
|
||||
every_house_member = {
|
||||
limit = {
|
||||
is_landed = yes
|
||||
top_liege = root.top_liege
|
||||
OR = {
|
||||
liege = scope:bloc_leader
|
||||
liege = root
|
||||
}
|
||||
NOR = {
|
||||
this = root
|
||||
is_at_war_with = house.house_confederation.leading_house.house_head
|
||||
}
|
||||
}
|
||||
add_to_list = war_joiners
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = tgp_house_blocs.1001.a
|
||||
scope:war = {
|
||||
add_attacker = root
|
||||
}
|
||||
every_in_list = {
|
||||
list = war_joiners
|
||||
save_temporary_scope_as = war_joiner_temp
|
||||
scope:war = {
|
||||
add_attacker = scope:war_joiner_temp
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = tgp_house_blocs.1001.b
|
||||
house = {
|
||||
set_variable = {
|
||||
name = bloc_leaving_reason
|
||||
value = flag:reason_events
|
||||
days = 4
|
||||
}
|
||||
tgp_leave_house_bloc_effect = {
|
||||
OPINION = flag:yes
|
||||
TRUCE = flag:yes
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 0
|
||||
}
|
||||
}
|
||||
}
|
||||
1185
events/dlc/tgp/tgp_interaction_events.txt
Normal file
1185
events/dlc/tgp/tgp_interaction_events.txt
Normal file
File diff suppressed because it is too large
Load diff
125
events/dlc/tgp/tgp_japan_career_events.txt
Normal file
125
events/dlc/tgp/tgp_japan_career_events.txt
Normal file
|
|
@ -0,0 +1,125 @@
|
|||
###################################
|
||||
# JAPAN CAREER EVENTS
|
||||
###################################
|
||||
namespace = tgp_japan_career
|
||||
|
||||
### EVENT LIST ####################################################################
|
||||
## 0001 - Intro in 1066
|
||||
## 0002 - Intro in 1178
|
||||
###################################################################################
|
||||
|
||||
# Intro Event - Who are you playing as and what is your situation
|
||||
# Also acts as an introduction when you start playing in Japan
|
||||
tgp_japan_career.0001 = {
|
||||
type = character_event
|
||||
window = big_event_window
|
||||
title = tgp_japan_career.0001.t
|
||||
desc = {
|
||||
desc = tgp_japan_career.0001.desc
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = { has_title = title:k_chrysanthemum_throne } #is tenno
|
||||
desc = tgp_japan_career.0001.tenno_desc
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { has_title = title:e_japan } #is kampaku
|
||||
desc = tgp_japan_career.0001.kampaku_desc
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { government_has_flag = government_is_japan_feudal } #is soryo
|
||||
desc = tgp_japan_career.0001.soryo_desc
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = { government_has_flag = government_is_japan_administrative } #is ritsuryo
|
||||
desc = tgp_japan_career.0001.ritsuryo_desc
|
||||
}
|
||||
}
|
||||
desc = tgp_japan_career.0001.desc_2
|
||||
}
|
||||
theme = diplomacy
|
||||
override_icon = {
|
||||
trigger = { government_has_flag = government_is_japan_feudal }
|
||||
reference ="gfx/interface/icons/event_types/type_war.dds"
|
||||
}
|
||||
override_header_background = {
|
||||
trigger = { government_has_flag = government_is_japan_feudal }
|
||||
reference = "gfx/interface/window_event/event_header_red.dds"
|
||||
}
|
||||
override_background = {
|
||||
trigger = {
|
||||
has_title = title:k_chrysanthemum_throne
|
||||
}
|
||||
reference = tgp_garden_asia
|
||||
}
|
||||
override_background = {
|
||||
trigger = {
|
||||
has_title = title:e_japan
|
||||
}
|
||||
reference = tgp_study_japan
|
||||
}
|
||||
override_background = {
|
||||
trigger = {
|
||||
government_has_flag = government_is_japan_feudal
|
||||
}
|
||||
reference = tgp_crossroad_inn_asia
|
||||
}
|
||||
override_background = {
|
||||
trigger = {
|
||||
government_has_flag = government_is_japan_administrative
|
||||
}
|
||||
reference = bedchamber
|
||||
}
|
||||
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
government_has_flag = government_is_japan_feudal #Soryo ruler should have their sword out
|
||||
}
|
||||
animation = inspect_weapon
|
||||
}
|
||||
animation = chancellor
|
||||
}
|
||||
|
||||
right_portrait = {
|
||||
character = player_heir
|
||||
triggered_animation = {
|
||||
trigger = {
|
||||
government_has_flag = government_is_japan_feudal #Soryo ruler should have their sword out
|
||||
}
|
||||
animation = horse_archer_aggressive
|
||||
camera = camera_event_scheme_vs_left_look_left
|
||||
}
|
||||
animation = holding_scrolls
|
||||
}
|
||||
|
||||
trigger = {
|
||||
has_tgp_dlc_trigger = yes
|
||||
government_is_japanese_trigger = yes
|
||||
}
|
||||
|
||||
immediate = {
|
||||
# Scopes
|
||||
save_scope_as = new_ruler
|
||||
house ?= { save_scope_as = ruler_family }
|
||||
top_liege = { save_scope_as = kampaku }
|
||||
player_heir ?= { save_scope_as = heir }
|
||||
}
|
||||
|
||||
option = {
|
||||
name = tgp_japan_career.0001.a
|
||||
add_character_modifier = {
|
||||
modifier = tgp_japan_peace_modifier
|
||||
years = 20
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = tgp_japan_career.0001.b
|
||||
add_character_modifier = {
|
||||
modifier = tgp_japan_war_modifier
|
||||
years = 20
|
||||
}
|
||||
}
|
||||
}
|
||||
3317
events/dlc/tgp/tgp_japan_decision_events.txt
Normal file
3317
events/dlc/tgp/tgp_japan_decision_events.txt
Normal file
File diff suppressed because it is too large
Load diff
1626
events/dlc/tgp/tgp_japan_general_events.txt
Normal file
1626
events/dlc/tgp/tgp_japan_general_events.txt
Normal file
File diff suppressed because it is too large
Load diff
4388
events/dlc/tgp/tgp_japan_yearly_events.txt
Normal file
4388
events/dlc/tgp/tgp_japan_yearly_events.txt
Normal file
File diff suppressed because it is too large
Load diff
5722
events/dlc/tgp/tgp_japan_yearly_events_ariana.txt
Normal file
5722
events/dlc/tgp/tgp_japan_yearly_events_ariana.txt
Normal file
File diff suppressed because it is too large
Load diff
180
events/dlc/tgp/tgp_korea_decision_events.txt
Normal file
180
events/dlc/tgp/tgp_korea_decision_events.txt
Normal file
|
|
@ -0,0 +1,180 @@
|
|||
namespace = tgp_korea_decision
|
||||
|
||||
# unify_goryeo_decision
|
||||
|
||||
tgp_korea_decision.9101 = { # Ruler
|
||||
type = character_event
|
||||
title = tgp_korea_decision.9101.t
|
||||
desc = {
|
||||
desc = tgp_korea_decision.9101.intro
|
||||
desc = tgp_korea_decision.9101.desc
|
||||
}
|
||||
theme = realm
|
||||
override_effect_2d = { reference = legend_glow }
|
||||
override_background = { reference = throne_room_scope }
|
||||
left_portrait = {
|
||||
character = scope:king_of_goryeo
|
||||
animation = holding_hu
|
||||
}
|
||||
|
||||
immediate = {
|
||||
play_music_cue = "mx_cue_epic_sacral_moment"
|
||||
save_scope_as = background_throne_room_scope
|
||||
korea_unify_goryeo_reward_effect = yes
|
||||
}
|
||||
|
||||
option = { # Samhan
|
||||
name = tgp_korea_decision.9101.a
|
||||
# Rename Goryeo culture
|
||||
hidden_effect = {
|
||||
culture:goryeo = {
|
||||
set_culture_name = {
|
||||
noun = samhan_hybrid_name
|
||||
collective_noun = samhan_hybrid_collective_noun
|
||||
prefix = samhan_hybrid_prefix
|
||||
}
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
}
|
||||
}
|
||||
|
||||
option = { # Goryeo
|
||||
name = tgp_korea_decision.9101.b
|
||||
trigger = { culture = culture:goguryeo }
|
||||
custom_tooltip = {
|
||||
text = tgp_korea_decision.9101.b.reason
|
||||
title:e_goryeo = { set_title_name = "cn_goryeo" }
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
after = {
|
||||
# Inform Vassals
|
||||
every_player = {
|
||||
limit = { is_vassal_or_below_of = root }
|
||||
trigger_event = tgp_korea_decision.9102
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tgp_korea_decision.9102 = { # Vassal
|
||||
type = character_event
|
||||
title = tgp_korea_decision.9102.t
|
||||
desc = {
|
||||
desc = tgp_korea_decision.9101.intro
|
||||
desc = tgp_korea_decision.9102.desc
|
||||
}
|
||||
theme = realm
|
||||
override_effect_2d = { reference = legend_glow }
|
||||
override_background = { reference = throne_room_scope }
|
||||
left_portrait = {
|
||||
character = scope:king_of_goryeo
|
||||
animation = war_over_tie
|
||||
}
|
||||
|
||||
immediate = {
|
||||
show_as_tooltip = {
|
||||
scope:king_of_goryeo = { korea_unify_goryeo_reward_effect = yes }
|
||||
}
|
||||
}
|
||||
|
||||
option = {
|
||||
name = tgp_korea_decision.9101.a
|
||||
}
|
||||
}
|
||||
|
||||
# NEW CEREMONIAL REGENCY EVENT
|
||||
|
||||
#tgp_korea_decision.9201 = {
|
||||
# orphan = yes # DEPRECATED
|
||||
# type = character_event
|
||||
# title = tgp_korea_decision.9201.t
|
||||
# desc = tgp_korea_decision.9201.desc
|
||||
# theme = crown
|
||||
# left_portrait = {
|
||||
# character = root
|
||||
# animation = holding_hu
|
||||
# }
|
||||
# override_background = { reference = throne_room_scope }
|
||||
#
|
||||
# trigger = {
|
||||
# OR = {
|
||||
# exists = primary_title.previous_holder
|
||||
# NOT = { primary_title = title:e_viet }
|
||||
# }
|
||||
# }
|
||||
#
|
||||
# immediate = {
|
||||
# show_as_tooltip = {
|
||||
# scope:founder = { get_title = scope:new_title }
|
||||
# scope:regent_title.holder = { add_realm_law_skip_effects = single_heir_succession_law } # Regency inherited separately
|
||||
# scope:new_title = { add_title_law = single_heir_succession_law }
|
||||
# }
|
||||
# every_player = {
|
||||
# limit = {
|
||||
# top_liege = root
|
||||
# NOT = { this = root }
|
||||
# }
|
||||
# trigger_event = {
|
||||
# id = tgp_korea_decision.9202
|
||||
# delayed = yes
|
||||
# }
|
||||
# }
|
||||
# }
|
||||
# option = {
|
||||
# name = tgp_korea_decision.9201.a
|
||||
# ai_chance = {
|
||||
# base = 100
|
||||
# }
|
||||
# }
|
||||
#}
|
||||
|
||||
#tgp_korea_decision.9202 = {
|
||||
# orphan = yes # DEPRECATED
|
||||
# type = character_event
|
||||
# title = tgp_korea_decision.9201.t
|
||||
# desc = tgp_korea_decision.9202.desc
|
||||
# theme = crown
|
||||
# left_portrait = {
|
||||
# character = root
|
||||
# animation = throne_room_bow_1
|
||||
# }
|
||||
# right_portrait = {
|
||||
# character = scope:founder
|
||||
# animation = holding_hu
|
||||
# }
|
||||
# override_background = { reference = throne_room_scope }
|
||||
# immediate = {
|
||||
# show_as_tooltip = {
|
||||
# scope:founder = { get_title = scope:new_title }
|
||||
# scope:regent_title.holder = { add_realm_law_skip_effects = single_heir_succession_law } # Regency inherited separately
|
||||
# scope:new_title = { add_title_law = single_heir_succession_law }
|
||||
# }
|
||||
# }
|
||||
# option = { name = tgp_korea_decision.9202.a }
|
||||
#}
|
||||
|
||||
#tgp_korea_decision.9203 = {
|
||||
# orphan = yes # DEPRECATED
|
||||
# hidden = yes
|
||||
# type = character_event
|
||||
# trigger = {
|
||||
# government_has_flag = government_is_meritocratic
|
||||
# is_independent_ruler = yes
|
||||
# highest_held_title_tier >= tier_empire
|
||||
# tgp_realm_has_ceremonial_liege_trigger = no
|
||||
# }
|
||||
# immediate = {
|
||||
# save_scope_as = founder
|
||||
# save_scope_as = background_throne_room_scope
|
||||
# #tgp_create_ceremonial_regent_title_effect = { FOUNDER = root }
|
||||
# trigger_event = {
|
||||
# id = tgp_korea_decision.9201
|
||||
# delayed = yes
|
||||
# }
|
||||
# }
|
||||
#}
|
||||
1
events/dlc/tgp/tgp_maintenance_events.txt
Normal file
1
events/dlc/tgp/tgp_maintenance_events.txt
Normal file
|
|
@ -0,0 +1 @@
|
|||
#
|
||||
278
events/dlc/tgp/tgp_mandala_capital_events.txt
Normal file
278
events/dlc/tgp/tgp_mandala_capital_events.txt
Normal file
|
|
@ -0,0 +1,278 @@
|
|||
#Mandala Capital Events
|
||||
|
||||
namespace = tgp_east_asia_mandala_capital_events
|
||||
|
||||
tgp_east_asia_mandala_capital_events.1000 = {
|
||||
type = character_event
|
||||
window = big_event_window
|
||||
title = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:great_project = { great_project_type = mandala_capital_05 }
|
||||
}
|
||||
desc = tgp_east_asia_mandala_capital_events.1000.t.final
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:great_project = { great_project_type = mandala_capital_04 }
|
||||
}
|
||||
desc = tgp_east_asia_mandala_capital_events.1000.t.fourth
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:great_project = { great_project_type = mandala_capital_03 }
|
||||
}
|
||||
desc = tgp_east_asia_mandala_capital_events.1000.t.third
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:great_project = { great_project_type = mandala_capital_02 }
|
||||
}
|
||||
desc = tgp_east_asia_mandala_capital_events.1000.t.second
|
||||
}
|
||||
desc = tgp_east_asia_mandala_capital_events.1000.t
|
||||
}
|
||||
}
|
||||
desc = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:great_project = { great_project_type = mandala_capital_05 }
|
||||
}
|
||||
desc = tgp_east_asia_mandala_capital_events.1000.desc.final
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:great_project = { great_project_type = mandala_capital_04 }
|
||||
}
|
||||
desc = tgp_east_asia_mandala_capital_events.1000.desc.fourth
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:great_project = { great_project_type = mandala_capital_03 }
|
||||
}
|
||||
desc = tgp_east_asia_mandala_capital_events.1000.desc.third
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:great_project = { great_project_type = mandala_capital_02 }
|
||||
}
|
||||
desc = tgp_east_asia_mandala_capital_events.1000.desc.second
|
||||
}
|
||||
desc = tgp_east_asia_mandala_capital_events.1000.desc
|
||||
}
|
||||
}
|
||||
theme = mandala
|
||||
left_portrait = {
|
||||
character = scope:onlooker
|
||||
animation = admiration
|
||||
}
|
||||
center_portrait = {
|
||||
character = root
|
||||
animation = personality_zealous
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:onlooker_2
|
||||
camera = camera_event_scheme_vs_center_positioned_left
|
||||
animation = ecstasy
|
||||
}
|
||||
override_effect_2d = { reference = legend_glow }
|
||||
immediate = {
|
||||
mandala_owner_reward_01_effect = yes
|
||||
scope:province = { save_scope_as = project_location }
|
||||
#Grab some characters who are celebrating and excited
|
||||
random_courtier = {
|
||||
limit = {
|
||||
is_available_adult = yes
|
||||
this != root
|
||||
}
|
||||
save_scope_as = onlooker
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
NOT = { exists = scope:onlooker }
|
||||
}
|
||||
random_pool_character = {
|
||||
province = root.capital_province
|
||||
limit = { is_available_adult = yes }
|
||||
save_scope_as = onlooker
|
||||
}
|
||||
}
|
||||
random_courtier = {
|
||||
limit = {
|
||||
is_available_adult = yes
|
||||
this != root
|
||||
this != scope:onlooker
|
||||
}
|
||||
save_scope_as = onlooker_2
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
NOT = { exists = scope:onlooker_2 }
|
||||
}
|
||||
random_pool_character = {
|
||||
province = root.capital_province
|
||||
limit = { is_available_adult = yes }
|
||||
save_scope_as = onlooker_2
|
||||
}
|
||||
}
|
||||
}
|
||||
#Run effects
|
||||
option = {
|
||||
name = {
|
||||
text = {
|
||||
first_valid = {
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:great_project = { great_project_type = mandala_capital_05 }
|
||||
}
|
||||
desc = tgp_east_asia_mandala_capital_events.1000.a.final
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:great_project = { great_project_type = mandala_capital_04 }
|
||||
}
|
||||
desc = tgp_east_asia_mandala_capital_events.1000.a.fourth
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:great_project = { great_project_type = mandala_capital_03 }
|
||||
}
|
||||
desc = tgp_east_asia_mandala_capital_events.1000.a.third
|
||||
}
|
||||
triggered_desc = {
|
||||
trigger = {
|
||||
scope:great_project = { great_project_type = mandala_capital_02 }
|
||||
}
|
||||
desc = tgp_east_asia_mandala_capital_events.1000.a.second
|
||||
}
|
||||
desc = tgp_east_asia_mandala_capital_events.1000.a
|
||||
}
|
||||
}
|
||||
}
|
||||
#Did you contribute something?
|
||||
if = {
|
||||
limit = {
|
||||
scope:great_project = { great_project_type = mandala_capital_01 }
|
||||
}
|
||||
check_and_reward_contributions_01_effect = yes
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:great_project = { great_project_type = mandala_capital_02 }
|
||||
}
|
||||
check_and_reward_contributions_02_effect = yes
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:great_project = { great_project_type = mandala_capital_03 }
|
||||
}
|
||||
check_and_reward_contributions_03_effect = yes
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:great_project = { great_project_type = mandala_capital_04 }
|
||||
}
|
||||
check_and_reward_contributions_04_effect = yes
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:great_project = { great_project_type = mandala_capital_05 }
|
||||
}
|
||||
check_and_reward_contributions_05_effect = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
tgp_east_asia_mandala_capital_events.1010 = {
|
||||
type = character_event
|
||||
window = big_event_window
|
||||
title = tgp_east_asia_mandala_capital_events.1010.t
|
||||
desc = tgp_east_asia_mandala_capital_events.1010.desc
|
||||
theme = mandala
|
||||
left_portrait = {
|
||||
character = root
|
||||
triggered_animation = {
|
||||
trigger = { ai_honor <= 0 }
|
||||
animation = scheme
|
||||
}
|
||||
animation = personality_compassionate
|
||||
}
|
||||
right_portrait = {
|
||||
character = scope:envoy
|
||||
animation = obsequious_bow
|
||||
}
|
||||
lower_right_portrait = {
|
||||
character = scope:overlord_scope
|
||||
}
|
||||
immediate = {
|
||||
scope:owner = {
|
||||
save_scope_as = overlord_scope
|
||||
save_scope_as = value_target
|
||||
}
|
||||
scope:province = { save_scope_as = project_location }
|
||||
create_character = {
|
||||
template = travel_messenger
|
||||
location = root.location
|
||||
culture = scope:overlord_scope.location.culture
|
||||
faith = scope:overlord_scope.location.faith
|
||||
gender_female_chance = scope_value_target_soldier_female_chance
|
||||
save_scope_as = envoy
|
||||
}
|
||||
}
|
||||
#Run effects
|
||||
option = {
|
||||
name = tgp_east_asia_mandala_capital_events.1010.a
|
||||
#Did you contribute something?
|
||||
if = {
|
||||
limit = {
|
||||
scope:great_project = { great_project_type = mandala_capital_01 }
|
||||
}
|
||||
check_and_reward_contributions_01_effect = yes
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:great_project = { great_project_type = mandala_capital_02 }
|
||||
}
|
||||
check_and_reward_contributions_02_effect = yes
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:great_project = { great_project_type = mandala_capital_03 }
|
||||
}
|
||||
check_and_reward_contributions_03_effect = yes
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:great_project = { great_project_type = mandala_capital_04 }
|
||||
}
|
||||
check_and_reward_contributions_04_effect = yes
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:great_project = { great_project_type = mandala_capital_05 }
|
||||
}
|
||||
check_and_reward_contributions_05_effect = yes
|
||||
}
|
||||
#Get some opinion
|
||||
if = {
|
||||
limit = {
|
||||
scope:overlord_scope = { is_ai = yes }
|
||||
}
|
||||
mandala_contributor_opinion_reward_effect = { OVERLORD = scope:overlord_scope }
|
||||
}
|
||||
}
|
||||
#Sweep, sweep
|
||||
after = {
|
||||
scope:envoy = {
|
||||
if = { # Cleanup
|
||||
limit = {
|
||||
root = { is_ai = yes }
|
||||
is_courtier = no
|
||||
}
|
||||
silent_disappearance_effect = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
1716
events/dlc/tgp/tgp_mandala_devaraja_events.txt
Normal file
1716
events/dlc/tgp/tgp_mandala_devaraja_events.txt
Normal file
File diff suppressed because it is too large
Load diff
2724
events/dlc/tgp/tgp_mandala_events.txt
Normal file
2724
events/dlc/tgp/tgp_mandala_events.txt
Normal file
File diff suppressed because it is too large
Load diff
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue