innovation fix

This commit is contained in:
Fishedotjpg 2026-10-31 00:01:39 +00:00
parent 098b458b07
commit 5f957c44a2
57 changed files with 29276 additions and 852 deletions

View file

@ -5241,456 +5241,4 @@ bargain_fealty_interaction = {
# by Maxence Voleau
##################################################
invite_foreign_ruler_to = {
interface_priority = 30
category = interaction_category_diplomacy
common_interaction = yes
desc = invite_foreign_ruler_to_desc
icon = activity_feast
greeting = positive
notification_text = INVITE_FOREIGN_RULER_TO_NOTIFICATION
popup_on_receive = yes
ai_maybe = yes
cooldown = { years = 1 }
cooldown_against_recipient = { years = 5 }
is_available = {
any_character_struggle = {
involvement = involved
is_struggle_type = iberian_struggle
}
}
is_shown = {
# Interaction deprecated by new activity planning system
always = no
# scope:actor != scope:recipient
# # Scope:recipient must be landed, and neither over or under scope:actor.
# scope:recipient = {
# any_character_struggle = {
# involvement = involved
# is_struggle_type = iberian_struggle
# }
# is_playable_character = yes
# NOR = {
# any_liege_or_above = { this = scope:actor }
# any_vassal_or_below = { this = scope:actor }
# }
# }
}
is_valid_showing_failures_only = {
# Scope:actor must be an available adult.
scope:actor = { is_available_adult = yes }
# Scope:recipient must be at least available.
scope:recipient = { is_available_adult = yes }
# Make sure that scope:actor is going into this with a clean, no-recent/active/forbidden hostilities mindset.
scope:actor = {
NOT = {
is_at_war_with = scope:recipient
# Involved characters can't be on opposite sides in an active war.
}
}
# Verify that you can start one of the decision
# interaction deprecated by new activity planning system
# custom_description = {
# text = no_activity_available
# scope:actor = {
# OR = {
# can_execute_decision = start_hunt_decision
# can_execute_decision = host_feast_decision
# }
# }
# }
}
on_accept = {
# Notifications with most effects.
if = {
limit = { scope:invite_to_hunt = yes }
scope:actor = {
set_variable = {
name = special_guest
value = scope:recipient
}
show_as_tooltip = {
remove_short_term_gold = hunt_activity_base_cost
}
send_interface_toast = {
type = event_toast_effect_good
title = invited_to_hunt.accept.actor.tt
left_icon = scope:recipient
progress_towards_friend_effect = {
REASON = friend_invited_to_hunt
CHARACTER = scope:recipient
OPINION = 0
}
custom_tooltip = invite_foreign_ruler_to.hunt.tooltip
# interaction deprecated by new activity planning system
#execute_decision = start_hunt_decision
}
}
scope:recipient = {
send_interface_toast = {
title = invited_to_hunt.accept.recipient.tt
left_icon = scope:actor
}
}
}
else_if = {
limit = { scope:invite_to_feast = yes }
scope:actor = {
set_variable = {
name = special_guest
value = scope:recipient
}
show_as_tooltip = {
remove_short_term_gold = feast_activity_cost
}
send_interface_toast = {
type = event_toast_effect_good
title = invited_to_feast.accept.actor.tt
left_icon = scope:recipient
progress_towards_friend_effect = {
REASON = friend_invited_to_feast
CHARACTER = scope:recipient
OPINION = 0
}
custom_tooltip = invite_foreign_ruler_to.feast.tooltip
# interaction deprecated by new activity planning system
#execute_decision = host_feast_decision
}
}
scope:recipient = {
send_interface_toast = {
title = invited_to_feast.accept.recipient.tt
left_icon = scope:actor
}
}
}
# If we're a clan this interaction affects unity
add_clan_unity_interaction_effect = {
CHARACTER = scope:actor
TARGET = scope:recipient
VALUE = medium_unity_gain
DESC = clan_unity_feast_invite.desc
REVERSE_NON_HOUSE_TARGET = no
}
}
on_decline = {
# Scope:actor gains some stress over the whole ordeal.
scope:actor = {
send_interface_toast = {
type = event_toast_effect_bad
title = invite_foreign_ruler_to.decline.actor.tt
left_icon = scope:recipient
add_prestige = medium_prestige_loss
}
}
# Scope:actor loses opinion of scope:recipient.
scope:recipient = {
send_interface_toast = {
type = event_toast_effect_neutral
title = invite_foreign_ruler_to.decline.recipient.tt
left_icon = scope:actor
reverse_add_opinion = {
target = scope:actor
modifier = refusal_opinion
opinion = -50
}
}
}
# If we're a clan this interaction affects unity
add_clan_unity_interaction_effect = {
CHARACTER = scope:recipient
TARGET = scope:actor
VALUE = minor_unity_loss
DESC = clan_unity_feast_invite_decline.desc
REVERSE_NON_HOUSE_TARGET = no
}
}
# Send Options
## Invite to Hunt
send_option = {
is_valid = {
scope:actor = {
# interaction deprecated by new activity planning system?
#can_execute_decision = start_hunt_decision
}
# as an AI, don't invite human players to Hunt as we are lacking interesting content
trigger_if = {
limit = { scope:actor = { is_ai = yes } }
scope:recipient = { is_ai = yes }
}
}
flag = invite_to_hunt
starts_enabled = { always = yes }
localization = "INVITE_TO_HUNT"
}
## Invite to Feast
send_option = {
is_valid = {
scope:actor = {
# interaction deprecated by new activity planning system
#can_execute_decision = host_feast_decision
}
}
flag = invite_to_feast
starts_enabled = { always = yes }
localization = "INVITE_TO_FEAST"
}
# AI
## Standard Acceptance stuff
ai_accept = {
# Try to make it 0 for most interactions.
base = 0
# more likely if lower rank than actor
modifier = {
add = 20
scope:actor.primary_title.tier > primary_title.tier
desc = RANK_DIFFERENCE_REASON
}
# less likely if that's the opposite
modifier = {
add = -20
scope:actor.primary_title.tier < primary_title.tier
desc = RANK_DIFFERENCE_REASON
}
# AI take opinion into account
opinion_modifier = {
who = scope:recipient
opinion_target = scope:actor
multiplier = 1
desc = AI_OPINION_REASON
}
# sociability plays a lot as well
ai_value_modifier = {
ai_sociability = 1
}
# is rival or nemesis
modifier = {
add = -50
has_relation_rival = scope:actor
desc = WE_ARE_RIVALS
}
modifier = {
add = -100
has_relation_nemesis = scope:actor
desc = WE_ARE_NEMESES
}
# is friend
modifier = {
add = 25
has_relation_friend = scope:actor
desc = WE_ARE_FRIENDS
}
# is best friend
modifier = {
add = 50
has_relation_best_friend = scope:actor
desc = WE_ARE_BEST_FRIENDS
}
modifier = {
add = 100
OR = {
has_relation_lover = scope:actor
has_relation_soulmate = scope:actor
}
desc = WE_ARE_LOVERS
}
# hunters love to hunt
modifier = {
add = 25
scope:invite_to_hunt = yes
has_trait = lifestyle_hunter
desc = AI_RELEVANT_TRAITS
}
# reveler loves feasts
modifier = {
add = 25
scope:invite_to_feast = yes
has_trait = lifestyle_reveler
desc = AI_RELEVANT_TRAITS
}
# Struggle agenda
# modifier = {
# desc = AI_STRUGGLE_INTENT
# scope:invite_to_feast = yes
# scope:recipient = {
# any_character_struggle = {
# involvement = involved
# phase_has_catalyst = catalyst_invite_diff_faith_culture_to_feast
# }
# }
# scope:actor = {
# any_character_struggle = {
# involvement = involved
# phase_has_catalyst = catalyst_invite_diff_faith_culture_to_feast
# }
# }
# NAND = {
# scope:actor.faith = scope:recipient.faith
# scope:actor.culture = scope:recipient.culture
# }
# add = {
# value = 0
# if = {
# limit = {
# scope:actor = {
# has_character_flag = agenda_towards_deescalation
# }
# }
# add = 100
# }
# else_if = {
# limit = {
# scope:actor = {
# has_character_flag = agenda_towards_escalation
# }
# }
# add = -100
# }
# }
# }
}
### Performance-enhancement
#ai_potential = {
# is_playable_character = yes
# is_available_at_peace_ai_adult = yes
# is_imprisoned = no
# # Matches the regular minimum triggers.
# any_character_struggle = { involvement = involved }
# short_term_gold > standard_activity_base_cost
#}
#
#ai_target_quick_trigger = { adult = yes }
#ai_targets = {
# ai_recipients = neighboring_rulers
# ai_recipients = peer_vassals
# max = 10
#}
### Frequency
#ai_frequency = 60
#ai_will_do = {
# base = 0
#
# # sociability plays a lot as well
# ai_value_modifier = {
# ai_sociability = 1
# }
#
# # hunters love to hunt
# modifier = {
# add = 25
# scope:invite_to_hunt = yes
# has_trait = lifestyle_hunter
# }
#
# # small boost if no firends
# modifier = {
# add = 25
# num_of_relation_friend = 0
# }
# # reveler loves feasts
# modifier = {
# add = 25
# scope:invite_to_feast = yes
# has_trait = lifestyle_reveler
# }
#
# # From Hunt decision
# ai_value_modifier = {
# ai_energy = 1
# ai_greed = -0.5
# ai_compassion = -0.5
# }
#
# modifier = {
# add = 10
# scope:invite_to_hunt = yes
# has_trait_rank = {
# trait = education_martial
# rank > 0
# }
# }
# modifier = {
# add = 10
# scope:invite_to_hunt = yes
# has_trait_rank = {
# trait = education_martial
# rank > 2
# }
# }
#
# modifier = {
# scope:invite_to_hunt = yes
# add = 35
# stress > low_stress
# }
#
# # Struggle agenda
# modifier = {
# scope:recipient = {
# any_character_struggle = {
# involvement = involved
# }
# }
# scope:actor = {
# any_character_struggle = {
# involvement = involved
# }
# }
# NAND = {
# scope:actor.faith = scope:recipient.faith
# scope:actor.culture = scope:recipient.culture
# }
# add = {
# value = 0
# if = {
# limit = {
# scope:actor = {
# any_character_struggle = {
# phase_has_catalyst = catalyst_invite_diff_faith_culture_to_feast
#
# }
# has_character_flag = agenda_towards_escalation
# }
# }
# add = -100
# }
# else_if = {
# limit = {
# scope:actor = {
# any_character_struggle = {
# phase_has_catalyst = catalyst_invite_diff_faith_culture_to_feast
# }
# }
# }
# add = 100
# }
# }
# }
#}
}

File diff suppressed because it is too large Load diff