2109 lines
49 KiB
Text
2109 lines
49 KiB
Text
#be aware that the actual granting of the title happens in code!
|
|
grant_titles_interaction = {
|
|
|
|
category = interaction_category_vassal
|
|
common_interaction = yes
|
|
|
|
desc = grant_titles_interaction_desc
|
|
|
|
special_interaction = grant_titles_interaction
|
|
interface = grant_titles
|
|
target_type = title
|
|
target_filter = actor_domain_titles
|
|
interface_priority = 60
|
|
|
|
# actor character giving the titles
|
|
# recipient character receiving the titles
|
|
|
|
is_shown = {
|
|
NOT = { scope:actor = scope:recipient }
|
|
scope:actor = {
|
|
NOT = {
|
|
government_has_flag = government_is_landless_adventurer
|
|
}
|
|
}
|
|
scope:recipient = {
|
|
OR = {
|
|
target_is_liege_or_above = scope:actor
|
|
is_pool_guest_of = scope:actor
|
|
AND = {
|
|
scope:actor.faith.religious_head = scope:recipient
|
|
is_independent_ruler = yes
|
|
}
|
|
}
|
|
}
|
|
trigger_if = {
|
|
limit = {
|
|
scope:actor = { government_allows = administrative }
|
|
}
|
|
scope:recipient = { NOT = { government_allows = administrative } }
|
|
}
|
|
}
|
|
|
|
is_valid_showing_failures_only = {
|
|
scope:recipient = {
|
|
custom_tooltip = {
|
|
text = can_be_granted_titles_interaction_tt
|
|
OR = {
|
|
can_be_granted_titles_by = { RULER = scope:actor }
|
|
can_be_granted_theocratic_titles_by = { RULER = scope:actor }
|
|
AND = {
|
|
is_diarch_of_target = scope:actor
|
|
scope:actor = { has_diarchy_active_parameter = diarchy_is_co_rulership }
|
|
}
|
|
}
|
|
}
|
|
NOT = { is_at_war_with = scope:actor }
|
|
NOT = { has_trait = devoted } # Monks are disinherited, and should not have land granted to them
|
|
bp2_valid_for_standard_interactions_trigger = yes
|
|
is_busy_in_events_localised = yes
|
|
trigger_if = {
|
|
limit = { is_ruler = no }
|
|
is_imprisoned = no
|
|
}
|
|
# DON'T TAKE OTHER PLAYERS' ACCLAIMED KNIGHTS
|
|
custom_description = {
|
|
text = grant_title_stealing_acclaimed_knight
|
|
subject = scope:recipient
|
|
NOR = {
|
|
AND = {
|
|
is_acclaimed = yes
|
|
liege ?= {
|
|
is_ai = no
|
|
NOT = { this = scope:actor }
|
|
}
|
|
}
|
|
AND = {
|
|
is_acclaimed = yes
|
|
scope:actor = { is_ai = yes }
|
|
}
|
|
}
|
|
}
|
|
# Gallivanters won't accept additional responsibilities.
|
|
NOT = { has_trait = gallivanter }
|
|
}
|
|
custom_description = {
|
|
text = is_not_theocratic_court_chaplain
|
|
subject = scope:recipient
|
|
NAND = {
|
|
scope:actor.faith = {
|
|
has_doctrine = doctrine_theocracy_temporal
|
|
}
|
|
scope:recipient = {
|
|
faith = {
|
|
has_doctrine = doctrine_theocracy_temporal
|
|
}
|
|
has_council_position = councillor_court_chaplain
|
|
}
|
|
NOT = { scope:actor.faith.religious_head = scope:recipient }
|
|
}
|
|
}
|
|
scope:actor = {
|
|
any_held_title = {
|
|
count > 1
|
|
}
|
|
}
|
|
}
|
|
|
|
can_send = {
|
|
trigger_if = {
|
|
limit = {
|
|
scope:actor = {
|
|
highest_held_title_tier >= tier_kingdom
|
|
has_diarchy_active_parameter = primeminister_requires_duchy
|
|
diarch = scope:recipient
|
|
}
|
|
}
|
|
custom_tooltip = {
|
|
text = primeminister_requires_duchy.tt.blocked_grant
|
|
any_in_list = {
|
|
list = target_titles
|
|
tier >= tier_duchy
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
can_be_picked_title = {
|
|
scope:target = {
|
|
is_leased_out = no
|
|
|
|
trigger_if = {
|
|
limit = { is_noble_family_title = yes }
|
|
custom_tooltip = {
|
|
text = GRANT_TITLES_ITEM_CANT_GIVE_NOBLE_FAMILY
|
|
always = no
|
|
}
|
|
}
|
|
|
|
trigger_if = {
|
|
limit = {
|
|
is_head_of_faith = yes
|
|
NOT = {
|
|
scope:recipient.faith.religious_head = scope:actor.faith.religious_head
|
|
}
|
|
}
|
|
custom_tooltip = {
|
|
text = GRANT_TITLES_ITEM_CANT_HEAD_OF_FAITH_TO_INFIDEL
|
|
scope:recipient.faith.religious_head = scope:actor.faith.religious_head
|
|
}
|
|
}
|
|
|
|
trigger_if = {
|
|
limit = {
|
|
scope:recipient = scope:actor.player_heir
|
|
scope:actor = { has_partition_succession_realm_law_trigger = yes }
|
|
}
|
|
custom_description = {
|
|
text = partition_primary_heir_unfair
|
|
subject = scope:recipient
|
|
current_heir = scope:recipient
|
|
}
|
|
}
|
|
trigger_if = {
|
|
limit = { scope:target = title:k_fashion }
|
|
NOT = { scope:target = title:k_fashion }
|
|
}
|
|
}
|
|
|
|
custom_description = {
|
|
text = grant_titles_interaction_can_only_give_diarch_de_jure_liege_to_diarch
|
|
subject = scope:actor.diarch
|
|
NAND = {
|
|
# Only applies if we have an active diarchy.
|
|
scope:actor = { has_active_diarchy = yes }
|
|
# Now, prevent us from giving away our diarch's land to invalidate them...
|
|
scope:target = {
|
|
any_dejure_vassal_title_holder = { this = scope:actor.diarch }
|
|
# ... _unless_ we're giving it _to_ the diarch.
|
|
NOT = { scope:recipient = scope:actor.diarch }
|
|
# Plus we only care if the title is below our tier.
|
|
tier < scope:actor.highest_held_title_tier
|
|
}
|
|
}
|
|
}
|
|
|
|
custom_description = {
|
|
text = grant_titles_interaction_children_not_allowed_temple
|
|
subject = scope:recipient
|
|
NOR = {
|
|
AND = {
|
|
scope:recipient = {
|
|
is_adult = no
|
|
}
|
|
scope:target = {
|
|
tier = tier_barony
|
|
title_province = { has_building_with_flag = temple }
|
|
}
|
|
}
|
|
AND = {
|
|
scope:recipient = {
|
|
is_adult = no
|
|
}
|
|
scope:target = {
|
|
tier = tier_county
|
|
|
|
title_province = {
|
|
is_county_capital = yes
|
|
has_building_with_flag = temple
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
custom_description = {
|
|
text = grant_titles_interaction_title_being_wagered
|
|
NOT = {
|
|
scope:target = { has_variable = wagered_county }
|
|
}
|
|
}
|
|
}
|
|
|
|
auto_accept = yes
|
|
|
|
on_auto_accept = {
|
|
scope:recipient = {
|
|
trigger_event = char_interaction.0110
|
|
}
|
|
}
|
|
|
|
on_accept = {
|
|
if = {
|
|
limit = {
|
|
scope:recipient = {
|
|
is_acclaimed = yes
|
|
liege = {
|
|
this = scope:actor
|
|
}
|
|
}
|
|
scope:target = {
|
|
tier > tier_barony
|
|
}
|
|
}
|
|
custom_tooltip = grant_title_landing_acclaimed_knight_warning
|
|
}
|
|
scope:recipient = {
|
|
if = {
|
|
limit = {
|
|
is_independent_ruler = yes
|
|
save_temporary_scope_as = recipient_is_independent
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_relation_friend = scope:actor
|
|
}
|
|
}
|
|
if = {
|
|
# then verify the right struggle phase
|
|
limit = {
|
|
is_diff_faith_or_culture_trigger = {
|
|
CHAR = scope:actor
|
|
STATUS = involved
|
|
}
|
|
any_character_struggle = {
|
|
involvement = involved
|
|
has_struggle_phase_parameter = struggle_grant_titles_diff_faith_culture_to_leads_to_friendship
|
|
}
|
|
}
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_granted_title
|
|
CHARACTER = scope:actor
|
|
OPINION = 0
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
tier = tier_county
|
|
culture = scope:recipient.culture
|
|
NOR = {
|
|
culture = scope:actor.culture
|
|
recent_history = {
|
|
type = granted
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
alternative_limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
tier >= tier_duchy
|
|
title_capital_county = {
|
|
NOT = { culture = scope:actor.culture }
|
|
culture = scope:recipient.culture
|
|
}
|
|
NOT = {
|
|
recent_history = {
|
|
type = granted
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:recipient.culture = {
|
|
change_cultural_acceptance = {
|
|
target = scope:actor.culture
|
|
value = grant_title_cultural_acceptance_impact
|
|
desc = cultural_acceptance_gain_granted_title
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
tier = tier_county
|
|
}
|
|
scope:actor.culture = { has_cultural_parameter = grants_to_lowborns_bonuses }
|
|
scope:recipient = {
|
|
is_lowborn = yes
|
|
}
|
|
}
|
|
every_in_list = {
|
|
list = target_titles
|
|
limit = { tier = tier_county }
|
|
change_county_control = 30
|
|
}
|
|
scope:recipient = {
|
|
add_trait = peasant_leader
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
tier >= tier_county
|
|
}
|
|
scope:actor.culture = { has_cultural_parameter = landing_house_members_give_prestige }
|
|
exists = scope:actor.house
|
|
exists = scope:recipient.house
|
|
scope:actor.house = scope:recipient.house
|
|
}
|
|
scope:actor = {
|
|
add_prestige = {
|
|
value = 0
|
|
every_in_list = {
|
|
list = target_titles
|
|
limit = { tier = tier_empire }
|
|
add = massive_prestige_gain
|
|
}
|
|
every_in_list = {
|
|
list = target_titles
|
|
limit = { tier = tier_kingdom }
|
|
add = major_prestige_gain
|
|
}
|
|
every_in_list = {
|
|
list = target_titles
|
|
limit = { tier = tier_duchy }
|
|
add = medium_prestige_gain
|
|
}
|
|
every_in_list = {
|
|
list = target_titles
|
|
limit = { tier = tier_county }
|
|
add = minor_prestige_gain
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
tier >= tier_county
|
|
}
|
|
scope:actor.culture = { has_cultural_parameter = landing_house_members_gives_renown }
|
|
exists = scope:actor.house
|
|
exists = scope:recipient.house
|
|
scope:actor.house = scope:recipient.house
|
|
}
|
|
scope:actor.dynasty = {
|
|
add_dynasty_prestige = {
|
|
value = 0
|
|
every_in_list = {
|
|
list = target_titles
|
|
limit = { tier = tier_empire }
|
|
add = massive_dynasty_prestige_gain
|
|
}
|
|
every_in_list = {
|
|
list = target_titles
|
|
limit = { tier = tier_kingdom }
|
|
add = major_dynasty_prestige_gain
|
|
}
|
|
every_in_list = {
|
|
list = target_titles
|
|
limit = { tier = tier_duchy }
|
|
add = medium_dynasty_prestige_gain
|
|
}
|
|
every_in_list = {
|
|
list = target_titles
|
|
limit = { tier = tier_county }
|
|
add = minor_dynasty_prestige_gain
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Iterate over all given titles
|
|
# - Add opinion modifiers
|
|
# - Collect titles that discontent reduction can later be derived from
|
|
every_in_list = {
|
|
list = target_titles
|
|
save_temporary_scope_as = this_title
|
|
if = {
|
|
limit = {
|
|
exists = scope:landed_title
|
|
}
|
|
scope:recipient = {
|
|
if = {
|
|
limit = {
|
|
scope:this_title.tier = tier_barony
|
|
}
|
|
|
|
hidden_effect = {
|
|
add_opinion = {
|
|
target = scope:actor
|
|
modifier = received_title_barony
|
|
}
|
|
}
|
|
|
|
scope:this_title = { add_to_temporary_list = titles_to_grant }
|
|
}
|
|
|
|
else_if = {
|
|
limit = {
|
|
scope:this_title.tier = tier_county
|
|
}
|
|
|
|
hidden_effect = {
|
|
add_opinion = {
|
|
target = scope:actor
|
|
modifier = received_title_county
|
|
}
|
|
if = {
|
|
limit = {
|
|
is_lowborn = yes
|
|
}
|
|
scope:actor = {
|
|
if = {
|
|
limit = {
|
|
is_ai = no
|
|
}
|
|
every_vassal = {
|
|
limit = {
|
|
has_vassal_stance = courtly
|
|
}
|
|
add_opinion = {
|
|
target = scope:actor
|
|
modifier = courtly_lowborn_grant_opinion
|
|
opinion = -5
|
|
}
|
|
}
|
|
}
|
|
else = { # Can't really stop the AI from landing lowborns, so throttle it a bit so that great conquerors don't annihilate their opinion
|
|
random = {
|
|
chance = 25
|
|
every_vassal = {
|
|
limit = {
|
|
has_vassal_stance = courtly
|
|
}
|
|
add_opinion = {
|
|
target = scope:actor
|
|
modifier = courtly_lowborn_grant_opinion
|
|
opinion = -5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:this_title = { add_to_temporary_list = titles_to_grant }
|
|
}
|
|
|
|
else_if = {
|
|
limit = {
|
|
scope:this_title.tier = tier_duchy
|
|
}
|
|
|
|
hidden_effect = {
|
|
add_opinion = {
|
|
target = scope:actor
|
|
modifier = received_title_duchy
|
|
}
|
|
if = {
|
|
limit = {
|
|
is_lowborn = yes
|
|
}
|
|
scope:actor = {
|
|
every_vassal = {
|
|
limit = {
|
|
has_vassal_stance = courtly
|
|
}
|
|
add_opinion = {
|
|
target = scope:actor
|
|
modifier = courtly_lowborn_grant_opinion
|
|
opinion = -20
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:this_title = { add_to_temporary_list = titles_to_grant }
|
|
}
|
|
|
|
else_if = {
|
|
limit = {
|
|
scope:this_title.tier = tier_kingdom
|
|
}
|
|
|
|
hidden_effect = {
|
|
add_opinion = {
|
|
target = scope:actor
|
|
modifier = received_title_kingdom
|
|
}
|
|
if = {
|
|
limit = {
|
|
is_lowborn = yes
|
|
}
|
|
scope:actor = {
|
|
every_vassal = {
|
|
limit = {
|
|
has_vassal_stance = courtly
|
|
}
|
|
add_opinion = {
|
|
target = scope:actor
|
|
modifier = courtly_lowborn_grant_opinion
|
|
opinion = -50
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:this_title = { add_to_temporary_list = titles_to_grant }
|
|
}
|
|
|
|
else_if = {
|
|
limit = {
|
|
scope:this_title.tier = tier_empire
|
|
}
|
|
|
|
hidden_effect = {
|
|
add_opinion = {
|
|
target = scope:actor
|
|
modifier = received_title_empire
|
|
}
|
|
if = {
|
|
limit = {
|
|
is_lowborn = yes
|
|
}
|
|
scope:actor = {
|
|
every_vassal = {
|
|
limit = {
|
|
has_vassal_stance = courtly
|
|
}
|
|
add_opinion = {
|
|
target = scope:actor
|
|
modifier = courtly_lowborn_grant_opinion
|
|
opinion = -5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
is_a_faction_member = yes
|
|
}
|
|
add_joined_faction_discontent = -60
|
|
}
|
|
}
|
|
|
|
scope:this_title = { add_to_temporary_list = titles_to_grant }
|
|
}
|
|
}
|
|
|
|
#Promised a vassal this title they had a claim on (vassal.2901)
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
exists = var:was_promised_title
|
|
var:was_promised_title = scope:recipient
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:recipient = {
|
|
exists = var:promised_title
|
|
}
|
|
scope:landed_title = scope:recipient.var:promised_title
|
|
}
|
|
scope:actor = {
|
|
trigger_event = {
|
|
id = vassal.2910
|
|
days = { 7 14 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:recipient = {
|
|
has_trait = bastard
|
|
}
|
|
}
|
|
custom_tooltip = grant_title_to_bastard_dynasty_warning
|
|
}
|
|
} # every_in_list
|
|
|
|
|
|
# The accumulated discontent reduction of the recipient
|
|
scope:recipient = {
|
|
if = {
|
|
limit = {
|
|
is_a_faction_member = yes
|
|
}
|
|
add_joined_faction_discontent = grant_title_opinion_sum_discontent_calc
|
|
}
|
|
}
|
|
|
|
# Viziers may be booted from their job.
|
|
scope:actor = {
|
|
if = {
|
|
limit = {
|
|
# Assuming this is relevant at all.
|
|
diarch ?= scope:recipient
|
|
# And that scope:actor can do without a supervisor atm.
|
|
can_leave_diarchy_trigger = yes
|
|
# Aaaaand that their diarchy supports this type of thing.
|
|
OR = {
|
|
has_diarchy_parameter = primeminister_requires_county
|
|
has_diarchy_parameter = primeminister_requires_duchy
|
|
}
|
|
}
|
|
# Is this a duchy?
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
tier >= tier_duchy
|
|
}
|
|
}
|
|
custom_tooltip = grant_titles_interaction.tt.primeminister_title_grant.duchy_sufficient
|
|
end_diarchy = yes
|
|
}
|
|
# Is this a county?
|
|
else_if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
tier = tier_county
|
|
}
|
|
}
|
|
# Is that insufficient?
|
|
if = {
|
|
limit = { has_diarchy_active_parameter = primeminister_requires_duchy }
|
|
custom_tooltip = grant_titles_interaction.tt.primeminister_title_grant.county_insufficient
|
|
}
|
|
# Is that sufficient?
|
|
else = {
|
|
custom_tooltip = grant_titles_interaction.tt.primeminister_title_grant.county_sufficient
|
|
end_diarchy = yes
|
|
}
|
|
}
|
|
# Is this a barony?
|
|
else_if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
count = all
|
|
tier = tier_barony
|
|
}
|
|
}
|
|
custom_tooltip = grant_titles_interaction.tt.primeminister_title_grant.barony_doesnt_end
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
tier = tier_empire
|
|
}
|
|
}
|
|
custom_tooltip = grant_title_modifier_stack_empires
|
|
}
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
tier = tier_kingdom
|
|
}
|
|
}
|
|
custom_tooltip = grant_title_modifier_stack_kingdoms
|
|
}
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = titles_to_grant
|
|
tier = tier_duchy
|
|
}
|
|
}
|
|
custom_tooltip = grant_title_modifier_stack_duchies
|
|
}
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = titles_to_grant
|
|
tier = tier_county
|
|
}
|
|
}
|
|
custom_tooltip = grant_title_modifier_stack_counties
|
|
}
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = titles_to_grant
|
|
tier = tier_barony
|
|
}
|
|
}
|
|
custom_tooltip = grant_title_modifier_stack_baronies
|
|
}
|
|
if = {
|
|
limit = {
|
|
trigger_if = {
|
|
limit = { scope:actor = { is_ai = yes } }
|
|
scope:actor = {
|
|
any_vassal = {
|
|
has_vassal_stance = courtly
|
|
}
|
|
}
|
|
}
|
|
scope:recipient = {
|
|
is_lowborn = yes
|
|
}
|
|
any_in_list = {
|
|
list = titles_to_grant
|
|
tier >= tier_county
|
|
}
|
|
}
|
|
custom_tooltip = grant_title_modifier_courtly_lowborn_grant_penalty
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:recipient = { is_a_faction_member = yes }
|
|
}
|
|
custom_tooltip = grant_title_modifier_stack_discontent
|
|
}
|
|
|
|
# Jealousy check
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = titles_to_grant
|
|
any_claimant = { grant_title_rivalry_trigger = yes }
|
|
}
|
|
}
|
|
hidden_effect = {
|
|
random = {
|
|
chance = 25
|
|
ordered_in_list = {
|
|
list = titles_to_grant
|
|
limit = {
|
|
any_claimant = { grant_title_rivalry_trigger = yes }
|
|
}
|
|
order_by = tier
|
|
save_scope_as = claim_title
|
|
ordered_claimant = {
|
|
limit = { grant_title_rivalry_trigger = yes }
|
|
order_by = primary_title.tier
|
|
save_scope_as = claim_vassal
|
|
if = {
|
|
limit = {
|
|
scope:recipient = { is_lowborn = yes }
|
|
}
|
|
scope:recipient = { save_scope_as = lowborn_scope }
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:recipient = { has_claim_on = scope:claim_title }
|
|
}
|
|
scope:recipient = { save_scope_as = claimant_scope }
|
|
}
|
|
scope:actor = {
|
|
trigger_event = {
|
|
id = bp1_yearly.8070
|
|
days = 5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Stress impact
|
|
scope:actor = {
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
trigger_if = {
|
|
limit = { tier = tier_barony }
|
|
title_province.barony = {
|
|
has_wrong_holding_type = no
|
|
}
|
|
}
|
|
count >= 1
|
|
}
|
|
}
|
|
|
|
# Generous characters enjoy giving away titles
|
|
if = {
|
|
limit = {
|
|
has_trait = generous
|
|
}
|
|
add_stress = generous_title_grant_value
|
|
}
|
|
|
|
# Gnostics lose stress for giving away titles.
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
faith = {
|
|
has_doctrine_parameter = granting_titles_gives_stress
|
|
}
|
|
}
|
|
}
|
|
scope:actor = {
|
|
add_stress = {
|
|
value = 0
|
|
|
|
# Base stress value scaled on title tier.
|
|
every_in_list = {
|
|
list = target_titles
|
|
|
|
add = {
|
|
value = 0
|
|
|
|
if = {
|
|
limit = { this.tier = tier_county }
|
|
add = minor_stress_loss # 10 base
|
|
}
|
|
else_if = {
|
|
limit = { this.tier = tier_duchy }
|
|
add = {
|
|
value = medium_stress_loss
|
|
multiply = 1.25 # 25 base
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = { this.tier = tier_kingdom }
|
|
add = {
|
|
value = major_stress_loss
|
|
multiply = 2 # 80 base
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = { this.tier = tier_empire }
|
|
add = {
|
|
value = monumental_stress_loss
|
|
multiply = 2 # 200 base
|
|
}
|
|
}
|
|
|
|
# Lose more stress for giving away titles of your primary tier; lose less stress for giving away titles far below your primary in tier.
|
|
multiply = {
|
|
value = this.tier
|
|
add = 1
|
|
divide = scope:actor.primary_title.tier
|
|
}
|
|
|
|
# Round to the nearest multiple of 5.
|
|
divide = 5
|
|
round = yes
|
|
multiply = 5
|
|
|
|
# For a Duke, this will be x1.25 for Duchies (-30) and x1 for Counties(-10)
|
|
# For a King, this will be x1.25 for a Kingdom (-100), x1 for a Duchy (-25) and x0.75 for Counties(-10)
|
|
# For an Emperor, this will be x1.25 for an Empire(-200), x1 for a Kingdom(-80), x0.75 for a Duchy(-20) and x0.4 for a Counties (-5)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Greedy & ambitious ruler gain stress for giving away titles if they would normally be able to keep them.
|
|
if = {
|
|
limit = {
|
|
# Pre-filter
|
|
OR = {
|
|
has_trait = greedy
|
|
has_trait = ambitious
|
|
}
|
|
domain_size <= domain_limit # Not over my domain limit
|
|
any_in_list = {
|
|
list = target_titles
|
|
tier <= tier_county # At least 1 selected title counts toward domain limit
|
|
}
|
|
|
|
# Special exemption for lieges who are over their held duchy limit, which are giving away that duchy (and associated counties) specifically
|
|
trigger_if = {
|
|
limit = {
|
|
has_too_many_held_duchies_trigger = yes
|
|
}
|
|
NOT = {
|
|
# Granting at least 1 duchy
|
|
any_in_list = {
|
|
list = target_titles
|
|
title_counts_towards_too_many_duchies_trigger = yes
|
|
save_temporary_scope_as = granted_duchy
|
|
|
|
# All counties being granted are De Jure part of the duchy that is being granted
|
|
any_in_list = {
|
|
list = target_titles
|
|
count = all
|
|
trigger_if = {
|
|
limit = { tier = tier_county}
|
|
de_jure_liege = scope:granted_duchy
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Actual stress gain effects
|
|
if = {
|
|
limit = {
|
|
domain_size = domain_limit
|
|
}
|
|
stress_impact = {
|
|
greedy = minor_stress_impact_gain
|
|
ambitious = minor_stress_impact_gain
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
domain_size < domain_limit
|
|
}
|
|
stress_impact = {
|
|
greedy = medium_stress_impact_gain
|
|
ambitious = medium_stress_impact_gain
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Maintenance for runestones
|
|
if = {
|
|
limit = {
|
|
# Use expanded version if we have FP1.
|
|
has_fp1_dlc_trigger = yes
|
|
fp1_remove_stele_new_holder_trigger = {
|
|
TITLE = scope:target
|
|
PREVIOUS_HOLDER = scope:actor
|
|
NEW_HOLDER = scope:recipient
|
|
}
|
|
}
|
|
# Actually removed in fp1_other_decisions.0113
|
|
custom_tooltip = runestone_grant_title_warning
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:target = {
|
|
exists = var:ancestor_to_bury
|
|
has_county_modifier = county_raised_runestone_modifier
|
|
}
|
|
NOT = { scope:recipient.dynasty = var:ancestor_to_bury.dynasty } #We only have to change something if the new holder is of a different dynasty
|
|
}
|
|
# Actually removed in religious_decision.0312
|
|
custom_tooltip = runestone_grant_title_warning
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
exists = scope:actor.dynasty
|
|
scope:actor.dynasty = {
|
|
has_dynasty_perk = ep1_culture_legacy_3
|
|
}
|
|
scope:recipient = {
|
|
is_playable_character = no
|
|
NOT = {
|
|
culture = scope:actor.culture
|
|
}
|
|
any_in_list = {
|
|
list = target_titles
|
|
OR = {
|
|
tier = tier_county
|
|
tier = tier_barony
|
|
}
|
|
culture = scope:recipient.culture
|
|
}
|
|
}
|
|
}
|
|
scope:actor = {
|
|
if = {
|
|
limit = {
|
|
can_add_hook = {
|
|
target = scope:recipient
|
|
type = favor_hook
|
|
}
|
|
}
|
|
add_hook = {
|
|
type = favor_hook
|
|
target = scope:recipient
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Feedback for actor
|
|
hidden_effect = {
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
count = 1
|
|
NOT = { tier = scope:actor.highest_held_title_tier }
|
|
}
|
|
NOT = { exists = scope:recipient_is_independent }
|
|
scope:recipient = {
|
|
any_held_title = {
|
|
tier > tier_barony
|
|
NOT = {
|
|
is_in_list = target_titles
|
|
}
|
|
}
|
|
}
|
|
}
|
|
random_in_list = {
|
|
list = target_titles
|
|
save_temporary_scope_as = loc_title
|
|
}
|
|
send_interface_toast = {
|
|
type = event_toast_effect_neutral
|
|
title = grant_titles_interaction_notification
|
|
|
|
left_icon = scope:actor
|
|
right_icon = scope:recipient
|
|
|
|
custom_tooltip = grant_titles_interaction_notification_effect_2
|
|
if = {
|
|
limit = {
|
|
exists = dynasty
|
|
is_diff_faith_or_culture_trigger = {
|
|
CHAR = scope:recipient
|
|
STATUS = involved
|
|
}
|
|
any_character_struggle = {
|
|
involvement = involved
|
|
has_struggle_phase_parameter = struggle_grant_titles_diff_faith_culture_gives_prestige
|
|
|
|
}
|
|
}
|
|
dynasty = {
|
|
add_dynasty_prestige = minor_dynasty_prestige_gain
|
|
}
|
|
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
count > 1
|
|
NOT = { tier = scope:actor.highest_held_title_tier }
|
|
}
|
|
NOT = { exists = scope:recipient_is_independent }
|
|
scope:recipient = {
|
|
any_held_title = {
|
|
tier > tier_barony
|
|
NOT = {
|
|
is_in_list = target_titles
|
|
}
|
|
}
|
|
}
|
|
}
|
|
random_in_list = {
|
|
list = target_titles
|
|
save_temporary_scope_as = loc_title
|
|
}
|
|
send_interface_toast = {
|
|
type = event_toast_effect_neutral
|
|
title = grant_titles_interaction_notification
|
|
|
|
left_icon = scope:actor
|
|
right_icon = scope:recipient
|
|
|
|
custom_tooltip = grant_titles_interaction_notification_effect_3
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
exists = scope:recipient_is_independent
|
|
}
|
|
|
|
random_in_list = {
|
|
list = target_titles
|
|
save_temporary_scope_as = loc_title
|
|
}
|
|
send_interface_toast = {
|
|
type = event_toast_effect_neutral
|
|
title = grant_titles_interaction_notification
|
|
|
|
left_icon = scope:actor
|
|
right_icon = scope:recipient
|
|
|
|
custom_tooltip = grant_titles_interaction_notification_effect_6
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:recipient = {
|
|
any_in_list = { #Became independent from you, but still have the same liege
|
|
list = target_titles
|
|
tier = scope:actor.highest_held_title_tier
|
|
}
|
|
top_liege = scope:actor.top_liege
|
|
}
|
|
}
|
|
send_interface_toast = {
|
|
type = event_toast_effect_neutral
|
|
title = grant_titles_interaction_notification
|
|
|
|
left_icon = scope:actor
|
|
right_icon = scope:recipient
|
|
|
|
custom_tooltip = grant_titles_interaction_notification_effect_5
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:recipient = {
|
|
any_in_list = { #Became independent
|
|
list = target_titles
|
|
tier = scope:actor.highest_held_title_tier
|
|
}
|
|
}
|
|
}
|
|
send_interface_toast = {
|
|
type = event_toast_effect_neutral
|
|
title = grant_titles_interaction_notification
|
|
|
|
left_icon = scope:actor
|
|
right_icon = scope:recipient
|
|
|
|
custom_tooltip = grant_titles_interaction_notification_effect_4
|
|
}
|
|
}
|
|
else = {
|
|
send_interface_toast = {
|
|
type = event_toast_effect_neutral
|
|
title = grant_titles_interaction_notification
|
|
|
|
left_icon = scope:actor
|
|
right_icon = scope:recipient
|
|
|
|
custom_tooltip = grant_titles_interaction_notification_effect
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
hidden_effect = {
|
|
# Struggle Catalyst
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
is_diff_faith_or_culture_trigger = {
|
|
CHAR = scope:recipient
|
|
STATUS = involved
|
|
}
|
|
any_character_struggle = {
|
|
involvement = involved
|
|
activate_struggle_catalyst_secondary_character_involvement_involved_trigger = {
|
|
CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal
|
|
CHAR = scope:recipient
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:actor = {
|
|
every_character_struggle = {
|
|
involvement = involved
|
|
limit = {
|
|
activate_struggle_catalyst_secondary_character_involvement_involved_trigger = {
|
|
CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal
|
|
CHAR = scope:recipient
|
|
}
|
|
}
|
|
activate_struggle_catalyst = {
|
|
catalyst = catalyst_grant_privilege_to_diff_faith_culture_vassal
|
|
character = scope:actor
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Achievements.
|
|
scope:actor = {
|
|
if = {
|
|
limit = {
|
|
has_variable_list = candidate_a_knights_tale_achievement
|
|
is_target_in_variable_list = {
|
|
name = candidate_a_knights_tale_achievement
|
|
target = scope:recipient
|
|
}
|
|
}
|
|
set_global_variable = {
|
|
name = finished_a_knights_tale_achievement
|
|
value = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#This interaction is referenced in code! If it's renamed you have to ping a coder
|
|
grant_title_to_new_random_character_interaction = {
|
|
hidden = yes
|
|
auto_accept = yes
|
|
special_interaction = grant_titles_interaction
|
|
use_diplomatic_range = no
|
|
|
|
is_valid_showing_failures_only = {
|
|
scope:actor = {
|
|
NOT = {
|
|
this = scope:recipient
|
|
}
|
|
any_held_title = {
|
|
count > 1
|
|
}
|
|
}
|
|
scope:recipient = { is_busy_in_events_localised = yes }
|
|
}
|
|
}
|
|
|
|
#be aware that the actual granting of the title happens in code!
|
|
grant_governorship_interaction = {
|
|
icon = grant_governorship
|
|
category = interaction_category_vassal
|
|
common_interaction = yes
|
|
|
|
desc = grant_governorship_interaction_desc
|
|
|
|
special_interaction = grant_governorship_interaction
|
|
interface = grant_titles
|
|
target_type = title
|
|
target_filter = actor_domain_titles
|
|
interface_priority = 60
|
|
|
|
# actor character giving the titles
|
|
# recipient character receiving the titles
|
|
|
|
is_shown = {
|
|
NOT = { scope:actor = scope:recipient }
|
|
scope:recipient = {
|
|
OR = {
|
|
target_is_liege_or_above = scope:actor
|
|
is_pool_guest_of = scope:actor
|
|
}
|
|
}
|
|
scope:actor = {
|
|
government_allows = administrative
|
|
highest_held_title_tier >= tier_county
|
|
}
|
|
|
|
trigger_if = {
|
|
limit = {
|
|
scope:actor = { is_ai = yes }
|
|
}
|
|
scope:recipient = {
|
|
NOT = { any_parent = { is_ai = no } }
|
|
}
|
|
}
|
|
}
|
|
|
|
is_valid_showing_failures_only = {
|
|
scope:recipient = {
|
|
is_adult = yes
|
|
NOT = { is_at_war_with = scope:actor }
|
|
bp2_valid_for_standard_interactions_trigger = yes
|
|
is_busy_in_events_localised = yes
|
|
trigger_if = {
|
|
limit = { is_ruler = no }
|
|
is_imprisoned = no
|
|
}
|
|
# Only the preferred gender can be appointed unless they hold titles already
|
|
trigger_if = {
|
|
limit = {
|
|
scope:actor = {
|
|
OR = {
|
|
has_realm_law = male_only_law
|
|
has_realm_law = male_preference_law
|
|
}
|
|
}
|
|
is_landed = no
|
|
}
|
|
is_female = no
|
|
}
|
|
trigger_if = {
|
|
limit = {
|
|
scope:actor = {
|
|
OR = {
|
|
has_realm_law = female_only_law
|
|
has_realm_law = female_preference_law
|
|
}
|
|
}
|
|
is_landed = no
|
|
}
|
|
is_female = yes
|
|
}
|
|
# DON'T TAKE OTHER PLAYERS' ACCLAIMED KNIGHTS
|
|
custom_description = {
|
|
text = grant_title_stealing_acclaimed_knight
|
|
subject = scope:recipient
|
|
NOR = {
|
|
AND = {
|
|
is_acclaimed = yes
|
|
liege ?= {
|
|
is_ai = no
|
|
NOT = { this = scope:actor }
|
|
}
|
|
}
|
|
AND = {
|
|
is_acclaimed = yes
|
|
scope:actor = { is_ai = yes }
|
|
}
|
|
}
|
|
}
|
|
trigger_if = {
|
|
limit = { is_landed = yes }
|
|
government_allows = administrative
|
|
}
|
|
is_clergy = no
|
|
# Gallivanters won't accept additional responsibilities.
|
|
NOT = { has_trait = gallivanter }
|
|
}
|
|
}
|
|
|
|
can_send = {
|
|
scope:recipient = {
|
|
custom_tooltip = {
|
|
text = promote_candidate_interaction_existing_holder_tt
|
|
this != scope:target.holder
|
|
}
|
|
|
|
trigger_if = { # Governors can only be appointed to certain titles
|
|
limit = {
|
|
is_governor = yes
|
|
scope:target = { is_noble_family_title = no } # For tooltip reasons, so we don't show more than necessary
|
|
}
|
|
custom_tooltip = { # Only one province of highest rank
|
|
text = only_one_province_of_highest_rank_tt
|
|
NAND = {
|
|
highest_held_title_tier = scope:target.tier
|
|
scope:target.tier >= tier_duchy
|
|
scope:target = { # We make an exception if recipient controls at least one de jure county
|
|
any_de_jure_county = {
|
|
count < 1
|
|
OR = {
|
|
holder = scope:recipient
|
|
holder = { is_vassal_or_below_of = scope:recipient }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
custom_tooltip = {
|
|
text = admin_must_be_de_jure_or_neighboring
|
|
any_held_title = {
|
|
OR = {
|
|
# The target title is part of your de jure structure
|
|
is_de_jure_liege_or_above_target = scope:target
|
|
target_is_de_jure_liege_or_above = scope:target
|
|
# Or is a neighboring county which de jure duchy is not part of your realm
|
|
AND = {
|
|
any_title_to_title_neighboring_county = { this = scope:target }
|
|
scope:target = {
|
|
tier = tier_county
|
|
duchy = {
|
|
OR = {
|
|
NOT = { exists = holder }
|
|
holder = {
|
|
NOR = {
|
|
is_vassal_or_below_of = scope:actor
|
|
this = scope:actor
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
trigger_if = { # If recipient is landless and only have a family title, target title must be a duchy or above
|
|
limit = {
|
|
is_landless_ruler = yes
|
|
any_held_title = { is_noble_family_title = yes }
|
|
}
|
|
scope:target = { NOT = { tier < tier_duchy } }
|
|
}
|
|
trigger_if = { # If recipient is a count, they can get only get counties within the same duchy
|
|
limit = { highest_held_title_tier = tier_county }
|
|
trigger_if = {
|
|
limit = { scope:target.tier = tier_county }
|
|
custom_tooltip = {
|
|
text = admin_count_grant_only_counties
|
|
any_held_title = { duchy = scope:target.duchy }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
can_be_picked_title = {
|
|
scope:target = {
|
|
is_leased_out = no
|
|
|
|
NOT = { tier = tier_barony }
|
|
|
|
scope:recipient = {
|
|
trigger_if = { # Governors can only be appointed to certain titles
|
|
limit = {
|
|
is_governor = yes
|
|
scope:target = { is_noble_family_title = no } # For tooltip reasons, so we don't show more than necessary
|
|
}
|
|
custom_tooltip = { # Only one province of highest rank
|
|
text = only_one_province_of_highest_rank_tt
|
|
NAND = {
|
|
highest_held_title_tier = scope:target.tier
|
|
scope:target.tier >= tier_duchy
|
|
scope:target = { # We make an exception if recipient controls at least one de jure county
|
|
any_de_jure_county = {
|
|
count < 1
|
|
OR = {
|
|
holder = scope:recipient
|
|
holder = { is_vassal_or_below_of = scope:recipient }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
custom_tooltip = {
|
|
text = admin_must_be_de_jure_or_neighboring
|
|
any_held_title = {
|
|
OR = {
|
|
# The target title is part of your de jure structure
|
|
is_de_jure_liege_or_above_target = scope:target
|
|
target_is_de_jure_liege_or_above = scope:target
|
|
# Or is a neighboring county which de jure duchy is not part of your realm
|
|
AND = {
|
|
any_title_to_title_neighboring_county = { this = scope:target }
|
|
scope:target = {
|
|
tier = tier_county
|
|
duchy = {
|
|
OR = {
|
|
NOT = { exists = holder }
|
|
holder = {
|
|
NOR = {
|
|
is_vassal_or_below_of = scope:actor
|
|
this = scope:actor
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
trigger_if = { # If recipient is landless and only have a family title, target title must be a duchy or above
|
|
limit = {
|
|
is_landless_ruler = yes
|
|
any_held_title = { is_noble_family_title = yes }
|
|
}
|
|
scope:target = { NOT = { tier < tier_duchy } }
|
|
}
|
|
trigger_if = { # If recipient is a count, they can get only get counties within the same duchy
|
|
limit = { highest_held_title_tier = tier_county }
|
|
trigger_if = {
|
|
limit = { scope:target.tier = tier_county }
|
|
custom_tooltip = {
|
|
text = admin_count_grant_only_counties
|
|
any_held_title = { duchy = scope:target.duchy }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
custom_tooltip = {
|
|
text = GRANT_TITLES_ITEM_CANT_GIVE_ADMIN_PRIMARY
|
|
NOT = {
|
|
this = scope:actor.capital_province.duchy
|
|
}
|
|
}
|
|
|
|
trigger_if = {
|
|
limit = { is_noble_family_title = yes }
|
|
custom_tooltip = {
|
|
text = GRANT_TITLES_ITEM_CANT_GIVE_NOBLE_FAMILY
|
|
always = no
|
|
}
|
|
}
|
|
|
|
trigger_if = {
|
|
limit = {
|
|
list_size:target_titles > 0
|
|
}
|
|
custom_tooltip = {
|
|
text = GRANT_TITLES_ITEM_ADMIN_CANT_GIVE_MORE_THAN_ONE
|
|
any_in_list = {
|
|
list = target_titles
|
|
scope:target ?= this
|
|
}
|
|
}
|
|
}
|
|
|
|
trigger_if = {
|
|
limit = { scope:target = title:k_fashion }
|
|
NOT = { scope:target = title:k_fashion }
|
|
}
|
|
}
|
|
|
|
custom_description = {
|
|
text = grant_titles_interaction_can_only_give_diarch_de_jure_liege_to_diarch
|
|
subject = scope:actor.diarch
|
|
NAND = {
|
|
# Only applies if we have an active diarchy.
|
|
scope:actor = { has_active_diarchy = yes }
|
|
# Now, prevent us from giving away our diarch's land to invalidate them...
|
|
scope:target = {
|
|
any_dejure_vassal_title_holder = { this = scope:actor.diarch }
|
|
# ... _unless_ we're giving it _to_ the diarch.
|
|
NOT = { scope:recipient = scope:actor.diarch }
|
|
# Plus we only care if the title is below our tier.
|
|
tier < scope:actor.highest_held_title_tier
|
|
}
|
|
}
|
|
}
|
|
|
|
custom_description = {
|
|
text = grant_titles_interaction_title_being_wagered
|
|
NOT = {
|
|
scope:target = { has_variable = wagered_county }
|
|
}
|
|
}
|
|
}
|
|
|
|
auto_accept = yes
|
|
|
|
on_auto_accept = {
|
|
scope:recipient = {
|
|
trigger_event = {
|
|
id = char_interaction.0111
|
|
delayed = yes #this has to be delayed in case you grant it to someone that doesn't have an estate yet, for the change_government effect to work and generate the estate
|
|
}
|
|
}
|
|
}
|
|
|
|
on_accept = {
|
|
if = {
|
|
limit = {
|
|
scope:recipient = {
|
|
is_acclaimed = yes
|
|
liege = {
|
|
this = scope:actor
|
|
}
|
|
}
|
|
}
|
|
custom_tooltip = grant_title_landing_acclaimed_knight_warning
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
tier >= tier_duchy
|
|
title_capital_county = {
|
|
NOT = { culture = scope:actor.culture }
|
|
culture = scope:recipient.culture
|
|
}
|
|
NOT = {
|
|
recent_history = {
|
|
type = granted
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:recipient.culture = {
|
|
change_cultural_acceptance = {
|
|
target = scope:actor.culture
|
|
value = grant_title_cultural_acceptance_impact
|
|
desc = cultural_acceptance_gain_granted_title
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
tier >= tier_county
|
|
}
|
|
scope:actor.culture = { has_cultural_parameter = landing_house_members_give_prestige }
|
|
exists = scope:actor.house
|
|
exists = scope:recipient.house
|
|
scope:actor.house = scope:recipient.house
|
|
}
|
|
scope:actor = {
|
|
add_prestige = {
|
|
value = 0
|
|
every_in_list = {
|
|
list = target_titles
|
|
limit = { tier = tier_empire }
|
|
add = massive_prestige_gain
|
|
}
|
|
every_in_list = {
|
|
list = target_titles
|
|
limit = { tier = tier_kingdom }
|
|
add = major_prestige_gain
|
|
}
|
|
every_in_list = {
|
|
list = target_titles
|
|
limit = { tier = tier_duchy }
|
|
add = medium_prestige_gain
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
tier >= tier_county
|
|
}
|
|
scope:actor.culture = { has_cultural_parameter = landing_house_members_gives_renown }
|
|
exists = scope:actor.house
|
|
exists = scope:recipient.house
|
|
scope:actor.house = scope:recipient.house
|
|
}
|
|
scope:actor.dynasty = {
|
|
add_dynasty_prestige = {
|
|
value = 0
|
|
every_in_list = {
|
|
list = target_titles
|
|
limit = { tier = tier_kingdom }
|
|
add = major_dynasty_prestige_gain
|
|
}
|
|
every_in_list = {
|
|
list = target_titles
|
|
limit = { tier = tier_duchy }
|
|
add = medium_dynasty_prestige_gain
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Iterate over all given titles
|
|
# - Add opinion modifiers
|
|
# - Collect titles that discontent reduction can later be derived from
|
|
every_in_list = {
|
|
list = target_titles
|
|
save_temporary_scope_as = this_title
|
|
if = {
|
|
limit = {
|
|
exists = scope:landed_title
|
|
}
|
|
scope:recipient = {
|
|
if = {
|
|
limit = {
|
|
scope:this_title.tier = tier_duchy
|
|
}
|
|
|
|
hidden_effect = {
|
|
add_opinion = {
|
|
target = scope:actor
|
|
modifier = received_title_duchy
|
|
}
|
|
if = {
|
|
limit = {
|
|
is_lowborn = yes
|
|
}
|
|
scope:actor = {
|
|
every_vassal = {
|
|
limit = {
|
|
has_vassal_stance = courtly
|
|
}
|
|
add_opinion = {
|
|
target = scope:actor
|
|
modifier = courtly_lowborn_grant_opinion
|
|
opinion = -10 #less than usual because admin realms are more tolerant of bureaucratic "new" nobility
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:this_title = { add_to_temporary_list = titles_to_grant }
|
|
}
|
|
|
|
else_if = {
|
|
limit = {
|
|
scope:this_title.tier = tier_kingdom
|
|
}
|
|
|
|
hidden_effect = {
|
|
add_opinion = {
|
|
target = scope:actor
|
|
modifier = received_title_kingdom
|
|
}
|
|
if = {
|
|
limit = {
|
|
is_lowborn = yes
|
|
}
|
|
scope:actor = {
|
|
every_vassal = {
|
|
limit = {
|
|
has_vassal_stance = courtly
|
|
}
|
|
add_opinion = {
|
|
target = scope:actor
|
|
modifier = courtly_lowborn_grant_opinion
|
|
opinion = -30 #less than usual because admin realms are more tolerant of bureaucratic "new" nobility
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:this_title = { add_to_temporary_list = titles_to_grant }
|
|
}
|
|
}
|
|
|
|
#Promised a vassal this title they had a claim on (vassal.2901)
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
exists = var:was_promised_title
|
|
var:was_promised_title = scope:recipient
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:recipient = {
|
|
exists = var:promised_title
|
|
}
|
|
scope:landed_title = scope:recipient.var:promised_title
|
|
}
|
|
scope:actor = {
|
|
trigger_event = {
|
|
id = vassal.2910
|
|
days = { 7 14 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:recipient = {
|
|
has_trait = bastard
|
|
}
|
|
}
|
|
custom_tooltip = grant_title_to_bastard_dynasty_warning
|
|
}
|
|
} # every_in_list
|
|
|
|
# The accumulated discontent reduction of the recipient
|
|
scope:recipient = {
|
|
if = {
|
|
limit = {
|
|
is_a_faction_member = yes
|
|
}
|
|
add_joined_faction_discontent = grant_title_opinion_sum_discontent_calc
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = target_titles
|
|
tier = tier_kingdom
|
|
}
|
|
}
|
|
custom_tooltip = grant_title_modifier_stack_kingdoms
|
|
}
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = titles_to_grant
|
|
tier = tier_duchy
|
|
}
|
|
}
|
|
custom_tooltip = grant_title_modifier_stack_duchies
|
|
}
|
|
if = {
|
|
limit = {
|
|
trigger_if = {
|
|
limit = { scope:actor = { is_ai = yes } }
|
|
scope:actor = {
|
|
any_vassal = {
|
|
has_vassal_stance = courtly
|
|
}
|
|
}
|
|
}
|
|
scope:recipient = {
|
|
is_lowborn = yes
|
|
}
|
|
any_in_list = {
|
|
list = titles_to_grant
|
|
tier >= tier_county
|
|
}
|
|
}
|
|
custom_tooltip = grant_title_modifier_courtly_lowborn_grant_penalty
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:recipient = { is_a_faction_member = yes }
|
|
}
|
|
custom_tooltip = grant_title_modifier_stack_discontent
|
|
}
|
|
|
|
# Jealousy check
|
|
if = {
|
|
limit = {
|
|
any_in_list = {
|
|
list = titles_to_grant
|
|
any_claimant = { grant_title_rivalry_trigger = yes }
|
|
}
|
|
}
|
|
hidden_effect = {
|
|
random = {
|
|
chance = 25
|
|
ordered_in_list = {
|
|
list = titles_to_grant
|
|
limit = {
|
|
any_claimant = { grant_title_rivalry_trigger = yes }
|
|
}
|
|
order_by = tier
|
|
save_scope_as = claim_title
|
|
ordered_claimant = {
|
|
limit = { grant_title_rivalry_trigger = yes }
|
|
order_by = primary_title.tier
|
|
save_scope_as = claim_vassal
|
|
if = {
|
|
limit = {
|
|
scope:recipient = { is_lowborn = yes }
|
|
}
|
|
scope:recipient = { save_scope_as = lowborn_scope }
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:recipient = { has_claim_on = scope:claim_title }
|
|
}
|
|
scope:recipient = { save_scope_as = claimant_scope }
|
|
}
|
|
scope:actor = {
|
|
trigger_event = {
|
|
id = bp1_yearly.8070
|
|
days = 5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:actor = {
|
|
# Maintenance for runestones
|
|
if = {
|
|
limit = {
|
|
# Use expanded version if we have FP1.
|
|
has_fp1_dlc_trigger = yes
|
|
fp1_remove_stele_new_holder_trigger = {
|
|
TITLE = scope:target
|
|
PREVIOUS_HOLDER = scope:actor
|
|
NEW_HOLDER = scope:recipient
|
|
}
|
|
}
|
|
# Actually removed in fp1_other_decisions.0113
|
|
custom_tooltip = runestone_grant_title_warning
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:target = {
|
|
exists = var:ancestor_to_bury
|
|
has_county_modifier = county_raised_runestone_modifier
|
|
}
|
|
NOT = { scope:recipient.dynasty = var:ancestor_to_bury.dynasty } #We only have to change something if the new holder is of a different dynasty
|
|
}
|
|
# Actually removed in religious_decision.0312
|
|
custom_tooltip = runestone_grant_title_warning
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
dynasty ?= { has_dynasty_perk = ep1_culture_legacy_3 }
|
|
scope:recipient = {
|
|
is_playable_character = no
|
|
NOT = { culture = scope:actor.culture }
|
|
any_in_list = {
|
|
list = target_titles
|
|
OR = {
|
|
tier = tier_county
|
|
tier = tier_barony
|
|
}
|
|
culture = scope:recipient.culture
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
can_add_hook = {
|
|
target = scope:recipient
|
|
type = favor_hook
|
|
}
|
|
}
|
|
add_hook = {
|
|
type = favor_hook
|
|
target = scope:recipient
|
|
}
|
|
}
|
|
}
|
|
|
|
#Feedback for actor
|
|
hidden_effect = {
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:recipient_is_independent }
|
|
scope:recipient = {
|
|
any_held_title = {
|
|
tier > tier_barony
|
|
NOT = { is_in_list = target_titles }
|
|
}
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = lower_count
|
|
value = {
|
|
value = -1
|
|
every_in_list = {
|
|
list = target_titles
|
|
limit = {
|
|
NOT = { tier = scope:actor.highest_held_title_tier }
|
|
}
|
|
add = 1
|
|
}
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = equal_count
|
|
value = {
|
|
value = 0
|
|
every_in_list = {
|
|
list = target_titles
|
|
limit = { tier = scope:actor.highest_held_title_tier }
|
|
add = 1
|
|
}
|
|
}
|
|
}
|
|
ordered_in_list = {
|
|
list = target_titles
|
|
order_by = tier
|
|
save_temporary_scope_as = loc_title
|
|
}
|
|
send_interface_toast = {
|
|
type = event_toast_effect_neutral
|
|
title = grant_governorship_interaction_notification
|
|
left_icon = scope:recipient
|
|
right_icon = scope:loc_title
|
|
if = {
|
|
limit = { scope:actor.var:lower_count ?= 0 }
|
|
custom_tooltip = grant_governorship_interaction_notification_effect_2
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
exists = scope:actor.var:lower_count
|
|
scope:actor.var:lower_count > 1
|
|
}
|
|
custom_tooltip = grant_governorship_interaction_notification_effect_3
|
|
}
|
|
else_if = {
|
|
limit = { scope:actor.var:lower_count ?= 1 }
|
|
custom_tooltip = grant_governorship_interaction_notification_effect_4
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:equal_count >= 1
|
|
scope:recipient.top_liege ?= scope:actor.top_liege
|
|
}
|
|
custom_tooltip = grant_titles_interaction_notification_effect_5
|
|
}
|
|
else = { custom_tooltip = grant_titles_interaction_notification_effect }
|
|
if = {
|
|
limit = {
|
|
exists = dynasty
|
|
is_diff_faith_or_culture_trigger = {
|
|
CHAR = scope:recipient
|
|
STATUS = involved
|
|
}
|
|
any_character_struggle = {
|
|
involvement = involved
|
|
has_struggle_phase_parameter = struggle_grant_titles_diff_faith_culture_gives_prestige
|
|
}
|
|
}
|
|
dynasty = { add_dynasty_prestige = minor_dynasty_prestige_gain }
|
|
}
|
|
remove_variable = lower_count
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
hidden_effect = {
|
|
# Struggle Catalyst
|
|
if = {
|
|
limit = {
|
|
scope:actor = {
|
|
is_diff_faith_or_culture_trigger = {
|
|
CHAR = scope:recipient
|
|
STATUS = involved
|
|
}
|
|
any_character_struggle = {
|
|
involvement = involved
|
|
activate_struggle_catalyst_secondary_character_involvement_involved_trigger = {
|
|
CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal
|
|
CHAR = scope:recipient
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:actor = {
|
|
every_character_struggle = {
|
|
involvement = involved
|
|
limit = {
|
|
activate_struggle_catalyst_secondary_character_involvement_involved_trigger = {
|
|
CATALYST = catalyst_grant_privilege_to_diff_faith_culture_vassal
|
|
CHAR = scope:recipient
|
|
}
|
|
}
|
|
activate_struggle_catalyst = {
|
|
catalyst = catalyst_grant_privilege_to_diff_faith_culture_vassal
|
|
character = scope:actor
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Achievements.
|
|
scope:actor = {
|
|
if = {
|
|
limit = {
|
|
has_variable_list = candidate_a_knights_tale_achievement
|
|
is_target_in_variable_list = {
|
|
name = candidate_a_knights_tale_achievement
|
|
target = scope:recipient
|
|
}
|
|
}
|
|
set_global_variable = {
|
|
name = finished_a_knights_tale_achievement
|
|
value = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
ai_will_do = {
|
|
base = 0
|
|
|
|
modifier = {
|
|
scope:recipient.house ?= scope:actor.house
|
|
add = 100
|
|
}
|
|
modifier = {
|
|
scope:recipient = {
|
|
is_close_family_of = scope:actor
|
|
}
|
|
add = 100
|
|
}
|
|
}
|
|
}
|