CK3 DatabaseCrusader Kings III · 1.20.1.2 “Crozier” · unofficial
Silk & Silverout Tue, Nov 17What's free, what needs the DLC, price →

Interaction · Vassal actions

Ask for Permission to Declare War

No costThe AI weighs it

Ask the recipient for permission to declare a single War to expand the borders of the Realm

What you need

You

To send it

  • Is at not War
  • You already have permission to declare a war
  • Your top liege: The Laws of your Liege prevents you from declaring War

To see it in the menu

  • you has administrative government mechanic
  • Your top liege:
    • has_realm_law_flag = admin_vassal_wars_permission_only
  • One of these

    • vassal_contract_has_flag = admin_theme_frontier
    • or

      vassal_contract_has_flag = admin_theme_naval
  • If played by the AI:
    • Is an Adult
    • Your liege: Is at not War
  • root.liege = scope:recipient

The character you target

Ask for Permission to Declare War is a vassal character interaction in Crusader Kings III. You need: Is at not War and You already have permission to declare a war. The character you target needs: Does not have a Strong Hook on you. The AI weighs it. Reasons the AI weighs include Weak Hook used (+100), They is your Rival (-100), We are Close Family (+20) and 4 more. Patch 1.20.1.2, from game/common/character_interactions/06_ep3_interactions.txt.

for a guide, post or blog
Quick answers (2)
What are the requirements for Ask for Permission to Declare War in CK3?
You: Is at not War and You already have permission to declare a war. The character you target: Does not have a Strong Hook on you. (patch 1.20.1.2)
How do I get the AI to accept Ask for Permission to Declare War?
The AI weighs it. Its reasons: Opinion, Weak Hook used +100, Exerting Influence (based on your Level of Influence), They is your Rival -100, We are Close Family +20, We are Extended Family +10, You … the recipient's friend +20, Your House is a Powerful Family +15 and Your House is a Dominant Family +30.

Will they accept?

The AI adds these up and accepts above zero. Reasons in italics are the script's, with no label in the game.

ReasonAmount
Base-50
Opinionvaries
Weak Hook used
when
+100
Exerting Influence (based on your Level of Influence)
when
  • The option “influence” is chosen
varies
They is your Rival
when
  • Has the target as rival
-100
We are Close Family
when
  • The character you target: Is close family of you
+20
We are Extended Family
when
  • The character you target: Is extended family of you
+10
You … the recipient's friend
when
  • Has the target as friend
+20
Your House is a Powerful Family
when
  • Your house:
    • is_powerful_family = yes
+15
Your House is a Dominant Family
when
  • Your house:
    • is_dominant_family = yes
+30
Acceptance (ai_accept) (63 lines of game script)
base = -50
opinion_modifier = {
	who = scope:recipient
	opinion_target = scope:actor
	multiplier = 1
	desc = AI_SIMPLE_OPINION_REASON
}
modifier = {
	scope:hook = yes
	add = 100
	desc = SCHEME_WEAK_HOOK_USED
}
modifier = {
	scope:influence = yes
	add = {
		value = 20
		multiply = scope:actor.influence_level
		min = 5
	}
	desc = INFLUENCE_REASON
}
modifier = {
	scope:actor = {
		has_relation_rival = scope:recipient
	}
	add = -100
	desc = AI_YOUR_RIVAL
}
modifier = {
	scope:recipient = {
		is_close_family_of = scope:actor
	}
	add = 20
	desc = CLOSE_FAMILY_REASON
}
modifier = {
	scope:recipient = {
		is_extended_family_of = scope:actor
	}
	add = 10
	desc = EXTENDED_FAMILY_REASON
}
modifier = {
	scope:actor = {
		has_relation_friend = scope:recipient
	}
	add = 20
	desc = WE_ARE_FRIENDS
}
modifier = {
	scope:actor.house ?= {
		is_powerful_family = yes
	}
	add = 15
	desc = YOUR_FAMILY_IS_POWERFUL
}
modifier = {
	scope:actor.house ?= {
		is_dominant_family = yes
	}
	add = 30
	desc = YOUR_FAMILY_IS_DOMINANT
}

