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

Interaction · Candidacy

Retire Governor

variesInfluenceAccepted automatically

Have the recipient relinquish their offices, passing all held Governorships to the next Candidate in Line

What you need

You

To send it

  • Is not at war with the target
  • Any vassal: Is a Governor
  • The target is not you
  • You cannot demand the resignation of members of a Dominant Family
  • Also needed: not imprisoned

To see it in the menu

  • you has administrative government mechanic
  • Is an Independent Ruler
  • If played by the AI:
    • Influence more than 150
    • Is at not War

The character you target

To send it

  • If

    • You:
      • has_realm_law_flag = celestial_retirement_law

    Then

    • Your top liege:
      • has_realm_law_flag = celestial_retirement_law
    • If

      • Your top liege:
        • has_realm_law_flag = celestial_retirement_age_4

      Then

      Else if

      • Your top liege:
        • has_realm_law_flag = celestial_retirement_age_3

      Then

      Else if

      • Your top liege:
        • has_realm_law_flag = celestial_retirement_age_2

      Then

      Else if

      • Your top liege:
        • has_realm_law_flag = celestial_retirement_age_1

      Then

      Else if

      • Your top liege:
        • has_realm_law_flag = celestial_retirement_age_0

      Then

      Else if

      • Your top liege:
        • has_realm_law_flag = celestial_retirement_age_5

      Then

      Otherwise

To see it in the menu

Retire Governor is a candidacy character interaction in Crusader Kings III. You need: Is not at war with the target, Is not imprisoned, The target is not you and 1 more. Accepted automatically. 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 Retire Governor in CK3?
You: Is not at war with the target, Is not imprisoned, The target is not you and You cannot demand the resignation of members of a Dominant Family. (patch 1.20.1.2)
Will the AI accept Retire Governor?
Yes: it is accepted automatically.
How much does Retire Governor cost?
Influence (varies) (patch 1.20.1.2).

Will they accept?

The other character has no choice: the game accepts it automatically.

What happens

Effects

  • If

    • has_realm_law_flag = celestial_retirement_law
    • The character you target:
      • Your top liege:
        • has_realm_law_flag = celestial_retirement_law
      • If

        • Your top liege:
          • has_realm_law_flag = celestial_retirement_age_4

        Then

        Else if

        • Your top liege:
          • has_realm_law_flag = celestial_retirement_age_3

        Then

        Else if

        • Your top liege:
          • has_realm_law_flag = celestial_retirement_age_2

        Then

        Else if

        • Your top liege:
          • has_realm_law_flag = celestial_retirement_age_1

        Then

        Else if

        • Your top liege:
          • has_realm_law_flag = celestial_retirement_age_0

        Then

        Else if

        • Your top liege:
          • has_realm_law_flag = celestial_retirement_age_5

        Then

        Otherwise

    • You have Treasury

    Then

    • pay_treasury_to_gold = { target = scope:recipient value = scope:force_retirement_treasury_cost }
  • The character you target:
    • If

      • Their house:
        • One of these

          • is_powerful_family = yes
          • or

            is_dominant_family = yes
      • Is an Adult
      • You: Is an Adult
      • Does not have you as friend
      • Does not have you as best friend
      • Does not have you as rival
      • Does not have you as nemesis

      Then

      • If

        • The target char: Highest held Title is more than Barony Rank
        • One of these

          • Highest held Title is at most Barony Rank
          • or

            highest_held_title_tier <= { value = scope:target_char.highest_held_title_tier subtract = 3 }
        • None of these

          • Is family of the target char
          • Is the target char’s consort
          • Any heir title:
            • tier >= { value = scope:target_char.highest_held_title_tier subtract = 2 }

        Then

        • If

          • Does not have the target char as grudge

          Then

          • If a check the game hides passes: the same again (1 line)
            Else if a check the game hides passes: the same again (1 line)
            Else if a check the game hides passes: the same again (1 line)

            Otherwise

          Otherwise

          • Opinion: Grudge Exacerbated (-20)

        Else if

        • Has the target char as potential rival
        • Is an Adult
        • The target char: Is an Adult
        • Does not have the target char as friend
        • Does not have the target char as best friend
        • Does not have the target char as rival
        • Does not have the target char as nemesis

        Then

        • If a check the game hides passes: the same again (1 line)
          Else if a check the game hides passes: the same again (1 line)
          Else if a check the game hides passes: the same again (1 line)

          Otherwise

        Otherwise

        • If

          • Does not have the target char as friend
          • Does not have the target char as best friend
          • Does not have the target char as rival
          • Does not have the target char as nemesis
          • Does not have the target char as potential rival

          Then

          • set_relation_potential_rival = scope:target_char
        • If

          • NOT = { scope:rival_opinion = 0 }

          Then

          • If

            • The target char: Is played by the AI

            Then

            • The target char gains the opinion “Hatred” of them
          • Opinion: Hatred
    • Opinion: Deposed Me from Office
    • All House … members will lose Opinion
    • If

      Then

      • Every in list: Opinion: Facilitated My Succession
    • Event ep3_interactions_events.0630
    • … (more in the script below)

