This commit is contained in:
Heidesommer 2026-05-25 07:54:55 -04:00
parent 26b04f6db4
commit c6eb868ef4
116 changed files with 69758 additions and 26333 deletions

View file

@ -2337,67 +2337,67 @@ grant_independence_interaction = {
resolve_title_and_vassal_change = scope:change
}
# Struggle Catalysts.
scope:actor = {
if = {
limit = {
catalyst_gave_independence_to_powerful_diff_faith_culture_vassal_preliminary_trigger = {
CHAR1 = scope:actor
CHAR2 = scope:recipient
}
any_character_struggle = {
involvement = involved
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
CATALYST = catalyst_gave_independence_to_powerful_diff_faith_culture_vassal
CHAR = scope:recipient
}
}
}
every_character_struggle = {
involvement = involved
limit = {
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
CATALYST = catalyst_gave_independence_to_powerful_diff_faith_culture_vassal
CHAR = scope:recipient
}
}
activate_struggle_catalyst = {
catalyst = catalyst_gave_independence_to_powerful_diff_faith_culture_vassal
character = scope:actor
}
}
}
if = {
limit = {
NOT = {
any_held_title = {
is_de_jure_liege_or_above_target = scope:recipient.primary_title
}
}
any_character_struggle = {
involvement = involved
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
CATALYST = catalyst_independence_from_non_dejure_vassal
CHAR = scope:recipient
}
}
}
every_character_struggle = {
involvement = involved
limit = {
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
CATALYST = catalyst_independence_from_non_dejure_vassal
CHAR = scope:recipient
}
}
activate_struggle_catalyst = {
catalyst = catalyst_independence_from_non_dejure_vassal
character = scope:actor
}
}
}
}
# # Struggle Catalysts.
# scope:actor = {
# if = {
# limit = {
# catalyst_gave_independence_to_powerful_diff_faith_culture_vassal_preliminary_trigger = {
# CHAR1 = scope:actor
# CHAR2 = scope:recipient
# }
# any_character_struggle = {
# involvement = involved
# activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
# CATALYST = catalyst_gave_independence_to_powerful_diff_faith_culture_vassal
# CHAR = scope:recipient
# }
# }
# }
# every_character_struggle = {
# involvement = involved
# limit = {
# activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
# CATALYST = catalyst_gave_independence_to_powerful_diff_faith_culture_vassal
# CHAR = scope:recipient
# }
# }
# activate_struggle_catalyst = {
# catalyst = catalyst_gave_independence_to_powerful_diff_faith_culture_vassal
# character = scope:actor
# }
# }
# }
#
# if = {
# limit = {
# NOT = {
# any_held_title = {
# is_de_jure_liege_or_above_target = scope:recipient.primary_title
# }
# }
# any_character_struggle = {
# involvement = involved
# activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
# CATALYST = catalyst_independence_from_non_dejure_vassal
# CHAR = scope:recipient
# }
# }
# }
# every_character_struggle = {
# involvement = involved
# limit = {
# activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
# CATALYST = catalyst_independence_from_non_dejure_vassal
# CHAR = scope:recipient
# }
# }
# activate_struggle_catalyst = {
# catalyst = catalyst_independence_from_non_dejure_vassal
# character = scope:actor
# }
# }
# }
# }
# Grant independence to non de_jure
@ -2519,49 +2519,49 @@ expose_secret_interaction = {
expose_secret = scope:actor
}
}
if = {
limit = {
has_title = title:e_minister_of_justice
top_participant_group:dynastic_cycle ?= {
NOT = { participant_group_type = other_rulers }
}
OR = {
scope:recipient = {
top_participant_group:dynastic_cycle ?= {
NOT = { participant_group_type = other_rulers }
}
}
scope:target.secret_target = {
top_participant_group:dynastic_cycle ?= {
NOT = { participant_group_type = other_rulers }
}
}
}
}
add_merit_if_relevant_effect = {
MERIT = minor_merit_value
}
if = {
limit = {
government_has_flag = government_has_influence
}
change_influence = {
value = minor_influence_gain
multiply = scope:recipient.highest_held_title_tier
}
}
situation:dynastic_cycle = {
if = {
limit = {
situation_top_has_catalyst = catalyst_minister_exposed_secret
}
trigger_situation_catalyst = {
catalyst = catalyst_minister_exposed_secret
character = scope:actor
}
}
}
}
# if = {
# limit = {
# has_title = title:e_minister_of_justice
# top_participant_group:dynastic_cycle ?= {
# NOT = { participant_group_type = other_rulers }
# }
# OR = {
# scope:recipient = {
# top_participant_group:dynastic_cycle ?= {
# NOT = { participant_group_type = other_rulers }
# }
# }
# scope:target.secret_target = {
# top_participant_group:dynastic_cycle ?= {
# NOT = { participant_group_type = other_rulers }
# }
# }
# }
# }
# add_merit_if_relevant_effect = {
# MERIT = minor_merit_value
# }
# if = {
# limit = {
# government_has_flag = government_has_influence
# }
# change_influence = {
# value = minor_influence_gain
# multiply = scope:recipient.highest_held_title_tier
# }
# }
# situation:dynastic_cycle = {
# if = {
# limit = {
# situation_top_has_catalyst = catalyst_minister_exposed_secret
# }
# trigger_situation_catalyst = {
# catalyst = catalyst_minister_exposed_secret
# character = scope:actor
# }
# }
# }
# }
stress_impact = {
honest = minor_stress_impact_loss
@ -2668,43 +2668,43 @@ expose_secret_interaction = {
}
}
}
modifier = {
scope:recipient = {
any_character_struggle = {
involvement = involved
}
has_trait = fp3_struggle_detractor
}
scope:actor = {
any_character_struggle = {
involvement = involved
}
}
add = {
value = 0
if = {
limit = {
scope:actor = {
any_character_struggle = {
phase_has_catalyst = catalyst_reveal_secret_detractor
}
has_trait = fp3_struggle_supporter
}
}
add = 200
}
else_if = {
limit = {
scope:actor = {
any_character_struggle = {
phase_has_catalyst = catalyst_reveal_secret_detractor
}
}
}
add = -100
}
}
}
# modifier = {
# scope:recipient = {
# any_character_struggle = {
# involvement = involved
# }
# has_trait = fp3_struggle_detractor
# }
# scope:actor = {
# any_character_struggle = {
# involvement = involved
# }
# }
# add = {
# value = 0
# if = {
# limit = {
# scope:actor = {
# any_character_struggle = {
# phase_has_catalyst = catalyst_reveal_secret_detractor
# }
# has_trait = fp3_struggle_supporter
# }
# }
# add = 200
# }
# else_if = {
# limit = {
# scope:actor = {
# any_character_struggle = {
# phase_has_catalyst = catalyst_reveal_secret_detractor
# }
# }
# }
# add = -100
# }
# }
# }
# Unity modifiers
evaluate_action_decreasing_house_unity = {

File diff suppressed because it is too large Load diff

View file

@ -2047,75 +2047,75 @@ diarch_imprison_interaction = {
}
## We avoid wars here too, but only in the resulting event.
## Agenda impact
modifier = {
add = {
value = 0
if = {
limit = {
scope:actor = {
any_character_struggle = { phase_has_catalyst = catalyst_imprison_important }
has_character_flag = agenda_towards_escalation
}
}
add = 200
}
else_if = {
limit = {
scope:actor = {
any_character_struggle = { phase_has_catalyst = catalyst_imprison_important }
}
}
add = -100
}
}
any_character_struggle = { involvement = involved }
}
modifier = {
add = {
value = 0
if = {
limit = {
scope:actor = {
any_character_struggle = { phase_has_catalyst = catalyst_imprison_detractor }
has_trait = fp3_struggle_supporter
}
}
add = 200
}
else_if = {
limit = {
scope:actor = {
any_character_struggle = { phase_has_catalyst = catalyst_imprison_detractor }
}
}
add = -100
}
}
any_character_struggle = { involvement = involved }
}
modifier = {
add = {
value = 0
if = {
limit = {
scope:actor = {
any_character_struggle = { phase_has_catalyst = catalyst_imprison_supporter }
has_trait = fp3_struggle_detractor
}
}
add = 200
}
else_if = {
limit = {
scope:actor = {
any_character_struggle = { phase_has_catalyst = catalyst_imprison_supporter }
}
}
add = -100
}
}
any_character_struggle = { involvement = involved }
}
# modifier = {
# add = {
# value = 0
# if = {
# limit = {
# scope:actor = {
# any_character_struggle = { phase_has_catalyst = catalyst_imprison_important }
# has_character_flag = agenda_towards_escalation
# }
# }
# add = 200
# }
# else_if = {
# limit = {
# scope:actor = {
# any_character_struggle = { phase_has_catalyst = catalyst_imprison_important }
# }
# }
# add = -100
# }
# }
# any_character_struggle = { involvement = involved }
# }
# modifier = {
# add = {
# value = 0
# if = {
# limit = {
# scope:actor = {
# any_character_struggle = { phase_has_catalyst = catalyst_imprison_detractor }
# has_trait = fp3_struggle_supporter
# }
# }
# add = 200
# }
# else_if = {
# limit = {
# scope:actor = {
# any_character_struggle = { phase_has_catalyst = catalyst_imprison_detractor }
# }
# }
# add = -100
# }
# }
# any_character_struggle = { involvement = involved }
# }
# modifier = {
# add = {
# value = 0
# if = {
# limit = {
# scope:actor = {
# any_character_struggle = { phase_has_catalyst = catalyst_imprison_supporter }
# has_trait = fp3_struggle_detractor
# }
# }
# add = 200
# }
# else_if = {
# limit = {
# scope:actor = {
# any_character_struggle = { phase_has_catalyst = catalyst_imprison_supporter }
# }
# }
# add = -100
# }
# }
# any_character_struggle = { involvement = involved }
# }
# Factors.
## Relationships.
### + Do pick on people we hate.

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,169 @@
#Interactions relating to factions
force_join_faction_interaction = {
category = interaction_category_vassal
special_interaction = force_join_faction
desc = force_join_faction_interaction_desc
icon = scroll_scales
force_notification = yes
greeting = positive
notification_text = FORCE_JOIN_FACTION_NOTIFICATION
is_shown = {
scope:actor = {
is_a_faction_member = yes
liege = scope:recipient.liege
NOR = {
joined_faction = scope:recipient.joined_faction
scope:recipient = scope:actor.liege
}
}
}
is_valid_showing_failures_only = {
scope:actor = {
trigger_if = {
limit = { government_allows = administrative }
custom_tooltip = {
text = force_join_faction_admin_requirement_desc
OR = {
has_strong_usable_hook = scope:recipient
AND = {
influence >= { value = scope:actor.monumental_influence_value multiply = 2 }
scope:recipient ?= {
NOT = { opinion = { target = scope:actor value <= -50 } }
NOT = { opinion = { target = scope:recipient.liege value >= 50 } }
}
}
}
}
}
trigger_else = {
has_strong_usable_hook = scope:recipient # Make sure to update the NFaction::POTENTIAL_FORCE_JOIN_HOOK_TYPE define if you change the type of hook used here
}
NOT = { is_at_war_with = scope:recipient }
}
scope:recipient = {
trigger_if = {
limit = { is_a_faction_member = yes }
joined_faction.faction_leader ?= { is_ai = yes }
}
is_forced_into_faction = no
can_join_faction = scope:actor.joined_faction
}
custom_description = {
text = barons_joining_independence_factions
NAND = {
scope:actor.joined_faction = { faction_is_type = independence_faction }
scope:recipient.highest_held_title_tier = tier_barony
}
}
}
on_accept = {
scope:actor = {
send_interface_message = {
type = event_faction_neutral
title = force_join_faction_interaction_notification
right_icon = scope:recipient
if = {
limit = { scope:hook = yes }
use_hook = scope:recipient
}
else_if = {
limit = { scope:influence = yes }
change_influence = {
value = monumental_influence_value
multiply = -2
}
}
scope:recipient = {
join_faction_forced = {
faction = scope:actor.joined_faction
forced_by = scope:actor
years = 10
}
}
}
}
# If we're a clan this interaction affects unity
add_clan_unity_interaction_effect = {
CHARACTER = scope:actor
TARGET = scope:recipient
VALUE = medium_unity_loss
DESC = clan_unity_forced_faction_joinage.desc
REVERSE_NON_HOUSE_TARGET = no
}
}
auto_accept = yes
#Use hook
send_option = {
is_valid = {
exists = scope:recipient
scope:actor ?= { has_strong_usable_hook = scope:recipient }
}
flag = hook
localization = GENERIC_SPEND_A_HOOK
}
#Spend influence
send_option = {
is_shown = {
scope:actor = { government_allows = administrative }
scope:actor.top_liege ?= { government_allows = administrative }
}
is_valid = { # Convincing someone with influence is not available if they hate you or love the liege
scope:actor ?= { influence >= { value = scope:actor.monumental_influence_value multiply = 2 } }
scope:recipient ?= {
NOT = { opinion = { target = scope:actor value <= -50 } }
NOT = { opinion = { target = scope:recipient.liege value >= 50 } }
}
}
flag = influence
localization = SPEND_INFLUENCE
}
send_options_exclusive = yes
# AI
ai_targets = {
ai_recipients = peer_vassals
}
ai_frequency_by_tier = {
barony = 0
county = 24
duchy = 12
kingdom = 12
empire = 12
hegemony = 0
}
ai_potential = {
top_liege != this
is_a_faction_member = yes
# Only force others to join a faction if you joined by your own free will
is_forced_into_faction = no
}
ai_will_do = {
base = 100
# Don't steal players' factions' members
modifier = {
factor = 0
scope:recipient = {
is_a_faction_member = yes
joined_faction = {
faction_leader = {
is_ai = no
}
}
}
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,46 @@
#Break up with your Lover
break_up_with_lover_interaction = {
category = interaction_category_hostile
use_diplomatic_range = no
icon = lover
desc = break_up_with_lover_interaction_desc
is_shown = {
scope:actor = {
has_relation_lover = scope:recipient
}
}
is_valid_showing_failures_only = {
}
on_accept = {
scope:actor = {
send_interface_message = {
type = event_sway_neutral
title = break_up_with_lover_interaction_notification
right_icon = scope:recipient
lover_breakup_effect = {
BREAKER = scope:actor
LOVER = scope:recipient
}
stress_impact = {
lustful = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
}
}
}
# If we're a clan this interaction affects unity
add_clan_unity_interaction_effect = {
CHARACTER = scope:actor
TARGET = scope:recipient
VALUE = miniscule_unity_loss
DESC = clan_unity_dramatic_breakup.desc
REVERSE_NON_HOUSE_TARGET = no
}
}
auto_accept = yes
}

View file

@ -403,34 +403,34 @@
}
}
# Harrying logic.
scope:actor = {
if = {
limit = {
character_is_valid_for_harrying_of_the_north_trigger = yes
scope:recipient = {
character_is_valid_for_harrying_of_the_north_trigger = yes
is_important_or_vip_struggle_character = yes
}
culture != scope:recipient.culture
}
global_var:harrying_of_the_north = { save_scope_as = story }
if = {
limit = {
character_is_valid_norman_for_harrying_of_the_north_trigger = yes
scope:recipient = { character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes }
}
ep3_increase_pacification_effect = { AMOUNT = harrying_minor_increase_value }
}
else_if = {
limit = {
character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes
scope:recipient = { character_is_valid_norman_for_harrying_of_the_north_trigger = yes }
}
ep3_increase_resistance_effect = { AMOUNT = harrying_minor_increase_value }
}
}
}
# # Harrying logic.
# scope:actor = {
# if = {
# limit = {
# character_is_valid_for_harrying_of_the_north_trigger = yes
# scope:recipient = {
# character_is_valid_for_harrying_of_the_north_trigger = yes
# is_important_or_vip_struggle_character = yes
# }
# culture != scope:recipient.culture
# }
# global_var:harrying_of_the_north = { save_scope_as = story }
# if = {
# limit = {
# character_is_valid_norman_for_harrying_of_the_north_trigger = yes
# scope:recipient = { character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes }
# }
# ep3_increase_pacification_effect = { AMOUNT = harrying_minor_increase_value }
# }
# else_if = {
# limit = {
# character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes
# scope:recipient = { character_is_valid_norman_for_harrying_of_the_north_trigger = yes }
# }
# ep3_increase_resistance_effect = { AMOUNT = harrying_minor_increase_value }
# }
# }
# }
}
on_decline = {
@ -6491,38 +6491,38 @@ execute_prisoner_interaction = {
add = 30
}
modifier = {
scope:recipient = {
any_character_struggle = {
involvement = involved
}
has_trait = fp3_struggle_detractor
}
add = {
value = 0
if = {
limit = {
scope:actor = {
any_character_struggle = {
phase_has_catalyst = catalyst_execute_detractor
}
has_trait = fp3_struggle_supporter
}
}
add = 200
}
else_if = {
limit = {
scope:actor = {
any_character_struggle = {
phase_has_catalyst = catalyst_execute_detractor
}
}
}
add = -100
}
}
}
# modifier = {
# scope:recipient = {
# any_character_struggle = {
# involvement = involved
# }
# has_trait = fp3_struggle_detractor
# }
# add = {
# value = 0
# if = {
# limit = {
# scope:actor = {
# any_character_struggle = {
# phase_has_catalyst = catalyst_execute_detractor
# }
# has_trait = fp3_struggle_supporter
# }
# }
# add = 200
# }
# else_if = {
# limit = {
# scope:actor = {
# any_character_struggle = {
# phase_has_catalyst = catalyst_execute_detractor
# }
# }
# }
# add = -100
# }
# }
# }
modifier = {
add = 200
scope:actor.faith = {
@ -6882,65 +6882,65 @@ execute_prisoner_interaction = {
}
}
}
if = { # Execute Supporter/Detractor
limit = {
fp3_struggle_involves_one_supporter_and_one_detractor = {
FIRST = scope:actor
SECOND = scope:recipient
}
}
if = {
limit = {
scope:recipient = { has_trait = fp3_struggle_detractor }
struggle:persian_struggle = {
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
CATALYST = catalyst_execute_detractor
CHAR = scope:recipient
}
}
}
every_character_struggle = {
involvement = involved
limit = {
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
CATALYST = catalyst_execute_detractor
CHAR = scope:recipient
}
}
activate_struggle_catalyst = {
catalyst = catalyst_execute_detractor
character = scope:actor
}
log_debug_variable_for_persian_struggle_effect = { VAR = stabil_catalyst_execute_detractor }
}
}
else_if = {
limit = {
scope:recipient = { has_trait = fp3_struggle_supporter }
any_character_struggle = {
involvement = involved
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
CATALYST = catalyst_execute_supporter
CHAR = scope:recipient
}
}
}
every_character_struggle = {
involvement = involved
limit = {
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
CATALYST = catalyst_execute_supporter
CHAR = scope:recipient
}
}
activate_struggle_catalyst = {
catalyst = catalyst_execute_supporter
character = scope:actor
}
log_debug_variable_for_persian_struggle_effect = { VAR = unrest_catalyst_execute_supporter }
}
}
}
# if = { # Execute Supporter/Detractor
# limit = {
# fp3_struggle_involves_one_supporter_and_one_detractor = {
# FIRST = scope:actor
# SECOND = scope:recipient
# }
# }
# if = {
# limit = {
# scope:recipient = { has_trait = fp3_struggle_detractor }
# struggle:persian_struggle = {
# activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
# CATALYST = catalyst_execute_detractor
# CHAR = scope:recipient
# }
# }
# }
# every_character_struggle = {
# involvement = involved
# limit = {
# activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
# CATALYST = catalyst_execute_detractor
# CHAR = scope:recipient
# }
# }
# activate_struggle_catalyst = {
# catalyst = catalyst_execute_detractor
# character = scope:actor
# }
# log_debug_variable_for_persian_struggle_effect = { VAR = stabil_catalyst_execute_detractor }
# }
# }
# else_if = {
# limit = {
# scope:recipient = { has_trait = fp3_struggle_supporter }
# any_character_struggle = {
# involvement = involved
# activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
# CATALYST = catalyst_execute_supporter
# CHAR = scope:recipient
# }
# }
# }
# every_character_struggle = {
# involvement = involved
# limit = {
# activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
# CATALYST = catalyst_execute_supporter
# CHAR = scope:recipient
# }
# }
# activate_struggle_catalyst = {
# catalyst = catalyst_execute_supporter
# character = scope:actor
# }
# log_debug_variable_for_persian_struggle_effect = { VAR = unrest_catalyst_execute_supporter }
# }
# }
# }
# Free House Member CB target executed during war
if = {
limit = {

View file

@ -529,34 +529,34 @@
scope:actor = { remove_character_flag = flag_hostile_actions_disabled_delay }
}
# Harrying logic.
scope:actor = {
if = {
limit = {
character_is_valid_for_harrying_of_the_north_trigger = yes
scope:recipient = {
character_is_valid_for_harrying_of_the_north_trigger = yes
is_important_or_vip_struggle_character = yes
}
culture != scope:recipient.culture
}
global_var:harrying_of_the_north = { save_scope_as = story }
if = {
limit = {
character_is_valid_norman_for_harrying_of_the_north_trigger = yes
scope:recipient = { character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes }
}
ep3_increase_pacification_effect = { AMOUNT = harrying_minor_increase_value }
}
else_if = {
limit = {
character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes
scope:recipient = { character_is_valid_norman_for_harrying_of_the_north_trigger = yes }
}
ep3_increase_resistance_effect = { AMOUNT = harrying_minor_increase_value }
}
}
}
# # Harrying logic.
# scope:actor = {
# if = {
# limit = {
# character_is_valid_for_harrying_of_the_north_trigger = yes
# scope:recipient = {
# character_is_valid_for_harrying_of_the_north_trigger = yes
# is_important_or_vip_struggle_character = yes
# }
# culture != scope:recipient.culture
# }
# global_var:harrying_of_the_north = { save_scope_as = story }
# if = {
# limit = {
# character_is_valid_norman_for_harrying_of_the_north_trigger = yes
# scope:recipient = { character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes }
# }
# ep3_increase_pacification_effect = { AMOUNT = harrying_minor_increase_value }
# }
# else_if = {
# limit = {
# character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes
# scope:recipient = { character_is_valid_norman_for_harrying_of_the_north_trigger = yes }
# }
# ep3_increase_resistance_effect = { AMOUNT = harrying_minor_increase_value }
# }
# }
# }
}
on_decline = {
@ -715,33 +715,33 @@
}
# Harrying logic.
scope:actor = {
if = {
limit = {
character_is_valid_for_harrying_of_the_north_trigger = yes
scope:recipient = {
character_is_valid_for_harrying_of_the_north_trigger = yes
is_important_or_vip_struggle_character = yes
}
culture != scope:recipient.culture
}
global_var:harrying_of_the_north = { save_scope_as = story }
if = {
limit = {
character_is_valid_norman_for_harrying_of_the_north_trigger = yes
scope:recipient = { character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes }
}
ep3_increase_resistance_effect = { AMOUNT = harrying_minor_increase_value }
}
else_if = {
limit = {
character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes
scope:recipient = { character_is_valid_norman_for_harrying_of_the_north_trigger = yes }
}
ep3_increase_pacification_effect = { AMOUNT = harrying_minor_increase_value }
}
}
}
# scope:actor = {
# if = {
# limit = {
# character_is_valid_for_harrying_of_the_north_trigger = yes
# scope:recipient = {
# character_is_valid_for_harrying_of_the_north_trigger = yes
# is_important_or_vip_struggle_character = yes
# }
# culture != scope:recipient.culture
# }
# global_var:harrying_of_the_north = { save_scope_as = story }
# if = {
# limit = {
# character_is_valid_norman_for_harrying_of_the_north_trigger = yes
# scope:recipient = { character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes }
# }
# ep3_increase_resistance_effect = { AMOUNT = harrying_minor_increase_value }
# }
# else_if = {
# limit = {
# character_is_valid_anglo_saxon_for_harrying_of_the_north_trigger = yes
# scope:recipient = { character_is_valid_norman_for_harrying_of_the_north_trigger = yes }
# }
# ep3_increase_pacification_effect = { AMOUNT = harrying_minor_increase_value }
# }
# }
# }
if = {
limit = {
@ -1135,11 +1135,11 @@
is_imprisoned_by = scope:actor
}
}
scope:actor = { # The HRE doesn't need endless civil wars
NOT = {
primary_title = title:e_hre
}
}
# scope:actor = { # The HRE doesn't need endless civil wars
# NOT = {
# primary_title = title:e_hre
# }
# }
exists = scope:actor.primary_title.title_capital_county
OR = {
scope:landed_title = scope:actor.primary_title.title_capital_county
@ -1176,11 +1176,11 @@
is_imprisoned_by = scope:actor
}
}
scope:actor = { # The HRE doesn't need endless civil wars
NOT = {
primary_title = title:e_hre
}
}
# scope:actor = { # The HRE doesn't need endless civil wars
# NOT = {
# primary_title = title:e_hre
# }
# }
scope:actor.domain_size < scope:actor.domain_limit
scope:actor.primary_title.tier > tier_county
trigger_if = {

View file

@ -40,11 +40,7 @@ become_tributary_interaction = {
text = become_tributary_interaction_hegemony_not_neighbor_tt
scope:actor = {
OR = {
is_tributary_or_independent_neighbor_of_hegemon_trigger = { HEGEMON = h_china }
is_tributary_or_independent_neighbor_of_hegemon_trigger = { HEGEMON = h_roman_empire }
is_tributary_or_independent_neighbor_of_hegemon_trigger = { HEGEMON = h_eastern_roman_empire }
is_tributary_or_independent_neighbor_of_hegemon_trigger = { HEGEMON = h_dar_al_islam }
is_tributary_or_independent_neighbor_of_hegemon_trigger = { HEGEMON = h_india }
is_tributary_or_independent_neighbor_of_hegemon_trigger = { HEGEMON = h_europa }
}
}
}

View file

@ -10,7 +10,14 @@
ai_target_quick_trigger = {
adult = yes
}
ai_frequency = 12
ai_frequency_by_tier = {
barony = 0
county = 0
duchy = 0
kingdom = 0
empire = 12
hegemony = 12
}
popup_on_receive = yes
pause_on_receive = yes
@ -37,10 +44,7 @@
is_valid_showing_failures_only = {
scope:actor = {
faith = {
OR = {
has_doctrine = doctrine_spiritual_head
has_doctrine = doctrine_holy_order_head
}
has_doctrine = doctrine_spiritual_head
}
is_imprisoned = no
NOT = { has_trait = excommunicated }
@ -123,7 +127,7 @@
has_trait = sodomite
trait_is_criminal_in_faith_trigger = {
FAITH = scope:actor.faith
TRAIT = sodomite
TRAIT = trait:sodomite
GENDER_CHARACTER = scope:actor
}
}
@ -135,7 +139,7 @@
has_trait = sodomite
trait_is_shunned_in_faith_trigger = {
FAITH = scope:actor.faith
TRAIT = sodomite
TRAIT = trait:sodomite
GENDER_CHARACTER = scope:actor
}
}
@ -147,7 +151,7 @@
has_trait = deviant
trait_is_criminal_in_faith_trigger = {
FAITH = scope:actor.faith
TRAIT = deviant
TRAIT = trait:deviant
GENDER_CHARACTER = scope:actor
}
}
@ -159,7 +163,7 @@
has_trait = deviant
trait_is_shunned_in_faith_trigger = {
FAITH = scope:actor.faith
TRAIT = deviant
TRAIT = trait:deviant
GENDER_CHARACTER = scope:actor
}
}
@ -171,7 +175,7 @@
has_trait = adulterer
trait_is_criminal_in_faith_trigger = {
FAITH = scope:actor.faith
TRAIT = adulterer
TRAIT = trait:adulterer
GENDER_CHARACTER = scope:actor
}
}
@ -183,7 +187,7 @@
has_trait = adulterer
trait_is_shunned_in_faith_trigger = {
FAITH = scope:actor.faith
TRAIT = adulterer
TRAIT = trait:adulterer
GENDER_CHARACTER = scope:actor
}
}
@ -195,7 +199,7 @@
has_trait = fornicator
trait_is_criminal_in_faith_trigger = {
FAITH = scope:actor.faith
TRAIT = fornicator
TRAIT = trait:fornicator
GENDER_CHARACTER = scope:actor
}
}
@ -207,7 +211,7 @@
has_trait = fornicator
trait_is_shunned_in_faith_trigger = {
FAITH = scope:actor.faith
TRAIT = fornicator
TRAIT = trait:fornicator
GENDER_CHARACTER = scope:actor
}
}
@ -219,7 +223,7 @@
has_trait = witch
trait_is_criminal_in_faith_trigger = {
FAITH = scope:actor.faith
TRAIT = witch
TRAIT = trait:witch
GENDER_CHARACTER = scope:actor
}
}
@ -231,7 +235,7 @@
has_trait = witch
trait_is_shunned_in_faith_trigger = {
FAITH = scope:actor.faith
TRAIT = witch
TRAIT = trait:witch
GENDER_CHARACTER = scope:actor
}
}
@ -261,15 +265,15 @@
OR = {
AND = {
has_trait = kinslayer_1
trait_is_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_1 GENDER_CHARACTER = scope:actor }
trait_is_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_1 GENDER_CHARACTER = scope:actor }
}
AND = {
has_trait = kinslayer_2
trait_is_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_2 GENDER_CHARACTER = scope:actor }
trait_is_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_2 GENDER_CHARACTER = scope:actor }
}
AND = {
has_trait = kinslayer_3
trait_is_criminal_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_3 GENDER_CHARACTER = scope:actor }
trait_is_criminal_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_3 GENDER_CHARACTER = scope:actor }
}
}
}
@ -281,15 +285,15 @@
OR = {
AND = {
has_trait = kinslayer_1
trait_is_shunned_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_1 GENDER_CHARACTER = scope:actor }
trait_is_shunned_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_1 GENDER_CHARACTER = scope:actor }
}
AND = {
has_trait = kinslayer_2
trait_is_shunned_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_2 GENDER_CHARACTER = scope:actor }
trait_is_shunned_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_2 GENDER_CHARACTER = scope:actor }
}
AND = {
has_trait = kinslayer_3
trait_is_shunned_in_faith_trigger = { FAITH = faith TRAIT = kinslayer_3 GENDER_CHARACTER = scope:actor }
trait_is_shunned_in_faith_trigger = { FAITH = faith TRAIT = trait:kinslayer_3 GENDER_CHARACTER = scope:actor }
}
}
}

