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

Interaction · Hostile actions

Fabricate Hook

No costAccepted automatically

Attempt to fabricate a Hook on the recipient

What you need

You

To send it

  • can_start_scheme = { target_character = scope:recipient type = fabricate_hook }
  • None of these

    • You: Has a Hook on the target
  • One of these

    • Your Spiritual Fulfillment is at -65 or below
    • or

      Your Spiritual Fulfillment is at -95 or below
    • or

      Can use the Fabricate Hook Scheme
    • or

      Has the Truth is Relative Perk
    • or

      All of these

    • or

      Any character struggle:
      • involvement = involved
      • has_struggle_phase_parameter = unlocks_fabricate_hooks_for_all
      • All of these

        • The character you target › Any character struggle: Is the struggle temp
    • or

      All of these

      • Your Government is Clan
      • All of these

        • exists = house
        • exists = scope:recipient.house
        • One of these

        • Is of the same house as the target
        • top_liege = scope:recipient.top_liege
      • Your house:
        • has_house_unity_parameter = unity_unlock_fabricate_hooks
  • Also needed: available (an adult, not imprisoned, not incapable)

To see it in the menu

  • If played by the AI:
    • Intrigue at least 10
    • Ai greed at least 20
    • Is an Adult
    • None of these

      • Has the Trait: Content
      • Any scheme:
        • One of these

          • scheme_type = murder
          • or

            scheme_type = abduct
          • or

            scheme_type = claim_throne
          • or

            scheme_type = fabricate_hook
          • or

            scheme_type = steal_back_artifact
  • One of these

    • Has the Truth is Relative Perk
    • or

      has_fulfillment_parameter = sp_fabricate_hook_court_chaplain
    • or

      has_fulfillment_parameter = sp_fabricate_hook_hor
    • or

      Your Personal Tenets unlock tenet sacred shadows fabricate hook
    • or

      All of these

    • or

      Any character struggle:
      • involvement = involved
      • has_struggle_phase_parameter = unlocks_fabricate_hooks_for_all
      • All of these

        • The character you target › Any character struggle: Is the struggle temp
    • or

      All of these

      • Your Government is Clan
      • All of these

        • exists = house
        • exists = scope:recipient.house
        • One of these

        • Is of the same house as the target
        • top_liege = scope:recipient.top_liege
      • Your house:
        • has_house_unity_parameter = unity_unlock_fabricate_hooks
  • The target is not you

Fabricate Hook is a hostile character interaction in Crusader Kings III. You need: Is available (an adult, not imprisoned, not incapable). Accepted automatically. Patch 1.20.1.2, from game/common/character_interactions/00_perk_interactions.txt.

for a guide, post or blog
Quick answers (2)
What are the requirements for Fabricate Hook in CK3?
You: Is available (an adult, not imprisoned, not incapable). (patch 1.20.1.2)
Will the AI accept Fabricate Hook?
Yes: it is accepted automatically.

Will they accept?

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

What happens

When you send it

  • If

    Then

    • Spiritual fulfillment -5