As written in game/common/character_interactions/06_ep3_interactions.txt.

What happens

If they accept

  • You will gain permission to start a single War against another Realm
  • If

    • The option “influence” is chosen

    Then

    • change_influence = { value = massive_influence_loss multiply = 2 }
    • The character you target:
      • change_influence = { value = massive_influence_gain multiply = 2 }
  • If

    • You use a Hook
    • Has a Hook on the target

    Then

    • Use a Hook on the target
  • If

    • title:h_china.holder ?= scope:recipient
    • Any character situation:

    Then

If they refuse

  • Influence -30
  • Opinion: Disappointed (-20)

Options when sending

  • Use Influence
  • Use a Hook

• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists

Who can use it and sees it (is_available, is_shown) (18 lines of game script)
is_available = government_has_mechanic = administrative
top_liege ?= {
	has_realm_law_flag = admin_vassal_wars_permission_only
}
OR = {
	vassal_contract_has_flag = admin_theme_frontier
	vassal_contract_has_flag = admin_theme_naval
}
trigger_if = {
	limit = {
		is_ai = yes
	}
	is_adult = yes
	liege ?= {
		is_at_war = no
	}
}
is_shown = scope:actor.liege = scope:recipient

As written in game/common/character_interactions/06_ep3_interactions.txt.

Can be sent when (is_valid…) (22 lines of game script)
scope:recipient = {
	NOT = {
		has_strong_hook = scope:actor
	}
}
scope:actor = {
	is_at_war = no
	custom_tooltip = {
		text = admin_has_war_permission_already_desc
		NOT = {
			has_variable = admin_permission_to_declare_war
		}
	}
	top_liege = {
		custom_tooltip = {
			text = admin_all_vassal_wars_banned
			NOT = {
				has_realm_law_flag = admin_vassal_wars_banned
			}
		}
	}
}

As written in game/common/character_interactions/06_ep3_interactions.txt.

Effects (on_send, on_accept, on_decline) (59 lines of game script)
on_accept = scope:actor = {
	custom_tooltip = {
		text = admin_gain_war_permission_desc
		set_variable = admin_permission_to_declare_war
	}
	hidden_effect = {
		send_interface_toast = {
			type = event_toast_effect_good
			title = admin_gained_war_permission_title
			left_icon = scope:recipient
			custom_tooltip = admin_gained_war_permission_desc
		}
	}
	if = {
		limit = {
			scope:influence = yes
		}
		change_influence = {
			value = massive_influence_loss
			multiply = 2
		}
		scope:recipient = {
			change_influence = {
				value = massive_influence_gain
				multiply = 2
			}
		}
	}
	if = {
		limit = {
			scope:hook = yes
			has_hook = scope:recipient
		}
		use_hook = scope:recipient
	}
	tgp_activate_catalyst_against_hegemon_effect = {
		HEGEMON = scope:recipient
		CATALYST = catalyst_hegemon_influenced_by_interaction
	}
}
on_decline = scope:actor = {
	change_influence = minor_influence_loss
	add_opinion = {
		target = scope:recipient
		modifier = disappointed_opinion
		opinion = -20
	}
	hidden_effect = {
		send_interface_toast = {
			type = event_toast_effect_bad
			title = admin_declined_war_permission_title
			left_icon = scope:recipient
			custom_tooltip = admin_declined_war_permission_desc
			show_as_tooltip = {
				change_influence = minor_influence_loss
			}
		}
	}
}

As written in game/common/character_interactions/06_ep3_interactions.txt.

Category
Vassal actions
Again on the same character
after 10 years
In the menu
under More…
ID
ep3_governor_request_war_permission_interaction

Source: game/common/character_interactions/06_ep3_interactions.txt and the English localisation, Crusader Kings III 1.20.1.2. “You” is the character who sends it (scope:actor, or a puppet acting for you); “the character you target” is the recipient.

Spotted a mistake on this page?