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

Interaction · Candidacy

Force Retirement

No costAccepted automatically in some cases; otherwise the AI weighs it

Attempt to force the recipient to resign from a Governorship

What you need

You

To send it

  • Is an Adult
  • Is not in a Civil War
  • The target:
    • Title tier exactly scope:recipient.main administrative tier
    • The … is not a Noble Family Title
  • Also needed: not imprisoned

To see it in the menu

  • you has administrative government mechanic
  • If played by the AI:
    • Highest held Title is at least Duchy Rank
    • None of these

      • Any scheme:
        • is_scheme_category = political
  • Is an Independent Ruler

The character you target

To send it

  • Is not in a Civil War
  • If

    • Their top liege:
      • has_realm_law_flag = celestial_retirement_law
    • You: Does not hold Ministry of Personnel

    Then

    • The target’s top liege:
      • has_realm_law_flag = celestial_retirement_law
    • If

      • The target’s top liege:
        • has_realm_law_flag = celestial_retirement_age_4

      Then

      Else if

      • The target’s top liege:
        • has_realm_law_flag = celestial_retirement_age_3

      Then

      Else if

      • The target’s top liege:
        • has_realm_law_flag = celestial_retirement_age_2

      Then

      Else if

      • The target’s top liege:
        • has_realm_law_flag = celestial_retirement_age_1

      Then

      Else if

      • The target’s top liege:
        • has_realm_law_flag = celestial_retirement_age_0

      Then

      Else if

      • The target’s top liege:
        • has_realm_law_flag = celestial_retirement_age_5

      Then

      Otherwise

To see it in the menu

  • they has administrative government mechanic
  • Is a Governor
  • top_liege ?= scope:actor.top_liege

Which title you can pick

  • The target:
    • Title tier exactly scope:recipient.main administrative tier
    • The … is not a Noble Family Title

Force Retirement is a candidacy character interaction in Crusader Kings III. You need: Is an Adult, Is not imprisoned and Is not in a Civil War. The character you target needs: Is not in a Civil War. Accepted automatically in some cases; otherwise the AI weighs it. Reasons the AI weighs include Weak Hook used (+30), Gold is Good (+30), Using the recipient's Secret (+50) and 11 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 Force Retirement in CK3?
You: Is an Adult, Is not imprisoned and Is not in a Civil War. The character you target: Is not in a Civil War. (patch 1.20.1.2)
How do I get the AI to accept Force Retirement?
Accepted automatically in some cases; otherwise the AI weighs it. Its reasons: Weak Hook used +30, Exerting Influence (based on your Level of Influence), Gold is Good +30, Using the recipient's Secret +50, Craven +10, Trusting +5, Generous +5, Lazy +10, Paranoid -20, Patient -5, Brave -10, Greedy -10, Ambitious -20, The recipient … a Movement Leader -20, The recipient … more than 350 Movement Power -20, Your Intrigue and The recipient's Intrigue.

Will they accept?

Accepted automatically when:

  • If

    Then

    • They use their Hook on …

    Otherwise

    • Never

Otherwise 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
Weak Hook used
when
+30
Exerting Influence (based on your Level of Influence)
when
  • The option “influence” is chosen
varies
Gold is Good
when
  • The option “gold” is chosen
+30
Using the recipient's Secret
when
  • The option “criminal secret recipient” is chosen
+50
Craven
when
+10
Trusting
when
+5
Generous
when
+5
Lazy
when
  • The character you target: Has the Trait: Lazy
+10
Paranoid
when
-20
Patient
when
-5
Brave
when
-10
Greedy
when
-10
Ambitious
when
-20
The recipient … a Movement Leader
when
-20
The recipient … more than 350 Movement Power
when
  • scope:recipient.var:movement_power >= high_movement_power_value
