Compare commits
7 commits
ee810616c5
...
3aef0381bf
| Author | SHA1 | Date | |
|---|---|---|---|
| 3aef0381bf | |||
| 552de94e9f | |||
| e09b8834c9 | |||
| 2ddb659471 | |||
| 1dea16473f | |||
| a2d92c05fa | |||
| e8fbd26b87 |
24 changed files with 49537 additions and 40 deletions
|
|
@ -4650,6 +4650,8 @@ doges_palace_01 = { # Should technically be burnt down/rebuilt, but this is most
|
|||
text = government_is_not_republic_or_admin_desc
|
||||
OR = {
|
||||
government_has_flag = government_is_republic
|
||||
government_has_flag = government_is_urepublic
|
||||
government_has_flag = government_is_prepublic
|
||||
government_has_flag = government_is_administrative
|
||||
}
|
||||
}
|
||||
|
|
|
|||
4136
common/character_interactions/00_alliance.txt
Normal file
4136
common/character_interactions/00_alliance.txt
Normal file
File diff suppressed because it is too large
Load diff
357
common/character_interactions/00_ce1_interactions.txt
Normal file
357
common/character_interactions/00_ce1_interactions.txt
Normal file
|
|
@ -0,0 +1,357 @@
|
|||
# Ask to Promote your Legend
|
||||
ce1_ask_to_promote_legend_interaction = {
|
||||
icon = icon_contract_modification_single
|
||||
category = interaction_category_diplomacy
|
||||
popup_on_receive = yes
|
||||
pause_on_receive = yes
|
||||
can_send_despite_rejection = yes
|
||||
ai_maybe = yes
|
||||
interface_priority = 5
|
||||
desc = ce1_ask_to_promote_legend_interaction_desc
|
||||
|
||||
greeting = positive
|
||||
notification_text = PROMOTE_LEGEND_NOTIFICATION
|
||||
|
||||
is_shown = {
|
||||
scope:actor.promoted_legend.legend_owner ?= scope:actor
|
||||
scope:actor != scope:recipient
|
||||
scope:recipient = {
|
||||
is_landed = yes
|
||||
age >= 12
|
||||
is_physically_able = yes
|
||||
NOT = { government_has_flag = government_is_true_herder }
|
||||
}
|
||||
}
|
||||
|
||||
is_valid_showing_failures_only = {
|
||||
scope:recipient = {
|
||||
custom_tooltip = {
|
||||
text = recipient_already_promoting_legend_tt
|
||||
NOT = { exists = promoted_legend }
|
||||
}
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = recipient_close_or_neighbor_tt
|
||||
OR = {
|
||||
scope:recipient.dynasty = scope:actor.dynasty
|
||||
scope:recipient = { knows_language_of_culture = scope:actor.culture }
|
||||
scope:actor = {
|
||||
has_friendly_relationship_with_character_trigger = { CHARACTER = scope:recipient }
|
||||
}
|
||||
scope:recipient = {
|
||||
any_character_to_title_neighboring_county = {
|
||||
any_county_province = {
|
||||
any_province_legend = {
|
||||
this = scope:actor.promoted_legend
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
cooldown_against_recipient = { years = 5 }
|
||||
|
||||
ai_min_reply_days = 2
|
||||
ai_max_reply_days = 7
|
||||
|
||||
ai_accept = {
|
||||
base = -10
|
||||
## Tier
|
||||
modifier = {
|
||||
add = -5
|
||||
scope:recipient.primary_title = {
|
||||
tier = 2
|
||||
}
|
||||
desc = TIER_REASON_COUNT
|
||||
}
|
||||
modifier = {
|
||||
add = -10
|
||||
scope:recipient.primary_title = {
|
||||
tier = 3
|
||||
}
|
||||
desc = TIER_REASON_DUKE
|
||||
}
|
||||
modifier = {
|
||||
add = -20
|
||||
scope:recipient.primary_title = {
|
||||
tier = 4
|
||||
}
|
||||
desc = TIER_REASON_KING
|
||||
}
|
||||
modifier = {
|
||||
add = -30
|
||||
scope:recipient.primary_title = {
|
||||
tier = 5
|
||||
}
|
||||
desc = TIER_REASON_EMPEROR
|
||||
}
|
||||
## Legend
|
||||
# How cool is the legend?
|
||||
modifier = {
|
||||
add = 10
|
||||
desc = REASON_ILLUSTRIOUS_LEGEND
|
||||
scope:actor = {
|
||||
promoted_legend = {
|
||||
legend_quality = illustrious
|
||||
}
|
||||
}
|
||||
}
|
||||
modifier = {
|
||||
add = 20
|
||||
desc = REASON_MYTHICAL_LEGEND
|
||||
scope:actor = {
|
||||
promoted_legend = {
|
||||
legend_quality = mythical
|
||||
}
|
||||
}
|
||||
}
|
||||
# Are you using a hook?
|
||||
modifier = {
|
||||
trigger = {
|
||||
scope:hook ?= yes
|
||||
}
|
||||
add = 100
|
||||
desc = LEGEND_HOOK_USED
|
||||
}
|
||||
# Are you using Gold?
|
||||
modifier = {
|
||||
trigger = {
|
||||
scope:gold_cost ?= yes
|
||||
}
|
||||
add = 40
|
||||
desc = TRADE_GOLD_FOR_BETTER_AI_ACCEPTANCE_TT
|
||||
}
|
||||
## Opinion
|
||||
# Do they like you?
|
||||
opinion_modifier = {
|
||||
who = scope:recipient
|
||||
opinion_target = scope:actor
|
||||
multiplier = 1
|
||||
desc = AI_OPINION_REASON
|
||||
}
|
||||
## Personality
|
||||
# Are they ambitious?
|
||||
modifier = {
|
||||
desc = DEMAND_SUBMISSION_RECIPIENT_IS_AMBITIOUS #re-using these
|
||||
add = -15
|
||||
scope:recipient = {
|
||||
has_trait = ambitious
|
||||
}
|
||||
}
|
||||
# Are they content?
|
||||
modifier = {
|
||||
desc = DEMAND_SUBMISSION_RECIPIENT_IS_CONTENT
|
||||
add = 5
|
||||
scope:recipient = { has_trait = content }
|
||||
}
|
||||
# Are they stubborn?
|
||||
modifier = {
|
||||
desc = DEMAND_SUBMISSION_RECIPIENT_IS_STUBBORN
|
||||
add = -10
|
||||
scope:recipient = { has_trait = stubborn }
|
||||
}
|
||||
# Are they arrogant?
|
||||
modifier = {
|
||||
desc = DEMAND_SUBMISSION_RECIPIENT_IS_ARROGANT
|
||||
add = -10
|
||||
scope:recipient = { has_trait = arrogant }
|
||||
}
|
||||
# Are they humble?
|
||||
modifier = {
|
||||
desc = DEMAND_SUBMISSION_RECIPIENT_IS_HUMBLE
|
||||
add = 10
|
||||
scope:recipient = { has_trait = humble }
|
||||
}
|
||||
# Are they trusting?
|
||||
modifier = {
|
||||
desc = DEMAND_SUBMISSION_RECIPIENT_IS_TRUSTING
|
||||
add = 15
|
||||
scope:recipient = { has_trait = trusting }
|
||||
}
|
||||
# Are they paranoid?
|
||||
modifier = {
|
||||
desc = DEMAND_SUBMISSION_RECIPIENT_IS_PARANOID
|
||||
add = -10
|
||||
scope:recipient = { has_trait = paranoid }
|
||||
}
|
||||
## Dread
|
||||
modifier = {
|
||||
add = intimidated_halved_reason_value
|
||||
scope:recipient = {
|
||||
has_dread_level_towards = {
|
||||
target = scope:actor
|
||||
level = 1
|
||||
}
|
||||
}
|
||||
desc = INTIMIDATED_REASON
|
||||
}
|
||||
modifier = {
|
||||
add = cowed_halved_reason_value
|
||||
scope:recipient = {
|
||||
has_dread_level_towards = {
|
||||
target = scope:actor
|
||||
level = 2
|
||||
}
|
||||
}
|
||||
desc = COWED_REASON
|
||||
}
|
||||
## War
|
||||
modifier = {
|
||||
add = -50
|
||||
scope:recipient = {
|
||||
is_at_war = yes
|
||||
}
|
||||
desc = HOSTAGE_AT_WAR_REASON
|
||||
}
|
||||
## Low Gold
|
||||
modifier = {
|
||||
add = -100
|
||||
scope:actor.promoted_legend = {
|
||||
legend_quality = famed
|
||||
}
|
||||
scope:recipient = {
|
||||
monthly_character_income < famed_legend_promoter_cost
|
||||
}
|
||||
desc = TOO_HIGH_PROMOTER_MAINTENANCE_REASON
|
||||
}
|
||||
modifier = {
|
||||
add = -100
|
||||
scope:actor.promoted_legend = {
|
||||
legend_quality = illustrious
|
||||
}
|
||||
scope:recipient = {
|
||||
monthly_character_income < illustrious_legend_promoter_cost
|
||||
}
|
||||
desc = TOO_HIGH_PROMOTER_MAINTENANCE_REASON
|
||||
}
|
||||
modifier = {
|
||||
add = -100
|
||||
scope:actor.promoted_legend = {
|
||||
legend_quality = mythical
|
||||
}
|
||||
scope:recipient = {
|
||||
monthly_character_income < mythical_legend_promoter_cost
|
||||
}
|
||||
desc = TOO_HIGH_PROMOTER_MAINTENANCE_REASON
|
||||
}
|
||||
modifier = {
|
||||
add = 25
|
||||
scope:recipient = {
|
||||
is_contact_of = scope:actor
|
||||
}
|
||||
desc = IS_CONTACT_REASON
|
||||
}
|
||||
}
|
||||
|
||||
on_accept = {
|
||||
scope:actor.promoted_legend = {
|
||||
save_scope_as = promoted_legend
|
||||
}
|
||||
scope:actor = {
|
||||
send_interface_toast = {
|
||||
type = event_toast_effect_good
|
||||
title = ce1_ask_to_promote_legend_acceptance_tt
|
||||
left_icon = scope:actor
|
||||
right_icon = scope:recipient
|
||||
|
||||
if = {
|
||||
limit = { scope:hook = yes }
|
||||
use_hook = scope:recipient
|
||||
}
|
||||
if = {
|
||||
limit = { scope:gold_cost = yes }
|
||||
pay_short_term_gold = {
|
||||
target = scope:recipient
|
||||
gold = medium_gold_value
|
||||
}
|
||||
promoted_legend = { # To prevent gold exploits
|
||||
add_to_variable_list = {
|
||||
name = accepted_promote_legend_var
|
||||
target = scope:recipient
|
||||
years = 10
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:recipient = {
|
||||
set_promoted_legend = scope:actor.promoted_legend
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
on_decline = {
|
||||
scope:actor = {
|
||||
send_interface_toast = {
|
||||
type = event_toast_effect_bad
|
||||
title = ce1_ask_to_promote_legend_decline_tt
|
||||
left_icon = scope:actor
|
||||
right_icon = scope:recipient
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Use gold to increase acceptance
|
||||
send_option = {
|
||||
flag = gold_cost
|
||||
localization = TRADE_GOLD_FOR_BETTER_AI_ACCEPTANCE
|
||||
}
|
||||
send_option = {
|
||||
flag = hook
|
||||
is_valid = {
|
||||
scope:actor = {
|
||||
has_usable_hook = scope:recipient
|
||||
}
|
||||
}
|
||||
localization = GENERIC_SPEND_A_HOOK
|
||||
}
|
||||
send_options_exclusive = no
|
||||
|
||||
ai_potential = {
|
||||
is_physically_able = yes
|
||||
}
|
||||
|
||||
ai_targets = {
|
||||
ai_recipients = neighboring_rulers
|
||||
}
|
||||
|
||||
ai_frequency_by_tier = {
|
||||
barony = 0
|
||||
county = 72
|
||||
duchy = 36
|
||||
kingdom = 12
|
||||
empire = 12
|
||||
hegemony = 12
|
||||
}
|
||||
|
||||
# Very similar to ai_accept, but ignores effects that are < 10 in value for brevity's sake
|
||||
ai_will_do = {
|
||||
base = 0
|
||||
## Legends
|
||||
modifier = {
|
||||
add = 25
|
||||
exists = promoted_legend
|
||||
}
|
||||
modifier = {
|
||||
add = 25
|
||||
promoted_legend = {
|
||||
legend_quality = mythical
|
||||
}
|
||||
}
|
||||
## Gold
|
||||
modifier = {
|
||||
add = -100
|
||||
debt_level >= 0
|
||||
}
|
||||
modifier = {
|
||||
add = -50
|
||||
gold <= major_gold_value
|
||||
}
|
||||
## Personality
|
||||
modifier = {
|
||||
add = 25
|
||||
has_trait = arrogant
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -45,7 +45,7 @@ offer_vassalization_interaction = {
|
|||
}
|
||||
NOR = {
|
||||
government_has_flag = cannot_be_vassal_or_liege
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
# Temujin cannot make Jamukha his subject once he leaves him
|
||||
|
|
|
|||
10461
common/character_interactions/00_diarch_interactions.txt
Normal file
10461
common/character_interactions/00_diarch_interactions.txt
Normal file
File diff suppressed because it is too large
Load diff
789
common/character_interactions/00_gift.txt
Normal file
789
common/character_interactions/00_gift.txt
Normal file
|
|
@ -0,0 +1,789 @@
|
|||
#Give characters money to improve their opinion of you
|
||||
gift_interaction = {
|
||||
icon = icon_gold
|
||||
category = interaction_category_friendly
|
||||
common_interaction = yes
|
||||
interface_priority = 65
|
||||
desc = gift_interaction_desc
|
||||
|
||||
greeting = positive
|
||||
notification_text = SEND_GIFT_PROPOSAL
|
||||
|
||||
answer_accept_key = SEND_GIFT_ACCEPT
|
||||
answer_reject_key = SEND_GIFT_REJECT
|
||||
|
||||
ai_targets = {
|
||||
ai_recipients = scripted_relations
|
||||
ai_recipients = liege
|
||||
ai_recipients = head_of_faith
|
||||
}
|
||||
ai_targets = {
|
||||
ai_recipients = neighboring_rulers
|
||||
ai_recipients = peer_vassals
|
||||
max = 10
|
||||
}
|
||||
ai_targets = {
|
||||
ai_recipients = vassals
|
||||
max = 10
|
||||
}
|
||||
ai_target_quick_trigger = {
|
||||
adult = yes
|
||||
}
|
||||
ai_frequency_by_tier = {
|
||||
barony = 120
|
||||
county = 60
|
||||
duchy = 60
|
||||
kingdom = 36
|
||||
empire = 36
|
||||
hegemony = 36
|
||||
}
|
||||
|
||||
is_shown = {
|
||||
scope:recipient != scope:actor
|
||||
|
||||
# Prioritize paying back loans first
|
||||
scope:actor = {
|
||||
trigger_if = {
|
||||
limit = {
|
||||
exists = var:loan_amount_owed
|
||||
exists = var:loan_holder
|
||||
}
|
||||
NOT = { var:loan_holder = scope:recipient }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
is_highlighted = {
|
||||
scope:recipient = {
|
||||
OR = {
|
||||
house ?= {
|
||||
OR = {
|
||||
is_dominant_family = yes
|
||||
is_powerful_family = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
highlighted_reason = HIGHLIGHTED_FAMILY_RATING
|
||||
|
||||
is_valid_showing_failures_only = {
|
||||
scope:actor.gold >= gift_value
|
||||
scope:recipient = {
|
||||
NOT = { is_imprisoned_by = scope:actor }
|
||||
}
|
||||
}
|
||||
|
||||
on_auto_accept = {
|
||||
scope:recipient = {
|
||||
trigger_event = char_interaction.0100
|
||||
}
|
||||
}
|
||||
|
||||
on_accept = {
|
||||
scope:recipient = {
|
||||
# Verify that they could become friend
|
||||
if = {
|
||||
limit = {
|
||||
NAND = {
|
||||
has_relation_friend = scope:actor
|
||||
has_relation_lover = scope:actor
|
||||
has_relation_soulmate = scope:actor
|
||||
has_relation_best_friend = scope:actor
|
||||
}
|
||||
}
|
||||
gifting_leads_towards_friendship_effect = yes
|
||||
}
|
||||
}
|
||||
# HOUSE RELATIONS
|
||||
if = {
|
||||
limit = {
|
||||
scope:actor = {
|
||||
is_house_head = yes
|
||||
}
|
||||
scope:recipient = {
|
||||
is_house_head = yes
|
||||
NOT = {
|
||||
has_opinion_modifier = {
|
||||
target = scope:actor
|
||||
modifier = gift_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:recipient.house = {
|
||||
change_house_relation_effect = {
|
||||
HOUSE = scope:actor.house
|
||||
VALUE = house_relation_improve_medium_value
|
||||
REASON = sent_a_gift
|
||||
CHAR = scope:actor
|
||||
TARGET_CHAR = scope:recipient
|
||||
TITLE = scope:dummy_gender
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:actor = {
|
||||
# Warning for multiple gifts
|
||||
if = {
|
||||
limit = {
|
||||
scope:recipient = {
|
||||
has_opinion_modifier = {
|
||||
target = scope:actor
|
||||
modifier = gift_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
custom_tooltip = ALREADY_SENT_GIFT_WARNING
|
||||
}
|
||||
|
||||
send_interface_message = {
|
||||
type = event_gold_neutral
|
||||
title = gift_interaction_notification
|
||||
right_icon = scope:recipient
|
||||
pay_short_term_gold = {
|
||||
gold = gift_value
|
||||
target = scope:recipient
|
||||
}
|
||||
stress_impact = {
|
||||
greedy = medium_stress_impact_gain
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:recipient = {
|
||||
NOT = {
|
||||
is_heir_of = scope:actor
|
||||
}
|
||||
}
|
||||
}
|
||||
stress_impact = {
|
||||
generous = medium_stress_impact_loss
|
||||
}
|
||||
}
|
||||
|
||||
#FP3 Tenet Communal Possessions Perk - piety gain for gift giving.
|
||||
if = {
|
||||
limit = {
|
||||
scope:actor = {
|
||||
faith = {
|
||||
has_doctrine_parameter = piety_from_gifts_active
|
||||
}
|
||||
}
|
||||
}
|
||||
scope:actor = {
|
||||
add_piety = minor_piety_gain
|
||||
}
|
||||
}
|
||||
|
||||
# Check if the target already has been sent a gift or not. If not, apply the following effects
|
||||
if = {
|
||||
limit = {
|
||||
NOT = {
|
||||
scope:recipient = {
|
||||
has_opinion_modifier = {
|
||||
target = scope:actor
|
||||
modifier = gift_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Struggle Catalyst
|
||||
if = {
|
||||
limit = {
|
||||
scope:actor = {
|
||||
any_character_struggle = {
|
||||
involvement = involved
|
||||
phase_has_catalyst = catalyst_gift_independent_ruler
|
||||
activate_struggle_catalyst_secondary_character_involvement_involved_trigger = {
|
||||
CATALYST = catalyst_gift_independent_ruler
|
||||
CHAR = scope:recipient
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
scope:actor = {
|
||||
every_character_struggle = {
|
||||
involvement = involved
|
||||
limit = { phase_has_catalyst = catalyst_gift_independent_ruler }
|
||||
activate_struggle_catalyst = {
|
||||
catalyst = catalyst_gift_independent_ruler
|
||||
character = scope:actor
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
fp3_struggle_involves_one_supporter_and_one_detractor = {
|
||||
FIRST = scope:actor
|
||||
SECOND = scope:recipient
|
||||
}
|
||||
scope:actor = {
|
||||
any_character_struggle = {
|
||||
#involvement = involved
|
||||
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
|
||||
CATALYST = catalyst_gift_supporter_detractor_ruler
|
||||
CHAR = scope:recipient
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
hidden_effect = {
|
||||
scope:actor = {
|
||||
every_character_struggle = {
|
||||
#involvement = involved
|
||||
limit = {
|
||||
activate_struggle_catalyst_secondary_character_involvement_either_trigger = {
|
||||
CATALYST = catalyst_gift_supporter_detractor_ruler
|
||||
CHAR = scope:recipient
|
||||
}
|
||||
}
|
||||
activate_struggle_catalyst = {
|
||||
catalyst = catalyst_gift_supporter_detractor_ruler
|
||||
character = scope:actor
|
||||
}
|
||||
log_debug_variable_for_persian_struggle_effect = { VAR = concession_catalyst_gift_supporter_detractor_ruler }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# FP2 Urbanism Legacy Perk 2: increase cultural acceptance when gifting a republican vassal
|
||||
if = {
|
||||
limit = {
|
||||
scope:actor = {
|
||||
dynasty ?= { has_dynasty_perk = fp2_urbanism_legacy_4 }
|
||||
}
|
||||
scope:recipient = {
|
||||
AND = {
|
||||
is_vassal_of = scope:actor
|
||||
government_has_flag = government_is_republic
|
||||
}
|
||||
}
|
||||
scope:actor.culture != scope:recipient.capital_province.county.culture
|
||||
}
|
||||
scope:recipient.capital_province.county.culture = {
|
||||
change_cultural_acceptance = {
|
||||
target = scope:actor.culture
|
||||
value = {
|
||||
value = 20
|
||||
multiply = scope:recipient.capital_province.county.development_level
|
||||
divide = 100
|
||||
}
|
||||
desc = cultural_acceptance_gain_gift_dynasty_perk
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Let's apply the opinion modifier last, as to apply everything else correctly first
|
||||
scope:recipient = {
|
||||
add_opinion = {
|
||||
target = scope:actor
|
||||
modifier = gift_opinion
|
||||
opinion = send_gift_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if = { # for tutorial purposes
|
||||
limit = {
|
||||
is_ai = no
|
||||
scope:recipient = { is_child_of = scope:actor }
|
||||
}
|
||||
add_character_flag = {
|
||||
flag = tutorial_sent_gift
|
||||
days = 200
|
||||
}
|
||||
}
|
||||
#Influence gain between admin rulers
|
||||
if = {
|
||||
limit = {
|
||||
is_ruler = yes
|
||||
government_allows = administrative
|
||||
scope:recipient = {
|
||||
is_ruler = yes
|
||||
government_allows = administrative
|
||||
any_held_title = {
|
||||
is_noble_family_title = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:recipient = {
|
||||
OR = {
|
||||
house = {
|
||||
is_dominant_family = yes
|
||||
}
|
||||
this = scope:actor.top_liege
|
||||
}
|
||||
influence_level >= 5
|
||||
}
|
||||
}
|
||||
change_influence = {
|
||||
value = miniscule_influence_gain
|
||||
multiply = 8
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
scope:recipient = {
|
||||
OR = {
|
||||
house = {
|
||||
is_dominant_family = yes
|
||||
}
|
||||
this = scope:actor.top_liege
|
||||
}
|
||||
influence_level >= 3
|
||||
}
|
||||
}
|
||||
change_influence = {
|
||||
value = miniscule_influence_gain
|
||||
multiply = 7
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
scope:recipient = {
|
||||
OR = {
|
||||
house = {
|
||||
is_dominant_family = yes
|
||||
}
|
||||
this = scope:actor.top_liege
|
||||
}
|
||||
}
|
||||
}
|
||||
change_influence = {
|
||||
value = miniscule_influence_gain
|
||||
multiply = 6
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
scope:recipient = {
|
||||
OR = {
|
||||
house = {
|
||||
is_powerful_family = yes
|
||||
}
|
||||
this = scope:actor.top_liege
|
||||
}
|
||||
influence_level >= 5
|
||||
}
|
||||
}
|
||||
change_influence = {
|
||||
value = miniscule_influence_gain
|
||||
multiply = 6
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
scope:recipient = {
|
||||
OR = {
|
||||
house = {
|
||||
is_powerful_family = yes
|
||||
}
|
||||
this = scope:actor.top_liege
|
||||
}
|
||||
influence_level >= 3
|
||||
}
|
||||
}
|
||||
change_influence = {
|
||||
value = miniscule_influence_gain
|
||||
multiply = 5
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
scope:recipient = {
|
||||
OR = {
|
||||
house = {
|
||||
is_powerful_family = yes
|
||||
}
|
||||
this = scope:actor.top_liege
|
||||
}
|
||||
}
|
||||
}
|
||||
change_influence = {
|
||||
value = miniscule_influence_gain
|
||||
multiply = 4
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
scope:recipient = { influence_level >= 5 }
|
||||
}
|
||||
change_influence = {
|
||||
value = miniscule_influence_gain
|
||||
multiply = 3
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
scope:recipient = { influence_level >= 3 }
|
||||
}
|
||||
change_influence = {
|
||||
value = miniscule_influence_gain
|
||||
multiply = 2
|
||||
}
|
||||
}
|
||||
else = {
|
||||
change_influence = miniscule_influence_gain
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ai_accept = {
|
||||
base = 0
|
||||
modifier = {
|
||||
add = 100
|
||||
desc = GOLD_REASON
|
||||
}
|
||||
|
||||
# Struggle motive
|
||||
modifier = {
|
||||
desc = AI_STRUGGLE_INTENT
|
||||
scope:recipient = {
|
||||
top_liege = this
|
||||
any_character_struggle = {
|
||||
involvement = involved
|
||||
}
|
||||
}
|
||||
add = {
|
||||
value = 0
|
||||
if = {
|
||||
limit = {
|
||||
scope:recipient = {
|
||||
any_character_struggle = {
|
||||
phase_has_catalyst = catalyst_gift_independent_ruler
|
||||
}
|
||||
has_character_flag = agenda_towards_escalation
|
||||
}
|
||||
}
|
||||
add = -100
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
scope:recipient = {
|
||||
any_character_struggle = {
|
||||
phase_has_catalyst = catalyst_gift_independent_ruler
|
||||
}
|
||||
}
|
||||
}
|
||||
add = 200
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ai_potential = {
|
||||
is_available_at_peace_ai_adult = yes
|
||||
ai_greed < medium_positive_ai_value
|
||||
short_term_gold >= gift_interaction_cutoff
|
||||
NOT = {
|
||||
has_trait = greedy
|
||||
}
|
||||
NOT = { has_variable = conqueror }
|
||||
ai_should_focus_on_building_in_their_capital = no
|
||||
}
|
||||
|
||||
auto_accept = {
|
||||
custom_description = {
|
||||
text = auto_accept_interaction_ai
|
||||
object = scope:recipient
|
||||
scope:recipient = {
|
||||
is_ai = yes
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ai_min_reply_days = 1
|
||||
ai_max_reply_days = 1
|
||||
|
||||
ai_will_do = {
|
||||
base = 100
|
||||
|
||||
modifier = { # Do not send double-gifts
|
||||
factor = 0
|
||||
scope:recipient = {
|
||||
has_opinion_modifier = {
|
||||
target = scope:actor
|
||||
modifier = gift_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
modifier = { # Basic Filtering
|
||||
factor = 0
|
||||
scope:recipient = {
|
||||
NOR = {
|
||||
AND = { # Bankrupt lovers, friends and a bankrupt liege should be considered
|
||||
OR = {
|
||||
scope:actor = {
|
||||
any_liege_or_above = {
|
||||
this = scope:recipient
|
||||
}
|
||||
}
|
||||
has_secret_relation_lover = scope:actor
|
||||
has_relation_lover = scope:actor
|
||||
has_relation_soulmate = scope:actor
|
||||
has_relation_friend = scope:actor
|
||||
has_relation_best_friend = scope:actor
|
||||
}
|
||||
gold < 0
|
||||
}
|
||||
AND = { # Generous characters will give gifts to their friends/lovers
|
||||
is_ruler = yes
|
||||
OR = {
|
||||
has_secret_relation_lover = scope:actor
|
||||
has_relation_lover = scope:actor
|
||||
has_relation_soulmate = scope:actor
|
||||
has_relation_friend = scope:actor
|
||||
has_relation_best_friend = scope:actor
|
||||
}
|
||||
scope:actor = {
|
||||
OR = {
|
||||
ai_greed <= high_negative_ai_value
|
||||
AND = {
|
||||
ai_greed < 0
|
||||
culture = {
|
||||
has_cultural_parameter = gives_more_gifts
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
AND = { # Characters with the Generous Cultural Tradition will give gifts to more people
|
||||
is_ruler = yes
|
||||
OR = {
|
||||
is_allied_to = scope:actor
|
||||
is_close_or_extended_family_of = scope:actor
|
||||
}
|
||||
scope:actor = {
|
||||
ai_greed < 0
|
||||
culture = {
|
||||
has_cultural_parameter = gives_more_gifts
|
||||
}
|
||||
}
|
||||
}
|
||||
AND = { # Characters with the loyal trait more likely to give gifts to friends/lieges
|
||||
OR = {
|
||||
scope:actor.liege ?= this
|
||||
has_relation_friend = scope:actor
|
||||
has_relation_best_friend = scope:actor
|
||||
is_allied_to = scope:actor
|
||||
is_close_or_extended_family_of = scope:actor
|
||||
}
|
||||
scope:actor = {
|
||||
ai_greed <= 0
|
||||
has_trait = loyal
|
||||
}
|
||||
}
|
||||
AND = { # Zealous characters want to support the defending side in GHW's
|
||||
gold < 200
|
||||
any_character_war = {
|
||||
OR = {
|
||||
using_cb = undirected_great_holy_war
|
||||
using_cb = directed_great_holy_war
|
||||
}
|
||||
primary_defender = scope:recipient
|
||||
}
|
||||
scope:actor = {
|
||||
ai_zeal >= 50
|
||||
}
|
||||
}
|
||||
AND = { # Powerful vassals should be considered
|
||||
is_powerful_vassal_of = scope:actor
|
||||
opinion = {
|
||||
target = scope:actor
|
||||
value < 0
|
||||
}
|
||||
NOT ={
|
||||
has_opinion_modifier = {
|
||||
target = scope:actor
|
||||
modifier = gift_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
AND = { # Factioneering vassals should be considered
|
||||
is_vassal_of = scope:actor
|
||||
is_a_faction_member = yes
|
||||
NOT ={
|
||||
has_opinion_modifier = {
|
||||
target = scope:actor
|
||||
modifier = gift_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
AND = { # Realm Priests should be considered
|
||||
scope:actor = {
|
||||
faith = { has_doctrine = doctrine_theocracy_temporal }
|
||||
exists = cp:councillor_court_chaplain
|
||||
cp:councillor_court_chaplain = scope:recipient
|
||||
}
|
||||
opinion = {
|
||||
target = scope:actor
|
||||
value <= 25
|
||||
}
|
||||
NOT = {
|
||||
has_opinion_modifier = {
|
||||
target = scope:actor
|
||||
modifier = gift_opinion
|
||||
}
|
||||
}
|
||||
}
|
||||
AND = { # Rulers at war with your rivals deserve gold if they're bankrupt
|
||||
gold < 0
|
||||
is_at_war = yes
|
||||
any_war_enemy = {
|
||||
has_relation_rival = scope:actor
|
||||
}
|
||||
}
|
||||
AND = { # Independent ruler within the struggle should be considered
|
||||
any_character_struggle = {
|
||||
phase_has_catalyst = catalyst_gift_independent_ruler
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Struggle
|
||||
modifier = {
|
||||
scope:recipient = {
|
||||
any_character_struggle = {
|
||||
involvement = involved
|
||||
phase_has_catalyst = catalyst_gift_independent_ruler
|
||||
}
|
||||
}
|
||||
scope:actor = {
|
||||
any_character_struggle = {
|
||||
involvement = involved
|
||||
phase_has_catalyst = catalyst_gift_independent_ruler
|
||||
}
|
||||
NOT = {
|
||||
has_relation_rival = scope:recipient
|
||||
}
|
||||
}
|
||||
add = {
|
||||
value = 0
|
||||
if = {
|
||||
limit = {
|
||||
scope:actor = {
|
||||
has_character_flag = agenda_towards_escalation
|
||||
}
|
||||
}
|
||||
add = -100
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
scope:actor = {
|
||||
has_character_flag = agenda_towards_deescalation
|
||||
}
|
||||
scope:recipient = {
|
||||
has_character_flag = agenda_towards_deescalation
|
||||
}
|
||||
}
|
||||
add = {
|
||||
value = 150
|
||||
if = {
|
||||
limit = { scope:recipient = { is_ai = no} }
|
||||
add = 150 # higher for human player to Prioritize them
|
||||
}
|
||||
# Then lower the intent depending on the gold reserve
|
||||
# Base value applied if the AI has 3x the gold cutoff
|
||||
multiply = {
|
||||
value = short_term_gold
|
||||
divide = {
|
||||
value = gift_interaction_cutoff
|
||||
multiply = 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else_if = {
|
||||
limit = {
|
||||
scope:actor = {
|
||||
has_character_flag = agenda_towards_deescalation
|
||||
}
|
||||
}
|
||||
add = {
|
||||
value = 25
|
||||
if = {
|
||||
limit = { scope:recipient = { is_ai = no} }
|
||||
add = 150 # higher for human player to Prioritize them
|
||||
}
|
||||
# Then lower the intent depending on the gold reserve
|
||||
# Base value applied if the AI has 3x the gold cutoff
|
||||
multiply = {
|
||||
value = short_term_gold
|
||||
divide = {
|
||||
value = gift_interaction_cutoff
|
||||
multiply = 3
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
modifier = {
|
||||
factor = 0.1
|
||||
scope:recipient = {
|
||||
opinion = {
|
||||
target = scope:actor
|
||||
value < 0
|
||||
}
|
||||
NAND = {
|
||||
is_vassal_of = scope:actor
|
||||
scope:actor = {
|
||||
ai_rationality > 50
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
modifier = {
|
||||
add = 100
|
||||
scope:actor = {
|
||||
is_at_war = no
|
||||
has_trait = fp3_struggle_supporter
|
||||
any_character_struggle = { is_struggle_type = persian_struggle }
|
||||
}
|
||||
scope:recipient = {
|
||||
title:d_sunni.holder ?= this
|
||||
gold < 0
|
||||
}
|
||||
}
|
||||
|
||||
# Nomads are slightly less likely to do this since they'd prefer to send Herd instead
|
||||
modifier = {
|
||||
add = -10
|
||||
scope:actor = {
|
||||
government_has_flag = government_is_nomadic
|
||||
}
|
||||
scope:recipient = {
|
||||
government_has_flag = government_is_nomadic
|
||||
}
|
||||
}
|
||||
|
||||
modifier = {
|
||||
factor = 0.1
|
||||
scope:recipient = {
|
||||
has_relation_rival = scope:actor
|
||||
}
|
||||
}
|
||||
|
||||
modifier = {
|
||||
factor = 2
|
||||
scope:actor.house.house_confederation ?= {
|
||||
has_cohesion_level_parameter = bloc_members_send_leader_gifts
|
||||
leading_house.house_head ?= scope:recipient
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -42,7 +42,7 @@ grant_titles_interaction = {
|
|||
limit = {
|
||||
scope:actor = { government_has_flag = government_is_nomadic NOT = { government_has_flag = government_allows_nomad_domicile_titles }}
|
||||
}
|
||||
scope:recipient = { NOT = { government_has_flag = government_is_herder } }
|
||||
scope:recipient = { NOT = { government_has_flag = government_is_true_herder } }
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
844
common/character_interactions/00_invite_agent_to_scheme.txt
Normal file
844
common/character_interactions/00_invite_agent_to_scheme.txt
Normal file
|
|
@ -0,0 +1,844 @@
|
|||
|
||||
invite_agent_to_scheme_interaction = {
|
||||
special_interaction = invite_to_scheme_interaction
|
||||
hidden = yes
|
||||
|
||||
# Delaying the response makes it possible to invite multiple agents to the same slot.
|
||||
ai_instant_response = yes
|
||||
|
||||
on_accept = {
|
||||
scope:recipient = {
|
||||
if = {
|
||||
limit = {
|
||||
OR = {
|
||||
always = scope:mandala_trickster
|
||||
always = scope:gift
|
||||
always = scope:gift_significant
|
||||
always = scope:offer_hook
|
||||
always = scope:offer_hook_strong
|
||||
always = scope:hook
|
||||
always = scope:opportunities_t1
|
||||
always = scope:opportunities_t2
|
||||
always = scope:prestige
|
||||
always = scope:influence
|
||||
always = scope:council_rights
|
||||
always = scope:de_jure_title
|
||||
always = scope:claimed_title
|
||||
always = scope:piety
|
||||
always = scope:herd
|
||||
var:devotee_agent_var ?= scope:actor
|
||||
}
|
||||
}
|
||||
force_add_to_agent_slot = {
|
||||
agent_slot = scope:agent_slot
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
else = { add_to_agent_slot = scope:agent_slot }
|
||||
}
|
||||
scope:actor = {
|
||||
# No bribe.
|
||||
## We hack this in to stop the window jumping around as you add or remove bribes.
|
||||
if = {
|
||||
limit = {
|
||||
NOR = {
|
||||
always = scope:mandala_trickster
|
||||
always = scope:gift
|
||||
always = scope:gift_significant
|
||||
always = scope:offer_hook
|
||||
always = scope:offer_hook_strong
|
||||
always = scope:hook
|
||||
always = scope:opportunities_t1
|
||||
always = scope:opportunities_t2
|
||||
always = scope:prestige
|
||||
always = scope:influence
|
||||
always = scope:council_rights
|
||||
always = scope:de_jure_title
|
||||
always = scope:claimed_title
|
||||
always = scope:piety
|
||||
always = scope:herd
|
||||
}
|
||||
}
|
||||
custom_tooltip = offer_bribes.tt.window_jump_fix
|
||||
}
|
||||
# Mandala Trickster
|
||||
if = {
|
||||
limit = { always = scope:mandala_trickster }
|
||||
add_piety = {
|
||||
value = trickster_mandala_force_agent_bribe_value
|
||||
multiply = -1
|
||||
}
|
||||
}
|
||||
# Bribe
|
||||
if = {
|
||||
limit = { always = scope:gift }
|
||||
pay_short_term_gold = {
|
||||
gold = bribe_value
|
||||
target = scope:recipient
|
||||
}
|
||||
stress_impact = { greedy = minor_stress_impact_gain }
|
||||
}
|
||||
# Big Bribe
|
||||
if = {
|
||||
limit = { always = scope:gift_significant }
|
||||
pay_short_term_gold = {
|
||||
gold = greater_bribe_value
|
||||
target = scope:recipient
|
||||
}
|
||||
stress_impact = { greedy = medium_stress_impact_gain }
|
||||
}
|
||||
# Offer Hook
|
||||
if = {
|
||||
limit = { always = scope:offer_hook }
|
||||
stress_impact = {
|
||||
base = minor_stress_impact_gain
|
||||
paranoid = major_stress_impact_gain
|
||||
}
|
||||
scope:recipient = {
|
||||
add_hook = {
|
||||
type = favor_hook
|
||||
target = scope:actor
|
||||
}
|
||||
}
|
||||
}
|
||||
# Offer Strong Hook
|
||||
if = {
|
||||
limit = { always = scope:offer_hook_strong }
|
||||
stress_impact = { base = major_stress_impact_gain }
|
||||
scope:recipient = {
|
||||
add_hook = {
|
||||
type = strong_favor_hook
|
||||
target = scope:actor
|
||||
}
|
||||
}
|
||||
}
|
||||
# Use Hook
|
||||
if = {
|
||||
limit = { always = scope:hook }
|
||||
use_hook = scope:recipient
|
||||
}
|
||||
# Burn Opportunities
|
||||
if = {
|
||||
limit = { always = scope:opportunities_t1 }
|
||||
custom_tooltip = {
|
||||
text = spend_agent_charges.tt.t1
|
||||
scope:scheme = {
|
||||
change_opportunities = {
|
||||
value = invite_agent_opportunities_t1_value
|
||||
multiply = -1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# Burn More Opportunities
|
||||
if = {
|
||||
limit = { always = scope:opportunities_t2 }
|
||||
custom_tooltip = {
|
||||
text = spend_agent_charges.tt.t2
|
||||
scope:scheme = {
|
||||
change_opportunities = {
|
||||
value = invite_agent_opportunities_t2_value
|
||||
multiply = -1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# Prestige
|
||||
if = {
|
||||
limit = { always = scope:prestige }
|
||||
add_prestige = {
|
||||
value = prestige_bribe_value
|
||||
multiply = -1
|
||||
}
|
||||
scope:recipient = { add_prestige = prestige_bribe_value }
|
||||
}
|
||||
# Influence
|
||||
if = {
|
||||
limit = { always = scope:influence }
|
||||
change_influence = {
|
||||
value = influence_bribe_value
|
||||
multiply = -1
|
||||
}
|
||||
scope:recipient = { change_influence = influence_bribe_value }
|
||||
}
|
||||
# Council Rights
|
||||
if = {
|
||||
limit = { always = scope:council_rights }
|
||||
scope:recipient = {
|
||||
vassal_contract_set_obligation_level = {
|
||||
type = council_rights
|
||||
level = 1
|
||||
}
|
||||
set_subject_contract_modification_blocked = yes
|
||||
}
|
||||
}
|
||||
create_title_and_vassal_change = {
|
||||
type = granted
|
||||
save_scope_as = change
|
||||
}
|
||||
# De Jure County
|
||||
if = {
|
||||
limit = { always = scope:de_jure_title }
|
||||
random_held_title = {
|
||||
limit = {
|
||||
actor_has_valid_de_jure_enticement_county_trigger = yes
|
||||
any_this_title_or_de_jure_above = {
|
||||
holder ?= { this = scope:recipient }
|
||||
}
|
||||
}
|
||||
change_title_holder = {
|
||||
holder = scope:recipient
|
||||
change = scope:change
|
||||
}
|
||||
}
|
||||
}
|
||||
# Claimed County
|
||||
if = {
|
||||
limit = { always = scope:claimed_title }
|
||||
random_held_title = {
|
||||
limit = {
|
||||
actor_has_valid_claimed_enticement_county_trigger = yes
|
||||
scope:recipient = { has_claim_on = prev }
|
||||
}
|
||||
change_title_holder = {
|
||||
holder = scope:recipient
|
||||
change = scope:change
|
||||
}
|
||||
}
|
||||
}
|
||||
resolve_title_and_vassal_change = scope:change
|
||||
# Piety
|
||||
if = {
|
||||
limit = { always = scope:piety }
|
||||
scope:actor = {
|
||||
add_piety = {
|
||||
value = piety_bribe_value
|
||||
multiply = -1
|
||||
}
|
||||
}
|
||||
scope:recipient = { add_piety = piety_bribe_value }
|
||||
}
|
||||
# Herd
|
||||
if = {
|
||||
limit = { always = scope:herd }
|
||||
if = {
|
||||
limit = {
|
||||
scope:recipient.domicile ?= {
|
||||
herd > 0
|
||||
}
|
||||
}
|
||||
scope:actor = {
|
||||
pay_herd = {
|
||||
target = scope:recipient
|
||||
value = domicile.herd_bribe_value
|
||||
}
|
||||
}
|
||||
}
|
||||
else = {
|
||||
scope:actor = { custom_tooltip = scheme_change_herd_value }
|
||||
hidden_effect = {
|
||||
scope:actor.domicile = {
|
||||
change_herd = {
|
||||
value = herd_bribe_value
|
||||
multiply = -1
|
||||
}
|
||||
}
|
||||
scope:recipient = {
|
||||
add_gold = {
|
||||
value = domicile.herd_bribe_value
|
||||
multiply = 0.1
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# Stress.
|
||||
## For scope: recipient.
|
||||
scope:recipient = {
|
||||
if = {
|
||||
limit = {
|
||||
scope:scheme = { is_scheme_category = contract }
|
||||
}
|
||||
# Honourable characters don't like being forced into criminal schemes.
|
||||
if = {
|
||||
limit = {
|
||||
OR = {
|
||||
has_trait = just
|
||||
has_trait = compassionate
|
||||
}
|
||||
scope:scheme.task_contract ?= { is_criminal = yes }
|
||||
}
|
||||
add_opinion = {
|
||||
target = scope:actor
|
||||
modifier = forced_me_to_help_crimes_opinion
|
||||
opinion = -20
|
||||
}
|
||||
stress_impact = {
|
||||
just = minor_stress_impact_gain
|
||||
compassionate = miniscule_stress_impact_gain
|
||||
}
|
||||
}
|
||||
# Lazy characters don't like being made to work at all.
|
||||
else_if = {
|
||||
limit = { has_trait = lazy }
|
||||
add_opinion = {
|
||||
target = scope:actor
|
||||
modifier = forced_me_to_work_opinion
|
||||
opinion = -10
|
||||
}
|
||||
stress_impact = { lazy = miniscule_stress_impact_gain }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ai_accept = {
|
||||
base = 0
|
||||
scheme_modifier = {
|
||||
object = scope:scheme
|
||||
target = scope:recipient
|
||||
}
|
||||
# You should not add modifiers here! If you want to add modifiers, they should be added to either:
|
||||
## - ai_agent_join_chance_hostile_general_suite_modifier
|
||||
## - ai_agent_join_chance_personal_general_suite_modifier
|
||||
}
|
||||
|
||||
auto_accept = {
|
||||
trigger_if = {
|
||||
limit = {
|
||||
scope:recipient.var:devotee_agent_var ?= scope:actor # They are a devotee of yours
|
||||
}
|
||||
custom_tooltip = devotee_agent_desc
|
||||
}
|
||||
trigger_else_if = {
|
||||
limit = { scope:mandala_trickster = yes }
|
||||
custom_tooltip = {
|
||||
text = SCHEME_AGENT_MANDALA_TRICKSTER
|
||||
always = yes
|
||||
}
|
||||
}
|
||||
trigger_else_if = {
|
||||
limit = {
|
||||
scope:hook = yes
|
||||
scope:actor = { has_strong_hook = scope:recipient }
|
||||
}
|
||||
custom_description = {
|
||||
text = "spending_hook"
|
||||
subject = scope:actor
|
||||
object = scope:recipient
|
||||
always = yes
|
||||
}
|
||||
}
|
||||
trigger_else_if = {
|
||||
limit = {
|
||||
scope:scheme = { is_scheme_category = contract }
|
||||
}
|
||||
# Should be synced with the modifiers in ai_agent_join_chance_laamp_contract_modifier, else agents'll leave the scheme immediately after joining.
|
||||
scope:recipient = {
|
||||
is_courtier_of = scope:actor
|
||||
NOR = {
|
||||
has_relation_rival = scope:actor
|
||||
custom_tooltip = {
|
||||
text = invite_agent_to_scheme_interaction.tt.no_stooges
|
||||
AND = {
|
||||
scope:actor = { has_court_position = stooge_camp_officer }
|
||||
is_court_position_employer = {
|
||||
court_position = stooge_camp_officer
|
||||
who = scope:actor
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
trigger_else = { always = no }
|
||||
}
|
||||
|
||||
options_heading = invite_agent_to_scheme_interaction.t.options_header
|
||||
# Everyone
|
||||
## Spend opportunities.
|
||||
### x1.
|
||||
send_option = {
|
||||
flag = opportunities_t1
|
||||
is_shown = {
|
||||
# We don't show bribes for schemes where agents will always auto-accept or else deny.
|
||||
NAND = {
|
||||
scope:scheme = { is_scheme_category = contract }
|
||||
scope:recipient = { is_courtier_of = scope:actor }
|
||||
}
|
||||
}
|
||||
is_valid = {
|
||||
custom_tooltip = {
|
||||
text = offer_opportunities.tt.need_an_opportunity.t1
|
||||
scope:scheme = { scheme_agent_charges >= invite_agent_opportunities_t1_value }
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = offer_opportunities.tt.cannot_offer_multiple_sets
|
||||
scope:opportunities_t2 = no
|
||||
}
|
||||
would_agent_accept_petty_bribes_against_target_trigger = yes
|
||||
}
|
||||
localization = SCHEME_AGENT_OPPORTUNITIES_T1
|
||||
}
|
||||
### x3.
|
||||
send_option = {
|
||||
flag = opportunities_t2
|
||||
is_shown = {
|
||||
# We don't show bribes for schemes where agents will always auto-accept or else deny.
|
||||
NAND = {
|
||||
scope:scheme = { is_scheme_category = contract }
|
||||
scope:recipient = { is_courtier_of = scope:actor }
|
||||
}
|
||||
}
|
||||
is_valid = {
|
||||
custom_tooltip = {
|
||||
text = offer_opportunities.tt.need_an_opportunity.t2
|
||||
scope:scheme = { scheme_agent_charges >= invite_agent_opportunities_t2_value }
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = offer_opportunities.tt.cannot_offer_multiple_sets
|
||||
scope:opportunities_t1 = no
|
||||
}
|
||||
would_agent_accept_petty_bribes_against_target_trigger = yes
|
||||
}
|
||||
localization = SCHEME_AGENT_OPPORTUNITIES_T2
|
||||
}
|
||||
## Mandala Trickery Aspect
|
||||
send_option = {
|
||||
flag = mandala_trickster
|
||||
is_shown = {
|
||||
# We don't show bribes for schemes where agents will always auto-accept or else deny.
|
||||
NAND = {
|
||||
scope:scheme = { is_scheme_category = contract }
|
||||
scope:recipient = { is_courtier_of = scope:actor }
|
||||
}
|
||||
scope:actor = {
|
||||
government_has_flag = government_is_mandala
|
||||
house = { has_house_head_parameter = unlock_force_agent_using_piety }
|
||||
is_house_head = yes
|
||||
}
|
||||
}
|
||||
is_valid = {
|
||||
scope:actor.piety >= trickster_mandala_force_agent_bribe_value
|
||||
custom_tooltip = {
|
||||
text = offer_gold.tt.cannot_offer_both_bribes
|
||||
scope:piety = no
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = not_two_overrides
|
||||
trigger_if = {
|
||||
limit = { scope:hook = yes }
|
||||
NOT = {
|
||||
scope:actor = { has_strong_hook = scope:recipient }
|
||||
}
|
||||
}
|
||||
}
|
||||
would_agent_accept_petty_bribes_against_target_trigger = yes
|
||||
}
|
||||
localization = SCHEME_AGENT_MANDALA_TRICKSTER
|
||||
current_description = {
|
||||
# Triggered desc so that we don't get a weird double tooltip.
|
||||
triggered_desc = {
|
||||
trigger = { scope:actor.piety >= trickster_mandala_force_agent_bribe_value }
|
||||
desc = SCHEME_AGENT_MANDALA_TRICKSTER_VALID
|
||||
}
|
||||
}
|
||||
}
|
||||
## Gold
|
||||
send_option = {
|
||||
flag = gift
|
||||
is_shown = {
|
||||
# We don't show bribes for schemes where agents will always auto-accept or else deny.
|
||||
NAND = {
|
||||
scope:scheme = { is_scheme_category = contract }
|
||||
scope:recipient = { is_courtier_of = scope:actor }
|
||||
}
|
||||
}
|
||||
is_valid = {
|
||||
scope:actor.gold >= bribe_value
|
||||
custom_tooltip = {
|
||||
text = offer_gold.tt.cannot_offer_both_bribes
|
||||
scope:gift_significant = no
|
||||
}
|
||||
would_agent_accept_petty_bribes_against_target_trigger = yes
|
||||
}
|
||||
localization = SCHEME_AGENT_GOLD
|
||||
current_description = {
|
||||
# Triggered desc so that we don't get a weird double tooltip.
|
||||
triggered_desc = {
|
||||
trigger = { scope:actor.gold >= bribe_value }
|
||||
desc = SCHEME_AGENT_GOLD_VALID
|
||||
}
|
||||
}
|
||||
}
|
||||
## Even more gold
|
||||
send_option = {
|
||||
flag = gift_significant
|
||||
is_shown = {
|
||||
# We don't show bribes for schemes where agents will always auto-accept or else deny.
|
||||
NAND = {
|
||||
scope:scheme = { is_scheme_category = contract }
|
||||
scope:recipient = { is_courtier_of = scope:actor }
|
||||
}
|
||||
}
|
||||
is_valid = {
|
||||
scope:actor.gold >= greater_bribe_value
|
||||
custom_tooltip = {
|
||||
text = offer_gold.tt.cannot_offer_both_bribes
|
||||
scope:gift = no
|
||||
}
|
||||
would_agent_accept_petty_bribes_against_target_trigger = yes
|
||||
}
|
||||
localization = SCHEME_AGENT_GOLD_SIGNIFICANT
|
||||
current_description = {
|
||||
# Triggered desc so that we don't get a weird double tooltip.
|
||||
triggered_desc = {
|
||||
trigger = { scope:actor.gold >= greater_bribe_value }
|
||||
desc = SCHEME_AGENT_GOLD_SIGNIFICANT_VALID
|
||||
}
|
||||
}
|
||||
}
|
||||
## Offer a hook
|
||||
send_option = {
|
||||
flag = offer_hook
|
||||
is_shown = {
|
||||
# We don't show bribes for schemes where agents will always auto-accept or else deny.
|
||||
NAND = {
|
||||
scope:scheme = { is_scheme_category = contract }
|
||||
scope:recipient = { is_courtier_of = scope:actor }
|
||||
}
|
||||
}
|
||||
is_valid = {
|
||||
custom_tooltip = {
|
||||
text = offer_hook.tt.cannot_offer_both_hooks
|
||||
scope:offer_hook_strong = no
|
||||
}
|
||||
NOT = {
|
||||
scope:recipient = { has_hook = scope:actor }
|
||||
}
|
||||
would_agent_accept_petty_bribes_against_target_trigger = yes
|
||||
}
|
||||
localization = SCHEME_AGENT_HOOK
|
||||
}
|
||||
## Offer a strong hook
|
||||
send_option = {
|
||||
flag = offer_hook_strong
|
||||
is_shown = {
|
||||
scope:actor = { has_trait_with_flag = can_offer_strong_hook_to_agents }
|
||||
# We don't show bribes for schemes where agents will always auto-accept or else deny.
|
||||
NAND = {
|
||||
scope:scheme = { is_scheme_category = contract }
|
||||
scope:recipient = { is_courtier_of = scope:actor }
|
||||
}
|
||||
}
|
||||
is_valid = {
|
||||
custom_tooltip = {
|
||||
text = offer_hook.tt.cannot_offer_both_hooks
|
||||
scope:offer_hook = no
|
||||
}
|
||||
NOT = {
|
||||
scope:recipient = { has_strong_hook = scope:actor }
|
||||
}
|
||||
would_agent_accept_petty_bribes_against_target_trigger = yes
|
||||
}
|
||||
localization = SCHEME_AGENT_HOOK_STRONG
|
||||
}
|
||||
## Use hook.
|
||||
### Weak hook bonus is added through the scheme's agent join chance.
|
||||
### Strong hook is in the auto_accept block.
|
||||
send_option = {
|
||||
flag = hook
|
||||
is_valid = {
|
||||
scope:actor = { has_usable_hook = scope:recipient }
|
||||
custom_tooltip = {
|
||||
text = not_two_overrides
|
||||
trigger_if = {
|
||||
limit = {
|
||||
scope:actor = { has_strong_hook = scope:recipient }
|
||||
}
|
||||
scope:mandala_trickster = no
|
||||
}
|
||||
}
|
||||
would_agent_accept_petty_bribes_against_target_trigger = yes
|
||||
}
|
||||
localization = SCHEME_HOOK_EXPLICIT
|
||||
}
|
||||
# Rulers
|
||||
## Prestige
|
||||
send_option = {
|
||||
flag = prestige
|
||||
is_shown = {
|
||||
# We don't show bribes for schemes where agents will always auto-accept or else deny.
|
||||
NAND = {
|
||||
scope:scheme = { is_scheme_category = contract }
|
||||
scope:recipient = { is_courtier_of = scope:actor }
|
||||
}
|
||||
}
|
||||
is_valid = {
|
||||
scope:actor.prestige >= prestige_bribe_value
|
||||
would_agent_accept_petty_bribes_against_target_trigger = yes
|
||||
}
|
||||
localization = SCHEME_AGENT_PRESTIGE
|
||||
current_description = {
|
||||
# Triggered desc so that we don't get a weird double tooltip.
|
||||
triggered_desc = {
|
||||
trigger = { scope:actor.prestige >= prestige_bribe_value }
|
||||
desc = SCHEME_AGENT_PRESTIGE_VALID
|
||||
}
|
||||
}
|
||||
}
|
||||
## Influence
|
||||
send_option = {
|
||||
flag = influence
|
||||
is_shown = {
|
||||
scope:actor.top_liege ?= scope:recipient.top_liege
|
||||
scope:actor = { government_allows = administrative }
|
||||
scope:recipient = {
|
||||
OR = {
|
||||
government_allows = administrative
|
||||
host = { government_allows = administrative }
|
||||
AND = {
|
||||
highest_held_title_tier = tier_barony
|
||||
liege = { government_allows = administrative }
|
||||
}
|
||||
}
|
||||
}
|
||||
# We don't show bribes for schemes where agents will always auto-accept or else deny.
|
||||
NAND = {
|
||||
scope:scheme = { is_scheme_category = contract }
|
||||
scope:recipient = { is_courtier_of = scope:actor }
|
||||
}
|
||||
}
|
||||
is_valid = {
|
||||
scope:actor.influence >= influence_bribe_value
|
||||
would_agent_accept_petty_bribes_against_target_trigger = yes
|
||||
}
|
||||
localization = SCHEME_AGENT_INFLUENCE
|
||||
current_description = {
|
||||
# Triggered desc so that we don't get a weird double tooltip.
|
||||
triggered_desc = {
|
||||
trigger = { scope:actor.influence >= influence_bribe_value }
|
||||
desc = SCHEME_AGENT_INFLUENCE_VALID
|
||||
}
|
||||
}
|
||||
}
|
||||
## Council Rights
|
||||
send_option = {
|
||||
flag = council_rights
|
||||
is_shown = {
|
||||
would_actor_consider_dramatic_enticement_trigger = yes
|
||||
scope:recipient.liege ?= scope:actor
|
||||
# We don't show bribes for schemes where agents will always auto-accept or else deny.
|
||||
NAND = {
|
||||
scope:scheme = { is_scheme_category = contract }
|
||||
scope:recipient = { is_courtier_of = scope:actor }
|
||||
}
|
||||
}
|
||||
is_valid = {
|
||||
scope:recipient = { vassal_contract_has_modifiable_obligations = yes }
|
||||
NOT = {
|
||||
scope:recipient = { has_trait = lazy }
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = council_rights.tt.already_has_council_rights
|
||||
scope:recipient = {
|
||||
NOR = {
|
||||
vassal_contract_has_flag = can_demand_council_seat
|
||||
vassal_contract_has_flag = can_demand_kurultai_seat
|
||||
}
|
||||
}
|
||||
}
|
||||
would_agent_accept_petty_bribes_against_target_trigger = yes
|
||||
}
|
||||
localization = SCHEME_AGENT_COUNCIL_RIGHTS
|
||||
}
|
||||
## De jure county of theirs you hold.
|
||||
send_option = {
|
||||
flag = de_jure_title
|
||||
is_shown = {
|
||||
would_actor_consider_dramatic_enticement_trigger = yes
|
||||
scope:recipient = {
|
||||
is_landed = yes
|
||||
any_liege_or_above = { this = scope:actor }
|
||||
}
|
||||
# We don't show bribes for schemes where agents will always auto-accept or else deny.
|
||||
NAND = {
|
||||
scope:scheme = { is_scheme_category = contract }
|
||||
scope:recipient = { is_courtier_of = scope:actor }
|
||||
}
|
||||
}
|
||||
is_valid = {
|
||||
custom_tooltip = {
|
||||
text = de_jure_title.tt.no_suitable_county
|
||||
scope:actor = {
|
||||
any_held_title = {
|
||||
actor_has_valid_de_jure_enticement_county_trigger = yes
|
||||
any_this_title_or_de_jure_above = {
|
||||
holder ?= { this = scope:recipient }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
would_agent_accept_petty_bribes_against_target_trigger = yes
|
||||
}
|
||||
localization = SCHEME_AGENT_DE_JURE_TITLE
|
||||
}
|
||||
# Landless Chars
|
||||
## County they hold a claim to that you hold.
|
||||
send_option = {
|
||||
flag = claimed_title
|
||||
is_shown = {
|
||||
would_actor_consider_dramatic_enticement_trigger = yes
|
||||
trigger_if = {
|
||||
limit = {
|
||||
exists = scope:scheme.scheme_target_character
|
||||
}
|
||||
scope:recipient = {
|
||||
is_ruler = no
|
||||
# And you don't want them _because_ they're in your target's court.
|
||||
host != scope:scheme.scheme_target_character
|
||||
}
|
||||
}
|
||||
trigger_if = {
|
||||
limit = {
|
||||
exists = scope:scheme.scheme_target_title
|
||||
}
|
||||
scope:recipient = {
|
||||
is_ruler = no
|
||||
# And you don't want them _because_ they're in your target's court.
|
||||
host != scope:scheme.scheme_target_title.holder
|
||||
}
|
||||
}
|
||||
# We don't show bribes for schemes where agents will always auto-accept or else deny.
|
||||
NAND = {
|
||||
scope:scheme = { is_scheme_category = contract }
|
||||
scope:recipient = { is_courtier_of = scope:actor }
|
||||
}
|
||||
}
|
||||
is_valid = {
|
||||
scope:recipient = {
|
||||
trigger_if = {
|
||||
limit = {
|
||||
any_claim = { }
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = claimed_title.tt.no_valid_county
|
||||
any_claim = { actor_has_valid_claimed_enticement_county_trigger = yes }
|
||||
}
|
||||
}
|
||||
trigger_else = {
|
||||
custom_tooltip = {
|
||||
text = claimed_title.tt.no_claims
|
||||
always = no
|
||||
}
|
||||
}
|
||||
}
|
||||
would_agent_accept_petty_bribes_against_target_trigger = yes
|
||||
}
|
||||
localization = SCHEME_AGENT_CLAIMED_TITLE
|
||||
}
|
||||
# Nomad Chars
|
||||
## Use Herd
|
||||
send_option = {
|
||||
flag = herd
|
||||
is_shown = {
|
||||
# We don't show bribes for schemes where agents will always auto-accept or else deny.
|
||||
NAND = {
|
||||
scope:scheme = { is_scheme_category = contract }
|
||||
scope:recipient = { is_courtier_of = scope:actor }
|
||||
}
|
||||
scope:actor = {
|
||||
government_has_flag = government_is_nomadic
|
||||
is_ai = no
|
||||
}
|
||||
scope:recipient = {
|
||||
government_has_flag = government_is_nomadic
|
||||
exists = domicile
|
||||
}
|
||||
}
|
||||
is_valid = {
|
||||
scope:actor.domicile.herd >= herd_bribe_value
|
||||
would_agent_accept_petty_bribes_against_target_trigger = yes
|
||||
}
|
||||
localization = SCHEME_AGENT_HERD
|
||||
current_description = {
|
||||
# Triggered desc so that we don't get a weird double tooltip.
|
||||
triggered_desc = {
|
||||
trigger = { scope:actor.domicile.herd >= herd_bribe_value }
|
||||
desc = SCHEME_AGENT_HERD_VALID
|
||||
}
|
||||
}
|
||||
}
|
||||
# Cofaithists
|
||||
## Piety
|
||||
send_option = {
|
||||
flag = piety
|
||||
is_shown = {
|
||||
trigger_if = { #Mandala override
|
||||
limit = {
|
||||
scope:actor = { government_has_flag = government_is_mandala }
|
||||
}
|
||||
scope:actor = {
|
||||
house = { has_house_head_parameter = unlock_agent_piety_bribe }
|
||||
is_house_head = yes
|
||||
}
|
||||
}
|
||||
trigger_else = { #Everyone else
|
||||
## Target amenable to this argument.
|
||||
scope:recipient = {
|
||||
OR = {
|
||||
has_trait = devoted
|
||||
has_trait = zealous
|
||||
has_council_position = councillor_court_chaplain
|
||||
government_has_flag = government_is_theocracy
|
||||
}
|
||||
}
|
||||
## In-group out-group requirements.
|
||||
OR = {
|
||||
## Either we share a faith.
|
||||
scope:actor.faith = scope:recipient.faith
|
||||
## Or our faiths *really* get along.
|
||||
scope:recipient.faith = {
|
||||
faith_hostility_level = {
|
||||
target = scope:actor.faith
|
||||
value <= faith_fully_accepted_level
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
# We don't show bribes for schemes where agents will always auto-accept or else deny.
|
||||
NAND = {
|
||||
scope:scheme = { is_scheme_category = contract }
|
||||
scope:recipient = { is_courtier_of = scope:actor }
|
||||
}
|
||||
}
|
||||
is_valid = {
|
||||
scope:actor.piety >= piety_bribe_value
|
||||
trigger_if = { #Mandala override
|
||||
limit = {
|
||||
scope:actor = {
|
||||
NOT = { government_has_flag = government_is_mandala }
|
||||
}
|
||||
}
|
||||
NOT = {
|
||||
scope:recipient = { has_trait = cynical }
|
||||
}
|
||||
}
|
||||
custom_tooltip = {
|
||||
text = offer_gold.tt.cannot_offer_both_bribes
|
||||
scope:mandala_trickster = no
|
||||
}
|
||||
would_agent_accept_petty_bribes_against_target_trigger = yes
|
||||
}
|
||||
localization = SCHEME_AGENT_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
|
||||
}
|
||||
}
|
||||
}
|
||||
send_options_exclusive = no
|
||||
}
|
||||
|
|
@ -3224,7 +3224,7 @@ offer_concubine = {
|
|||
}
|
||||
}
|
||||
scope:recipient = {
|
||||
#NOT = { government_has_flag = government_is_herder }
|
||||
#NOT = { government_has_flag = government_is_true_herder }
|
||||
allowed_concubines = yes
|
||||
is_adult = yes
|
||||
}
|
||||
|
|
|
|||
2464
common/character_interactions/00_modifiy_vassal_contract.txt
Normal file
2464
common/character_interactions/00_modifiy_vassal_contract.txt
Normal file
File diff suppressed because it is too large
Load diff
8286
common/character_interactions/00_prison_interactions.txt
Normal file
8286
common/character_interactions/00_prison_interactions.txt
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -826,7 +826,7 @@ demand_conversion_vassal_ruler_interaction = {
|
|||
is_ruler = yes
|
||||
OR = {
|
||||
government_has_flag = government_is_nomadic
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -836,7 +836,7 @@ demand_conversion_vassal_ruler_interaction = {
|
|||
scope:recipient = {
|
||||
OR = {
|
||||
government_has_flag = government_is_nomadic
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@
|
|||
|
||||
is_shown = {
|
||||
scope:recipient = {
|
||||
NOT = { government_has_flag = government_is_herder } # They have their own interaction without cooldowns/maluses
|
||||
NOT = { government_has_flag = government_is_true_herder } # They have their own interaction without cooldowns/maluses
|
||||
is_landed_or_landless_administrative = yes
|
||||
# should be shown but be disabled for indirect vassals
|
||||
target_is_liege_or_above = scope:actor
|
||||
|
|
@ -667,7 +667,7 @@
|
|||
limit = {
|
||||
scope:landed_title.tier != tier_barony
|
||||
NOT = {
|
||||
scope:recipient = { government_has_flag = government_is_herder }
|
||||
scope:recipient = { government_has_flag = government_is_true_herder }
|
||||
}
|
||||
}
|
||||
scope:actor = {
|
||||
|
|
@ -677,7 +677,7 @@
|
|||
}
|
||||
if = {
|
||||
limit = {
|
||||
scope:recipient = { government_has_flag = government_is_herder }
|
||||
scope:recipient = { government_has_flag = government_is_true_herder }
|
||||
}
|
||||
scope:recipient = {
|
||||
add_opinion = {
|
||||
|
|
@ -703,7 +703,7 @@
|
|||
limit = {
|
||||
scope:actor = { has_realm_law_flag = vassal_refusal_is_treason }
|
||||
NOT = {
|
||||
scope:recipient = { government_has_flag = government_is_herder }
|
||||
scope:recipient = { government_has_flag = government_is_true_herder }
|
||||
}
|
||||
}
|
||||
scope:actor = {
|
||||
|
|
@ -828,7 +828,7 @@
|
|||
|
||||
modifier = {
|
||||
scope:recipient = {
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
add = 40
|
||||
desc = MIGRATION_INTERACTION_HERDER
|
||||
|
|
|
|||
2838
common/character_interactions/00_scheme_interactions.txt
Normal file
2838
common/character_interactions/00_scheme_interactions.txt
Normal file
File diff suppressed because it is too large
Load diff
948
common/character_interactions/00_tribal_interactions.txt
Normal file
948
common/character_interactions/00_tribal_interactions.txt
Normal file
|
|
@ -0,0 +1,948 @@
|
|||
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
|
||||
}
|
||||
}
|
||||
|
||||
6068
common/character_interactions/00_tributary_interactions.txt
Normal file
6068
common/character_interactions/00_tributary_interactions.txt
Normal file
File diff suppressed because it is too large
Load diff
4033
common/character_interactions/00_vassal_interactions.txt
Normal file
4033
common/character_interactions/00_vassal_interactions.txt
Normal file
File diff suppressed because it is too large
Load diff
2372
common/character_interactions/00_war.txt
Normal file
2372
common/character_interactions/00_war.txt
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -3189,7 +3189,7 @@ contract_assistance_interaction = {
|
|||
is_shown = {
|
||||
# Actor is Involved in Struggle
|
||||
scope:actor = {
|
||||
NOT = { government_has_flag = government_is_herder }
|
||||
NOT = { government_has_flag = government_is_true_herder }
|
||||
OR = {
|
||||
any_character_struggle = {
|
||||
involvement = involved
|
||||
|
|
|
|||
4988
common/character_interactions/05_bp2_interactions.txt
Normal file
4988
common/character_interactions/05_bp2_interactions.txt
Normal file
File diff suppressed because it is too large
Load diff
|
|
@ -179,7 +179,7 @@
|
|||
faith = scope:actor.faith
|
||||
faith = { has_doctrine = doctrine_pluralism_pluralistic }
|
||||
government_has_flag = government_is_nomadic
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -218,7 +218,7 @@
|
|||
faith = scope:actor.faith
|
||||
scope:actor.faith = { has_doctrine = doctrine_pluralism_pluralistic }
|
||||
government_has_flag = government_is_nomadic
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
faith = { has_doctrine = doctrine_pluralism_pluralistic }
|
||||
}
|
||||
|
|
@ -257,7 +257,7 @@
|
|||
NOR = {
|
||||
faith = scope:actor.faith
|
||||
government_has_flag = government_is_nomadic
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
scope:actor.faith = { has_doctrine = doctrine_pluralism_pluralistic }
|
||||
faith = { has_doctrine = doctrine_pluralism_pluralistic }
|
||||
|
|
@ -1199,7 +1199,7 @@
|
|||
desc = CONFEDERATION_HERDER_REASON
|
||||
trigger = {
|
||||
scope:recipient = {
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1778,7 +1778,7 @@ promote_divergent_or_hybrid_culture_interaction = {
|
|||
scope:recipient = {
|
||||
OR = {
|
||||
government_has_flag = government_is_nomadic
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1886,7 +1886,7 @@ promote_divergent_or_hybrid_culture_interaction = {
|
|||
desc = CONFEDERATION_HERDER_REASON
|
||||
trigger = {
|
||||
scope:recipient = {
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2161,7 +2161,7 @@ inspire_conversion_interaction = {
|
|||
scope:recipient = {
|
||||
OR = {
|
||||
government_has_flag = government_is_nomadic
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2270,7 +2270,7 @@ inspire_conversion_interaction = {
|
|||
desc = CONFEDERATION_HERDER_REASON
|
||||
trigger = {
|
||||
scope:recipient = {
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2828,7 +2828,7 @@ migration_interaction = {
|
|||
scope:recipient = {
|
||||
NOR = {
|
||||
government_has_flag = government_is_nomadic
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2847,7 +2847,7 @@ migration_interaction = {
|
|||
}
|
||||
modifier = { # Herders move away immediately
|
||||
trigger = {
|
||||
scope:recipient = { government_has_flag = government_is_herder }
|
||||
scope:recipient = { government_has_flag = government_is_true_herder }
|
||||
}
|
||||
add = 150
|
||||
desc = MIGRATION_INTERACTION_HERDER
|
||||
|
|
@ -3109,7 +3109,7 @@ migration_interaction = {
|
|||
desc = JUST_SETTLED_REASON
|
||||
scope:recipient = {
|
||||
is_tributary = yes
|
||||
NOT = { government_has_flag = government_is_herder }
|
||||
NOT = { government_has_flag = government_is_true_herder }
|
||||
capital_county = {
|
||||
title_held_years < 3
|
||||
}
|
||||
|
|
@ -3214,7 +3214,7 @@ migration_interaction = {
|
|||
|
||||
# The recipient is a Herder
|
||||
modifier = {
|
||||
scope:recipient = { government_has_flag = government_is_herder }
|
||||
scope:recipient = { government_has_flag = government_is_true_herder }
|
||||
add = 10
|
||||
}
|
||||
|
||||
|
|
@ -4859,7 +4859,7 @@ mpo_ask_for_herd_interaction = {
|
|||
}
|
||||
scope:recipient = {
|
||||
NOT = {
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -5033,7 +5033,7 @@ mpo_ask_for_herd_interaction = {
|
|||
if = {
|
||||
limit = { #herders cannot give you more herd
|
||||
scope:recipient = {
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
scope:actor = {
|
||||
|
|
@ -7033,7 +7033,7 @@ feudalize_nomadic_holding_interaction = {
|
|||
this = scope:recipient
|
||||
NOR = {
|
||||
government_has_flag = government_is_nomadic
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -7289,7 +7289,7 @@ feudalize_herder_holding_interaction = {
|
|||
this = scope:recipient
|
||||
NOR = {
|
||||
government_has_flag = government_is_nomadic
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -8339,7 +8339,7 @@ mpo_offer_submission_or_ruin = {
|
|||
|
||||
#HERDER
|
||||
modifier = {
|
||||
scope:recipient = { government_has_flag = government_is_herder }
|
||||
scope:recipient = { government_has_flag = government_is_true_herder }
|
||||
add = 10000
|
||||
desc = HERDER_REASON
|
||||
}
|
||||
|
|
@ -9261,7 +9261,7 @@ mpo_offer_submission_or_ruin = {
|
|||
add = -50
|
||||
scope:recipient = {
|
||||
NOT = {
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
scope:send_tribute = yes
|
||||
|
|
@ -9497,7 +9497,7 @@ mpo_offer_submission_or_ruin = {
|
|||
is_shown = {
|
||||
scope:recipient = {
|
||||
NOT = {
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -9511,7 +9511,7 @@ mpo_offer_submission_or_ruin = {
|
|||
scope:recipient = {
|
||||
OR = {
|
||||
highest_held_title_tier < tier_duchy
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -9524,7 +9524,7 @@ mpo_offer_submission_or_ruin = {
|
|||
is_shown = {
|
||||
scope:recipient = {
|
||||
NOT = {
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
highest_held_title_tier >= tier_duchy
|
||||
}
|
||||
|
|
@ -9543,7 +9543,7 @@ mpo_offer_submission_or_ruin = {
|
|||
is_shown = {
|
||||
scope:recipient = {
|
||||
NOR = {
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
government_has_flag = government_is_tribal
|
||||
government_has_flag = government_is_nomadic
|
||||
}
|
||||
|
|
@ -9565,7 +9565,7 @@ mpo_offer_submission_or_ruin = {
|
|||
is_shown = {
|
||||
scope:recipient = {
|
||||
NOT = {
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -10264,7 +10264,7 @@ join_confederation_interaction = {
|
|||
faith = scope:actor.faith
|
||||
faith = { has_doctrine = doctrine_pluralism_pluralistic }
|
||||
government_has_flag = government_is_nomadic
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -10303,7 +10303,7 @@ join_confederation_interaction = {
|
|||
faith = scope:actor.faith
|
||||
scope:actor.faith = { has_doctrine = doctrine_pluralism_pluralistic }
|
||||
government_has_flag = government_is_nomadic
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
faith = { has_doctrine = doctrine_pluralism_pluralistic }
|
||||
}
|
||||
|
|
@ -10342,7 +10342,7 @@ join_confederation_interaction = {
|
|||
NOR = {
|
||||
faith = scope:actor.faith
|
||||
government_has_flag = government_is_nomadic
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
scope:actor.faith = { has_doctrine = doctrine_pluralism_pluralistic }
|
||||
faith = { has_doctrine = doctrine_pluralism_pluralistic }
|
||||
|
|
|
|||
|
|
@ -0,0 +1,911 @@
|
|||
|
||||
#Tribute Missions - a set of hidden Character Interactions, triggered by the Pay Tribute decision - what do you send?
|
||||
|
||||
tribute_mission_gold_interaction = {
|
||||
hidden = yes
|
||||
|
||||
popup_on_receive = yes
|
||||
pause_on_receive = yes
|
||||
|
||||
ai_min_reply_days = 0
|
||||
ai_max_reply_days = 0
|
||||
|
||||
#Small Tribute
|
||||
send_option = {
|
||||
flag = small_gold_tribute
|
||||
is_valid = {
|
||||
scope:actor = {
|
||||
gold >= {
|
||||
value = small_gold_tribute_value
|
||||
if = {
|
||||
limit = { has_variable = offered_gold_value }
|
||||
add = var:offered_gold_value
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#Adequate Tribute
|
||||
send_option = {
|
||||
flag = adequate_gold_tribute
|
||||
is_valid = {
|
||||
scope:actor = {
|
||||
gold >= {
|
||||
value = adequate_gold_tribute_value
|
||||
if = {
|
||||
limit = { has_variable = offered_gold_value }
|
||||
add = var:offered_gold_value
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#Excessive Tribute
|
||||
send_option = {
|
||||
flag = excessive_gold_tribute
|
||||
is_valid = {
|
||||
scope:actor = {
|
||||
gold >= {
|
||||
value = excessive_gold_tribute_value
|
||||
if = {
|
||||
limit = { has_variable = offered_gold_value }
|
||||
add = var:offered_gold_value
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
on_accept = {
|
||||
scope:actor = {
|
||||
#Gold
|
||||
switch = {
|
||||
trigger = yes
|
||||
scope:small_gold_tribute ?= {
|
||||
#Define how much gold it is
|
||||
set_variable = {
|
||||
name = tribute_mission_type
|
||||
value = flag:small_gold_tribute
|
||||
}
|
||||
set_or_change_offered_tribute_value_effect = {
|
||||
TYPE = gold
|
||||
VALUE = small_gold_tribute_value
|
||||
}
|
||||
|
||||
custom_tooltip = tribute_mission_gold_interaction.small_reserved_gold
|
||||
}
|
||||
scope:adequate_gold_tribute ?= {
|
||||
#Define how much gold it is
|
||||
set_variable = {
|
||||
name = tribute_mission_type
|
||||
value = flag:adequate_gold_tribute
|
||||
}
|
||||
set_or_change_offered_tribute_value_effect = {
|
||||
TYPE = gold
|
||||
VALUE = adequate_gold_tribute_value
|
||||
}
|
||||
|
||||
custom_tooltip = tribute_mission_gold_interaction.adequate_reserved_gold
|
||||
}
|
||||
scope:excessive_gold_tribute ?= {
|
||||
#Define how much gold it is
|
||||
set_variable = {
|
||||
name = tribute_mission_type
|
||||
value = flag:excessive_gold_tribute
|
||||
}
|
||||
set_or_change_offered_tribute_value_effect = {
|
||||
TYPE = gold
|
||||
VALUE = excessive_gold_tribute_value
|
||||
}
|
||||
|
||||
custom_tooltip = tribute_mission_gold_interaction.excessive_reserved_gold
|
||||
}
|
||||
}
|
||||
|
||||
#Some Mandala piety
|
||||
show_as_tooltip = { tribute_mission_mandala_piety_effect = yes }
|
||||
|
||||
#Travel
|
||||
tribute_mission_set_up_tribute_travel_effect = yes
|
||||
}
|
||||
}
|
||||
|
||||
auto_accept = yes
|
||||
|
||||
ai_will_do = {
|
||||
base = 50
|
||||
}
|
||||
}
|
||||
|
||||
tribute_mission_herd_interaction = {
|
||||
hidden = yes
|
||||
|
||||
popup_on_receive = yes
|
||||
pause_on_receive = yes
|
||||
|
||||
ai_min_reply_days = 0
|
||||
ai_max_reply_days = 0
|
||||
|
||||
#Small Tribute
|
||||
send_option = {
|
||||
flag = small_herd_tribute
|
||||
|
||||
is_valid = {
|
||||
scope:actor = {
|
||||
domicile ?= {
|
||||
herd >= {
|
||||
value = {
|
||||
add = small_herd_tribute_value
|
||||
if = {
|
||||
limit = { has_variable = offered_herd_value }
|
||||
add = var:offered_herd_value
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
#Adequate Tribute
|
||||
send_option = {
|
||||
flag = adequate_herd_tribute
|
||||
|
||||
is_valid = {
|
||||
scope:actor = {
|
||||
domicile ?= {
|
||||
herd >= {
|
||||
value = {
|
||||
add = adequate_herd_tribute_value
|
||||
if = {
|
||||
limit = { has_variable = offered_herd_value }
|
||||
add = var:offered_herd_value
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
#Excessive Tribute
|
||||
send_option = {
|
||||
flag = excessive_herd_tribute
|
||||
|
||||
is_valid = {
|
||||
scope:actor = {
|
||||
domicile ?= {
|
||||
herd >= {
|
||||
value = {
|
||||
add = excessive_herd_tribute_value
|
||||
if = {
|
||||
limit = { has_variable = offered_herd_value }
|
||||
add = var:offered_herd_value
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
on_accept = {
|
||||
scope:actor = {
|
||||
#Herd
|
||||
switch = {
|
||||
trigger = yes
|
||||
scope:small_herd_tribute ?= {
|
||||
#Define how much herd it is
|
||||
set_variable = {
|
||||
name = tribute_mission_type
|
||||
value = flag:small_herd_tribute
|
||||
}
|
||||
#set_or_change_offered_tribute_value_effect = { #Herd value scale by era shenanigans here
|
||||
# TYPE = herd
|
||||
# VALUE = small_herd_tribute_value
|
||||
#}
|
||||
set_variable = {
|
||||
name = offered_herd_value
|
||||
value = domicile.small_herd_tribute_value
|
||||
}
|
||||
|
||||
custom_tooltip = tribute_mission_herd_interaction.small_reserved_herd
|
||||
}
|
||||
scope:adequate_herd_tribute ?= {
|
||||
#Define how much herd it is
|
||||
set_variable = {
|
||||
name = tribute_mission_type
|
||||
value = flag:adequate_herd_tribute
|
||||
}
|
||||
#set_or_change_offered_tribute_value_effect = {
|
||||
# TYPE = herd
|
||||
# VALUE = adequate_herd_tribute_value
|
||||
#}
|
||||
set_variable = {
|
||||
name = offered_herd_value
|
||||
value = domicile.adequate_herd_tribute_value
|
||||
}
|
||||
|
||||
custom_tooltip = tribute_mission_herd_interaction.adequate_reserved_herd
|
||||
}
|
||||
scope:excessive_herd_tribute ?= {
|
||||
#Define how much herd it is
|
||||
set_variable = {
|
||||
name = tribute_mission_type
|
||||
value = flag:excessive_herd_tribute
|
||||
}
|
||||
#set_or_change_offered_tribute_value_effect = {
|
||||
# TYPE = herd
|
||||
# VALUE = excessive_herd_tribute_value
|
||||
#}
|
||||
set_variable = {
|
||||
name = offered_herd_value
|
||||
value = domicile.excessive_herd_tribute_value
|
||||
}
|
||||
|
||||
custom_tooltip = tribute_mission_herd_interaction.excessive_reserved_herd
|
||||
}
|
||||
}
|
||||
|
||||
#Some Mandala piety
|
||||
show_as_tooltip = { tribute_mission_mandala_piety_effect = yes }
|
||||
|
||||
#Travel
|
||||
tribute_mission_set_up_tribute_travel_effect = yes
|
||||
}
|
||||
}
|
||||
|
||||
auto_accept = yes
|
||||
|
||||
ai_will_do = {
|
||||
base = 50
|
||||
}
|
||||
}
|
||||
|
||||
tribute_mission_artifact_interaction = {
|
||||
hidden = yes
|
||||
|
||||
target_type = artifact
|
||||
target_filter = actor_artifacts
|
||||
|
||||
ai_min_reply_days = 0
|
||||
ai_max_reply_days = 0
|
||||
|
||||
can_be_picked_artifact = {
|
||||
scope:target = {
|
||||
is_suitable_artifact_tribute_trigger = yes
|
||||
}
|
||||
}
|
||||
|
||||
on_accept = {
|
||||
scope:target = {
|
||||
set_variable = is_tribute_mission_artifact
|
||||
}
|
||||
scope:actor = {
|
||||
#Save the Artifact
|
||||
set_variable = {
|
||||
name = tribute_mission_type
|
||||
value = flag:artifact_tribute
|
||||
}
|
||||
set_variable = {
|
||||
name = offered_artifact
|
||||
value = scope:target
|
||||
}
|
||||
custom_tooltip = tribute_mission_artifact_interaction.tooltip
|
||||
#Some Mandala piety
|
||||
show_as_tooltip = { tribute_mission_mandala_piety_effect = yes }
|
||||
|
||||
#Travel
|
||||
tribute_mission_set_up_tribute_travel_effect = yes
|
||||
}
|
||||
}
|
||||
|
||||
auto_accept = {
|
||||
OR = {
|
||||
scope:actor = { subject_standing >= 0 }
|
||||
scope:recipient = { is_ai = no }
|
||||
}
|
||||
}
|
||||
|
||||
ai_accept = {
|
||||
base = 0
|
||||
modifier = {
|
||||
add = 100
|
||||
desc = ARTIFACT_REASON
|
||||
}
|
||||
modifier = {
|
||||
add = -80
|
||||
NOT = {
|
||||
can_equip_artifact = scope:target
|
||||
}
|
||||
desc = ARTIFACT_NOT_EQUIPPABLE_REASON
|
||||
}
|
||||
modifier = {
|
||||
add = -40
|
||||
NOT = {
|
||||
can_benefit_from_artifact = scope:target
|
||||
}
|
||||
desc = ARTIFACT_NOT_BENEFIT_REASON
|
||||
}
|
||||
modifier = {
|
||||
add = -500
|
||||
scope:target = {
|
||||
has_variable = unwanted_artifact
|
||||
}
|
||||
#No harm in reusing the wording
|
||||
desc = ARTIFACT_CURSED_REASON
|
||||
}
|
||||
modifier = {
|
||||
add = -1000
|
||||
scope:target = {
|
||||
has_variable = cursed_artifact
|
||||
}
|
||||
desc = ARTIFACT_CURSED_REASON
|
||||
}
|
||||
modifier = {
|
||||
add = 100
|
||||
exists = scope:target.var:banner_dynasty
|
||||
exists = scope:recipient.dynasty
|
||||
scope:recipient = scope:target.var:banner_dynasty.dynast
|
||||
desc = ARTIFACT_DYNASTY_BANNER_REASON
|
||||
}
|
||||
modifier = {
|
||||
add = -200
|
||||
OR = {
|
||||
exists = scope:target.var:banner_dynasty
|
||||
exists = scope:target.var:banner_house
|
||||
}
|
||||
exists = scope:recipient.house
|
||||
trigger_if = {
|
||||
limit = { exists = scope:target.var:banner_dynasty }
|
||||
scope:target.var:banner_dynasty != scope:recipient.dynasty
|
||||
}
|
||||
trigger_else = {
|
||||
scope:target.var:banner_house != scope:recipient.house
|
||||
}
|
||||
desc = ARTIFACT_USELESS_BANNER_REASON
|
||||
}
|
||||
}
|
||||
|
||||
ai_will_do = {
|
||||
base = 50
|
||||
}
|
||||
}
|
||||
|
||||
tribute_mission_concubine_interaction = {
|
||||
hidden = yes
|
||||
|
||||
populate_recipient_list = {
|
||||
scope:actor = {
|
||||
every_courtier_or_guest = {
|
||||
limit = {
|
||||
can_be_offered_as_concubine_to_character_trigger = {
|
||||
GIVER = scope:actor
|
||||
CHARACTER = scope:actor.overlord
|
||||
}
|
||||
has_any_disease_trigger = no
|
||||
has_easily_mocked_physical_attribute_trigger = no
|
||||
}
|
||||
add_to_list = characters
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ai_min_reply_days = 0
|
||||
ai_max_reply_days = 0
|
||||
|
||||
can_be_picked = {
|
||||
is_adult = yes
|
||||
}
|
||||
|
||||
auto_accept = {
|
||||
OR = {
|
||||
scope:actor = { subject_standing >= 0 }
|
||||
scope:recipient = { is_ai = no }
|
||||
}
|
||||
}
|
||||
|
||||
on_accept = {
|
||||
scope:actor = {
|
||||
#Save the concubine
|
||||
set_variable = {
|
||||
name = tribute_mission_type
|
||||
value = flag:concubine_tribute
|
||||
}
|
||||
set_variable = {
|
||||
name = offered_concubine
|
||||
value = scope:secondary_recipient
|
||||
}
|
||||
scope:secondary_recipient = {
|
||||
add_character_flag = {
|
||||
flag = cannot_be_diarch # just enough to make sure they don't succeed to the diarchy while en route
|
||||
years = 2
|
||||
}
|
||||
}
|
||||
custom_tooltip = tribute_mission_concubine_interaction.tooltip
|
||||
#Some Mandala piety
|
||||
show_as_tooltip = { tribute_mission_mandala_piety_effect = yes }
|
||||
|
||||
#Travel
|
||||
tribute_mission_set_up_tribute_travel_effect = yes
|
||||
}
|
||||
}
|
||||
|
||||
ai_accept = {
|
||||
base = 50
|
||||
|
||||
modifier = {
|
||||
add = {
|
||||
value = 50
|
||||
multiply = scope:secondary_recipient.num_of_good_genetic_traits
|
||||
}
|
||||
scope:secondary_recipient = {
|
||||
num_of_good_genetic_traits > 0
|
||||
trigger_if = {
|
||||
limit = {
|
||||
is_female = yes
|
||||
}
|
||||
is_aging_character = no
|
||||
}
|
||||
}
|
||||
desc = AI_POSITIVE_TRAIT_REASON
|
||||
}
|
||||
|
||||
modifier = {
|
||||
add = {
|
||||
value = 50
|
||||
}
|
||||
scope:secondary_recipient = {
|
||||
is_lowborn = no
|
||||
trigger_if = {
|
||||
limit = {
|
||||
is_female = yes
|
||||
}
|
||||
is_aging_character = no
|
||||
}
|
||||
}
|
||||
desc = AI_DYNASTY_PRESTIGE_REASON_NOBLE
|
||||
}
|
||||
|
||||
modifier = {
|
||||
add = {
|
||||
value = -50
|
||||
multiply = scope:secondary_recipient.num_of_bad_genetic_traits
|
||||
}
|
||||
scope:secondary_recipient = {
|
||||
OR = {
|
||||
num_of_bad_genetic_traits > 0
|
||||
}
|
||||
trigger_if = {
|
||||
limit = {
|
||||
is_female = yes
|
||||
}
|
||||
is_aging_character = no
|
||||
}
|
||||
}
|
||||
desc = AI_NEGATIVE_TRAIT_REASON
|
||||
}
|
||||
|
||||
modifier = {
|
||||
add = {
|
||||
value = -50
|
||||
}
|
||||
scope:secondary_recipient = {
|
||||
is_lowborn = yes
|
||||
num_of_good_genetic_traits = 0
|
||||
trigger_if = {
|
||||
limit = {
|
||||
is_female = yes
|
||||
}
|
||||
is_aging_character = no
|
||||
}
|
||||
}
|
||||
desc = AI_DYNASTY_PRESTIGE_REASON_LOWBORN_NO_POSITIVE_TRAIT
|
||||
}
|
||||
|
||||
opinion_modifier = { # Opinion of you
|
||||
who = scope:recipient
|
||||
opinion_target = scope:actor
|
||||
multiplier = 1.0
|
||||
desc = AI_OPINION_REASON
|
||||
}
|
||||
|
||||
opinion_modifier = { # Opinion of concubine
|
||||
who = scope:recipient
|
||||
opinion_target = scope:secondary_recipient
|
||||
multiplier = 0.25
|
||||
desc = AI_OPINION_REASON
|
||||
}
|
||||
|
||||
compare_modifier = { # Recipient is reluctant to marry old women (procreation is a key factor)
|
||||
trigger = {
|
||||
scope:secondary_recipient = {
|
||||
is_young_character = no
|
||||
is_female = yes
|
||||
}
|
||||
}
|
||||
target = scope:secondary_recipient
|
||||
value = age
|
||||
multiplier = -5.0
|
||||
step = 1
|
||||
offset = -29
|
||||
desc = MARRY_AGE
|
||||
}
|
||||
|
||||
modifier = { # A Recipient is unwilling to take a same-sex concubine if their faith doesn't support it
|
||||
add = -1000
|
||||
|
||||
scope:recipient = {
|
||||
allowed_to_marry_same_sex_trigger = no
|
||||
sex_same_as = scope:secondary_recipient
|
||||
}
|
||||
desc = SAME_SEX_MARRIAGE_FAITH_REASON_RECIPIENT
|
||||
}
|
||||
|
||||
modifier = { # Unwilling if they don't have a batch of kids and opposite sex consorts to handle that situation
|
||||
add = -200
|
||||
scope:recipient = {
|
||||
allowed_to_marry_same_sex_trigger = yes
|
||||
sex_same_as = scope:secondary_recipient
|
||||
trigger_if = {
|
||||
limit = {
|
||||
NOT = {
|
||||
any_consort = {
|
||||
can_have_children_with = { CHARACTER = scope:recipient }
|
||||
fertility > 0.1
|
||||
}
|
||||
}
|
||||
}
|
||||
any_child = { is_player_heir_of = root }
|
||||
}
|
||||
trigger_else = {
|
||||
always = no
|
||||
}
|
||||
}
|
||||
desc = AI_NO_FERTILITY_REASON
|
||||
}
|
||||
|
||||
modifier = {
|
||||
add = 50
|
||||
scope:recipient = {
|
||||
is_attracted_to_gender_of = scope:secondary_recipient
|
||||
}
|
||||
desc = AI_ATTRACTION_REASON
|
||||
}
|
||||
|
||||
#More/Less likely based on difference in rank between actor and recipient
|
||||
modifier = {
|
||||
add = 20
|
||||
scope:actor = {
|
||||
tier_difference = {
|
||||
target = scope:recipient
|
||||
value = 1
|
||||
}
|
||||
}
|
||||
desc = AI_RANK_DIFF
|
||||
}
|
||||
modifier = {
|
||||
add = 30
|
||||
scope:actor = {
|
||||
tier_difference = {
|
||||
target = scope:recipient
|
||||
value = 2
|
||||
}
|
||||
}
|
||||
desc = AI_RANK_DIFF
|
||||
}
|
||||
modifier = {
|
||||
add = 40
|
||||
scope:actor = {
|
||||
tier_difference = {
|
||||
target = scope:recipient
|
||||
value = 3
|
||||
}
|
||||
}
|
||||
desc = AI_RANK_DIFF
|
||||
}
|
||||
modifier = {
|
||||
add = 50
|
||||
scope:actor = {
|
||||
tier_difference = {
|
||||
target = scope:recipient
|
||||
value = 4
|
||||
}
|
||||
}
|
||||
desc = AI_RANK_DIFF
|
||||
}
|
||||
modifier = {
|
||||
add = 60
|
||||
scope:actor = {
|
||||
tier_difference = {
|
||||
target = scope:recipient
|
||||
value = 5
|
||||
}
|
||||
}
|
||||
desc = AI_RANK_DIFF
|
||||
}
|
||||
modifier = {
|
||||
add = -20
|
||||
scope:actor = {
|
||||
tier_difference = {
|
||||
target = scope:recipient
|
||||
value = -1
|
||||
}
|
||||
}
|
||||
desc = AI_RANK_DIFF
|
||||
}
|
||||
modifier = {
|
||||
add = -30
|
||||
scope:actor = {
|
||||
tier_difference = {
|
||||
target = scope:recipient
|
||||
value = -2
|
||||
}
|
||||
}
|
||||
desc = AI_RANK_DIFF
|
||||
}
|
||||
modifier = {
|
||||
add = -40
|
||||
scope:actor = {
|
||||
tier_difference = {
|
||||
target = scope:recipient
|
||||
value = -3
|
||||
}
|
||||
}
|
||||
desc = AI_RANK_DIFF
|
||||
}
|
||||
modifier = {
|
||||
add = -50
|
||||
scope:actor = {
|
||||
tier_difference = {
|
||||
target = scope:recipient
|
||||
value = -4
|
||||
}
|
||||
}
|
||||
desc = AI_RANK_DIFF
|
||||
}
|
||||
modifier = {
|
||||
add = -60
|
||||
scope:actor = {
|
||||
tier_difference = {
|
||||
target = scope:recipient
|
||||
value = -5
|
||||
}
|
||||
}
|
||||
desc = AI_RANK_DIFF
|
||||
}
|
||||
modifier = {
|
||||
add = -250
|
||||
scope:secondary_recipient = {
|
||||
has_std_trigger = yes
|
||||
}
|
||||
desc = AI_STD_REASON
|
||||
}
|
||||
modifier = {
|
||||
add = -250
|
||||
scope:secondary_recipient = {
|
||||
has_epidemic_disease_trigger = yes
|
||||
}
|
||||
desc = AI_CONTAGIOUS_REASON
|
||||
}
|
||||
modifier = {
|
||||
add = -5000
|
||||
scope:secondary_recipient = {
|
||||
fertility <= 0
|
||||
}
|
||||
desc = AI_FERTILITY_REASON
|
||||
}
|
||||
|
||||
# Unity modifiers
|
||||
evaluate_action_increasing_house_unity = {
|
||||
VALUE = 100
|
||||
}
|
||||
}
|
||||
|
||||
ai_will_do = {
|
||||
base = 50
|
||||
}
|
||||
}
|
||||
|
||||
tribute_mission_eunuch_interaction = {
|
||||
hidden = yes
|
||||
|
||||
populate_recipient_list = {
|
||||
scope:actor = {
|
||||
every_courtier = {
|
||||
limit = {
|
||||
tribute_mission_is_available_eunuch_trigger = yes
|
||||
NAND = {
|
||||
faith = { has_doctrine = doctrine_theocracy_temporal }
|
||||
this = scope:actor.cp:councillor_court_chaplain
|
||||
}
|
||||
}
|
||||
add_to_list = characters
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ai_min_reply_days = 0
|
||||
ai_max_reply_days = 0
|
||||
|
||||
can_be_picked = {
|
||||
has_any_disease_trigger = no
|
||||
}
|
||||
|
||||
auto_accept = {
|
||||
OR = {
|
||||
scope:actor = { subject_standing >= 0 }
|
||||
scope:recipient = { is_ai = no }
|
||||
}
|
||||
}
|
||||
|
||||
on_accept = {
|
||||
scope:actor = {
|
||||
#Save the eunuch
|
||||
set_variable = {
|
||||
name = tribute_mission_type
|
||||
value = flag:eunuch_tribute
|
||||
}
|
||||
set_variable = {
|
||||
name = offered_eunuch
|
||||
value = scope:secondary_recipient
|
||||
}
|
||||
custom_tooltip = tribute_mission_eunuch_interaction.tooltip
|
||||
stress_impact = {
|
||||
compassionate = medium_stress_impact_gain
|
||||
sadistic = minor_stress_impact_loss
|
||||
}
|
||||
#Some Mandala piety
|
||||
show_as_tooltip = { tribute_mission_mandala_piety_effect = yes }
|
||||
|
||||
#Travel
|
||||
tribute_mission_set_up_tribute_travel_effect = yes
|
||||
}
|
||||
scope:secondary_recipient = {
|
||||
if = {
|
||||
limit = { is_eunuch_trigger = no }
|
||||
add_opinion = {
|
||||
modifier = slated_for_castration_opinion
|
||||
target = scope:actor
|
||||
opinion = -50
|
||||
}
|
||||
custom_tooltip = tribute_mission_eunuch_interaction.slated_for_castration
|
||||
#Escape or no escape?
|
||||
hidden_effect = {
|
||||
random_list = {
|
||||
30 = {
|
||||
modifier = {
|
||||
has_trait = brave
|
||||
add = 10
|
||||
}
|
||||
modifier = {
|
||||
has_trait = wrathful
|
||||
add = 10
|
||||
}
|
||||
modifier = {
|
||||
add = prowess
|
||||
}
|
||||
#I'm outta here!
|
||||
add_character_flag = tribute_mission_attempt_escape
|
||||
scope:actor = {
|
||||
trigger_event = {
|
||||
id = tribute_mission.9760
|
||||
days = { 10 20 }
|
||||
}
|
||||
}
|
||||
}
|
||||
70 = {
|
||||
modifier = {
|
||||
has_trait = craven
|
||||
add = 10
|
||||
}
|
||||
modifier = {
|
||||
has_trait = lazy
|
||||
add = 10
|
||||
}
|
||||
#No escape
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
ai_accept = {
|
||||
base = -50
|
||||
######### OPINION OF TRIBUTARY
|
||||
opinion_modifier = {
|
||||
who = scope:recipient
|
||||
opinion_target = scope:actor
|
||||
multiplier = 0.5
|
||||
desc = AI_OPINION_REASON
|
||||
}
|
||||
######### OPINION OF EUNUCH
|
||||
opinion_modifier = {
|
||||
who = scope:recipient
|
||||
opinion_target = scope:secondary_recipient
|
||||
multiplier = 0.5
|
||||
desc = AI_OPINION_REASON
|
||||
}
|
||||
######## EUNUCH AGE
|
||||
modifier = {
|
||||
add = {
|
||||
value = 50
|
||||
subtract = scope:secondary_recipient.age
|
||||
}
|
||||
desc = AI_REASON_EUNUCH_AGE
|
||||
}
|
||||
######## EUNUCH SKILLS
|
||||
modifier = {
|
||||
add = {
|
||||
add = scope:secondary_recipient.diplomacy
|
||||
add = scope:secondary_recipient.intrigue
|
||||
add = scope:secondary_recipient.stewardship
|
||||
add = scope:secondary_recipient.martial
|
||||
add = scope:secondary_recipient.learning
|
||||
}
|
||||
desc = AI_REASON_EUNUCH_SKILLS
|
||||
}
|
||||
######## EUNUCH SKILLS
|
||||
modifier = {
|
||||
scope:secondary_recipient = {
|
||||
has_trait = beardless_eunuch
|
||||
}
|
||||
add = 25
|
||||
desc = AI_REASON_BEARDLESS_EUNUCH
|
||||
}
|
||||
}
|
||||
|
||||
ai_will_do = {
|
||||
base = 50
|
||||
}
|
||||
}
|
||||
|
||||
#Player only
|
||||
tribute_mission_bunga_mas_interaction = {
|
||||
hidden = yes
|
||||
|
||||
target_type = artifact
|
||||
target_filter = actor_artifacts
|
||||
|
||||
ai_min_reply_days = 0
|
||||
ai_max_reply_days = 0
|
||||
|
||||
can_be_picked_artifact = {
|
||||
scope:target = { var:bunga_mas_created_by ?= scope:actor }
|
||||
}
|
||||
|
||||
on_accept = {
|
||||
scope:target = {
|
||||
set_variable = is_tribute_mission_artifact
|
||||
}
|
||||
scope:actor = {
|
||||
#Save the Artifact
|
||||
set_variable = {
|
||||
name = tribute_mission_type
|
||||
value = flag:bunga_mas_tribute
|
||||
}
|
||||
set_variable = {
|
||||
name = offered_bunga_mas
|
||||
value = scope:target
|
||||
}
|
||||
custom_tooltip = tribute_mission_bunga_mas_interaction.tooltip
|
||||
#Some Mandala piety
|
||||
show_as_tooltip = { tribute_mission_mandala_piety_effect = yes }
|
||||
|
||||
#Travel
|
||||
tribute_mission_set_up_tribute_travel_effect = yes
|
||||
}
|
||||
}
|
||||
|
||||
auto_accept = {
|
||||
always = yes
|
||||
}
|
||||
|
||||
ai_accept = {
|
||||
base = 100
|
||||
}
|
||||
|
||||
ai_will_do = {
|
||||
base = 50
|
||||
}
|
||||
}
|
||||
|
|
@ -30,7 +30,7 @@ can_marry_common_trigger = {
|
|||
}
|
||||
is_leading_faction_type = peasant_faction
|
||||
is_leading_faction_type = populist_faction
|
||||
government_has_flag = government_is_herder
|
||||
government_has_flag = government_is_true_herder
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
BIN
gfx/map/surround_map/surround_mask.dds
(Stored with Git LFS)
Executable file → Normal file
BIN
gfx/map/surround_map/surround_mask.dds
(Stored with Git LFS)
Executable file → Normal file
Binary file not shown.
Loading…
Add table
Add a link
Reference in a new issue