Effects

  • If

    • None of these

      • One of these

        • has_fulfillment_parameter = sp_hostile_schemes_minus_murder_no_sp_or_stress_loss
        • or

          has_fulfillment_parameter = sp_hostile_schemes_minus_murder_no_stress_loss

    Then

    • Stress and fulfillment impact: by trait: Just +40, Honest +40, Compassionate +20
  • If

    • The option “agent focus success” is chosen

    Then

    • Start the Fabricate Hook scheme against the target
    • The new scheme:
      • add_agent_slot = agent_outcast
      • add_agent_slot = agent_diplomat
      • add_agent_slot = agent_thief
      • add_agent_slot = agent_infiltrator
      • add_agent_slot = agent_lookout
      • If

        • The scheme launcher: Is played by the AI

        Then

        • auto_assign_scheme_agents = yes
      • If

        a check the game hides

        Then

        • expose_scheme_to = scope:scheme_launcher.puppeteer

    Else if

    • The option “agent focus speed” is chosen

    Then

    • Start the Fabricate Hook scheme against the target
    • The new scheme:
      • add_agent_slot = agent_infiltrator
      • add_agent_slot = agent_footpad
      • add_agent_slot = agent_socialite
      • add_agent_slot = agent_outcast
      • add_agent_slot = agent_lookout
      • If

        • The scheme launcher: Is played by the AI

        Then

        • auto_assign_scheme_agents = yes
      • If

        a check the game hides

        Then

        • expose_scheme_to = scope:scheme_launcher.puppeteer

    Else if

    • The option “agent focus secrecy” is chosen

    Then

    • Start the Fabricate Hook scheme against the target
    • The new scheme:
      • add_agent_slot = agent_lookout
      • add_agent_slot = agent_decoy
      • add_agent_slot = agent_justiciar
      • add_agent_slot = agent_outcast
      • add_agent_slot = agent_footpad
      • If

        • The scheme launcher: Is played by the AI

        Then

        • auto_assign_scheme_agents = yes
      • If

        a check the game hides

        Then

        • expose_scheme_to = scope:scheme_launcher.puppeteer

    Otherwise

    • Start the Fabricate Hook scheme against the target
    • The new scheme:
      • add_agent_slot = agent_outcast
      • add_agent_slot = agent_thief
      • add_agent_slot = agent_infiltrator
      • add_agent_slot = agent_footpad
      • add_agent_slot = agent_lookout
      • If

        • The scheme launcher: Is played by the AI

        Then

        • auto_assign_scheme_agents = yes
      • If

        a check the game hides

        Then

        • expose_scheme_to = scope:scheme_launcher.puppeteer

• 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) (49 lines of game script)
is_available = trigger_if = {
	limit = {
		is_ai = yes
	}
	intrigue >= medium_skill_rating
	ai_greed >= low_positive_ai_value
	is_adult = yes
	NOR = {
		has_trait = content
		any_scheme = {
			OR = {
				scheme_type = murder
				scheme_type = abduct
				scheme_type = claim_throne
				scheme_type = fabricate_hook
				scheme_type = steal_back_artifact
			}
		}
	}
}
is_shown = scope:puppet_or_actor ?= {
	OR = {
		has_perk = truth_is_relative_perk
		has_fulfillment_parameter = sp_fabricate_hook_court_chaplain
		has_fulfillment_parameter = sp_fabricate_hook_hor
		has_personal_tenet_flag = tenet_sacred_shadows_fabricate_hook
		AND = {
			has_trait = vengeful
			has_relation_rival = scope:recipient
		}
		any_character_struggle = {
			involvement = involved
			has_struggle_phase_parameter = unlocks_fabricate_hooks_for_all
			is_secondary_character_involvement_either_trigger = {
				CHAR = scope:recipient
			}
		}
		AND = {
			government_has_flag = government_is_clan
			is_in_same_clan_as_trigger = {
				CHARACTER = scope:recipient
			}
			house ?= {
				has_house_unity_parameter = unity_unlock_fabricate_hooks
			}
		}
	}
}
scope:recipient != scope:puppet_or_actor

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

Can be sent when (is_valid…) (49 lines of game script)
scope:puppet_or_actor = {
	is_physically_able_adult = yes
	can_start_scheme = {
		target_character = scope:recipient
		type = fabricate_hook
	}
}
NOT = {
	scope:puppet_or_actor = {
		has_hook = scope:recipient
	}
}
scope:puppet_or_actor = {
	OR = {
		custom_tooltip = {
			text = sp_fabricate_hook_court_chaplain_tt
			has_fulfillment_parameter = sp_fabricate_hook_court_chaplain
		}
		custom_tooltip = {
			text = sp_fabricate_hook_hor_tt
			has_fulfillment_parameter = sp_fabricate_hook_hor
		}
		custom_tooltip = {
			text = doctrine_parameter_tenet_sacred_shadows_fabricate_hook
			has_personal_tenet_flag = tenet_sacred_shadows_fabricate_hook
		}
		has_perk = truth_is_relative_perk
		AND = {
			has_trait = vengeful
			has_relation_rival = scope:recipient
		}
		any_character_struggle = {
			involvement = involved
			has_struggle_phase_parameter = unlocks_fabricate_hooks_for_all
			is_secondary_character_involvement_either_trigger = {
				CHAR = scope:recipient
			}
		}
		AND = {
			government_has_flag = government_is_clan
			is_in_same_clan_as_trigger = {
				CHARACTER = scope:recipient
			}
			house ?= {
				has_house_unity_parameter = unity_unlock_fabricate_hooks
			}
		}
	}
}

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

