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

Invite to Scheme

No costAccepted automatically in some casesnot in the character menu

What you need

The files set no condition the game shows: it is in the menu for anyone you can interact with.

Invite to Scheme is an uncategorized character interaction in Crusader Kings III. Accepted automatically in some cases. Patch 1.20.1.2, from game/common/character_interactions/00_invite_agent_to_scheme.txt.

for a guide, post or blog

Will they accept?

Accepted automatically when:

  • If

    • scope:recipient.var:devotee_agent_var ?= scope:actor

    Then

    • … is your Devotee

    Else if

    • The option “mandala trickster” is chosen

    Then

    Else if

    Then

    • They use their Hook on …

    Else if

    • The scheme:
      • is_scheme_category = contract

    Then

    • The character you target:
      • Is a courtier of you
      • Does not have you as rival
      • … is not your Stooge

    Otherwise

    • Never

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

ReasonAmount
Base0
Acceptance (ai_accept) (5 lines of game script)
base = 0
scheme_modifier = {
	object = scope:scheme
	target = scope:recipient
}

As written in game/common/character_interactions/00_invite_agent_to_scheme.txt.

What happens

If they accept

  • The character you target:
    • If

      • One of these

        • The option “mandala trickster” is chosen
        • or

          The option “gift” is chosen
        • or

          The option “gift significant” is chosen
        • or

          The option “treasury” is chosen
        • or

          The option “treasury significant” is chosen
        • or

          The option “offer hook” is chosen
        • or

          The option “offer hook strong” is chosen
        • or

          You use a Hook
        • or

          The option “opportunities t1” is chosen
        • or

          The option “opportunities t2” is chosen
        • or

          The option “prestige” is chosen
        • or

          The option “influence” is chosen
        • or

          The option “council rights” is chosen
        • or

          The option “de jure title” is chosen
        • or

          The option “claimed title” is chosen
        • or

          The option “piety” is chosen
        • or

          The option “herd” is chosen
        • or

          Devotee agent var is scope:actor

      Then

      • force_add_to_agent_slot = { agent_slot = scope:agent_slot years = 5 }

      Otherwise

      • add_to_agent_slot = scope:agent_slot
  • If

    • NOT = { scope:mandala_trickster = yes }
    • NOT = { scope:gift = yes }
    • NOT = { scope:gift_significant = yes }
    • NOT = { scope:treasury = yes }
    • NOT = { scope:treasury_significant = yes }
    • NOT = { scope:offer_hook = yes }
    • NOT = { scope:offer_hook_strong = yes }
    • NOT = { scope:hook = yes }
    • NOT = { scope:opportunities_t1 = yes }
    • NOT = { scope:opportunities_t2 = yes }
    • NOT = { scope:prestige = yes }
    • NOT = { scope:influence = yes }
    • NOT = { scope:council_rights = yes }
    • NOT = { scope:de_jure_title = yes }
    • NOT = { scope:claimed_title = yes }
    • NOT = { scope:piety = yes }
    • NOT = { scope:herd = yes }

    Then

    • You offer no special incentives to …
  • If

    • The option “mandala trickster” is chosen

    Then

    • add_piety = { value = trickster_mandala_force_agent_bribe_value multiply = -1 }
  • If

    • The option “gift” is chosen

    Then

    • Pay 50 gold to the target
    • Stress and fulfillment impact: by trait: Greedy +20
  • If

    • The option “gift significant” is chosen

    Then

    • Pay 50 gold to the target
    • Stress and fulfillment impact: by trait: Greedy +40
  • If

    • The option “treasury” is chosen

    Then

    • pay_treasury_to_gold = { value = bribe_value target = scope:recipient }
  • If

    • The option “treasury significant” is chosen

    Then

    • pay_treasury_to_gold = { value = greater_bribe_value target = scope:recipient }
  • If

    • The option “offer hook” is chosen

    Then

    • Stress and fulfillment impact: +20, and by trait: Paranoid +80
    • The character you target: Gain a Favor on you
  • If

    • The option “offer hook strong” is chosen

    Then

    • Stress and fulfillment impact: +80
    • The character you target: Gain a Oath Debt on you
  • If

    Then

    • Use a Hook on the target
  • If

    • The option “opportunities t1” is chosen

    Then

  • If

    • The option “opportunities t2” is chosen

    Then

  • If

    • The option “prestige” is chosen

    Then

    • add_prestige = { value = prestige_bribe_value multiply = -1 }
    • The character you target: Gain … Prestige
  • If

    • The option “influence” is chosen

    Then

    • change_influence = { value = influence_bribe_value multiply = -1 }
    • The character you target: Influence changes
  • If

    • The option “council rights” is chosen

    Then

    • The character you target:
      • vassal_contract_set_obligation_level = { type = council_rights level = 1 }
      • set_subject_contract_modification_blocked = yes
  • If

    • The option “de jure title” is chosen

    Then

    • One random held title:
      • Where:
        • holder = scope:actor
        • Title tier exactly County
        • Any this title or de jure above:
      • Gains the … Title (recipient)
  • If

    • The option “claimed title” is chosen

    Then

    • One random held title:
      • Where: … (more in the script below)
      • … (more in the script below)
  • … (more in the script below)