-20
Your Intrigueyour intrigue × 2
The recipient's Intriguetheir intrigue × -2
Acceptance (ai_accept) (115 lines of game script)
base = 0
modifier = {
	scope:hook = yes
	add = 30
	desc = SCHEME_WEAK_HOOK_USED
}
modifier = {
	desc = INFLUENCE_REASON
	scope:influence = yes
	add = {
		value = 20
		multiply = scope:actor.influence_level
		min = 5
	}
}
modifier = {
	desc = GOLD_REASON
	scope:gold = yes
	add = 30
}
modifier = {
	desc = RECIPIENT_SECRET
	scope:criminal_secret_recipient = yes
	add = 50
}
modifier = {
	scope:recipient = {
		has_trait = craven
	}
	add = 10
	desc = INTERACTION_CRAVEN
}
modifier = {
	scope:recipient = {
		has_trait = trusting
	}
	add = 5
	desc = INTERACTION_TRUSTING
}
modifier = {
	scope:recipient = {
		has_trait = generous
	}
	add = 5
	desc = INTERACTION_GENEROUS
}
modifier = {
	scope:recipient = {
		has_trait = lazy
	}
	add = 10
	desc = INTERACTION_LAZY
}
modifier = {
	scope:recipient = {
		has_trait = paranoid
	}
	add = -20
	desc = INTERACTION_PARANOID
}
modifier = {
	scope:recipient = {
		has_trait = patient
	}
	add = -5
	desc = INTERACTION_PATIENT
}
modifier = {
	scope:recipient = {
		has_trait = brave
	}
	add = -10
	desc = INTERACTION_BRAVE
}
modifier = {
	scope:recipient = {
		has_trait = greedy
	}
	add = -10
	desc = INTERACTION_GREEDY
}
modifier = {
	scope:recipient = {
		has_trait = ambitious
	}
	add = -20
	desc = INTERACTION_AMBITIOUS
}
modifier = {
	scope:recipient = {
		is_any_movement_leader = yes
	}
	add = -20
	desc = recipient_is_any_movement_leader
}
modifier = {
	exists = scope:recipient.var:movement_power
	scope:recipient.var:movement_power >= high_movement_power_value
	add = -20
	desc = recipient_has_high_movement_power
}
modifier = {
	add = {
		value = scope:actor.intrigue
		multiply = 2
	}
	desc = INTERACTION_ACTOR_INTRIGUE
}
modifier = {
	add = {
		value = scope:recipient.intrigue
		multiply = -2
	}
	desc = INTERACTION_RECIPIENT_INTRIGUE
}

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

What happens

If they accept

  • If

    Then

    • Use a Hook on the target
  • If

    • The option “gold” is chosen

    Then

    • Pay 0 gold to the target
  • If

    • The option “influence” is chosen

    Then

    • Influence changes
  • If

    • The option “criminal secret recipient” is chosen

    Then

    • You › One random known secret:
      • Where:
        • secret_owner = scope:recipient
        • is_criminal_for = scope:recipient
        • can_be_exposed_by = scope:actor
      • disable_exposure_by = scope:actor
  • The character you target:
    • Steps down from all held Governorships
    • If played by the AI: Opinion: Forced My Resignation
    • If

      • 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

    • Their house:
      • If

        a check the game hides

        Then

        • If

          a check the game hides

          Then

          • impact_house_relation = { target = scope:other_house steps = scope:steps description = house_relation_reason_forced_resignation_desc }
        • Every member of House …:
          • Where: Is played by the AI
          • Opinion: Forced House Member's Resignation

If they refuse

  • Influence -100
  • Gain -150 Prestige
  • The character you target:
    • Opinion: Wants Me to Step Down
    • If

      • 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 option “criminal secret recipient” is chosen

    Then

    • You › One random known secret:
      • Where:
        • secret_owner = scope:recipient
        • is_criminal_for = scope:recipient
        • can_be_exposed_by = scope:actor
      • expose_secret = scope:actor
  • The target’s house:
    • If

      a check the game hides

      Then

      • Every member of House …:
        • Where: Is played by the AI
        • Opinion: Deposed House Member from Office (-10)

Options when sending

  • Use a Hook
  • Use Influence
  • Use Gold
  • Threaten to reveal recipient's Secret

• 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) (21 lines of game script)
is_available = government_has_mechanic = administrative
trigger_if = {
	limit = {
		is_ai = yes
	}
	highest_held_title_tier >= tier_duchy
	NOT = {
		any_scheme = {
			is_scheme_category = political
		}
	}
}
top_liege != this
is_shown = scope:actor = {
	this != scope:recipient
}
scope:recipient = {
	government_has_mechanic = administrative
	is_governor = yes
	top_liege ?= scope:actor.top_liege
}

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

