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

1947 lines
38 KiB
Text

namespace = ep3_emperor_yearly
############################
# EP3 Admin Emperor Events #
# by Jason Cantalini #
# 3000 - 3500 #
############################
# Byzantine-only: your Varangians loot the palace after succession
ep3_emperor_yearly.3000 = {
type = character_event
title = ep3_emperor_yearly.3000.t
desc = {
desc = ep3_emperor_yearly.3000.desc
first_valid = {
triggered_desc = {
trigger = {
scope:varangian_leader = {
is_courtier_of = root
}
}
desc = ep3_emperor_yearly.3000.desc_leader
}
desc = ep3_emperor_yearly.3000.desc_no_leader
}
}
theme = emperor
override_background = { reference = throne_room }
left_portrait = {
character = root
animation = disapproval
}
right_portrait = {
character = scope:varangian_leader
animation = celebrate_axe
camera = camera_event_very_left
}
lower_right_portrait = {
character = scope:varangian_2
}
lower_left_portrait = {
character = scope:varangian_3
}
lower_center_portrait = {
character = scope:dead_emperor
}
trigger = {
has_ep3_dlc_trigger = yes
primary_title = { has_variable = founded_varangian_guard }
}
immediate = {
save_scope_as = root_scope
#Choose which malus to use
random_list = {
#Artifact is damaged
10 = {
trigger = {
any_character_artifact = {
artifact_durability > 45
}
}
add_character_flag = malus_broken_artifact
random_character_artifact = {
limit = {
artifact_durability > 45
}
save_scope_as = broken_artifact
}
save_scope_value_as = {
name = varangian_gold
value = {
value = 0
add = {
value = var:varangian_regiments
multiply = 30
}
}
}
}
#Artifact is stolen
10 = {
trigger = {
any_character_artifact = {
artifact_wealth_quality_average_value < 20
}
}
random_character_artifact = {
limit = {
artifact_wealth_quality_average_value < 20
}
save_scope_as = stolen_artifact
}
add_character_flag = malus_stolen_artifact
save_scope_value_as = {
name = varangian_gold
value = {
value = 0
add = {
value = var:varangian_regiments
multiply = 30
}
}
}
}
##Court grandeur lost
10 = {
trigger = {
has_royal_court = yes
has_dlc_feature = royal_court
}
add_character_flag = malus_court_grandeur
save_scope_value_as = {
name = varangian_gold
value = {
value = 0
add = {
value = var:varangian_regiments
multiply = 30
}
}
}
}
##Gold is lost
10 = {
save_scope_value_as = {
name = varangian_gold
value = {
value = 0
add = {
value = var:varangian_regiments
multiply = 50
}
}
}
}
}
#Choose which bonus to give a refuser
random_list = {
5 = {
trigger = {
is_adult = yes
}
add_character_flag = refuse_bonus_dread
}
10 = {
add_character_flag = refuse_bonus_prestige
}
5 = {
add_character_flag = refuse_bonus_opinion
}
}
#Choose which bonus to give an accepter
random_list = {
10 = {
trigger = {
max_number_maa_soldiers_of_base_type = {
type = heavy_infantry
value >= 300
}
}
add_character_flag = accept_bonus_heavy_infantry
}
10 = {
add_character_flag = accept_bonus_scheme_resist
}
10 = {
add_character_flag = accept_bonus_army
}
10 = {
add_character_flag = accept_bonus_legitimacy
}
}
#Save a first Varangian to be the boss
if = {
limit = {
any_court_position_holder = {
type = akolouthos_court_position
ep3_varangian_trigger = yes
is_available = yes
}
}
random_court_position_holder = {
type = akolouthos_court_position
save_scope_as = varangian_leader
}
}
else_if = {
limit = {
any_court_position_holder = {
type = bodyguard_court_position
ep3_varangian_trigger = yes
is_available = yes
}
}
random_court_position_holder = {
type = bodyguard_court_position
limit = {
ep3_varangian_trigger = yes
is_available = yes
}
save_scope_as = varangian_leader
}
}
else_if = {
limit = {
any_courtier = {
ep3_varangian_trigger = yes
is_available_adult = yes
}
}
random_courtier = {
limit = {
ep3_varangian_trigger = yes
is_available_adult = yes
}
save_scope_as = varangian_leader
}
}
else_if = {
limit = {
current_date < 1066
}
#Norse
create_character = {
template = varangian_template
location = root.location
culture = culture:norse
faith = root.faith
dynasty = none
save_scope_as = varangian_leader
}
scope:varangian_leader = {
add_character_flag = need_military_outfit
}
hidden_effect = { add_visiting_courtier = scope:varangian_leader }
}
else = {
#Anglo-Saxon
create_character = {
template = varangian_template
location = root.location
culture = culture:anglo_saxon
faith = root.faith
dynasty = none
save_scope_as = varangian_leader
}
scope:varangian_leader = {
add_character_flag = need_military_outfit
}
hidden_effect = { add_visiting_courtier = scope:varangian_leader }
}
#Save another Varangian
if = {
limit = {
exists = scope:varangian_leader
any_court_position_holder = {
type = bodyguard_court_position
ep3_varangian_trigger = yes
is_available = yes
this != scope:varangian_leader
}
}
random_court_position_holder = {
type = bodyguard_court_position
limit = {
ep3_varangian_trigger = yes
is_available = yes
this != scope:varangian_leader
}
save_scope_as = varangian_2
}
}
else_if = {
limit = {
exists = scope:varangian_leader
any_courtier = {
ep3_varangian_trigger = yes
is_available_adult = yes
this != scope:varangian_leader
}
}
random_courtier = {
limit = {
ep3_varangian_trigger = yes
is_available_adult = yes
this != scope:varangian_leader
}
save_scope_as = varangian_2
}
}
#Save a third
if = {
limit = {
exists = scope:varangian_leader
exists = scope:varangian_2
any_court_position_holder = {
type = bodyguard_court_position
ep3_varangian_trigger = yes
is_available = yes
NOR = {
this = scope:varangian_leader
this = scope:varangian_2
}
}
}
random_court_position_holder = {
type = bodyguard_court_position
limit = {
ep3_varangian_trigger = yes
is_available = yes
NOR = {
this = scope:varangian_leader
this = scope:varangian_2
}
}
save_scope_as = varangian_3
}
}
else_if = {
limit = {
exists = scope:varangian_leader
exists = scope:varangian_2
any_courtier = {
ep3_varangian_trigger = yes
is_available_adult = yes
NOR = {
this = scope:varangian_leader
this = scope:varangian_2
}
}
}
random_courtier = {
limit = {
ep3_varangian_trigger = yes
is_available_adult = yes
NOR = {
this = scope:varangian_leader
this = scope:varangian_2
}
}
save_scope_as = varangian_3
}
}
}
#Have the Akolouthos seize some of the spoils
option = {
name = ep3_emperor_yearly.3000.a
flavor = ep3_emperor_yearly.3000.a.flavor
trigger = {
employs_court_position = akolouthos_court_position
any_court_position_holder = {
type = akolouthos_court_position
aptitude = {
court_position = akolouthos_court_position
value >= 3
}
}
}
add_internal_flag = special
custom_tooltip = akolouthos_aptitude_option_unlock
#Random refuse bonus effect
if = {
limit = {
has_character_flag = refuse_bonus_prestige
}
if = {
limit = {
var:varangian_regiments >= 7
}
add_prestige = massive_prestige_gain
}
else_if = {
limit = {
var:varangian_regiments >= 4
}
add_prestige = major_prestige_gain
}
else = {
add_prestige = medium_prestige_gain
}
}
if = {
limit = {
has_character_flag = refuse_bonus_dread
}
if = {
limit = {
var:varangian_regiments >= 7
}
add_dread = major_dread_gain
add_prestige = major_prestige_gain
}
else_if = {
limit = {
var:varangian_regiments >= 4
}
add_dread = medium_dread_gain
add_prestige = medium_prestige_gain
}
else = {
add_dread = minor_dread_gain
add_prestige = minor_prestige_gain
}
}
if = {
limit = {
has_character_flag = refuse_bonus_opinion
}
if = {
limit = {
var:varangian_regiments >= 7
}
every_vassal = {
custom = every_parochial_vassal
add_opinion = {
modifier = respect_opinion
opinion = 30
target = root
}
}
add_prestige = major_prestige_gain
}
else_if = {
limit = {
var:varangian_regiments >= 4
}
every_vassal = {
custom = every_parochial_vassal
add_opinion = {
modifier = respect_opinion
opinion = 20
target = root
}
}
add_prestige = medium_prestige_gain
}
else = {
every_vassal = {
custom = every_parochial_vassal
add_opinion = {
modifier = respect_opinion
opinion = 10
target = root
}
}
add_prestige = minor_prestige_gain
}
}
change_influence = medium_influence_gain
remove_treasury_or_gold = {
value = {
value = 0
add = {
value = scope:varangian_gold
multiply = 0.4
}
}
}
#Negative heavy inf and scheme resistance modifier
add_character_modifier = {
modifier = disrespected_varangians_modifier
years = 10
}
if = {
limit = {
scope:varangian_leader = {
is_courtier_of = root
}
}
if = {
limit = {
scope:varangian_leader = { has_trait = loyal }
}
scope:varangian_leader = { remove_trait = loyal }
reverse_add_opinion = {
target = scope:varangian_leader
modifier = angry_opinion
opinion = -20
}
}
else = {
reverse_add_opinion = {
target = scope:varangian_leader
modifier = hate_opinion
opinion = -40
}
}
}
if = {
limit = {
exists = scope:varangian_2
}
if = {
limit = {
scope:varangian_2 = { has_trait = loyal }
}
scope:varangian_2 = { remove_trait = loyal }
reverse_add_opinion = {
target = scope:varangian_2
modifier = angry_opinion
opinion = -20
}
}
else = {
reverse_add_opinion = {
target = scope:varangian_2
modifier = hate_opinion
opinion = -40
}
}
}
if = {
limit = {
exists = scope:varangian_3
}
if = {
limit = {
scope:varangian_3 = { has_trait = loyal }
}
scope:varangian_3 = { remove_trait = loyal }
reverse_add_opinion = {
target = scope:varangian_3
modifier = angry_opinion
opinion = -20
}
}
else = {
reverse_add_opinion = {
target = scope:varangian_3
modifier = hate_opinion
opinion = -40
}
}
}
#Apply randomized_malus
if = {
limit = {
has_character_flag = malus_court_grandeur
var:varangian_regiments >= 7
}
change_current_court_grandeur = minor_court_grandeur_loss
}
if = {
limit = {
has_character_flag = malus_broken_artifact
var:varangian_regiments >= 7
}
scope:broken_artifact = {
add_durability = -20
}
}
if = {
limit = {
NOT = {
scope:varangian_leader = {
is_courtier_of = root
}
}
}
hidden_effect = {
scope:varangian_leader = { move_to_pool = yes }
}
}
stress_impact = {
craven = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
generous = medium_stress_impact_gain
content = minor_stress_impact_gain
just = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_greed = 1
ai_boldness = 1
}
modifier = {
factor = 0
OR = {
has_trait = craven
has_trait = paranoid
has_trait = generous
has_trait = content
has_trait = just
}
}
modifier = {
factor = 3
short_term_gold <= 300
}
modifier = {
factor = 0.5
OR = {
has_trait = content
has_trait = just
}
}
}
}
#Chastise the Varangians
option = {
trigger = {
age >= 12
}
name = ep3_emperor_yearly.3000.b
flavor = ep3_emperor_yearly.3000.b.flavor
#Random refuse bonus effect
if = {
limit = {
has_character_flag = refuse_bonus_prestige
}
if = {
limit = {
var:varangian_regiments >= 7
}
add_prestige = massive_prestige_gain
}
else_if = {
limit = {
var:varangian_regiments >= 4
}
add_prestige = major_prestige_gain
}
else = {
add_prestige = medium_prestige_gain
}
}
if = {
limit = {
has_character_flag = refuse_bonus_dread
}
if = {
limit = {
var:varangian_regiments >= 7
}
add_dread = major_dread_gain
add_prestige = major_prestige_gain
}
else_if = {
limit = {
var:varangian_regiments >= 4
}
add_dread = medium_dread_gain
add_prestige = medium_prestige_gain
}
else = {
add_dread = minor_dread_gain
add_prestige = minor_prestige_gain
}
}
if = {
limit = {
has_character_flag = refuse_bonus_opinion
}
if = {
limit = {
var:varangian_regiments >= 7
}
every_vassal = {
custom = every_parochial_vassal
add_opinion = {
modifier = respect_opinion
opinion = 30
target = root
}
}
add_prestige = major_prestige_gain
}
else_if = {
limit = {
var:varangian_regiments >= 4
}
every_vassal = {
custom = every_parochial_vassal
add_opinion = {
modifier = respect_opinion
opinion = 20
target = root
}
}
add_prestige = medium_prestige_gain
}
else = {
every_vassal = {
custom = every_parochial_vassal
add_opinion = {
modifier = respect_opinion
opinion = 10
target = root
}
}
add_prestige = minor_prestige_gain
}
}
if = {
limit = {
var:varangian_regiments > 0
}
remove_long_term_gold = {
value = scope:varangian_gold
}
}
#show custom payout tooltip
if = {
limit = {
exists = scope:varangian_3
}
custom_tooltip = major_gold_to_varangians_tooltip
}
else_if = {
limit = {
exists = scope:varangian_2
}
custom_tooltip = medium_gold_to_varangians_tooltip
}
else_if = {
limit = {
scope:varangian_leader = {
is_courtier_of = root
}
}
custom_tooltip = minor_gold_to_varangians_tooltip
}
if = {
limit = {
scope:varangian_leader = {
is_courtier_of = root
}
}
if = {
limit = {
scope:varangian_leader = { has_trait = loyal }
}
scope:varangian_leader = { remove_trait = loyal }
}
else = {
reverse_add_opinion = {
target = scope:varangian_leader
modifier = angry_opinion
opinion = -20
}
}
hidden_effect = {
pay_long_term_gold = {
target = scope:varangian_leader
gold = 25
}
}
}
if = {
limit = {
exists = scope:varangian_2
}
if = {
limit = {
scope:varangian_2 = { has_trait = loyal }
}
scope:varangian_2 = { remove_trait = loyal }
}
else = {
reverse_add_opinion = {
target = scope:varangian_2
modifier = angry_opinion
opinion = -20
}
}
hidden_effect = {
pay_long_term_gold = {
target = scope:varangian_2
gold = 25
}
}
}
if = {
limit = {
exists = scope:varangian_3
}
if = {
limit = {
scope:varangian_3 = { has_trait = loyal }
}
scope:varangian_3 = { remove_trait = loyal }
}
else = {
reverse_add_opinion = {
target = scope:varangian_3
modifier = angry_opinion
opinion = -20
}
}
hidden_effect = {
pay_long_term_gold = {
target = scope:varangian_3
gold = 25
}
}
}
#Negative heavy inf and scheme resistance modifier
add_character_modifier = {
modifier = disrespected_varangians_modifier
years = 10
}
#Apply randomized_malus
ep3_palace_looting_random_malus_effect = yes
if = {
limit = {
NOT = {
scope:varangian_leader = {
is_courtier_of = root
}
}
}
hidden_effect = {
scope:varangian_leader = { move_to_pool = yes }
}
}
stress_impact = {
craven = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
generous = minor_stress_impact_gain
content = minor_stress_impact_gain
just = miniscule_stress_impact_gain
}
ai_chance = {
base = 50
ai_value_modifier = {
ai_vengefulness = 1
}
modifier = {
factor = 0
OR = {
has_trait = craven
has_trait = paranoid
has_trait = generous
has_trait = content
}
}
modifier = {
factor = 0.5
OR = {
has_trait = generous
has_trait = content
has_trait = just
}
}
}
}
#It's just tradition
option = {
name = ep3_emperor_yearly.3000.c
flavor = ep3_emperor_yearly.3000.c.flavor
if = {
limit = {
has_character_flag = accept_bonus_legitimacy
}
if = {
limit = {
var:varangian_regiments >= 7
}
add_legitimacy = major_legitimacy_gain
}
else_if = {
limit = {
var:varangian_regiments >= 3
}
add_legitimacy = medium_legitimacy_gain
}
else = {
add_legitimacy = minor_legitimacy_gain
}
}
if = {
limit = {
has_character_flag = accept_bonus_heavy_infantry
}
if = {
limit = {
var:varangian_regiments >= 7
}
add_character_modifier = {
modifier = loyal_varangians_modifier
years = 10
}
add_legitimacy = medium_legitimacy_gain
}
else_if = {
limit = {
var:varangian_regiments >= 3
}
add_character_modifier = {
modifier = loyal_varangians_modifier
years = 10
}
add_legitimacy = miniscule_legitimacy_gain
}
else = {
add_character_modifier = {
modifier = loyal_varangians_modifier
years = 10
}
}
}
if = {
limit = {
has_character_flag = accept_bonus_scheme_resist
}
if = {
limit = {
var:varangian_regiments >= 7
}
add_character_modifier = {
modifier = attentive_varangians_modifier
years = 10
}
add_legitimacy = medium_legitimacy_gain
}
else_if = {
limit = {
var:varangian_regiments >= 3
}
add_character_modifier = {
modifier = attentive_varangians_modifier
years = 10
}
add_legitimacy = miniscule_legitimacy_gain
}
else = {
add_character_modifier = {
modifier = attentive_varangians_modifier
years = 10
}
}
}
if = {
limit = {
has_character_flag = accept_bonus_army
}
if = {
limit = {
var:varangian_regiments >= 7
}
spawn_army = {
name = eager_varangian_army
levies = 600
men_at_arms = {
type = varangian_guards
stacks = 4
}
location = root.capital_province
uses_supply = yes
inheritable = no
}
}
else_if = {
limit = {
var:varangian_regiments >= 3
}
spawn_army = {
name = eager_varangian_army
levies = 300
men_at_arms = {
type = varangian_guards
stacks = 2
}
location = root.capital_province
uses_supply = yes
inheritable = no
}
}
else = {
spawn_army = {
name = eager_varangian_army
levies = 100
men_at_arms = {
type = varangian_guards
stacks = 1
}
location = root.capital_province
uses_supply = yes
inheritable = no
}
}
}
if = {
limit = {
var:varangian_regiments > 0
}
remove_long_term_gold = {
value = scope:varangian_gold
}
}
#show custom payout tooltip
if = {
limit = {
exists = scope:varangian_3
}
custom_tooltip = major_gold_to_varangians_tooltip
}
else_if = {
limit = {
exists = scope:varangian_2
}
custom_tooltip = medium_gold_to_varangians_tooltip
}
else_if = {
limit = {
scope:varangian_leader = {
is_courtier_of = root
}
}
custom_tooltip = minor_gold_to_varangians_tooltip
}
if = {
limit = {
scope:varangian_leader = {
is_courtier_of = root
}
}
reverse_add_opinion = {
target = scope:varangian_leader
modifier = loyalty_opinion
opinion = 60
}
hidden_effect = {
pay_long_term_gold = {
target = scope:varangian_leader
gold = 25
}
}
}
if = {
limit = {
exists = scope:varangian_2
}
reverse_add_opinion = {
target = scope:varangian_2
modifier = loyalty_opinion
opinion = 60
}
hidden_effect = {
pay_long_term_gold = {
target = scope:varangian_2
gold = 25
}
}
}
if = {
limit = {
exists = scope:varangian_3
}
reverse_add_opinion = {
target = scope:varangian_3
modifier = loyalty_opinion
opinion = 60
}
hidden_effect = {
pay_long_term_gold = {
target = scope:varangian_3
gold = 25
}
}
}
#Apply randomized_malus
ep3_palace_looting_random_malus_effect = yes
stress_impact = {
generous = miniscule_stress_impact_loss
paranoid = minor_stress_impact_loss
greedy = medium_stress_impact_gain
vengeful = medium_stress_impact_gain
arrogant = minor_stress_impact_gain
arbitrary = minor_stress_impact_gain
}
ai_chance = {
base = 200
ai_value_modifier = {
ai_greed = -0.5
ai_boldness = -0.5
ai_vengefulness = -1
}
modifier = {
factor = 0
OR = {
has_trait = greedy
has_trait = vengeful
has_trait = arrogant
has_trait = arbitrary
}
}
modifier = {
factor = 0.5
OR = {
has_trait = arrogant
has_trait = arbitrary
}
}
}
}
after = {
if = {
limit = {
scope:varangian_leader = {
has_character_flag = need_military_outfit
}
}
scope:varangian_leader = {
remove_character_flag = need_military_outfit
}
}
if = {
limit = {
has_character_flag = malus_broken_artifact
}
remove_character_flag = malus_broken_artifact
}
if = {
limit = {
has_character_flag = malus_stolen_artifact
}
remove_character_flag = malus_stolen_artifact
}
if = {
limit = {
has_character_flag = malus_court_grandeur
}
remove_character_flag = malus_court_grandeur
}
if = {
limit = {
has_character_flag = refuse_bonus_dread
}
remove_character_flag = refuse_bonus_dread
}
if = {
limit = {
has_character_flag = refuse_bonus_opinion
}
remove_character_flag = refuse_bonus_opinion
}
if = {
limit = {
has_character_flag = refuse_bonus_prestige
}
remove_character_flag = refuse_bonus_prestige
}
if = {
limit = {
has_character_flag = accept_bonus_heavy_infantry
}
remove_character_flag = accept_bonus_heavy_infantry
}
if = {
limit = {
has_character_flag = accept_bonus_scheme_resist
}
remove_character_flag = accept_bonus_scheme_resist
}
if = {
limit = {
has_character_flag = accept_bonus_army
}
remove_character_flag = accept_bonus_army
}
if = {
limit = {
has_character_flag = accept_bonus_legitimacy
}
remove_character_flag = accept_bonus_legitimacy
}
}
}
#Byzantine emperor sends fireships to defend the strait of Marmara
ep3_emperor_yearly.3010 = {
hidden = yes
trigger = {
#province is strait of Marmara
scope:army.location = {
OR = {
this = province:947
this = province:950
this = province:948
this = province:8667
this = province:8668
this = province:8665
}
}
#A lot of jank would be introduced by multiplayer and armies continuing to move, unpaused
has_multiple_players = no
title:c_byzantion = { has_county_modifier = defensive_fire_dromons_modifier }
NOT = { has_character_flag = used_fire_dromons }
#this event is really going to f up the enemy army in a way no player will appreciate
is_ai = yes
#Is it at war with powerful ruler whose capital is Constantinople
any_war_enemy = {
is_landed = yes
capital_county = title:c_byzantion
capital_province = { is_occupied = no }
culture = {
OR = {
this = culture:greek
any_parent_culture_or_above = { this = culture:greek }
}
}
}
}
immediate = {
save_scope_as = invader
scope:army.army_commander ?= { save_scope_as = invading_commander }
random_war_enemy = {
limit = {
is_landed = yes
capital_county = title:c_byzantion
capital_province = { is_occupied = no }
culture = {
OR = {
this = culture:greek
any_parent_culture_or_above = { this = culture:greek }
}
}
}
save_scope_as = marmara_defender
}
scope:marmara_defender = {
trigger_event = ep3_emperor_yearly.3011
}
}
}
ep3_emperor_yearly.3011 = {
type = character_event
title = ep3_emperor_yearly.3011.t
desc = {
desc = ep3_emperor_yearly.3011.intro
first_valid = {
triggered_desc = {
trigger = {
scope:invader = {
this = scope:invading_commander
}
}
desc = ep3_emperor_yearly.3011.liege_attacking
}
desc = ep3_emperor_yearly.3011.commander_attacking
}
desc = ep3_emperor_yearly.3011.desc
triggered_desc = {
trigger = {
knows_language = language_greek
OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion }
}
desc = ep3_emperor_yearly.3011.kyrie_eleison
}
}
theme = war
override_background = { reference = ep3_constantinople }
left_portrait = {
character = scope:city_defender
animation = survey
camera = camera_event_left_away
}
lower_right_portrait = {
character = scope:invading_commander
}
immediate = {
#perspective character for event window
if = {
limit = {
is_available = yes
}
save_scope_as = city_defender
}
else_if = {
limit = {
cp:councillor_marshal ?= {
is_available = yes
}
}
cp:councillor_marshal = {
save_scope_as = city_defender
}
}
else_if = {
limit = {
OR = {
has_diarchy_type = temporary_regency
has_diarchy_type = regency
}
diarch = {
is_available = yes
}
}
diarch = { save_scope_as = city_defender }
}
else = {
save_scope_as = city_defender
}
scope:city_defender = {
add_character_flag = need_military_outfit
}
scope:invader = {
if = {
limit = {
any_knight = {
is_in_army = yes
this != scope:invading_commander
}
}
random_knight = {
limit = {
is_in_army = yes
this != scope:invading_commander
}
save_scope_as = knight_1
}
}
if = {
limit = {
any_knight = {
is_in_army = yes
NOR = {
this = scope:knight_1
this = scope:invading_commander
}
}
}
random_knight = {
limit = {
is_in_army = yes
NOR = {
this = scope:knight_1
this = scope:invading_commander
}
}
save_scope_as = knight_2
}
}
if = {
limit = {
any_knight = {
is_in_army = yes
NOR = {
this = scope:knight_1
this = scope:knight_2
this = scope:invading_commander
}
}
}
random_knight = {
limit = {
is_in_army = yes
NOR = {
this = scope:knight_1
this = scope:knight_2
this = scope:invading_commander
}
}
save_scope_as = knight_3
}
}
if = {
limit = {
any_knight = {
is_in_army = yes
NOR = {
this = scope:knight_1
this = scope:knight_2
this = scope:knight_3
this = scope:invading_commander
}
}
}
random_knight = {
limit = {
is_in_army = yes
NOR = {
this = scope:knight_1
this = scope:knight_2
this = scope:knight_3
this = scope:invading_commander
}
}
save_scope_as = knight_4
}
}
if = {
limit = {
any_knight = {
is_in_army = yes
NOR = {
this = scope:knight_1
this = scope:knight_2
this = scope:knight_3
this = scope:knight_4
this = scope:invading_commander
}
}
}
random_knight = {
limit = {
is_in_army = yes
NOR = {
this = scope:knight_1
this = scope:knight_2
this = scope:knight_3
this = scope:knight_4
this = scope:invading_commander
}
}
save_scope_as = knight_5
}
}
}
}
#Use the greek fire ships
option = {
name = ep3_emperor_yearly.3011.a
add_character_flag = {
flag = used_fire_dromons
days = 30
}
custom_tooltip = unable_to_use_fire_ships_tooltip
scope:city_defender = {
duel = {
skill = martial
target = scope:invading_commander
35 = { #Your fleet ruins the enemy
desc = ep3_emperor_yearly.3011.a.success
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -34
}
modifier = {
has_trait = forder
add = 20
}
modifier = {
highest_held_title_tier >= tier_empire
add = 10
}
modifier = {
scope:army = {
army_size <= 1000
}
add = 10
}
modifier = {
scope:army = {
#Big enough army to actually siege the city
army_size < 2500
}
add = 10
}
modifier = {
scope:invading_commander = {
has_trait = reckless
}
add = 10
}
modifier = {
has_trait = reckless
add = 10
}
modifier = {
has_trait = aggressive_attacker
add = 10
}
modifier = {
has_trait = military_engineer
add = 10
}
modifier = {
scope:invading_commander = {
has_trait = aggressive_attacker
}
add = 10
}
modifier = {
province:496 = {
has_building_or_higher = curtain_walls_01
}
add = 5
}
modifier = {
province:496 = {
has_building_or_higher = curtain_walls_03
}
add = 5
}
modifier = {
province:496 = {
has_building_or_higher = curtain_walls_05
}
add = 5
}
modifier = {
province:496 = {
has_building_or_higher = curtain_walls_07
}
add = 5
}
modifier = {
province:496 = {
has_building_or_higher = common_tradeport_01
}
add = 5
}
modifier = {
province:496 = {
has_building_or_higher = common_tradeport_03
}
add = 5
}
modifier = {
province:496 = {
has_building_or_higher = common_tradeport_05
}
add = 5
}
modifier = {
province:496 = {
has_building_or_higher = common_tradeport_07
}
add = 5
}
show_as_tooltip = { ep3_greek_fire_success_effect = yes }
root = { add_character_flag = successful_greek_fire_attack }
}
50 = { #Your fleet does some damage
desc = ep3_emperor_yearly.3011.a.fail
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
modifier = {
has_trait = forder
add = 40
}
modifier = {
scope:army = {
#Big enough army to actually siege the city
army_size < 2500
}
add = 20
}
modifier = {
scope:army = {
army_size <= 1000
}
add = 20
}
modifier = {
scope:invading_commander = {
has_trait = reckless
}
add = 20
}
modifier = {
scope:invading_commander = {
has_trait = aggressive_attacker
}
add = 10
}
modifier = {
has_trait = aggressive_attacker
add = 20
}
modifier = {
has_trait = military_engineer
add = 20
}
modifier = {
province:496 = {
has_building_or_higher = curtain_walls_01
}
add = 10
}
modifier = {
province:496 = {
has_building_or_higher = curtain_walls_03
}
add = 10
}
modifier = {
province:496 = {
has_building_or_higher = curtain_walls_05
}
add = 10
}
modifier = {
province:496 = {
has_building_or_higher = curtain_walls_07
}
add = 10
}
modifier = {
province:496 = {
has_building_or_higher = common_tradeport_01
}
add = 10
}
modifier = {
province:496 = {
has_building_or_higher = common_tradeport_03
}
add = 10
}
modifier = {
province:496 = {
has_building_or_higher = common_tradeport_05
}
add = 10
}
modifier = {
province:496 = {
has_building_or_higher = common_tradeport_07
}
add = 10
}
show_as_tooltip = { ep3_greek_fire_fail_effect = yes }
root = { add_character_flag = failed_greek_fire_attack }
}
15 = { #Your fleet does a little damage and... ruins themselves
desc = ep3_emperor_yearly.3011.a.critical_fail
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -14
}
modifier = {
scope:invading_commander = {
has_trait = forder
}
add = 40
}
modifier = {
scope:invading_commander = {
has_trait = organizer
}
add = 20
}
modifier = {
scope:invading_commander = {
has_trait = cautious_leader
}
add = 20
}
modifier = {
has_trait = cautious_leader
add = 20
}
modifier = {
scope:army = {
army_size >= 5000
}
add = 20
}
modifier = {
scope:army = {
army_size >= 10000
}
add = 20
}
show_as_tooltip = { ep3_greek_fire_crit_fail_effect = yes }
root = { add_character_flag = crit_failed_greek_fire_attack }
}
}
}
trigger_event = ep3_emperor_yearly.3012
stress_impact = {
compassionate = medium_stress_impact_gain
cautious_leader = medium_stress_impact_gain
patient = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_vengefulness = 1
ai_boldness = 1
}
modifier = {
add = 20
scope:city_defender = {
martial >= high_skill_rating
}
}
modifier = {
add = 20
scope:invading_commander = {
martial <= high_skill_rating
}
}
modifier = {
factor = 0.5
OR = {
has_trait = compassionate
has_trait = cautious_leader
}
}
modifier = {
factor = 2
scope:army = {
army_size >= 4000
}
}
modifier = {
factor = 2
scope:army = {
army_size >= 7000
}
}
}
}
#Don't attack
option = {
name = ep3_emperor_yearly.3011.b
if = {
limit = {
scope:army = {
#Big enough army to actually siege the city
army_size >= 4000
}
}
add_prestige = medium_prestige_loss
}
else_if = {
limit = {
scope:army = {
army_size >= 3000
}
}
add_prestige = minor_prestige_loss
}
else = {
add_prestige = miniscule_prestige_loss
}
stress_impact = {
vengeful = medium_stress_impact_gain
wrathful = medium_stress_impact_gain
sadistic = miniscule_stress_impact_gain
reckless = minor_stress_impact_gain
brave = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = -1
ai_boldness = -1
}
modifier = {
add = 20
scope:city_defender = {
martial < decent_skill_rating
}
}
modifier = {
add = 20
scope:invading_commander = {
martial > very_high_skill_rating
}
}
modifier = {
factor = 0.5
OR = {
has_trait = wrathful
has_trait = vengeful
has_trait = reckless
has_trait = brave
}
}
modifier = {
factor = 2
scope:army = {
army_size <= 2000
}
}
modifier = {
factor = 2
scope:army = {
army_size < 1000
}
}
}
}
after = {
scope:city_defender = { remove_character_flag = need_military_outfit }
}
}
ep3_emperor_yearly.3012 = {
type = character_event
title = ep3_emperor_yearly.3012.t
desc = {
desc = ep3_emperor_yearly.3012.intro
#Triggered desc based on success
first_valid = {
triggered_desc = {
trigger = {
has_character_flag = successful_greek_fire_attack
}
desc = ep3_emperor_yearly.3012.attack_success
}
triggered_desc = {
trigger = {
has_character_flag = failed_greek_fire_attack
}
desc = ep3_emperor_yearly.3012.attack_fail
}
triggered_desc = {
trigger = {
has_character_flag = crit_failed_greek_fire_attack
}
desc = ep3_emperor_yearly.3012.attack_crit_fail
}
}
}
theme = war
override_background = { reference = ocean }
widget = {
gui = "event_window_widget_vfx_heavy_smoke"
container = "foreground_shader_vfx_container"
}
right_portrait = {
character = scope:invading_commander
triggered_animation = {
trigger = {
root = { has_character_flag = successful_greek_fire_attack }
}
animation = sword_yield_start
}
triggered_animation = {
trigger = {
root = { has_character_flag = failed_greek_fire_attack }
}
animation = fear
}
triggered_animation = {
trigger = {
root = { has_character_flag = crit_failed_greek_fire_attack }
}
animation = sword_coup_degrace
}
}
immediate = {
play_music_cue = "mx_cue_war_declared"
#show effect as tooltip here
create_character_memory = {
type = endured_greek_fire_memory
participants = {
attacker = root
}
}
}
option = {
name = {
trigger = { has_character_flag = successful_greek_fire_attack }
text = ep3_emperor_yearly.3012.a_success
}
name = {
trigger = { has_character_flag = failed_greek_fire_attack }
text = ep3_emperor_yearly.3012.a_fail
}
name = {
trigger = { has_character_flag = crit_failed_greek_fire_attack }
text = ep3_emperor_yearly.3012.a_crit_fail
}
if = {
limit = { has_character_flag = successful_greek_fire_attack
}
ep3_greek_fire_success_effect = yes
}
if = {
limit = {
has_character_flag = failed_greek_fire_attack
}
ep3_greek_fire_fail_effect = yes
}
if = {
limit = {
has_character_flag = crit_failed_greek_fire_attack
}
ep3_greek_fire_crit_fail_effect = yes
}
#Apply memory to invading commander?
if = {
limit = {
has_character_flag = successful_greek_fire_attack
}
stress_impact = {
sadistic = medium_stress_impact_loss
paranoid = minor_stress_impact_loss
vengeful = medium_stress_impact_loss
callous = minor_stress_impact_loss
}
}
}
after = {
if = {
limit = { has_character_flag = successful_greek_fire_attack
}
remove_character_flag = successful_greek_fire_attack
}
if = {
limit = {
has_character_flag = failed_greek_fire_attack
}
remove_character_flag = failed_greek_fire_attack
}
if = {
limit = {
has_character_flag = crit_failed_greek_fire_attack
}
remove_character_flag = crit_failed_greek_fire_attack
}
}
}