Effects (on_send, on_accept, on_decline) (102 lines of game script)
on_send = scope:puppet_or_actor = {
	if = {
		limit = {
			OR = {
				has_character_modifier = pam_granted_indulgences_modifier
				has_character_modifier = pam_granted_indulgences_modifier_small
			}
		}
		change_spiritual_fulfillment = medium_spiritual_fulfillment_loss
	}
}
on_accept = scope:puppet_or_actor = {
	if = {
		limit = {
			NOT = {
				sp_hostile_schemes_except_murder_no_stress_or_fulfillment_trigger = yes
			}
		}
		stress_and_fulfillment_impact = {
			just = medium_stress_impact_gain
			honest = medium_stress_impact_gain
			compassionate = minor_stress_impact_gain
		}
	}
	send_interface_toast = {
		type = event_toast_effect_good
		title = fabricate_hook_interaction_toast
		left_icon = scope:puppet_or_actor
		right_icon = scope:recipient
		if = {
			limit = {
				scope:agent_focus_success ?= yes
			}
			begin_scheme_with_agents_effect = {
				SCHEME_TYPE = fabricate_hook
				TARGET_TYPE = target_character
				TARGET_SCOPE = scope:recipient
				AGENT_1 = agent_outcast
				AGENT_2 = agent_diplomat
				AGENT_3 = agent_thief
				AGENT_4 = agent_infiltrator
				AGENT_5 = agent_lookout
			}
		}
		else_if = {
			limit = {
				scope:agent_focus_speed ?= yes
			}
			begin_scheme_with_agents_effect = {
				SCHEME_TYPE = fabricate_hook
				TARGET_TYPE = target_character
				TARGET_SCOPE = scope:recipient
				AGENT_1 = agent_infiltrator
				AGENT_2 = agent_footpad
				AGENT_3 = agent_socialite
				AGENT_4 = agent_outcast
				AGENT_5 = agent_lookout
			}
		}
		else_if = {
			limit = {
				scope:agent_focus_secrecy ?= yes
			}
			begin_scheme_with_agents_effect = {
				SCHEME_TYPE = fabricate_hook
				TARGET_TYPE = target_character
				TARGET_SCOPE = scope:recipient
				AGENT_1 = agent_lookout
				AGENT_2 = agent_decoy
				AGENT_3 = agent_justiciar
				AGENT_4 = agent_outcast
				AGENT_5 = agent_footpad
			}
		}
		else = {
			begin_scheme_with_agents_effect = {
				SCHEME_TYPE = fabricate_hook
				TARGET_TYPE = target_character
				TARGET_SCOPE = scope:recipient
				AGENT_1 = agent_outcast
				AGENT_2 = agent_thief
				AGENT_3 = agent_infiltrator
				AGENT_4 = agent_footpad
				AGENT_5 = agent_lookout
			}
		}
	}
}
if = {
	limit = {
		scope:is_puppet_action ?= yes
		scope:actor != scope:recipient
	}
	scope:actor = {
		send_interface_toast = {
			type = event_toast_effect_good
			title = fabricate_hook_interaction_toast_puppeteer
			left_icon = scope:puppet_or_actor
			right_icon = scope:recipient
		}
	}
}

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

Category
Hostile actions
Starts the scheme
Fabricate Hook
In the menu
under More…
ID
fabricate_hook_interaction

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