N3OW/common/character_interactions/00_test_interactions.txt
2025-02-19 22:32:34 +00:00

1177 lines
22 KiB
Text

debug_change_opinion_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
icon = debug_good
is_shown = {
debug_only = yes
NOT = { scope:recipient = scope:actor }
}
send_option = {
flag = love
localization = debug_make_love_me_interaction
}
send_option = {
flag = like
localization = debug_make_like_me_interaction
}
send_option = {
flag = dislike
localization = debug_make_dislike_me_interaction
}
send_option = {
flag = hate
localization = debug_make_hate_me_interaction
}
on_accept = {
scope:recipient = {
switch = {
trigger = yes
scope:love = {
add_opinion = {
modifier = love_opinion
target = scope:actor
opinion = 200
}
}
scope:like = {
add_opinion = {
modifier = friendliness_opinion
target = scope:actor
opinion = 100
}
}
scope:dislike = {
add_opinion = {
modifier = angry_opinion
target = scope:actor
opinion = -100
}
}
scope:hate = {
add_opinion = {
modifier = hate_opinion
target = scope:actor
opinion = -200
}
}
}
}
}
auto_accept = yes
}
make_lover_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
is_shown = {
debug_only = yes
NOT = { scope:recipient = scope:actor }
NOT = {
scope:actor = {
has_relation_lover = scope:recipient
}
}
always = no # superseded by set_relation_interaction
}
auto_accept = yes
on_accept = {
scope:actor = {
set_relation_lover = { reason = test_lover_desc target = scope:recipient }
}
}
}
make_soulmate_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
is_shown = {
debug_only = yes
NOT = { scope:recipient = scope:actor }
scope:actor = { has_relation_lover = scope:recipient }
NOT = {
scope:actor = {
has_relation_soulmate = scope:recipient
}
}
always = no # superseded by set_relation_interaction
}
auto_accept = yes
on_accept = {
scope:actor = {
set_relation_soulmate = { reason = test_soulmate_desc copy_reason = lover target = scope:actor }
}
}
}
make_rival_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
is_shown = {
debug_only = yes
NOT = { scope:recipient = scope:actor }
NOT = {
scope:actor = {
any_relation = {
type = rival
this = scope:recipient
}
}
}
always = no # superseded by set_relation_interaction
}
auto_accept = yes
on_accept = {
scope:actor = {
set_relation_rival = {
target = scope:recipient
reason = rival_debug
}
}
}
}
make_nemesis_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
is_shown = {
debug_only = yes
NOT = { scope:recipient = scope:actor }
scope:actor = { has_relation_rival = scope:recipient }
NOT = {
scope:actor = {
has_relation_nemesis = scope:recipient
}
}
always = no # superseded by set_relation_interaction
}
auto_accept = yes
on_accept = {
scope:actor = {
set_relation_nemesis = {
reason = test_nemesis_desc
copy_reason = rival
target = scope:recipient
}
}
}
}
remove_rival_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
is_shown = {
debug_only = yes
NOT = { scope:recipient = scope:actor }
scope:actor = {
has_relation_rival = scope:recipient
}
always = no # superseded by set_relation_interaction
}
auto_accept = yes
on_accept = {
scope:actor = {
remove_relation_rival = scope:recipient
}
}
}
make_friend_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
is_shown = {
debug_only = yes
NOT = { scope:recipient = scope:actor }
NOT = {
scope:actor = {
any_relation = {
type = friend
this = scope:recipient
}
}
}
always = no # superseded by set_relation_interaction
}
auto_accept = yes
on_accept = {
scope:actor = {
set_relation_friend = { reason = test_friend_desc target = scope:recipient }
}
}
}
learn_secrets_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
common_interaction = yes
icon = icon_discovered_scheme
interface_priority = -3
is_shown = {
debug_only = yes
scope:recipient = {
any_secret = {
NOT = {
is_known_by = scope:actor
}
}
}
}
on_accept = {
scope:recipient = {
every_secret = {
reveal_to = scope:actor
}
}
}
auto_accept = yes
}
make_dynasty_house_head_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
icon = icon_dynasty
is_shown = {
debug_only = yes
scope:recipient = {
exists = scope:recipient.house
NOT = { scope:recipient.house.house_head = scope:recipient }
}
}
auto_accept = yes
on_accept = {
debug_log_scopes = yes
scope:recipient.house = {
set_house_head = scope:recipient
}
}
}
take_title_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
target_type = title
target_filter = recipient_domain_titles
icon = debug_take_title
is_shown = {
debug_only = yes
scope:recipient = { is_landed_or_landless_administrative = yes }
NOT = { scope:recipient = scope:actor }
}
can_be_picked_title = {
trigger_if = {
limit = {
scope:landless_title = yes
}
scope:target = {
is_landless_type_title = yes
is_noble_family_title = no
}
}
trigger_else = {
scope:target = { is_landless_type_title = no }
}
}
send_option = {
flag = title_only
localization = take_title_interaction
}
send_option = {
flag = title_and_vassals
localization = take_title_and_vassals_interaction
}
send_option = {
flag = landless_title
localization = take_landless_title_interaction
}
auto_accept = yes
on_accept = {
create_title_and_vassal_change = {
type = conquest
save_scope_as = change
add_claim_on_loss = no
}
scope:target = {
switch = {
trigger = yes
scope:title_only = {
change_title_holder = {
holder = scope:actor
change = scope:change
}
}
scope:title_and_vassals = {
change_title_holder_include_vassals = {
holder = scope:actor
change = scope:change
}
}
scope:landless_title = {
change_title_holder = {
holder = scope:actor
change = scope:change
}
}
}
}
resolve_title_and_vassal_change = scope:change
}
}
take_domain_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
is_shown = {
debug_only = yes
scope:recipient = { is_landed_or_landless_administrative = yes }
NOT = {
scope:recipient = scope:actor
}
always = no
}
auto_accept = yes
on_accept = {
create_title_and_vassal_change = {
type = conquest
save_scope_as = change
}
scope:recipient = {
every_held_title = {
limit = {
is_landless_type_title = no
}
change_title_holder_include_vassals = {
holder = scope:actor
change = scope:change
}
}
}
resolve_title_and_vassal_change = scope:change
}
}
take_realm_interaction = {
category = interaction_debug_main
common_interaction = yes
use_diplomatic_range = no
ignores_pending_interaction_block = yes
icon = grant_titles_interaction
is_shown = {
debug_only = yes
scope:recipient = { is_landed_or_landless_administrative = yes }
NOT = {
scope:recipient = scope:actor
}
}
auto_accept = yes
send_option = {
flag = domain
localization = take_domain_interaction
}
send_option = {
flag = realm
localization = take_realm_interaction
}
send_option = {
is_valid = {
scope:actor.highest_held_title_tier < scope:recipient.liege.highest_held_title_tier
scope:recipient = { is_independent_ruler = no }
}
flag = domain_as_vassal
localization = take_domain_as_vassal_interaction
}
send_option = {
is_valid = {
scope:actor.highest_held_title_tier < scope:recipient.liege.highest_held_title_tier
scope:recipient = { is_independent_ruler = no }
}
flag = realm_as_vassal
localization = take_realm_as_vassal_interaction
}
on_accept = {
scope:recipient.liege = { save_scope_as = new_liege }
if = {
limit = {
OR = {
scope:realm = yes
scope:realm_as_vassal = yes
}
}
create_title_and_vassal_change = {
type = conquest
save_scope_as = change
}
scope:recipient = {
every_sub_realm_title = {
limit = {
tier >= tier_county
is_noble_family_title = no
is_landless_type_title = no
NOT = { holder ?= scope:actor }
}
change_title_holder_include_vassals = {
holder = scope:actor
change = scope:change
take_baronies = no
}
}
}
resolve_title_and_vassal_change = scope:change
}
else_if = {
limit = {
OR = {
scope:domain = yes
scope:domain_as_vassal = yes
}
}
create_title_and_vassal_change = {
type = conquest
save_scope_as = change
}
scope:recipient = {
every_held_title = {
limit = {
tier >= tier_county
is_noble_family_title = no
is_landless_type_title = no
}
change_title_holder_include_vassals = {
holder = scope:actor
change = scope:change
take_baronies = no
}
}
}
resolve_title_and_vassal_change = scope:change
}
if = {
limit = {
OR = {
scope:realm_as_vassal = yes
scope:domain_as_vassal = yes
}
}
create_title_and_vassal_change = {
type = conquest
save_scope_as = change
}
scope:actor = {
change_liege = {
liege = scope:new_liege
change = scope:change
}
}
resolve_title_and_vassal_change = scope:change
}
}
}
take_vassal_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
icon = icon_liege
is_shown = {
debug_only = yes
scope:recipient = {
NOT = { is_vassal_of = scope:actor }
highest_held_title_tier >= tier_county
highest_held_title_tier < scope:actor.highest_held_title_tier
}
NOT = { scope:recipient = scope:actor }
scope:actor = { has_any_landed_title_trigger = yes }
}
auto_accept = yes
on_accept = {
create_title_and_vassal_change = {
type = conquest
save_scope_as = change
add_claim_on_loss = no
}
scope:recipient = {
change_liege = {
liege = scope:actor
change = scope:change
}
}
resolve_title_and_vassal_change = scope:change
}
}
make_independent_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
icon = independence
is_shown = {
debug_only = yes
scope:recipient = {
is_independent_ruler = no
highest_held_title_tier >= tier_county
}
}
auto_accept = yes
on_accept = {
create_title_and_vassal_change = {
type = conquest
save_scope_as = change
}
scope:recipient = {
becomes_independent = { change = scope:change }
}
resolve_title_and_vassal_change = scope:change
}
}
start_pregnancy_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
icon = pregnant
is_shown = {
debug_only = yes
scope:recipient = { is_adult = yes }
scope:actor = { is_adult = yes }
scope:recipient = { is_pregnant = no }
scope:actor = { is_pregnant = no }
OR = {
AND = {
scope:recipient = { is_female = yes }
scope:actor = { is_male = yes }
}
AND = {
scope:recipient = { is_male = yes }
scope:actor = { is_female = yes }
}
}
}
on_accept = {
scope:actor = { trigger_event = debug.0002 }
}
auto_accept = yes
}
get_claim_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
icon = vassal_claim_liege_title_interaction
target_type = title
target_filter = recipient_domain_titles
is_shown = {
debug_only = yes
scope:recipient = { is_landed_or_landless_administrative = yes }
NOT = { scope:recipient = scope:actor }
}
can_be_picked_title = {
scope:target = {
is_noble_family_title = no
is_landless_type_title = no
}
trigger_if = {
limit = {
scope:actor = { has_claim_on = scope:target }
}
scope:pressed = yes
scope:actor = { has_weak_claim_on = scope:target }
}
}
send_option = {
flag = pressed
localization = add_pressed_claim_interaction
}
send_option = {
flag = unpressed
localization = add_unpressed_claim_interaction
}
auto_accept = yes
on_accept = {
scope:actor = {
switch = {
trigger = yes
scope:pressed = { add_pressed_claim = scope:target }
scope:unpressed = { add_unpressed_claim = scope:target }
}
}
}
}
claim_all_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
icon = icon_claim_pressed
is_shown = {
debug_only = yes
scope:recipient = { is_landed_or_landless_administrative = yes }
NOT = { scope:recipient = scope:actor }
}
send_option = {
flag = pressed
localization = add_pressed_claim_interaction
}
send_option = {
flag = unpressed
localization = add_unpressed_claim_interaction
}
auto_accept = yes
on_accept = {
scope:recipient = {
every_held_title = {
limit = {
is_landless_type_title = no
is_noble_family_title = no
trigger_if = {
limit = {
scope:actor = { has_claim_on = scope:target }
}
scope:pressed = yes
scope:actor = { has_weak_claim_on = scope:target }
}
tier >= tier_county
}
save_temporary_scope_as = title_temp
scope:actor = {
switch = {
trigger = yes
scope:pressed = { add_pressed_claim = scope:title_temp }
scope:unpressed = { add_unpressed_claim = scope:title_temp }
}
}
}
}
}
}
get_claim_on_all_creatable_interaction = {
category = interaction_debug_main
icon = icon_claim_pressed
use_diplomatic_range = no
ignores_pending_interaction_block = yes
is_shown = {
debug_only = yes
scope:recipient = scope:actor
}
auto_accept = yes
on_accept = {
scope:actor = {
every_alert_creatable_title =
{
scope:actor = {
add_pressed_claim = prev
}
}
}
}
}
test_dynasty_prestige_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
is_shown = {
debug_only = yes
scope:recipient = scope:actor
always = no
}
auto_accept = yes
on_accept = {
scope:actor.dynasty = {
add_dynasty_prestige_level = 1
add_dynasty_prestige = 1000
}
}
}
debug_start_era_of_great_holy_wars_interaction = {
category = interaction_debug_main
icon = religious
use_diplomatic_range = no
ignores_pending_interaction_block = yes
interface_priority = -100
is_shown = {
debug_only = yes
}
send_option = {
flag = crusade
localization = debug_start_era_of_crusades_interaction
is_valid = {
NOT = { exists = faith:catholic.religion.var:variable_ghw_unlocked }
}
}
send_option = {
flag = jihad
localization = debug_start_era_of_jihads_interaction
is_valid = {
NOT = { exists = faith:ashari.religion.var:variable_ghw_unlocked }
}
}
send_option = {
flag = ghw_natural
localization = debug_launch_natural_crusade_interaction
is_valid = {
scope:recipient.faith = {
NOR = {
exists = great_holy_war
exists = var:variable_ghw_cooldown
exists = religion.var:variable_first_ghw_cooldown # Do not event spam after Crusades have been just unlocked.
}
exists = religion.var:variable_ghw_unlocked #Activated by event for every religion.
}
}
}
send_option = {
flag = ghw
localization = debug_start_great_holy_war_interaction
is_valid = {
NOT = { scope:recipient.faith = scope:actor.faith }
scope:actor.faith = {
NOR = {
exists = great_holy_war
exists = var:variable_ghw_cooldown
exists = religion.var:variable_first_ghw_cooldown # Do not event spam after Crusades have been just unlocked.
}
exists = religion.var:variable_ghw_unlocked #Activated by event for every religion.
}
}
}
auto_accept = yes
on_accept = {
hidden_effect = {
switch = {
trigger = yes
scope:crusade = {
faith:catholic = { save_scope_as = awakening_faith }
}
scope:jihad = {
faith:ashari = { save_scope_as = awakening_faith }
}
scope:ghw_natural = {
hidden_effect = {
scope:recipient.faith = {
change_fervor = {
value = 200
desc = test_interaction_fervor_gain
}
trigger_event = great_holy_war.0001
}
}
}
scope:ghw = {
scope:actor.faith = {
start_great_holy_war = {
target_character = scope:recipient
target_title = scope:recipient.primary_title
delay = 30
}
}
}
}
scope:awakening_faith ?= {
change_fervor = {
value = 200
desc = test_interaction_fervor_gain
}
if = {
limit = { exists = religious_head }
religious_head = { save_scope_as = ghw_first_sponsor }
}
else = {
random_theocratic_ruler = {
limit = { faith = root }
save_scope_as = ghw_first_sponsor
}
}
if = { # Fallback
limit = {
NOT = { exists = scope:ghw_first_sponsor }
}
random_ruler = {
limit = { faith = root }
save_scope_as = ghw_first_sponsor
}
}
religion = {
set_variable = {
name = variable_ghw_unlocked # Crusades
value = yes
}
}
every_player = { trigger_event = great_holy_war.0011 } # Flavor fluff for various Faiths.
}
}
}
}
debug_change_council_task_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
is_valid_showing_failures_only = {
scope:actor = {
cp:councillor_spymaster = {
NOT = { councillor_task_target = scope:recipient }
}
}
}
is_shown = {
debug_only = yes
exists = scope:actor.cp:councillor_spymaster.councillor_task_target
always = no
}
auto_accept = yes
on_accept = {
scope:actor = {
cp:councillor_spymaster = {
set_council_task = {
task_type = task_find_secrets
target = scope:recipient
}
}
}
}
}
debug_trigger_localization_testing_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
is_valid_showing_failures_only = {
}
is_valid = {
scope:actor.father = scope:actor.father
scope:actor.father.killer = scope:actor
scope:actor.capital_county.holder = scope:actor
scope:actor.capital_county.faith = scope:actor.faith
scope:actor.faith.religion = faith:catholic.religion
scope:actor.capital_county.kingdom = title:k_england
scope:recipient.liege = scope:actor
}
is_shown = {
always = no # This interaction has no purpose beyond debugging trigger localization. As such, it can be disabled unless somebody is actively working on that.
debug_only = yes
}
auto_accept = yes
on_accept = {
add_gold = 100
}
}
# DEBUG INTERACTION!
create_betrothal_interaction = {
category = interaction_debug_main
is_shown = {
debug_only = yes
scope:actor = {
is_married = no
is_betrothed = no
allowed_to_marry_character_gender_trigger = { CHARACTER = scope:recipient }
OR = {
is_adult = no
scope:recipient = { is_adult = no }
}
scope:recipient = {
is_married = no
is_betrothed = no
}
}
}
on_accept = {
scope:actor = {
create_betrothal = scope:recipient
}
}
ai_accept = {
base = 70
modifier = {
add = 100
scope:recipient = {
opinion = { target = scope:actor value >= 0 }
}
}
}
}
set_relation_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
is_shown = {
debug_only = yes
NOT = { scope:recipient = scope:actor }
always = no # deprecated
}
on_accept = {
scope:actor = { trigger_event = debug.350 }
}
auto_accept = yes
}
designate_diarch_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
icon = icon_dismiss_entrenched_regency
is_shown = {
debug_only = yes
NOT = {
scope:actor = scope:recipient
}
}
on_accept = {
scope:actor = {
designate_diarch = scope:recipient
}
}
auto_accept = yes
}
start_diarchy_interaction = {
icon = icon_entrench_regency
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
is_shown = {
debug_only = yes
scope:recipient = {
basic_eligible_for_diarchy_trigger = yes
has_active_diarchy = no
}
}
on_accept = {
scope:recipient = { start_diarchy = regency }
}
auto_accept = yes
}
end_diarchy_interaction = {
category = interaction_debug_main
icon = "icon_dismiss_entrenched_regency"
use_diplomatic_range = no
ignores_pending_interaction_block = yes
is_shown = {
debug_only = yes
scope:recipient = { has_active_diarchy = yes }
}
on_accept = {
scope:recipient = { end_diarchy = yes }
}
auto_accept = yes
}
test_cooldown_category_10_days = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
category_cooldown = { days = 10 }
is_shown = {
debug_only = yes
always = no # Comment out this line to test
}
auto_accept = yes
on_accept = {}
}
test_cooldown_category_against_30_days = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
category_cooldown_against_recipient = { days = 30 }
is_shown = {
debug_only = yes
always = no # Comment out this line to test
}
auto_accept = yes
on_accept = {}
}
take_hostage_interaction = {
category = interaction_debug_main
icon = icon_hostage
use_diplomatic_range = no
ignores_pending_interaction_block = yes
is_shown = {
debug_only = yes
NOT = {
scope:actor = scope:recipient
}
scope:recipient = {
is_ruler = no
is_hostage = no
}
}
on_accept = {
scope:actor = {
take_hostage = scope:recipient
}
}
auto_accept = yes
}
release_hostage_interaction = {
category = interaction_debug_main
use_diplomatic_range = no
ignores_pending_interaction_block = yes
is_shown = {
debug_only = yes
NOT = {
scope:actor = scope:recipient
}
scope:recipient = {
is_hostage = yes
}
}
on_accept = {
scope:recipient = {
return_hostage = yes
}
}
auto_accept = yes
}