N3OW/events/lifestyles/warfare_lifestyle/martial_authority_events.txt
2026-01-06 14:25:21 +01:00

2590 lines
52 KiB
Text

#Events for authority lifestyle focus
##################################################
#AUTHORITY REGULAR EVENTS
# 1031 - Mercenaries are being misbehaving at an inn, by Linnéa Thimrén
# 2040-2042 - Fight between my soldiers (Diplomacy skill challenge), Sean Hughes
# 2050-2057 - An Extra Hand: Find a right-hand (wo)man, Sean Hughes
# 3000 - Displaying/Teaching Authority to Someone, by Milla Isaksson
#AUTHORITY SPECIAL EVENTS
# 1100-1104 - Soldier and Officer Fighting, by Mathilda Bjarnehed
# 1501-1504 - Deal with Deserters, by Linnéa Thimrén
##################################################
#############################
# AUTHORITY: REGULAR EVENTS #
#############################
namespace = martial_authority
##################################################
# Mercenaries are being misbehaving at an inn
# by Linnéa Thimrén
##################################################
martial_authority.1031 = {
type = character_event
title = martial_authority.1031.t
desc = martial_authority.1031.desc
theme = martial_authority_focus
override_background = {
reference = tavern
}
left_portrait = {
character = root
animation = disapproval
}
right_portrait = {
character = scope:scoped_mercenary
animation = drink
}
trigger = {
has_lifestyle = martial_lifestyle
NOT = { has_character_flag = had_mercenary_disruption_event }
is_ruler = yes
is_landed = yes
exists = capital_county
any_independent_ruler = {
government_has_flag = government_is_mercenary
}
}
weight_multiplier = {
base = 1
upweight_for_focus_modifier = { FOCUS = martial_authority_focus }
}
immediate = {
play_music_cue = "mx_cue_meadandwine"
add_character_flag = {
flag = had_mercenary_disruption_event
days = 3650
}
capital_county = {
save_scope_as = county_to_save
}
random_independent_ruler = {
limit = {
government_has_flag = government_is_mercenary
culture = root.culture
}
alternative_limit = {
government_has_flag = government_is_mercenary
faith = root.faith
}
alternative_limit = {
government_has_flag = government_is_mercenary
}
save_scope_as = scoped_mercenary
}
}
option = {
name = martial_authority.1031.a
trigger = {
OR = {
is_ai = no
short_term_gold >= major_gold_value_check
}
}
ai_chance = {
base = 50
modifier = {
add = 20
OR = {
has_trait = generous
has_trait = craven
has_trait = shy
}
}
}
remove_short_term_gold = major_gold_value
add_character_modifier = {
modifier = generous_to_mercenaries
}
add_martial_lifestyle_xp = minor_lifestyle_xp
stress_impact = {
greedy = minor_stress_impact_gain
}
}
option = {
name = martial_authority.1031.b
scope:county_to_save = {
add_county_modifier = {
modifier = warfare_expunged_bandits_modifier
years = 10
}
}
ai_chance = {
base = 50
modifier = {
add = 20
OR = {
has_trait = just
has_trait = greedy
}
}
}
add_martial_lifestyle_xp = minor_lifestyle_xp
stress_impact = {
just = minor_stress_impact_gain
}
}
option = {
name = martial_authority.1031.c
trigger = {
prowess >= high_skill_rating
}
skill = prowess
scope:county_to_save = {
add_county_modifier = {
modifier = warfare_expunged_bandits_modifier
years = 10
}
}
if = {
limit = {
OR = {
has_trait = sadistic
has_trait = wrathful
}
}
add_dread = medium_dread_gain
}
else_if = {
limit = {
NOR = {
has_trait = sadistic
has_trait = wrathful
}
}
add_character_modifier = {
modifier = respected_by_mercenaries
}
}
ai_chance = {
base = 50
modifier = {
add = 30
OR = {
has_trait = brave
has_trait = wrathful
has_trait = sadistic
has_trait = vengeful
}
}
}
add_martial_lifestyle_xp = medium_lifestyle_xp
stress_impact = {
calm = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
forgiving = minor_stress_impact_gain
}
}
}
##################################################
# Internal Dispute (Diplomacy Skill Challenge)
# by Sean Hughes
# 2040-2042
##################################################
#Find a courtier who would fight in your army.
scripted_trigger martial_authority_2040_first_trigger = {
is_ai = yes
is_available_healthy_adult = yes
age <= 35
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = this }
save_temporary_scope_as = first
root = {
any_knight = {
martial_authority_2040_second_trigger = yes
}
}
}
#Find another courtier who is disliked by the first one.
scripted_trigger martial_authority_2040_second_trigger = {
is_ai = yes
is_available_healthy_adult = yes
age <= 40
this != scope:first
reverse_opinion = {
target = scope:first
value <= neutral_opinion
}
}
martial_authority.2040 = {
type = character_event
title = martial_authority.2040.t
desc = martial_authority.2040.desc
theme = martial_authority_focus
override_background = {
reference = army_camp
}
left_portrait = {
character = scope:first
animation = anger
}
right_portrait = {
character = scope:second
animation = rage
}
trigger = {
NOT = { has_character_flag = had_event_martial_authority_2040 } #Can only happen once every 5 years.
#Only trigger if we've been at war for at least a few days.
days_of_continuous_war >= 5
is_available_adult_or_is_commanding = yes
any_knight = {
martial_authority_2040_first_trigger = yes
}
any_knight = {
martial_authority_2040_second_trigger = yes
}
}
weight_multiplier = {
base = 1
modifier = {
add = { #-1 at 5 diplomacy, 0 at 10 diplomacy, 1 at 15 diplomacy etc.
value = diplomacy
subtract = medium_skill_rating
multiply = 0.2
}
}
upweight_for_focus_modifier = { FOCUS = martial_authority_focus }
}
immediate = {
add_character_flag = {
flag = had_event_martial_authority_2040
days = 1825
}
random_knight = {
limit = {
martial_authority_2040_first_trigger = yes
}
save_scope_as = first
}
random_knight = {
limit = {
martial_authority_2040_second_trigger = yes
}
if = {
limit = { root = { is_ai = no } }
assign_quirk_effect = yes
}
save_scope_as = second
}
}
#Attempt to get the men to calm down and work together
option = {
name = martial_authority.2040.a
duel = {
skill = diplomacy
value = 10
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = martial_authority.2040.a.success
trigger_event = martial_authority.2041 #The men calm down.
show_as_tooltip = {
add_prestige = medium_prestige_gain
add_martial_lifestyle_xp = medium_lifestyle_xp
reverse_add_opinion = {
target = scope:first
modifier = respect_opinion
opinion = low_positive_opinion
}
reverse_add_opinion = {
target = scope:second
modifier = respect_opinion
opinion = low_positive_opinion
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = martial_authority.2040.a.failure
trigger_event = martial_authority.2042 #A brawl breaks out!
show_as_tooltip = {
add_prestige = minor_prestige_loss
}
custom_tooltip = martial_authority.2040.a.failure.tt
}
}
stress_impact = {
shy = medium_stress_impact_gain
callous = minor_stress_impact_gain
sadistic = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 100
ai_compassion = 100
}
# Rational characters know when they have a good chance of winning the duel
compare_modifier = {
trigger = {
ai_rationality >= 10
}
value = {
value = diplomacy
add = -10
}
multiplier = 1000 # -10,000 at 0 Stewardship, +0 at 10 Stewardship, +10,000 at 20 Stewardship
}
}
}
#Have the soldiers whipped
option = {
name = martial_authority.2040.b
add_dread = medium_dread_gain
scope:first = {
increase_wounds_effect = { REASON = whipping }
add_opinion = {
target = root
modifier = angry_opinion
opinion = low_negative_opinion
}
}
scope:second = {
increase_wounds_effect = { REASON = whipping }
add_opinion = {
target = root
modifier = angry_opinion
opinion = low_negative_opinion
}
}
add_martial_lifestyle_xp = minor_lifestyle_xp
stress_impact = {
compassionate = medium_stress_impact_gain
calm = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = -100
ai_vengefulness = 100
ai_compassion = -200
}
}
}
#Leave the men to their petty quarrel
option = {
name = {
text = martial_authority.2040.c
trigger = {
NOR = {
has_trait = hashishiyah
has_trait = drunkard
}
}
}
name = {
text = martial_authority.2040.c.hashishiyah
trigger = { has_trait = hashishiyah }
}
name = {
text = martial_authority.2040.c.drunkard
trigger = { has_trait = drunkard }
}
add_prestige = miniscule_prestige_loss
if = {
limit = {
OR = {
has_trait = hashishiyah
has_trait = drunkard
}
}
add_stress = medium_stress_impact_loss
}
else = {
stress_impact = {
diligent = minor_stress_impact_gain
just = minor_stress_impact_gain
reclusive = minor_stress_impact_loss
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = -100
ai_energy = -100
}
}
}
}
#Men calm down
martial_authority.2041 = {
type = character_event
title = martial_authority.2041.t
desc = martial_authority.2041.desc
theme = martial_authority_focus
override_background = {
reference = army_camp
}
left_portrait = {
character = scope:first
animation = shame
}
right_portrait = {
character = scope:second
animation = worry
}
option = {
name = martial_authority.2041.a
add_prestige = medium_prestige_gain
reverse_add_opinion = {
target = scope:first
modifier = respect_opinion
opinion = low_positive_opinion
}
reverse_add_opinion = {
target = scope:second
modifier = respect_opinion
opinion = low_positive_opinion
}
add_martial_lifestyle_xp = medium_lifestyle_xp
}
}
#Brawl breaks out!
martial_authority.2042 = {
type = character_event
title = martial_authority.2042.t
desc = martial_authority.2042.desc
theme = martial_authority_focus
override_background = {
reference = army_camp
}
left_portrait = {
character = scope:first
animation = anger
}
right_portrait = {
character = scope:second
animation = rage
}
immediate = {
play_music_cue = "mx_cue_combat_3"
}
option = {
name = martial_authority.2042.a
duel = {
skill = prowess
value = 15
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 4
min = -49
}
desc = martial_authority.2042.a.success
send_interface_toast = {
type = event_toast_effect_good
title = martial_authority.2042.a.success
left_icon = root
add_prestige = medium_prestige_gain
add_martial_lifestyle_xp = medium_lifestyle_xp
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -4
min = -49
}
desc = martial_authority.2042.a.failure
send_interface_toast = {
type = event_toast_effect_bad
title = martial_authority.2042.a.failure
left_icon = root
increase_wounds_effect = { REASON = fight }
add_martial_lifestyle_xp = miniscule_lifestyle_xp
}
}
}
stress_impact = {
#Rare opportunity for certain character types to 'blow off some steam' and lose stress here, at risk of wounds.
eccentric = medium_stress_loss
wrathful = medium_stress_loss
vengeful = medium_stress_loss
sadistic = medium_stress_loss
#Most characters won't want to do this, though.
craven = major_stress_impact_gain
calm = medium_stress_impact_gain
patient = minor_stress_impact_gain
forgiving = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 100
ai_vengefulness = 100
ai_energy = 100
ai_rationality = -100
}
# Rational characters know when they have a good chance of winning the duel
compare_modifier = {
trigger = {
ai_rationality >= 10
}
value = {
value = prowess
add = -15
}
multiplier = 1500 # -22,500 at 0 Prowess, +0 at 15 Prowess, +7,500 at 20 Prowess
}
}
}
option = {
name = martial_authority.2042.b
add_prestige = minor_prestige_loss
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = 100
ai_rationality = 100
}
}
}
}
##################################################
# An Extra Hand: Find a right-hand (wo)man
# by Sean Hughes
# 2050 - 2057
##################################################
scripted_trigger martial_authority_2050_can_be_right_hand_person_trigger = {
is_available_ai_adult = yes
# Must not be the kind of person to ignore/defy your will.
NOT = {
has_trait = greedy
has_trait = ambitious
has_trait = lazy
has_trait = arbitrary
}
opinion = {
target = root
value >= -15
}
# Not a baron; they're too insignificant!
NOT = {
highest_held_title_tier = 1
}
# Not your marshal (since they appear elsewhere in the event).
NOR = {
is_councillor_of = root
has_council_position = councillor_marshal
}
# Not somebody else's right-hand person.
NOT = { has_variable = is_right_hand_person_of }
}
# Gain a Right-Hand Person
martial_authority.2050 = {
type = character_event
title = martial_authority.2050.t
desc = {
desc = martial_authority.2050.desc.opening
first_valid = {
triggered_desc = {
trigger = {
scope:right_hand_person = {
is_vassal_of = root
is_landed = yes
}
}
desc = martial_authority.2050.desc.vassal
}
triggered_desc = {
trigger = {
scope:right_hand_person = {
is_knight_of = root
}
}
desc = martial_authority.2050.desc.knight
}
desc = martial_authority.2050.desc.courtier
}
desc = martial_authority.2050.desc.ending
}
theme = martial_authority_focus
left_portrait = {
character = root
animation = interested_left
}
right_portrait = {
character = scope:right_hand_person
animation = personality_bold
}
lower_right_portrait = scope:marshal
trigger = {
# Restricted to Authority and Adventurer lifestyle, because it's not really sensible for Chivalry or Strategy
OR = {
has_focus = martial_authority_focus
has_focus = martial_adventurer_focus
}
NOT = { has_variable = right_hand_person } # Does not already have a right-hand person.
NOT = { has_character_flag = had_event_martial_authority_2050 } #Can only happen once every 5 years.
# A valid character to become our right-hand person must exist.
OR = {
any_vassal = {
martial_authority_2050_can_be_right_hand_person_trigger = yes
}
any_knight = {
martial_authority_2050_can_be_right_hand_person_trigger = yes
}
any_courtier = {
martial_authority_2050_can_be_right_hand_person_trigger = yes
}
}
}
weight_multiplier = {
base = 1
}
immediate = {
add_character_flag = {
flag = had_event_martial_authority_2050
years = 5
}
every_vassal = {
limit = {
martial_authority_2050_can_be_right_hand_person_trigger = yes
}
add_to_temporary_list = potential_right_hand_people
}
every_knight = {
limit = {
martial_authority_2050_can_be_right_hand_person_trigger = yes
}
add_to_temporary_list = potential_right_hand_people
}
every_courtier = {
limit = {
martial_authority_2050_can_be_right_hand_person_trigger = yes
}
add_to_temporary_list = potential_right_hand_people
}
ordered_in_list = {
list = potential_right_hand_people
order_by = {
value = {
add = 1
# More likely to pick somebody who has some amount of standing in your realm...
if = {
limit = {
is_vassal_of = root
}
add = 15
add = {
add = highest_held_title_tier
multiply = 2
}
}
else_if = {
limit = {
is_knight_of = root
}
add = 10
}
# ...but less likely to pick somebody who is already very important.
if = {
limit = {
OR = {
is_councillor_of = root
is_consort_of = root
is_player_heir_of = root
}
}
add = -25
}
else_if = {
limit = {
OR = {
is_powerful_vassal_of = root
is_player_heir_of = root
}
}
add = -10
}
# More likely to pick someone who has respect for the 'rule of law'
if = {
limit = { has_trait = just }
add = 10
}
if = {
limit = { has_trait = content }
add = 5
}
if = {
limit = { has_trait = diligent }
add = 5
}
if = {
limit = { has_trait = arrogant }
add = -5
}
if = {
limit = { has_trait = fickle }
add = -5
}
# More likely to pick someone who is friendly to you.
if = {
limit = {
opinion = {
target = root
value >= 10
}
}
add = 10
}
if = {
limit = {
opinion = {
target = root
value >= 25
}
}
add = 5
}
# But not too friendly, otherwise the event is kind of inconsequential.
if = {
limit = {
opinion = {
target = root
value >= 80
}
}
add = -10
}
# Trait compatibility has a large impact on who gets picked.
add = {
add = 0
if = {
limit = {
trait_compatibility = {
target = root
value >= high_positive_trait_compatibility
}
}
add = 50
}
else_if = {
limit = {
trait_compatibility = {
target = root
value >= medium_positive_trait_compatibility
}
}
add = 35
}
else_if = {
limit = {
trait_compatibility = {
target = root
value >= low_positive_trait_compatibility
}
}
add = 15
}
else_if = {
limit = {
trait_compatibility = {
target = root
value >= low_negative_trait_compatibility
}
}
add = -10
}
else = {
add = -30
}
# Attraction Multiplier
if = {
limit = {
root = { is_attracted_to_gender_of = prev }
is_attracted_to_gender_of = root
}
multiply = 1.5
}
}
# Slightly more likely to pick someone close to you in age.
if = {
limit = {
age < age_compared_to_root_plus_ten
age > age_compared_to_root_minus_ten
}
add = 5
}
}
}
save_scope_as = right_hand_person
}
# Save variables (for localization and death events).
set_variable = {
name = right_hand_person
value = scope:right_hand_person
}
scope:right_hand_person = {
set_variable = {
name = is_right_hand_person_of
value = root
}
}
# Save other relevant scopes.
if = {
limit = {
exists = cp:councillor_marshal
}
cp:councillor_marshal = {
save_scope_as = marshal
}
}
}
option = {
name = martial_authority.2050.a
# Gain semi-permanent character modifier (until RHP is unable or unwilling to continue serving you).
send_interface_toast = {
title = martial_authority.2050.toast.title
left_icon = scope:right_hand_person
add_character_modifier = {
modifier = martial_authority_2050_right_hand_person_modifier
}
}
# Mutual Opinion Increase with RHM.
scope:right_hand_person = {
add_opinion = {
modifier = pleased_opinion
target = root
opinion = 10
}
}
hidden_effect = {
add_opinion = {
modifier = pleased_opinion
target = scope:right_hand_person
opinion = 10
}
if = {
limit = {
NOT = { has_relation_potential_friend = scope:right_hand_person}
}
set_relation_potential_friend = scope:right_hand_person
}
}
primary_title = { #Scope change here to avoid tooltip grouping.
custom_tooltip = martial_authority.2050.a.tt
}
stress_impact = {
shy = medium_stress_gain
paranoid = medium_stress_gain
}
trigger_event = {
id = martial_authority.2051
years = { 2 3 }
}
}
option = {
name = martial_authority.2050.b
trigger = {
exists = scope:marshal
}
# Larger Mutual opinion increase with Marshal.
scope:marshal = {
add_opinion = {
modifier = trust_opinion
target = root
opinion = 20
}
}
hidden_effect = {
add_opinion = {
modifier = trust_opinion
target = scope:marshal
opinion = 20
}
}
# Remove unused event variables
remove_variable = right_hand_person
scope:right_hand_person = {
remove_variable = is_right_hand_person_of
}
}
option = {
name = martial_authority.2050.c
# Gain large amount of Prestige at the cost of Stress.
add_prestige = major_prestige_gain
stress_impact = {
base = medium_stress_gain
diligent = minor_stress_loss
lazy = major_stress_gain
humble = minor_stress_gain
}
# Remove unused event variables
remove_variable = right_hand_person
scope:right_hand_person = {
remove_variable = is_right_hand_person_of
}
}
}
# Become friends with your Right-Hand Person.
martial_authority.2051 = {
type = character_event
title = martial_authority.2051.t
desc = martial_authority.2051.desc
left_portrait = {
character = root
animation = happiness
}
right_portrait = {
character = scope:right_hand_person
animation = admiration
}
theme = martial_authority_focus
trigger = {
exists = var:right_hand_person
var:right_hand_person = {
is_alive = yes
is_imprisoned = no
opinion = {
target = root
value >= 15
}
}
can_set_relation_friend_trigger = { CHARACTER = var:right_hand_person }
NOR = {
has_relation_lover = var:right_hand_person
has_relation_soulmate = var:right_hand_person
}
}
weight_multiplier = {
base = 1
}
immediate = {
# Transition right-hand person variable into an event scope.
var:right_hand_person = {
save_scope_as = right_hand_person
}
}
option = {
name = martial_authority.2051.a
set_relation_friend = { reason = friend_right_hand_man target = scope:right_hand_person }
}
option = {
name = martial_authority.2051.b
trigger = {
can_set_relation_lover_trigger = { CHARACTER = var:right_hand_person }
}
set_relation_lover = { reason = lover_right_hand target = scope:right_hand_person }
}
option = {
name = martial_authority.2051.c
add_prestige = minor_prestige_gain
scope:right_hand_person = {
add_opinion = {
modifier = respect_opinion
target = root
opinion = 10
}
}
}
}
# Right-Hand Person Imprisoned (by you)
martial_authority.2052 = {
hidden = yes
trigger = {
exists = var:right_hand_person
var:right_hand_person = {
is_alive = yes
is_imprisoned = yes
exists = var:is_right_hand_person_of
}
scope:imprisoner = var:right_hand_person.var:is_right_hand_person_of
}
immediate = {
var:right_hand_person.var:is_right_hand_person_of = {
send_interface_message = {
type = event_prison_neutral
title = martial_authority.2052.message
left_icon = var:right_hand_person
remove_character_modifier = martial_authority_2050_right_hand_person_modifier
}
}
}
}
# Right-Hand Person Imprisoned (by someone else)
martial_authority.2053 = {
hidden = yes
trigger = {
exists = var:right_hand_person
var:right_hand_person = {
is_alive = yes
is_imprisoned = yes
exists = var:is_right_hand_person_of
var:is_right_hand_person_of = {
is_alive = yes
}
}
NOT = { scope:imprisoner = var:right_hand_person.var:is_right_hand_person_of }
}
immediate = {
var:right_hand_person.var:is_right_hand_person_of = {
send_interface_message = {
type = event_prison_neutral
title = martial_authority.2053.toast
left_icon = var:right_hand_person
remove_character_modifier = martial_authority_2050_right_hand_person_modifier
}
}
}
}
# Right-Hand Person Released from Prison
martial_authority.2054 = {
hidden = yes
trigger = {
exists = var:is_right_hand_person_of
var:is_right_hand_person_of = {
is_alive = yes
}
}
immediate = {
var:is_right_hand_person_of = {
var:right_hand_person = { save_scope_as = right_hand_person }
send_interface_message = {
type = event_prison_neutral
title = martial_authority.2054.toast
left_icon = scope:right_hand_person
add_character_modifier = {
modifier = martial_authority_2050_right_hand_person_modifier
}
}
}
}
}
# Right-Hand Person Dies
martial_authority.2055 = {
hidden = yes
trigger = {
exists = var:is_right_hand_person_of
}
immediate = {
var:is_right_hand_person_of = {
send_interface_message = {
type = event_generic_neutral
title = martial_authority.2056.message
left_icon = root
remove_character_modifier = martial_authority_2050_right_hand_person_modifier
}
hidden_effect = {
remove_variable = right_hand_person
}
}
}
}
# Right-Hand Person Leaves Service
martial_authority.2056 = {
hidden = yes
orphan = yes
trigger = {
exists = var:right_hand_person
var:right_hand_person = {
is_alive = yes
}
}
immediate = {
remove_character_modifier = martial_authority_2050_right_hand_person_modifier
scope:right_hand_person = {
remove_variable = is_right_hand_person_of
}
remove_variable = right_hand_person
}
}
# I Die (Cleans up variables on Right-Hand Person)
martial_authority.2057 = {
hidden = yes
trigger = {
exists = var:right_hand_person
}
immediate = {
var:right_hand_person = {
remove_variable = is_right_hand_person_of
}
}
}
################################################################################################################################
################################################################################################################################
#############################
# AUTHORITY: SPECIAL EVENTS #
#############################
namespace = martial_authority_special
##############################
# Soldier & Officer fighting # by Mathilda Bjarnehed
##############################
martial_authority_special.1100 = {
type = character_event
title = martial_authority_special.1100.t
desc = {
desc = martial_authority_special.1100.start.desc
random_valid = {
desc = martial_authority_special.1100.heavy_infantry.desc
desc = martial_authority_special.1100.cavalry.desc
desc = martial_authority_special.1100.archer.desc
desc = martial_authority_special.1100.skirmisher.desc
desc = martial_authority_special.1100.pikemen.desc
}
desc = martial_authority_special.1100.end.desc
}
theme = martial_authority_focus
override_background = {
reference = alley_night
}
left_portrait = {
character = root
animation = scheme
outfit_tags = { military_outfit }
}
right_portrait = {
character = scope:officer
animation = anger
outfit_tags = { military_outfit }
}
trigger = {
NOT = {
location = { geographical_region = world_asia_china }
}
OR = {
has_focus = martial_authority_focus
has_focus = martial_adventurer_focus
}
NOT = { has_character_flag = had_event_martial_authority_special_1100 }
num_of_relation_soldier_friend = 0
any_knight = {
basic_is_available_ai = yes
ai_compassion <= low_positive_ai_value
}
OR = {
exists = capital_province
exists = location
}
}
weight_multiplier = {
base = 1
}
immediate = {
hidden_effect = {
add_character_flag = {
flag = is_in_martial_special_event
days = 200
}
add_character_flag = had_event_martial_authority_special_1100
#Pick an officer
random_knight = {
limit = {
basic_is_available_ai = yes
ai_compassion <= low_positive_ai_value
}
weight = {
base = 1
modifier = {
add = {
value = ai_compassion
multiply = -2
if = {
limit = { ai_compassion <= medium_negative_ai_value }
multiply = 3
}
}
}
modifier = {
add = {
value = ai_boldness
multiply = 1
}
}
}
save_scope_as = officer
}
#Create a hidden soldier
if = {
limit = {
exists = root.capital_province
}
create_character = {
gender_female_chance = root_soldier_female_chance
location = root.capital_province
template = soldier_friend_character
save_scope_as = soldier_friend
dynasty = generate
}
}
else = {
create_character = {
gender_female_chance = root_soldier_female_chance
location = root.location
template = soldier_friend_character
save_scope_as = soldier_friend
dynasty = generate
}
}
}
}
#Defend the soldier (fist fight)
option = {
name = martial_authority_special.1100.a
duel = {
skill = prowess
target = scope:officer
7 = {
compare_modifier = {
value = scope:duel_value
multiplier = 1
min = -14
}
desc = martial_authority_special.1100.a.success.tt
show_as_tooltip = {
add_martial_lifestyle_perk_points = 1
}
trigger_event = martial_authority_special.1101
}
10 = {
compare_modifier = {
value = scope:duel_value
multiplier = -0.7
min = -9
}
desc = martial_authority_special.1100.a.failure.tt
trigger_event = martial_authority_special.1102
show_as_tooltip = {
martial_authority_special_1100_a_failure_effect = yes
}
}
}
stress_impact = {
lazy = minor_stress_impact_gain
craven = medium_stress_impact_gain
sadistic = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_boldness_target_modifier = { VALUE = 50 }
ai_compassion_target_modifier = { VALUE = 50 }
modifier = {
factor = 0
has_trait_rank = {
trait = wounded
rank >= 3
}
}
}
}
#Inspiring speech
option = {
name = martial_authority_special.1100.b
trigger = { diplomacy >= high_skill_rating }
skill = diplomacy
show_as_tooltip = {
add_martial_lifestyle_perk_points = 1
}
reverse_add_opinion = {
target = scope:officer
modifier = respect_opinion
opinion = low_positive_opinion
}
trigger_event = martial_authority_special.1103
ai_chance = {
base = 100
ai_compassion_target_modifier = { VALUE = 50 }
}
stress_impact = {
shy = minor_stress_impact_gain
sadistic = minor_stress_impact_gain
}
}
#Punish them both
option = {
name = martial_authority_special.1100.c
add_dread = medium_dread_gain
scope:officer = {
increase_wounds_no_death_effect = { REASON = beaten }
add_opinion = {
target = root
modifier = cruelty_opinion
opinion = low_negative_opinion
}
}
hidden_effect = {
remove_character_flag = is_in_martial_special_event
}
scope:soldier_friend = {
silent_disappearance_ai_effect = yes
}
ai_chance = {
base = 50
ai_compassion_target_modifier = { VALUE = -100 }
}
stress_impact = {
compassionate = medium_stress_impact_gain
}
}
#Claim the idea as your own
option = {
name = martial_authority_special.1100.d
add_character_modifier = {
modifier = innovative_strategy_modifier
years = 15
}
hidden_effect = {
remove_character_flag = is_in_martial_special_event
}
scope:soldier_friend = {
silent_disappearance_ai_effect = yes
}
stress_impact = {
honest = medium_stress_impact_gain
compassionate = minor_stress_impact_gain
}
ai_chance = {
base = 50
ai_honor_target_modifier = { VALUE = -60 }
ai_compassion_target_modifier = { VALUE = -40 }
}
}
}
#You won the duel
martial_authority_special.1101 = {
type = character_event
title = martial_authority_special.1100.t
desc = {
desc = martial_authority_special.1101.desc
desc = martial_authority_special.1101.end.desc
}
theme = martial_authority_focus
override_background = {
reference = alley_night
}
left_portrait = {
character = root
animation = war_over_win
outfit_tags = { military_outfit }
}
right_portrait = {
character = scope:officer
animation = shame
outfit_tags = { military_outfit }
}
lower_left_portrait = {
character = scope:soldier_friend
outfit_tags = { military_outfit }
}
immediate = {
martial_authority_special_1100_soldier_friend_effects_effect = yes
}
#Use their strategy
option = {
name = martial_authority_special.1101.a
add_character_modifier = {
modifier = innovative_strategy_modifier
years = 15
}
add_martial_lifestyle_xp = medium_lifestyle_xp
}
#Talk it over
option = {
name = martial_authority_special.1101.b
add_martial_lifestyle_perk_points = 1
}
after = {
hidden_effect = {
remove_character_flag = is_in_martial_special_event
}
scope:soldier_friend = {
silent_disappearance_ai_effect = yes
}
}
}
#Duel lost
martial_authority_special.1102 = {
type = character_event
title = martial_authority_special.1100.t
desc = martial_authority_special.1102.desc
theme = martial_authority_focus
override_background = {
reference = alley_night
}
left_portrait = {
character = root
animation = shame
}
right_portrait = {
character = scope:officer
animation = dismissal
outfit_tags = { military_outfit }
}
immediate = {
martial_authority_special_1100_a_failure_effect = yes
}
option = {
name = martial_authority_special.1102.a
add_character_modifier = {
modifier = fought_a_seasoned_warrior
days = 1825
}
add_martial_lifestyle_xp = minor_lifestyle_xp
}
after = {
hidden_effect = {
remove_character_flag = is_in_martial_special_event
}
scope:soldier_friend = {
silent_disappearance_ai_effect = yes
}
}
}
#Your speech worked
martial_authority_special.1103 = {
type = character_event
title = martial_authority_special.1100.t
desc = {
desc = martial_authority_special.1103.desc
desc = martial_authority_special.1101.end.desc
}
theme = martial_authority_focus
override_background = {
reference = alley_night
}
left_portrait = {
character = root
animation = toast
}
right_portrait = {
character = scope:soldier_friend
animation = happiness
outfit_tags = { military_outfit }
}
lower_right_portrait = {
character = scope:officer
outfit_tags = { military_outfit }
}
immediate = {
martial_authority_special_1100_soldier_friend_effects_effect = yes
}
#Use their strategy
option = {
name = martial_authority_special.1101.a
add_character_modifier = {
modifier = innovative_strategy_modifier
years = 15
}
add_martial_lifestyle_xp = medium_lifestyle_xp
}
#Talk it over
option = {
name = martial_authority_special.1101.b
add_martial_lifestyle_perk_points = 1
}
after = {
hidden_effect = {
remove_character_flag = is_in_martial_special_event
}
scope:soldier_friend = {
silent_disappearance_ai_effect = yes
}
}
}
######################
# Deserting Soldier # by Linnéa Thimrén, rewritten by Arkadiusz Majewski
######################
#Your knight wants to desert because of a PTSD
martial_authority_special.1501 = {
type = character_event
title = martial_authority_special.1501.t
desc = {
desc = martial_authority_special.1501.desc
first_valid = {
triggered_desc = {
trigger = { scope:desertion_reason = flag:raid }
desc = martial_authority_special.1501.desc_raid
}
desc = martial_authority_special.1501.desc_battle
}
desc = martial_authority_special.1501.desc_outro
}
theme = martial_authority_focus
override_background = {
reference = ce1_funeral_pyre
}
cooldown = { years = 10 }
left_portrait = {
character = root
animation = worry
outfit_tags = { military_outfit }
}
right_portrait = {
character = scope:deserting_soldier
animation = delirium
outfit_tags = { military_outfit }
}
trigger = {
NOT = { has_character_flag = is_in_martial_special_event }
OR = {
has_focus = martial_authority_focus
has_focus = martial_adventurer_focus
}
OR = {
any_relation = {
type = soldier_friend
save_temporary_scope_as = deserting_soldier_temp
}
any_courtier_or_guest = {
NOT = { this = root }
is_ai = yes
is_adult = yes
is_knight_of = root
save_temporary_scope_as = deserting_soldier_temp
}
}
OR = {
location = {
has_province_modifier = recently_looted_modifier
}
any_memory = {
has_memory_type = battle_lost_memory
var:battle_location = root.location
memory_age_years < 1
}
scope:deserting_soldier_temp = {
any_memory = {
has_memory_type = battle_lost_memory
var:battle_location = root.location
memory_age_years < 1
}
}
}
}
immediate = {
location = {
save_scope_as = ravaged_place
}
if = {
limit = {
location = {
has_province_modifier = recently_looted_modifier
}
}
save_scope_value_as = {
name = desertion_reason
value = flag:raid
}
}
else = {
save_scope_value_as = {
name = desertion_reason
value = flag:battle
}
}
if = {
limit = {
any_relation = {
type = soldier_friend
is_councillor = no
}
}
hidden_effect = {
random = {
chance = 25
random_relation = {
type = soldier_friend
save_scope_as = deserting_soldier # Oh no, your soldier_friend is among the deserters!
}
}
}
}
if = {
limit = {
NOT = { exists = scope:deserting_soldier }
}
ordered_courtier_or_guest = {
order_by = ai_honor
limit = {
trigger_if = {
limit = {
scope:desertion_reason = flag:battle
}
any_memory = {
has_memory_type = battle_lost_memory
var:battle_location = location
memory_age_years < 1
}
}
this != root
is_ai = yes
is_adult = yes
is_knight_of = root
}
save_scope_as = deserting_soldier
}
}
}
option = {
name = martial_authority_special.1501.a
flavor = martial_authority_special.1501.a_tt
duel = {
skill = martial
target = scope:deserting_soldier
20 = {
desc = martial_authority_special.1501.a.success
compare_modifier = {
value = scope:duel_value
multiplier = 1
min = 1
}
send_interface_toast = {
type = event_toast_effect_bad
title = martial_authority_special.1501.a.success
left_icon = scope:deserting_soldier
right_icon = root
add_martial_lifestyle_perk_points = 1
scope:deserting_soldier = {
add_opinion = {
modifier = comforted_opinion
opinion = 15
target = root
years = 5
}
}
}
}
20 = {
desc = martial_authority_special.1501.a.failure
compare_modifier = {
value = scope:duel_value
multiplier = -0.25
min = -4
}
send_interface_toast = {
type = event_toast_effect_bad
title = martial_authority_special.1501.a.failure
left_icon = scope:deserting_soldier
right_icon = root
add_character_modifier = {
modifier = decreased_levies_modifier
days = 1825
}
scope:deserting_soldier = {
add_opinion = {
modifier = doubted_me
opinion = -30
target = root
}
}
}
}
}
stress_impact = {
compassionate = minor_stress_impact_gain
}
ai_chance = {
base = 100
}
}
#I allievate you from responsibilites
option = {
name = martial_authority_special.1501.b
scope:deserting_soldier = {
set_knight_status = forbid
add_opinion = {
modifier = helped_me_in_time_of_need
opinion = 30
target = root
years = 5
}
hidden_effect = { # removes soldier_friend and adds them as a friend so that they will not be used in future warfare events
remove_relation_soldier_friend = root
if = {
limit = {
can_set_relation_friend_trigger = { CHARACTER = root }
}
set_relation_friend = { reason = friend_spared target = root }
}
}
}
if = {
limit = {
can_add_hook = {
type = obligation_hook
target = scope:deserting_soldier
}
}
add_hook = {
type = obligation_hook
target = scope:deserting_soldier
}
add_stress = minor_stress_loss
}
else = {
add_stress = medium_stress_loss
}
stress_impact = {
compassionate = minor_stress_impact_loss
}
ai_chance = {
base = 10
modifier = {
add = 100
has_trait = compassionate
}
}
}
#snap out of it
option = {
name = martial_authority_special.1501.c
add_martial_lifestyle_xp = minor_lifestyle_xp
scope:deserting_soldier = {
add_opinion = {
modifier = let_me_down_opinion
opinion = -15
target = root
}
hidden_effect = { # removes soldier_friend and adds them as a friend so that they will not be used in future warfare events
remove_relation_soldier_friend = root
if = {
limit = {
can_set_relation_friend_trigger = { CHARACTER = root }
}
set_relation_friend = { reason = friend_spared target = root }
}
}
}
ai_chance = {
base = 10
}
}
}
##########################################################################
# Displaying/Teaching Authority to Someone (Find a way to impress someone)
##########################################################################
# by Milla Isaksson
#####################
scripted_trigger martial_authority_special_friend_trigger = {
OR = {
AND = {
OR = {
has_trait = overseer
AND = {
exists = root.var:right_hand_person
this = root.var:right_hand_person
}
}
is_available_ai_adult = yes
}
AND = {
is_child_of = root
age >= 10
is_available_ai = yes
}
}
}
martial_authority_special.3000 = {
type = character_event
title = martial_authority_special.3000.t
desc = martial_authority_special.3000.desc
left_portrait = {
character = root
animation = interested_left
}
right_portrait = {
character = scope:martial_authority_friend
animation = inspect_weapon
}
theme = martial_authority_focus
trigger = {
NOT = { has_character_flag = had_event_martial_authority_3000 } #Can only happen once every 5 years
OR = {
any_vassal = {
martial_authority_special_friend_trigger = yes
}
any_knight = {
martial_authority_special_friend_trigger = yes
}
any_courtier_or_guest = {
martial_authority_special_friend_trigger = yes
}
}
exists = capital_province
}
immediate = {
add_character_flag = {
flag = had_event_martial_authority_3000
days = 1825
}
if = {
limit = {
NOT = {
any_relation = {
type = friend
is_available = yes
lifestyle_friend_trigger = { CHARACTER = root FOCUS = martial_authority_focus }
}
}
}
potential_lifestyle_friend_saving_effect = { FOCUS = martial_authority_focus SCOPE_NAME = martial_authority_friend }
}
else = {
random_relation = {
type = friend
limit = {
is_available = yes
lifestyle_friend_trigger = { CHARACTER = root FOCUS = martial_authority_focus }
exists = root.var:right_hand_person
this = root.var:right_hand_person
}
alternative_limit = {
is_available = yes
lifestyle_friend_trigger = { CHARACTER = root FOCUS = martial_authority_focus }
}
save_scope_as = martial_authority_friend
}
}
}
option = { # Talk about the importance of communication
name = martial_authority_special.3000.a
add_martial_lifestyle_xp = minor_lifestyle_xp
reverse_add_opinion = {
target = scope:martial_authority_friend
modifier = respect_opinion
opinion = low_positive_opinion
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = 0.5
}
modifier = {
factor = 1.5
has_trait_extroverted_trigger = yes
}
}
}
option = { # Take a walk among your soldiers
name = martial_authority_special.3000.b
add_martial_lifestyle_xp = minor_lifestyle_xp
if = {
limit = {
has_government = landless_adventurer_government
}
add_character_modifier = {
modifier = ep3_loyal_troops_raid_modifier
years = 2
}
}
else = {
capital_province = {
add_province_modifier = { modifier = respected_figurehead years = 2 }
}
}
ai_chance = {
base = 100
modifier = {
factor = 1.5
has_trait_benevolent_trigger = yes
}
}
}
after = {
scope:martial_authority_friend = {
silent_disappearance_ai_if_created_effect = yes
}
}
}
### Innovate with weaponry ###
### martial_authority 4000 - 4005 ###
### by Nick Meredith ###
#Find a tool in an armoury
martial_authority.4000 = {
type = character_event
title = martial_authority.4000.t
desc = martial_authority.4000.desc
theme = martial_authority_focus
cooldown = { years = 10 }
override_background = {
reference = armory
}
left_portrait = {
character = root
animation = boredom
}
trigger = {
has_lifestyle = martial_lifestyle
is_ruler = yes
is_landed = yes
has_dlc_feature = royal_court
any_held_title = {
title_tier = county
title_province = {
OR = {
terrain = farmlands
terrain = plains
terrain = floodplains
terrain = oasis
}
}
}
}
weight_multiplier = {
base = 1
upweight_for_focus_modifier = { FOCUS = martial_authority_focus }
}
#Take a look at the weapon
option = {
name = martial_authority.4000.a
custom_tooltip = {
text = martial_authority.4000.a.tt
}
trigger_event = {
id = martial_authority.4001
days = { 3 10 }
}
}
#Discard option
option = {
name = martial_authority.4000.b
custom_tooltip = {
text = martial_authority.4000.b.tt
}
stress_impact = {
lazy = miniscule_stress_impact_loss
diligent = minor_stress_impact_gain
}
ai_chance = {
base = 100
}
}
}
#Choose what you want to turn the tool into
martial_authority.4001 = {
type = character_event
title = martial_authority.4001.t
desc = martial_authority.4001.desc
theme = martial_authority_focus
override_background = {
reference = armory
}
left_portrait = {
character = root
animation = personality_honorable
}
immediate = { #Make a blacksmith for the next event in the chain
create_character = {
gender_female_chance = root_faith_dominant_gender_female_chance
culture = root.culture
faith = root.faith
trait = diligent #it has a blacksmith's hammer!
random_traits = yes
dynasty = none
employer = root
save_scope_as = blacksmith
}
}
#Repurpose into a dagger
option = {
name = martial_authority.4001.a
flavor = martial_authority.4001.a.tt
random_list = {
75 = {
trigger_event = {
id = martial_authority.4002
days = { 7 21 }
}
modifier = {
add = -2
has_trait = lazy
}
modifier = {
add = 2
has_trait = diligent
}
modifier = {
add = 5
learning > 10
}
modifier = {
add = 5
martial > 10
}
modifier = {
add = 10
has_trait = intellect_good
}
modifier = {
add = 30
prowess > 15
}
modifier = {
add = 50
has_trait = lifestyle_blademaster
}
custom_tooltip = {
text = martial_authority_4001.dagger.tt
}
}
25 = {
send_interface_toast = {
title = martial_authority.4001.b.failure
left_icon = root
}
custom_tooltip = {
text = martial_authority_4001.fail.tt
}
}
}
ai_chance = {
base = 100
}
}
#Repurpose into a halberd
option = {
name = martial_authority.4001.b
flavor = martial_authority.4001.b.tt
random_list = {
50 = {
trigger_event = {
id = martial_authority.4003
days = { 7 21 }
}
modifier = {
add = -2
has_trait = lazy
}
modifier = {
add = 2
has_trait = diligent
}
modifier = {
add = 2
learning > 10
}
modifier = {
add = 2
martial > 10
}
modifier = {
add = 5
has_trait = intellect_good
}
modifier = {
add = 20
prowess > 15
}
modifier = {
add = 40
has_trait = lifestyle_blademaster
}
custom_tooltip = martial_authority_4001.halberd.tt
}
50 = {
send_interface_toast = {
title = martial_authority.4001.b.failure
left_icon = root
custom_tooltip = martial_authority_4001.fail.tt
}
}
}
ai_chance = {
base = 100
}
}
#Keep it as-is
option = {
name = martial_authority.4001.c
flavor = martial_authority.4001.c.tt
custom_tooltip = martial_authority_4001.billhook.tt
trigger_event = {
id = martial_authority.4004
days = { 7 21 }
}
ai_chance = {
base = 100
}
}
}
#You've made an improvised dagger!
martial_authority.4002 = {
type = character_event
title = martial_authority.4002.t
desc = martial_authority.4002.desc
theme = martial_authority_focus
override_background = {
reference = armory
}
left_portrait = {
character = root
animation = personality_honorable
}
right_portrait = {
character = scope:blacksmith
animation = personality_content
}
#Collect artifact
option = {
name = martial_authority.4002.a
trigger = {
NOT = {
has_character_flag = improvised_dagger
}
}
create_artifact = {
name = improvised_dagger
description = improvised_dagger_desc
type = dagger
visuals = dagger
modifier = artifact_prowess_1_modifier
save_scope_as = improvised_dagger
}
add_martial_lifestyle_xp = medium_lifestyle_xp
hidden_effect = {
scope:improvised_dagger = {
set_max_durability = 25
set_artifact_rarity_common = yes
flag_as_trash_artifact = yes
}
}
add_character_flag = {
flag = improvised_dagger
years = 5
}
ai_chance = {
base = 100
}
}
#Second option if you've already had this event
option = {
name = martial_authority.4002.b
add_martial_lifestyle_xp = medium_lifestyle_xp
add_character_modifier = {
modifier = repurposed_billhook_dagger
years = 5
}
ai_chance = {
base = 100
}
}
after = {
scope:blacksmith = {
silent_disappearance_effect = yes
}
}
}
#You've made an improvised halberd!
martial_authority.4003 = {
type = character_event
title = martial_authority.4003.t
desc = martial_authority.4003.desc
theme = martial_authority_focus
override_background = {
reference = armory
}
left_portrait = {
character = root
animation = personality_honorable
}
right_portrait = {
character = scope:blacksmith
animation = personality_content
}
#Collect rewards
option = {
name = martial_authority.4003.a
trigger = {
NOT = {
has_character_flag = improvised_halberd
}
}
create_artifact = {
name = improvised_halberd
description = improvised_halberd_desc
type = spear
visuals = spear
modifier = artifact_prowess_1_modifier
save_scope_as = improvised_halberd
}
add_martial_lifestyle_xp = medium_lifestyle_xp
hidden_effect = {
scope:improvised_halberd = {
set_max_durability = 25
set_artifact_rarity_common = yes
flag_as_trash_artifact = yes
}
}
add_character_flag = {
flag = improvised_halberd
years = 5
}
ai_chance = {
base = 100
}
}
#Second option if you've already had this event
option = {
name = martial_authority.4003.b
add_martial_lifestyle_xp = medium_lifestyle_xp
add_character_modifier = {
modifier = repurposed_billhook_halberd
years = 5
}
ai_chance = {
base = 100
}
}
after = {
scope:blacksmith = {
silent_disappearance_effect = yes
}
}
}
#You've 'made' a billhook!
martial_authority.4004 = {
type = character_event
title = martial_authority.4004.t
desc = martial_authority.4004.desc
theme = martial_authority_focus
override_background = {
reference = armory
}
left_portrait = {
character = root
animation = personality_honorable
}
right_portrait = {
character = scope:blacksmith
animation = personality_content
}
#Collect rewards
option = {
name = martial_authority.4004.a
trigger = {
NOT = {
has_character_flag = improvised_billhook
}
}
add_martial_lifestyle_xp = medium_lifestyle_xp
create_artifact = {
name = improvised_billhook
description = improvised_billhook_desc
type = dagger
visuals = dagger
modifier = artifact_prowess_1_modifier
modifier = artifact_levy_reinforcement_rate_1_modifier
modifier = artifact_monthly_prestige_penalty_modifier
save_scope_as = improvised_billhook
}
hidden_effect = {
scope:improvised_billhook = {
set_max_durability = 25
set_artifact_rarity_common = yes
flag_as_trash_artifact = yes
}
}
add_character_flag = {
flag = improvised_billhook
years = 5
}
ai_chance = {
base = 100
}
}
#Second option if you've already had this event
option = {
name = martial_authority.4004.b
add_martial_lifestyle_xp = medium_lifestyle_xp
add_character_modifier = {
modifier = repurposed_billhook_billhook
years = 5
}
ai_chance = {
base = 100
}
}
after = {
scope:blacksmith = {
silent_disappearance_effect = yes
}
}
}