N3OW_Western_eastern_europe/events/dlc/ep3/ep3_akolouthos_events.txt
2026-01-06 14:25:21 +01:00

332 lines
7.2 KiB
Text

namespace = ep3_akolouthos_events
# Varangian-eligible courtier gains Varangian or Varangian gains Loyal
ep3_akolouthos_events.1000 = {
hidden = yes
trigger = {
OR = {
# A varangian who isn't loyal
any_courtier = {
has_trait = varangian
NOT = { has_trait = loyal }
}
#An eligible Varangian who doesn't have the trait
any_courtier = {
NOT = { has_trait = varangian }
ep3_varangian_trigger = yes
}
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
any_court_position_holder = {
type = bodyguard_court_position
NOT = { has_trait = varangian }
ep3_varangian_trigger = yes
}
}
modifier = {
add = 1
any_court_position_holder = {
type = bodyguard_court_position
NOT = { has_trait = loyal }
has_trait = varangian
}
}
modifier = {
add = 1
any_court_position_holder = {
type = akolouthos_court_position
NOT = { has_trait = varangian }
ep3_varangian_trigger = yes
}
}
}
immediate = {
random_court_position_holder = {
type = akolouthos_court_position
save_scope_as = akolouthos
}
#Most important that Varangian Akolouthos becomes Varangian
if = {
limit = {
any_court_position_holder = {
type = akolouthos_court_position
NOT = { has_trait = varangian }
ep3_varangian_trigger = yes
}
}
random_court_position_holder = {
type = akolouthos_court_position
limit = {
NOT = { has_trait = varangian }
ep3_varangian_trigger = yes
}
save_scope_as = trait_getter
}
ep3_send_akolouthos_message_varangian = yes
}
#Second-most important: Varangian bodyguard becomes Varangian
else_if = {
limit = {
any_court_position_holder = {
type = bodyguard_court_position
NOT = { has_trait = varangian }
ep3_varangian_trigger = yes
}
}
random_court_position_holder = {
type = bodyguard_court_position
limit = {
NOT = { has_trait = varangian }
ep3_varangian_trigger = yes
}
save_scope_as = trait_getter
}
ep3_send_akolouthos_message_varangian = yes
}
#Then either add loyal to a Varangian bodyguard or to Akolouthos
else_if = {
limit = {
OR = {
any_court_position_holder = {
type = bodyguard_court_position
has_trait = varangian
NOT = { has_trait = loyal }
}
any_court_position_holder = {
type = akolouthos_court_position
has_trait = varangian
NOT = { has_trait = loyal }
}
}
}
random_list = {
#Add loyal to a Varangian bodyguard
10 = {
trigger = {
any_court_position_holder = {
type = bodyguard_court_position
has_trait = varangian
NOT = { has_trait = loyal }
}
}
random_court_position_holder = {
type = bodyguard_court_position
limit = {
has_trait = varangian
NOT = { has_trait = loyal }
}
save_scope_as = trait_getter
}
ep3_send_akolouthos_message_loyal = yes
}
#Add loyal to a Varangian akolouthos
10 = {
trigger = {
any_court_position_holder = {
type = akolouthos_court_position
has_trait = varangian
NOT = { has_trait = loyal }
}
}
random_court_position_holder = {
type = akolouthos_court_position
limit = {
has_trait = varangian
NOT = { has_trait = loyal }
}
save_scope_as = trait_getter
}
ep3_send_akolouthos_message_loyal = yes
}
}
}
#Add Varangian to some non-Varangian Varangian
else_if = {
limit = {
any_courtier = {
NOT = { has_trait = varangian }
ep3_varangian_trigger = yes
}
}
random_courtier = {
limit = {
NOT = { has_trait = varangian }
ep3_varangian_trigger = yes
}
save_scope_as = trait_getter
}
ep3_send_akolouthos_message_varangian = yes
}
#Add loyal to some non-bodyguard Varangian
else = {
random_courtier = {
limit = {
has_trait = varangian
NOT = { has_trait = loyal }
}
save_scope_as = trait_getter
}
ep3_send_akolouthos_message_loyal = yes
}
}
}
# Akolouthos recruits Varangian
ep3_akolouthos_events.1001 = {
hidden = yes
trigger = {
#Don't really need this if root is swarming in Varangians already
NOT = {
any_courtier_or_guest = {
count >= 8
ep3_varangian_trigger = yes
}
}
}
weight_multiplier = {
base = 1
#Weigh up chances if Varangians are needed to fill posts
modifier = {
add = 1
NOT = {
any_courtier_or_guest = {
count >= 3
ep3_varangian_trigger = yes
}
}
}
}
immediate = {
random_court_position_holder = {
type = akolouthos_court_position
save_scope_as = akolouthos
}
#Find a candidate in the local pool
if = {
limit = {
is_landed = yes
any_pool_character = {
province = root.capital_province
ep3_varangian_trigger = yes
prowess > low_skill_rating
}
}
random_pool_character = {
province = root.capital_province
limit = {
ep3_varangian_trigger = yes
prowess > low_skill_rating
}
save_scope_as = new_varangian
}
scope:new_varangian = {
if = {
limit = {
NOT = { has_trait = varangian }
}
hidden_effect = {
add_trait = varangian
}
}
}
}
#Find a candidate in pools of akolouthos's culture
else_if = {
limit = {
scope:akolouthos = {
ep3_varangian_trigger = yes
}
exists = scope:akolouthos.culture.culture_head
scope:akolouthos.culture.culture_head = {
is_landed = yes
}
any_pool_character = {
province = scope:akolouthos.culture.culture_head.capital_province
ep3_varangian_trigger = yes
prowess >= low_skill_rating
}
}
scope:akolouthos.culture.culture_head = {
save_scope_as = akolouthos_culture_head
}
random_pool_character = {
province = scope:akolouthos_culture_head.capital_province
limit = {
ep3_varangian_trigger = yes
prowess > low_skill_rating
}
save_scope_as = new_varangian
}
scope:new_varangian = {
if = {
limit = {
NOT = { has_trait = varangian }
}
hidden_effect = {
add_trait = varangian
}
}
}
}
#Create a candidate
else_if = {
limit = {
scope:akolouthos = {
ep3_varangian_trigger = yes
}
}
create_character = {
template = varangian_template
location = root.location
culture = scope:akolouthos.culture
faith = scope:akolouthos.faith
dynasty = none
save_scope_as = new_varangian
}
}
else_if = {
limit = {
current_date < 990
}
#Norse
create_character = {
template = varangian_template
location = root.location
culture = culture:norse
faith = root.faith
dynasty = none
save_scope_as = new_varangian
}
}
else = {
#Anglo-Saxon
create_character = {
template = varangian_template
location = root.location
culture = culture:anglo_saxon
faith = root.faith
dynasty = none
save_scope_as = new_varangian
}
}
send_interface_message = {
type = event_martial_good_with_text
title = ep3_akolouthos_events.1001
desc = ep3_akolouthos_events.1001_notification_tooltip
tooltip = akolouthos_effect_tooltip
left_icon = scope:new_varangian
right_icon = scope:akolouthos
add_courtier = scope:new_varangian
}
}
}