Can be sent when (is_valid…) (23 lines of game script)
scope:actor = {
	is_adult = yes
	is_imprisoned = no
	is_in_civil_war = no
}
scope:recipient = {
	is_in_civil_war = no
	trigger_if = {
		limit = {
			top_liege = {
				has_realm_law_flag = celestial_retirement_law
			}
			scope:actor = {
				NOT = {
					has_title = title:e_minister_of_personnel
				}
			}
		}
		tgp_is_above_retirement_age_trigger = {
			REALM_OWNER = scope:recipient
		}
	}
}

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

Effects (on_send, on_accept, on_decline) (157 lines of game script)
on_accept = scope:actor = {
	if = {
		limit = {
			scope:hook = yes
		}
		use_hook = scope:recipient
	}
	if = {
		limit = {
			scope:gold = yes
		}
		pay_short_term_gold = {
			target = scope:recipient
			gold = force_step_down_interaction_gold_cost_value
		}
	}
	if = {
		limit = {
			scope:influence = yes
		}
		change_influence = force_step_down_interaction_influence_cost_value
	}
	if = {
		limit = {
			scope:criminal_secret_recipient = yes
		}
		scope:actor = {
			random_known_secret = {
				limit = {
					secret_owner = scope:recipient
					is_criminal_for = scope:recipient
					can_be_exposed_by = scope:actor
				}
				disable_exposure_by = scope:actor
			}
		}
	}
	send_interface_toast = {
		type = event_toast_effect_good
		title = force_governor_resignation_accepted_toast
		left_icon = scope:target
		right_icon = scope:recipient
		scope:recipient = {
			custom_tooltip = loses_target_title_tt
			if = {
				limit = {
					is_ai = yes
				}
				add_opinion = {
					target = scope:actor
					modifier = forced_my_resignation_opinion
				}
			}
			if = {
				limit = {
					can_set_relation_rival_trigger = {
						CHARACTER = scope:actor
					}
				}
				set_relation_rival = {
					target = scope:actor
					reason = rival_forced_my_resignation_reason
				}
			}
			house ?= {
				if = {
					limit = {
						this != scope:actor.house
					}
					change_house_relation_effect = {
						HOUSE = scope:actor.house
						VALUE = house_relation_damage_medium_value
						REASON = forced_resignation
						CHAR = scope:actor
						TARGET_CHAR = scope:recipient
						TITLE = scope:recipient.primary_title
					}
					every_house_member = {
						custom = custom.every_house_member_recipient
						limit = {
							is_ai = yes
							this != scope:secondary_recipient
						}
						add_opinion = {
							target = scope:actor
							modifier = forced_my_house_members_resignation_opinion
						}
					}
				}
			}
			hidden_effect = {
				force_step_down_landed_titles = yes
			}
		}
	}
}
on_decline = scope:actor = {
	send_interface_toast = {
		type = event_toast_effect_bad
		title = force_governor_resignation_declined_toast
		left_icon = scope:target
		right_icon = scope:recipient
		change_influence = major_influence_loss
		add_prestige = medium_prestige_loss
		scope:recipient = {
			add_opinion = {
				target = scope:actor
				modifier = attempted_force_step_down_opinion
			}
			if = {
				limit = {
					can_set_relation_rival_trigger = {
						CHARACTER = scope:actor
					}
				}
				set_relation_rival = {
					target = scope:actor
					reason = rival_attempted_to_force_my_resignation_reason
				}
			}
		}
		if = {
			limit = {
				scope:criminal_secret_recipient = yes
			}
			scope:actor = {
				random_known_secret = {
					limit = {
						secret_owner = scope:recipient
						is_criminal_for = scope:recipient
						can_be_exposed_by = scope:actor
					}
					expose_secret = scope:actor
				}
			}
		}
	}
	scope:recipient.house ?= {
		if = {
			limit = {
				this != scope:actor.house
			}
			every_house_member = {
				custom = custom.every_house_member_recipient
				limit = {
					is_ai = yes
					this != scope:secondary_recipient
				}
				add_opinion = {
					target = scope:actor
					modifier = demanded_my_house_members_resignation_opinion
					opinion = -10
				}
			}
		}
	}
}

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

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