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

Demand Herd

No costThe AI weighs it

If the recipient is Intimidated by you, this action will have lesser Opinion penalties.

What you need

You

To send it

  • Also needed: not imprisoned

To see it in the menu

  • Your Government is Nomadic
  • If played by the AI:
    • primary_title.tier >= tier_duchy
  • None of these

    • You:
      • Has “had mpo temujin flavor 0020” (a variable the game's script sets)
      • Had mpo temujin flavor 0020 is scope:recipient

The character you target

To send it

  • Is at not War
  • Is not a faction member
  • They does not have enough Herd
  • Also needed: not imprisoned

To see it in the menu

  • Government is Nomadic
  • Is played by the AI

Demand Herd is a hostile character interaction in Crusader Kings III. You need: Is not imprisoned. The character you target needs: Is not imprisoned, Is at not War, Is not a faction member and 1 more. The AI weighs it. Reasons the AI weighs include Asking for more herd (-100) and Hook used (+1,000). Patch 1.20.1.2, from game/common/character_interactions/09_mpo_interactions.txt.

for a guide, post or blog
Quick answers (2)
What are the requirements for Demand Herd in CK3?
You: Is not imprisoned. The character you target: Is not imprisoned, Is at not War, Is not a faction member and They does not have enough Herd. (patch 1.20.1.2)
How do I get the AI to accept Demand Herd?
The AI weighs it. Its reasons: Asking for more herd -100, Hook used +1,000, The recipient's Boldness, … Opinion of …, Intimidated by you and Terrified of you.

Will they accept?

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

ReasonAmount
Base-100
Asking for more herd
when
  • The option “more herd” is chosen
-100
Hook used
when
+1,000
The recipient's Boldness
when
  • NOT = { ai_boldness = 0 }
varies
… Opinion of …varies
Intimidated by you
when
  • The character you target:
    • has_dread_level_towards = { target = scope:actor level = 1 }
intimidated_halved_reason_value
Terrified of you
when
  • The character you target:
    • has_dread_level_towards = { target = scope:actor level = 2 }
cowed_halved_reason_value
Acceptance (ai_accept) (32 lines of game script)
base = -100
modifier = {
	trigger = {
		scope:more_herd ?= yes
	}
	add = -100
	desc = ASK_FOR_HERD_MORE_HERD_REASON
}
modifier = {
	trigger = {
		scope:hook ?= yes
	}
	add = 1000
	desc = MIGRATION_HOOK_USED
}
modifier = {
	add = {
		value = ai_boldness
		multiply = -1
		divide = 4
	}
	NOT = {
		ai_boldness = 0
	}
	desc = ARTIFACT_BOLDNESS_REASON
}
opinion_modifier = {
	who = scope:recipient
	opinion_target = scope:actor
	desc = AI_OPINION_REASON
}
bp2_hostage_dread_modifier = yes

As written in game/common/character_interactions/09_mpo_interactions.txt.

What happens

If they accept

  • The character you target:
    • If

      • The option “more herd” is chosen

      Then

      • If

        • You: Has “nomad events 0210 herd var” (a variable the game's script sets)

        Then

        • pay_herd = { … }

        Otherwise

        • pay_herd = { target = scope:actor value = scope:recipient.domicile.ask_for_herd_double_value }

      Otherwise

      • If

        • You: Has “nomad events 0210 herd var” (a variable the game's script sets)

        Then

        • pay_herd = { … }

        Otherwise

        • pay_herd = { target = scope:actor value = scope:recipient.domicile.ask_for_herd_base_value }
    • If

      • Any character situation › Any situation sub region:
        • has_sub_region_phase_parameter = the_great_steppe_demand_herd_higher_rate
        • Any situation sub region participant group:
          • participant_group_type = nomad_rulers_capital
          • participant_group_has_character = scope:actor

      Then

    • If

      • The option “more herd” is chosen

      Then

      • If

        • The character you target:
          • has_dread_level_towards = { target = scope:actor level = 2 }

        Then

        Else if

        • The character you target:
          • has_dread_level_towards = { target = scope:actor level = 1 }

        Then

        Otherwise

      Otherwise

      • If

        • The character you target: Government is unplayable

        Then

        Otherwise

        • If

          • The character you target:
            • has_dread_level_towards = { target = scope:actor level = 2 }

          Then

          Else if

          • The character you target:
            • has_dread_level_towards = { target = scope:actor level = 1 }

          Then

          Otherwise

  • If

    Then

    • Use a Hook on the target

Options when sending

  • Use a Hook
  • Request more Herd

• 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) (19 lines of game script)
is_available = government_has_flag = government_is_nomadic
exists = domicile
trigger_if = {
	limit = {
		is_ai = yes
	}
	primary_title.tier >= tier_duchy
}
is_shown = scope:recipient = {
	government_has_flag = government_is_nomadic
	exists = domicile
	is_ai = yes
}
NOT = {
	scope:actor = {
		has_variable = had_mpo_temujin_flavor_0020
		var:had_mpo_temujin_flavor_0020 ?= scope:recipient
	}
}

As written in game/common/character_interactions/09_mpo_interactions.txt.

Can be sent when (is_valid…) (15 lines of game script)
scope:actor = {
	is_imprisoned = no
}
scope:recipient = {
	NOR = {
		is_imprisoned = yes
		is_at_war = yes
		is_a_faction_member = yes
		custom_tooltip = {
			text = ask_for_herd_not_enough_herd
			domicile.herd < scope:recipient.domicile.ask_for_herd_base_value
			government_has_flag = government_is_nomadic
		}
	}
}

As written in game/common/character_interactions/09_mpo_interactions.txt.

Effects (on_send, on_accept, on_decline) (189 lines of game script)
on_accept = scope:actor = {
	send_interface_toast = {
		type = event_toast_effect_good
		title = ask_for_herd_toast
		left_icon = scope:recipient
		scope:recipient = {
			if = {
				limit = {
					scope:more_herd ?= yes
				}
				if = {
					limit = {
						scope:actor = {
							has_variable = nomad_events_0210_herd_var
						}
					}
					pay_herd = {
						target = scope:actor
						value = {
							value = scope:recipient.domicile.ask_for_herd_double_value
							multiply = 2
						}
					}
				}
				else = {
					pay_herd = {
						target = scope:actor
						value = scope:recipient.domicile.ask_for_herd_double_value
					}
				}
			}
			else = {
				if = {
					limit = {
						scope:actor = {
							has_variable = nomad_events_0210_herd_var
						}
					}
					pay_herd = {
						target = scope:actor
						value = {
							value = scope:recipient.domicile.ask_for_herd_base_value
							multiply = 2
						}
					}
				}
				else = {
					pay_herd = {
						target = scope:actor
						value = scope:recipient.domicile.ask_for_herd_base_value
					}
				}
			}
			if = {
				limit = {
					any_character_situation = {
						any_situation_sub_region = {
							has_sub_region_phase_parameter = the_great_steppe_demand_herd_higher_rate
							any_situation_sub_region_participant_group = {
								participant_group_type = nomad_rulers_capital
								participant_group_has_character = scope:actor
							}
						}
					}
				}
				custom_tooltip = {
					text = ask_for_herd_abundant_grazing_tt
					pay_herd = {
						target = scope:actor
						value = scope:recipient.domicile.ask_for_herd_half_value
					}
				}
			}
			if = {
				limit = {
					scope:more_herd ?= yes
				}
				if = {
					limit = {
						scope:recipient = {
							has_dread_level_towards = {
								target = scope:actor
								level = 2
							}
						}
					}
					custom_tooltip = ask_for_herd_dread_effect_tt
					add_opinion = {
						target = scope:actor
						modifier = ask_for_herd_opinion
						opinion = -20
					}
				}
				else_if = {
					limit = {
						scope:recipient = {
							has_dread_level_towards = {
								target = scope:actor
								level = 1
							}
						}
					}
					custom_tooltip = ask_for_herd_dread_effect_tt
					add_opinion = {
						target = scope:actor
						modifier = ask_for_herd_opinion
						opinion = -40
					}
				}
				else = {
					add_opinion = {
						target = scope:actor
						modifier = ask_for_herd_opinion
						opinion = -60
					}
				}
			}
			else = {
				if = {
					limit = {
						scope:recipient = {
							government_has_flag = government_is_herder
						}
					}
					scope:actor = {
						domicile ?= {
							change_herd = major_herd_gain
						}
						add_legitimacy = minor_legitimacy_loss
					}
					scope:recipient.primary_title = {
						custom_tooltip = ask_for_herd_herder_recipient_tt
						add_county_modifier = {
							modifier = ask_for_herd_county_depleted_modifier
							years = 12
						}
					}
				}
				else = {
					if = {
						limit = {
							scope:recipient = {
								has_dread_level_towards = {
									target = scope:actor
									level = 2
								}
							}
						}
						custom_tooltip = ask_for_herd_dread_effect_tt
						add_opinion = {
							target = scope:actor
							modifier = ask_for_herd_opinion
							opinion = -10
						}
					}
					else_if = {
						limit = {
							scope:recipient = {
								has_dread_level_towards = {
									target = scope:actor
									level = 1
								}
							}
						}
						custom_tooltip = ask_for_herd_dread_effect_tt
						add_opinion = {
							target = scope:actor
							modifier = ask_for_herd_opinion
							opinion = -20
						}
					}
					else = {
						add_opinion = {
							target = scope:actor
							modifier = ask_for_herd_opinion
							opinion = -40
						}
					}
				}
			}
		}
		if = {
			limit = {
				scope:hook = yes
			}
			use_hook = scope:recipient
		}
	}
}

As written in game/common/character_interactions/09_mpo_interactions.txt.

Category
Hostile actions
Again on the same character
after 6 years
In the menu
main list
ID
mpo_ask_for_herd_interaction

Source: game/common/character_interactions/09_mpo_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?