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 Council Position

variesInfluenceThe AI weighs it (the answer is partly random)

Use Influence to gain a Council position in your Liege's council

What you need

You

To send it

  • Is an Adult
  • Is not at war with the target
  • Is not a Councillor
  • Not all of these

    • has_council_position = councillor_court_chaplain
    • Your rite: The rite has The Realm Priest or Court Chaplain have their seat for life
  • … are the Ceremonial Monarch
  • If

    a check the game hides

    Then

    • The target’s councillor: They can be fired from … Council

To see it in the menu

  • you has administrative government mechanic
  • If played by the AI:
  • Your liege:
    • Not all of these

      • Holds China
      • Government is Celestial
      • Their government has the government uses ministry budget flag
  • Is a direct vassal of the target
  • If

    a check the game hides

    Then

    • The target:
      • can_fire_position = yes

The character you target

  • they has administrative government mechanic

Ask for Council Position is a vassal character interaction in Crusader Kings III. You need: Is an Adult, Is not at war with the target and Is not a Councillor. The AI weighs it (the answer is partly random). Reasons the AI weighs include Reluctance (-50), They is your Rival (-50), They is your Friend (+25) and 2 more. It costs Influence (varies). Patch 1.20.1.2, from game/common/character_interactions/06_ep3_interactions.txt.

for a guide, post or blog
Quick answers (3)
What are the requirements for Ask for Council Position in CK3?
You: Is an Adult, Is not at war with the target and Is not a Councillor. (patch 1.20.1.2)
How do I get the AI to accept Ask for Council Position?
The AI weighs it (the answer is partly random). Its reasons: Reluctance -50, … Opinion of …, … Opinion of …, They is your Rival -50, They is your Friend +25, Your Skill is better, Your Skill is better, Your Skill is better, Your Skill is better, Your Skill is better, Your Skill is worse, Your Skill is worse, Your Skill is worse, Your Skill is worse, Your Skill is worse, You are a Powerful Vassal +75, You belong… to a Powerful Family +100 and Difference in Level of Influence.
How much does Ask for Council Position cost?
Influence (varies) (patch 1.20.1.2).

Will they accept?

The AI adds these up and accepts above zero; near zero the answer is partly random (ai_maybe). Reasons in italics are the script's, with no label in the game.

ReasonAmount
Base0
Reluctance-50
… Opinion of …varies
… Opinion of …varies
Their personality (AI values: energy 0.25, greed 0.4, honor -0.4)varies
They is your Rival
when
  • Has the target as rival
-50
They is your Friend
when
  • Has the target as friend
+25
Your Skill is better
when
  • scope:target = council_task:councillor_chancellor
  • root.diplomacy > scope:target.councillor.diplomacy
varies
Your Skill is better
when
  • scope:target = council_task:councillor_marshal
  • root.martial > scope:target.councillor.martial
varies
Your Skill is better
when
  • scope:target = council_task:councillor_steward
  • root.stewardship > scope:target.councillor.stewardship
varies
Your Skill is better
when
  • scope:target = council_task:councillor_spymaster
  • root.intrigue > scope:target.councillor.intrigue
varies
Your Skill is better
when
  • scope:target = council_task:councillor_court_chaplain
  • root.learning > scope:target.councillor.learning
varies
Your Skill is worse
when
  • scope:target = council_task:councillor_chancellor
  • root.diplomacy < { value = scope:target.councillor.diplomacy subtract = 10 }
varies
Your Skill is worse
when
  • scope:target = council_task:councillor_marshal
  • root.martial < { value = scope:target.councillor.martial subtract = 10 }
varies
Your Skill is worse
when
  • scope:target = council_task:councillor_steward
  • root.stewardship < { value = scope:target.councillor.stewardship subtract = 10 }
varies
Your Skill is worse
when
  • scope:target = council_task:councillor_spymaster
  • root.intrigue < scope:target.councillor.intrigue
varies
Your Skill is worse
when
  • scope:target = council_task:councillor_court_chaplain
  • root.learning < scope:target.councillor.learning
varies
You are a Powerful Vassal
when
  • is_powerful_vassal = yes
  • The target’s councillor:
    • is_powerful_vassal = no
+75
You belong… to a Powerful Family
when
  • Your house:
    • is_powerful_family = yes
  • The target’s councillor’s house:
    • is_powerful_family = no
+100
Difference in Level of Influence
when
  • root.influence_level != scope:target.councillor.influence_level
