#Change hunt score change_hunt_success_chance = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes common_interaction = yes icon = activity_hunt is_shown = { debug_only = yes scope:actor.involved_activity ?= { has_activity_type = activity_hunt exists = var:hunt_success_chance } } send_option = { flag = score_massive localization = score_massive } send_option = { flag = score_major localization = score_major } send_option = { flag = score_medium localization = score_medium } send_option = { flag = score_minor localization = score_minor } send_option = { flag = decrease_score_minor localization = decrease_score_minor } send_option = { flag = decrease_score_medium localization = decrease_score_medium } send_option = { flag = decrease_score_major localization = decrease_score_major } send_option = { flag = decrease_score_massive localization = decrease_score_massive } on_accept = { scope:actor.involved_activity = { if = { limit = { NOT = { exists = var:hunt_success_chance_event } } set_variable = { name = hunt_success_chance_event value = 0 } } switch = { trigger = yes scope:score_massive = { change_variable = { name = hunt_success_chance_event add = hunt_activity_success_increase_massive_value } } scope:score_major = { change_variable = { name = hunt_success_chance_event add = hunt_activity_success_increase_major_value } } scope:score_medium = { change_variable = { name = hunt_success_chance_event add = hunt_activity_success_increase_medium_value } } scope:score_minor = { change_variable = { name = hunt_success_chance_event add = hunt_activity_success_increase_minor_value } } scope:decrease_score_massive = { change_variable = { name = hunt_success_chance_event add = hunt_activity_success_decrease_massive_value } } scope:decrease_score_major = { change_variable = { name = hunt_success_chance_event add = hunt_activity_success_decrease_major_value } } scope:decrease_score_medium = { change_variable = { name = hunt_success_chance_event add = hunt_activity_success_decrease_medium_value } } scope:decrease_score_minor = { change_variable = { name = hunt_success_chance_event add = hunt_activity_success_decrease_minor_value } } } set_variable = { name = hunt_success_chance value = { value = hunt_success_chance_value add = var:hunt_success_chance_event } } } } auto_accept = yes } debug_give_animal_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes common_interaction = no icon = dog_positive is_shown = { debug_only = yes scope:recipient = { NAND = { any_owned_story = { story_type = story_cycle_pet_cat } any_owned_story = { story_type = story_cycle_pet_dog } any_owned_story = { story_type = story_cycle_martial_lifestyle_warhorse } } } } send_option = { is_valid = { NOT = { scope:recipient = { any_owned_story = { story_type = story_cycle_pet_dog } } } } flag = story_cycle_pet_dog localization = story_cycle_pet_dog } send_option = { is_valid = { NOT = { scope:recipient = { any_owned_story = { story_type = story_cycle_pet_cat } } } } flag = story_cycle_pet_cat localization = story_cycle_pet_cat } send_option = { is_valid = { NOT = { scope:recipient = { any_owned_story = { story_type = story_cycle_martial_lifestyle_warhorse } } } } flag = story_cycle_martial_lifestyle_warhorse localization = horse_story_modifier } send_options_exclusive = yes on_accept = { scope:recipient = { switch = { trigger = yes scope:story_cycle_pet_dog = { start_dog_story_cycle_effect = yes } scope:story_cycle_pet_cat = { start_cat_story_cycle_effect = yes } scope:story_cycle_martial_lifestyle_warhorse = { start_warhorse_story_cycle_effect = yes } } } } auto_accept = yes } #Change tournament score change_tournament_score = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes common_interaction = yes icon = activity_tournament is_shown = { debug_only = yes scope:recipient = { exists = involved_activity involved_activity = { has_activity_type = activity_tournament } activity_is_competing_trigger = yes } } send_option = { flag = score_massive localization = score_massive } send_option = { flag = score_major localization = score_major } send_option = { flag = score_medium localization = score_medium } send_option = { flag = score_minor localization = score_minor } send_option = { flag = decrease_score_minor localization = decrease_score_minor } send_option = { flag = decrease_score_medium localization = decrease_score_medium } send_option = { flag = decrease_score_major localization = decrease_score_major } send_option = { flag = decrease_score_massive localization = decrease_score_massive } on_accept = { scope:recipient = { if = { limit = { scope:score_massive = yes } activity_tournament_change_contestant_score_effect = { SCORE = increase_massive } } else_if = { limit = { scope:score_major = yes } activity_tournament_change_contestant_score_effect = { SCORE = increase_major } } else_if = { limit = { scope:score_medium = yes } activity_tournament_change_contestant_score_effect = { SCORE = increase_medium } } else_if = { limit = { scope:score_minor = yes } activity_tournament_change_contestant_score_effect = { SCORE = increase_minor } } else_if = { limit = { scope:decrease_score_massive = yes } activity_tournament_change_contestant_score_effect = { SCORE = decrease_massive } } else_if = { limit = { scope:decrease_score_major = yes } activity_tournament_change_contestant_score_effect = { SCORE = decrease_major } } else_if = { limit = { scope:decrease_score_medium = yes } activity_tournament_change_contestant_score_effect = { SCORE = decrease_medium } } else_if = { limit = { scope:decrease_score_minor = yes } activity_tournament_change_contestant_score_effect = { SCORE = decrease_minor } } } } auto_accept = yes } #Bring a character to your court add_to_court_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = guest is_shown = { debug_only = yes NOT = { scope:recipient = scope:actor } scope:recipient = { is_playable_character = no NOT = { is_courtier_of = scope:actor } } } on_accept = { scope:actor = { add_courtier = scope:recipient } scope:recipient = { hidden_effect = { return_to_court = yes } } } auto_accept = yes } debug_secrets_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = debug_secret is_shown = { debug_only = yes } send_option = { flag = realm localization = set_up_secrets_in_realm_interaction } send_option = { flag = court localization = give_secrets_to_court_interaction } send_option = { flag = expose localization = expose_known_secrets_interaction } on_accept = { switch = { trigger = yes scope:realm = { scope:recipient.top_liege = { hidden_effect = { # Start by adding all realm characters and neighbouring realm characters to a list add_to_list = secret_setup every_vassal = { add_to_list = secret_setup random_courtier_or_guest = { add_to_list = secret_setup } } every_neighboring_top_liege_realm_owner = { add_to_list = secret_setup every_vassal = { add_to_list = secret_setup random_courtier_or_guest = { add_to_list = secret_setup } } } every_in_list = { # Give everyone in the list a 50% chance of getting a secret list = secret_setup give_random_likely_secret_effect = yes } random_in_list = { # Reveal one secret to the character the decision is used on, from the same realm list = secret_setup limit = { top_liege = scope:recipient.top_liege any_secret = { NOT = { is_known_by = scope:recipient } } } random_secret = { limit = { NOT = { is_known_by = scope:recipient } } reveal_to = scope:recipient } } random_in_list = { # Reveal one secret to the character the decision is used on, NOT from the same realm list = secret_setup limit = { NOT = { top_liege = scope:recipient.top_liege } any_secret = { NOT = { is_known_by = scope:recipient } } } random_secret = { limit = { NOT = { is_known_by = scope:recipient } } reveal_to = scope:recipient } } every_in_list = { # Everyone in the list has a chance to get to know of a secret anyone else has in the list list = secret_setup save_scope_as = reveal_to_me random = { chance = 75 random_in_list = { list = secret_setup limit = { any_secret = { NOT = { is_known_by = scope:reveal_to_me } } } random_secret = { limit = { NOT = { is_known_by = scope:reveal_to_me } } reveal_to = scope:reveal_to_me } } } } random_in_list = { # Imprison someone with a secret you know about list = secret_setup limit = { any_secret = { is_known_by = scope:recipient } NOT = { this = scope:recipient } is_foreign_court_guest = no } save_scope_as = prisoner_secret scope:recipient = { imprison = { target = scope:prisoner_secret type = dungeon } } } random_in_list = { # Imprison someone who has a secret you don't know about list = secret_setup limit = { any_secret = { NOT = { is_known_by = scope:recipient } } NOT = { this = scope:recipient } is_foreign_court_guest = no } save_scope_as = prisoner_secret scope:recipient = { imprison = { target = scope:prisoner_secret type = dungeon } } } } } } scope:court = { scope:recipient = { give_deviant_secret_or_trait_effect = yes give_homosexual_secret_or_nothing_effect = yes hidden_effect = { every_courtier = { give_random_likely_secret_effect = yes } } } } scope:expose = { scope:actor = { every_known_secret = { limit = { secret_owner = scope:recipient } expose_secret = scope:actor } } } } } auto_accept = yes } add_hook_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes interface_priority = -1 icon = hook_icon common_interaction = no is_shown = { debug_only = yes NOT = { scope:recipient = scope:actor } } send_option = { flag = weak_hook localization = add_weak_hook_interaction } send_option = { flag = strong_hook localization = add_strong_hook_interaction } send_option = { flag = perpetual_hook localization = add_perpetual_hook_interaction } send_option = { flag = obligation_hook localization = add_obligation_hook_interaction } auto_accept = yes on_accept = { scope:actor = { switch = { trigger = yes scope:weak_hook = { add_hook = { target = scope:recipient type = favor_hook } } scope:strong_hook = { add_hook = { target = scope:recipient type = strong_test_hook } } scope:perpetual_hook = { add_hook = { target = scope:recipient type = perpetual_test_hook } } scope:obligation_hook = { add_hook = { target = scope:recipient type = obligation_hook } } } } } } set_relation_debug = { category = interaction_debug_main desc = set_relationship_debug_desc use_diplomatic_range = no ignores_pending_interaction_block = yes icon = debug_chars common_interaction = yes is_shown = { debug_only = yes NOT = { scope:recipient = scope:actor } } send_option = { is_shown = { NOR = { scope:actor = { has_relation_potential_friend = scope:recipient } scope:actor = { has_relation_friend = scope:recipient } } } is_valid = { scope:actor = { can_set_relation_potential_friend_trigger = { CHARACTER = scope:recipient } } } flag = potential_friend localization = set_relation_debug_potential_friend } send_option = { is_shown = { NOR = { scope:actor = { has_relation_potential_rival = scope:recipient } scope:actor = { has_relation_rival = scope:recipient } } } is_valid = { scope:actor = { can_set_relation_potential_rival_trigger = { CHARACTER = scope:recipient } } } flag = potential_rival localization = set_relation_debug_potential_rival } send_option = { is_shown = { NOR = { scope:actor = { has_relation_potential_lover = scope:recipient } scope:actor = { has_relation_lover = scope:recipient } } } is_valid = { scope:actor = { can_set_relation_potential_lover_trigger = { CHARACTER = scope:recipient } } } flag = potential_lover localization = set_relation_debug_potential_lover } send_option = { is_shown = { NOT = { scope:actor = { has_relation_friend = scope:recipient } } } is_valid = { scope:actor = { can_set_relation_friend_trigger = { CHARACTER = scope:recipient } } } flag = friend localization = set_relation_debug_friend } send_option = { is_shown = { NOT = { scope:actor = { has_relation_rival = scope:recipient } } } is_valid = { scope:actor = { can_set_relation_rival_trigger = { CHARACTER = scope:recipient } } } flag = rival localization = set_relation_debug_rival } send_option = { is_shown = { NOT = { scope:actor = { has_relation_lover = scope:recipient } } } is_valid = { scope:actor = { can_set_relation_lover_trigger = { CHARACTER = scope:recipient } } } flag = lover localization = set_relation_debug_lover } send_option = { is_shown = { scope:actor = { NOR = { any_secret ={ secret_type = secret_lover secret_target = scope:recipient } has_relation_lover = scope:recipient has_relation_soulmate = scope:recipient } } } is_valid = { scope:actor = { can_set_relation_lover_trigger = { CHARACTER = scope:recipient } } } flag = lover_secret localization = set_relation_debug_lover_secret } send_option = { is_shown = { NOT = { scope:actor = { has_relation_best_friend = scope:recipient } } } is_valid = { scope:actor = { can_set_relation_best_friend_trigger = { CHARACTER = scope:recipient } } } flag = best_friend localization = set_relation_debug_best_friend } send_option = { is_shown = { NOT = { scope:actor = { has_relation_nemesis = scope:recipient } } } is_valid = { scope:actor = { can_set_relation_nemesis_trigger = { CHARACTER = scope:recipient } } } flag = nemesis localization = set_relation_debug_nemesis } send_option = { is_shown = { NOT = { scope:actor = { has_relation_soulmate = scope:recipient } } } is_valid = { scope:actor = { can_set_relation_soulmate_trigger = { CHARACTER = scope:recipient } } } flag = soulmate localization = set_relation_debug_soulmate } send_option = { is_shown = { NOT = { scope:actor = { has_relation_bully = scope:recipient } } } is_valid = { scope:actor = { can_set_relation_bully_trigger = { CHARACTER = scope:recipient } } } flag = bully localization = set_relation_debug_bully } send_option = { is_shown = { NOT = { scope:actor = { has_relation_victim = scope:recipient } } } is_valid = { scope:actor = { can_set_relation_victim_trigger = { CHARACTER = scope:recipient } } } flag = victim localization = set_relation_debug_victim } send_option = { is_valid = { scope:actor = { NOT = { has_relation_crush = scope:recipient } } } flag = crush localization = set_relation_debug_crush } send_option = { is_valid = { scope:recipient = { NOT = { has_relation_crush = scope:actor } } } flag = crush_on_me localization = set_relation_debug_crush_on_me } send_option = { is_valid = { scope:actor = { NOT = { has_relation_grudge = scope:recipient } } } flag = grudge localization = set_relation_debug_grudge } send_option = { is_valid = { scope:recipient = { NOT = { has_relation_grudge = scope:actor } } } flag = grudge_on_me localization = set_relation_debug_grudge_on_me } # REMOVE send_option = { is_shown = { scope:actor = { has_relation_potential_friend = scope:recipient } } flag = remove_potential_friend localization = remove_relation_debug_potential_friend } send_option = { is_valid = { scope:actor = { has_relation_potential_rival = scope:recipient } } flag = remove_potential_rival localization = remove_relation_debug_potential_rival } send_option = { is_shown = { scope:actor = { has_relation_potential_lover = scope:recipient } } flag = remove_potential_lover localization = remove_relation_debug_potential_lover } send_option = { is_shown = { scope:actor = { has_relation_friend = scope:recipient } } flag = remove_friend localization = remove_relation_debug_friend } send_option = { is_shown = { scope:actor = { has_relation_rival = scope:recipient } } flag = remove_rival localization = remove_relation_debug_rival } send_option = { is_shown = { scope:actor = { has_relation_lover = scope:recipient } } flag = remove_lover localization = remove_relation_debug_lover } send_option = { is_shown = { scope:actor = { any_secret = { secret_type = secret_lover secret_target = scope:recipient } } } flag = remove_lover_secret localization = remove_relation_debug_lover_secret } send_option = { is_shown = { scope:actor = { has_relation_best_friend = scope:recipient } } flag = remove_best_friend localization = remove_relation_debug_best_friend } send_option = { is_shown = { scope:actor = { has_relation_nemesis = scope:recipient } } flag = remove_nemesis localization = remove_relation_debug_nemesis } send_option = { is_shown = { scope:actor = { has_relation_soulmate = scope:recipient } } flag = remove_soulmate localization = remove_relation_debug_soulmate } send_option = { is_shown = { scope:actor = { has_relation_bully = scope:recipient } } flag = remove_bully localization = remove_relation_debug_bully } send_option = { is_shown = { scope:actor = { has_relation_victim = scope:recipient } } flag = remove_victim localization = remove_relation_debug_victim } send_option = { is_shown = { scope:actor = { has_relation_crush = scope:recipient } } flag = remove_crush localization = remove_relation_debug_crush } send_option = { is_shown = { scope:recipient = { has_relation_crush = scope:actor } } flag = remove_crush_on_me localization = remove_relation_debug_crush_on_me } send_option = { is_shown = { scope:actor = { has_relation_grudge = scope:recipient } } flag = remove_grudge localization = remove_relation_debug_grudge } send_option = { is_shown = { scope:recipient = { has_relation_grudge = scope:actor } } flag = remove_grudge_on_me localization = remove_relation_debug_grudge_on_me } on_accept = { scope:recipient = { switch = { trigger = yes # SET scope:potential_friend = { set_relation_potential_friend = scope:actor } scope:potential_rival = { set_relation_potential_rival = scope:actor } scope:potential_lover = { set_relation_potential_lover = scope:actor } scope:friend = { set_relation_friend = { reason = test_friend_desc target = scope:actor } } scope:rival = { set_relation_rival = { reason = test_rival_desc target = scope:actor } } scope:lover = { set_relation_lover = { reason = test_lover_desc target = scope:actor } } scope:lover_secret = { add_secret = { target = scope:actor type = secret_lover } scope:actor = { add_secret = { target = scope:recipient type = secret_lover } } } scope:best_friend = { set_relation_best_friend = { reason = best_friend_poetry copy_reason = friend target = scope:actor } } scope:nemesis = { set_relation_nemesis = { reason = test_nemesis_desc copy_reason = rival target = scope:actor } } scope:soulmate = { set_relation_soulmate = { reason = test_soulmate_desc copy_reason = lover target = scope:actor } } scope:crush = { scope:actor = { set_relation_crush = scope:recipient } #You crush on the recipient } scope:crush_on_me = { set_relation_crush = scope:actor } scope:bully = { set_relation_bully = scope:actor } scope:victim = { set_relation_victim = scope:actor } scope:grudge = { scope:actor = { set_relation_grudge = { reason = grudge_imprisonment_desc target = scope:recipient } } } scope:grudge_on_me = { set_relation_grudge = scope:actor } # REMOVE scope:remove_potential_friend = { remove_relation_potential_friend = scope:actor } scope:remove_potential_rival = { remove_relation_potential_rival = scope:actor } scope:remove_potential_lover = { remove_relation_potential_lover = scope:actor } scope:remove_friend = { remove_relation_friend = scope:actor } scope:remove_rival = { remove_relation_rival = scope:actor } scope:remove_lover = { remove_relation_lover = scope:actor } scope:remove_lover_secret = { random_secret = { limit = { secret_type = secret_lover secret_target = scope:actor } remove_secret = yes } scope:actor = { random_secret = { limit = { secret_type = secret_lover secret_target = scope:recipient } remove_secret = yes } } } scope:remove_best_friend = { remove_relation_best_friend = scope:actor } scope:remove_nemesis = { remove_relation_nemesis = scope:actor } scope:remove_soulmate = { remove_relation_soulmate = scope:actor } scope:remove_crush = { scope:actor = { remove_relation_crush = scope:recipient } #You crush on the recipient } scope:remove_crush_on_me = { remove_relation_crush = scope:actor } scope:remove_bully = { remove_relation_bully = scope:actor } scope:remove_victim = { remove_relation_victim = scope:actor } scope:remove_grudge = { scope:actor = { remove_relation_grudge = scope:recipient } } scope:remove_grudge_on_me = { remove_relation_grudge = scope:actor } } } } auto_accept = yes } change_character_weight_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = activity_feast is_shown = { debug_only = yes } send_option = { flag = gain_weight localization = add_character_weight_interaction } send_option = { flag = lose_weight localization = remove_character_weight_interaction } on_accept = { scope:recipient = { switch = { trigger = yes scope:gain_weight = { change_current_weight = 25 } scope:lose_weight = { change_current_weight = -25 } } } } auto_accept = yes } slay_character_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = icon_dead common_interaction = no interface_priority = -1 is_shown = { debug_only = yes } send_option = { flag = random_slayer localization = random_slay_character_interaction } send_option = { flag = no_slayer localization = null_slay_character_interaction } send_option = { is_valid = { NOT = { scope:recipient = scope:actor } } flag = actor_slayer localization = actor_slay_character_interaction } send_option = { flag = bubonic_plague_slayer localization = give_bubonic_plague_interaction } on_accept = { scope:recipient = { switch = { trigger = yes scope:random_slayer = { random_independent_ruler = { limit = { NOT = { this = scope:recipient } } save_scope_as = rando } hidden_effect = { death = { death_reason = death_duel killer = scope:rando } } } scope:no_slayer = { death = { death_reason = death_natural_causes } } scope:actor_slayer = { death = { death_reason = death_duel killer = scope:actor } } scope:bubonic_plague_slayer = { add_trait = bubonic_plague } } } } auto_accept = yes } change_cultural_acceptance_debug_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = icon_culture is_shown = { debug_only = yes NOT = { scope:actor.culture = scope:recipient.culture } } send_option = { flag = increase_cultural_acceptance localization = increase_cultural_acceptance_debug_interaction } send_option = { flag = decrease_cultural_acceptance localization = decrease_cultural_acceptance_debug_interaction } on_accept = { scope:recipient.culture = { switch = { trigger = yes scope:increase_cultural_acceptance = { change_cultural_acceptance = { target = scope:actor.culture value = 25 desc = debug } } scope:decrease_cultural_acceptance = { change_cultural_acceptance = { target = scope:actor.culture value = -25 desc = debug } } } } } auto_accept = yes } learn_language_debug_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = icon_scheme_learn_language interface_priority = -1 is_shown = { debug_only = yes NOT = { scope:actor = { knows_language_of_culture = scope:recipient.culture } } } on_accept = { scope:actor = { learn_language_of_culture = scope:recipient.culture } } auto_accept = yes } #Start a duel or board game against another character start_bout_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = icon_combat is_shown = { debug_only = yes NOT = { scope:recipient = scope:actor } } on_accept = { # Duels. if = { limit = { scope:single_combat = yes } scope:actor = { trigger_event = single_combat.1004 } } # Board Games. if = { limit = { OR = { scope:board_game_chess = yes scope:board_game_pachisi = yes scope:board_game_tabula = yes scope:board_game_hnefatafl = yes scope:board_game_go = yes scope:board_game_fidchell = yes } } scope:actor = { trigger_event = board_games.0102 } } } send_option = { flag = single_combat localization = start_bout_interaction_single_combat } send_option = { flag = board_game_chess localization = start_bout_interaction_board_game_chess } send_option = { flag = board_game_pachisi localization = start_bout_interaction_board_game_pachisi } send_option = { flag = board_game_tabula localization = start_bout_interaction_board_game_tabula } send_option = { flag = board_game_hnefatafl localization = start_bout_interaction_board_game_hnefatafl } send_option = { flag = board_game_go localization = start_bout_interaction_board_game_go } send_option = { flag = board_game_fidchell localization = start_bout_interaction_board_game_fidchell } auto_accept = yes } add_artifact_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = artifact is_shown = { debug_only = yes } send_option = { flag = weapon localization = add_artifact_interaction_weapon } send_option = { flag = armor localization = add_artifact_interaction_armor } send_option = { flag = shinies localization = add_artifact_interaction_shinies } send_option = { flag = book localization = add_artifact_interaction_book } send_option = { flag = furniture localization = add_artifact_interaction_furniture } send_option = { flag = trinket localization = add_artifact_interaction_trinket } send_option = { flag = random_personal localization = add_random_artifact_interaction } send_option = { flag = christian localization = christian_relic } send_option = { flag = islam localization = islam_relic } send_option = { flag = buddhism localization = buddhism_relic } send_option = { flag = judaism localization = judaism_relic } on_accept = { custom_tooltip = add_artifact_interaction save_scope_value_as = { name = quality value = 100 } scope:recipient = { hidden_effect = { save_scope_as = owner random_dummy_gender_effect = yes switch = { trigger = yes scope:weapon = { create_artifact_weapon_effect = { OWNER = scope:owner CREATOR = scope:dummy_gender SET_WEAPON_TYPE = flag:no } } scope:armor = { create_artifact_armor_effect = { OWNER = scope:owner CREATOR = scope:dummy_gender SET_ARMOR_TYPE = flag:no } } scope:shinies = { random_list = { 10 = { create_artifact_regalia_effect = { OWNER = scope:owner SMITH = scope:dummy_gender } } 10 = { create_artifact_crown_effect = { OWNER = scope:owner SMITH = scope:dummy_gender } } 10 = { create_artifact_brooch_effect = { OWNER = scope:owner SMITH = scope:dummy_gender } } } } scope:book = { create_artifact_book_effect = { OWNER = scope:owner CREATOR = scope:dummy_gender SET_SUBJECT = flag:no SET_TOPIC = flag:no } } scope:furniture = { random_list = { 10 = { create_artifact_throne_effect = { OWNER = scope:owner MAKER = scope:dummy_gender } } 10 = { create_artifact_tapestry_effect = { OWNER = scope:owner WEAVER = scope:dummy_gender } } 10 = { create_artifact_box_small_effect = { OWNER = scope:owner CARPENTER = scope:dummy_gender } } 10 = { create_artifact_box_medium_effect = { OWNER = scope:owner CARPENTER = scope:dummy_gender } } 10 = { create_artifact_goblet_effect = { OWNER = scope:owner SMITH = scope:dummy_gender } } 30 = { create_artifact_animal_hide_effect = { OWNER = scope:owner HUNTER = scope:dummy_gender LEGENDARY = no ANIMAL = flag:none } } 10 = { create_artifact_wall_banner_effect = { OWNER = scope:owner CREATOR = scope:dummy_gender TARGET = scope:owner.primary_title } } 10 = { create_artifact_wall_skull_effect = { OWNER = scope:owner HUNTER = scope:dummy_gender LEGENDARY = no ANIMAL = flag:none } } 10 = { create_artifact_sculpture_effect = { OWNER = scope:owner SCULPTER = scope:dummy_gender } } 10 = { create_artifact_wall_shield_effect = { OWNER = scope:owner TARGET = scope:owner.house CREATOR = scope:dummy_gender } } } } scope:trinket = { create_artifact = { name = cuckoldry_psalter_name description = cuckoldry_psalter_description type = miscellaneous visuals = book modifier = artifact_monthly_prestige_penalty_modifier } } scope:random_personal = { custom_tooltip = add_random_artifact_interaction random_list = { 10 = { random_dummy_gender_effect = yes create_artifact_weapon_effect = { OWNER = scope:owner CREATOR = scope:dummy_gender SET_WEAPON_TYPE = flag:no } } 10 = { random_dummy_gender_effect = yes create_artifact_armor_effect = { OWNER = scope:owner CREATOR = scope:dummy_gender SET_ARMOR_TYPE = flag:no } } 10 = { random_dummy_gender_effect = yes create_artifact_regalia_effect = { OWNER = scope:owner SMITH = scope:dummy_gender } } 10 = { random_dummy_gender_effect = yes create_artifact_crown_effect = { OWNER = scope:owner SMITH = scope:dummy_gender } } 10 = { random_dummy_gender_effect = yes create_artifact_brooch_effect = { OWNER = scope:owner SMITH = scope:dummy_gender } } } } scope:christian = { create_artifact_pedestal_reliquary_christian_effect = { OWNER = scope:owner } } scope:islam = { create_artifact_pedestal_reliquary_islam_effect = { OWNER = scope:owner } } scope:buddhism = { create_artifact_pedestal_reliquary_buddhism_effect = { OWNER = scope:owner } } scope:judaism = { create_artifact_pedestal_reliquary_judaism_effect = { OWNER = scope:owner } } } } } } auto_accept = yes } take_artifact_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = icon_scheme_steal_back_artifact target_type = artifact target_filter = recipient_artifacts is_shown = { debug_only = yes scope:recipient = { any_character_artifact = { exists = this } } } send_option = { is_valid = { NOT = { scope:recipient = scope:actor } } flag = player localization = take_artifact_player } send_option = { is_valid = { scope:recipient = { any_neighboring_top_liege_realm_owner = { NOR = { this = scope:recipient this = scope:actor } } } } flag = random_neighbor localization = give_away_random_artifact_interaction } is_highlighted = { always = yes } on_accept = { scope:recipient = { switch = { trigger = yes scope:random_neighbor = { random_neighboring_top_liege_realm_owner = { limit = { NOR = { this = scope:recipient this = scope:actor } } save_scope_as = new_owner } } scope:player = { scope:actor = { save_scope_as = new_owner } } } } scope:target = { set_owner = scope:new_owner } } auto_accept = yes ai_accept = { base = 100 } auto_accept = yes } add_artifact_claim_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = icon_scheme_steal_back_artifact target_type = artifact target_filter = recipient_artifacts is_shown = { scope:recipient = { any_character_artifact = { exists = this } } NOT = { scope:recipient = scope:actor } debug_only = yes } send_option = { flag = personal localization = add_claim_on_artifact_interaction } send_option = { flag = house localization = add_house_claim_on_artifact_interaction } on_accept = { scope:actor = { switch = { trigger = yes scope:personal = { add_personal_artifact_claim = scope:target } scope:house = { house = { add_house_artifact_claim = scope:target } } } } } auto_accept = yes } debug_destroy_artifact_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = artifact target_type = artifact target_filter = recipient_artifacts is_shown = { debug_only = yes scope:recipient = { any_character_artifact = { exists = this } } } send_option = { flag = destroy localization = destroy_artifact } send_option = { flag = damage localization = damage_artifact } send_options_exclusive = yes on_accept = { switch = { trigger = yes scope:destroy = { destroy_artifact = scope:target } scope:damage = { scope:target = { add_durability = { value = { value = artifact_durability divide = 2 multiply = -1 } } } } } } auto_accept = yes } inspire_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = inspiration is_shown = { debug_only = yes scope:recipient = { NOT = { exists = inspiration } has_completed_inspiration = no is_ruler = no is_playable_character = no } } send_option = { flag = weapon_inspiration localization = debug_inspiration_weapon } send_option = { flag = armor_inspiration localization = debug_inspiration_armor } send_option = { flag = book_inspiration localization = debug_inspiration_book } send_option = { flag = weaver_inspiration localization = debug_inspiration_weaver } send_option = { flag = adventure_inspiration localization = debug_inspiration_adventure } send_option = { flag = artisan_inspiration localization = debug_inspiration_artisan } send_option = { flag = smith_inspiration localization = debug_inspiration_smith } send_option = { flag = alchemy_inspiration localization = debug_inspiration_alchemy } on_accept = { scope:recipient = { if = { limit = { always = scope:book_inspiration } create_inspiration = book_inspiration custom_tooltip = inspire_interaction_book } else_if = { limit = { always = scope:weaver_inspiration } create_inspiration = weaver_inspiration custom_tooltip = inspire_interaction_weaver } else_if = { limit = { always = scope:adventure_inspiration } create_inspiration = adventure_inspiration custom_tooltip = inspire_interaction_adventure } else_if = { limit = { always = scope:artisan_inspiration } create_inspiration = artisan_inspiration custom_tooltip = inspire_interaction_artisan } else_if = { limit = { always = scope:smith_inspiration } create_inspiration = smith_inspiration custom_tooltip = inspire_interaction_smith } else_if = { limit = { always = scope:alchemy_inspiration } create_inspiration = alchemy_inspiration custom_tooltip = inspire_interaction_alchemy } else_if = { limit = { always = scope:armor_inspiration } create_inspiration = armor_inspiration custom_tooltip = inspire_interaction_armor } else = { create_inspiration = weapon_inspiration custom_tooltip = inspire_interaction_weapon } } } auto_accept = yes } sponsor_inspiration_debug = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes auto_accept = yes is_shown = { debug_only = yes exists = scope:recipient.inspiration } is_valid_showing_failures_only = { scope:actor = { can_sponsor_inspiration = scope:recipient.inspiration } } is_valid = { scope:actor = { can_sponsor_inspiration = scope:recipient.inspiration } } on_accept = { scope:actor = { sponsor_inspiration = scope:recipient.inspiration } } } test_effect_localization_interaction = { category = interaction_debug_main use_diplomatic_range = no is_shown = { debug_only = yes scope:actor = { is_ai = no } NOT = { scope:actor = scope:recipient } always = no # Comment out this line to see this interaction } on_accept = { # Effects are shown under the actor and recipient entries scope:actor = { add_prestige = 50 } scope:recipient = { add_prestige = 50 } # Effects on the same things are collected together into their existing actor and recipient block scope:actor = { add_piety = 50 } scope:recipient = { add_piety = 50 } # Effects in a self contained list are shown in the general text output and will explicitly name the involved characters, including the actor and recipient, with respect to first person pronouns if the player scope:actor = { random = { chance = 30 scope:actor = { add_gold = 200 random_courtier = { remove_short_term_gold = 50 } } scope:recipient = { add_piety = 200 } } random_list = { 50 = { scope:actor = { add_gold = 50 random_courtier = { add_gold = 10 } } scope:recipient = { add_piety = 50 } } 50 = { scope:actor = { remove_short_term_gold = 50 random_courtier = { remove_short_term_gold = 10 } } scope:recipient = { add_piety = -50 } } } # Single Skill Duel duel = { skill = diplomacy target = scope:recipient 50 = { compare_modifier = { value = scope:duel_value multiplier = 3.5 min = -49 } scope:actor = { add_gold = 50 random_courtier = { add_gold = 10 } } scope:recipient = { add_piety = 50 } } 50 = { compare_modifier = { value = scope:duel_value multiplier = -3.5 min = -49 } scope:actor = { remove_short_term_gold = 50 random_courtier = { remove_short_term_gold = 10 } } scope:recipient = { add_piety = -50 } } } # Multi-skill duel duel = { skills = { prowess martial diplomacy } target = scope:recipient 50 = { compare_modifier = { value = scope:duel_value multiplier = 3.5 min = -49 } scope:actor = { add_gold = 50 random_courtier = { add_gold = 10 } } scope:recipient = { add_piety = 50 } } 50 = { compare_modifier = { value = scope:duel_value multiplier = -3.5 min = -49 } scope:actor = { remove_short_term_gold = 50 random_courtier = { remove_short_term_gold = 10 } } scope:recipient = { add_piety = -50 } } } } # Effects on non core targets get their own separate entries scope:actor = { every_courtier = { add_gold = 10 } } # And multiple effects on the same objects are collected into their existing entries scope:actor = { every_courtier = { add_piety = 10 } } } auto_accept = yes } #Give the character a criminal trait that allows actor to imprison them give_criminal_trait_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = prison is_shown = { debug_only = yes NOT = { scope:actor = { has_imprisonment_reason = scope:recipient } } } on_accept = { custom_tooltip = give_criminal_trait_interaction_tt hidden_effect = { scope:recipient = { make_criminal_effect = yes #If they're still not a criminal we have them murder someone close to you if = { limit = { NOT = { scope:actor = { has_imprisonment_reason = scope:recipient } } any_close_family_member = { NOT = { this = scope:recipient } } } random_close_family_member = { limit = { NOT = { this = scope:recipient } } save_scope_as = family known_murder_effect = { VICTIM = scope:family MURDERER = scope:recipient EXPOSER = scope:recipient } } } } } } auto_accept = yes } generate_artifact_with_history_interaction = { category = interaction_debug_main desc = generate_artifact_with_history_debug_desc use_diplomatic_range = no ignores_pending_interaction_block = yes icon = artifact is_shown = { debug_only = yes NOT = { scope:recipient = scope:actor } } on_accept = { scope:actor = { trigger_event = debug.400 } } auto_accept = yes } # Have (or trigger the aftermath of) sex with the target character debug_sex_interaction = { # Sleep With Character icon = seducer category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes is_shown = { debug_only = yes NOT = { scope:recipient = scope:actor } } on_accept = { scope:actor = { trigger_event = debug.410 } } auto_accept = yes } debug_change_every_county = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = alliance is_shown = { debug_only = yes } send_option = { # Set Control to Max (100) flag = debug_change_every_county_max_control localization = debug_change_every_county.a } send_option = { # Set Control to Lowest (0) (-500) flag = debug_change_every_county_lowest_control localization = gain_county_corruption.message.low_control } send_option = { # Set Opinion to Max flag = debug_change_every_county_highest_opinion localization = debug_change_every_county.b.a } send_option = { # Set Opinion to Min flag = debug_change_every_county_lowest_opinion localization = debug_change_every_county.b.b } send_option = { # Here goes anything else you may want to do in the future, just add another send_option and then an if on the accept flag = debug_change_every_county_convert_to_fatih localization = FAITH_CONVERSION_CONVERT } # send_option = { # Here goes anything else you may want to do in the future, just add another send_option and then an if on the accept # flag = auto_formatter_complains_if_I_do_not_do_this # localization = debug_start_era_of_crusades_interaction # } on_accept = { # In retrospect, this is pretty sloppy script, but it makes sense considering how old it is -h if = { # Set Control to Max (100) limit = { scope:debug_change_every_county_max_control = yes } scope:recipient = { every_held_county = { change_county_control = 100 } } } else_if = { limit = { scope:debug_change_every_county_lowest_control = yes } scope:recipient = { every_held_county = { change_county_control = -500 } } } else_if = { limit = { scope:debug_change_every_county_highest_opinion = yes } scope:recipient = { every_held_county = { add_county_modifier = debug_max_popular_opinion_modifier } } # Please ignore this violation of basic scripting decency, I do it for compactness } else_if = { limit = { scope:debug_change_every_county_lowest_opinion = yes } scope:recipient = { every_held_county = { add_county_modifier = debug_min_popular_opinion_modifier } } } else_if = { limit = { scope:debug_change_every_county_convert_to_fatih = yes } scope:recipient = { every_held_county = { set_county_faith = scope:actor.faith } } } } auto_accept = yes ai_accept = { base = 100 } } # Embezzle from 'em do_a_crime_embezzle_interaction = { category = interaction_debug_main desc = do_a_crime_embezzle_interaction_desc use_diplomatic_range = no ignores_pending_interaction_block = yes icon = icon_gold is_shown = { debug_only = yes NOT = { scope:recipient = scope:actor } } on_accept = { scope:actor = { # Steal a coin. if = { limit = { scope:steal_x1 = yes } give_or_update_embezzler_secret_effect = { TARGET = scope:recipient STAKE = 1 } scope:recipient = { pay_short_term_gold = { target = scope:actor gold = 1 } } } # Steal many coins. else_if = { limit = { scope:steal_x100 = yes } give_or_update_embezzler_secret_effect = { TARGET = scope:recipient STAKE = 100 } scope:recipient = { pay_short_term_gold = { target = scope:actor gold = 100 } } } # Steal the maniest coins. else_if = { limit = { scope:steal_x1000 = yes } give_or_update_embezzler_secret_effect = { TARGET = scope:recipient STAKE = 1000 } scope:recipient = { pay_short_term_gold = { target = scope:actor gold = 1000 } } } } } send_option = { flag = steal_x1 localization = do_a_crime_embezzle_interaction_steal_x1 } send_option = { flag = steal_x100 localization = do_a_crime_embezzle_interaction_steal_x100 } send_option = { flag = steal_x1000 localization = do_a_crime_embezzle_interaction_steal_x1000 } auto_accept = yes } add_glory_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = icon_combat interface_priority = -1 is_shown = { debug_only = yes } send_option = { flag = high_glory localization = add_glory_debug_high_tt } send_option = { flag = low_glory localization = add_glory_debug_low_tt } send_option = { flag = delete_glory localization = add_glory_debug_delete_tt } on_accept = { scope:recipient = { hidden_effect = { if = { limit = { scope:high_glory = yes scope:recipient = { is_acclaimed = yes } } scope:recipient = { accolade = { add_glory = 2500 } } } else_if = { limit = { scope:low_glory = yes scope:recipient = { is_acclaimed = yes } } scope:recipient = { accolade = { add_glory = 250 } } } else_if = { limit = { scope:delete_glory = yes scope:recipient = { is_acclaimed = yes } } scope:recipient = { accolade = { add_glory = -5000 } } } } } } auto_accept = yes } debug_progress_all_active_schemes_interaction = { category = interaction_debug_admin use_diplomatic_range = no ignores_pending_interaction_block = yes icon = debug_secret is_shown = { debug_only = yes } is_valid_showing_failures_only = { scope:actor = { any_scheme = { count >= 1 } } } on_accept = { scope:recipient = { every_scheme = { add_scheme_progress = 100 } } } auto_accept = yes } debug_travel_to_ruler_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = travel_mixed is_shown = { debug_only = yes NOT = { scope:recipient = scope:actor } } on_accept = { scope:actor = { random_courtier_or_guest = { limit = { is_available = yes } save_scope_as = companion1 } random_courtier_or_guest = { limit = { NOT = { this = scope:companion1 } is_available = yes } save_scope_as = companion2 } random_courtier_or_guest = { limit = { NOR = { this = scope:companion1 this = scope:companion2 } is_available = yes } save_scope_as = companion3 } start_travel_plan = { destination = scope:recipient.capital_province companion = scope:companion1 companion = scope:companion2 companion = scope:companion3 on_arrival_event = travel_completion_event.1000 on_arrival_destinations = all_but_last return_trip = no # One way } } } auto_accept = yes } debug_add_truce_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = icon_retreat is_shown = { debug_only = yes NOT = { scope:recipient = scope:actor } } send_option = { flag = one_way_receive localization = truce_one_way_receive } send_option = { flag = one_way_give localization = truce_one_way_give } send_option = { flag = two_way localization = truce_two_way } on_accept = { scope:actor = { switch = { trigger = yes scope:one_way_receive = { scope:recipient = { add_truce_one_way = { character = scope:actor years = 5 name = TRUCE_DEBUG } } } scope:one_way_give = { add_truce_one_way = { character = scope:recipient years = 5 name = TRUCE_DEBUG } } scope:two_way = { add_truce_both_ways = { character = scope:recipient years = 5 name = TRUCE_DEBUG } } } } } auto_accept = yes } spawn_epidemic_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = plague interface_priority = -1 is_shown = { debug_only = yes } send_option = { is_valid = { scope:consumption = no scope:smallpox = no scope:ergotism = no scope:bubonic_plague = no scope:typhus = no scope:dysentery = no } flag = measles localization = spawn_epidemic_interaction_measles } send_option = { is_valid = { scope:measles = no scope:smallpox = no scope:ergotism = no scope:bubonic_plague = no scope:typhus = no scope:dysentery = no } flag = consumption localization = epidemic_consumption } send_option = { is_valid = { scope:measles = no scope:consumption = no scope:ergotism = no scope:bubonic_plague = no scope:typhus = no scope:dysentery = no } flag = smallpox localization = spawn_epidemic_interaction_smallpox } send_option = { is_valid = { scope:measles = no scope:consumption = no scope:smallpox = no scope:bubonic_plague = no scope:typhus = no scope:dysentery = no } flag = ergotism localization = spawn_epidemic_interaction_ergotism } send_option = { is_valid = { scope:measles = no scope:consumption = no scope:smallpox = no scope:ergotism = no scope:typhus = no scope:dysentery = no } flag = bubonic_plague localization = spawn_epidemic_interaction_bubonic_plague } send_option = { is_valid = { scope:measles = no scope:consumption = no scope:smallpox = no scope:ergotism = no scope:bubonic_plague = no scope:dysentery = no } flag = typhus localization = spawn_epidemic_interaction_typhus } send_option = { is_valid = { scope:measles = no scope:consumption = no scope:smallpox = no scope:ergotism = no scope:bubonic_plague = no scope:typhus = no } flag = dysentery localization = spawn_epidemic_interaction_dysentery } send_option = { is_valid = { scope:major = no scope:apocalyptic = no } flag = minor localization = spawn_minor_epidemic_interaction } send_option = { is_valid = { scope:minor = no scope:apocalyptic = no } flag = major localization = spawn_major_epidemic_interaction } send_option = { is_valid = { scope:minor = no scope:major = no } flag = apocalyptic localization = spawn_apocalyptic_epidemic_interaction } send_options_exclusive = no can_send = { calc_true_if = { amount >= 1 scope:measles = yes scope:consumption = yes scope:smallpox = yes scope:ergotism = yes scope:bubonic_plague = yes scope:typhus = yes scope:dysentery = yes } calc_true_if = { amount >= 1 scope:minor = yes scope:major = yes scope:apocalyptic = yes } } on_accept = { scope:recipient.capital_province = { hidden_effect = { switch = { trigger = yes scope:minor = { switch = { trigger = yes scope:measles = { create_epidemic_outbreak = { type = measles intensity = minor } } scope:consumption = { create_epidemic_outbreak = { type = consumption intensity = minor } } scope:smallpox = { create_epidemic_outbreak = { type = smallpox intensity = minor } } scope:dysentery = { create_epidemic_outbreak = { type = dysentery intensity = minor } } scope:bubonic_plague = { create_epidemic_outbreak = { type = bubonic_plague intensity = minor } } scope:ergotism = { create_epidemic_outbreak = { type = ergotism intensity = minor } } scope:typhus = { create_epidemic_outbreak = { type = typhus intensity = minor } } } } scope:major = { switch = { trigger = yes scope:measles = { create_epidemic_outbreak = { type = measles intensity = major } } scope:consumption = { create_epidemic_outbreak = { type = consumption intensity = major } } scope:smallpox = { create_epidemic_outbreak = { type = smallpox intensity = major } } scope:dysentery = { create_epidemic_outbreak = { type = dysentery intensity = major } } scope:bubonic_plague = { create_epidemic_outbreak = { type = bubonic_plague intensity = major } } scope:ergotism = { create_epidemic_outbreak = { type = ergotism intensity = major } } scope:typhus = { create_epidemic_outbreak = { type = typhus intensity = major } } } } scope:apocalyptic = { switch = { trigger = yes scope:measles = { create_epidemic_outbreak = { type = measles intensity = apocalyptic } } scope:consumption = { create_epidemic_outbreak = { type = consumption intensity = apocalyptic } } scope:smallpox = { create_epidemic_outbreak = { type = smallpox intensity = apocalyptic } } scope:dysentery = { create_epidemic_outbreak = { type = dysentery intensity = apocalyptic } } scope:bubonic_plague = { create_epidemic_outbreak = { type = bubonic_plague intensity = apocalyptic } } scope:ergotism = { create_epidemic_outbreak = { type = ergotism intensity = apocalyptic } } scope:typhus = { create_epidemic_outbreak = { type = typhus intensity = apocalyptic } } } } } } } } auto_accept = yes } spawn_legend_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = legend interface_priority = -1 is_shown = { debug_only = yes } send_option = { flag = heroic localization = spawn_legend_interaction_heroic } send_option = { flag = holy localization = spawn_legend_interaction_holy } send_option = { flag = legitimizing localization = spawn_legend_interaction_legitimizing } on_accept = { scope:recipient = { hidden_effect = { if = { limit = { scope:heroic = yes } scope:recipient = { create_legend = { type = heroic quality = famed chronicle = ancestral_glory properties = { ancestor = scope:recipient title = scope:recipient.primary_title } } } } else_if = { limit = { scope:holy = yes } scope:recipient = { create_legend = { type = holy quality = famed chronicle = ancestral_glory properties = { ancestor = scope:recipient title = scope:recipient.primary_title } } } } else_if = { limit = { scope:legitimizing = yes } scope:recipient = { create_legend = { type = legitimizing quality = famed chronicle = ancestral_glory properties = { ancestor = scope:recipient title = scope:recipient.primary_title } } } } } } } auto_accept = yes } debug_buff_schemes = { category = interaction_debug_admin use_diplomatic_range = no ignores_pending_interaction_block = yes icon = scheme_assassination send_options_exclusive = no interface_priority = -1 is_shown = { debug_only = yes } auto_accept = yes # Clear my opportunities. send_option = { flag = debug_buff_schemes_zero_opportunity } # Give me an opportunity. send_option = { flag = debug_buff_schemes_one_opportunity } # Give me max opportunities. send_option = { flag = debug_buff_schemes_many_opportunity } # Give me an agent slot that gives base success chance. send_option = { flag = debug_buff_schemes_give_agent_success_chance_base } # Give me an agent slot that gives success chance growth. send_option = { flag = debug_buff_schemes_give_agent_success_chance_growth } # Give me an agent slot that gives max success chance. send_option = { flag = debug_buff_schemes_give_agent_success_chance_max } # Give me an agent slot that gives speed. send_option = { flag = debug_buff_schemes_give_agent_speed } # Give me an agent slot that gives secrecy. send_option = { flag = debug_buff_schemes_give_agent_secrecy } # Set scheme progress to 1. send_option = { flag = debug_buff_schemes_progress_one } # Set scheme progress to half. send_option = { flag = debug_buff_schemes_progress_half } # Reset scheme progress. send_option = { flag = debug_buff_schemes_progress_reset } on_accept = { custom_tooltip = debug_buff_schemes.tt.application_warning scope:recipient = { every_scheme = { if = { limit = { always = scope:debug_buff_schemes_zero_opportunity } change_opportunities = { value = scheme_agent_charges multiply = -1 } } if = { limit = { always = scope:debug_buff_schemes_one_opportunity } change_opportunities = 2 } if = { limit = { always = scope:debug_buff_schemes_many_opportunity } change_opportunities = opportunity_cap_value } if = { limit = { always = scope:debug_buff_schemes_give_agent_success_chance_base } add_agent_slot = agent_wraith } if = { limit = { always = scope:debug_buff_schemes_give_agent_success_chance_growth } add_agent_slot = agent_changeling } if = { limit = { always = scope:debug_buff_schemes_give_agent_success_chance_max } add_agent_slot = agent_mage } if = { limit = { always = scope:debug_buff_schemes_give_agent_speed } add_agent_slot = agent_werewolf } if = { limit = { always = scope:debug_buff_schemes_give_agent_secrecy } add_agent_slot = agent_vampire } if = { limit = { always = scope:debug_buff_schemes_progress_one } custom_tooltip = { text = debug_buff_schemes_progress_one add_scheme_progress = { value = scheme_phase_duration subtract = scheme_progress add = -1 } } } if = { limit = { always = scope:debug_buff_schemes_progress_half } custom_tooltip = { text = debug_buff_schemes_progress_half add_scheme_progress = { value = scheme_progress multiply = -1 } add_scheme_progress = { value = scheme_phase_duration multiply = 0.5 } } } if = { limit = { always = scope:debug_buff_schemes_progress_reset } custom_tooltip = { text = debug_buff_schemes_progress_reset add_scheme_progress = { value = scheme_progress multiply = -1 } } } } } } } debug_clear_agents_from_schemes = { category = interaction_debug_admin use_diplomatic_range = no ignores_pending_interaction_block = yes icon = independence send_options_exclusive = no interface_priority = -1 is_shown = { debug_only = yes } auto_accept = yes send_option = { flag = debug_clear_agents_from_schemes_slot_1 } send_option = { flag = debug_clear_agents_from_schemes_slot_2 } send_option = { flag = debug_clear_agents_from_schemes_slot_3 } send_option = { flag = debug_clear_agents_from_schemes_slot_4 } send_option = { flag = debug_clear_agents_from_schemes_slot_5 } send_option = { flag = debug_clear_agents_from_schemes_slot_excess } send_option = { flag = debug_clear_agents_from_schemes_slot_all_but_first } send_option = { flag = debug_clear_agents_from_schemes_slot_all } on_accept = { custom_tooltip = debug_buff_schemes.tt.application_warning scope:recipient = { every_scheme = { ordered_scheme_agent_slot = { order_by = { value = 0 } max = 5 if = { limit = { NOT = { exists = scope:slot_1 } } save_scope_as = slot_1 } else_if = { limit = { NOR = { this = scope:slot_1 exists = scope:slot_2 } } save_scope_as = slot_2 } else_if = { limit = { NOR = { this = scope:slot_1 this = scope:slot_2 exists = scope:slot_3 } } save_scope_as = slot_3 } else_if = { limit = { NOR = { this = scope:slot_1 this = scope:slot_2 this = scope:slot_3 exists = scope:slot_4 } } save_scope_as = slot_4 } else_if = { limit = { NOR = { this = scope:slot_1 this = scope:slot_2 this = scope:slot_3 this = scope:slot_4 exists = scope:slot_5 } } save_scope_as = slot_5 } } if = { limit = { always = scope:debug_clear_agents_from_schemes_slot_1 } remove_agent_slot = scope:slot_1 } if = { limit = { always = scope:debug_clear_agents_from_schemes_slot_2 } remove_agent_slot = scope:slot_2 } if = { limit = { always = scope:debug_clear_agents_from_schemes_slot_3 } remove_agent_slot = scope:slot_3 } if = { limit = { always = scope:debug_clear_agents_from_schemes_slot_4 } remove_agent_slot = scope:slot_4 } if = { limit = { always = scope:debug_clear_agents_from_schemes_slot_5 } remove_agent_slot = scope:slot_5 } if = { limit = { always = scope:debug_clear_agents_from_schemes_slot_excess } every_scheme_agent_slot = { limit = { NOR = { this = scope:slot_1 this = scope:slot_2 this = scope:slot_3 this = scope:slot_4 this = scope:slot_5 } } save_scope_as = slot_temp prev = { remove_agent_slot = scope:slot_temp } } } if = { limit = { always = scope:debug_clear_agents_from_schemes_slot_all_but_first } every_scheme_agent_slot = { limit = { NOT = { this = scope:slot_1 } } save_scope_as = slot_temp prev = { remove_agent_slot = scope:slot_temp } } } if = { limit = { always = scope:debug_clear_agents_from_schemes_slot_all } every_scheme_agent_slot = { save_scope_as = slot_temp prev = { remove_agent_slot = scope:slot_temp } } } } } } } debug_make_laamp = { category = interaction_debug_admin desc = debug_make_laamp_desc use_diplomatic_range = no ignores_pending_interaction_block = yes icon = request_invasion_sponsorship_interaction interface_priority = -1 is_shown = { debug_only = yes } auto_accept = yes on_accept = { scope:recipient = { if = { limit = { is_ruler = yes } depose = yes } create_landless_adventurer_title_effect = { REASON = flag:voluntary FLAVOR_CHAR = scope:recipient } } } } debug_add_to_contact_list_interaction = { category = interaction_debug_admin use_diplomatic_range = no ignores_pending_interaction_block = yes icon = icon_contract_modification_single is_shown = { debug_only = yes NOT = { scope:recipient = scope:actor } scope:actor = { is_landless_adventurer = yes } } is_valid_showing_failures_only = { #not already on the list scope:recipient = { NOT = { is_contact_of = scope:actor } } } on_accept = { scope:actor = { add_contact = scope:recipient } } auto_accept = yes } debug_alliance_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = icon_ally is_shown = { debug_only = yes NOR = { scope:recipient = scope:actor scope:recipient = { is_allied_to = scope:actor } scope:recipient = { is_at_war_with = scope:actor } } } on_accept = { scope:actor = { create_alliance = { target = scope:recipient allied_through_owner = scope:actor allied_through_target = scope:recipient } } scope:recipient = { # This opinion modifier controls the interaction, and is removed when breaking the alliance in any way (though on_actions) add_opinion = { modifier = perk_negotiated_alliance_opinion target = scope:actor } } } auto_accept = yes } create_task_contract_interaction = { category = interaction_debug_admin use_diplomatic_range = no ignores_pending_interaction_block = yes icon = icon_contract_modification_single interface_priority = -1 is_shown = { debug_only = yes } send_option = { flag = create_task_contract_interaction_option_1 } send_option = { flag = create_task_contract_interaction_option_2 } send_option = { flag = create_task_contract_interaction_option_3 } send_option = { flag = create_task_contract_interaction_option_4 } send_option = { flag = create_task_contract_interaction_option_5 } is_valid_showing_failures_only = { valid_laamp_basic_trigger = { EMPLOYER = scope:recipient LAAMP = scope:actor } } on_accept = { scope:actor = { # Now fire the contract. switch = { trigger = yes scope:create_task_contract_interaction_option_1 = { create_task_contract = { # Comment/de-comment as appropriate for what you want to fire. #contract_type = laamp_base_0001 #contract_type = laamp_base_1001 #task_contract_type = laamp_base_2001 #task_contract_type = laamp_base_3001 #task_contract_type = laamp_base_4001 #task_contract_type = laamp_base_6001 task_contract_type = laamp_base_4100 task_contract_tier = 0 location = scope:recipient.location task_contract_employer = scope:recipient } } scope:create_task_contract_interaction_option_2 = { create_task_contract = { # Comment/de-comment as appropriate for what you want to fire. #task_contract_type = laamp_base_0011 #task_contract_type = laamp_base_1011 task_contract_type = laamp_base_2011 #task_contract_type = laamp_base_3011 task_contract_type = laamp_base_4011 #task_contract_type = laamp_base_6011 task_contract_tier = 0 location = scope:recipient.location task_contract_employer = scope:recipient } } scope:create_task_contract_interaction_option_3 = { create_task_contract = { # Comment/de-comment as appropriate for what you want to fire. #task_contract_type = laamp_base_0021 #task_contract_type = laamp_base_1021 #task_contract_type = laamp_base_2001 #task_contract_type = laamp_base_3021 task_contract_type = laamp_base_4021 #task_contract_type = laamp_base_6021 task_contract_tier = 0 location = scope:recipient.location task_contract_employer = scope:recipient } } scope:create_task_contract_interaction_option_4 = { create_task_contract = { # Comment/de-comment as appropriate for what you want to fire. #task_contract_type = laamp_base_0031 #task_contract_type = laamp_base_1031 #task_contract_type = laamp_base_2031 #task_contract_type = laamp_base_3031 #task_contract_type = laamp_base_4031 task_contract_type = laamp_base_5031 #task_contract_type = laamp_base_6031 task_contract_tier = 0 location = scope:recipient.location task_contract_employer = scope:recipient } } scope:create_task_contract_interaction_option_5 = { create_task_contract = { # Comment/de-comment as appropriate for what you want to fire. #task_contract_type = laamp_base_0041 #task_contract_type = laamp_base_1041 task_contract_type = laamp_base_2041 #task_contract_type = laamp_base_3041 #task_contract_type = laamp_base_4041 task_contract_tier = 0 location = scope:recipient.location task_contract_employer = scope:recipient } } } } } auto_accept = yes } # Debug move domicile, choose between moving just the domicile, moving the domicile and the owner, and if you want to use the travel system to do it (last option is only for laamps). debug_move_domicile_interaction = { category = interaction_debug_admin use_diplomatic_range = no ignores_pending_interaction_block = yes common_interaction = yes icon = travel_mixed interface_priority = -1 is_shown = { debug_only = yes scope:actor = { has_domicile = yes } } auto_accept = yes send_option = { starts_enabled = { always = yes } flag = move_domicile_option } send_option = { is_shown = { scope:actor = { is_landless_adventurer = yes } } flag = move_with_travel_option } send_options_exclusive = no on_accept = { scope:recipient.capital_province = { save_scope_as = relocation_destination } scope:actor = { if = { limit = { scope:move_domicile_option = yes } if = { limit = { scope:move_with_travel_option = yes } start_travel_plan = { destination = scope:relocation_destination on_start_on_action = on_travel_relocation_start on_arrival_on_action = on_travel_relocation_end on_arrival_destinations = last return_trip = no # One way travel_with_domicile = yes } } else = { domicile = { move_domicile = scope:relocation_destination } populate_location_with_contracts_effect = { AREA_CHAR = scope:actor AMOUNT = 5 } } } else = { if = { limit = { scope:move_with_travel_option = yes } start_travel_plan = { destination = scope:relocation_destination on_start_on_action = on_travel_relocation_start on_arrival_on_action = on_travel_relocation_end on_arrival_destinations = last return_trip = no # One way travel_with_domicile = yes } } else = { domicile = { move_domicile = scope:relocation_destination } populate_location_with_contracts_effect = { AREA_CHAR = scope:actor AMOUNT = 5 } } } } } } debug_populate_contracts = { category = interaction_debug_admin use_diplomatic_range = no ignores_pending_interaction_block = yes common_interaction = no icon = icon_scheme_learn_language interface_priority = -1 is_shown = { debug_only = yes } auto_accept = yes on_accept = { scope:actor = { populate_location_with_contracts_effect = { AREA_CHAR = scope:recipient AMOUNT = 5 } } } } give_infinite_schemes_of_type_interaction = { category = interaction_debug_admin use_diplomatic_range = no ignores_pending_interaction_block = yes icon = icon_adultery interface_priority = -1 is_shown = { debug_only = yes } send_option = { flag = give_infinite_schemes_of_type_all } send_option = { flag = give_infinite_schemes_of_type_hostile } send_option = { flag = give_infinite_schemes_of_type_contract } send_option = { flag = give_infinite_schemes_of_type_personal } send_option = { flag = give_infinite_schemes_of_type_clear_modifiers } on_accept = { scope:actor = { custom_tooltip = give_infinite_schemes_of_type_interaction.tt if = { limit = { scope:give_infinite_schemes_of_type_all = yes } add_character_modifier = infinite_hostile_schemes_modifier add_character_modifier = infinite_contract_schemes_modifier add_character_modifier = infinite_personal_schemes_modifier } if = { limit = { scope:give_infinite_schemes_of_type_hostile = yes } add_character_modifier = infinite_hostile_schemes_modifier } if = { limit = { scope:give_infinite_schemes_of_type_contract = yes } add_character_modifier = infinite_contract_schemes_modifier } if = { limit = { scope:give_infinite_schemes_of_type_personal = yes } add_character_modifier = infinite_personal_schemes_modifier } if = { limit = { scope:give_infinite_schemes_of_type_clear_modifiers = yes } remove_character_modifier = infinite_hostile_schemes_modifier remove_character_modifier = infinite_contract_schemes_modifier remove_character_modifier = infinite_personal_schemes_modifier } } } auto_accept = yes } antagonise_court = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = icon_hostile is_shown = { debug_only = yes } send_option = { flag = vassals_only localization = antagonise_court_vassals_only } send_option = { flag = courtiers_and_guests localization = antagonise_court_courtiers_and_guests } send_option = { flag = present_family localization = antagonise_court_present_family } send_option = { flag = antagonise_all localization = antagonise_court_antagonise_all } on_accept = { scope:recipient = { switch = { trigger = yes scope:vassals_only = { every_vassal = { add_opinion = { target = scope:recipient modifier = hate_opinion opinion = -250 } } } scope:courtiers_and_guests = { every_courtier_or_guest = { add_opinion = { target = scope:recipient modifier = hate_opinion opinion = -250 } } } scope:present_family = { every_close_or_extended_family_member = { add_opinion = { target = scope:recipient modifier = hate_opinion opinion = -250 } } } scope:antagonise_all = { every_vassal = { limit = { NOT = { is_close_or_extended_family_of = scope:recipient } } add_opinion = { target = scope:recipient modifier = hate_opinion opinion = -250 } } every_courtier_or_guest = { limit = { NOT = { is_close_or_extended_family_of = scope:recipient } } add_opinion = { target = scope:recipient modifier = hate_opinion opinion = -250 } } every_close_or_extended_family_member = { add_opinion = { target = scope:recipient modifier = hate_opinion opinion = -250 } } } } } } auto_accept = yes } spawn_courtier_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = guest interface_priority = -1 is_shown = { debug_only = yes scope:recipient = { is_ruler = yes } } send_option = { flag = diplomacy localization = diplomacy } send_option = { flag = martial localization = martial } send_option = { flag = stewardship localization = stewardship } send_option = { flag = intrigue localization = intrigue } send_option = { flag = learning localization = learning } send_option = { flag = prowess localization = prowess } on_accept = { switch = { trigger = yes scope:diplomacy = { create_character = { template = pool_repopulate_diplomacy gender_female_chance = 50 culture = scope:recipient.culture faith = scope:recipient.faith location = scope:recipient.location dynasty = none save_scope_as = new_courtier } } scope:martial = { create_character = { template = pool_repopulate_martial gender_female_chance = recipient_soldier_female_chance culture = scope:recipient.culture faith = scope:recipient.faith location = scope:recipient.location dynasty = none save_scope_as = new_courtier } } scope:stewardship = { create_character = { template = pool_repopulate_stewardship gender_female_chance = 50 culture = scope:recipient.culture faith = scope:recipient.faith location = scope:recipient.location dynasty = none save_scope_as = new_courtier } } scope:intrigue = { create_character = { template = pool_repopulate_intrigue gender_female_chance = 50 culture = scope:recipient.culture faith = scope:recipient.faith location = scope:recipient.location dynasty = none save_scope_as = new_courtier } } scope:learning = { create_character = { template = pool_repopulate_learning gender_female_chance = 50 culture = scope:recipient.culture faith = scope:recipient.faith location = scope:recipient.location dynasty = none save_scope_as = new_courtier } } scope:prowess = { create_character = { template = pool_repopulate_prowess gender_female_chance = recipient_soldier_female_chance culture = scope:recipient.culture faith = scope:recipient.faith location = scope:recipient.location dynasty = none save_scope_as = new_courtier } } } scope:recipient = { custom_tooltip = spawn_courtier_interaction_tt } if = { limit = { exists = scope:new_courtier } scope:recipient = { hidden_effect = { send_interface_toast = { title = spawn_courtier_interaction_tt left_icon = scope:new_courtier right_icon = scope:actor add_courtier = scope:new_courtier hidden_effect = { scope:new_courtier = { return_to_court = yes } } } } } } } auto_accept = yes } destroy_title_interaction = { category = interaction_debug_main use_diplomatic_range = no ignores_pending_interaction_block = yes icon = antagonistic is_shown = { debug_only = yes } send_option = { # Destroys just the top title of the realm is_valid = { scope:recipient = { primary_title.tier >= tier_duchy } } flag = top_title localization = debug_top_title_interaction } send_option = { # Destroys all the titles except county titles in the realm flag = all_title localization = debug_all_title_interaction } on_accept = { switch = { trigger = yes scope:top_title = { scope:recipient = { scope:recipient = { destroy_title = primary_title } } } scope:all_title = { scope:recipient = { every_sub_realm_title = { limit = { tier >= tier_duchy } scope:recipient = { destroy_title = prev } } } } } } auto_accept = yes }