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

720 lines
13 KiB
Text

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 = {
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 = {
faith.religious_head = { save_scope_as = hof }
}
option = {
name = ach_maintenance_events.0106.a
}
}