varies
Acceptance (ai_accept) (179 lines of game script)
base = 0
modifier = {
	add = -50
	desc = BASE_RELUCTANCE
}
opinion_modifier = {
	who = scope:recipient
	opinion_target = scope:actor
	multiplier = 0.8
	desc = AI_OPINION_REASON
}
opinion_modifier = {
	who = scope:recipient
	opinion_target = scope:target.councillor
	multiplier = -0.8
	desc = AI_OPINION_REASON
}
ai_value_modifier = {
	ai_energy = 0.25
	ai_greed = 0.4
	ai_honor = -0.4
}
modifier = {
	scope:actor = {
		has_relation_rival = scope:recipient
	}
	add = -50
	desc = AI_YOUR_RIVAL
}
modifier = {
	scope:actor = {
		has_relation_friend = scope:recipient
	}
	add = 25
	desc = AI_YOUR_FRIEND
}
modifier = {
	scope:target = council_task:councillor_chancellor
	scope:actor.diplomacy > scope:target.councillor.diplomacy
	desc = AI_BETTER_AT_THE_JOB
	add = {
		value = scope:actor.diplomacy
		subtract = scope:target.councillor.diplomacy
		multiply = 10
	}
}
modifier = {
	scope:target = council_task:councillor_marshal
	scope:actor.martial > scope:target.councillor.martial
	desc = AI_BETTER_AT_THE_JOB
	add = {
		value = scope:actor.martial
		subtract = scope:target.councillor.martial
		multiply = 10
	}
}
modifier = {
	scope:target = council_task:councillor_steward
	scope:actor.stewardship > scope:target.councillor.stewardship
	desc = AI_BETTER_AT_THE_JOB
	add = {
		value = scope:actor.stewardship
		subtract = scope:target.councillor.stewardship
		multiply = 10
	}
}
modifier = {
	scope:target = council_task:councillor_spymaster
	scope:actor.intrigue > scope:target.councillor.intrigue
	desc = AI_BETTER_AT_THE_JOB
	add = {
		value = scope:actor.intrigue
		subtract = scope:target.councillor.intrigue
		multiply = 10
	}
}
modifier = {
	scope:target = council_task:councillor_court_chaplain
	scope:actor.learning > scope:target.councillor.learning
	desc = AI_BETTER_AT_THE_JOB
	add = {
		value = scope:actor.learning
		subtract = scope:target.councillor.learning
		multiply = 10
	}
}
modifier = {
	scope:target = council_task:councillor_chancellor
	scope:actor.diplomacy < {
		value = scope:target.councillor.diplomacy
		subtract = 10
	}
	desc = AI_WORSE_AT_THE_JOB
	add = {
		value = scope:actor.diplomacy
		subtract = scope:target.councillor.diplomacy
		add = 10
		multiply = 2
	}
}
modifier = {
	scope:target = council_task:councillor_marshal
	scope:actor.martial < {
		value = scope:target.councillor.martial
		subtract = 10
	}
	desc = AI_WORSE_AT_THE_JOB
	add = {
		value = scope:actor.martial
		subtract = scope:target.councillor.martial
		add = 10
		multiply = 2
	}
}
modifier = {
	scope:target = council_task:councillor_steward
	scope:actor.stewardship < {
		value = scope:target.councillor.stewardship
		subtract = 10
	}
	desc = AI_WORSE_AT_THE_JOB
	add = {
		value = scope:actor.stewardship
		subtract = scope:target.councillor.stewardship
		add = 10
		multiply = 2
	}
}
modifier = {
	scope:target = council_task:councillor_spymaster
	scope:actor.intrigue < scope:target.councillor.intrigue
	desc = AI_WORSE_AT_THE_JOB
	add = {
		value = scope:actor.intrigue
		subtract = scope:target.councillor.intrigue
		add = 10
		multiply = 2
	}
}
modifier = {
	scope:target = council_task:councillor_court_chaplain
	scope:actor.learning < scope:target.councillor.learning
	desc = AI_WORSE_AT_THE_JOB
	add = {
		value = scope:actor.learning
		subtract = scope:target.councillor.learning
		add = 10
		multiply = 2
	}
}
modifier = {
	scope:actor = {
		is_powerful_vassal = yes
	}
	scope:target.councillor = {
		is_powerful_vassal = no
	}
	desc = AI_POWERFUL_VASSAL
	add = 75
}
modifier = {
	scope:actor.house ?= {
		is_powerful_family = yes
	}
	scope:target.councillor.house ?= {
		is_powerful_family = no
	}
	desc = AI_POWERFUL_FAMILY
	add = 100
}
modifier = {
	scope:actor.influence_level != scope:target.councillor.influence_level
	add = {
		value = scope:actor.influence_level
		subtract = scope:target.councillor.influence_level
		multiply = 10
	}
	desc = AI_DIFFERENCE_INFLUENCE
}

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

