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

Interaction · Uncategorized actions

Harm Candidacy

variesInfluenceAccepted automaticallynot in the character menu

Undermine the recipient becoming a future Governor or …

What you need

You

To send it

  • Any valid title to grant trigger:
    • CANDIDATE = scope:secondary_recipient
    • TOP_LIEGE = scope:recipient
  • The other character: … must be a candidate for this Title
  • The target:
    • Title tier at least Duchy
    • Their holder:
      • top_liege = scope:recipient
      • has_realm_law_flag = appointment_type_succession

To see it in the menu

  • you has administrative government mechanic

The other character

  • Is an Independent Ruler
  • they has administrative government mechanic
  • top_liege ?= scope:actor.top_liege

Which title you can pick

  • The other character: … must be a candidate for this Title

Harm Candidacy is an uncategorized character interaction in Crusader Kings III. 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 (2)
Will the AI accept Harm Candidacy?
Yes: it is accepted automatically.
How much does Harm Candidacy 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

    • The candidate temp:
      • Their house:
        • Their house head:
          • top_liege = scope:investor_temp.top_liege
          • Any held title: The … is a Noble Family Title
        • NOT = { scope:investor_temp.house ?= this }
      • has_succession_appointment_investors = scope:title_temp
    • The title temp:
      • place_in_line_of_succession = { target = scope:candidate_temp value <= 5 }

    Then

    • The investor temp’s house:
      • If

        a check the game hides

        Then

        • impact_house_relation = { target = scope:other_house steps = scope:steps description = house_relation_reason_appointment_competition_desc }
  • The target:
    • change_appointment_investment = { target = scope:secondary_recipient investor = scope:actor value = scope:harm_candidate_score }
  • If

    a check the game hides

    Then

    • The other character: Opinion: Harmed My Title Candidacy
    • You › The other character:
      • 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
        • can_set_relation_rival_if_adult_trigger = { CHARACTER = scope:target_char }

        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

          • can_set_relation_potential_rival_trigger = { CHARACTER = scope:target_char }

          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

• 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) (6 lines of game script)
is_available = government_has_mechanic = administrative
is_shown = scope:secondary_recipient = {
	top_liege != this
	government_has_mechanic = administrative
	top_liege ?= scope:actor.top_liege
}

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

Can be sent when (is_valid…) (8 lines of game script)
any_valid_title_to_grant_trigger = {
	CANDIDATE = scope:secondary_recipient
	TOP_LIEGE = scope:recipient
}
is_candidate_for_title_trigger = {
	TITLE = scope:target
	CANDIDATE = scope:secondary_recipient
}

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

Effects (on_send, on_accept, on_decline) (99 lines of game script)
on_accept = switch = {
	trigger = yes
	scope:minor_influence_option = {
		save_scope_value_as = {
			name = harm_candidate_score
			value = {
				value = appointment_score_minor_loss_value
				multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
			}
		}
		save_scope_value_as = {
			name = opinion_change_value
			value = -5
		}
	}
	scope:medium_influence_option = {
		save_scope_value_as = {
			name = harm_candidate_score
			value = {
				value = appointment_score_medium_loss_value
				multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
			}
		}
		save_scope_value_as = {
			name = opinion_change_value
			value = -15
		}
	}
	scope:major_influence_option = {
		save_scope_value_as = {
			name = harm_candidate_score
			value = {
				value = appointment_score_major_loss_value
				multiply = scope:actor.appointment_score_interaction_multiplier_modifiers_value
			}
		}
		save_scope_value_as = {
			name = opinion_change_value
			value = -30
		}
	}
}
damage_appointment_house_relation_effect = {
	TITLE = scope:target
	CANDIDATE = scope:secondary_recipient
	INVESTOR = scope:actor
}
scope:target = {
	change_appointment_investment = {
		target = scope:secondary_recipient
		investor = scope:actor
		value = scope:harm_candidate_score
	}
}
if = {
	limit = {
		scope:secondary_recipient = {
			this != scope:actor
		}
	}
	scope:secondary_recipient = {
		add_opinion = {
			modifier = harmed_candidacy_opinion
			target = scope:actor
			opinion = scope:opinion_change_value
		}
		hidden_effect = {
			send_interface_message = {
				type = msg_candidacy_harmed
				title = harmed_candidacy_toast
				left_icon = scope:actor
				right_icon = scope:target
				show_as_tooltip = {
					scope:target = {
						change_appointment_investment = {
							target = scope:secondary_recipient
							investor = scope:actor
							value = scope:harm_candidate_score
						}
					}
				}
			}
		}
	}
	scope:actor = {
		send_interface_toast = {
			type = event_toast_effect_bad
			title = harm_candidate_rival_progress_toast
			left_icon = scope:secondary_recipient
			scope:secondary_recipient = {
				progress_towards_rival_effect = {
					REASON = rival_harmed_candidacy
					CHARACTER = scope:actor
					OPINION = 0
				}
			}
		}
	}
}

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

Category
Uncategorized actions
Cost: Influence
varies
In the menu
no (opened from elsewhere)
ID
harm_candidacy_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. “…” marks words the game fills in at play time (a name, a title).

Spotted a mistake on this page?