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

3768 lines
81 KiB
Text

#Events for strategy lifestyle focus
#STRATEGY REGULAR EVENTS
# 1051 - Well-known commander, by Sean Hughes
# 2000 - Translate old texts (Learning skill challenge), Mathilda Bjarnehed
# 2020-2022 - Developing cunning/manipulative tactics (Intrigue skill challenge), Sean Hughes
# 2030-2032 - Logistics and securing provisions (Stewardship skill challenge), Sean Hughes
# 3010-3014 - Decide between two vassal's proposed strategies for a war, Sean Hughes
#STRATEGY SPECIAL EVENTS
# 1301-1399 - Storm Your Own Castle, by Linnéa Thimrén
# 1401-1499 - March gone awry, by Petter Vilberg
############################
# STRATEGY: REGULAR EVENTS #
############################
namespace = martial_strategy
##################################################
# General Gossip
# by Sean Hughes
# 1051
##################################################
martial_strategy.1051 = {
type = character_event
title = martial_strategy.1051.t
desc = martial_strategy.1051.desc
theme = martial_strategy_focus
override_background = {
reference = armory
}
left_portrait = {
character = root
animation = inspect_weapon
}
trigger = {
#Character must be experienced strategist
OR = {
has_trait = strategist
has_trait = gallant
}
#Character needs at least two event options available to get this
calc_true_if = {
amount >= 2
has_trait = brave
has_trait = wrathful
has_trait = sadistic
has_trait = zealous
OR = {
has_trait = patient
AND = {
has_trait = calm
NOT = { has_trait = impatient}
}
}
OR = {
has_trait = callous
AND = {
has_trait = ambitious
NOR = {
has_trait = impatient
has_trait = sadistic
}
}
}
}
#Only once per character.
NOT = {
has_character_flag = had_event_martial_strategy_1051
}
}
weight_multiplier = {
base = 1
modifier = {
add = { #-1 at 5 martial, 0 at 10 martial, 1 at 15 martial etc.
value = martial
subtract = medium_skill_rating
multiply = 0.2
}
}
#More available event options make a more interesting event, so we increase the chance of this occuring.
modifier = {
has_trait = brave
add = 0.2
}
modifier = {
has_trait = wrathful
add = 0.2
}
modifier = {
has_trait = zealous
add = 0.2
}
modifier = {
has_trait = calm
add = 0.2
}
modifier = {
has_trait = callous
add = 0.2
}
modifier = {
has_trait = patient
add = 0.2
}
modifier = {
has_trait = ambitious
add = 0.2
}
modifier = {
has_trait = sadistic
add = 0.5 # Sadistic modifies 2 options, so it's weighted heavier than the others.
}
modifier = {
OR = {
has_any_nickname = no
has_bad_nickname = yes
}
factor = 0.2
}
upweight_for_focus_modifier = { FOCUS = martial_strategy_focus }
}
immediate = {
add_character_flag = {
flag = had_event_martial_strategy_1051
years = 5
}
}
#Option A: Gain prestige for simply being good at what you do.
option = {
#Special option text if Humble.
name = {
trigger = { has_trait = humble }
text = martial_strategy.1051.a.humble
}
name = {
trigger = { NOT = { has_trait = humble }}
text = martial_strategy.1051.a
}
#Being Humble or Arrogant is in-line with this option's flavor text.
trait = humble
trait = arrogant
#Lesser effect for being Humble, since this event is all about bolstering your reputation.
if = {
limit = {
has_trait = humble
}
add_prestige = minor_prestige_gain
}
else_if = {
limit = {
has_trait = arrogant
}
set_nickname_effect = { NICKNAME = nick_the_imperious }
add_prestige = major_prestige_gain
}
else = {
add_prestige = medium_prestige_gain
}
}
#Option B: Gain a defensive character modifier for being Brave/Unyielding Defender.
option = {
#Special option text if you are Unyielding Defender.
name = {
trigger = { NOT = { has_trait = unyielding_defender }}
text = martial_strategy.1051.b.brave
}
name = {
trigger = {
has_trait = unyielding_defender
}
text = martial_strategy.1051.b.stalwart
}
#Must be Brave for this option to appear.
trigger = {
has_trait = brave
}
trait = brave
trait = unyielding_defender
if = {
#If we're Unyielding Defender, we gain a special nickname as well as gaining the modifier for an extended duration.
limit = {
has_trait = unyielding_defender
}
set_nickname_effect = { NICKNAME = nick_the_stalwart }
add_character_modifier = {
modifier = warfare_unshakable_reputation_modifier
years = 20
}
}
else = {
#Otherwise gain a normal nickname and standard duration modifier
set_nickname_effect = { NICKNAME = nick_the_brave }
add_character_modifier = {
modifier = warfare_unshakable_reputation_modifier
years = 10
}
}
}
#Option C: Gain an offensive character modifier for being Wrathful/Sadistic/Aggressive Attacker.
option = {
#If we're Sadistic, we get special event text for this choice.
name = {
trigger = { has_trait = sadistic }
text = martial_strategy.1051.c.feareater
}
name = {
trigger = { NOT = { has_trait = sadistic }}
text = martial_strategy.1051.c.wrathful
}
#Must be Wrathful and not Craven for this option to appear.
trigger = {
has_trait = wrathful
NOT = { has_trait = craven }
}
trait = wrathful
trait = sadistic
if = {
#If we're also Sadistic, we get a special nickname and as well as gaining the modifier for an extended duration.
limit = {
has_trait = sadistic
}
set_nickname_effect = { NICKNAME = nick_feareater }
add_character_modifier = {
modifier = warfare_ferocious_reputation_modifier
years = 20
}
}
else = {
#Otherwise, we get a different nickname and the modifier for a normal duration.
set_nickname_effect = { NICKNAME = nick_the_fury }
add_character_modifier = {
modifier = warfare_ferocious_reputation_modifier
years = 10
}
}
}
#Option D: Gain piety, or lose piety to gain dread for being Zealous/Sadistic
option = {
#Option text dependant on what comination of traits you have.
name = {
trigger = {
has_trait = zealous
NOT = { has_trait = sadistic }
}
text = martial_strategy.1051.d.zealous
}
name = {
trigger = {
has_trait = sadistic
has_trait = zealous
}
text = martial_strategy.1051.d.zealoussadistic
}
name = {
trigger = {
has_trait = sadistic
NOT = { has_trait = zealous }
}
text = martial_strategy.1051.d.sadistic
}
#Must have at least one of these two traits.
trigger = {
OR = {
has_trait = zealous
has_trait = sadistic
}
}
trait = sadistic
trait = zealous
if = {
#If both Sadistic and Zealous, we gain both Piety and Dread as well as a special nickname.
limit = {
has_trait = sadistic
has_trait = zealous
}
set_nickname_effect = { NICKNAME = nick_the_merciless }
add_piety = major_piety_gain
add_dread = major_dread_gain
}
else_if = {
#If Sadistic, we lose some Piety but gain Dread.
limit = {
has_trait = sadistic
}
set_nickname_effect = { NICKNAME = nick_the_merciless }
add_piety = miniscule_piety_loss
add_dread = major_dread_gain
}
else = {
#If only Zealous, we can some Piety.
set_nickname_effect = { NICKNAME = nick_the_holy }
add_piety = major_piety_gain
}
}
option = {
name = martial_strategy.1051.e.patient
trigger = {
OR = {
has_trait = patient
AND = {
has_trait = calm
NOT = { has_trait = impatient }
}
}
}
trait = patient
trait = calm
set_nickname_effect = { NICKNAME = nick_the_hawk }
add_prestige = medium_prestige_gain
add_stress = medium_stress_loss
}
option = {
name = martial_strategy.1051.f.ambitious
trigger = {
OR = {
has_trait = callous
AND = {
has_trait = ambitious
NOR = {
has_trait = sadistic
has_trait = compassionate
}
}
}
}
trait = callous
trait = ambitious
set_nickname_effect = { NICKNAME = nick_the_unrelenting }
add_prestige = medium_prestige_gain
add_dread = minor_dread_gain
}
}
#Texts on old battles
#by Mathilda Bjarnehed
#Read an old scroll or a newer tome?
martial_strategy.2000 = {
type = character_event
title = martial_strategy.2000.t
desc = {
desc = martial_strategy.2000.start.desc
random_valid = {
triggered_desc = {
trigger = {
game_start_date >= 1066.10.15
location = { geographical_region = world_europe }
}
desc = martial_strategy.2000.hastings.desc
}
triggered_desc = {
trigger = {
location = {
NOR = {
geographical_region = world_india
geographical_region = world_steppe
}
}
NOT = { faith = { religion_tag = islam_religion } }
}
desc = martial_strategy.2000.tours.desc
}
triggered_desc = {
trigger = {
location = {
NOR = {
geographical_region = world_india
geographical_region = world_steppe
}
}
faith = { religion_tag = islam_religion }
}
desc = martial_strategy.2000.palaceofthemartyrs.desc #(tours but arabic name!)
}
triggered_desc = {
trigger = {
location = {
NOR = {
geographical_region = world_india
geographical_region = world_steppe
}
}
}
desc = martial_strategy.2000.catalaunianplains.desc #Not India/plains
}
desc = martial_strategy.2000.constantinople.desc
triggered_desc = {
trigger = {
location = {
NOR = {
geographical_region = world_europe
geographical_region = world_africa
}
}
}
desc = martial_strategy.2000.vapati.desc
}
}
desc = martial_strategy.2000.end.desc
}
theme = martial_strategy_focus
override_background = {
reference = study
}
left_portrait = {
character = root
animation = page_flipping
}
trigger = {
NOR = {
has_character_flag = had_event_martial_strategy_2000
has_character_modifier = studied_the_battle_of_gaixia
has_character_modifier = studied_the_battle_of_red_cliffs
has_character_modifier = studied_the_battle_of_thermopylae
has_character_modifier = studied_the_battle_of_teutoburg_forest
has_character_modifier = studied_an_old_battle
has_character_modifier = studying_ancient_texts
}
NOT = { has_character_modifier = studied_an_old_battle }
}
weight_multiplier = {
base = 1
modifier = {
add = { #-1 at 5 learning, 0 at 10 learning, 1 at 15 learning etc.
value = learning
subtract = medium_skill_rating
multiply = 0.2
}
}
modifier = { #Because the modifiers are awesome when you're commanding
is_at_war = yes
add = 1
}
upweight_for_focus_modifier = { FOCUS = martial_strategy_focus }
}
immediate = {
add_character_flag = {
flag = had_event_martial_strategy_2000
days = 1825
}
}
#Just read the new one
option = {
name = martial_strategy.2000.a
add_character_modifier = {
modifier = studied_an_old_battle
years = 10
}
stress_impact = {
diligent = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = diligent
add = -90
}
modifier = {
add = {
value = learning
subtract = 10
multiply = -10
}
}
}
}
#Try to translate the old book
option = {
name = martial_strategy.2000.b
duel = {
skill = learning
value = medium_skill_rating
desc = outcome_in_a_few_days
60 = {
desc = martial_strategy.2000.b.success
compare_modifier = {
value = scope:duel_value
multiplier = 5
}
show_as_tooltip = {
add_martial_lifestyle_xp = medium_lifestyle_experience #Must match in 2000, 2001 and 2002
}
custom_tooltip = martial_strategy.2000.b.success.tt
trigger_event = { id = martial_strategy.2001 days = 5 } #You uncover old knowledge!
}
40 = {
desc = martial_strategy.2000.b.failure
compare_modifier = {
value = scope:duel_value
multiplier = -5
}
custom_tooltip = martial_strategy.2000.b.failure.tt
trigger_event = { id = martial_strategy.2002 days = 5 } #You fail to read the text
}
}
stress_impact = {
lazy = minor_stress_impact_gain
impatient = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
OR = {
has_trait = lazy
has_trait = impatient
}
add = -90
}
modifier = {
add = {
value = learning
subtract = 10
multiply = 10
}
}
}
}
}
#You translated the book and gained ancient knowledge!
martial_strategy.2001 = {
type = character_event
title = martial_strategy.2000.t
desc = {
desc = martial_strategy.2001.start.desc
random_valid = {
triggered_desc = {
trigger = { var:ancient_battle = flag:gaixia }
desc = martial_strategy.2001.gaixia.desc
}
triggered_desc = {
trigger = { var:ancient_battle = flag:red_cliffs }
desc = martial_strategy.2001.red_cliffs.desc
}
triggered_desc = {
trigger = { var:ancient_battle = flag:thermopylae }
desc = martial_strategy.2001.thermopylae.desc
}
triggered_desc = {
trigger = { var:ancient_battle = flag:teutoburg_forest }
desc = martial_strategy.2001.teutoburg_forest.desc
}
#triggered_desc = {
# trigger = { var:ancient_battle = flag:cannae }
# desc = martial_strategy.2001.cannae.desc
#}
#triggered_desc = {
# trigger = { var:ancient_battle = flag:gaugamela }
# desc = martial_strategy.2001.gaugamela.desc
#}
}
}
theme = martial_strategy_focus
override_background = {
reference = study
}
left_portrait = {
character = root
animation = happy_teacher
}
immediate = {
hidden_effect = {
#Which battle did you read about?
random_list = {
1 = {
modifier = {
factor = 0
has_character_modifier = studied_the_battle_of_gaixia
}
set_variable = { name = ancient_battle value = flag:gaixia }
}
1 = {
modifier = {
factor = 0
has_character_modifier = studied_the_battle_of_red_cliffs
}
set_variable = { name = ancient_battle value = flag:red_cliffs }
}
1 = {
modifier = {
factor = 0
has_character_modifier = studied_the_battle_of_thermopylae
}
set_variable = { name = ancient_battle value = flag:thermopylae }
}
1 = {
modifier = {
factor = 0
has_character_modifier = studied_the_battle_of_teutoburg_forest
}
set_variable = { name = ancient_battle value = flag:teutoburg_forest }
}
#1 = { set_variable = { name = ancient_battle value = flag:cannae } }
#1 = { set_variable = { name = ancient_battle value = flag:gaugamela } }
}
}
}
option = { #I must try this out!
name = martial_strategy.2001.a
if = {
limit = { var:ancient_battle = flag:gaixia }
add_character_modifier = {
modifier = studied_the_battle_of_gaixia
years = 20
}
}
if = {
limit = { var:ancient_battle = flag:red_cliffs }
add_character_modifier = {
modifier = studied_the_battle_of_red_cliffs
years = 20
}
}
if = {
limit = { var:ancient_battle = flag:thermopylae }
add_character_modifier = {
modifier = studied_the_battle_of_thermopylae
years = 20
}
}
if = {
limit = { var:ancient_battle = flag:teutoburg_forest }
add_character_modifier = {
modifier = studied_the_battle_of_teutoburg_forest
years = 20
}
}
add_martial_lifestyle_xp = medium_lifestyle_experience #Must match in 2000, 2001 and 2002
}
option = { #So interesting, books are great!
name = martial_strategy.2001.b
add_character_modifier = {
modifier = studying_ancient_texts
years = 20
}
add_martial_lifestyle_xp = medium_lifestyle_experience #Must match in 2000, 2001 and 2002
}
after = {
hidden_effect = {
remove_variable = ancient_battle
}
}
}
#You failed to translate the book... bummer!
martial_strategy.2002 = {
type = character_event
title = martial_strategy.2000.t
desc = martial_strategy.2002.desc
theme = martial_strategy_focus
override_background = {
reference = study
}
left_portrait = {
character = root
animation = stressed_teacher
}
#Keep going
option = {
name = martial_strategy.2002.a
stress_impact = { #Should mirror the stress in the toast above
base = medium_stress_gain
lazy = medium_stress_impact_gain
impatient = medium_stress_impact_gain
}
duel = {
skill = learning
value = medium_skill_rating
desc = outcome_in_a_few_days
90 = {
desc = martial_strategy.2000.b.success
compare_modifier = {
value = scope:duel_value
multiplier = 5
}
show_as_tooltip = {
add_martial_lifestyle_xp = medium_lifestyle_experience #Must match in 2000, 2001 and 2002
}
custom_tooltip = martial_strategy.2000.b.success.tt
trigger_event = { id = martial_strategy.2001 days = 5 } #You uncover old knowledge!
}
10 = {
desc = martial_strategy.2000.b.failure
compare_modifier = {
value = scope:duel_value
multiplier = -5
}
hidden_effect = {
send_interface_toast = {
type = event_toast_effect_bad
title = martial_strategy.2000.b.failure
left_icon = root
show_as_tooltip = {
stress_impact = {
base = medium_stress_gain
lazy = medium_stress_impact_gain
}
}
}
}
}
}
ai_chance = {
base = 0
}
}
#Give up
option = {
name = martial_strategy.2002.b
ai_chance = {
base = 100
}
}
}
##################################################
# Manipulative Tactics (Intrigue Skill Challenge)
# by Sean Hughes
# 2020-2022
##################################################
martial_strategy.2020 = {
type = character_event
title = martial_strategy.2020.t
desc = {
desc = martial_strategy.2020.opening
first_valid = {
triggered_desc = { #Text for characters who have the Deceitful trait.
trigger = { has_trait = deceitful }
desc = martial_strategy.2020.desc.deceitful
}
triggered_desc = { #Text for characters who already have a good martial education.
trigger = {
OR = {
has_trait = education_martial_3
has_trait = education_martial_4
has_trait = education_martial_5
}
}
desc = martial_strategy.2020.desc.martial
}
triggered_desc = { #Text for characters who have the Ambitious trait.
trigger = { has_trait = ambitious }
desc = martial_strategy.2020.desc.ambitious
}
desc = martial_strategy.2020.desc #Generic text lines for characters who don't meet any special conditions.
}
}
theme = martial_strategy_focus
left_portrait = {
character = root
animation = personality_callous
}
trigger = {
has_lifestyle = martial_lifestyle
NOR = {
#Event can only happen once every 5 years.
has_character_flag = had_event_martial_strategy_2020
has_character_modifier = warfare_cunning_gambit_succeeded_modifier
has_character_modifier = warfare_hit_and_run_tactics_modifier
has_character_modifier = warfare_terrain_advantage_modifier
}
#you have to have at least a couple of retinues to do "war games"
maa_regiments_count > 1
}
weight_multiplier = {
base = 1
modifier = {
add = { #-1 at 5 intrigue, 0 at 10 intrigue, 1 at 15 intrigue etc.
value = intrigue
subtract = medium_skill_rating
multiply = 0.2
}
}
upweight_for_focus_modifier = { FOCUS = martial_strategy_focus }
}
immediate = {
add_character_flag = {
flag = had_event_martial_strategy_2020
days = 1825
}
}
#Attempt a cunning maneuver. High risk, high reward option.
option = {
name = martial_strategy.2020.a
duel = {
skill = intrigue
value = 10
desc = outcome_in_a_few_days
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
trigger_event = { id = martial_strategy.2021 days = 5 } #Your soldiers pull off the maneuver.
desc = martial_strategy.2020.a.success
show_as_tooltip = {
add_martial_lifestyle_xp = medium_lifestyle_experience
add_character_modifier = {
modifier = warfare_cunning_gambit_succeeded_modifier
years = 5
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
trigger_event = { id = martial_strategy.2022 days = 5 } #Your soldiers' line collapses.
desc = martial_strategy.2020.a.failure
show_as_tooltip = {
add_prestige = minor_prestige_loss
set_nickname_effect = { NICKNAME = nick_the_foolish }
}
}
}
stress_impact = {
honest = medium_stress_impact_gain
just = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = -200
ai_boldness = 100
ai_energy = 50
}
# Rational characters know when they have a good chance of winning the duel
compare_modifier = {
trigger = {
ai_rationality >= 10
}
value = {
value = intrigue
add = -10
}
multiplier = 1000 # -10,000 at 0 Stewardship, +0 at 10 Stewardship, +10,000 at 20 Stewardship
}
}
}
#Focus on hit-and-run tactics. Guaranteed low-impact modifier reward.
option = {
name = martial_strategy.2020.b
add_character_modifier = {
modifier = warfare_hit_and_run_tactics_modifier
years = 5
}
stress_impact = {
honest = minor_stress_impact_gain
brave = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = -100
ai_energy = -50
ai_boldness = -50
}
}
}
#Reject these dirty tactics. No benefit apart from avoiding stress.
option = {
name = {
text = martial_strategy.2020.d
}
name = {
trigger = { has_trait = brave }
text = martial_strategy.2020.d.brave
}
flavor = martial_strategy.2020.d.flavor
stress_impact = {
base = minor_stress_impact_loss
schemer = medium_stress_impact_gain
deceitful = medium_stress_impact_gain
ambitious = medium_stress_impact_gain
brave = minor_stress_impact_loss
just = minor_stress_impact_loss
honest = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = 300
}
}
}
}
#Cunning maneuver succeeds.
martial_strategy.2021 = {
type = character_event
title = martial_strategy.2021.t
desc = {
desc = martial_strategy.2020.desc.opening
desc = martial_strategy.2021.desc
}
theme = martial_strategy_focus
left_portrait = {
character = root
animation = war_over_win
}
option = {
name = martial_strategy.2021.a
add_martial_lifestyle_xp = medium_lifestyle_experience
add_character_modifier = { #Bonus hard casualties in combat
modifier = warfare_cunning_gambit_succeeded_modifier
years = 5
}
}
}
#Cunning maneuver fails.
martial_strategy.2022 = {
type = character_event
title = martial_strategy.2022.t
desc = {
desc = martial_strategy.2020.desc.opening
desc = martial_strategy.2022.desc
}
theme = martial_strategy_focus
left_portrait = {
character = root
animation = war_over_loss
}
option = { #Return to using more conventional tactics
name = martial_strategy.2022.b
add_prestige = minor_prestige_loss
if = {
limit = {
is_ai = no
}
set_nickname_effect = { NICKNAME = nick_the_foolish }
}
else = {
random = {
chance = 15
set_nickname_effect = { NICKNAME = nick_the_foolish }
}
}
}
}
##################################################
# Support The Troops (Stewardship Skill Challenge)
# by Sean Hughes
# 2030-2032
##################################################
martial_strategy.2030 = {
type = character_event
title = martial_strategy.2030.t
desc = {
first_valid = {
triggered_desc = { #Text for characters who have the Diligent trait.
trigger = { has_trait = diligent }
desc = martial_strategy.2030.desc.diligent
}
triggered_desc = { #Text for characters who have the Ambitious trait.
trigger = { has_trait = ambitious }
desc = martial_strategy.2030.desc.ambitious
}
desc = martial_strategy.2030.desc.fallback #Text lines for characters who don't meet any special conditions.
}
desc = martial_strategy.2030.desc.end
}
theme = martial_strategy_focus
override_background = {
reference = armory
}
left_portrait = {
character = root
animation = reading
}
trigger = {
has_lifestyle = martial_lifestyle
NOR = {
#Event can only happen once every 5 years.
has_character_flag = had_event_martial_strategy_2030
has_character_modifier = warfare_well_provisioned_troops_modifier
has_character_modifier = warfare_troops_lacking_provisions_modifier
}
}
weight_multiplier = {
base = 1
modifier = {
add = { #-1 at 5 stewardship, 0 at 10 stewardship, 1 at 15 stewardship etc.
value = stewardship
subtract = medium_skill_rating
multiply = 0.2
}
}
upweight_for_focus_modifier = { FOCUS = martial_strategy_focus }
}
immediate = {
add_character_flag = {
flag = had_event_martial_strategy_2030
days = 1825
}
}
#Work on creating a network of merchants to supply your men.
option = {
name = martial_strategy.2030.a
duel = {
skill = stewardship
value = 10
desc = outcome_in_a_few_days
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = martial_strategy.2030.a.success.tt
trigger_event = { id = martial_strategy.2031 days = 5 } #Your soldiers pull off the maneuver.
show_as_tooltip = {
add_character_modifier = {
modifier = warfare_well_provisioned_troops_modifier
years = 5
}
add_martial_lifestyle_xp = medium_lifestyle_experience
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = martial_strategy.2030.a.failure.tt
trigger_event = { id = martial_strategy.2032 days = 5 } #Your soldiers' line collapses.
show_as_tooltip = {
add_character_modifier = {
modifier = warfare_troops_lacking_provisions_modifier
years = 5
}
}
}
}
stress_impact = {
lazy = medium_stress_impact_gain
impatient = medium_stress_impact_gain
shy = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 100
ai_greed = 100
ai_energy = 50
}
# Rational characters know when they have a good chance of winning the duel
compare_modifier = {
trigger = {
ai_rationality >= 10
}
value = {
value = stewardship
add = -10
}
multiplier = 1000 # -10,000 at 0 Stewardship, +0 at 10 Stewardship, +10,000 at 20 Stewardship
}
}
}
#Pay a bunch of money for the supplies.
option = {
name = martial_strategy.2030.b
trigger = {
OR = {
short_term_gold >= medium_gold_value_check
is_ai = no
}
}
remove_treasury_or_gold = medium_treasury_or_gold_value
add_character_modifier = {
modifier = warfare_well_provisioned_troops_modifier
years = 5
}
stress_impact = {
greedy = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = -50
ai_greed = -150
}
}
}
#Just let your men loot and pillage for their supplies.
option = {
name = martial_strategy.2030.c
add_character_modifier = {
modifier = warfare_accustomed_to_foraging_modifier
years = 5
}
stress_impact = {
generous = medium_stress_impact_gain
diligent = medium_stress_impact_gain
compassionate = minor_stress_impact_gain
just = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = -100
ai_compassion = -100
ai_greed = 100
ai_energy = -50
}
}
}
}
#Merchant network successfully established.
martial_strategy.2031 = {
type = character_event
title = martial_strategy.2031.t
desc = martial_strategy.2031.desc
theme = martial_strategy_focus
override_background = {
reference = armory
}
left_portrait = {
character = root
animation = steward
}
immediate = {
add_martial_lifestyle_xp = medium_lifestyle_experience
}
option = { #Bonus to supply limit/reduced maintence costs.
name = martial_strategy.2031.a
add_character_modifier = {
modifier = warfare_well_provisioned_troops_modifier
years = 5
}
stress_impact = {
greedy = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = -1
}
}
}
option = { #Benefit via raw cash.
name = martial_strategy.2031.b
add_gold = medium_gold_value
stress_impact = {
generous = minor_stress_impact_gain
honest = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = 1
ai_honor = -0.5
}
}
}
}
#Scammed by untrustworthy merchants
martial_strategy.2032 = {
type = character_event
title = martial_strategy.2032.t
desc = martial_strategy.2032.desc
theme = martial_strategy_focus
override_background = {
reference = armory
}
left_portrait = {
character = root
animation = disappointed
}
immediate = {
add_character_modifier = {
modifier = warfare_troops_lacking_provisions_modifier
years = 5
}
}
option = {
name = {
text = martial_strategy.2032.a
}
name = {
trigger = {
OR = {
has_trait = forgiving
has_trait = compassionate
has_trait = humble
}
}
text = martial_strategy.2032.a.forgiving
}
}
}
##################################################
# Discussion of Strategy
# by Sean Hughes
# 3010-3014
##################################################
#Triggers for determining which strategy each commander wants to use.
scripted_trigger martial_strategy_3010_wrathful_trigger = {
OR = { #Favors direct attacks
has_trait = wrathful
has_trait = impatient
has_trait = vengeful
has_trait = sadistic
has_trait = aggressive_attacker
}
}
scripted_trigger martial_strategy_3010_greedy_trigger = {
OR = {#Favors pillaging
has_trait = greedy
has_trait = gluttonous
has_trait = reaver
}
}
scripted_trigger martial_strategy_3010_patient_trigger = {
OR = {#Favors fighting defensively
has_trait = patient
has_trait = humble
has_trait = calm
has_trait = military_engineer
has_trait = unyielding_defender
}
}
scripted_trigger martial_strategy_3010_craven_trigger = {
#Wants to avoid fighting as much as possible.
OR = {
has_trait = craven
has_trait = shy
}
}
scripted_trigger martial_strategy_3010_flexible_trigger = {
OR = {#Favors a more flexible strategy
has_trait = fickle
has_trait = logistician
has_trait = flexible_leader
}
}
scripted_trigger martial_strategy_patient_commander_trigger = {
OR = {
martial_strategy_3010_patient_trigger = yes #Basic personality check requirement
martial_strategy_3010_craven_trigger = yes #Special personality option
martial_strategy_3010_flexible_trigger = yes #Special personality option
}
NOR = {
has_trait = wrathful
has_trait = impatient
}
martial_strategy_3010_valid_commander = yes
}
scripted_trigger martial_strategy_impatient_commander_trigger = {
OR = {
martial_strategy_3010_wrathful_trigger = yes #Basic personality check requirement
martial_strategy_3010_greedy_trigger = yes #Special personality option
}
NOR = {
has_trait = patient
has_trait = calm
}
martial_strategy_3010_valid_commander = yes
}
scripted_trigger martial_strategy_3010_valid_commander = {
can_be_combatant_based_on_gender_trigger = {ARMY_OWNER = root}
is_alive = yes
is_imprisoned = no
NOT = { is_at_war_with = root }
has_contagious_deadly_disease_trigger = no
}
scripted_effect add_impatient_commanders_modifier_effect = {
if = { limit = { scope:impatient_commander = { martial_strategy_3010_greedy_trigger = yes} }
add_character_modifier = { modifier = warfare_greedy_strategy_modifier days = 1825}
}
else = {
add_character_modifier = { modifier = warfare_wrathful_strategy_modifier days = 1825}
}
}
scripted_effect add_patient_commanders_modifier_effect = {
if = { limit = { scope:patient_commander = { martial_strategy_3010_craven_trigger = yes} }
add_character_modifier = { modifier = warfare_craven_strategy_modifier days = 1825}
}
else_if = { limit = { scope:patient_commander = { martial_strategy_3010_flexible_trigger = yes} }
add_character_modifier = { modifier = warfare_flexible_strategy_modifier days = 1825}
}
else = {
add_character_modifier = { modifier = warfare_patient_strategy_modifier days = 1825}
}
}
martial_strategy.3010 = {
type = character_event
title = martial_strategy.3010.t
desc = {
desc = martial_strategy.3010.desc.start
first_valid = {
triggered_desc = {
trigger = { scope:impatient_commander = { martial_strategy_3010_greedy_trigger = yes} }
desc = martial_strategy.3010.desc.greedy
}
desc = martial_strategy.3010.desc.wrathful
}
desc = martial_strategy.3010.desc.middle
first_valid = {
triggered_desc = {
trigger = { scope:patient_commander = { martial_strategy_3010_craven_trigger = yes } }
desc = martial_strategy.3010.desc.craven
}
triggered_desc = {
trigger = { scope:patient_commander = { martial_strategy_3010_flexible_trigger = yes } }
desc = martial_strategy.3010.desc.flexible
}
desc = martial_strategy.3010.desc.patient
}
desc = martial_strategy.3010.desc.end
}
theme = martial_strategy_focus
left_portrait = scope:impatient_commander
right_portrait = scope:patient_commander
trigger = {
is_at_war = yes
is_available_adult_or_is_commanding = yes
NOT = { has_character_flag = had_event_martial_strategy_3010 } #Can only happen once every 5 years.
any_knight = {
martial_strategy_patient_commander_trigger = yes
save_temporary_scope_as = vassal_1
}
any_knight = {
martial_strategy_impatient_commander_trigger = yes
this != scope:vassal_1
}
}
weight_multiplier = {
base = 2 #Because this is only available while at war, but it's nice to get it then
upweight_for_focus_modifier = { FOCUS = martial_strategy_focus }
}
immediate = {
add_character_flag = {
flag = had_event_martial_strategy_3010
years = 10
}
#Get our first commander for the meeting.
random_knight = {
limit = {
#We want to get two commanders with relatively opposed viewpoints.
martial_strategy_impatient_commander_trigger = yes
save_temporary_scope_as = impatient_commander
root = {
any_knight = {
martial_strategy_patient_commander_trigger = yes
this != scope:impatient_commander
}
}
}
weight = {
base = 1
#Higher-tier vassals are more likely to be part of the strategy meeting, due to their power and/or assumed stake in the war.
compare_modifier = {
value = highest_held_title_tier
multiplier = 5
}
#High martial chatacters are much more likely to sit in on the meeting.
compare_modifier = {
value = martial
multiplier = 30
}
#Your powerful vassals get their own stacking modifier on top of everything else.
modifier = {
is_powerful_vassal = yes
factor = 10
}
# If they're actually commanding your army, they're much, much more likely to be chosen!
modifier = {
is_commanding_army = yes
factor = 50
}
}
save_scope_as = impatient_commander
}
#Get our second commander for the meeting.
random_knight = {
limit = {
#We want to get two commanders with relatively opposed viewpoints.
martial_strategy_patient_commander_trigger = yes
this != scope:impatient_commander
}
weight = {
base = 1
#Higher-tier vassals are more likely to be part of the strategy meeting, due to their power and/or assumed stake in the war.
compare_modifier = {
value = highest_held_title_tier
multiplier = 5
}
#High martial chatacters are more likely to sit in on the meeting.
compare_modifier = {
value = martial
multiplier = 30
}
#Your powerful vassals get their own stacking modifier on top of everything else.
modifier = {
is_powerful_vassal = yes
factor = 10
}
# If they're actually commanding your army, they're much, much more likely to be chosen!
modifier = {
is_commanding_army = yes
factor = 50
}
}
save_scope_as = patient_commander
}
}
#High martial skill lets you fuse the two strategies together.
option = {
name = martial_strategy.3010.o_martial
trigger = {
martial >= 18
}
skill = martial
#Everyone gets both strategies!
add_impatient_commanders_modifier_effect = yes
add_patient_commanders_modifier_effect = yes
scope:impatient_commander = {
add_impatient_commanders_modifier_effect = yes
add_patient_commanders_modifier_effect = yes
trigger_event = martial_strategy.3014
}
scope:patient_commander = {
add_impatient_commanders_modifier_effect = yes
add_patient_commanders_modifier_effect = yes
trigger_event = martial_strategy.3014
}
ai_chance = {
base = 1000
ai_value_modifier = {
ai_rationality = 200
ai_energy = 100
}
}
}
#Pick the more aggressive option.
option = {
name = martial_strategy.3010.a
# Share impatient strategy with commander.
scope:impatient_commander = {
add_impatient_commanders_modifier_effect = yes
trigger_event = martial_strategy.3011
#Impatient commander is happy you picked him.
add_opinion = {
target = root
modifier = pleased_opinion
opinion = 20
}
}
add_impatient_commanders_modifier_effect = yes
scope:patient_commander = {
trigger_event = martial_strategy.3012
#Patient commander is upset you dismissed his plan..
add_opinion = {
target = root
modifier = disappointed_opinion
opinion = -10
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = -50
ai_greed = 100
}
}
}
#Pick the more defensive option.
option = {
name = martial_strategy.3010.b
# Share patient strategy with commander.
scope:patient_commander = {
add_patient_commanders_modifier_effect = yes
trigger_event = martial_strategy.3011
#Patient commander is happy you picked him.
add_opinion = {
target = root
modifier = pleased_opinion
opinion = 20
}
}
add_patient_commanders_modifier_effect = yes
scope:impatient_commander = {
trigger_event = martial_strategy.3012
#Impatient commander is upset you dismissed his plan..
add_opinion = {
target = root
modifier = disappointed_opinion
opinion = -10
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 50
ai_greed = -100
}
}
}
#Each commander gets to employ their own strategy.
option = {
name = martial_strategy.3010.c
#Impatient commander gets their own strategy as a modifier.
scope:impatient_commander = {
add_impatient_commanders_modifier_effect = yes
trigger_event = martial_strategy.3013
#Pleased that you let them do their own thing.
add_opinion = {
target = root
modifier = pleased_opinion
opinion = 10
}
}
#Patient commander gets their own strategy as a modifer.
scope:patient_commander = {
add_patient_commanders_modifier_effect = yes
trigger_event = martial_strategy.3013
#Pleased that you let them do their own thing.
add_opinion = {
target = root
modifier = pleased_opinion
opinion = 10
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = 100
ai_greed = -100
}
}
}
}
#The commander whose strategy got picked is informed of their liege's decision.
martial_strategy.3011 = {
type = character_event
title = martial_strategy.3011.t
desc = {
desc = martial_strategy.3010.desc.response.start
desc = martial_strategy.3011.desc
}
theme = martial_strategy_focus
left_portrait = scope:my_liege
right_portrait = scope:other_commander
immediate = {
liege = {
save_scope_as = my_liege
}
scope:impatient_commander = {
if = {
limit = {
this = root
}
scope:patient_commander = {
save_scope_as = other_commander
}
show_as_tooltip = {
scope:impatient_commander = {
add_impatient_commanders_modifier_effect = yes
add_opinion = {
target = scope:my_liege
modifier = pleased_opinion
opinion = 20
}
}
scope:patient_commander = {
add_impatient_commanders_modifier_effect = yes
save_scope_as = other_commander
}
scope:my_liege = {
add_impatient_commanders_modifier_effect = yes
}
}
}
else = {
scope:impatient_commander = {
save_scope_as = other_commander
}
show_as_tooltip = {
scope:patient_commander = {
add_patient_commanders_modifier_effect = yes
add_opinion = {
target = scope:my_liege
modifier = pleased_opinion
opinion = 20
}
}
scope:impatient_commander = {
add_patient_commanders_modifier_effect = yes
}
scope:my_liege = {
add_patient_commanders_modifier_effect = yes
}
}
}
}
}
option = {
name = {
text = martial_strategy.3011.a
}
name = {
trigger = {
opinion = {
target = scope:my_liege
value <= -10
}
}
text = martial_strategy.3011.a.disapprove
}
}
}
#The commander whose strategy got rejected is informed of their liege's decision.
martial_strategy.3012 = {
type = character_event
title = martial_strategy.3012.t
desc = {
desc = martial_strategy.3010.desc.response.start
desc = martial_strategy.3012.desc
}
theme = martial_strategy_focus
left_portrait = scope:my_liege
right_portrait = scope:other_commander
immediate = {
liege = {
save_scope_as = my_liege
}
scope:impatient_commander = {
if = {
limit = {
this = root
}
scope:patient_commander = {
save_scope_as = other_commander
}
show_as_tooltip = {
scope:impatient_commander = {
add_patient_commanders_modifier_effect = yes
}
scope:patient_commander = {
add_patient_commanders_modifier_effect = yes
}
scope:my_liege = {
add_patient_commanders_modifier_effect = yes
}
}
}
else = {
scope:impatient_commander = {
save_scope_as = other_commander
}
show_as_tooltip = {
scope:patient_commander = {
add_impatient_commanders_modifier_effect = yes
}
scope:impatient_commander = {
add_impatient_commanders_modifier_effect = yes
}
scope:my_liege = {
add_impatient_commanders_modifier_effect = yes
}
}
}
}
}
option = {
name = {
text = martial_strategy.3012.a
}
name = {
trigger = {
opinion = {
target = scope:my_liege
value <= -10
}
}
text = martial_strategy.3012.a.disapprove
}
}
}
#The commanders are both informed that their liege is letting them do what they want.
martial_strategy.3013 = {
type = character_event
title = martial_strategy.3013.t
desc = {
desc = martial_strategy.3010.desc.response.start
desc = martial_strategy.3013.desc
}
theme = martial_strategy_focus
left_portrait = scope:my_liege
right_portrait = scope:other_commander
immediate = {
liege = {
save_scope_as = my_liege
}
scope:impatient_commander = {
if = {
limit = {
this = root
}
scope:patient_commander = {
save_scope_as = other_commander
}
show_as_tooltip = {
scope:impatient_commander = {
add_impatient_commanders_modifier_effect = yes
}
scope:patient_commander = {
add_patient_commanders_modifier_effect = yes
}
}
}
else = {
scope:impatient_commander = {
save_scope_as = other_commander
}
show_as_tooltip = {
scope:patient_commander = {
add_patient_commanders_modifier_effect = yes
}
scope:impatient_commander = {
add_impatient_commanders_modifier_effect = yes
}
}
}
}
}
option = {
name = martial_strategy.3013.a
}
}
#The commanders are both informed that their liege took each of their strategies and fused them together!
martial_strategy.3014 = {
type = character_event
title = martial_strategy.3014.t
desc = {
desc = martial_strategy.3010.desc.response.start
desc = martial_strategy.3014.desc
}
theme = martial_strategy_focus
left_portrait = scope:my_liege
right_portrait = scope:other_commander
immediate = {
liege = {
save_scope_as = my_liege
}
scope:impatient_commander = {
if = {
limit = {
this = root
}
scope:patient_commander = {
save_scope_as = other_commander
}
show_as_tooltip = {
scope:impatient_commander = {
add_impatient_commanders_modifier_effect = yes
add_patient_commanders_modifier_effect = yes
}
scope:patient_commander = {
add_impatient_commanders_modifier_effect = yes
add_patient_commanders_modifier_effect = yes
}
scope:my_liege = {
add_impatient_commanders_modifier_effect = yes
add_patient_commanders_modifier_effect = yes
}
}
}
else = {
scope:impatient_commander = {
save_scope_as = other_commander
}
show_as_tooltip = {
scope:patient_commander = {
add_impatient_commanders_modifier_effect = yes
add_patient_commanders_modifier_effect = yes
}
scope:impatient_commander = {
add_impatient_commanders_modifier_effect = yes
add_patient_commanders_modifier_effect = yes
}
scope:my_liege = {
add_impatient_commanders_modifier_effect = yes
add_patient_commanders_modifier_effect = yes
}
}
}
}
}
option = {
name = {
text = martial_strategy.3014.a
}
name = {
trigger = {
opinion = {
target = scope:my_liege
value <= -10
}
}
text = martial_strategy.3014.a.disapprove
}
}
}
############################
# STRATEGY: SPECIAL EVENTS #
############################
namespace = martial_strategy_special
#########################
# Storm Your Own Castle # by Linnéa Thimrén
#########################
scripted_trigger martial_strategy_special_1301_defender_trigger = {
is_available_healthy_ai_adult = yes
this != root
OR = {
has_lifestyle = martial_lifestyle
is_knight = yes
has_council_position = councillor_marshal
}
}
#Will you practice castle-taking or look at defenses?
martial_strategy_special.1301 = {
type = character_event
title = martial_strategy_special.1301.t
desc = martial_strategy_special.1301.desc
left_portrait = root # I've gone ahead and updated most animations now that we have weapons - Hugo
right_portrait = scope:siege_proposer
theme = martial_strategy_focus
override_background = {
reference = courtyard
}
trigger = {
has_focus = martial_strategy_focus
exists = capital_county
NOT = { has_character_flag = had_event_martial_strategy_special_1301 }
OR = {
AND = {
exists = cp:councillor_marshal
cp:councillor_marshal = { martial_strategy_special_1301_defender_trigger = yes }
}
any_knight = {
martial_strategy_special_1301_defender_trigger = yes
}
any_relation = {
type = friend
martial_strategy_special_1301_defender_trigger = yes
}
}
}
weight_multiplier = {
base = 1
}
immediate = {
hidden_effect = {
add_character_flag = had_event_martial_strategy_special_1301
add_character_flag = {
flag = is_in_martial_special_event
days = 200
}
#Save defender
if = {
limit = {
exists = cp:councillor_marshal
cp:councillor_marshal = { martial_strategy_special_1301_defender_trigger = yes }
}
cp:councillor_marshal = { add_to_list = possible_defenders }
}
every_knight = {
limit = { martial_strategy_special_1301_defender_trigger = yes }
add_to_list = possible_defenders
}
every_relation = {
type = friend
limit = { martial_strategy_special_1301_defender_trigger = yes }
add_to_list = possible_defenders
}
random_in_list = {
list = possible_defenders
weight = {
base = 1
modifier = {
has_relation_friend = root
add = 4
}
modifier = {
has_council_position = councillor_marshal
add = 3
}
}
save_scope_as = siege_proposer
if = {
limit = {
root = { is_ai = no }
}
get_quirk_character_effect = yes
}
}
}
}
#let's go
option = {
name = martial_strategy_special.1301.b
flavor = martial_strategy_special.1301.b.tt
trigger_event = {
id = martial_strategy_special.1302
days = { 3 7 }
}
reverse_add_opinion = {
target = scope:siege_proposer
modifier = pleased_opinion
opinion = 10
}
custom_tooltip = martial_lifestyle_perk_indication
}
#nah thanks
option = {
name = martial_strategy_special.1301.a
capital_county.title_province = {
add_province_modifier = {
modifier = increased_castle_defense
days = 3650
}
}
}
}
#Let the game begin! Storm the gate or climb the walls?
martial_strategy_special.1302 = {
type = character_event
title = martial_strategy_special.1302.t
desc = martial_strategy_special.1302.desc
left_portrait = {
character = root
animation = personality_cynical
}
right_portrait = {
character = scope:siege_proposer
animation = throne_room_one_handed_passive_1
}
theme = martial_strategy_focus
override_background = {
reference = courtyard
}
immediate = {
set_variable = {
name = storm_castle_points #to keep track of how you're doing
value = 0
days = 800
}
set_variable = {
name = storm_castle_step
value = 1
days = 800
}
#Setting a commander trait option
random_list = {
1 = {
trigger = { has_trait = military_engineer }
save_scope_value_as = {
name = special_commander_option
value = flag:military_engineer
}
}
1 = {
trigger = { has_trait = flexible_leader }
save_scope_value_as = {
name = special_commander_option
value = flag:flexible_leader
}
}
}
}
option = { #Special option! militarty_engineer <- LÅT STÅ
trigger = {
exists = scope:special_commander_option
scope:special_commander_option = flag:military_engineer
}
trait = military_engineer
name = martial_strategy_special.1302.c
custom_tooltip = martial_strategy_special.storm_castle.very_well
change_variable = {
name = storm_castle_points
add = 2
}
trigger_event = {
id = martial_strategy_special.1303
days = { 3 7 }
}
ai_chance = {
base = 1000
}
}
option = { #Special option! flexible_leader
trigger = {
exists = scope:special_commander_option
scope:special_commander_option = flag:flexible_leader
}
trait = flexible_leader
name = martial_strategy_special.1302.d
custom_tooltip = martial_strategy_special.storm_castle.very_well
change_variable = {
name = storm_castle_points
add = 2
}
trigger_event = {
id = martial_strategy_special.1303
days = { 3 7 }
}
ai_chance = {
base = 1000
}
}
option = { #A riskier option that gives a higher reward
name = martial_strategy_special.1302.a
flavor = martial_strategy_special.13.a.tt
add_martial_lifestyle_xp = minor_lifestyle_experience
duel = {
skill = prowess
value = average_skill_level
60 = {
compare_modifier = {
value = scope:duel_value
multiplier = 2.5
min = -59
}
desc = martial_strategy_special.1302.a.tt1
send_interface_toast = {
type = event_toast_effect_good
title = martial_strategy_special.1302.a.tt1
left_icon = root
custom_tooltip = martial_strategy_special.storm_castle.very_well
change_variable = {
name = storm_castle_points
add = 2
}
}
}
40 = {
compare_modifier = {
value = scope:duel_value
multiplier = -2.5
min = -39
}
desc = martial_strategy_special.1302.a.tt2
send_interface_toast = {
type = event_toast_effect_bad
title = martial_strategy_special.1302.a.tt2
left_icon = root
custom_tooltip = martial_strategy_special.storm_castle.poorly
change_variable = {
name = storm_castle_points
add = -1
}
}
}
}
stress_impact = {
patient = minor_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
add = 50
OR = {
has_trait = brave
has_trait = impatient
has_trait = aggressive_attacker
has_trait = reckless
}
}
}
trigger_event = {
id = martial_strategy_special.1303
days = { 3 7 }
}
}
option = { #A safer option that doesn't pay off as well
name = martial_strategy_special.1302.b
flavor = martial_strategy_special.13.b.tt
custom_tooltip = martial_strategy_special.storm_castle.well
change_variable = {
name = storm_castle_points
add = 1
}
stress_impact = {
impatient = minor_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
add = 50
OR = {
has_trait = craven
has_trait = patient
}
}
}
trigger_event = {
id = martial_strategy_special.1304
days = { 3 7 }
}
}
}
#Fighting up stairs
martial_strategy_special.1303 = {
type = character_event
title = martial_strategy_special.1303.t
desc = {
desc = martial_strategy_special.1303.desc
triggered_desc = {
trigger = { var:storm_castle_step = 3 } #This is the last points event
desc = {
first_valid = {
triggered_desc = {
trigger = { var:storm_castle_points >= 3 }
desc = martial_strategy_1303.winning
}
desc = martial_strategy_1303.losing
}
}
}
}
left_portrait = {
character = root
animation = aggressive_sword
}
theme = martial_strategy_focus
override_background = {
reference = corridor_day
}
trigger = {
exists = var:storm_castle_points #If it runs out in MP, kill the event
}
immediate = {
change_variable = {
name = storm_castle_step
add = 1
}
#Setting a commander trait option
random_list = {
1 = {
trigger = { has_trait = organizer }
save_scope_value_as = {
name = special_commander_option
value = flag:organizer
}
}
1 = {
trigger = { has_trait = cautious_leader }
save_scope_value_as = {
name = special_commander_option
value = flag:cautious_leader
}
}
1 = {
trigger = { has_trait = reckless }
save_scope_value_as = {
name = special_commander_option
value = flag:reckless
}
}
}
}
option = { #Special option! organizer
trigger = {
exists = scope:special_commander_option
scope:special_commander_option = flag:organizer
}
trait = organizer
name = martial_strategy_special.1303.c
custom_tooltip = martial_strategy_special.storm_castle.very_well
change_variable = {
name = storm_castle_points
add = 2
}
ai_chance = {
base = 1000
}
}
option = { #Special option! cautious_leader
trigger = {
exists = scope:special_commander_option
scope:special_commander_option = flag:cautious_leader
}
trait = cautious_leader
name = martial_strategy_special.1303.d
custom_tooltip = martial_strategy_special.storm_castle.very_well
change_variable = {
name = storm_castle_points
add = 2
}
ai_chance = {
base = 1000
}
}
option = { #Special option! reckless
trigger = {
exists = scope:special_commander_option
scope:special_commander_option = flag:reckless
}
trait = reckless
name = martial_strategy_special.1303.e
custom_tooltip = martial_strategy_special.storm_castle.very_well
change_variable = {
name = storm_castle_points
add = 2
}
ai_chance = {
base = 1000
}
}
option = {
name = martial_strategy_special.1303.a
flavor = martial_strategy_special.13.a.tt
add_martial_lifestyle_xp = minor_lifestyle_experience
duel = {
skill = diplomacy
value = average_skill_level
60 = {
desc = martial_strategy_special.1303.a.tt1
compare_modifier = {
value = scope:duel_value
multiplier = 2.5
min = -59
}
send_interface_toast = {
type = event_toast_effect_good
title = martial_strategy_special.1303.a.tt1
left_icon = root
custom_tooltip = martial_strategy_special.storm_castle.very_well
change_variable = {
name = storm_castle_points
add = 2
}
}
}
40 = {
desc = martial_strategy_special.1303.a.tt2
compare_modifier = {
value = scope:duel_value
multiplier = -2.5
min = -39
}
send_interface_toast = {
type = event_toast_effect_bad
title = martial_strategy_special.1303.a.tt2
left_icon = root
custom_tooltip = martial_strategy_special.storm_castle.poorly
change_variable = {
name = storm_castle_points
add = -1
}
}
}
}
stress_impact = {
craven = minor_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
add = 50
OR = {
has_trait = brave
has_trait = impatient
has_trait = aggressive_attacker
has_trait = reckless
}
}
}
}
option = {
name = martial_strategy_special.1303.b
flavor = martial_strategy_special.13.b.tt
random_list = {
90 = {
modifier = {
add = 30
OR = {
has_trait = diligent
has_trait = patient
}
}
desc = martial_strategy_special.1303.b.tt1
send_interface_toast = {
type = event_toast_effect_good
title = martial_strategy_special.1303.b.tt1
left_icon = root
custom_tooltip = martial_strategy_special.storm_castle.well
change_variable = {
name = storm_castle_points
add = 1
}
}
}
10 = {
modifier = {
add = 5
has_trait = impatient
}
desc = martial_strategy_special.1303.b.tt2
send_interface_toast = {
type = event_toast_effect_bad
title = martial_strategy_special.1303.b.tt2
left_icon = root
custom_tooltip = martial_strategy_special.storm_castle.poorly
change_variable = {
name = storm_castle_points
add = -1
}
}
}
}
stress_impact = {
impatient = minor_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
add = 50
OR = {
has_trait = diligent
has_trait = patient
has_trait = flexible_leader
}
}
}
}
#Protect them with your body
option = {
trigger = { #I don't have any of the cool commander options
trigger_if = {
limit = {
exists = scope:special_commander_option
}
NOR = {
scope:special_commander_option = flag:organizer
scope:special_commander_option = flag:cautious_leader
scope:special_commander_option = flag:reckless
}
}
}
name = martial_strategy_special.1303.f
custom_tooltip = martial_strategy_special.storm_castle.very_well
random = {
chance = {
value = 50
subtract = {
value = prowess
multiply = 2
}
}
increase_wounds_no_death_effect = { REASON = fight }
}
stress_impact = {
base = medium_stress_impact_gain
brave = sub_medium_stress_impact_loss
craven = medium_stress_impact_gain
}
change_variable = {
name = storm_castle_points
add = 2
}
}
after = {
if = {
limit = { var:storm_castle_step = 2 }
trigger_event = {
id = martial_strategy_special.1304
days = { 3 7 }
}
}
else = {
trigger_event = {
id = martial_strategy_special.1399
days = { 3 7 }
}
}
}
}
#Fighting on battlement
martial_strategy_special.1304 = {
type = character_event
title = martial_strategy_special.1304.t
desc = {
desc = martial_strategy_special.1304.desc
triggered_desc = {
trigger = { var:storm_castle_step = 3 } #This is the last points event
desc = {
first_valid = {
triggered_desc = {
trigger = { var:storm_castle_points >= 3 }
desc = martial_strategy_1303.winning
}
desc = martial_strategy_1303.losing
}
}
}
}
left_portrait = {
character = root
animation = aggressive_spear
}
theme = martial_strategy_focus
override_background = {
reference = courtyard
}
trigger = {
exists = var:storm_castle_points #If it runs out in MP, kill the event
}
immediate = {
change_variable = {
name = storm_castle_step
add = 1
}
#Setting a commander trait option
random_list = {
1 = {
trigger = { has_trait = aggressive_attacker }
save_scope_value_as = {
name = special_commander_option
value = flag:aggressive_attacker
}
}
1 = {
trigger = { has_trait = unyielding_defender }
save_scope_value_as = {
name = special_commander_option
value = flag:unyielding_defender
}
}
}
}
option = { #Special option! aggressive_attacker
trigger = {
exists = scope:special_commander_option
scope:special_commander_option = flag:aggressive_attacker
}
trait = aggressive_attacker
name = martial_strategy_special.1304.c
custom_tooltip = martial_strategy_special.storm_castle.very_well
change_variable = {
name = storm_castle_points
add = 2
}
ai_chance = {
base = 1000
}
}
option = { #Special option! unyielding_defender
trigger = {
exists = scope:special_commander_option
scope:special_commander_option = flag:unyielding_defender
}
trait = unyielding_defender
name = martial_strategy_special.1304.d
custom_tooltip = martial_strategy_special.storm_castle.very_well
change_variable = {
name = storm_castle_points
add = 2
}
ai_chance = {
base = 1000
}
}
option = { #Risky
name = martial_strategy_special.1304.a
flavor = martial_strategy_special.13.a.tt
add_martial_lifestyle_xp = minor_lifestyle_experience
duel = {
skill = martial
value = average_skill_level
60 = {
desc = martial_strategy_special.1304.a.tt1
compare_modifier = {
value = scope:duel_value
multiplier = 2.5
min = -59
}
send_interface_toast = {
type = event_toast_effect_good
title = martial_strategy_special.1304.a.tt1
left_icon = root
custom_tooltip = martial_strategy_special.storm_castle.very_well
change_variable = {
name = storm_castle_points
add = 2
}
}
}
40 = {
desc = martial_strategy_special.1304.a.tt2
compare_modifier = {
value = scope:duel_value
multiplier = -2.5
min = -39
}
send_interface_toast = {
type = event_toast_effect_bad
title = martial_strategy_special.1304.a.tt2
left_icon = root
custom_tooltip = martial_strategy_special.storm_castle.poorly
change_variable = {
name = storm_castle_points
add = -1
}
}
}
}
stress_impact = {
patient = minor_stress_impact_gain
craven = medium_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
add = 50
OR = {
has_trait = brave
has_trait = impatient
has_trait = aggressive_attacker
has_trait = reckless
}
}
}
}
option = { #Safe
name = martial_strategy_special.1304.b
flavor = martial_strategy_special.13.b.tt
random_list = {
90 = {
desc = martial_strategy_special.1304.b.tt1
send_interface_toast = {
type = event_toast_effect_good
title = martial_strategy_special.1304.b.tt1
left_icon = root
custom_tooltip = martial_strategy_special.storm_castle.well
change_variable = {
name = storm_castle_points
add = 1
}
}
}
10 = {
modifier = {
add = 20
has_trait = impatient
}
desc = martial_strategy_special.1304.b.tt2
send_interface_toast = {
type = event_toast_effect_bad
title = martial_strategy_special.1304.b.tt2
left_icon = root
custom_tooltip = martial_strategy_special.storm_castle.poorly
change_variable = {
name = storm_castle_points
add = -1
}
}
}
}
stress_impact = {
impatient = minor_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
add = 50
OR = {
has_trait = patient
has_trait = diligent
has_trait = unyielding_defender
}
}
}
}
#Hurt them for reals!
option = {
trigger = { #I don't have any of the cool commander options
trigger_if = {
limit = {
exists = scope:special_commander_option
}
NOR = {
scope:special_commander_option = flag:unyielding_defender
scope:special_commander_option = flag:aggressive_attacker
}
}
}
name = martial_strategy_special.1304.f
add_tyranny = minor_tyranny_gain
add_dread = minor_dread_gain
custom_tooltip = martial_strategy_special.storm_castle.very_well
change_variable = {
name = storm_castle_points
add = 2
}
random_knight = {
increase_wounds_no_death_effect = { REASON = fight }
}
stress_impact = {
compassionate = medium_stress_impact_gain
forgiving = minor_stress_impact_gain
just = minor_stress_impact_gain
sadistic = minor_stress_impact_loss
}
ai_chance = {
base = 0
}
}
after = {
if = {
limit = { var:storm_castle_step = 2 }
trigger_event = {
id = martial_strategy_special.1303
days = { 3 7 }
}
}
else = {
trigger_event = {
id = martial_strategy_special.1399
days = { 3 7 }
}
}
}
}
#END
martial_strategy_special.1399 = {
type = character_event
title = martial_strategy_special.1399.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
var:storm_castle_points >= 3
}
desc = martial_strategy_special.1399.desc_win
}
desc = martial_strategy_special.1399.desc_loose
}
desc = martial_strategy_special.1399.desc
first_valid = {
triggered_desc = {
trigger = {
var:storm_castle_points >= 3
}
desc = martial_strategy_special.1399.desc_win2
}
triggered_desc = {
desc = martial_strategy_special.1399.desc_loose2
}
}
}
left_portrait = {
character = root
triggered_animation = {
trigger = { var:storm_castle_points >= 3 }
animation = celebrate_sword
}
animation = throne_room_one_handed_passive_1
}
right_portrait = {
character = scope:siege_proposer
triggered_animation = {
trigger = { root = { var:storm_castle_points >= 3 } }
animation = admiration
}
animation = celebrate_spear
}
theme = martial_strategy_focus
override_background = {
reference = courtyard
}
trigger = {
exists = var:storm_castle_points #If it runs out in MP, kill the event
}
option = {
name = martial_strategy_special.1399.a
trigger = {
var:storm_castle_points > 3
}
add_martial_lifestyle_perk_points = 1
if = {
limit = {
exists = capital_county
}
capital_county.title_province = {
add_province_modifier = {
modifier = minor_increased_castle_defense
days = 3650
}
}
}
}
option = {
name = martial_strategy_special.1399.b
trigger = {
var:storm_castle_points <= 3
}
if = {
limit = { exists = capital_county }
capital_county = {
add_county_modifier = {
modifier = minor_increased_castle_defense
days = 3650
}
}
}
}
after = {
remove_character_flag = is_in_martial_special_event
remove_variable = storm_castle_points
remove_variable = storm_castle_step
}
}
#################################
# MARCH GONE AWRY, by Petter Vilberg
# 1400 - 1499
#################################
#Structure explanation:
# 1401 sets up the loop
# Every successive event needs to:
# The immediate must mark the event as having been used, and block itself from happening again in this cycle
# An option with a cost must fire the search_for_troops_event_selection event selection
# Giving up should route the player to the failure event (1499)
# Eventually, an increasing random weight will send the character to the success event (1498)
# Each event should have a "free" option that continues the chain, unlocked by traits or other conditions
scripted_effect martial_strategy_special_1401_give_up_effect = {
custom_tooltip = martial_strategy_special.1401.give_up
stress_impact = {
base = medium_stress_impact_loss
diligent = minor_stress_impact_gain
stubborn = minor_stress_impact_gain
lazy = minor_stress_impact_loss
fickle = minor_stress_impact_loss
}
hidden_effect = {
trigger_event = {
id = martial_strategy_special.1499
days = 3
}
}
}
#Setup
martial_strategy_special.1401 = {
type = character_event
title = martial_strategy_special.1401.t
desc = {
desc = martial_strategy_special.1401.opening
first_valid = {
triggered_desc = {
trigger = {
exists = scope:commander
}
desc = martial_strategy_special.1401.commander
}
desc = martial_strategy_special.1401.officer_fallback
}
desc = martial_strategy_special.1401.end
}
theme = martial_strategy_focus
left_portrait = {
character = root
animation = boredom
}
right_portrait = scope:commander
trigger = {
has_focus = martial_strategy_focus
is_landed = yes
NOT = { has_character_flag = had_event_martial_strategy_special_1401 }
any_knight = { basic_is_available_ai = yes }
}
weight_multiplier = {
base = 1
}
immediate = {
add_character_flag = {
flag = is_in_martial_special_event
days = 100
}
add_character_flag = had_event_martial_strategy_special_1401
random_knight = {
limit = { basic_is_available_ai = yes }
save_scope_as = commander
} #Done here to guarantee it is applied, no matter the outcome
capital_barony = {
save_scope_as = capital
}
}
option = { #Start looping towards ranking up
name = martial_strategy_special.1401.a
flavor = martial_strategy_special.1401.a.tt
hidden_effect = {
set_variable = {
name = search_for_troops_event_count
value = 0
days = 365
}
trigger_event = {
on_action = search_for_troops_event_selection
days = { 5 15 }
}
}
custom_tooltip = martial_lifestyle_perk_indication
ai_chance = {
base = 100
}
}
option = { #No thanks.
name = martial_strategy_special.1401.b
scope:commander = {
add_opinion = {
modifier = pleased_opinion
target = root
opinion = 20
}
}
remove_character_flag = is_in_martial_special_event
ai_chance = {
base = 0
}
}
}
#Soldiers are hanging out in a local tavern
martial_strategy_special.1402 = {
type = character_event
title = martial_strategy_special.1402.t
desc = martial_strategy_special.1402.desc
theme = martial_strategy_focus
override_background = {
reference = bp1_crossroads_inn
}
left_portrait = {
character = root
animation = stress
}
trigger = {
NOT = {
has_character_flag = had_event_1402
}
}
weight_multiplier = {
base = 1
}
immediate = {
add_character_flag = {
flag = had_event_1402
days = 365
}
change_variable = {
name = search_for_troops_event_count
add = 1
}
}
option = { #Pay for the tavern to throw them out
name = martial_strategy_special.1402.a
flavor = martial_strategy_special.1402.a.tt
remove_short_term_gold = minor_gold_value
hidden_effect = {
trigger_event = {
on_action = search_for_troops_event_selection
days = { 5 15 }
}
}
stress_impact = {
greedy = minor_stress_impact_gain
}
custom_tooltip = martial_strategy_special.1401.continue_search_tooltip
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = -0.5
}
modifier = {
add = 30
has_trait = generous
}
modifier = {
add = -80
short_term_gold < minor_gold_value_check
}
}
}
option = { #Have a drink with them, and feast until they come with!
name = martial_strategy_special.1402.b
flavor = martial_strategy_special.1402.b.tt
add_prestige = minor_prestige_loss
hidden_effect = {
trigger_event = {
on_action = search_for_troops_event_selection
days = { 5 15 }
}
}
stress_impact = {
temperate = medium_stress_impact_gain
vengeful = minor_stress_impact_gain
}
custom_tooltip = martial_strategy_special.1401.continue_search_tooltip
ai_chance = {
base = 100
ai_value_modifier = {
ai_vengefulness = -0.75
}
}
}
option = { #Give up
name = martial_strategy_special.1402.c
martial_strategy_special_1401_give_up_effect = yes
ai_chance = {
base = 1
}
}
option = { #I can convince them!
name = martial_strategy_special.1402.d
flavor =martial_strategy_special.1402.d.tt
trigger = {
OR = {
has_trait = gregarious
has_diplomacy_lifestyle_trait_trigger = yes
}
}
trait = gregarious
trait = diplomat
trait = family_first
trait = august
hidden_effect = {
trigger_event = {
on_action = search_for_troops_event_selection
days = { 5 15 }
}
}
custom_tooltip = martial_strategy_special.1401.continue_search_tooltip
}
}
#Soldiers have run out of water and are camped by a lake
martial_strategy_special.1403 = {
type = character_event
title = martial_strategy_special.1403.t
desc = martial_strategy_special.1403.desc
theme = martial_strategy_focus
left_portrait = root
trigger = {
NOT = {
has_character_flag = had_event_1403
}
}
weight_multiplier = {
base = 1
}
immediate = {
add_character_flag = {
flag = had_event_1403
days = 365
}
change_variable = {
name = search_for_troops_event_count
add = 1
}
}
option = { #Have your knights carry water
name = martial_strategy_special.1403.a
flavor = martial_strategy_special.1403.a.tt
add_prestige = minor_prestige_loss
hidden_effect = {
trigger_event = {
on_action = search_for_troops_event_selection
days = { 5 15 }
}
}
stress_impact = {
arrogant = medium_stress_impact_gain
lazy = minor_stress_impact_gain
sadistic = medium_stress_impact_gain
}
custom_tooltip = martial_strategy_special.1401.continue_search_tooltip
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = 0.5
}
modifier = {
add = -100
has_trait = arrogant
}
}
}
option = { #Have them march home
name = martial_strategy_special.1403.b
flavor = martial_strategy_special.1403.b.tt
if = {
limit = { exists = capital_county }
capital_county = {
add_county_modifier = {
modifier = martial_strategy_reduced_capital_levy_modifier
years = 5
}
}
}
hidden_effect = {
trigger_event = {
on_action = search_for_troops_event_selection
days = { 5 15 }
}
}
stress_impact = {
compassionate = minor_stress_impact_gain
diligent = minor_stress_impact_gain
}
custom_tooltip = martial_strategy_special.1401.continue_search_tooltip
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = -1
ai_vengefulness = 1
ai_rationality = -0.5
}
}
}
option = { #Give up
name = martial_strategy_special.1403.c
martial_strategy_special_1401_give_up_effect = yes
ai_chance = {
base = 1
}
}
option = { #I think I can come up with a solution for this...
name = martial_strategy_special.1403.d
flavor = martial_strategy_special.1403.d.tt
trigger = {
OR = {
has_trait = logistician
has_trait = military_engineer
}
}
trait = logistician
trait = military_engineer
hidden_effect = {
trigger_event = {
on_action = search_for_troops_event_selection
days = { 5 15 }
}
}
stress_impact = {
lazy = minor_stress_impact_gain
}
custom_tooltip = martial_strategy_special.1401.continue_search_tooltip
ai_chance = {
base = 1000
}
}
}
#A knight has taken it upon themselves to continue training
martial_strategy_special.1404 = {
type = character_event
title = martial_strategy_special.1404.t
desc = martial_strategy_special.1404.desc
theme = martial_strategy_focus
left_portrait = root
right_portrait = scope:knight
lower_right_portrait = scope:soldier_friend
trigger = {
NOT = {
has_character_flag = had_event_1404
}
any_knight = {
is_available_ai = yes
}
}
weight_multiplier = {
base = 1
}
immediate = {
add_character_flag = {
flag = had_event_1404
days = 365
}
change_variable = {
name = search_for_troops_event_count
add = 1
}
if = {
limit = { any_relation = { type = soldier_friend } }
random_relation = {
type = soldier_friend
save_scope_as = soldier_friend
}
}
random_knight = {
limit = {
is_available_ai = yes
}
save_scope_as = knight
}
}
option = { # I am the real commander here!
name = martial_strategy_special.1404.a
flavor = martial_strategy_special.1404.a.tt
scope:knight = {
add_opinion = {
modifier = insult_opinion
target = root
opinion = -20
}
}
hidden_effect = {
trigger_event = {
on_action = search_for_troops_event_selection
days = { 5 15 }
}
}
stress_impact = {
humble = minor_stress_impact_gain
}
custom_tooltip = martial_strategy_special.1401.continue_search_tooltip
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = 0.5
ai_compassion = -0.25
ai_rationality = 0.25
}
}
}
option = { # We will drill until they get it right!
name = martial_strategy_special.1404.b
flavor = martial_strategy_special.1404.b.tt
add_character_modifier = {
modifier = upset_troops_modifier
days = 1825
}
hidden_effect = {
trigger_event = {
on_action = search_for_troops_event_selection
days = { 5 15 }
}
}
stress_impact = {
forgiving = minor_stress_impact_gain
}
custom_tooltip = martial_strategy_special.1401.continue_search_tooltip
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = -0.25
ai_vengefulness = 1
}
}
}
option = { #Give up
name = martial_strategy_special.1404.c
martial_strategy_special_1401_give_up_effect = yes
ai_chance = {
base = 1
}
}
option = { #My soldier friend can handle this instead of the sergeant
name = martial_strategy_special.1404.d
flavor = martial_strategy_special.1404.d.tt
trigger = {
any_relation = { type = soldier_friend }
}
hidden_effect = {
trigger_event = {
on_action = search_for_troops_event_selection
days = { 5 15 }
}
}
custom_tooltip = martial_strategy_special.1401.continue_search_tooltip
ai_chance = {
base = 1000
}
}
}
#The troops have started listening to a local preacher
martial_strategy_special.1405 = {
type = character_event
title = martial_strategy_special.1405.t
desc = martial_strategy_special.1405.desc
left_portrait = root
right_portrait = {
character = scope:zealot
animation = personality_zealous
}
theme = martial_strategy_focus
trigger = {
NOT = {
has_character_flag = had_event_1405
}
}
weight_multiplier = {
base = 1
}
immediate = {
add_character_flag = {
flag = had_event_1405
days = 365
}
change_variable = {
name = search_for_troops_event_count
add = 1
}
create_character = {
location = scope:capital.title_province
gender_female_chance = root_faith_clergy_gender_female_chance
age = { 16 60 }
culture = root.culture
faith = root.faith
trait = zealous
random_traits_list = {
count = 2
calm = {}
brave = {}
gregarious = {}
ambitious = {}
stubborn = {}
arrogant = {}
}
save_scope_as = zealot
}
}
option = { #Emphasise that I am the ruler chosen by HIGH GOD
name = martial_strategy_special.1405.a
flavor = martial_strategy_special.1405.a.tt
add_prestige = medium_prestige_gain
add_character_modifier = {
modifier = martial_strategy_claimed_divine_right_modifier
years = 5
}
hidden_effect = {
trigger_event = {
on_action = search_for_troops_event_selection
days = { 5 15 }
}
}
stress_impact = {
cynical = medium_stress_impact_gain
}
custom_tooltip = martial_strategy_special.1401.continue_search_tooltip
hidden_effect = {
scope:zealot = {
death = {
death_reason = death_disappearance
}
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_zeal = 1
}
}
}
option = { #Have the preacher sent away
name = martial_strategy_special.1405.b
flavor = martial_strategy_special.1405.b.tt
scope:zealot = {
add_opinion = {
modifier = angry_opinion
target = root
opinion = -25
}
}
add_piety = minor_piety_loss
hidden_effect = {
trigger_event = {
on_action = search_for_troops_event_selection
days = { 5 15 }
}
}
stress_impact = {
zealous = minor_stress_impact_gain
forgiving = minor_stress_impact_gain
}
custom_tooltip = martial_strategy_special.1401.continue_search_tooltip
ai_chance = {
base = 100
ai_value_modifier = {
ai_vengefulness = 0.5
ai_boldness = 0.5
}
}
}
option = { #Give up
name = martial_strategy_special.1405.c
martial_strategy_special_1401_give_up_effect = yes
ai_chance = {
base = 1
}
hidden_effect = {
scope:zealot = {
death = {
death_reason = death_disappearance
}
}
}
}
option = { #Convince the preacher to side with you
name = martial_strategy_special.1405.d
flavor = martial_strategy_special.1405.d.tt
trigger = {
OR = {
has_trait = zealous
has_trait = holy_warrior
}
}
trait = holy_warrior
trait = zealous
add_courtier = scope:zealot
hidden_effect = {
trigger_event = {
on_action = search_for_troops_event_selection
days = { 5 15 }
}
}
custom_tooltip = martial_strategy_special.1401.continue_search_tooltip
ai_chance = {
base = 1000
}
}
after = {
scope:zealot = {
silent_disappearance_ai_effect = yes
}
}
}
#Successful Conclusion!
martial_strategy_special.1498 = {
type = character_event
title = martial_strategy_special.1498.t
desc = martial_strategy_special.1498.desc
theme = martial_strategy_focus
left_portrait = root
trigger = {
var:search_for_troops_event_count > 1
}
weight_multiplier = { #Increase the likelihood of succeeding for every event that has fired.
base = 1
modifier = {
add = 1
var:search_for_troops_event_count > 2
}
modifier = {
add = 1
var:search_for_troops_event_count > 3
}
}
immediate = {
hidden_effect = {
remove_character_flag = had_event_1402
remove_character_flag = had_event_1403
remove_character_flag = had_event_1404
remove_character_flag = had_event_1405
}
}
option = {
name = martial_strategy_special.1498.a
add_martial_lifestyle_perk_points = 1
}
after = {
hidden_effect = {
remove_variable = search_for_troops_event_count
}
}
}
#Failed Conclusion
martial_strategy_special.1499 = {
type = character_event
title = martial_strategy_special.1499.t
desc = martial_strategy_special.1499.desc
theme = martial_strategy_focus
left_portrait = root
immediate = {
hidden_effect = {
remove_character_flag = had_event_1402
remove_character_flag = had_event_1403
remove_character_flag = had_event_1404
remove_character_flag = had_event_1405
}
}
option = {
name = martial_strategy_special.1499.a
add_character_modifier = {
modifier = self_sufficient_troops_modifier
days = 1825
}
}
after = {
hidden_effect = {
remove_variable = search_for_troops_event_count
}
}
}