If they refuse

  • The character you target: Opinion: Deposed Me from Office
  • If

    a check the game hides

    Then

    • If

      • has_revoke_title_reason = scope:recipient

      Then

      • consume_revoke_title_reason = scope:recipient

      Otherwise

      • change_strife_opinion = major_strife_gain

    Else if

    • None of these

      • exists = scope:administrative_revocation
      • has_revoke_title_reason = scope:recipient
      • If

        a check the game hides

        Then

        • has_claim_on = scope:landed_title
      • All of these

        • you has administrative government mechanic
        • Is an Independent Ruler
        • The character you target:
          • they has administrative government mechanic
          • Is a vassal (or below) of the liege temp
      • All of these

        • Your rite: The rite has Revoking titles from Sinful Vassals does not incur Tyranny
        • The character you target:
          • num_sinful_traits = { value > 0 target = prev.rite }
      • All of these

        • The character you target:
          • NOT = { vassal_contract_has_flag = religiously_protected }
        • One of these

          • All of these

            • Your rite: The rite has Can revoke landed titles from Evil infidels without incurring Tyranny
            • Your faith:
              • faith_hostility_level = { target = scope:recipient.faith value = faith_evil_level }
          • or

            All of these

            • Your rite: The rite has Can revoke landed titles from Hostile and Evil infidels without incurring Tyranny
            • Your faith:
              • faith_hostility_level = { target = scope:recipient.faith value >= faith_hostile_level }

    Then

    • Tyranny +20
    • If

      • Has Legitimacy
      • None of these

        • The landed title:
          • duchy = scope:liege_temp_scope.capital_county.duchy

      Then

    • If your culture is not the same as that of recipient › The target’s culture:
      • change_cultural_acceptance = { target = scope:liege_temp_scope.culture value = revoke_title_culture_acceptance_impact desc = cultural_acceptance_loss_revokation }

    Otherwise

    • If

      • you has administrative government mechanic
      • Is an Independent Ruler
      • The character you target:
        • they has administrative government mechanic
        • Is a vassal (or below) of the liege temp

      Then

      • Because … … a Governor, they can revoke … titles without being viewed as a Tyrant

      Else if

      • has_claim_on = scope:landed_title

      Then

      • You have a Claim on the Title, allowing you to revoke it without being viewed as a Tyrant

      Else if

      • has_revoke_title_reason = scope:recipient

      Then

      • … … a known Criminal (…), allowing … to revoke … Title without being viewed as a Tyrant

      Else if

      • Your rite:
        • One of these

          • The rite has Can revoke landed titles from Evil infidels without incurring Tyranny
          • or

            The rite has Can revoke landed titles from Hostile and Evil infidels without incurring Tyranny
      • Your faith:
        • faith_hostility_level = { target = scope:recipient.faith value >= faith_hostile_level }

      Then

      • If

        • Your rite: The rite has Can revoke landed titles from Hostile and Evil infidels without incurring Tyranny
        • Your faith:
          • faith_hostility_level = { target = scope:recipient.faith value = faith_hostile_level }

        Then

        • Because you consider ⟨faith⟩ to be Hostile, you can revoke … titles without being viewed as a Tyrant

        Otherwise

        • Because you consider ⟨faith⟩ to be Evil, you can revoke … titles without being viewed as a Tyrant
      • Every ⟨faith⟩ vassal:
        • Where: Their faith is the same as that of recipient
        • Opinion: Angry (-20)
  • If

    • None of these

      • exists = scope:administrative_revocation
      • has_revoke_title_reason = scope:recipient
      • If

        a check the game hides

        Then

        • has_claim_on = scope:landed_title
      • All of these

        • you has administrative government mechanic
        • Is an Independent Ruler
        • The character you target:
          • they has administrative government mechanic
          • Is a vassal (or below) of the liege temp
      • All of these

        • Your rite: The rite has Revoking titles from Sinful Vassals does not incur Tyranny
        • The character you target:
          • num_sinful_traits = { value > 0 target = prev.rite }
      • All of these

        • The character you target:
          • NOT = { vassal_contract_has_flag = religiously_protected }
        • One of these

          • All of these

            • Your rite: The rite has Can revoke landed titles from Evil infidels without incurring Tyranny
            • Your faith:
              • faith_hostility_level = { target = scope:recipient.faith value = faith_evil_level }
          • or

            All of these

            • Your rite: The rite has Can revoke landed titles from Hostile and Evil infidels without incurring Tyranny
            • Your faith:
              • faith_hostility_level = { target = scope:recipient.faith value >= faith_hostile_level }

    Then

    • Stress and fulfillment impact: by trait: Generous +40, Just +40

    Else if

    • NOT = { has_revoke_title_reason = scope:recipient }

    Then

    • Stress and fulfillment impact: by trait: Generous +20, Forgiving +20
  • The character you target: … (more in the script below)
  • … (more in the script below)