View file

@ -0,0 +1,288 @@
### Apply some impact to the relation between two houses.
#
debug_impact_house_relation_interaction = {
category = interaction_debug_tgp
desc = debug_impact_house_relation_interaction_desc
use_diplomatic_range = no
ignores_pending_interaction_block = yes
icon = debug_chars
common_interaction = yes
is_shown = {
debug_only = yes
exists = scope:recipient.house
scope:recipient.house ?= {
NOT = { this = scope:actor.house }
}
}
is_valid_showing_failures_only = {
house_relation_is_valid_to_start_trigger = {
HOUSE = scope:actor.house
OTHER_HOUSE = scope:recipient.house
}
}
send_option = {
localization = debug_impact_house_relation_for_the_significantly_better
flag = impact_for_the_significantly_better
}
send_option = {
localization = debug_impact_house_relation_for_the_noticeably_better
flag = impact_for_the_noticeably_better
}
send_option = {
localization = debug_impact_house_relation_for_the_slightly_better
flag = impact_for_the_slightly_better
}
send_option = {
localization = debug_impact_house_relation_by_setting_to_neutral
flag = set_to_neutral
}
send_option = {
localization = debug_impact_house_relation_for_the_slightly_worse
flag = impact_for_the_slightly_worse
}
send_option = {
localization = debug_impact_house_relation_for_the_noticeably_worse
flag = impact_for_the_noticeably_worse
}
send_option = {
localization = debug_impact_house_relation_for_the_significantly_worse
flag = impact_for_the_significantly_worse
}
send_option = {
localization = debug_impact_house_relation_by_clearing_it
flag = clear_relation
is_valid = {
scope:actor.house = {
has_house_relation_with = scope:recipient.house
}
}
}
send_option = {
localization = debug_impact_house_relation_by_starting_a_feud
flag = start_feud
is_shown = {
has_bp1_dlc_trigger = yes
}
is_valid = {
custom_tooltip = {
text = action_in_debt_click
NOT = {
house_has_feud_relation_with_trigger = { TARGET = scope:recipient }
}
}
}
}
can_send = {
house_relation_is_valid_to_start_trigger = {
HOUSE = scope:actor.house
OTHER_HOUSE = scope:recipient.house
}
}
on_accept = {
if = {
limit = { scope:clear_relation = yes }
scope:actor.house = {
random_house_relation = {
limit = {
any_relation_house = { scope:recipient.house = this }
}
clear_house_relation = yes
}
}
}
else_if = {
limit = { scope:set_to_neutral = yes }
scope:actor.house = {
set_house_relation = {
target = scope:recipient.house
description = debug_impact_house_relation_change_description
}
}
}
else_if = {
limit = { scope:start_feud = yes }
house_feud_start_effect = {
# Feuding House Head
ACTOR = scope:actor
# Target House Head
TARGET = scope:recipient
# Feud Reason
REASON = head_cuckolded
# House Member attacker if relevant
ATTACKER = scope:actor
# House Member victim if relevant
VICTIM = scope:recipient
}
}
else = {
scope:recipient = {
scope:actor.house = {
impact_house_relation = {
target = scope:recipient.house
steps = {
value = 0
if = {
limit = { scope:impact_for_the_significantly_better = yes}
add = 3
}
if = {
limit = { scope:impact_for_the_noticeably_better = yes }
add = 1
}
if = {
limit = { scope:impact_for_the_slightly_better = yes }
add = 0.3
}
if = {
limit = { scope:impact_for_the_slightly_worse = yes }
add = -0.3
}
if = {
limit = { scope:impact_for_the_noticeably_worse = yes }
add = -1
}
if = {
limit = { scope:impact_for_the_significantly_worse = yes }
add = -3
}
}
description = debug_impact_house_relation_change_description
}
}
}
}
}
auto_accept = yes
}
debug_spawn_natural_disaster = {
category = interaction_debug_tgp
use_diplomatic_range = no
ignores_pending_interaction_block = yes
common_interaction = yes
icon = debug_bad
auto_accept = yes
is_shown = {
debug_only = yes
scope:recipient ?= {
is_landed = yes
highest_held_title_tier >= tier_county
}
}
send_option = {
flag = sub_realm_earthquake
localization = debug_sub_realm_earthquake
}
send_option = {
flag = random_earthquake
localization = debug_random_earthquake
}
send_option = {
flag = sub_realm_flood
localization = debug_sub_realm_flood
is_valid = {
custom_tooltip = {
text = debug_sub_realm_flood_tt
scope:recipient = {
any_sub_realm_county = {
title_province = { geographical_region = global_flood_region }
NOT = {
any_county_situation = { situation_type = natural_disaster_flood }
}
}
}
}
}
}
send_option = {
flag = random_flood
localization = debug_random_flood
}
on_accept = {
hidden_effect = {
scope:recipient = {
switch = {
trigger = yes
scope:sub_realm_earthquake = {
scope:recipient = {
random_sub_realm_county = {
limit = {
save_temporary_scope_as = county_temp
NOT = {
any_in_global_list = {
variable = ongoing_earthquakes
var:epicenter_county ?= scope:county_temp.kingdom
}
}
}
spawn_earthquake_in_county_effect = { COUNTY = this }
}
}
}
scope:random_earthquake = { trigger_event = natural_disaster.9901 }
scope:sub_realm_flood = {
scope:recipient = {
random_sub_realm_county = {
limit = {
title_province = { geographical_region = global_flood_region }
NOT = {
any_county_situation = { situation_type = natural_disaster_flood }
}
}
spawn_flood_in_county_effect = { COUNTY = this }
}
}
}
scope:random_flood = { trigger_event = natural_disaster.9902 }
}
}
}
}
}
debug_change_bloc_cohesion = {
category = interaction_debug_tgp
use_diplomatic_range = no
ignores_pending_interaction_block = yes
common_interaction = yes
icon = icon_leave_bloc
auto_accept = yes
is_shown = {
debug_only = yes
scope:recipient.house.house_confederation ?= { has_cohesion = yes }
}
send_option = {
flag = max
localization = Max
}
send_option = {
flag = improve
localization = debug_improve_block_cohesion
}
send_option = {
flag = damage
localization = debug_damage_block_cohesion
}
send_option = {
flag = destroy
localization = DESTROY_ACCOLADE
}
on_accept = {
scope:recipient.house.house_confederation = {
switch = {
trigger = yes
scope:max = { change_cohesion = 100 }
scope:improve = { change_cohesion = 20 }
scope:damage = { change_cohesion = -20 }
scope:destroy = { change_cohesion = -100 }
}
}
}
}