Scripted effect
offer_vassalization_interaction_effect
offer_vassalization_interaction_effect = yesgame/common/scripted_effects/00_interaction_effects.txt, line 2201 (97 lines). No parameters.
offer_vassalization_interaction_effect is a scripted effect in Crusader Kings III, written at line 2201 of its file. It takes no parameters: offer_vassalization_interaction_effect = yes. The game's script calls it in 2 places, among them Offer Vassalage (interaction) and char_interaction.0001 (event). Its body carries 10 texts of the game's own for the player. Patch 1.20.1.2, from game/common/scripted_effects/00_interaction_effects.txt.
What it does
scope:recipient:change_liege = { liege = scope:puppet_or_actor change = scope:change }- Opinion: Became Vassal (+10)
scope:recipient:- If government is Feudal:
If
scope:high_obligations ?= yes
Then
- Vassal Contract starts with High Taxes
- Vassal Contract starts with High Levy Contribution
Else if
scope:low_obligations ?= yes
Then
- Vassal Contract starts with Low Taxes
- Vassal Contract starts with Low Levy Contribution
Else if
scope:religious_exemption ?= yes
Then
- Vassal Contract starts with Normal Taxes
- Vassal Contract starts with Low Levy Contribution
- Vassal Contract starts with Religiously Protected
Otherwise
- Vassal Contract starts with Normal Taxes
- Vassal Contract starts with Normal Levy Contribution
- Else, if all of these hold:
- Conditions:
- Government is Clan
scope:religious_exemption_clan ?= yes
- Then: Vassal Contract starts with Religiously Protected
- Conditions:
- If government is Feudal:
• 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 (97 lines of game script)
offer_vassalization_interaction_effect = {
create_title_and_vassal_change = {
type = swear_fealty
save_scope_as = change
}
scope:recipient = {
change_liege = {
liege = scope:puppet_or_actor
change = scope:change
}
add_opinion = {
modifier = became_vassal
target = scope:puppet_or_actor
opinion = 10
}
}
resolve_title_and_vassal_change = scope:change
# Special terms for feudal contracts
scope:recipient = {
if = {
limit = {
government_has_flag = government_is_feudal
}
if = {
limit = { scope:high_obligations ?= yes }
hidden_effect = {
if = {
limit = { top_liege != this } # To avoid errors during tooltip generation (prior to the contract being generated)
vassal_contract_set_obligation_level = { type = feudal_government_taxes level = 3 }
vassal_contract_set_obligation_level = { type = feudal_government_levies level = 3 }
}
}
custom_tooltip = high_obligations_taxes
custom_tooltip = high_obligations_levies
}
else_if = {
limit = { scope:low_obligations ?= yes }
hidden_effect = {
if = {
limit = { top_liege != this } # To avoid errors during tooltip generation (prior to the contract being generated)
vassal_contract_set_obligation_level = { type = feudal_government_taxes level = 1 }
vassal_contract_set_obligation_level = { type = feudal_government_levies level = 1 }
}
}
custom_tooltip = low_obligations_taxes
custom_tooltip = low_obligations_levies
}
else_if = {
limit = { scope:religious_exemption ?= yes }
hidden_effect = {
if = {
limit = { top_liege != this } # To avoid errors during tooltip generation (prior to the contract being generated)
vassal_contract_set_obligation_level = { type = feudal_government_taxes level = 2 }
vassal_contract_set_obligation_level = { type = feudal_government_levies level = 1 }
vassal_contract_set_obligation_level = { type = religious_rights level = 1 }
}
}
custom_tooltip = normal_obligations_taxes
custom_tooltip = low_obligations_levies
custom_tooltip = religious_protection_tt
}
else = {
hidden_effect = {
if = {
limit = { top_liege != this } # To avoid errors during tooltip generation (prior to the contract being generated)
vassal_contract_set_obligation_level = { type = feudal_government_taxes level = 2 }
vassal_contract_set_obligation_level = { type = feudal_government_levies level = 2 }
}
}
custom_tooltip = normal_obligations_taxes
custom_tooltip = normal_obligations_levies
}
}
else_if = {
limit = {
government_has_flag = government_is_clan
scope:religious_exemption_clan ?= yes
}
hidden_effect = {
if = {
limit = { top_liege != this } # To avoid errors during tooltip generation (prior to the contract being generated)
vassal_contract_set_obligation_level = { type = religious_rights level = 1 }
}
}
custom_tooltip = religious_protection_tt
}
}
# Struggle catalysts.
hidden_effect = {
fp3_struggle_apply_independent_vassalage_catalyst_effect = {
NEW_LIEGE = scope:puppet_or_actor
NEW_VASSAL = scope:recipient
}
}
}As written in game/common/scripted_effects/00_interaction_effects.txt.
Where it is used
Every place in common/, events/ and history/ that calls offer_vassalization_interaction_effect.
Character interactions (1)
Events (1)
Source: game/common/scripted_effects/00_interaction_effects.txt and every file of common/, events/ and history/ that calls it, Crusader Kings III 1.20.1.2.