unfucking the mod

This commit is contained in:
trashmasteruni 2026-01-06 14:25:21 +01:00
parent cbe3fbcda2
commit d887392b56
1167 changed files with 26982 additions and 13 deletions

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,884 @@
#These events serve as an alternate way of gaining commander traits, by learning about historical battles.
namespace = historical_commander_trait
##################################################
# Hannibal Bacar
# by Sean Hughes
# 0001
##################################################
historical_commander_trait.0001 = {
type = character_event
title = historical_commander_trait.0001.t
desc = historical_commander_trait.0001.desc
theme = war
left_portrait = {
character = root
animation = reading
}
trigger = {
NOR = {
has_character_flag = being_taught_commander_trait
has_character_flag = had_historical_commander_trait_event_0001
culture = {
has_graphical_east_asia_culture_group_trigger = yes
}
}
number_of_commander_traits < 3
}
weight_multiplier = {
base = 1
compare_modifier = {
factor = martial
multiplier = 0.1
max = 2
}
modifier = {
factor = 0.3
number_of_commander_traits > 0
}
modifier = {
factor = 0.3
number_of_commander_traits > 1
}
upweight_for_focus_modifier = { FOCUS = martial_strategy_focus }
}
immediate = {
add_character_flag = {
flag = had_historical_commander_trait_event_0001
}
}
option = {
name = historical_commander_trait.0001.a
trigger = { NOT = { has_trait = aggressive_attacker } }
add_trait = aggressive_attacker
stress_impact = {
compassionate = minor_stress_impact_gain
calm = minor_stress_impact_gain
lazy = minor_stress_impact_gain
patient = minor_stress_impact_gain
craven = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_zeal = 0.25
ai_energy = 0.5
ai_boldness = 1
ai_vengefulness = 0.2
ai_compassion = -0.5
}
}
}
option = {
name = historical_commander_trait.0001.b
trigger = { NOT = { has_trait = logistician } }
add_trait = logistician
stress_impact = {
impatient = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
forgiving = minor_stress_impact_gain
stubborn = minor_stress_impact_gain
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 1
ai_energy = 0.25
ai_greed = -0.5
}
}
}
option = {
name = historical_commander_trait.0001.c
trigger = { NOT = { has_trait = flexible_leader } }
add_trait = flexible_leader
stress_impact = {
impatient = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
stubborn = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 1
ai_energy = 0.25
ai_greed = -0.5
}
}
}
option = {
name = historical_commander_trait.0001.d
name = {
trigger = {
has_trait = compassionate
has_trait = forgiving
}
text = historical_commander_trait.0001.d.good
}
custom_tooltip = historical_commander_trait.reject.tt
add_martial_lifestyle_xp = minor_lifestyle_xp
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = 1
ai_boldness = -0.5
ai_honor = -0.5
ai_vengefulness = -0.5
}
}
}
}
##################################################
# Julius Caesar
# by Sean Hughes
# 0002
##################################################
historical_commander_trait.0002 = {
type = character_event
title = historical_commander_trait.0002.t
desc = historical_commander_trait.0002.desc
theme = war
left_portrait = {
character = root
animation = reading
}
trigger = {
NOR = {
has_character_flag = being_taught_commander_trait
has_character_flag = had_historical_commander_trait_event_0002
culture = {
has_graphical_east_asia_culture_group_trigger = yes
}
}
number_of_commander_traits < 3
}
weight_multiplier = {
base = 1
compare_modifier = {
factor = martial
multiplier = 0.1
max = 2
}
modifier = {
factor = 0.3
number_of_commander_traits > 0
}
modifier = {
factor = 0.3
number_of_commander_traits > 1
}
upweight_for_focus_modifier = { FOCUS = martial_strategy_focus }
}
immediate = {
add_character_flag = {
flag = had_historical_commander_trait_event_0002
}
}
option = {
name = historical_commander_trait.0002.a
trigger = { NOT = { has_trait = military_engineer } }
add_trait = military_engineer
stress_impact = {
eccentric = minor_stress_impact_gain
lazy = minor_stress_impact_gain
patient = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = 0.5
ai_boldness = -0.5
ai_vengefulness = -0.5
ai_rationality = 0.5
}
}
}
option = {
name = historical_commander_trait.0002.b
trigger = { NOT = { has_trait = unyielding_defender } }
add_trait = unyielding_defender
stress_impact = {
impatient = minor_stress_impact_gain
wrathful = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
brave = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_vengefulness = -1
ai_energy = -0.5
ai_greed = -0.5
}
}
}
option = {
name = historical_commander_trait.0002.c
trigger = { NOT = { has_trait = reckless } }
add_trait = reckless
stress_impact = {
eccentric = minor_stress_impact_loss
diligent = minor_stress_impact_gain
patient = minor_stress_impact_gain
stubborn = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = -1
ai_boldness = 0.5
ai_greed = 0.5
}
}
}
option = {
name = historical_commander_trait.0002.d
custom_tooltip = historical_commander_trait.reject.tt
add_martial_lifestyle_xp = minor_lifestyle_xp
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 1
ai_vengefulness = 1
}
}
}
}
##################################################
# Alexander the Great
# by Sean Hughes
# 0003
##################################################
historical_commander_trait.0003 = {
type = character_event
title = historical_commander_trait.0003.t
desc = historical_commander_trait.0003.desc
theme = war
left_portrait = {
character = root
animation = reading
}
trigger = {
NOR = {
has_character_flag = being_taught_commander_trait
has_character_flag = had_historical_commander_trait_event_0003
culture = {
has_graphical_east_asia_culture_group_trigger = yes
}
}
number_of_commander_traits < 3
}
weight_multiplier = {
base = 1
compare_modifier = {
factor = martial
multiplier = 0.1
max = 2
}
modifier = {
factor = 0.3
number_of_commander_traits > 0
}
modifier = {
factor = 0.3
number_of_commander_traits > 1
}
upweight_for_focus_modifier = { FOCUS = martial_strategy_focus }
}
immediate = {
add_character_flag = {
flag = had_historical_commander_trait_event_0003
}
}
option = {
name = historical_commander_trait.0003.a
trigger = { NOT = { has_trait = forder } }
add_trait = forder
stress_impact = {
lazy = minor_stress_impact_gain
patient = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = 0.5
ai_boldness = 1
ai_vengefulness = 0.5
}
}
}
option = {
name = historical_commander_trait.0003.b
trigger = { NOT = { has_trait = military_engineer } }
add_trait = military_engineer
stress_impact = {
lazy = minor_stress_impact_gain
wrathful = minor_stress_impact_gain
stubborn = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 1
ai_energy = 0.25
ai_greed = -0.5
}
}
}
option = {
name = historical_commander_trait.0003.c
trigger = { NOT = { has_trait = reaver } }
add_trait = reaver
stress_impact = {
generous = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
forgiving = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = -1
ai_energy = 0.5
ai_greed = 2
}
}
}
option = {
name = historical_commander_trait.0003.d
custom_tooltip = historical_commander_trait.reject.tt
add_martial_lifestyle_xp = minor_lifestyle_xp
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = -0.5
ai_boldness = 0.5
ai_vengefulness = 0.5
}
}
}
}
##################################################
# Constantine
# by Sean Hughes
# 0004
##################################################
historical_commander_trait.0004 = {
type = character_event
title = historical_commander_trait.0004.t
desc = historical_commander_trait.0004.desc
theme = war
left_portrait = {
character = root
animation = reading
}
trigger = {
NOR = {
has_character_flag = being_taught_commander_trait
has_character_flag = had_historical_commander_trait_event_0004
}
number_of_commander_traits < 3
OR = {
faith = faith:catholic
faith = faith:orthodox
}
}
weight_multiplier = {
base = 1
compare_modifier = {
factor = martial
multiplier = 0.1
max = 2
}
modifier = {
factor = 0.3
number_of_commander_traits > 0
}
modifier = {
factor = 0.3
number_of_commander_traits > 1
}
upweight_for_focus_modifier = { FOCUS = martial_strategy_focus }
}
immediate = {
add_character_flag = {
flag = had_historical_commander_trait_event_0004
}
}
option = {
name = historical_commander_trait.0004.a
trigger = { NOT = { has_trait = holy_warrior } }
add_trait = holy_warrior
stress_impact = {
cynical = minor_stress_impact_gain
craven = minor_stress_impact_gain
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_zeal = 2
ai_honor = 1
ai_boldness = 0.5
}
}
}
option = {
name = historical_commander_trait.0004.b
trigger = { NOT = { has_trait = forder } }
add_trait = forder
stress_impact = {
patient = minor_stress_impact_gain
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 2
ai_energy = 0.5
ai_greed = 0.5
}
}
}
option = {
name = historical_commander_trait.0004.c
trigger = { NOT = { has_trait = flexible_leader } }
add_trait = flexible_leader
stress_impact = {
impatient = minor_stress_impact_gain
stubborn = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 2
ai_energy = 0.5
ai_boldness = -0.5
}
}
}
option = {
name = historical_commander_trait.0004.d
custom_tooltip = historical_commander_trait.reject.tt
add_martial_lifestyle_xp = minor_lifestyle_xp
ai_chance = {
base = 100
ai_value_modifier = {
ai_zeal = -0.5
ai_boldness = -0.5
ai_honor = -0.5
ai_vengefulness = 0.5
}
}
}
}
##################################################
# Khalid ibn al-Walid
# by Sean Hughes
# 0004
##################################################
historical_commander_trait.0005 = {
type = character_event
title = historical_commander_trait.0005.t
desc = historical_commander_trait.0005.desc
theme = war
left_portrait = {
character = root
animation = reading
}
trigger = {
NOR = {
has_character_flag = being_taught_commander_trait
has_character_flag = had_historical_commander_trait_event_0005
}
number_of_commander_traits < 3
faith = {
religion_tag = islam_religion
}
}
weight_multiplier = {
base = 1
compare_modifier = {
factor = martial
multiplier = 0.1
max = 2
}
modifier = {
factor = 0.3
number_of_commander_traits > 0
}
modifier = {
factor = 0.3
number_of_commander_traits > 1
}
upweight_for_focus_modifier = { FOCUS = martial_strategy_focus }
}
immediate = {
add_character_flag = {
flag = had_historical_commander_trait_event_0005
}
}
option = {
name = historical_commander_trait.0005.a
trigger = { NOT = { has_trait = holy_warrior } }
add_trait = holy_warrior
stress_impact = {
cynical = minor_stress_impact_gain
craven = minor_stress_impact_gain
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_zeal = 2
ai_honor = 1
ai_boldness = 0.5
}
}
}
option = {
name = historical_commander_trait.0005.b
trigger = { NOT = { has_trait = unyielding_defender } }
add_trait = unyielding_defender
stress_impact = {
wrathful = medium_stress_impact_gain
impatient = minor_stress_impact_gain
craven = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 1
ai_honor = 1
ai_vengefulness = -1
}
}
}
option = {
name = historical_commander_trait.0005.c
trigger = { NOT = { has_trait = logistician } }
add_trait = logistician
stress_impact = {
impatient = minor_stress_impact_gain
stubborn = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 1.25
ai_boldness = -0.75
}
}
}
option = {
name = historical_commander_trait.0005.d
custom_tooltip = historical_commander_trait.reject.tt
add_martial_lifestyle_xp = minor_lifestyle_xp
ai_chance = {
base = 100
ai_value_modifier = {
ai_zeal = -0.5
ai_boldness = -0.5
ai_honor = -0.5
}
}
}
}
##################################################
# Bilge Khagan
# by Naslund
# 0006
##################################################
historical_commander_trait.0006 = {
type = character_event
title = historical_commander_trait.0006.t
desc = historical_commander_trait.0006.desc
theme = war
override_background = { reference = mpo_camp_steppe }
left_portrait = {
character = root
animation = thinking
}
trigger = {
NOR = {
has_character_flag = being_taught_commander_trait
has_character_flag = had_historical_commander_trait_event_0006
}
number_of_commander_traits < 3
has_government = nomad_government
}
weight_multiplier = {
base = 1
compare_modifier = {
factor = martial
multiplier = 0.1
max = 2
}
modifier = {
factor = 0.3
number_of_commander_traits > 0
}
modifier = {
factor = 0.3
number_of_commander_traits > 1
}
upweight_for_focus_modifier = { FOCUS = martial_strategy_focus }
}
immediate = {
add_character_flag = {
flag = had_historical_commander_trait_event_0006
}
}
option = {
name = historical_commander_trait.0006.a
trigger = { NOT = { has_trait = unyielding_defender } }
add_trait = unyielding_defender
stress_impact = {
wrathful = medium_stress_impact_gain
impatient = minor_stress_impact_gain
craven = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 1
ai_honor = 1
ai_vengefulness = -1
}
}
}
option = {
name = historical_commander_trait.0006.b
trigger = { NOT = { has_trait = logistician } }
add_trait = logistician
stress_impact = {
impatient = minor_stress_impact_gain
stubborn = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 1.25
ai_boldness = -0.75
}
}
}
option = {
name = historical_commander_trait.0006.c
trigger = { NOT = { has_trait = flexible_leader } }
add_trait = flexible_leader
stress_impact = {
impatient = minor_stress_impact_gain
stubborn = medium_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 2
ai_energy = 0.5
ai_boldness = -0.5
}
}
}
option = {
name = historical_commander_trait.0006.d
custom_tooltip = historical_commander_trait.reject.tt
add_martial_lifestyle_xp = minor_lifestyle_xp
ai_chance = {
base = 100
ai_value_modifier = {
ai_zeal = -0.5
ai_boldness = -0.5
ai_honor = -0.5
}
}
}
}
##################################################
# Sun Tzu
# 0007
##################################################
historical_commander_trait.0007 = {
type = character_event
title = historical_commander_trait.0007.t
desc = historical_commander_trait.0007.desc
theme = war
left_portrait = {
character = root
animation = reading
}
override_background = { reference = study }
trigger = {
NOR = {
has_character_flag = being_taught_commander_trait
has_character_flag = had_historical_commander_trait_event_0007
}
culture = {
has_graphical_east_asia_culture_group_trigger = yes
}
number_of_commander_traits < 3
}
weight_multiplier = {
base = 1
compare_modifier = {
factor = martial
multiplier = 0.1
max = 2
}
modifier = {
factor = 0.3
number_of_commander_traits > 0
}
modifier = {
factor = 0.3
number_of_commander_traits > 1
}
upweight_for_focus_modifier = { FOCUS = martial_strategy_focus }
}
immediate = {
add_character_flag = {
flag = had_historical_commander_trait_event_0007
}
}
option = {
name = historical_commander_trait.0007.a
trigger = { NOT = { has_trait = logistician } }
add_trait = logistician
stress_impact = {
lazy = minor_stress_impact_gain
patient = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = 0.5
ai_boldness = 1
ai_vengefulness = 0.5
}
}
}
option = {
name = historical_commander_trait.0007.b
trigger = { NOT = { has_trait = cautious_leader } }
add_trait = cautious_leader
stress_impact = {
lazy = minor_stress_impact_gain
wrathful = minor_stress_impact_gain
stubborn = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 1
ai_energy = 0.25
ai_greed = -0.5
}
}
}
option = {
name = historical_commander_trait.0007.c
trigger = { NOT = { has_trait = flexible_leader } }
add_trait = flexible_leader
stress_impact = {
generous = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
forgiving = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = -1
ai_energy = 0.5
ai_greed = 2
}
}
}
option = {
name = historical_commander_trait.0007.d
custom_tooltip = historical_commander_trait.reject.tt
add_martial_lifestyle_xp = minor_lifestyle_xp
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = -0.5
ai_boldness = 0.5
ai_vengefulness = 0.5
}
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,697 @@
namespace = martial_authority
##################################################
#Martial Authority Lifestyle events
# 5000 - You visit some baronies or go partying.
# 8000 - Your child joins a tourney
##################################################
##################################################
# Touring the Backwaters
# by Ewan Cowhig Croft
# 5000
##################################################
scripted_trigger martial_authority_5000_minor_barons = {
is_available = yes
highest_held_title_tier = tier_barony
is_powerful_vassal = no
}
scripted_trigger martial_authority_5000_powerful_vassal = {
is_available = yes
is_at_war = no
NOT = { has_relation_rival = root }
}
#You visit some baronies or go partying with an important vassal.
#by Ewan Cowhig Croft
martial_authority.5000 = {
type = character_event
title = martial_authority.5000.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
OR = {
faith = { religion_tag = christianity_religion }
faith = { religion_tag = dualism_religion }
faith = { religion_tag = islam_religion }
faith = { religion_tag = hellenism_religion }
faith = { religion_tag = judaism_religion }
faith = { religion_tag = zoroastrianism_religion }
faith = { religion_tag = zunism_religion }
faith = { religion_tag = hinduism_religion }
}
}
desc = martial_authority.5000.authoritative_religion.desc
}
desc = martial_authority.5000.relaxed_religion.desc
}
}
theme = martial_authority_focus
left_portrait = {
character = root
animation = stress
}
right_portrait = {
character = scope:party_vassal
animation = beg
}
lower_left_portrait = scope:baron_1
lower_center_portrait = scope:baron_2
lower_right_portrait = scope:baron_3
trigger = {
is_at_war = no
NOT = { has_character_flag = had_event_martial_control_5000 }
any_vassal = {
martial_authority_5000_minor_barons = yes
save_temporary_scope_as = tmp_baron_1
}
any_vassal = {
martial_authority_5000_minor_barons = yes
primary_title.county != scope:tmp_baron_1.primary_title.county
save_temporary_scope_as = tmp_baron_2
}
any_vassal = {
martial_authority_5000_minor_barons = yes
NOR = {
primary_title.county = scope:tmp_baron_1.primary_title.county
primary_title.county = scope:tmp_baron_2.primary_title.county
}
}
any_powerful_vassal = { martial_authority_5000_powerful_vassal = yes }
}
weight_multiplier = {
base = 1
upweight_for_focus_modifier = { FOCUS = martial_authority_focus }
downweight_for_focus_modifier = { FOCUS = martial_chivalry_focus }
downweight_for_focus_modifier = { FOCUS = martial_strategy_focus }
}
immediate = {
add_character_flag = {
flag = had_event_martial_control_5000
days = 1825
}
every_vassal = {
limit = {martial_authority_5000_minor_barons = yes }
add_to_list = baron_initial_list
}
random_in_list = {
list = baron_initial_list
limit = { primary_title.county.county_control < full_county_control }
alternative_limit = { always = yes }
weight = {
base = 1
modifier = {
add = {
value = 120
subtract = primary_title.county.county_control
}
}
}
save_scope_as = baron_1
scope:baron_1 = {
primary_title.county = { save_scope_as = baron_1_lands }
}
add_to_list = baron_final_list
}
random_in_list = {
list = baron_initial_list
limit = {
NOR = {
this = scope:baron_1
primary_title.county = scope:baron_1.primary_title.county
}
primary_title.county.county_control < full_county_control
}
alternative_limit = {
this != scope:baron_1
}
weight = {
base = 1
modifier = {
add = {
value = 120
subtract = primary_title.county.county_control
}
}
}
save_scope_as = baron_2
scope:baron_2 = {
primary_title.county = { save_scope_as = baron_2_lands }
}
add_to_list = baron_final_list
}
random_in_list = {
list = baron_initial_list
limit = {
NOR = {
this = scope:baron_1
primary_title.county = scope:baron_1.primary_title.county
this = scope:baron_2
primary_title.county = scope:baron_2.primary_title.county
}
primary_title.county.county_control < full_county_control
}
alternative_limit = {
NOR = {
this = scope:baron_1
this = scope:baron_2
}
}
weight = {
base = 1
modifier = {
add = {
value = 120
subtract = primary_title.county.county_control
}
}
}
save_scope_as = baron_3
scope:baron_3 = {
primary_title.county = { save_scope_as = baron_3_lands }
}
add_to_list = baron_final_list
}
random_powerful_vassal = {
limit = {
martial_authority_5000_powerful_vassal = yes
has_relation_potential_friend = root
NOR = {
this = scope:baron_1
this = scope:baron_2
this = scope:baron_3
}
}
alternative_limit = {
martial_authority_5000_powerful_vassal = yes
NOR = {
this = scope:baron_1
this = scope:baron_2
this = scope:baron_3
}
}
save_scope_as = party_vassal
}
}
option = {
name = martial_authority.5000.a
every_in_list = {
list = baron_final_list
custom = martial_authority.5000.a.characters_baron_final_list
add_opinion = {
modifier = pleased_opinion
opinion = 30
target = root
}
}
#Effects separated for purely aesthetic reasons.
every_in_list = {
list = baron_final_list
custom = martial_authority.5000.a.land_baron_final_list
primary_title.county = {
change_county_control = 30
add_county_modifier = {
modifier = authority_central_control_modifier
years = 15
}
}
}
stress_impact = { lazy = medium_stress_impact_gain }
ai_chance = {
base = 100
ai_energy_target_modifier = { VALUE = 100 }
ai_honor_target_modifier = { VALUE = 50 }
}
}
option = {
name = martial_authority.5000.b
progress_towards_friend_effect = {
CHARACTER = scope:party_vassal
OPINION = 0
REASON = friend_attended_party
}
scope:party_vassal = {
add_opinion = {
modifier = pleased_opinion
opinion = 20
target = root
}
}
every_in_list = {
list = baron_final_list
custom = martial_authority.5000.a.characters_baron_final_list
add_opinion = {
modifier = insult_opinion
opinion = -30
target = root
}
}
stress_impact = {
shy = medium_stress_impact_gain
temperate = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_energy_target_modifier = { VALUE = -100 }
ai_honor_target_modifier = { VALUE = -50 }
}
}
}
##################################################
# Child Tourney
# by Isabella Welch
# 8000
##################################################
martial_authority.8000 = {
type = character_event
title = martial_authority.8000.t
desc = martial_authority.8000.desc
theme = martial_authority_focus
left_portrait = {
character = root
animation = dismissal
}
right_portrait = {
character = player_heir
animation = personality_bold
}
override_background = {
reference = army_camp
}
trigger = {
NOR = {
has_character_flag = had_event_martial_authority_8000
has_dlc_feature = tours_and_tournaments
}
exists = player_heir
root = { is_parent_of = player_heir }
player_heir = {
age > 4
age < 13
NOR = {
has_trait = humble
has_trait = shy
has_trait = craven
has_trait = compassionate
has_trait = disfigured
has_trait = one_legged
has_trait = incapable
AND = {
has_trait = brave
has_trait = arrogant
has_trait = wrathful
}
}
is_ai = yes
number_of_personality_traits < personality_trait_limit
}
any_knight = {
count > 2
is_ai = yes
}
exists = cp:councillor_marshal
cp:councillor_marshal = {
is_ai = yes
is_available = yes
}
}
weight_multiplier = {
base = 1
}
immediate = {
root = {
add_character_flag = had_event_martial_authority_8000
}
cp:councillor_marshal = {
save_scope_as = marshal
}
player_heir = {
save_scope_as = fighting_child
}
}
option = { #Order your warriors to pull their punches
name = martial_authority.8000.a
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = 1
ai_boldness = 2
}
}
random_list = {
60 = {
scope:fighting_child = {
random_list = {
10 = {
trigger = { NOT = { has_trait = brave} }
root = {
send_interface_toast = {
left_icon = scope:fighting_child
title = martial_authority_child_trait_gain
scope:fighting_child = { add_trait = brave }
}
}
#hidden_effect = {
# root = {
# send_interface_toast = {
# left_icon = scope:fighting_child
# title = martial_authority_child_t#rait_gain#
# show_as_t#ooltip = { scope:#fighting_#child = { add_tra#it = #brave } }#
# }#
# }
#}
#add_trait = brave
}
10 = {
trigger = { NOT = { has_trait = arrogant } }
root = {
send_interface_toast = {
left_icon = scope:fighting_child
title = martial_authority_child_trait_gain
scope:fighting_child = { add_trait = arrogant }
}
}
}
10 = {
trigger = { NOT = { has_trait = wrathful } }
root = {
send_interface_toast = {
left_icon = scope:fighting_child
title = martial_authority_child_trait_gain
scope:fighting_child = { add_trait = wrathful }
}
}
}
}
}
}
40 = {
desc = martial_authority.8000.tt
custom_tooltip = martial_authority.8000.a.tt
trigger_event = {
id = martial_authority.8100
days = { 3 4 }
}
}
}
}
option = {
name = martial_authority.8000.b
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = -2
ai_boldness = 2
}
}
random_list = {
10 = {
desc = martial_authority.8000.tt
modifier = {
factor = 2
scope:fighting_child = {
has_trait = brave
}
}
scope:fighting_child = {
add_martial_skill = 2
}
trigger_event = {
id = martial_authority.8100
days = { 3 4 }
}
}
30 = {
desc = martial_authority.8000.tt.failure
modifier = {
factor = 2
scope:fighting_child = {
OR = {
has_trait = clubfooted
has_trait = hunchbacked
has_trait = dwarf
has_trait = incapable
has_trait = blind
has_trait = one_eyed
has_trait = disfigured
}
}
}
scope:fighting_child = {
custom_tooltip = martial_authority.8000_injury
hidden_effect = {
random_list = {
10 = {
trigger = { NOT = { has_trait = one_eyed } }
add_trait = one_eyed
hidden_effect = {
root = {
send_interface_toast = {
left_icon = scope:fighting_child
title = martial_authority_one_eyed_child_title
custom_tooltip = martial_authority_one_eyed_child
}
}
}
}
10 = {
trigger = { NOT = { has_trait = disfigured } }
add_trait = disfigured
hidden_effect = {
root = {
send_interface_toast = {
left_icon = scope:fighting_child
title = martial_authority_disfigured_child_title
custom_tooltip = martial_authority_disfigured_child
}
}
}
}
}
}
}
}
30 = {
desc = martial_authority.8000.tt.failure
custom_tooltip = martial_authority_unremarkable_child
hidden_effect = {
send_interface_toast = {
left_icon = scope:fighting_child
title = martial_authority_unremarkable_child_title
custom_tooltip = martial_authority_unremarkable_child
}
}
}
}
}
option = {
name = martial_authority.8000.c
trigger = {
scope:fighting_child = { can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root } }
}
scope:fighting_child = {
add_opinion = {
target = root
opinion = -15
modifier = neglected_opinion
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 0.5
}
}
}
option = {
name = martial_authority.8000.d
trigger = {
scope:fighting_child = { NOT = { can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root } } }
}
scope:fighting_child = {
add_opinion = {
target = root
opinion = -15
modifier = neglected_opinion
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 0.5
}
}
}
}
martial_authority.8100 = { # Your heir kills one of your knights
type = character_event
title = martial_authority.8000.t
desc = martial_authority.8100.desc
theme = martial_authority_focus
left_portrait = {
character = scope:marshal
animation = worry
}
right_portrait = {
character = scope:fighting_child
animation = happiness
}
lower_left_portrait = {
character = scope:murdered_knight
}
override_background = {
reference = army_camp
}
trigger = {
any_knight = {
is_available = yes
is_ai = yes
this != scope:marshal
}
scope:marshal = { is_available = yes }
scope:fighting_child = { is_available = yes }
}
weight_multiplier = {
base = 1
}
immediate = {
random_knight = {
limit = {
is_available = yes
is_ai = yes
this != scope:marshal
}
weight = {
base = 1
modifier = {
add = 8
prowess <15
}
modifier = {
add = 20
prowess <10
}
}
save_scope_as = murdered_knight
}
player_heir = {
add_trait = lifestyle_blademaster
if = {
limit = {
NOR = {
has_trait = wrathful
has_trait = sadistic
}
}
add_stress = major_stress_gain
}
}
scope:murdered_knight = {
death = {
killer = scope:fighting_child
death_reason = death_duel
}
}
every_knight = {
custom = custom.every_knight
add_opinion = {
target = scope:fighting_child
opinion = -40
modifier = hate_opinion
}
}
scope:marshal = {
add_opinion = {
target = scope:fighting_child
opinion = -40
modifier = hate_opinion
}
}
}
option = { #Good work!
name = martial_authority.8100.a
add_dread = medium_dread_gain
scope:fighting_child = {
add_opinion = {
target = root
opinion = 30
modifier = supportive_parent
}
}
scope:marshal = {
add_opinion = {
target = root
opinion = -10
modifier = insult_opinion
}
}
every_knight = {
custom = custom.every_knight
add_opinion = {
target = root
opinion = -20
modifier = insult_opinion
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 0.5
}
}
}
option = { #Good god!
name = martial_authority.8100.c
add_dread = medium_dread_loss
scope:marshal = {
add_opinion = {
target = root
opinion = 5
modifier = respect_opinion
}
}
every_knight = {
custom = custom.every_knight
add_opinion = {
target = root
opinion = 5
modifier = respect_opinion
}
}
scope:fighting_child = {
add_opinion = {
target = root
opinion = -15
modifier = insult_opinion
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = 3
}
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,729 @@
namespace = martial_strategy
##################################################
#Martial Strategy Lifestyle events
# 4000 - You visit some baronies or go partying.
# 4010 - Rebuild the walls of a lesser domain county.
# 7000 - Why do we keep always charging in a straight line?
##################################################
##################################################
# Stocking the Stores
# by Ewan Cowhig Croft
# 4000
##################################################
#A bumper harvest lets you either eat richly or heavily-stock the stores of your capital.
martial_strategy.4000 = { #by Ewan Cowhig Croft
type = character_event
title = martial_strategy.4000.t
desc = martial_strategy.4000.desc
theme = martial_strategy_focus
override_background = {
reference = feast
}
left_portrait = {
character = root
animation = drink_goblet
}
trigger = {
is_at_war = no
is_landed = yes
NOT = { has_character_flag = had_event_martial_strategy_4000 }
}
weight_multiplier = {
base = 1
upweight_for_focus_modifier = { FOCUS = martial_strategy_focus }
upweight_for_focus_modifier = { FOCUS = stewardship_domain_focus }
}
immediate = {
add_character_flag = {
flag = had_event_martial_strategy_4000
days = 1825
}
capital_county = {
county = { save_scope_as = harvest_county }
}
}
option = {
name = martial_strategy.4000.a
capital_county = {
add_county_modifier = {
modifier = strategy_stocked_larders_modifier
years = 15
}
}
stress_impact = { gluttonous = medium_stress_impact_gain }
ai_chance = {
base = 100
ai_greed_target_modifier = { VALUE = -75 }
ai_rationality_target_modifier = { VALUE = 75 }
}
}
option = {
name = martial_strategy.4000.b
capital_county = {
add_county_modifier = {
modifier = strategy_emptied_larders_modifier
years = 15
}
}
stress_impact = {
temperate = medium_stress_impact_gain
gluttonous = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_greed_target_modifier = { VALUE = -50 }
ai_rationality_target_modifier = { VALUE = 100 }
}
}
option = {
name = martial_strategy.4000.c
scope:harvest_county = {
add_county_modifier = {
modifier = strategy_fed_peasants_larders_modifier
years = 15
}
add_county_modifier = {
modifier = strategy_emptied_larders_modifier
years = 15
}
}
stress_impact = {
callous = minor_stress_impact_gain
greedy = minor_stress_impact_gain
}
ai_chance = {
base = 100
ai_greed_target_modifier = { VALUE = 100 }
ai_rationality_target_modifier = { VALUE = -50 }
}
}
option = {
name = martial_strategy.4000.d
trigger = {
OR = {
has_trait = cannibal
has_trait = lunatic
has_trait = sadistic
any_secret = { type = secret_cannibal }
faith = { has_doctrine_parameter = cannibalism_legal }
}
}
trait = cannibal
trait = lunatic_1
trait = lunatic_genetic
trait = sadistic
capital_county = {
add_county_modifier = {
modifier = strategy_human_meat_larders_modifier
years = 15
}
add_county_modifier = {
modifier = strategy_entirely_unrelated_disappearances_modifier
years = 15
}
}
if = {
limit = {
faith = { has_doctrine_parameter = cannibalism_legal }
}
add_piety = major_piety_gain #Cannibalistic faiths are pretty in to this whole idea.
}
else = {
add_piety = { #Non-cannibalistic faiths tend to look down on mass-cannibalism.
value = major_piety_loss
subtract = medium_piety_value
}
}
if = {
limit = {
NOT = { has_trait = cannibal }
}
give_cannibal_secret_or_trait_effect = yes
}
stress_impact = {
compassionate = medium_stress_impact_gain
just = medium_stress_impact_gain
}
if = {
limit = {
NOR = {
has_trait = compassionate
has_trait = just
}
}
add_stress = major_stress_loss
}
ai_chance = {
base = 100
ai_compassion_target_modifier = { VALUE = -75 }
ai_rationality_target_modifier = { VALUE = -75 }
}
}
}
##################################################
# The Walls of [Title County Capital]
# by Ewan Cowhig Croft
# 4010
##################################################
scripted_trigger martial_strategy_4010_trigger_evaluation = {
this != province_owner.capital_province
is_county_capital = yes
}
#Rebuild the walls of a lesser domain county, or let them crumble.
martial_strategy.4010 = { #by Ewan Cowhig Croft
type = character_event
title = martial_strategy.4010.t
desc = martial_strategy.4010.desc
theme = martial_strategy_focus
override_background = {
reference = study
}
left_portrait = {
character = root
animation = worry
}
right_portrait = {
character = scope:r_architect
animation = interested
}
trigger = {
is_at_war = no
NOT = { has_character_flag = had_event_martial_strategy_4010 }
any_directly_owned_province = { martial_strategy_4010_trigger_evaluation = yes }
NOT = { government_has_flag = government_is_nomadic }
}
weight_multiplier = {
base = 1
upweight_for_focus_modifier = { FOCUS = martial_strategy_focus }
}
immediate = {
add_character_flag = {
flag = had_event_martial_strategy_4010
days = 1825
}
random_directly_owned_province = {
limit = {
county.county_control < full_county_control
martial_strategy_4010_trigger_evaluation = yes
}
alternative_limit = {
always = yes
martial_strategy_4010_trigger_evaluation = yes
}
weight = {
base = 1
modifier = {
add = {
value = 120
subtract = county.county_control
}
}
}
county = { save_scope_as = crumbling_county }
barony = { save_scope_as = crumbling_holding }
}
if = {
limit = {
has_royal_court = yes
employs_court_position = royal_architect_court_position
any_court_position_holder = {
type = royal_architect_court_position
is_available_ai_adult = yes
}
}
random_court_position_holder = {
type = royal_architect_court_position
limit = { is_available_ai_adult = yes }
save_scope_as = r_architect
}
}
}
option = {
name = martial_strategy.4010.a
trigger = {
trigger_if = {
limit = { is_ai = yes }
short_term_gold >= major_gold_value
}
}
scope:crumbling_county = {
add_county_modifier = {
modifier = strategy_paid_for_walls_modifier
years = 20
}
}
remove_treasury_or_gold = medium_treasury_or_gold_value
add_stewardship_lifestyle_xp = minor_lifestyle_xp
ai_chance = {
base = 100
ai_greed_target_modifier = { VALUE = -100 }
ai_compassion_target_modifier = { VALUE = 100 }
}
}
option = {
name = martial_strategy.4010.b
trigger = {
OR = {
has_ep1_court_positions_dlc_trigger = no
NOT = { exists = scope:r_architect }
}
}
duel = {
skill = stewardship
value = high_skill_rating
10 = {
compare_modifier = {
value = scope:duel_value
multiplier = 2.0
}
desc = martial_strategy.4010.b.tt_crit_success
send_interface_toast = {
title = martial_strategy.4010.b.tt_crit_success
left_icon = scope:crumbling_county
scope:crumbling_county = {
add_county_modifier = {
modifier = strategy_successfully_supervised_walls_modifier
years = 100
}
}
}
}
10 = {
compare_modifier = {
value = scope:duel_value
multiplier = 0.2
}
desc = martial_strategy.4010.b.tt_success
send_interface_toast = {
title = martial_strategy.4010.b.tt_success
left_icon = scope:crumbling_county
scope:crumbling_county = {
add_county_modifier = {
modifier = strategy_successfully_supervised_walls_modifier
years = 20
}
}
}
}
10 = {
desc = martial_strategy.4010.b.tt_botch
send_interface_toast = {
title = martial_strategy.4010.b.tt_botch
left_icon = scope:crumbling_county
scope:crumbling_county = {
add_county_modifier = {
modifier = strategy_botched_supervised_walls_modifier
years = 20
}
}
}
}
}
if = {
limit = {
NOT = { has_trait = architect }
}
add_stress = medium_stress_gain
}
add_martial_lifestyle_xp = medium_lifestyle_xp
stress_impact = { architect = medium_stress_impact_loss }
ai_chance = {
base = 100
ai_energy_target_modifier = { VALUE = 100 }
# Rational characters reasonably estimate their own skill level here.
modifier = {
trigger = {
ai_rationality >= low_positive_ai_value
}
add = {
value = stewardship
add = -10
multiply = 10 # -100 at 0 Stewardship, +0 at 10 Stewardship, +100 at 20 Stewardship.
}
}
}
}
option = {
name = martial_strategy.4010.d
trigger = {
exists = scope:r_architect
}
scope:r_architect = {
duel = {
skill = stewardship
value = high_skill_rating
10 = {
compare_modifier = {
value = scope:duel_value
multiplier = 2.0
}
desc = martial_strategy.4010.d.tt_crit_success
send_interface_toast = {
title = martial_strategy.4010.d.tt_crit_success
left_icon = scope:crumbling_county
scope:crumbling_county = {
add_county_modifier = {
modifier = strategy_successfully_supervised_walls_modifier
years = 100
}
}
}
}
10 = {
compare_modifier = {
value = scope:duel_value
multiplier = 0.2
}
desc = martial_strategy.4010.d.tt_success
send_interface_toast = {
title = martial_strategy.4010.d.tt_success
left_icon = scope:crumbling_county
scope:crumbling_county = {
add_county_modifier = {
modifier = strategy_successfully_supervised_walls_modifier
years = 20
}
}
}
}
5 = {
desc = martial_strategy.4010.d.tt_botch
send_interface_toast = {
title = martial_strategy.4010.d.tt_botch
left_icon = scope:crumbling_county
scope:crumbling_county = {
add_county_modifier = {
modifier = strategy_botched_supervised_walls_modifier
years = 20
}
}
}
}
}
}
ai_chance = {
base = 100
}
}
option = {
name = martial_strategy.4010.c
scope:crumbling_county = {
add_county_modifier = {
modifier = strategy_let_walls_crumble_modifier
years = 20
}
}
add_gold = medium_gold_value
ai_chance = {
base = 100
ai_greed_target_modifier = { VALUE = 100 }
ai_vengefulness_target_modifier = { VALUE = 100 }
}
}
}
namespace = martial_strategy
# Tactics?
# By Isabella Welch
scripted_trigger has_war_elephants = {
"number_maa_regiments_of_type(war_elephant)" > 0
}
scripted_trigger has_heavy_cavalry = {
number_maa_regiments_of_base_type = {
type = heavy_cavalry
value > 0
}
}
martial_strategy.7000 = {
type = character_event
title = martial_strategy.7000.t
desc = {
desc = martial_strategy.7000.desc_opening
first_valid = {
triggered_desc = {
trigger = {
has_war_elephants = yes
}
desc = martial_strategy.7000.desc_elephantry
}
desc = martial_strategy.7000.desc_cavalry
}
desc = martial_strategy.7000.desc_middle
first_valid = {
triggered_desc = {
trigger = {
has_war_elephants = yes
}
desc = martial_strategy.7000.desc_war_elephant
}
desc = martial_strategy.7000.desc_armored_horse
}
desc = martial_strategy.7000.desc_cont
}
theme = martial_strategy_focus
left_portrait = {
character = root
animation = disapproval
}
right_portrait = {
character = scope:worried_knight
animation = worry
}
trigger = {
any_knight = {
is_alive = yes
NOT = { has_trait = brave }
}
OR = {
has_heavy_cavalry = yes
has_war_elephants = yes
}
}
weight_multiplier = {
base = 1
}
immediate = {
random_knight = {
limit = { NOT = { has_trait = brave } }
weight = {
base = 1
modifier = {
add = 8
prowess >= high_skill_rating
}
modifier = {
factor = 4
is_powerful_vassal = yes
}
}
save_scope_as = worried_knight
}
}
option = {
name = martial_strategy.7000.a
trigger = {
NOT = {
has_trait = sadistic
}
}
scope:worried_knight = {
if = {
limit = {
is_landed = yes
}
add_opinion = {
target = root
opinion = -10
modifier = insulted_opinion
}
}
else = {
add_opinion = {
target = root
opinion = -20
modifier = insulted_opinion
}
}
}
add_dread = 10
add_martial_lifestyle_xp = medium_lifestyle_xp
ai_chance = {
base = 100
}
}
option = {
trigger = {
NOR = {
has_trait = strategist
has_trait_rank = {
trait = education_martial
rank >= 2
}
"number_maa_regiments_of_type(war_elephant)" > 0
}
}
name = martial_strategy.7000.b
add_martial_lifestyle_xp = medium_lifestyle_xp
scope:worried_knight = {
add_opinion = {
target = root
opinion = -15
modifier = scared_opinion
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = 0.5
}
}
add_prestige = minor_prestige_gain
}
option = {
trigger = {
has_war_elephants = yes
NOR = {
has_trait = strategist
has_trait_rank = {
trait = education_martial
rank >= 2
}
}
}
name = martial_strategy.7000.c
add_martial_lifestyle_xp = medium_lifestyle_xp
scope:worried_knight = {
if = {
limit = {
is_landed = yes
}
add_opinion = {
target = root
opinion = -20
modifier = scared_opinion
}
}
else = {
add_opinion = {
target = root
opinion = -40
modifier = scared_opinion
}
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 3
}
}
add_prestige = minor_prestige_gain
}
option = {
trigger = {
OR = {
has_trait = strategist
has_trait_rank = {
trait = education_martial
rank >= 2
}
}
}
add_prestige = medium_prestige_gain
trait = strategist
trait = education_martial_5
trait = education_martial_4
trait = education_martial_3
name = martial_strategy.7000.d
add_character_modifier = {
modifier = crushing_charge_modifier
years = 10
}
add_martial_lifestyle_xp = major_lifestyle_xp
scope:worried_knight = {
if = {
limit = {
is_landed = yes
}
add_opinion = {
target = root
opinion = -20
modifier = annoyed_opinion
}
}
else = {
add_opinion = {
target = root
opinion = -40
modifier = annoyed_opinion
}
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = 5
}
}
}
option = {
name = martial_strategy.7000.e
add_prestige = minor_prestige_loss
scope:worried_knight = {
if = {
limit = {
is_landed = yes
}
add_opinion = {
target = root
opinion = 20
modifier = pleased_opinion
}
}
else = {
add_opinion = {
target = root
opinion = 40
modifier = pleased_opinion
}
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_boldness = -3
}
}
}
option = {
name = martial_strategy.7000.f
trigger = {
has_trait = sadistic
}
trait = sadistic
scope:worried_knight = {
add_opinion = {
target = root
opinion = -40
modifier = hate_opinion
}
increase_wounds_effect = { REASON = crushed }
}
stress_impact = {
sadistic = minor_stress_loss
}
}
}

File diff suppressed because it is too large Load diff