N3OW/common/character_interactions/00_tribal_interactions.txt

949 lines
20 KiB
Text
Raw Normal View History

feudalize_holding_interaction = {
category = interaction_category_uncategorized
hidden = yes
special_interaction = feudalize_holding
desc = feudalize_holding_interaction_desc
target_type = title
target_filter = actor_domain_titles
auto_accept = yes
is_shown = {
scope:actor = {
this = scope:recipient
NOR = {
government_has_flag = government_is_tribal
government_has_flag = government_is_nomadic
government_has_flag = government_is_true_herder
}
}
}
can_be_picked_title = {
scope:target = {
holder = scope:actor
is_capital_barony = no # we'll use the county in that case
trigger_if = {
limit = { tier <= tier_county }
title_province = {
OR = {
has_holding_type = tribal_holding
has_holding_type = nomad_holding
has_holding_type = herder_holding
}
}
}
trigger_else = {
custom_description = {
text = "feudalize_holding_interaction_title_not_county_or_below"
always = no
}
}
}
}
has_valid_target_showing_failures_only = {
scope:target = {
trigger_if = {
limit = { tier <= tier_county }
title_province = {
barony_controller = scope:actor
has_ongoing_construction = no
}
}
}
}
cost = {
treasury_or_gold = {
scope:actor = {
if = {
limit = {
scope:target.county = {
has_variable = was_razed
}
}
add = {
value = 50
desc = BASE
}
}
else_if = {
limit = {
scope:target.county = {
culture = scope:actor.culture
}
}
add = {
value = 200
desc = BASE
}
}
else = {
add = {
value = feudalize_holding_interaction_cost
desc = BASE
}
}
if = {
limit = { # More expensive for admin to make barbarians civilized...
government_has_flag = government_is_administrative
}
add = {
value = feudalize_holding_interaction_cost
multiply = 0.25
desc = has_admin_government
}
if = {
limit = { # Admin get a bonus for high bureaucracy levels
OR = {
has_realm_law = imperial_bureaucracy_2
has_realm_law = imperial_bureaucracy_3
}
}
subtract = {
value = feudalize_holding_interaction_cost
multiply = {
value = 0.1
if = {
limit = {
has_realm_law = imperial_bureaucracy_3
}
add = 0.15
}
}
desc = imperial_bureaucracy
}
}
}
}
}
}
on_accept = {
scope:actor = {
send_interface_toast = {
type = event_toast_effect_good
title = feudalize_holding_interaction_notification
right_icon = scope:actor
if = {
limit = {
scope:target.title_province = {
OR = {
has_holding_type = nomad_holding
has_holding_type = herder_holding
}
}
}
if = {
limit = {
OR = {
scope:target.county.culture = scope:actor.culture
scope:target.county = { has_variable = was_razed }
}
}
}
else_if = {
limit = {
OR = {
government_has_flag = government_is_tribal
scope:target.county.culture = { has_same_culture_heritage = scope:actor.culture }
}
}
scope:target.county = {
add_county_modifier = {
modifier = mpo_feudalize_nomadic_land_modifier
years = 5
}
}
}
else = {
scope:target.county = {
add_county_modifier = {
modifier = mpo_feudalize_nomadic_land_modifier
years = 30
}
}
}
# SILK ROAD
scope:target = {
tgp_silk_road_feudalize_holding_effect = yes
}
}
if = {
limit = { exists = scope:target.title_province }
scope:target.title_province = {
set_holding_type = castle_holding
}
}
if = {
limit = {
scope:target = {
title_province = {
geographical_region = geographical_region:mpo_region_permafrost
}
}
}
if = {
limit = {
scope:target = { has_county_modifier = mpo_siberian_permafrost_modifier }
}
scope:target = { remove_county_modifier = mpo_siberian_permafrost_modifier }
}
else_if = {
limit = {
scope:target = { has_county_modifier = mpo_siberian_permafrost_modifier_bad }
}
scope:target = { remove_county_modifier = mpo_siberian_permafrost_modifier_bad }
}
}
}
}
}
# Interaction frequency determined by code, do not change
ai_frequency = 0
# Used to determine which holding should be feudalized over another AND how important this AI goal is compared to others, like creating titles and constructing new holdings
ai_will_do = {
base = 1500
}
}
tribalize_holding_interaction = {
category = interaction_category_uncategorized
hidden = yes
special_interaction = tribalize_holding
desc = tribalize_holding_interaction_desc
target_type = title
target_filter = actor_domain_titles
auto_accept = yes
is_shown = {
scope:actor = {
this = scope:recipient
government_has_flag = government_is_tribal
}
}
can_be_picked_title = {
scope:target = {
holder = scope:actor
is_capital_barony = no # we'll use the county in that case
trigger_if = {
limit = { tier <= tier_county }
title_province = {
OR = {
has_holding_type = nomad_holding
has_holding_type = herder_holding
}
}
}
trigger_else = {
custom_description = {
text = "feudalize_holding_interaction_title_not_county_or_below"
always = no
}
}
}
}
has_valid_target_showing_failures_only = {
scope:target = {
trigger_if = {
limit = { tier <= tier_county }
title_province = {
barony_controller = scope:actor
has_ongoing_construction = no
}
}
}
}
cost = {
gold = {
scope:actor = {
if = {
limit = {
scope:target.county = {
has_variable = was_razed
}
}
add = {
value = 15
desc = BASE
}
}
else = {
add = {
value = 50
desc = BASE
}
}
}
}
prestige = {
scope:actor = {
if = {
limit = {
scope:target.county = {
has_variable = was_razed
}
}
add = {
value = 25
desc = BASE
}
}
else_if = {
limit = {
scope:target.county.culture = scope:actor.culture
}
add = {
value = 50
desc = BASE
}
}
else_if = {
limit = {
scope:target.county.culture = { has_same_culture_heritage = scope:actor.culture }
}
add = {
value = 100
desc = BASE
}
}
else = {
add = {
value = 300
desc = BASE
}
}
}
}
}
on_accept = {
scope:actor = {
send_interface_toast = {
type = event_toast_effect_good
title = feudalize_holding_interaction_notification
right_icon = scope:actor
if = {
limit = {
OR = {
scope:target.county.culture = scope:actor.culture
scope:target.county = {
has_variable = was_razed
}
}
}
}
else = {
scope:target.county = {
add_county_modifier = {
modifier = mpo_feudalize_nomadic_land_modifier
years = 5
}
}
}
if = {
limit = { exists = scope:target.title_province }
scope:target.title_province = {
set_holding_type = tribal_holding
}
}
if = {
limit = {
scope:target = {
title_province = {
geographical_region = geographical_region:mpo_region_permafrost
}
}
}
if = {
limit = {
scope:target = { has_county_modifier = mpo_siberian_permafrost_modifier }
}
scope:target = { remove_county_modifier = mpo_siberian_permafrost_modifier }
}
else_if = {
limit = {
scope:target = { has_county_modifier = mpo_siberian_permafrost_modifier_bad }
}
scope:target = { remove_county_modifier = mpo_siberian_permafrost_modifier_bad }
}
}
}
}
}
# Interaction frequency determined by code, do not change
ai_frequency = 0
# Used to determine which holding should be feudalized over another AND how important this AI goal is compared to others, like creating titles and constructing new holdings
ai_will_do = {
base = 1500
}
}
support_feudalize_tribal_holding_interaction = {
category = interaction_category_vassal
icon = request_funding_interaction
desc = support_feudalize_tribal_holding_interaction_desc
target_type = title
target_filter = recipient_domain_titles
auto_accept = yes
is_shown = {
scope:actor = {
NOR = {
government_has_flag = government_is_tribal
government_has_flag = government_is_nomadic
}
}
scope:recipient = {
target_is_liege_or_above = scope:actor
NOR = {
government_has_flag = government_is_tribal
government_has_flag = government_is_nomadic
}
this != scope:actor
any_held_title = {
tier <= tier_county
title_province = {
OR = {
has_holding_type = tribal_holding
has_holding_type = nomad_holding
has_holding_type = herder_holding
}
}
}
}
}
can_be_picked_title = {
scope:target = {
is_capital_barony = no # we'll use the county in that case
trigger_if = {
limit = { tier <= tier_county }
title_province = {
barony_controller = scope:recipient
has_ongoing_construction = no
}
}
}
}
has_valid_target_showing_failures_only = {
scope:target = {
trigger_if = {
limit = { tier <= tier_county }
title_province = {
OR = {
has_holding_type = tribal_holding
has_holding_type = nomad_holding
has_holding_type = herder_holding
}
}
}
trigger_else = {
custom_description = {
text = "feudalize_holding_interaction_title_not_county_or_below"
always = no
}
}
}
}
cost = {
gold = {
value = 0
scope:actor = {
if = {
limit = {
has_treasury = no
}
add = {
value = feudalize_holding_interaction_cost
desc = BASE
}
if = {
limit = { # More expensive for admin to make these barbarians civilized...
government_has_flag = government_is_administrative
}
add = {
value = feudalize_holding_interaction_cost
multiply = 0.25
desc = has_admin_government
}
if = {
limit = { # Admin get a bonus for high bureaucracy levels
OR = {
has_realm_law = imperial_bureaucracy_2
has_realm_law = imperial_bureaucracy_3
}
}
subtract = {
value = feudalize_holding_interaction_cost
multiply = {
value = 0.1
if = {
limit = {
has_realm_law = imperial_bureaucracy_3
}
add = 0.15
}
}
desc = imperial_bureaucracy
}
}
}
}
}
}
treasury = {
value = 0
scope:actor = {
if = {
limit = {
has_treasury = yes
}
add = {
value = feudalize_holding_interaction_cost
desc = BASE
}
if = {
limit = { # More expensive for admin to make these barbarians civilized...
government_has_flag = government_is_administrative
}
add = {
value = feudalize_holding_interaction_cost
multiply = 0.25
desc = has_admin_government
}
if = {
limit = { # Admin get a bonus for high bureaucracy levels
OR = {
has_realm_law = imperial_bureaucracy_2
has_realm_law = imperial_bureaucracy_3
}
}
subtract = {
value = feudalize_holding_interaction_cost
multiply = {
value = 0.1
if = {
limit = {
has_realm_law = imperial_bureaucracy_3
}
add = 0.15
}
}
desc = imperial_bureaucracy
}
}
}
}
}
}
}
is_highlighted = {
# Highlight the interaction if we have the gold to spare
scope:actor = {
gold >= {
value = feudalize_holding_interaction_cost
if = {
limit = { # More expensive for admin to convert these... Barbarians...
government_has_flag = government_is_administrative
}
multiply = {
value = 1.25
desc = has_admin_government
}
}
}
}
}
on_accept = {
scope:recipient = {
# Add some opinion to make it worthwhile
add_opinion = {
target = scope:actor
modifier = grateful_opinion
opinion = 30
}
if = {
limit = {
scope:target.title_province = {
OR = {
has_holding_type = nomad_holding
has_holding_type = herder_holding
}
}
}
if = {
limit = {
OR = {
scope:target.culture = scope:recipient.culture
scope:target = { has_variable = was_razed }
}
}
}
else_if = {
limit = {
OR = {
government_has_flag = government_is_tribal
scope:target.culture = { has_same_culture_heritage = scope:recipient.culture }
}
}
scope:target = {
add_county_modifier = {
modifier = mpo_feudalize_nomadic_land_modifier
years = 5
}
}
}
else = {
scope:target = {
add_county_modifier = {
modifier = mpo_feudalize_nomadic_land_modifier
years = 30
}
}
}
# SILK ROAD
scope:target = {
tgp_silk_road_feudalize_holding_effect = yes
}
}
# Notify actor and recipient
scope:actor = {
if = { #Temple Citadel
limit = { government_has_flag = government_is_mandala }
send_interface_toast = {
type = event_toast_effect_good
title = sanctified_holding_interaction_notification
left_icon = scope:actor
right_icon = scope:target
if = {
limit = { exists = scope:target.title_province }
scope:target.title_province = {
set_holding_type = temple_citadel_holding
}
}
mandala_piety_gain_effect = { PIETY_AMOUNT = massive_piety_gain }
add_legitimacy_effect = { LEGITIMACY = medium_legitimacy_gain }
}
hidden_effect = {
scope:recipient = {
send_interface_toast = {
type = event_toast_effect_good
title = liege_sanctified_holding_interaction_notification
left_icon = scope:actor
right_icon = scope:target
show_as_tooltip = {
if = {
limit = { exists = scope:target.title_province }
scope:target.title_province = {
set_holding_type = temple_citadel_holding
}
}
}
}
}
}
}
else = { #Castle
send_interface_toast = {
type = event_toast_effect_good
title = feudalize_holding_interaction_notification
left_icon = scope:actor
right_icon = scope:target
if = {
limit = { exists = scope:target.title_province }
scope:target.title_province = {
set_holding_type = castle_holding
}
}
add_legitimacy_effect = { LEGITIMACY = medium_legitimacy_gain }
}
hidden_effect = {
scope:recipient = {
send_interface_toast = {
type = event_toast_effect_good
title = liege_feudalized_holding_interaction_notification
left_icon = scope:actor
right_icon = scope:target
show_as_tooltip = {
if = {
limit = { exists = scope:target.title_province }
scope:target.title_province = {
set_holding_type = castle_holding
}
}
}
}
}
}
}
}
}
scope:actor = {
# If you are admin, you get some influence for your efforts
if = {
limit = { government_has_flag = government_is_administrative }
change_influence = medium_influence_gain
}
}
}
# The AI doesn't check this very often - So if they have more important expenses, they will put their gold to better use first.
ai_frequency_by_tier = {
barony = 0
county = 0
duchy = 72
kingdom = 72
empire = 72
hegemony = 72
}
ai_targets = {
ai_recipients = vassals
max = 10
}
ai_potential = {
# Some basic triggers
is_at_war = no
is_adult = yes
# The AI only does this if they have plenty of gold to spare
gold >= { value = feudalize_holding_interaction_cost multiply = 4 }
# Warring AI don't do this - They want to spend their gold on war!
ai_has_warlike_personality = no
# Piety and Legitimacy, you say... ?
ai_has_pious_builder_personality = yes
NOT = { has_variable = conqueror }
}
ai_will_do = {
base = 25
modifier = {
scope:actor = { ai_has_economical_boom_personality = yes }
add = 50
}
modifier = {
scope:actor = { ai_has_pious_builder_personality = yes }
add = 100
}
}
}
turn_subject_into_mandala_interaction = {
category = interaction_category_vassal
icon = icon_scheme_coerce_tributary
ai_maybe = yes
ai_min_reply_days = 4
ai_max_reply_days = 9
can_send_despite_rejection = yes
ai_accept_negotiation = yes
popup_on_receive = yes
common_interaction = no
interface_priority = 4
ai_targets = {
ai_recipients = vassals
}
ai_target_quick_trigger = {
adult = yes
}
ai_frequency_by_tier = {
barony = 0
county = 0
duchy = 12
kingdom = 12
empire = 12
hegemony = 12
}
desc = turn_subject_into_mandala_interaction_desc
is_shown = {
scope:actor = { government_has_flag = government_is_mandala }
scope:recipient = {
NOT = { government_has_flag = government_is_mandala }
is_ai = yes
highest_held_title_tier >= tier_county
is_landed = yes
is_ruler = yes
OR = {
liege = scope:actor
AND = {
overlord = scope:actor
scope:actor = {
has_realm_law_flag = can_convert_all_subjects_to_mandalas
}
}
}
}
}
cooldown_against_recipient = { years = 10 }
is_valid_showing_failures_only = {
#Dharmic Mandalas require Dharmic converts
#Reformed Pagan Mandalas require reformed faiths
scope:actor.religion = {
switch = {
trigger = is_in_family
rf_eastern = {
scope:recipient.religion = {
is_in_family = rf_eastern
}
}
rf_pagan = {
scope:recipient.faith = { NOT = { has_doctrine_parameter = unreformed } }
scope:recipient.religion = {
is_in_family = rf_pagan
}
}
}
}
scope:recipient = {
NOT = { has_strong_hook = scope:actor }
is_at_war = no
}
scope:actor = { is_at_war = no }
custom_tooltip = {
text = cannot_take_overt_hostile_actions_against_diarch.tt
NOT = { scope:recipient ?= scope:actor.diarch }
}
custom_tooltip = {
text = head_of_faith_unable_to_change_government_desc
NOT = {
scope:recipient = { faith.religious_head ?= this }
}
}
}
#Spend piety
send_option = {
flag = piety
is_valid = {
scope:actor.piety >= piety_bribe_value
}
localization = PAY_PIETY
current_description = {
# Triggered desc so that we don't get a weird double tooltip.
triggered_desc = {
trigger = { scope:actor.piety >= piety_bribe_value }
desc = SCHEME_AGENT_PIETY_VALID
}
}
}
#Use hook
send_option = {
is_valid = {
scope:actor = { has_usable_hook = scope:recipient }
}
flag = hook
localization = SCHEME_HOOK
}
should_use_extra_icon = {
scope:actor = { has_usable_hook = scope:recipient }
}
extra_icon = "gfx/interface/icons/character_interactions/hook_icon.dds"
send_options_exclusive = no
auto_accept = {
custom_description = {
text = "spending_hook"
subject = scope:actor
object = scope:recipient
scope:hook = yes
}
}
on_send = {
scope:recipient = {
primary_title = { save_scope_as = demanded_mandala }
trigger_event = {
id = tgp_east_asia_interaction_events.1002
days = 5
}
}
}
on_accept = {
show_as_tooltip = {
change_to_mandala_interaction_effect = yes
}
}
on_decline = {
scope:recipient = { custom_tooltip = demand_mandala_interaction_vassal_refuses }
}
ai_potential = {
government_has_flag = government_is_mandala
is_adult = yes
}
ai_will_do = {
base = 100
modifier = {
factor = 0
scope:recipient = { highest_held_title_tier >= tier_county }
gold >= 300
}
modifier = {
factor = 0
scope:recipient = { highest_held_title_tier >= tier_duchy }
gold >= 600
}
modifier = {
factor = 0
scope:recipient = { highest_held_title_tier >= tier_kingdom }
gold >= 2000
}
}
ai_accept = {
base = -50
turn_subject_into_mandala_acceptance_modifier = yes
}
}