Options when sending

  • Use a Hook

Events it fires: ep3_interactions_events.0630, char_interaction.0232

• 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) (14 lines of game script)
is_available = government_has_mechanic = administrative
top_liege ?= this
trigger_if = {
	limit = {
		is_ai = yes
	}
	influence > massive_influence_value
	is_at_war = no
}
is_shown = scope:recipient = {
	this != scope:actor
	is_governor = yes
	is_vassal_of = scope:actor
}

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

Can be sent when (is_valid…) (28 lines of game script)
scope:actor = {
	NOT = {
		is_at_war_with = scope:recipient
	}
	any_vassal = {
		is_governor = yes
	}
	is_imprisoned = no
}
scope:recipient = {
	trigger_if = {
		limit = {
			scope:actor = {
				has_realm_law_flag = celestial_retirement_law
			}
		}
		tgp_is_above_retirement_age_trigger = {
			REALM_OWNER = scope:actor
		}
	}
}
scope:recipient != scope:actor
custom_tooltip = {
	text = demand_governor_removal_dominant_family_tt
	scope:recipient.house ?= {
		is_dominant_family = no
	}
}

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

Effects (on_send, on_accept, on_decline) (208 lines of game script)
on_accept = scope:actor = {
	if = {
		limit = {
			has_realm_law_flag = celestial_retirement_law
			scope:recipient = {
				tgp_is_above_retirement_age_trigger = {
					REALM_OWNER = scope:actor
				}
			}
			has_treasury = yes
		}
		save_scope_value_as = {
			name = force_retirement_treasury_cost
			value = scope:recipient.medium_treasury_value
		}
		pay_treasury_to_gold = {
			target = scope:recipient
			value = scope:force_retirement_treasury_cost
		}
	}
}
scope:recipient = {
	if = {
		limit = {
			house ?= {
				OR = {
					is_powerful_family = yes
					is_dominant_family = yes
				}
			}
			can_set_relation_rival_trigger = {
				CHARACTER = scope:actor
			}
		}
		progress_towards_rival_effect = {
			REASON = rival_deposed_governor
			CHARACTER = scope:actor
			OPINION = 0
		}
	}
	add_opinion = {
		target = scope:actor
		modifier = demanded_my_resignation_opinion
	}
	custom_tooltip = demanded_my_resignation_house_tt
	hidden_effect = {
		house ?= {
			if = {
				limit = {
					this != scope:actor.house
				}
				every_house_member = {
					custom = custom.every_house_member_secondary_recipient
					limit = {
						is_ai = yes
						this != scope:recipient
					}
					if = {
						limit = {
							house = {
								OR = {
									is_powerful_family = yes
									is_dominant_family = yes
								}
							}
						}
						add_opinion = {
							target = scope:actor
							modifier = demanded_my_house_members_resignation_opinion
							opinion = -20
						}
					}
					else = {
						add_opinion = {
							target = scope:actor
							modifier = demanded_my_house_members_resignation_opinion
							opinion = -15
						}
					}
				}
			}
		}
	}
	if = {
		limit = {
			any_held_title = {
				is_noble_family_title = no
				current_heir ?= {
					NOR = {
						this = scope:actor
						AND = {
							exists = scope:recipient.house
							house ?= scope:recipient.house
						}
						has_relation_friend = scope:recipient
						has_relation_best_friend = scope:recipient
						is_allied_to = scope:recipient
						has_relation_soulmate = scope:recipient
						is_spouse_of = scope:recipient
						is_close_family_of = scope:recipient
					}
					opinion = {
						target = scope:recipient
						value <= 40
					}
				}
			}
		}
		every_held_title = {
			limit = {
				is_noble_family_title = no
				current_heir ?= {
					NOR = {
						this = scope:actor
						AND = {
							exists = scope:recipient.house
							house ?= scope:recipient.house
						}
						has_relation_friend = scope:recipient
						has_relation_best_friend = scope:recipient
						is_allied_to = scope:recipient
						has_relation_soulmate = scope:recipient
						is_spouse_of = scope:recipient
						is_close_family_of = scope:recipient
					}
					opinion = {
						target = scope:recipient
						value <= 40
					}
				}
			}
			current_heir = {
				add_to_list = deposed_title_heirs
			}
		}
		every_in_list = {
			list = deposed_title_heirs
			add_opinion = {
				target = scope:actor
				modifier = deposed_predecessor_opinion
			}
		}
	}
	trigger_event = ep3_interactions_events.0630
	show_as_tooltip = {
		governor_resignation_title_transfer_effect = yes
		every_held_title = {
			limit = {
				is_landless_type_title = no
				is_noble_family_title = no
				save_temporary_scope_as = liege_title
				NOT = {
					scope:resigner = {
						any_held_title = {
							is_de_jure_liege_or_above_target = scope:liege_title
						}
					}
				}
			}
			save_scope_as = landed_title
			current_heir = {
				save_scope_as = next_candidate
			}
			if = {
				limit = {
					tier >= scope:recipient.main_administrative_tier
				}
				scope:next_candidate = {
					custom_tooltip = force_governor_removal_interaction_pass_effect_tt
				}
			}
		}
	}
}
on_decline = scope:recipient = {
	add_opinion = {
		target = scope:actor
		modifier = demanded_my_resignation_opinion
	}
}
scope:actor = {
	send_interface_toast = {
		title = demand_governor_resignation_declined_toast
		type = event_toast_effect_bad
		left_icon = scope:recipient
		revocation_tyranny_effect = {
			VASSAL = scope:recipient
		}
		title_revocation_stress_effect = {
			VASSAL = scope:recipient
		}
	}
}
war_for_revoke_effect = {
	LIEGE = scope:actor
	REBEL = scope:recipient
}
scope:actor = {
	if = {
		limit = {
			has_realm_law_flag = vassal_refusal_is_treason
		}
		add_opinion = {
			target = scope:recipient
			modifier = treasonous_revoke_refusal
		}
	}
}

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

Category
Candidacy
Cost: Influence
varies
Again on the same character
after 5 years
In the menu
under More…
ID
governor_removal_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?