Scripted trigger · Wards and Wardens files
bp2_valid_to_offer_as_hostage_trigger
bp2_valid_to_offer_as_hostage_trigger = { SENDER = … }game/common/scripted_triggers/05_bp2_hostage_triggers.txt, line 5 (54 lines). Parameters: $SENDER$.
bp2_valid_to_offer_as_hostage_trigger is a scripted trigger in Crusader Kings III, in the Wards and Wardens files, written at line 5 of its file. A call passes 1 parameter: SENDER. The game's script calls it in 12 places, among them Demand Hostage (interaction), Exchange Hostages (interaction) and Offer Hostage (interaction). Its body carries 3 texts of the game's own for the player. Patch 1.20.1.2, from game/common/scripted_triggers/05_bp2_hostage_triggers.txt.
What it checks
is_hostage = noliege ?= $SENDER$- Is not landed
- Is not a landless ruler
- Is not married
- Is not betrothed
- If imprisoned:
imprisoner = $SENDER$
One of these
is_child_of = $SENDER$or
is_grandchild_of = $SENDER$or
is_sibling_of = $SENDER$or
is_nibling_of = $SENDER$
- You may not offer your Regent as a Hostage
If
a check the game hides
Then
scope:war:- Hostages cannot be exchanged to settle Great Holy Wars
- Hostages cannot be used to settle a …
• the game's own tooltip text · ◦ our reading of the script line · code the script where neither exists
“They” is whatever it runs on (the scope it is called in). The scripted triggers and effects it calls link to their own pages; $PARAMETERS$ stay as written: each call fills them in.
The script as written (54 lines of game script)
bp2_valid_to_offer_as_hostage_trigger = {
# Update if this is changed : offer_hostage_interaction_desc
# Must not be a hostage already
is_hostage = no
# Cannot send self as hostage
NOT = { this = $SENDER$ }
# Must be under sender's control
liege ?= $SENDER$
# Hostages must be landless and not a ruler
is_landed = no
is_landless_ruler = no
is_married = no
is_betrothed = no
# If imprisoned, it must be by sender
trigger_if = {
limit = { is_imprisoned = yes }
imprisoner = $SENDER$
}
# Hostages must be very close relations of sender
OR = {
is_child_of = $SENDER$
is_grandchild_of = $SENDER$
is_sibling_of = $SENDER$
is_nibling_of = $SENDER$
}
# Not already offered and travelling
NOR = {
exists = var:hostage_travelling_to_warden
exists = var:guardian_travelling_to_ward
exists = var:ward_travelling_to_guardian
}
# You can't send your diarch away as a hostage.
custom_tooltip = {
text = hostage_cannot_offer_own_regent_tt
NOT = { this = $SENDER$.diarch }
}
trigger_if = {
limit = { exists = scope:war }
scope:war = {
custom_tooltip = {
text = hostage_exchange_invalid_for_crusade_tt
NOR = {
using_cb = undirected_great_holy_war
using_cb = directed_great_holy_war
}
}
custom_tooltip = {
text = hostage_exchange_invalid_for_cb_tt
bp2_hostage_exchange_invalid_cb_trigger = no
}
}
}
}As written in game/common/scripted_triggers/05_bp2_hostage_triggers.txt.
Where it is used
Every place in common/, events/ and history/ that calls bp2_valid_to_offer_as_hostage_trigger.
Character interactions (6)
Important actions (3)
- You can Demand a Hostage
- You can Exchange Hostages
- You can Offer a Hostage
Source: game/common/scripted_triggers/05_bp2_hostage_triggers.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.