N3OW/N3OW/common/scripted_effects/00_martial_lifestyle_effects.txt
2025-10-30 12:41:45 +00:00

879 lines
18 KiB
Text

#Effects used in Lifestyle Focus events
#####################################################################
# EFFECT LIST
#####################################################################
# !!! Remember to add all new effects with a short description here !!!
#
#giving_up_on_commander_trait_training_effect - Effect for when you give up on your commander training
give_random_commander_trait_effect = {
random_list = {
100 = {
trigger = { NOT = { has_trait = logistician } }
add_trait = logistician
}
100 = {
trigger = { NOT = { has_trait = military_engineer } }
add_trait = military_engineer
}
100 = {
trigger = { NOT = { has_trait = aggressive_attacker } }
add_trait = aggressive_attacker
}
100 = {
trigger = { NOT = { has_trait = unyielding_defender } }
add_trait = unyielding_defender
}
100 = {
trigger = { NOT = { has_trait = forder } }
add_trait = forder
}
100 = {
trigger = { NOT = { has_trait = flexible_leader } }
add_trait = flexible_leader
}
100 = {
trigger = {
NOT = { has_trait = desert_warrior }
any_sub_realm_barony = {
title_province = {
OR = {
terrain = desert
terrain = desert_mountains
terrain = oasis
terrain = drylands
}
}
}
}
add_trait = desert_warrior
}
100 = {
trigger = {
NOT = { has_trait = jungle_stalker }
any_sub_realm_barony = {
title_province = {
terrain = jungle
}
}
}
add_trait = jungle_stalker
}
100 = {
trigger = {
NOT = { has_trait = winter_soldier }
any_sub_realm_barony = {
title_province = {
OR = {
terrain = taiga
geographical_region = world_tibet
geographical_region = world_europe_north
geographical_region = world_europe_east
geographical_region = world_steppe
}
}
}
}
add_trait = winter_soldier
}
100 = {
trigger = {
NOT = { has_trait = forest_fighter }
any_sub_realm_barony = {
title_province = {
OR = {
terrain = forest
terrain = taiga
}
}
}
}
add_trait = forest_fighter
}
100 = {
trigger = {
NOT = { has_trait = open_terrain_expert }
any_sub_realm_barony = {
title_province = {
OR = {
terrain = plains
terrain = farmlands
terrain = steppe
}
}
}
}
add_trait = open_terrain_expert
}
100 = {
trigger = {
NOT = { has_trait = rough_terrain_expert }
any_sub_realm_barony = {
title_province = {
OR = {
terrain = hills
terrain = mountains
terrain = wetlands
}
}
}
}
add_trait = rough_terrain_expert
}
100 = {
trigger = { NOT = { has_trait = reaver } }
add_trait = reaver
}
100 = {
trigger = { NOT = { has_trait = reckless } }
add_trait = reckless
}
100 = {
trigger = { NOT = { has_trait = holy_warrior } }
add_trait = holy_warrior
}
100 = {
trigger = { NOT = { has_trait = organizer } }
add_trait = organizer
}
100 = {
trigger = { NOT = { has_trait = cautious_leader } }
add_trait = cautious_leader
}
}
}
# Ensure that this effect stays up-to-date with all commander traits in 00_traits.txt
select_ct_for_teacher_to_teach_student_effect = {
random_list = {
1 = {
trigger = {
$TEACHER$ = { has_trait = logistician }
$STUDENT$ = { NOT = { has_trait = logistician } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:logistician
}
}
}
1 = {
trigger = {
$TEACHER$ = { has_trait = military_engineer }
$STUDENT$ = { NOT = { has_trait = military_engineer } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:military_engineer
}
}
}
1 = {
trigger = {
$TEACHER$ = { has_trait = aggressive_attacker }
$STUDENT$ = { NOT = { has_trait = aggressive_attacker } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:aggressive_attacker
}
}
}
1 = {
trigger = {
$TEACHER$ = { has_trait = unyielding_defender }
$STUDENT$ = { NOT = { has_trait = unyielding_defender } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:unyielding_defender
}
}
}
1 = {
trigger = {
$TEACHER$ = { has_trait = forder }
$STUDENT$ = { NOT = { has_trait = forder } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:forder
}
}
}
1 = {
trigger = {
$TEACHER$ = { has_trait = flexible_leader }
$STUDENT$ = { NOT = { has_trait = flexible_leader } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:flexible_leader
}
}
}
1 = {
trigger = {
$TEACHER$ = { has_trait = desert_warrior }
$STUDENT$ = { NOT = { has_trait = desert_warrior } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:desert_warrior
}
}
}
1 = {
trigger = {
$TEACHER$ = { has_trait = jungle_stalker }
$STUDENT$ = { NOT = { has_trait = jungle_stalker } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:jungle_stalker
}
}
}
1 = {
trigger = {
$TEACHER$ = { has_trait = winter_soldier }
$STUDENT$ = { NOT = { has_trait = winter_soldier } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:winter_soldier
}
}
}
1 = {
trigger = {
$TEACHER$ = { has_trait = reaver }
$STUDENT$ = { NOT = { has_trait = reaver } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:reaver
}
}
}
1 = {
trigger = {
$TEACHER$ = { has_trait = reckless }
$STUDENT$ = { NOT = { has_trait = reckless } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:reckless
}
}
}
1 = {
trigger = {
$TEACHER$ = { has_trait = holy_warrior }
$STUDENT$ = { NOT = { has_trait = holy_warrior } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:holy_warrior
}
}
}
1 = {
trigger = {
$TEACHER$ = { has_trait = open_terrain_expert }
$STUDENT$ = { NOT = { has_trait = open_terrain_expert } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:open_terrain_expert
}
}
}
1 = {
trigger = {
$TEACHER$ = { has_trait = rough_terrain_expert }
$STUDENT$ = { NOT = { has_trait = rough_terrain_expert } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:rough_terrain_expert
}
}
}
1 = {
trigger = {
$TEACHER$ = { has_trait = forest_fighter }
$STUDENT$ = { NOT = { has_trait = forest_fighter } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:forest_fighter
}
}
}
1 = {
trigger = {
$TEACHER$ = { has_trait = cautious_leader }
$STUDENT$ = { NOT = { has_trait = cautious_leader } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:cautious_leader
}
}
}
1 = {
trigger = {
$TEACHER$ = { has_trait = organizer }
$STUDENT$ = { NOT = { has_trait = organizer } }
}
$STUDENT$ = {
set_variable = {
name = commander_trait_being_taught
value = flag:organizer
}
}
}
}
}
discover_new_commander_trait_to_teach = {
random_list = {
1 = {
trigger = { NOT = { has_trait = logistician } }
set_variable = {
name = commander_trait_being_taught
value = flag:logistician
}
}
1 = {
trigger = { NOT = { has_trait = military_engineer } }
set_variable = {
name = commander_trait_being_taught
value = flag:military_engineer
}
}
1 = {
trigger = { NOT = { has_trait = aggressive_attacker } }
set_variable = {
name = commander_trait_being_taught
value = flag:aggressive_attacker
}
}
1 = {
trigger = { NOT = { has_trait = unyielding_defender } }
set_variable = {
name = commander_trait_being_taught
value = flag:unyielding_defender
}
}
1 = {
trigger = { NOT = { has_trait = forder } }
set_variable = {
name = commander_trait_being_taught
value = flag:forder
}
}
1 = {
trigger = { NOT = { has_trait = flexible_leader } }
set_variable = {
name = commander_trait_being_taught
value = flag:flexible_leader
}
}
1 = {
trigger = {
exists = scope:teacher.location
scope:teacher.location = {
OR = {
terrain = oasis
terrain = desert
terrain = desert_mountains
}
}
NOT = { has_trait = desert_warrior }
}
set_variable = {
name = commander_trait_being_taught
value = flag:desert_warrior
}
}
1 = {
trigger = {
exists = scope:teacher.location
scope:teacher.location = {
terrain = jungle
}
NOT = { has_trait = jungle_stalker }
}
set_variable = {
name = commander_trait_being_taught
value = flag:jungle_stalker
}
}
1 = {
trigger = {
exists = scope:teacher.location
scope:teacher.location = {
OR = {
terrain = taiga
geographical_region = world_tibet
geographical_region = world_europe_north
geographical_region = world_europe_east
geographical_region = world_steppe
}
}
NOT = { has_trait = winter_soldier }
}
set_variable = {
name = commander_trait_being_taught
value = flag:winter_soldier
}
}
1 = {
trigger = { NOT = { has_trait = reaver } }
set_variable = {
name = commander_trait_being_taught
value = flag:reaver
}
}
1 = {
trigger = { NOT = { has_trait = reckless } }
set_variable = {
name = commander_trait_being_taught
value = flag:reckless
}
}
1 = {
trigger = { NOT = { has_trait = holy_warrior } }
set_variable = {
name = commander_trait_being_taught
value = flag:holy_warrior
}
}
1 = {
trigger = { NOT = { has_trait = open_terrain_expert } }
set_variable = {
name = commander_trait_being_taught
value = flag:open_terrain_expert
}
}
1 = {
trigger = { NOT = { has_trait = rough_terrain_expert } }
set_variable = {
name = commander_trait_being_taught
value = flag:rough_terrain_expert
}
}
1 = {
trigger = {
exists = scope:teacher.location
scope:teacher.location = {
OR = {
terrain = forest
terrain = taiga
}
}
NOT = { has_trait = forest_fighter }
}
set_variable = {
name = commander_trait_being_taught
value = flag:forest_fighter
}
}
1 = {
trigger = { NOT = { has_trait = cautious_leader } }
set_variable = {
name = commander_trait_being_taught
value = flag:cautious_leader
}
}
1 = {
trigger = { NOT = { has_trait = organizer } }
set_variable = {
name = commander_trait_being_taught
value = flag:organizer
}
}
}
}
randomize_commander_trait_to_be_taught_effect = {
random_list = {
100 = {
trigger = {
NOT = { has_trait = logistician }
scope:teacher = {
has_trait = logistician
}
}
set_variable = {
name = commander_trait_being_taught
value = flag:logistician
}
}
100 = {
trigger = {
NOT = { has_trait = military_engineer }
scope:teacher = {
has_trait = military_engineer
}
}
set_variable = {
name = commander_trait_being_taught
value = flag:military_engineer
}
}
100 = {
trigger = {
NOT = { has_trait = aggressive_attacker }
scope:teacher = {
has_trait = aggressive_attacker
}
}
set_variable = {
name = commander_trait_being_taught
value = flag:aggressive_attacker
}
}
100 = {
trigger = {
NOT = { has_trait = unyielding_defender }
scope:teacher = {
has_trait = unyielding_defender
}
}
set_variable = {
name = commander_trait_being_taught
value = flag:unyielding_defender
}
}
100 = {
trigger = {
NOT = { has_trait = forder }
scope:teacher = {
has_trait = forder
}
}
set_variable = {
name = commander_trait_being_taught
value = flag:forder
}
}
100 = {
trigger = {
NOT = { has_trait = flexible_leader }
scope:teacher = {
has_trait = flexible_leader
}
}
set_variable = {
name = commander_trait_being_taught
value = flag:flexible_leader
}
}
100 = {
trigger = {
NOT = { has_trait = desert_warrior }
scope:teacher = {
has_trait = desert_warrior
}
}
set_variable = {
name = commander_trait_being_taught
value = flag:desert_warrior
}
}
100 = {
trigger = {
NOT = { has_trait = jungle_stalker }
scope:teacher = {
has_trait = jungle_stalker
}
}
set_variable = {
name = commander_trait_being_taught
value = flag:jungle_stalker
}
}
100 = {
trigger = {
NOT = { has_trait = winter_soldier }
scope:teacher = {
has_trait = winter_soldier
}
}
set_variable = {
name = commander_trait_being_taught
value = flag:winter_soldier
}
}
100 = {
trigger = {
NOT = { has_trait = reaver }
scope:teacher = {
has_trait = reaver
}
}
set_variable = {
name = commander_trait_being_taught
value = flag:reaver
}
}
100 = {
trigger = {
NOT = { has_trait = reckless }
scope:teacher = {
has_trait = reckless
}
}
set_variable = {
name = commander_trait_being_taught
value = flag:reckless
}
}
100 = {
trigger = {
NOT = { has_trait = holy_warrior }
scope:teacher = {
has_trait = holy_warrior
}
}
set_variable = {
name = commander_trait_being_taught
value = flag:holy_warrior
}
}
}
if = { #Fallback
limit = {
NOT = { exists = var:commander_trait_being_taught }
}
set_variable = {
name = commander_trait_being_taught
value = flag:flexible_leader
}
}
}
commander_trait_teaching_setup_effect = {
hidden_effect = {
trigger_event = {
on_action = learn_commander_trait_test
days = { 200 730 }
}
}
if = {
limit = { NOT = {has_relation_mentor = scope:teacher } }
set_relation_mentor = scope:teacher
}
else = {
save_scope_value_as = {
name = long_term_mentor
value = yes
}
}
}
giving_up_on_commander_trait_training_effect = {
custom_tooltip = learn_commander_trait.giving_up_tt
if = {
limit = {
scope:teacher = { is_alive = yes }
}
scope:teacher = {
add_opinion = {
target = root
modifier = gave_up_on_learn_commander_trait_opinion
}
}
}
if = {
limit = {
NOT = { exists = scope:long_term_mentor }
has_relation_mentor = scope:teacher
}
remove_relation_mentor = scope:teacher
}
remove_character_flag = being_taught_commander_trait
remove_variable = commander_trait_being_taught
}
learn_commander_trait_success_effect = {
remove_character_flag = being_taught_commander_trait
if = {
limit = {
has_relation_mentor = scope:teacher
NOT = { exists = scope:long_term_mentor }
scope:teacher = {
is_alive = yes
}
}
remove_relation_mentor = scope:teacher
}
if = {
limit = {
scope:teacher = {
is_alive = yes
}
}
hidden_effect = {
add_opinion = {
target = scope:teacher
modifier = taught_me_commander_trait_opinion
}
}
}
if = {
limit = { var:commander_trait_being_taught = flag:logistician }
add_trait = logistician
}
else_if = {
limit = { var:commander_trait_being_taught = flag:military_engineer }
add_trait = military_engineer
}
else_if = {
limit = { var:commander_trait_being_taught = flag:aggressive_attacker }
add_trait = aggressive_attacker
}
else_if = {
limit = { var:commander_trait_being_taught = flag:unyielding_defender }
add_trait = unyielding_defender
}
else_if = {
limit = { var:commander_trait_being_taught = flag:forder }
add_trait = forder
}
else_if = {
limit = { var:commander_trait_being_taught = flag:flexible_leader }
add_trait = flexible_leader
}
else_if = {
limit = { var:commander_trait_being_taught = flag:desert_warrior }
add_trait = desert_warrior
}
else_if = {
limit = { var:commander_trait_being_taught = flag:jungle_stalker }
add_trait = jungle_stalker
}
else_if = {
limit = { var:commander_trait_being_taught = flag:winter_soldier }
add_trait = winter_soldier
}
else_if = {
limit = { var:commander_trait_being_taught = flag:reaver }
add_trait = reaver
}
else_if = {
limit = { var:commander_trait_being_taught = flag:reckless }
add_trait = reckless
}
else_if = {
limit = { var:commander_trait_being_taught = flag:holy_warrior }
add_trait = holy_warrior
}
else_if = {
limit = { var:commander_trait_being_taught = flag:open_terrain_expert }
add_trait = open_terrain_expert
}
else_if = {
limit = { var:commander_trait_being_taught = flag:rough_terrain_expert }
add_trait = rough_terrain_expert
}
else_if = {
limit = { var:commander_trait_being_taught = flag:forest_fighter }
add_trait = forest_fighter
}
else_if = {
limit = { var:commander_trait_being_taught = flag:cautious_leader }
add_trait = cautious_leader
}
else_if = {
limit = { var:commander_trait_being_taught = flag:organizer }
add_trait = organizer
}
}
learn_commander_trait_final_test_duel_effect = {
duel = {
skill = martial
value = 10
10 = {
compare_modifier = {
value = scope:duel_value
}
desc = learn_commander_trait_final_test_success
custom_tooltip = learn_commander_trait_final_test_success_tt
trigger_event = {
on_action = learn_commander_trait_success
days = 1
}
}
10 = {
desc = learn_commander_trait_final_test_failure
custom_tooltip = learn_commander_trait_final_test_failure_tt
trigger_event = {
on_action = learn_commander_trait_failure
days = 1
}
}
}
}
martial_authority_special_1100_a_failure_effect = {
add_character_modifier = {
modifier = fought_a_seasoned_warrior
days = 3650
}
random = {
chance = 33
increase_wounds_effect = { REASON = training_accident }
}
}
martial_authority_special_1100_soldier_friend_effects_effect = {
hidden_effect = {
set_relation_soldier_friend = scope:soldier_friend
set_relation_potential_friend = scope:soldier_friend
}
reverse_add_opinion = {
target = scope:soldier_friend
modifier = grateful_opinion
opinion = 15
}
add_hook = {
type = loyalty_hook
target = scope:soldier_friend
}
add_courtier = scope:soldier_friend
}