join_war_interaction = { category = interaction_category_diplomacy interface = interfere_in_war special_interaction = interfere_in_war_interaction popup_on_receive = yes desc = join_war_interaction_desc icon = change_allegiance greeting = positive notification_text = join_war_interaction_notification is_shown = { scope:recipient = { is_at_war = yes NOR = { this = scope:actor is_at_war_with = scope:actor } } } is_valid_showing_failures_only = { # recipient is not in (any) war against your liege(s) trigger_if = { limit = { exists = scope:actor.liege } custom_description = { text = join_war_interaction_recipient_warring_with_my_liege subject = scope:recipient scope:actor = { NOT = { any_liege_or_above = { is_at_war_with = scope:recipient } } } } } # recipient is ally or defending against a holy war trigger_if = { limit = { scope:actor = { NOT = { target_is_liege_or_above = scope:recipient } } } trigger_if = { limit = { scope:recipient = { any_character_war = { OR = { #Must be either the same faith as the character being holy warred... scope:recipient.faith = scope:actor.faith #... Or, same religion, *and* you couldn't holy war them yourself. AND = { scope:recipient.faith.religion = scope:actor.faith.religion scope:actor.faith = { faith_hostility_level = { target = scope:recipient.faith value < religious_cb_enabled_hostility_level } } } } any_war_defender = { this = scope:recipient } } } } # Deliberately blank; we've passed the trigger and making a desc out of this doesn't make sense } } # recipient is liege trigger_else = { custom_description = { text = join_war_interaction_recipient_not_liege subject = scope:recipient scope:actor = { target_is_liege_or_above = scope:recipient } } } } can_be_picked = { exists = scope:target scope:target = { # recipient is war leader is_war_leader = scope:recipient # If not holy war, special exception for liege trying to put down his vassal's peasant revolt. trigger_if = { limit = { is_religious_war = no scope:actor = { target_is_vassal_or_below = scope:recipient } primary_defender = scope:recipient primary_attacker = { is_leading_faction_type = peasant_faction } } always = yes } # making the default behavior explicit if no other trigger_(else_)ifs are valid trigger_else = { always = yes } } joiner_not_already_in_another_war_with_any_target_war_participants_trigger = { WARRIOR = scope:recipient JOINER = scope:actor } } on_accept = { scope:target = { hidden_effect = { set_called_to = scope:actor } if = { limit = { is_attacker = scope:recipient } add_attacker = scope:actor } else = { add_defender = scope:actor } } scope:actor = { stress_impact = { craven = medium_stress_impact_gain shy = minor_stress_impact_gain } } scope:recipient = { if = { limit = { is_ai = yes } progress_towards_friend_effect = { CHARACTER = scope:actor OPINION = no } } else = { hidden_effect = { #To nudge friendship if = { limit = { NOR = { has_relation_friend = scope:actor has_relation_potential_friend = scope:actor } } set_relation_potential_friend = scope:actor } } } } } on_decline = { scope:actor = { trigger_event = char_interaction.0236 } } auto_accept = yes ai_accept = { base = 100 # everyone wants help } ai_will_do = { base = -1000 # only players can join all the wars } }