What happens

If they accept

  • … cannot be fired for 25 years
  • If

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

    Then

  • If

    • The target’s councillor’s primary title:
      • One of these

        • this = title:e_minister_chancellor
        • or

          this = title:e_minister_censor
        • or

          this = title:e_minister_grand_marshal
        • or

          this = title:e_minister_of_personnel
        • or

          this = title:e_minister_of_revenue
        • or

          this = title:e_minister_of_rites
        • or

          this = title:e_minister_of_war
        • or

          this = title:e_minister_of_justice
        • or

          this = title:e_minister_of_works
    • The character you target:
      • NOT = { has_appointment_level_for_title = scope:target.councillor.primary_title }

    Then

  • Stress and fulfillment impact: by trait: Content +20
  • The character you target:
    • assign_council_task = { target = scope:actor council_task = scope:council_task }
    • Influence +150
    • … … made a Councillor

If they refuse

Events it fires: ep3_interactions_events.0020

• 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) (32 lines of game script)
is_available = government_has_mechanic = administrative
trigger_if = {
	limit = {
		is_ai = yes
	}
	is_councillor = no
	top_liege != this
	liege ?= {
		is_at_war = no
		NOT = {
			has_character_flag = refused_council_request
		}
	}
}
liege ?= {
	tgp_has_access_to_ministry_trigger = no
}
is_shown = scope:actor = {
	liege ?= scope:recipient
}
scope:recipient = {
	government_has_mechanic = administrative
	this != scope:actor
}
trigger_if = {
	limit = {
		exists = scope:target.councillor
	}
	scope:target = {
		can_fire_position = yes
	}
}

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

Can be sent when (is_valid…) (14 lines of game script)
scope:actor = {
	is_adult = yes
	NOT = {
		is_at_war_with = scope:recipient
	}
	is_councillor = no
	NAND = {
		has_council_position = councillor_court_chaplain
		rite = {
			rite_has_parameter = clerical_appointment_fixed
		}
	}
	tgp_is_ceremonial_liege_trigger = no
}

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

Effects (on_send, on_accept, on_decline) (90 lines of game script)
on_accept = scope:target = {
	save_scope_as = council_task
}
scope:actor = {
	block_firing_councillor_effect = {
		COURT_OWNER = scope:recipient
	}
	custom_tooltip = force_onto_council.recipient.tt.duration
	hidden_effect = {
		send_interface_toast = {
			type = event_toast_effect_good
			title = force_onto_council.actor.tt
			left_icon = scope:recipient
			custom_tooltip = force_onto_council.actor.tt.duration
			show_as_tooltip = {
				change_influence = admin_council_loss_value
			}
		}
	}
	tgp_activate_catalyst_against_hegemon_effect = {
		HEGEMON = scope:recipient
		CATALYST = catalyst_hegemon_influenced_by_interaction
	}
	if = {
		limit = {
			scope:target.councillor.primary_title ?= {
				tgp_is_minister_title = yes
			}
			scope:recipient = {
				NOT = {
					has_appointment_level_for_title = scope:target.councillor.primary_title
				}
			}
		}
		show_as_tooltip = {
			situation:dynastic_cycle ?= {
				if = {
					limit = {
						situation_top_has_catalyst = catalyst_hegemon_appointing_low_merit_councillor
					}
					trigger_situation_catalyst = {
						catalyst = catalyst_hegemon_appointing_low_merit_councillor
						character = scope:recipient
					}
				}
			}
		}
	}
	stress_and_fulfillment_impact = {
		content = minor_stress_impact_gain
	}
}
scope:recipient = {
	assign_council_task = {
		target = scope:actor
		council_task = scope:council_task
	}
	change_influence = massive_influence_gain
	custom_tooltip = force_onto_council.desc.tt
	hidden_effect = {
		send_interface_toast = {
			type = event_toast_effect_neutral
			title = force_onto_council.recipient.tt
			left_icon = scope:actor
			custom_tooltip = force_onto_council.recipient.tt.duration
			show_as_tooltip = {
				change_influence = massive_influence_gain
			}
		}
	}
}
on_decline = scope:actor = {
	add_opinion = {
		target = scope:recipient
		modifier = disappointed_opinion
		opinion = -25
	}
	trigger_event = ep3_interactions_events.0020
}
scope:recipient = {
	if = {
		limit = {
			is_ai = no
		}
		add_character_flag = {
			flag = refused_council_request
			years = 15
		}
	}
}

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

Category
Vassal actions
Cost: Influence
varies
Again on the same character
after 25 years
In the menu
under More…
ID
request_council_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?