Options when sending

  • Leverage your Scheme Advantages (x3)
  • Leverage your Scheme Advantages (x5)
  • Leverage your Aspect of TrickerySpend 500–1500 Piety to convince the recipient
  • BribePay … to the recipient
  • Hefty BribePay … to the recipient
  • BribeUse … to pay the recipient …
  • Hefty BribeUse … to pay the recipient …
  • Offer a Hook on yourself
  • Offer a Strong Hook on yourself
  • Use your Hook on them
  • Offer your Prestigious good wordTransfer … to the recipient
  • Offer your Influential connectionsTransfer … to the recipient
  • Offer a guaranteed seat on your Council
  • Grant them a County you hold that's De Jure theirs
  • Grant them a County you hold that they Claim
  • Offer a part of your HerdTransfer … to the recipient
  • Leverage your Pious reputationSpend … Piety to convince the recipient

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

Effects (on_send, on_accept, on_decline) (265 lines of game script)
on_accept = scope:recipient = {
	if = {
		limit = {
			OR = {
				always = scope:mandala_trickster
				always = scope:gift
				always = scope:gift_significant
				always = scope:treasury
				always = scope:treasury_significant
				always = scope:offer_hook
				always = scope:offer_hook_strong
				always = scope:hook
				always = scope:opportunities_t1
				always = scope:opportunities_t2
				always = scope:prestige
				always = scope:influence
				always = scope:council_rights
				always = scope:de_jure_title
				always = scope:claimed_title
				always = scope:piety
				always = scope:herd
				var:devotee_agent_var ?= scope:actor
			}
		}
		force_add_to_agent_slot = {
			agent_slot = scope:agent_slot
			years = 5
		}
	}
	else = {
		add_to_agent_slot = scope:agent_slot
	}
}
scope:actor = {
	if = {
		limit = {
			NOR = {
				always = scope:mandala_trickster
				always = scope:gift
				always = scope:gift_significant
				always = scope:treasury
				always = scope:treasury_significant
				always = scope:offer_hook
				always = scope:offer_hook_strong
				always = scope:hook
				always = scope:opportunities_t1
				always = scope:opportunities_t2
				always = scope:prestige
				always = scope:influence
				always = scope:council_rights
				always = scope:de_jure_title
				always = scope:claimed_title
				always = scope:piety
				always = scope:herd
			}
		}
		custom_tooltip = offer_bribes.tt.window_jump_fix
	}
	if = {
		limit = {
			always = scope:mandala_trickster
		}
		add_piety = {
			value = trickster_mandala_force_agent_bribe_value
			multiply = -1
		}
	}
	if = {
		limit = {
			always = scope:gift
		}
		pay_short_term_gold = {
			gold = bribe_value
			target = scope:recipient
		}
		stress_and_fulfillment_impact = {
			greedy = minor_stress_impact_gain
		}
	}
	if = {
		limit = {
			always = scope:gift_significant
		}
		pay_short_term_gold = {
			gold = greater_bribe_value
			target = scope:recipient
		}
		stress_and_fulfillment_impact = {
			greedy = medium_stress_impact_gain
		}
	}
	if = {
		limit = {
			always = scope:treasury
		}
		pay_treasury_to_gold = {
			value = bribe_value
			target = scope:recipient
		}
	}
	if = {
		limit = {
			always = scope:treasury_significant
		}
		pay_treasury_to_gold = {
			value = greater_bribe_value
			target = scope:recipient
		}
	}
	if = {
		limit = {
			always = scope:offer_hook
		}
		stress_and_fulfillment_impact = {
			base = minor_stress_impact_gain
			paranoid = major_stress_impact_gain
		}
		scope:recipient = {
			add_hook = {
				type = favor_hook
				target = scope:actor
			}
		}
	}
	if = {
		limit = {
			always = scope:offer_hook_strong
		}
		stress_and_fulfillment_impact = {
			base = major_stress_impact_gain
		}
		scope:recipient = {
			add_hook = {
				type = strong_favor_hook
				target = scope:actor
			}
		}
	}
	if = {
		limit = {
			always = scope:hook
		}
		use_hook = scope:recipient
	}
	if = {
		limit = {
			always = scope:opportunities_t1
		}
		custom_tooltip = {
			text = spend_agent_charges.tt.t1
			scope:scheme = {
				change_opportunities = {
					value = invite_agent_opportunities_t1_value
					multiply = -1
				}
			}
		}
	}
	if = {
		limit = {
			always = scope:opportunities_t2
		}
		custom_tooltip = {
			text = spend_agent_charges.tt.t2
			scope:scheme = {
				change_opportunities = {
					value = invite_agent_opportunities_t2_value
					multiply = -1
				}
			}
		}
	}
	if = {
		limit = {
			always = scope:prestige
		}
		add_prestige = {
			value = prestige_bribe_value
			multiply = -1
		}
		scope:recipient = {
			add_prestige = prestige_bribe_value
		}
	}
	if = {
		limit = {
			always = scope:influence
		}
		change_influence = {
			value = influence_bribe_value
			multiply = -1
		}
		scope:recipient = {
			change_influence = influence_bribe_value
		}
	}
	if = {
		limit = {
			always = scope:council_rights
		}
		scope:recipient = {
			vassal_contract_set_obligation_level = {
				type = council_rights
				level = 1
			}
			set_subject_contract_modification_blocked = yes
		}
	}
	create_title_and_vassal_change = {
		type = granted
		save_scope_as = change
	}
	if = {
		limit = {
			always = scope:de_jure_title
		}
		random_held_title = {
			limit = {
				actor_has_valid_de_jure_enticement_county_trigger = yes
				any_this_title_or_de_jure_above = {
					holder ?= {
						this = scope:recipient
					}
				}
			}
			change_title_holder = {
				holder = scope:recipient
				change = scope:change
			}
		}
	}
	if = {
		limit = {
			always = scope:claimed_title
		}
		random_held_title = {
			limit = {
				actor_has_valid_claimed_enticement_county_trigger = yes
				scope:recipient = {
					has_claim_on = prev
				}
			}
			change_title_holder = {
				holder = scope:recipient
				change = scope:change
			}
		}
	}
	resolve_title_and_vassal_change = scope:change
	if = {
		limit = {
			always = scope:piety
		}
		scope:actor = {
			add_piety = {
				value = piety_bribe_value
				multiply = -1
			}
		}
		scope:recipient = {
			add_piety = piety_bribe_value
		}
	}
	
# … (cut here; the rest is in the file)

As written in game/common/character_interactions/00_invite_agent_to_scheme.txt.

Category
Uncategorized actions
In the menu
no (opened from elsewhere)
ID
invite_agent_to_scheme_interaction

Source: game/common/character_interactions/00_invite_agent_to_scheme.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?