4739 lines
122 KiB
Text
4739 lines
122 KiB
Text
namespace = tribute_mission
|
|
|
|
|
|
# 0001 -> Hidden: Set the parameters
|
|
|
|
## Character Events ##
|
|
# 1000 -> Tributary: Fork over Tribute, try to influence reward
|
|
# 1002 -> Overlord: Do you want the Human Tribute?
|
|
# 1005 -> Overlord: Decide the reward
|
|
# 1006 -> Overlord: CHINA - Decide whether to grant a Seal of Investiture or not
|
|
# 1007 -> Tributary: CHINA - Receive the Seal of Investiture
|
|
# 1008 -> Tributary: HEGEMON - Decide whether to become a Tributary or not
|
|
# 1010 -> Tributary: Receive reward, go home
|
|
|
|
## Court Events ##
|
|
# 3000 -> Tributary: Fork over Tribute, try to influence reward
|
|
# 3002 -> Overlord: Do you want the Human Tribute? ###DEPRECATED
|
|
# 3005 -> Overlord: Decide the reward ###DEPRECATED
|
|
# 3010 -> Tributary: Receive reward, go home
|
|
|
|
## Letter Events ##
|
|
# 9000 -> Tributary: Overlord is informing you of your imminent loss of tributary-status (unless you Tribute Mission)
|
|
# 9500 -> Tributary: You ignored the Tribute Mission, Overlord goes bye-bye
|
|
|
|
## Travel Events ##
|
|
# 9750 -> Tributary: You lost your Human Tribute
|
|
# 9760 -> Tributary: Your to-be Eunuch is trying to escape
|
|
|
|
# Note on scope naming: 'overlord_scope' and 'tributary_scope' can be misleading since it's technically possible for some
|
|
# non-tributaries to go on tribute missions as well. Consider these equivalent to "tribute receiver" and "tribute payer".
|
|
|
|
scripted_trigger tribute_mission_1000_available_receiver_trigger = {
|
|
is_available = yes
|
|
location = scope:overlord_scope.capital_province
|
|
}
|
|
|
|
#Hidden: Set the parameters
|
|
tribute_mission.0001 = {
|
|
hidden = yes
|
|
immediate = {
|
|
#Determine who is who
|
|
save_scope_as = tributary_scope
|
|
var:tribute_mission_target_scope ?= { save_scope_as = overlord_scope }
|
|
#Who is the receiving character?
|
|
scope:overlord_scope = {
|
|
#Overlord
|
|
if = {
|
|
limit = {
|
|
is_available = yes
|
|
is_adult = yes
|
|
}
|
|
save_scope_as = receiving_character
|
|
}
|
|
#Diarch
|
|
else_if = {
|
|
limit = {
|
|
diarch ?= { tribute_mission_1000_available_receiver_trigger = yes }
|
|
}
|
|
diarch = { save_scope_as = receiving_character }
|
|
}
|
|
#Councillor
|
|
else_if = {
|
|
limit = {
|
|
OR = {
|
|
cp:councillor_court_chaplain ?= { tribute_mission_1000_available_receiver_trigger = yes }
|
|
cp:councillor_chancellor ?= { tribute_mission_1000_available_receiver_trigger = yes }
|
|
cp:councillor_steward ?= { tribute_mission_1000_available_receiver_trigger = yes }
|
|
cp:councillor_marshal ?= { tribute_mission_1000_available_receiver_trigger = yes }
|
|
cp:councillor_spymaster ?= { tribute_mission_1000_available_receiver_trigger = yes }
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
cp:councillor_steward ?= { tribute_mission_1000_available_receiver_trigger = yes }
|
|
}
|
|
cp:councillor_steward = { save_scope_as = receiving_character }
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:receiving_character }
|
|
cp:councillor_chancellor ?= { tribute_mission_1000_available_receiver_trigger = yes }
|
|
}
|
|
cp:councillor_chancellor = { save_scope_as = receiving_character }
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:receiving_character }
|
|
cp:councillor_spymaster ?= { tribute_mission_1000_available_receiver_trigger = yes }
|
|
}
|
|
cp:councillor_spymaster = { save_scope_as = receiving_character }
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:receiving_character }
|
|
cp:councillor_court_chaplain ?= { tribute_mission_1000_available_receiver_trigger = yes }
|
|
}
|
|
cp:councillor_court_chaplain = { save_scope_as = receiving_character }
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:receiving_character }
|
|
cp:councillor_marshal ?= { tribute_mission_1000_available_receiver_trigger = yes }
|
|
}
|
|
cp:councillor_marshal = { save_scope_as = receiving_character }
|
|
}
|
|
}
|
|
#Random attendant
|
|
else = {
|
|
create_character = {
|
|
template = servant_character
|
|
location = scope:overlord_scope.capital_province
|
|
culture = scope:overlord_scope.capital_province.culture
|
|
faith = scope:overlord_scope.capital_province.faith
|
|
dynasty = none
|
|
save_scope_as = receiving_character
|
|
}
|
|
scope:receiving_character = {
|
|
remove_character_flag = peasant_outfit
|
|
add_character_flag = created_attendant
|
|
}
|
|
scope:overlord_scope = {
|
|
hidden_effect = { add_courtier = scope:receiving_character }
|
|
}
|
|
}
|
|
# Save Overlord's opinion of the Tributary
|
|
save_opinion_value_as = {
|
|
name = opinion_of_tributary
|
|
target = scope:tributary_scope
|
|
}
|
|
}
|
|
#Set up the human tribute scopes
|
|
if = {
|
|
limit = { var:tribute_mission_type ?= flag:concubine_tribute }
|
|
var:offered_concubine ?= { save_scope_as = concubine_character }
|
|
}
|
|
if = {
|
|
limit = { var:tribute_mission_type ?= flag:eunuch_tribute }
|
|
var:offered_eunuch ?= {
|
|
save_scope_as = eunuch_character
|
|
if = {
|
|
limit = { is_eunuch_trigger = no }
|
|
remove_opinion = {
|
|
modifier = slated_for_castration_opinion
|
|
target = scope:tributary_scope
|
|
}
|
|
add_trait = eunuch_1
|
|
add_opinion = {
|
|
modifier = castration_opinion
|
|
target = scope:tributary_scope
|
|
opinion = -50
|
|
}
|
|
add_character_flag = {
|
|
flag = tribute_mission_recently_castrated
|
|
days = 30
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#... or the non-living scopes
|
|
if = {
|
|
limit = { var:tribute_mission_type ?= flag:artifact_tribute }
|
|
var:offered_artifact ?= { save_scope_as = artifact_to_tribute }
|
|
}
|
|
if = {
|
|
limit = { var:tribute_mission_type ?= flag:bunga_mas_tribute }
|
|
var:offered_bunga_mas ?= { save_scope_as = artifact_to_tribute }
|
|
}
|
|
#Hol' up while we're here
|
|
hidden_effect = {
|
|
current_travel_plan ?= { pause_travel_plan = yes }
|
|
}
|
|
#Roll for Bunga Mas
|
|
if = {
|
|
limit = {
|
|
is_ai = yes
|
|
scope:overlord_scope = {
|
|
government_has_flag = government_is_mandala
|
|
NOT = { has_variable = bunga_mas_cooldown }
|
|
}
|
|
}
|
|
random = {
|
|
chance = 1
|
|
modifier = {
|
|
scope:overlord_scope = { has_unruined_mandala_capital_trigger = yes }
|
|
add = {
|
|
value = scope:overlord_scope.mandala_radiance_value
|
|
divide = 10
|
|
}
|
|
}
|
|
scope:overlord_scope = {
|
|
get_artifact_quality_effect = yes
|
|
get_artifact_wealth_effect = yes
|
|
set_variable = {
|
|
name = bunga_mas_cooldown
|
|
years = 5
|
|
}
|
|
}
|
|
hidden_effect_new_object = {
|
|
scope:tributary_scope = {
|
|
create_bunga_mas_artifact_effect = yes
|
|
}
|
|
scope:newly_created_bunga_mas = {
|
|
remove_artifact_modifier = artifact_placeholder_modifier
|
|
if = {
|
|
limit = { rarity = illustrious }
|
|
set_artifact_description = tribute_mission_illustrious_bunga_mas_desc
|
|
add_artifact_modifier = artifact_legitimacy_gain_mult_5_modifier
|
|
add_artifact_modifier = artifact_health_gain_3_modifier
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope = {
|
|
house = { has_house_aspiration_parameter = aspect_of_creation }
|
|
}
|
|
}
|
|
add_artifact_modifier = artifact_seduce_scheme_phase_duration_add_3_modifier
|
|
add_artifact_modifier = artifact_fertility_gain_3_modifier
|
|
add_artifact_modifier = artifact_build_gold_cost_3_modifier
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope = {
|
|
house = { has_house_aspiration_parameter = aspect_of_serenity }
|
|
}
|
|
}
|
|
add_artifact_modifier = artifact_befriend_scheme_phase_duration_add_3_modifier
|
|
add_artifact_modifier = artifact_scheme_resistance_add_3_modifier
|
|
add_artifact_modifier = artifact_stress_gain_4_modifier
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope = {
|
|
house = { has_house_aspiration_parameter = aspect_of_destruction }
|
|
}
|
|
}
|
|
add_artifact_modifier = artifact_pursue_efficiency_2_modifier
|
|
add_artifact_modifier = artifact_prowess_4_modifier
|
|
add_artifact_modifier = artifact_knight_limit_1_modifier
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope = {
|
|
house = { has_house_aspiration_parameter = aspect_of_trickery }
|
|
}
|
|
}
|
|
add_artifact_modifier = artifact_owned_hostile_scheme_success_chance_add_10_modifier
|
|
add_artifact_modifier = artifact_owned_personal_scheme_success_chance_add_10_modifier
|
|
add_artifact_modifier = artifact_owned_scheme_secrecy_add_10_modifier
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = { rarity = famed }
|
|
set_artifact_description = tribute_mission_famed_bunga_mas_desc
|
|
add_artifact_modifier = artifact_legitimacy_gain_mult_4_modifier
|
|
add_artifact_modifier = artifact_health_gain_2_modifier
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope = {
|
|
house = { has_house_aspiration_parameter = aspect_of_creation }
|
|
}
|
|
}
|
|
add_artifact_modifier = artifact_seduce_scheme_phase_duration_add_2_modifier
|
|
add_artifact_modifier = artifact_fertility_gain_1_modifier
|
|
add_artifact_modifier = artifact_build_gold_cost_1_modifier
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope = {
|
|
house = { has_house_aspiration_parameter = aspect_of_serenity }
|
|
}
|
|
}
|
|
add_artifact_modifier = artifact_befriend_scheme_phase_duration_add_2_modifier
|
|
add_artifact_modifier = artifact_scheme_resistance_add_1_modifier
|
|
add_artifact_modifier = artifact_stress_gain_2_modifier
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope = {
|
|
house = { has_house_aspiration_parameter = aspect_of_destruction }
|
|
}
|
|
}
|
|
add_artifact_modifier = artifact_pursue_efficiency_1_modifier
|
|
add_artifact_modifier = artifact_prowess_2_modifier
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope = {
|
|
house = { has_house_aspiration_parameter = aspect_of_trickery }
|
|
}
|
|
}
|
|
add_artifact_modifier = artifact_owned_hostile_scheme_success_chance_add_5_modifier
|
|
add_artifact_modifier = artifact_owned_personal_scheme_success_chance_add_5_modifier
|
|
add_artifact_modifier = artifact_owned_scheme_secrecy_add_5_modifier
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = { rarity = masterwork }
|
|
set_artifact_description = tribute_mission_masterwork_bunga_mas_desc
|
|
add_artifact_modifier = artifact_legitimacy_gain_mult_3_modifier
|
|
add_artifact_modifier = artifact_health_gain_1_modifier
|
|
}
|
|
else = {
|
|
set_artifact_description = tribute_mission_common_bunga_mas_desc
|
|
add_artifact_modifier = artifact_legitimacy_gain_mult_2_modifier
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#Do they have a royal court and is the overlord available? Trigger court event for the tributary
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope = {
|
|
has_royal_court = yes
|
|
this = scope:receiving_character
|
|
}
|
|
}
|
|
trigger_event = tribute_mission.3000
|
|
}
|
|
else = { trigger_event = tribute_mission.1000 }
|
|
}
|
|
}
|
|
|
|
tribute_mission.0002 = {
|
|
hidden = yes
|
|
#Double-check the status of the human tribute
|
|
immediate = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
AND = {
|
|
var:tribute_mission_type ?= flag:concubine_tribute
|
|
var:offered_concubine ?= { is_alive = no }
|
|
}
|
|
AND = {
|
|
var:tribute_mission_type ?= flag:eunuch_tribute
|
|
var:offered_eunuch ?= { is_alive = no }
|
|
}
|
|
}
|
|
}
|
|
add_character_flag = revisit_tribute_mission_0001
|
|
trigger_event = tribute_mission.9750
|
|
}
|
|
else = { trigger_event = tribute_mission.0001 }
|
|
}
|
|
}
|
|
|
|
#Make any stray created attendant disappear
|
|
tribute_mission.0005 = {
|
|
hidden = yes
|
|
immediate = { silent_disappearance_effect = yes }
|
|
}
|
|
|
|
|
|
### TRIBUTES ###
|
|
#Gold
|
|
scripted_trigger tribute_mission_1000_gold_tributary_trigger = {
|
|
scope:tributary_scope = { has_variable = offered_gold_value }
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_fork_over_gold_effect = {
|
|
scope:overlord_scope = { add_gold = scope:tributary_scope.var:offered_gold_value }
|
|
}
|
|
|
|
#Herd
|
|
scripted_trigger tribute_mission_1000_herd_tributary_trigger = {
|
|
scope:tributary_scope = { has_variable = offered_herd_value }
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_fork_over_herd_effect = {
|
|
scope:overlord_scope = { add_gold = herd_conversion_tribute_value }
|
|
}
|
|
|
|
#Concubine
|
|
scripted_trigger tribute_mission_1000_concubine_tributary_trigger = {
|
|
scope:tributary_scope = { has_variable = offered_concubine }
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_common_arrival_effect = {
|
|
#Save the concubine
|
|
if = {
|
|
limit = { exists = scope:concubine_character }
|
|
scope:concubine_character = { save_scope_as = human_tribute }
|
|
}
|
|
#Save the eunuch
|
|
if = {
|
|
limit = { exists = scope:eunuch_character }
|
|
scope:eunuch_character = { save_scope_as = human_tribute }
|
|
}
|
|
#If we're gifting an artifact
|
|
scope:artifact_to_tribute ?= {
|
|
set_variable = {
|
|
name = suppress_artifact_notifications
|
|
value = yes
|
|
days = 10
|
|
}
|
|
}
|
|
#Or a Bunga Mas
|
|
scope:newly_created_bunga_mas ?= {
|
|
set_variable = {
|
|
name = suppress_artifact_notifications
|
|
value = yes
|
|
days = 10
|
|
}
|
|
}
|
|
#Grant Legitimacy to Hegemonic Suzerains depending on the tier of the tributary
|
|
if = {
|
|
limit = { scope:overlord_scope = { highest_held_title_tier = tier_hegemony } }
|
|
save_temporary_scope_value_as = {
|
|
name = legitimacy_gain
|
|
value = {
|
|
switch = {
|
|
trigger = scope:tributary_scope.primary_title.tier
|
|
tier_county = {
|
|
add = miniscule_legitimacy_gain
|
|
}
|
|
tier_duchy = {
|
|
add = minor_legitimacy_gain
|
|
}
|
|
tier_kingdom = {
|
|
add = medium_legitimacy_gain
|
|
}
|
|
tier_empire = {
|
|
add = major_legitimacy_gain
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:overlord_scope = {
|
|
send_interface_toast = {
|
|
type = event_toast_effect_good
|
|
title = tribute_mission_suzerain_legitimacy_gain_title
|
|
left_icon = scope:tributary_scope
|
|
right_icon = this
|
|
add_legitimacy_effect = { LEGITIMACY = scope:legitimacy_gain }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_make_concubine_effect = {
|
|
hidden_effect = {
|
|
scope:tributary_scope = {
|
|
current_travel_plan ?= { remove_character = scope:concubine_character }
|
|
}
|
|
}
|
|
make_concubine = scope:concubine_character # make_concubine inherently also adds them as a courtier first, for reference
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_make_courtier_effect = {
|
|
hidden_effect = {
|
|
scope:tributary_scope = {
|
|
current_travel_plan ?= { remove_character = $HUMAN_TRIB$ }
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
$HUMAN_TRIB$ = {
|
|
employer != scope:overlord_scope
|
|
}
|
|
}
|
|
scope:overlord_scope = { add_courtier = $HUMAN_TRIB$ }
|
|
}
|
|
}
|
|
|
|
scripted_trigger tribute_mission_1000_overlord_can_employ_concubine_trigger = {
|
|
scope:overlord_scope = { allowed_more_concubines = yes }
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_fork_over_concubine_effect = {
|
|
scope:overlord_scope = {
|
|
#If the overlord is AI, they've already accepted the concubine via the interaction so just assign them right away
|
|
if = {
|
|
limit = { is_ai = yes }
|
|
if = {
|
|
limit = { tribute_mission_1000_overlord_can_employ_concubine_trigger = yes }
|
|
tribute_mission_1000_make_concubine_effect = yes
|
|
}
|
|
else = {
|
|
tribute_mission_1000_make_courtier_effect = { HUMAN_TRIB = scope:concubine_character }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Eunuch
|
|
scripted_trigger tribute_mission_1000_eunuch_tributary_trigger = {
|
|
scope:tributary_scope = { has_variable = offered_eunuch }
|
|
}
|
|
|
|
#Artifact
|
|
scripted_trigger tribute_mission_1000_artifact_tributary_trigger = {
|
|
scope:tributary_scope = { has_variable = offered_artifact }
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_fork_over_artifact_effect = {
|
|
scope:artifact_to_tribute = { set_owner = scope:overlord_scope }
|
|
}
|
|
|
|
#Bunga Mas
|
|
scripted_trigger tribute_mission_1000_bunga_mas_tributary_trigger = {
|
|
scope:tributary_scope = { has_variable = offered_bunga_mas }
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_determine_bunga_mas_scale_effect = {
|
|
if = {
|
|
limit = { var:tribute_mission_type ?= flag:bunga_mas_tribute }
|
|
if = {
|
|
limit = {
|
|
scope:artifact_to_tribute = { rarity = illustrious }
|
|
}
|
|
set_variable = {
|
|
name = bunga_mas_tribute_modifier
|
|
value = 3
|
|
years = 10
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:artifact_to_tribute = { rarity = famed }
|
|
}
|
|
set_variable = {
|
|
name = bunga_mas_tribute_modifier
|
|
value = 2
|
|
years = 10
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:artifact_to_tribute = { rarity = masterwork }
|
|
}
|
|
random_list = {
|
|
50 = {
|
|
set_variable = {
|
|
name = bunga_mas_tribute_modifier
|
|
value = 2
|
|
years = 10
|
|
}
|
|
}
|
|
50 = {
|
|
set_variable = {
|
|
name = bunga_mas_tribute_modifier
|
|
value = 1
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
set_variable = {
|
|
name = bunga_mas_tribute_modifier
|
|
value = 1
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Give the actual Tribute
|
|
scripted_effect tribute_mission_1000_fork_over_tribute_effect = {
|
|
if = {
|
|
limit = { tribute_mission_1000_gold_tributary_trigger = yes }
|
|
tribute_mission_1000_fork_over_gold_effect = yes
|
|
}
|
|
if = {
|
|
limit = { tribute_mission_1000_herd_tributary_trigger = yes }
|
|
tribute_mission_1000_fork_over_herd_effect = yes
|
|
}
|
|
if = {
|
|
limit = { tribute_mission_1000_concubine_tributary_trigger = yes }
|
|
tribute_mission_1000_fork_over_concubine_effect = yes
|
|
}
|
|
if = {
|
|
limit = { tribute_mission_1000_eunuch_tributary_trigger = yes }
|
|
tribute_mission_1000_make_courtier_effect = { HUMAN_TRIB = scope:eunuch_character }
|
|
}
|
|
if = {
|
|
limit = { tribute_mission_1000_artifact_tributary_trigger = yes }
|
|
tribute_mission_1000_fork_over_artifact_effect = yes
|
|
}
|
|
#Bunga Mas!
|
|
if = {
|
|
limit = { exists = scope:newly_created_bunga_mas }
|
|
scope:newly_created_bunga_mas = { set_owner = scope:overlord_scope }
|
|
}
|
|
if = {
|
|
limit = { tribute_mission_1000_bunga_mas_tributary_trigger = yes }
|
|
tribute_mission_1000_fork_over_artifact_effect = yes #We should be able to reuse this
|
|
}
|
|
|
|
#Some Mandala piety
|
|
tribute_mission_mandala_piety_effect = yes
|
|
}
|
|
|
|
#If the Overlord is not AI and are away, notify them what they got
|
|
scripted_effect tribute_mission_1000_fork_over_with_notification_effect = {
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope != scope:receiving_character
|
|
scope:overlord_scope = { is_ai = no }
|
|
}
|
|
#If the overlord isn't available and is a player, let them know what happened
|
|
scope:overlord_scope = {
|
|
send_interface_message = {
|
|
type = event_tribute_good_with_text
|
|
title = tribute_mission_notification.title
|
|
left_icon = scope:tributary_scope
|
|
desc = tribute_mission_notification.desc
|
|
tribute_mission_1000_fork_over_tribute_effect = yes
|
|
}
|
|
}
|
|
}
|
|
else = { tribute_mission_1000_fork_over_tribute_effect = yes }
|
|
}
|
|
|
|
#What options should an AI receiver be able to use when the Overlord is an unavailable player
|
|
scripted_trigger tribute_mission_1000_is_available_to_ai_receiver_trigger = {
|
|
scope:overlord_scope != scope:receiving_character
|
|
scope:receiving_character = { is_ai = yes }
|
|
scope:overlord_scope = {
|
|
is_ai = no
|
|
#Mainly for Hegemons
|
|
has_treasury = yes
|
|
}
|
|
}
|
|
|
|
### REWARDS ###
|
|
scripted_effect tribute_mission_1000_display_potential_rewards_effect = {
|
|
show_as_tooltip = {
|
|
random_list = {
|
|
#Treasury
|
|
10 = {
|
|
trigger = { tribute_mission_1000_can_give_treasury_trigger = yes }
|
|
show_chance = no
|
|
desc = tribute_mission.1000.abstain.treasury.desc
|
|
tribute_mission_1000_give_treasury_effect = yes
|
|
}
|
|
#Artifact
|
|
10 = {
|
|
trigger = { tribute_mission_1000_can_set_artifact_reward_trigger = yes }
|
|
show_chance = no
|
|
desc = tribute_mission.1000.abstain.artifact.desc
|
|
custom_tooltip = tribute_mission.1000.artifact.tt
|
|
}
|
|
#Innovation
|
|
10 = {
|
|
trigger = { tribute_mission_1000_can_set_innovation_reward_trigger = yes }
|
|
show_chance = no
|
|
desc = tribute_mission.1000.abstain.innovation.desc
|
|
custom_tooltip = tribute_mission.1000.innovation.tt
|
|
}
|
|
#Development
|
|
10 = {
|
|
trigger = { tribute_mission_1000_eligible_development_trigger = yes }
|
|
show_chance = no
|
|
desc = tribute_mission.1000.abstain.development.desc
|
|
tribute_mission_1000_give_development_effect = yes
|
|
}
|
|
#Monk
|
|
10 = {
|
|
trigger = { tribute_mission_1000_eligible_for_monk_trigger = yes }
|
|
show_chance = no
|
|
desc = tribute_mission.1000.abstain.monk.desc
|
|
custom_tooltip = tribute_mission.1000.monk.tt
|
|
}
|
|
#Generic Legitimacy
|
|
10 = {
|
|
show_chance = no
|
|
desc = tribute_mission.1000.abstain.legitimacy.desc
|
|
tribute_mission_1000_give_legitimacy_effect = yes
|
|
}
|
|
}
|
|
if = {
|
|
limit = { var:tribute_mission_type ?= flag:bunga_mas_tribute }
|
|
add_character_modifier = {
|
|
modifier = bunga_mas_tribute_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#China: Treasury / Trade Goods
|
|
scripted_trigger tribute_mission_1000_can_give_treasury_trigger = {
|
|
trigger_if = {
|
|
limit = {
|
|
scope:overlord_scope = { has_treasury = yes }
|
|
}
|
|
scope:overlord_scope.treasury > tribute_treasury_reward_value
|
|
}
|
|
trigger_else = { always = no }
|
|
tribute_mission_1000_is_available_to_ai_receiver_trigger = no
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_set_treasury_reward_effect = {
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:tribute_reward_type_treasury }
|
|
}
|
|
save_scope_value_as = {
|
|
name = tribute_reward_type_treasury
|
|
value = tribute_treasury_reward_value
|
|
}
|
|
}
|
|
}
|
|
|
|
#Artifact
|
|
scripted_trigger tribute_mission_1000_can_set_artifact_reward_trigger = {
|
|
tribute_mission_1000_is_available_to_ai_receiver_trigger = no
|
|
}
|
|
|
|
scripted_trigger tribute_mission_1000_eligible_smith_trigger = {
|
|
is_physically_able_ai_adult = yes
|
|
OR = {
|
|
#Someone new?
|
|
AND = {
|
|
has_no_particular_noble_roots_trigger = yes
|
|
}
|
|
#A previous smithy
|
|
has_variable = tribute_mission_1000_smith
|
|
}
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_eligible_smith_scope_effect = {
|
|
if = {
|
|
limit = {
|
|
any_pool_character = {
|
|
province = scope:overlord_scope.capital_province
|
|
tribute_mission_1000_eligible_smith_trigger = yes
|
|
}
|
|
}
|
|
random_pool_character = {
|
|
province = scope:overlord_scope.capital_province
|
|
limit = { tribute_mission_1000_eligible_smith_trigger = yes }
|
|
save_scope_as = smith_character
|
|
}
|
|
}
|
|
else = {
|
|
create_character = {
|
|
template = merchant_template
|
|
location = scope:overlord_scope.capital_province
|
|
culture = scope:overlord_scope.capital_province.culture
|
|
faith = scope:overlord_scope.capital_province.faith
|
|
dynasty = none
|
|
save_scope_as = smith_character
|
|
after_creation = { set_variable = tribute_mission_1000_smith }
|
|
}
|
|
}
|
|
if = {
|
|
limit = { NOT = { exists = scope:smith_character } }
|
|
error_log = "Failed to create a valid smith in tribute_mission_1000_eligible_smith_scope_effect!"
|
|
}
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_reward_cost_effect = {
|
|
#A small fee for human players
|
|
if = {
|
|
limit = { is_ai = no }
|
|
if = {
|
|
limit = { scope:overlord_scope = { has_treasury = yes } }
|
|
remove_treasury = scope:overlord_scope.tribute_reward_treasury_cost
|
|
}
|
|
else = {
|
|
remove_short_term_gold = miniscule_gold_value
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_set_artifact_reward_effect = {
|
|
scope:overlord_scope = {
|
|
#A small fee for human players
|
|
tribute_mission_1000_reward_cost_effect = yes
|
|
hidden_effect = {
|
|
#Randomize the quality, somewhat
|
|
random_list = {
|
|
50 = {
|
|
get_artifact_quality_effect = yes
|
|
get_artifact_wealth_effect = yes
|
|
}
|
|
25 = { set_artifact_rarity_famed = yes }
|
|
10 = {
|
|
trigger = { has_relation_best_friend = scope:tributary_scope }
|
|
set_artifact_rarity_illustrious = yes
|
|
}
|
|
}
|
|
#Create the artifact
|
|
hidden_effect_new_object = {
|
|
#Who is making it
|
|
tribute_mission_1000_eligible_smith_scope_effect = yes
|
|
#What are we making
|
|
random_list = {
|
|
10 = {
|
|
create_artifact_armor_effect = {
|
|
OWNER = scope:overlord_scope
|
|
CREATOR = scope:smith_character
|
|
SET_ARMOR_TYPE = flag:no
|
|
}
|
|
}
|
|
10 = {
|
|
create_artifact_regalia_effect = {
|
|
OWNER = scope:overlord_scope
|
|
SMITH = scope:smith_character
|
|
}
|
|
}
|
|
10 = {
|
|
create_artifact_brooch_effect = {
|
|
OWNER = scope:overlord_scope
|
|
SMITH = scope:smith_character
|
|
}
|
|
}
|
|
10 = {
|
|
create_artifact_necklace_effect = {
|
|
OWNER = scope:overlord_scope
|
|
SMITH = scope:smith_character
|
|
}
|
|
}
|
|
10 = {
|
|
create_artifact_ring_effect = {
|
|
OWNER = scope:overlord_scope
|
|
SMITH = scope:smith_character
|
|
}
|
|
}
|
|
10 = {
|
|
create_artifact_weapon_effect = {
|
|
OWNER = scope:overlord_scope
|
|
CREATOR = scope:smith_character
|
|
SET_WEAPON_TYPE = flag:artifact_weapon_type_dagger
|
|
}
|
|
}
|
|
}
|
|
scope:newly_created_artifact = {
|
|
save_scope_as = tribute_reward_type_artifact
|
|
add_artifact_modifier = artifact_legitimacy_gain_mult_4_modifier
|
|
set_variable = {
|
|
name = suppress_artifact_notifications
|
|
value = yes
|
|
days = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Innovation
|
|
scripted_trigger tribute_mission_1000_eligible_innovation_trigger = {
|
|
NOT = { is_known_by_culture = scope:tributary_scope.culture }
|
|
culture_can_know_innovation = scope:tributary_scope.culture
|
|
}
|
|
|
|
scripted_trigger tribute_mission_1000_can_set_innovation_reward_trigger = {
|
|
NOT = { scope:tributary_scope.culture = scope:overlord_scope.culture }
|
|
OR = {
|
|
#Either they have a fascination we can feed/progress
|
|
scope:tributary_scope.culture = { culture_has_any_fascination = yes }
|
|
#Or we have an innovation they can unlock to research
|
|
scope:overlord_scope.culture = {
|
|
any_known_innovation = { tribute_mission_1000_eligible_innovation_trigger = yes }
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_set_innovation_reward_effect = {
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope.culture = {
|
|
any_known_innovation = { tribute_mission_1000_eligible_innovation_trigger = yes }
|
|
}
|
|
}
|
|
scope:saved_innovation = { save_scope_as = tribute_reward_type_innovation }
|
|
}
|
|
else = {
|
|
save_scope_value_as = {
|
|
name = tribute_reward_type_innovation # This scope still needs to exist and be consistent for loc triggers and other things
|
|
value = yes
|
|
}
|
|
scope:tributary_scope = {
|
|
set_variable = {
|
|
name = tribute_reward_fascination_progress # But the comparison will break if the scope can be two different things, so we use a variable
|
|
value = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Development
|
|
scripted_trigger tribute_mission_1000_eligible_development_trigger = {
|
|
scope:overlord_scope.capital_province != scope:tributary_scope.capital_province
|
|
scope:tributary_scope.capital_county = {
|
|
NOT = { has_county_modifier = suzerain_trade_post_modifier }
|
|
}
|
|
tribute_mission_1000_is_available_to_ai_receiver_trigger = no
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_set_development_reward_effect = {
|
|
scope:overlord_scope = {
|
|
#A small fee for human players
|
|
tribute_mission_1000_reward_cost_effect = yes
|
|
save_scope_value_as = {
|
|
name = tribute_reward_type_development
|
|
value = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
#Mandala: Priest
|
|
scripted_trigger tribute_mission_1000_eligible_for_monk_trigger = {
|
|
scope:overlord_scope = {
|
|
government_has_flag = government_is_mandala
|
|
NOR = {
|
|
faith = { has_doctrine_parameter = unreformed }
|
|
faith = scope:tributary_scope.faith
|
|
}
|
|
}
|
|
scope:tributary_scope.faith = { has_doctrine_parameter = unreformed }
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_set_monk_reward_effect = {
|
|
scope:overlord_scope = {
|
|
#A small fee for human players
|
|
tribute_mission_1000_reward_cost_effect = yes
|
|
}
|
|
hidden_effect_new_object = {
|
|
create_character = {
|
|
location = scope:overlord_scope.capital_province
|
|
template = monk_character_template
|
|
culture = scope:overlord_scope.culture
|
|
faith = scope:overlord_scope.faith
|
|
save_scope_as = new_monk
|
|
after_creation = {
|
|
add_character_flag = suzerains_missionary
|
|
}
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = tribute_reward_type_monk
|
|
value = scope:new_monk
|
|
}
|
|
}
|
|
|
|
#Generic Legitimacy
|
|
scripted_trigger tribute_mission_1000_eligible_legitimacy_trigger = {
|
|
scope:receiving_character = scope:overlord_scope
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_set_legitimacy_reward_effect = {
|
|
save_scope_value_as = {
|
|
name = tribute_reward_type_legitimacy
|
|
value = yes
|
|
}
|
|
}
|
|
|
|
#Determine the reward
|
|
scripted_effect tribute_mission_1000_generate_reward_effect = {
|
|
#Were we successfully influenced?
|
|
if = {
|
|
limit = { scope:successful_influence ?= flag:treasury }
|
|
tribute_mission_1000_set_treasury_reward_effect = yes
|
|
save_scope_value_as = {
|
|
name = decided_on_treasury_reward
|
|
value = flag:yes
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = { scope:successful_influence ?= flag:artifact }
|
|
tribute_mission_1000_set_artifact_reward_effect = yes
|
|
}
|
|
else_if = {
|
|
limit = { scope:successful_influence ?= flag:innovation }
|
|
tribute_mission_1000_set_innovation_reward_effect = yes
|
|
}
|
|
else_if = {
|
|
limit = { scope:successful_influence ?= flag:development }
|
|
tribute_mission_1000_set_development_reward_effect = yes
|
|
}
|
|
else = {
|
|
hidden_effect = {
|
|
random_list = {
|
|
#Treasury
|
|
10 = {
|
|
trigger = { tribute_mission_1000_can_give_treasury_trigger = yes }
|
|
tribute_mission_1000_set_treasury_reward_effect = yes
|
|
save_scope_value_as = {
|
|
name = decided_on_treasury_reward
|
|
value = flag:yes
|
|
}
|
|
}
|
|
#Artifact
|
|
10 = {
|
|
tribute_mission_1000_set_artifact_reward_effect = yes
|
|
}
|
|
#Innovation
|
|
10 = {
|
|
trigger = { tribute_mission_1000_can_set_innovation_reward_trigger = yes }
|
|
tribute_mission_1000_set_innovation_reward_effect = yes
|
|
}
|
|
#Development
|
|
10 = {
|
|
trigger = { tribute_mission_1000_eligible_development_trigger = yes }
|
|
tribute_mission_1000_set_development_reward_effect = yes
|
|
}
|
|
#Priest
|
|
50 = {
|
|
trigger = { tribute_mission_1000_eligible_for_monk_trigger = yes }
|
|
tribute_mission_1000_set_monk_reward_effect = yes
|
|
}
|
|
#Generic Legitimacy
|
|
25 = {
|
|
trigger = { tribute_mission_1000_eligible_legitimacy_trigger = yes }
|
|
tribute_mission_1000_set_legitimacy_reward_effect = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#These are re-used for when the player Overlord picks the reward
|
|
scripted_effect tribute_mission_1000_give_treasury_effect = {
|
|
scope:overlord_scope = { remove_treasury = scope:tribute_reward_type_treasury }
|
|
scope:tributary_scope = { add_gold = scope:tribute_reward_type_treasury }
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_give_artifact_effect = {
|
|
scope:tribute_reward_type_artifact = { set_owner = scope:tributary_scope }
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_give_innovation_progress_effect = {
|
|
if = {
|
|
limit = {
|
|
scope:tributary_scope = {
|
|
has_variable = tribute_reward_fascination_progress
|
|
}
|
|
}
|
|
scope:tributary_scope.culture = {
|
|
add_fascination_progress = tribute_reward_fascination_progress_value
|
|
}
|
|
}
|
|
else = {
|
|
scope:tributary_scope.culture = {
|
|
add_innovation_progress = {
|
|
value = tribute_reward_innovation_progress_value
|
|
target = scope:tribute_reward_type_innovation
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_give_development_effect = {
|
|
scope:tributary_scope.capital_county = {
|
|
add_county_modifier = {
|
|
modifier = suzerain_trade_post_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_give_monk_effect = {
|
|
scope:tributary_scope = {
|
|
add_courtier = scope:new_monk
|
|
current_travel_plan = {
|
|
add_companion = scope:new_monk
|
|
}
|
|
}
|
|
scope:overlord_scope.faith = {
|
|
change_fervor = {
|
|
value = 5
|
|
desc = fervor_gain_suzerain_missionaries
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_give_legitimacy_effect = {
|
|
scope:tributary_scope = {
|
|
add_legitimacy_effect = { LEGITIMACY = tribute_generic_legitimacy_reward_value }
|
|
}
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_rejection_effect = {
|
|
scope:tributary_scope = {
|
|
add_legitimacy = {
|
|
value = tribute_legitimacy_reward_value
|
|
multiply = -1
|
|
}
|
|
add_opinion = {
|
|
target = scope:overlord_scope
|
|
modifier = annoyed_opinion
|
|
opinion = -50
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_effect tribute_mission_1000_generic_reward_effect = {
|
|
scope:tributary_scope = {
|
|
if = {
|
|
limit = { is_ai = yes }
|
|
add_opinion = {
|
|
modifier = pleased_opinion
|
|
opinion = 40
|
|
target = scope:overlord_scope
|
|
}
|
|
}
|
|
if = {
|
|
limit = { exists = scope:tribute_reward_type_legitimacy }
|
|
tribute_mission_1000_give_legitimacy_effect = yes
|
|
}
|
|
else = {
|
|
add_legitimacy_effect = { LEGITIMACY = tribute_legitimacy_reward_value }
|
|
}
|
|
#Disburse the Bunga Mas modifier!
|
|
if = {
|
|
limit = { var:tribute_mission_type ?= flag:bunga_mas_tribute }
|
|
add_character_modifier = {
|
|
modifier = bunga_mas_tribute_modifier
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Actually disburse the reward
|
|
scripted_effect tribute_mission_1000_disburse_reward_effect = {
|
|
if = {
|
|
limit = {
|
|
exists = scope:tribute_reward_type_treasury
|
|
scope:decided_on_treasury_reward = flag:yes
|
|
}
|
|
tribute_mission_1000_give_treasury_effect = yes
|
|
}
|
|
if = {
|
|
limit = { exists = scope:tribute_reward_type_artifact }
|
|
tribute_mission_1000_give_artifact_effect = yes
|
|
}
|
|
if = {
|
|
limit = { exists = scope:tribute_reward_type_innovation }
|
|
tribute_mission_1000_give_innovation_progress_effect = yes
|
|
}
|
|
if = {
|
|
limit = { exists = scope:tribute_reward_type_development }
|
|
tribute_mission_1000_give_development_effect = yes
|
|
}
|
|
if = {
|
|
limit = { exists = scope:tribute_reward_type_monk }
|
|
tribute_mission_1000_give_monk_effect = yes
|
|
}
|
|
#Generic Legitimacy is baked into the tribute_mission_1000_generic_reward_effect
|
|
|
|
scope:tributary_scope = {
|
|
if = { # if the contract uses Subject Standing, grant some
|
|
limit = { subject_standing >= 0 }
|
|
hidden_effect = {
|
|
send_interface_toast = {
|
|
type = event_toast_effect_good
|
|
title = tribute_mission_tributary_subject_standing_gain_title
|
|
left_icon = this
|
|
right_icon = scope:overlord_scope
|
|
|
|
# add minimum 5, maximum 30, average 10 (if unsuccessful) or 17.5 (if successful)
|
|
add_subject_standing = {
|
|
value = 10
|
|
if = {
|
|
limit = { exists = scope:successful_influence }
|
|
add = {
|
|
integer_range = {
|
|
min = 0
|
|
max = 15
|
|
}
|
|
}
|
|
}
|
|
add = {
|
|
integer_range = {
|
|
min = -5
|
|
max = 5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = { exists = scope:successful_influence }
|
|
custom_tooltip = tribute_mission_tributary_subject_standing_gain_tt_major
|
|
}
|
|
else = {
|
|
custom_tooltip = tribute_mission_tributary_subject_standing_gain_tt_minor
|
|
}
|
|
}
|
|
}
|
|
|
|
tribute_mission_1000_generic_reward_effect = yes
|
|
}
|
|
|
|
|
|
### INFLUENCE ###
|
|
#Influence duel
|
|
scripted_effect tribute_mission_1000_determine_duel_skill_effect = {
|
|
random_list = {
|
|
10 = {
|
|
trigger = {
|
|
scope:tributary_scope = { highest_skill = diplomacy }
|
|
}
|
|
tribute_mission_1000_duel_effect = {
|
|
INFLUENCED_REWARD = $INFLUENCED_REWARD$
|
|
REWARD_INCREMENT = $REWARD_INCREMENT$
|
|
SKILL = diplomacy
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
scope:tributary_scope = { highest_skill = martial }
|
|
}
|
|
tribute_mission_1000_duel_effect = {
|
|
INFLUENCED_REWARD = $INFLUENCED_REWARD$
|
|
REWARD_INCREMENT = $REWARD_INCREMENT$
|
|
SKILL = martial
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
scope:tributary_scope = { highest_skill = stewardship }
|
|
}
|
|
tribute_mission_1000_duel_effect = {
|
|
INFLUENCED_REWARD = $INFLUENCED_REWARD$
|
|
REWARD_INCREMENT = $REWARD_INCREMENT$
|
|
SKILL = stewardship
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
scope:tributary_scope = { highest_skill = intrigue }
|
|
}
|
|
tribute_mission_1000_duel_effect = {
|
|
INFLUENCED_REWARD = $INFLUENCED_REWARD$
|
|
REWARD_INCREMENT = $REWARD_INCREMENT$
|
|
SKILL = intrigue
|
|
}
|
|
}
|
|
10 = {
|
|
trigger = {
|
|
scope:tributary_scope = { highest_skill = learning }
|
|
}
|
|
tribute_mission_1000_duel_effect = {
|
|
INFLUENCED_REWARD = $INFLUENCED_REWARD$
|
|
REWARD_INCREMENT = $REWARD_INCREMENT$
|
|
SKILL = learning
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Actual duel
|
|
scripted_effect tribute_mission_1000_duel_effect = {
|
|
duel = {
|
|
skill = $SKILL$
|
|
target = scope:receiving_character
|
|
#You convince them
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
}
|
|
modifier = {
|
|
culture = { has_cultural_parameter = more_successful_kowtows }
|
|
add = 25
|
|
}
|
|
desc = tribute_mission.1000.success.desc
|
|
send_interface_toast = {
|
|
type = event_toast_effect_good
|
|
title = tribute_mission.1000.success.t
|
|
left_icon = scope:tributary_scope
|
|
right_icon = scope:receiving_character
|
|
#Woo!
|
|
save_scope_value_as = {
|
|
name = successful_influence
|
|
value = flag:$INFLUENCED_REWARD$
|
|
}
|
|
if = {
|
|
limit = { $REWARD_INCREMENT$ = 0 }
|
|
show_as_tooltip = { tribute_mission_1000_give_treasury_effect = yes }
|
|
}
|
|
if = {
|
|
limit = { $REWARD_INCREMENT$ = 1 }
|
|
custom_tooltip = tribute_mission.1000.artifact.tt
|
|
}
|
|
if = {
|
|
limit = { $REWARD_INCREMENT$ = 2 }
|
|
custom_tooltip = tribute_mission.1000.innovation.tt
|
|
}
|
|
if = {
|
|
limit = { $REWARD_INCREMENT$ = 3 }
|
|
show_as_tooltip = { tribute_mission_1000_give_development_effect = yes }
|
|
}
|
|
}
|
|
}
|
|
#Hmm no
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
}
|
|
desc = tribute_mission.1000.failure.desc
|
|
send_interface_toast = {
|
|
type = event_toast_effect_bad
|
|
title = tribute_mission.1000.failure.t
|
|
left_icon = scope:tributary_scope
|
|
right_icon = scope:receiving_character
|
|
custom_tooltip = tribute_mission.1000.failure.tt
|
|
#Ayy
|
|
stress_impact = { base = miniscule_stress_impact_gain }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Tributary: Fork over Tribute
|
|
tribute_mission.1000 = {
|
|
type = character_event
|
|
title = tribute_mission.1000.t
|
|
desc = {
|
|
desc = tribute_mission.1000.intro
|
|
#Who is greeting us?
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { scope:overlord_scope = scope:receiving_character }
|
|
desc = tribute_mission.1000.intro.overlord
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:overlord_scope.diarch ?= scope:receiving_character }
|
|
desc = tribute_mission.1000.intro.diarch
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
OR = {
|
|
scope:overlord_scope.cp:councillor_steward ?= scope:receiving_character
|
|
scope:overlord_scope.cp:councillor_chancellor ?= scope:receiving_character
|
|
scope:overlord_scope.cp:councillor_spymaster ?= scope:receiving_character
|
|
scope:overlord_scope.cp:councillor_court_chaplain ?= scope:receiving_character
|
|
scope:overlord_scope.cp:councillor_marshal ?= scope:receiving_character
|
|
}
|
|
}
|
|
desc = tribute_mission.1000.intro.councillor
|
|
}
|
|
desc = tribute_mission.1000.intro.attendant
|
|
}
|
|
desc = tribute_mission.1000.desc.segway
|
|
#What did we bring?
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { var:tribute_mission_type ?= flag:bunga_mas_tribute }
|
|
desc = tribute_mission.1000.desc.bunga_mas
|
|
}
|
|
triggered_desc = {
|
|
trigger = { var:tribute_mission_type ?= flag:small_gold_tribute }
|
|
desc = tribute_mission.1000.desc.small_gold
|
|
}
|
|
triggered_desc = {
|
|
trigger = { var:tribute_mission_type ?= flag:adequate_gold_tribute }
|
|
desc = tribute_mission.1000.desc.adequate_gold
|
|
}
|
|
triggered_desc = {
|
|
trigger = { var:tribute_mission_type ?= flag:excessive_gold_tribute }
|
|
desc = tribute_mission.1000.desc.excessive_gold
|
|
}
|
|
triggered_desc = {
|
|
trigger = { var:tribute_mission_type ?= flag:small_herd_tribute }
|
|
desc = tribute_mission.1000.desc.small_herd
|
|
}
|
|
triggered_desc = {
|
|
trigger = { var:tribute_mission_type ?= flag:adequate_herd_tribute }
|
|
desc = tribute_mission.1000.desc.adequate_herd
|
|
}
|
|
triggered_desc = {
|
|
trigger = { var:tribute_mission_type ?= flag:excessive_herd_tribute }
|
|
desc = tribute_mission.1000.desc.excessive_herd
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:concubine_character }
|
|
desc = tribute_mission.1000.desc.concubine
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:eunuch_character }
|
|
desc = tribute_mission.1000.desc.eunuch
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:artifact_to_tribute }
|
|
desc = tribute_mission.1000.desc.artifact
|
|
}
|
|
}
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:receiving_character = { has_character_flag = created_attendant }
|
|
}
|
|
desc = tribute_mission.1000.outro.attendant
|
|
}
|
|
desc = tribute_mission.1000.outro
|
|
}
|
|
}
|
|
|
|
theme = tributary
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_rational
|
|
}
|
|
right_portrait = {
|
|
character = scope:receiving_character
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:tributary_scope = { var:tribute_mission_type ?= flag:bunga_mas_tribute }
|
|
}
|
|
animation = shock
|
|
}
|
|
animation = personality_honorable
|
|
}
|
|
lower_center_portrait = {
|
|
character = scope:human_tribute
|
|
trigger = { exists = scope:human_tribute }
|
|
}
|
|
#Artifact Tribute
|
|
artifact = {
|
|
trigger = { exists = scope:artifact_to_tribute }
|
|
target = scope:artifact_to_tribute
|
|
position = lower_left_portrait
|
|
}
|
|
|
|
immediate = {
|
|
tribute_mission_1000_common_arrival_effect = yes
|
|
#For the tooltip
|
|
if = {
|
|
limit = { tribute_mission_1000_can_give_treasury_trigger = yes }
|
|
tribute_mission_1000_set_treasury_reward_effect = yes
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope.culture = {
|
|
any_known_innovation = { tribute_mission_1000_eligible_innovation_trigger = yes }
|
|
}
|
|
}
|
|
scope:overlord_scope.culture = {
|
|
random_known_innovation = {
|
|
limit = { tribute_mission_1000_eligible_innovation_trigger = yes }
|
|
save_scope_as = saved_innovation
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
save_scope_as = grant_fascination
|
|
}
|
|
#What level of Bunga Mas modifier?
|
|
tribute_mission_1000_determine_bunga_mas_scale_effect = yes
|
|
}
|
|
|
|
#China: Duel for Treasury
|
|
option = {
|
|
name = tribute_mission.1000.treasury
|
|
trigger = {
|
|
scope:receiving_character = { is_ai = yes }
|
|
tribute_mission_1000_can_give_treasury_trigger = yes
|
|
}
|
|
tribute_mission_1000_determine_duel_skill_effect = { INFLUENCED_REWARD = treasury REWARD_INCREMENT = 0 }
|
|
ai_chance = { base = 100 }
|
|
}
|
|
#Duel for Artifact
|
|
option = {
|
|
name = tribute_mission.1000.artifact
|
|
trigger = {
|
|
scope:receiving_character = { is_ai = yes }
|
|
tribute_mission_1000_can_set_artifact_reward_trigger = yes
|
|
}
|
|
tribute_mission_1000_determine_duel_skill_effect = { INFLUENCED_REWARD = artifact REWARD_INCREMENT = 1 }
|
|
ai_chance = { base = 150 }
|
|
}
|
|
|
|
#Duel for Innovation
|
|
option = {
|
|
name = tribute_mission.1000.innovation
|
|
trigger = {
|
|
scope:receiving_character = { is_ai = yes }
|
|
tribute_mission_1000_can_set_innovation_reward_trigger = yes
|
|
}
|
|
tribute_mission_1000_determine_duel_skill_effect = { INFLUENCED_REWARD = innovation REWARD_INCREMENT = 2 }
|
|
ai_chance = { base = 200 }
|
|
}
|
|
|
|
#Duel for Development
|
|
option = {
|
|
name = tribute_mission.1000.development
|
|
trigger = {
|
|
scope:receiving_character = { is_ai = yes }
|
|
tribute_mission_1000_eligible_development_trigger = yes
|
|
}
|
|
tribute_mission_1000_determine_duel_skill_effect = { INFLUENCED_REWARD = development REWARD_INCREMENT = 3 }
|
|
ai_chance = { base = 100 }
|
|
}
|
|
|
|
#I'm sure it'll be fine
|
|
option = {
|
|
name = tribute_mission.1000.abstain
|
|
tribute_mission_1000_display_potential_rewards_effect = yes
|
|
ai_chance = {
|
|
base = 100
|
|
modifier = {
|
|
has_trait = arbitrary
|
|
add = 200
|
|
}
|
|
}
|
|
}
|
|
after = {
|
|
#Non-AI Receiving person: Decide on if you want to accept the human tribute
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
exists = scope:concubine_character
|
|
exists = scope:eunuch_character
|
|
}
|
|
AND = {
|
|
#If the overlord is an AI, they've already said yay/nay
|
|
scope:overlord_scope = { is_ai = no }
|
|
#... so if we're a player diarch of a player ruler, you get to decide
|
|
scope:receiving_character = { is_ai = no }
|
|
}
|
|
}
|
|
show_as_tooltip = { tribute_mission_1000_fork_over_with_notification_effect = yes }
|
|
scope:receiving_character = { trigger_event = tribute_mission.1002 }
|
|
}
|
|
#Or the Non-AI Receiving person / Hegemon gets to decide the reward
|
|
else_if = {
|
|
limit = {
|
|
scope:receiving_character = {
|
|
OR = {
|
|
is_ai = no
|
|
scope:overlord_scope = { highest_held_title_tier = tier_hegemony }
|
|
}
|
|
}
|
|
}
|
|
show_as_tooltip = { tribute_mission_1000_fork_over_with_notification_effect = yes }
|
|
scope:receiving_character = { trigger_event = tribute_mission.1005 }
|
|
}
|
|
#Or if the Receiving person is AI then we we skip the event and just generate the reward
|
|
else = {
|
|
tribute_mission_1000_fork_over_with_notification_effect = yes
|
|
scope:overlord_scope = { tribute_mission_1000_generate_reward_effect = yes }
|
|
scope:tributary_scope = { trigger_event = tribute_mission.1010 }
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
#What's their personality like?
|
|
scripted_trigger 1002_human_tribute_shy_personality_trigger = {
|
|
has_trait = shy
|
|
}
|
|
|
|
scripted_trigger 1002_human_tribute_bold_personality_trigger = {
|
|
OR = {
|
|
has_trait = brave
|
|
has_trait = gregarious
|
|
}
|
|
}
|
|
|
|
scripted_trigger 1002_human_tribute_callous_personality_trigger = {
|
|
OR = {
|
|
has_trait = cynical
|
|
has_trait = callous
|
|
}
|
|
}
|
|
|
|
scripted_trigger 1002_human_tribute_angry_personality_trigger = {
|
|
OR = {
|
|
has_trait = wrathful
|
|
has_trait = irritable
|
|
has_trait = arrogant
|
|
}
|
|
}
|
|
|
|
#Recipient: Decide on the human tribute
|
|
tribute_mission.1002 = {
|
|
type = character_event
|
|
title = tribute_mission.1002.t
|
|
desc = {
|
|
desc = tribute_mission.1002.segway
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { exists = scope:concubine_character }
|
|
desc = tribute_mission.1002.desc.concubine
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:eunuch_character ?= { has_character_flag = tribute_mission_recently_castrated }
|
|
}
|
|
desc = tribute_mission.1002.desc.new_eunuch
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:eunuch_character }
|
|
desc = tribute_mission.1002.desc.eunuch
|
|
}
|
|
}
|
|
#Some descriptive exterior words
|
|
first_valid = {
|
|
#Beauty
|
|
triggered_desc = {
|
|
trigger = {
|
|
exists = scope:concubine_character
|
|
scope:human_tribute = {
|
|
OR = {
|
|
has_trait = beauty_good_1
|
|
has_trait = beauty_good_2
|
|
has_trait = beauty_good_3
|
|
}
|
|
}
|
|
}
|
|
desc = tribute_mission.1002.beauty.concubine.good
|
|
}
|
|
#Bad Beauty
|
|
triggered_desc = {
|
|
trigger = {
|
|
exists = scope:concubine_character
|
|
scope:human_tribute = {
|
|
OR = {
|
|
has_trait = beauty_bad_1
|
|
has_trait = beauty_bad_2
|
|
has_trait = beauty_bad_3
|
|
}
|
|
}
|
|
}
|
|
desc = tribute_mission.1002.beauty.concubine.bad
|
|
}
|
|
#Physique
|
|
triggered_desc = {
|
|
trigger = {
|
|
exists = scope:concubine_character
|
|
scope:human_tribute = {
|
|
OR = {
|
|
has_trait = physique_good_1
|
|
has_trait = physique_good_2
|
|
has_trait = physique_good_3
|
|
}
|
|
}
|
|
}
|
|
desc = tribute_mission.1002.physique.concubine.good
|
|
}
|
|
#Bad Physique
|
|
triggered_desc = {
|
|
trigger = {
|
|
exists = scope:concubine_character
|
|
scope:human_tribute = {
|
|
OR = {
|
|
has_trait = physique_bad_1
|
|
has_trait = physique_bad_2
|
|
has_trait = physique_bad_3
|
|
}
|
|
}
|
|
}
|
|
desc = tribute_mission.1002.physique.concubine.bad
|
|
}
|
|
#Fallback
|
|
triggered_desc = {
|
|
trigger = { exists = scope:concubine_character }
|
|
desc = tribute_mission.1002.exterior.plain
|
|
}
|
|
}
|
|
#Some descriptive personality words
|
|
first_valid = {
|
|
#Shy
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:human_tribute = { 1002_human_tribute_shy_personality_trigger = yes }
|
|
}
|
|
desc = tribute_mission.1002.personality.shy
|
|
}
|
|
#Bold
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:human_tribute = { 1002_human_tribute_bold_personality_trigger = yes }
|
|
}
|
|
desc = tribute_mission.1002.personality.bold
|
|
}
|
|
#Cynical
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:human_tribute = { 1002_human_tribute_callous_personality_trigger = yes }
|
|
}
|
|
desc = tribute_mission.1002.personality.cynical
|
|
}
|
|
#Angry
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:human_tribute = { 1002_human_tribute_angry_personality_trigger = yes }
|
|
}
|
|
desc = tribute_mission.1002.personality.angry
|
|
}
|
|
#Fallback
|
|
desc = tribute_mission.1002.personality.fallback
|
|
}
|
|
}
|
|
|
|
theme = tributary
|
|
|
|
left_portrait = {
|
|
character = scope:receiving_character
|
|
animation = interested
|
|
}
|
|
right_portrait = {
|
|
character = scope:human_tribute
|
|
triggered_animation = {
|
|
trigger = { has_character_flag = tribute_mission_recently_castrated }
|
|
animation = severelywounded
|
|
}
|
|
triggered_animation = {
|
|
trigger = { 1002_human_tribute_shy_personality_trigger = yes }
|
|
animation = shame
|
|
}
|
|
triggered_animation = {
|
|
trigger = { 1002_human_tribute_bold_personality_trigger = yes }
|
|
animation = personality_bold
|
|
}
|
|
triggered_animation = {
|
|
trigger = { 1002_human_tribute_callous_personality_trigger = yes }
|
|
animation = personality_cynical
|
|
}
|
|
triggered_animation = {
|
|
trigger = { 1002_human_tribute_angry_personality_trigger = yes }
|
|
animation = disapproval
|
|
}
|
|
animation = personality_honorable
|
|
}
|
|
lower_right_portrait = {
|
|
character = scope:tributary_scope
|
|
}
|
|
immediate = {
|
|
tribute_mission_1000_fork_over_with_notification_effect = yes
|
|
}
|
|
#Add 'em to court
|
|
option = {
|
|
name = tribute_mission.1002.a
|
|
if = {
|
|
limit = { exists = scope:concubine_character }
|
|
tribute_mission_1000_make_courtier_effect = { HUMAN_TRIB = scope:concubine_character }
|
|
}
|
|
else = {
|
|
tribute_mission_1000_make_courtier_effect = { HUMAN_TRIB = scope:eunuch_character }
|
|
}
|
|
ai_chance = { base = 100 }
|
|
}
|
|
#Make 'em your concubine
|
|
option = {
|
|
name = tribute_mission.1002.b
|
|
trigger = {
|
|
exists = scope:concubine_character
|
|
scope:overlord_scope = scope:receiving_character
|
|
tribute_mission_1000_overlord_can_employ_concubine_trigger = yes
|
|
}
|
|
flavor = tribute_mission.1002.b.flavor
|
|
tribute_mission_1000_make_concubine_effect = yes
|
|
save_scope_value_as = {
|
|
name = appointed_concubine
|
|
value = flag:yes
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
modifier = {
|
|
add = {
|
|
value = 50
|
|
multiply = scope:concubine_character.num_of_good_genetic_traits
|
|
}
|
|
scope:concubine_character = {
|
|
num_of_good_genetic_traits > 0
|
|
trigger_if = {
|
|
limit = {
|
|
is_female = yes
|
|
}
|
|
is_aging_character = no
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:concubine_character = {
|
|
is_lowborn = no
|
|
trigger_if = {
|
|
limit = {
|
|
is_female = yes
|
|
}
|
|
is_aging_character = no
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = {
|
|
value = -50
|
|
multiply = scope:concubine_character.num_of_bad_genetic_traits
|
|
}
|
|
scope:concubine_character = {
|
|
num_of_bad_genetic_traits > 0
|
|
trigger_if = {
|
|
limit = {
|
|
is_female = yes
|
|
}
|
|
is_aging_character = no
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = {
|
|
value = -50
|
|
}
|
|
scope:concubine_character = {
|
|
is_lowborn = yes
|
|
num_of_good_genetic_traits = 0
|
|
trigger_if = {
|
|
limit = {
|
|
is_female = yes
|
|
}
|
|
is_aging_character = no
|
|
}
|
|
}
|
|
}
|
|
opinion_modifier = { # Opinion of you
|
|
who = scope:overlord_scope
|
|
opinion_target = scope:tributary_scope
|
|
multiplier = 1.0
|
|
desc = AI_OPINION_REASON
|
|
}
|
|
opinion_modifier = { # Opinion of concubine
|
|
who = scope:overlord_scope
|
|
opinion_target = scope:concubine_character
|
|
multiplier = 0.25
|
|
desc = AI_OPINION_REASON
|
|
}
|
|
compare_modifier = { # Recipient is reluctant to marry old women (procreation is a key factor)
|
|
trigger = {
|
|
scope:concubine_character = {
|
|
is_young_character = no
|
|
is_female = yes
|
|
}
|
|
}
|
|
target = scope:concubine_character
|
|
value = age
|
|
multiplier = -5
|
|
step = 1
|
|
offset = -29
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:overlord_scope = {
|
|
is_attracted_to_gender_of = scope:concubine_character
|
|
}
|
|
}
|
|
#More/Less likely based on difference in rank between tributary_scope and overlord_scope
|
|
modifier = {
|
|
add = 50
|
|
scope:tributary_scope = {
|
|
tier_difference = {
|
|
target = scope:overlord_scope
|
|
value > 1
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = -20
|
|
scope:tributary_scope = {
|
|
tier_difference = {
|
|
target = scope:overlord_scope
|
|
value < 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#Appoint 'em head Eunuch
|
|
option = {
|
|
name = tribute_mission.1002.c
|
|
trigger = {
|
|
exists = scope:eunuch_character
|
|
scope:overlord_scope = scope:receiving_character
|
|
can_employ_court_position_type = chief_eunuch_court_position
|
|
}
|
|
#Make 'em courtier
|
|
tribute_mission_1000_make_courtier_effect = { HUMAN_TRIB = scope:eunuch_character }
|
|
#Gain obligation hook
|
|
custom_tooltip = obligation_hook_tt
|
|
add_hook = {
|
|
type = obligation_hook
|
|
target = scope:eunuch_character
|
|
}
|
|
#Replace current Chief Eunuch
|
|
if = {
|
|
limit = {
|
|
employs_court_position = chief_eunuch_court_position
|
|
}
|
|
every_court_position_holder = {
|
|
type = chief_eunuch_court_position
|
|
save_temporary_scope_as = current_chief_eunuch
|
|
}
|
|
replace_court_position = {
|
|
recipient = scope:eunuch_character
|
|
holder = scope:current_chief_eunuch
|
|
court_position = chief_eunuch_court_position
|
|
}
|
|
}
|
|
#Or simply appoint new Eunuch
|
|
else = {
|
|
appoint_court_position = {
|
|
recipient = scope:eunuch_character
|
|
court_position = chief_eunuch_court_position
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = appointed_eunuch
|
|
value = flag:yes
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
opinion_modifier = {
|
|
who = scope:overlord_scope
|
|
opinion_target = scope:tributary_scope
|
|
multiplier = 0.5
|
|
}
|
|
opinion_modifier = {
|
|
who = scope:overlord_scope
|
|
opinion_target = scope:eunuch_character
|
|
multiplier = 0.5
|
|
}
|
|
modifier = {
|
|
add = {
|
|
value = 50
|
|
subtract = scope:eunuch_character.age
|
|
}
|
|
}
|
|
modifier = {
|
|
add = {
|
|
add = scope:eunuch_character.diplomacy
|
|
add = scope:eunuch_character.intrigue
|
|
add = scope:eunuch_character.stewardship
|
|
add = scope:eunuch_character.martial
|
|
add = scope:eunuch_character.learning
|
|
}
|
|
}
|
|
modifier = {
|
|
scope:eunuch_character = { has_trait = beardless_eunuch }
|
|
add = 25
|
|
}
|
|
}
|
|
}
|
|
#Um... nah
|
|
option = {
|
|
name = tribute_mission.1002.d
|
|
custom_tooltip = tribute_mission.1002.d.tt
|
|
if = {
|
|
limit = { exists = scope:concubine_character }
|
|
save_scope_value_as = {
|
|
name = rejected_concubine
|
|
value = flag:yes
|
|
}
|
|
}
|
|
else = {
|
|
save_scope_value_as = {
|
|
name = rejected_eunuch
|
|
value = flag:yes
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 10
|
|
modifier = {
|
|
has_trait = paranoid
|
|
add = 1000
|
|
}
|
|
}
|
|
}
|
|
after = {
|
|
#Moving on
|
|
trigger_event = tribute_mission.1005
|
|
}
|
|
}
|
|
|
|
#Recipient: What do you give?
|
|
tribute_mission.1005 = {
|
|
type = character_event
|
|
title = {
|
|
first_valid = {
|
|
triggered_desc = { # Bunga Mas
|
|
trigger = { exists = scope:newly_created_bunga_mas }
|
|
desc = tribute_mission.1005.t.ai.bunga_mas
|
|
}
|
|
triggered_desc = { # Bunga Mas
|
|
trigger = { tribute_mission_1000_bunga_mas_tributary_trigger = yes }
|
|
desc = tribute_mission.1005.t.bunga_mas
|
|
}
|
|
triggered_desc = { # Gold
|
|
trigger = { tribute_mission_1000_gold_tributary_trigger = yes }
|
|
desc = tribute_mission.1005.t.gold
|
|
}
|
|
triggered_desc = { # Herd
|
|
trigger = { tribute_mission_1000_herd_tributary_trigger = yes }
|
|
desc = tribute_mission.1005.t.herd
|
|
}
|
|
triggered_desc = { # Concubine
|
|
trigger = { tribute_mission_1000_concubine_tributary_trigger = yes }
|
|
desc = tribute_mission.1005.t.concubine
|
|
}
|
|
triggered_desc = { # Eunuch
|
|
trigger = { tribute_mission_1000_eunuch_tributary_trigger = yes }
|
|
desc = tribute_mission.1005.t.eunuch
|
|
}
|
|
triggered_desc = { # Artifact
|
|
trigger = { tribute_mission_1000_artifact_tributary_trigger = yes }
|
|
desc = tribute_mission.1005.t.artifact
|
|
}
|
|
desc = tribute_mission.1005.t
|
|
}
|
|
}
|
|
desc = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
OR = {
|
|
exists = scope:concubine_character
|
|
exists = scope:eunuch_character
|
|
}
|
|
}
|
|
desc = tribute_mission.1005.intro.human_tribute
|
|
}
|
|
desc = tribute_mission.1005.intro
|
|
}
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
OR = {
|
|
exists = scope:newly_created_bunga_mas
|
|
tribute_mission_1000_bunga_mas_tributary_trigger = yes
|
|
}
|
|
}
|
|
desc = tribute_mission.1005.desc.bunga_mas
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:tributary_scope.var:tribute_mission_type ?= flag:small_gold_tribute }
|
|
desc = tribute_mission.1005.desc.small_gold
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:tributary_scope.var:tribute_mission_type ?= flag:adequate_gold_tribute }
|
|
desc = tribute_mission.1005.desc.adequate_gold
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:tributary_scope.var:tribute_mission_type ?= flag:excessive_gold_tribute }
|
|
desc = tribute_mission.1005.desc.excessive_gold
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:tributary_scope.var:tribute_mission_type ?= flag:small_herd_tribute }
|
|
desc = tribute_mission.1005.desc.small_herd
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:tributary_scope.var:tribute_mission_type ?= flag:adequate_herd_tribute }
|
|
desc = tribute_mission.1005.desc.adequate_herd
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:tributary_scope.var:tribute_mission_type ?= flag:excessive_herd_tribute }
|
|
desc = tribute_mission.1005.desc.excessive_herd
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:rejected_concubine }
|
|
desc = tribute_mission.1005.desc.rejected_concubine
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:appointed_concubine }
|
|
desc = tribute_mission.1005.desc.appointed_concubine
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:concubine_character }
|
|
desc = tribute_mission.1005.desc.concubine
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:rejected_eunuch }
|
|
desc = tribute_mission.1005.desc.rejected_eunuch
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:appointed_eunuch }
|
|
desc = tribute_mission.1005.desc.appointed_eunuch
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:eunuch_character }
|
|
desc = tribute_mission.1005.desc.eunuch
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:artifact_to_tribute }
|
|
desc = tribute_mission.1005.desc.artifact
|
|
}
|
|
#Fallback
|
|
desc = tribute_mission.1005.desc
|
|
}
|
|
}
|
|
|
|
theme = tributary
|
|
|
|
left_portrait = {
|
|
character = root
|
|
triggered_animation = {
|
|
trigger = { exists = scope:newly_created_bunga_mas }
|
|
animation = disbelief
|
|
}
|
|
animation = personality_rational
|
|
}
|
|
right_portrait = {
|
|
character = scope:tributary_scope
|
|
triggered_animation = {
|
|
trigger = { exists = scope:newly_created_bunga_mas }
|
|
animation = admiration
|
|
}
|
|
animation = personality_honorable
|
|
}
|
|
#Human Tribute
|
|
lower_center_portrait = {
|
|
trigger = { exists = scope:human_tribute }
|
|
character = scope:human_tribute
|
|
}
|
|
#Artifact Tribute
|
|
artifact = {
|
|
trigger = { exists = scope:artifact_to_tribute }
|
|
target = scope:artifact_to_tribute
|
|
position = lower_left_portrait
|
|
}
|
|
#Bunga Mas
|
|
artifact = {
|
|
trigger = { exists = scope:newly_created_bunga_mas }
|
|
target = scope:newly_created_bunga_mas
|
|
position = lower_right_portrait
|
|
}
|
|
immediate = {
|
|
#For the tooltip
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope.culture = {
|
|
any_known_innovation = { tribute_mission_1000_eligible_innovation_trigger = yes }
|
|
}
|
|
}
|
|
scope:overlord_scope.culture = {
|
|
random_known_innovation = {
|
|
limit = { tribute_mission_1000_eligible_innovation_trigger = yes }
|
|
save_scope_as = saved_innovation
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
save_scope_as = grant_fascination
|
|
}
|
|
#Ful-fix
|
|
save_scope_value_as = {
|
|
name = decided_on_treasury_reward
|
|
value = flag:no
|
|
}
|
|
}
|
|
#China: Treasury / Trade Goods
|
|
option = {
|
|
name = tribute_mission.1005.treasury
|
|
trigger = { tribute_mission_1000_can_give_treasury_trigger = yes }
|
|
show_as_tooltip = { tribute_mission_1000_give_treasury_effect = yes }
|
|
#Default is set in the immediate
|
|
save_scope_value_as = {
|
|
name = decided_on_treasury_reward
|
|
value = flag:yes
|
|
}
|
|
ai_chance = {
|
|
base = 0
|
|
# If we were not influenced, just add a base chance
|
|
modifier = {
|
|
NOT = { exists = scope:successful_influence }
|
|
add = 20
|
|
}
|
|
# Always choose this option if we were successfully influenced
|
|
modifier = {
|
|
scope:successful_influence ?= flag:treasury
|
|
add = 1000
|
|
}
|
|
}
|
|
}
|
|
#Artifact
|
|
option = {
|
|
name = tribute_mission.1005.artifact
|
|
trigger = { tribute_mission_1000_can_set_artifact_reward_trigger = yes }
|
|
#Inform the player what will happen (since the artifact doesn't exist yet)
|
|
custom_tooltip = tribute_mission.1005.artifact.tt
|
|
tribute_mission_1000_set_artifact_reward_effect = yes
|
|
ai_chance = {
|
|
base = 0
|
|
# If we were not influenced, just add a base chance
|
|
modifier = {
|
|
NOT = { exists = scope:successful_influence }
|
|
add = 20
|
|
}
|
|
# Always choose this option if we were successfully influenced
|
|
modifier = {
|
|
scope:successful_influence ?= flag:artifact
|
|
add = 1000
|
|
}
|
|
}
|
|
}
|
|
#Innovation
|
|
option = {
|
|
name = tribute_mission.1005.innovation
|
|
trigger = { tribute_mission_1000_can_set_innovation_reward_trigger = yes }
|
|
tribute_mission_1000_set_innovation_reward_effect = yes
|
|
#Display the effects
|
|
show_as_tooltip = {
|
|
if = {
|
|
limit = { exists = scope:saved_innovation }
|
|
scope:tributary_scope.culture = {
|
|
add_innovation_progress = {
|
|
value = tribute_reward_innovation_progress_value
|
|
target = scope:saved_innovation
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = { exists = scope:grant_fascination }
|
|
scope:tributary_scope.culture = {
|
|
add_fascination_progress = tribute_reward_fascination_progress_value
|
|
}
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 0
|
|
# If we were not influenced, just add a base chance
|
|
modifier = {
|
|
NOT = { exists = scope:successful_influence }
|
|
add = 20
|
|
}
|
|
# Always choose this option if we were successfully influenced
|
|
modifier = {
|
|
scope:successful_influence ?= flag:innovation
|
|
add = 1000
|
|
}
|
|
}
|
|
}
|
|
#Development
|
|
option = {
|
|
name = tribute_mission.1005.development
|
|
trigger = { tribute_mission_1000_eligible_development_trigger = yes }
|
|
show_as_tooltip = { tribute_mission_1000_give_development_effect = yes }
|
|
tribute_mission_1000_set_development_reward_effect = yes
|
|
ai_chance = {
|
|
base = 0
|
|
# If we were not influenced, just add a base chance
|
|
modifier = {
|
|
NOT = { exists = scope:successful_influence }
|
|
add = 20
|
|
}
|
|
# Always choose this option if we were successfully influenced
|
|
modifier = {
|
|
scope:successful_influence ?= flag:development
|
|
add = 1000
|
|
}
|
|
}
|
|
}
|
|
#Monk
|
|
option = {
|
|
name = tribute_mission.1005.monk
|
|
trigger = { tribute_mission_1000_eligible_for_monk_trigger = yes }
|
|
show_as_tooltip = { tribute_mission_1000_give_monk_effect = yes }
|
|
tribute_mission_1000_set_monk_reward_effect = yes
|
|
ai_chance = {
|
|
base = 0
|
|
# If we were not influenced, just add a base chance
|
|
modifier = {
|
|
NOT = { exists = scope:successful_influence }
|
|
add = 100
|
|
}
|
|
}
|
|
}
|
|
#Generic Legitimacy
|
|
option = {
|
|
name = tribute_mission.1005.legitimacy
|
|
show_as_tooltip = { tribute_mission_1000_give_legitimacy_effect = yes }
|
|
tribute_mission_1000_set_legitimacy_reward_effect = yes
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
#Rejection
|
|
option = {
|
|
name = imperial_examination.7100.b.singular #I refuse to accept mediocrity not a tributary we can reject them.
|
|
trigger = {
|
|
NOT = { government_has_flag = government_is_mandala }
|
|
}
|
|
show_as_tooltip = { tribute_mission_1000_rejection_effect = yes }
|
|
scope:tributary_scope = { set_variable = new_overlord_unable_to_accept_tribute }
|
|
save_scope_value_as = {
|
|
name = tribute_reward_type_rejection
|
|
value = flag:yes
|
|
}
|
|
ai_chance = {
|
|
base = 0
|
|
}
|
|
}
|
|
after = {
|
|
if = {
|
|
limit = {
|
|
scope:tributary_scope = { has_variable = new_overlord_unable_to_accept_tribute }
|
|
}
|
|
scope:tributary_scope = { trigger_event = tribute_mission.9800 }
|
|
}
|
|
else = {
|
|
tribute_mission_1000_fork_over_with_notification_effect = yes
|
|
show_as_tooltip = { tribute_mission_1000_common_arrival_effect = yes }
|
|
if = {
|
|
limit = {
|
|
scope:tributary_scope = {
|
|
subject_standing > seal_of_investiture_minimum_subject_standing
|
|
NOT = {
|
|
any_character_artifact = {
|
|
OR = {
|
|
artifact_type = seal_of_investiture
|
|
artifact_type = seal_of_investiture_court
|
|
}
|
|
}
|
|
}
|
|
}
|
|
scope:overlord_scope = {
|
|
primary_title = title:h_china
|
|
this = scope:receiving_character
|
|
}
|
|
}
|
|
trigger_event = tribute_mission.1006
|
|
}
|
|
else_if = {
|
|
limit = { scope:tributary_scope = { is_tributary = no } }
|
|
scope:tributary_scope = {
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope = { has_royal_court = yes }
|
|
scope:overlord_scope = scope:receiving_character
|
|
}
|
|
trigger_event = tribute_mission.3008
|
|
}
|
|
else = { trigger_event = tribute_mission.1008 }
|
|
}
|
|
}
|
|
else = {
|
|
scope:tributary_scope = {
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope = { has_royal_court = yes }
|
|
scope:overlord_scope = scope:receiving_character
|
|
}
|
|
trigger_event = tribute_mission.3010
|
|
}
|
|
else = { trigger_event = tribute_mission.1010 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_trigger tribute_mission_1006_eligible_scribe_trigger = {
|
|
is_physically_able_ai_adult = yes
|
|
OR = {
|
|
#Someone new?
|
|
AND = {
|
|
has_no_particular_noble_roots_trigger = yes
|
|
learning > 10
|
|
culture = scope:overlord_scope.culture
|
|
}
|
|
#A previous scribe
|
|
has_variable = tribute_mission_1006_scribe
|
|
}
|
|
}
|
|
|
|
scripted_effect tribute_mission_1006_eligible_scribe_scope_effect = {
|
|
scope:overlord_scope = {
|
|
# Try to grab someone from a suitable court position first
|
|
random_courtier = {
|
|
limit = { has_court_position = court_artificer_court_position }
|
|
save_scope_as = scribe_character
|
|
set_variable = tribute_mission_1006_scribe
|
|
}
|
|
if = {
|
|
limit = { NOT = { exists = scope:scribe_character } }
|
|
court_position:chronicler_court_position ?= {
|
|
save_scope_as = scribe_character
|
|
set_variable = tribute_mission_1006_scribe
|
|
}
|
|
}
|
|
if = {
|
|
limit = { NOT = { exists = scope:scribe_character } }
|
|
court_position:antiquarian_court_position ?= {
|
|
save_scope_as = scribe_character
|
|
set_variable = tribute_mission_1006_scribe
|
|
}
|
|
}
|
|
|
|
# If we can't find an official scribe, try to find one in the crowd
|
|
if = {
|
|
limit = { NOT = { exists = scope:scribe_character } }
|
|
random_courtier = {
|
|
limit = { tribute_mission_1006_eligible_scribe_trigger = yes }
|
|
save_scope_as = scribe_character
|
|
set_variable = tribute_mission_1006_scribe
|
|
}
|
|
}
|
|
# Or in the city
|
|
if = {
|
|
limit = { NOT = { exists = scope:scribe_character } }
|
|
random_pool_character = {
|
|
province = scope:overlord_scope.capital_province
|
|
limit = { tribute_mission_1006_eligible_scribe_trigger = yes }
|
|
save_scope_as = scribe_character
|
|
set_variable = tribute_mission_1006_scribe
|
|
}
|
|
}
|
|
# If all else fails, make one
|
|
if = {
|
|
limit = { NOT = { exists = scope:scribe_character } }
|
|
create_character = {
|
|
template = random_learned_eunuch_character
|
|
location = scope:overlord_scope.capital_province
|
|
culture = scope:overlord_scope.capital_province.culture
|
|
faith = scope:overlord_scope.capital_province.faith
|
|
dynasty = none
|
|
save_scope_as = scribe_character
|
|
after_creation = { set_variable = tribute_mission_1006_scribe }
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = { NOT = { exists = scope:scribe_character } }
|
|
error_log = "Failed to create a valid scribe in tribute_mission_1006_eligible_scribe_scope_effect!"
|
|
}
|
|
}
|
|
|
|
#Overlord: Decide whether to grant a Seal of Investiture or not
|
|
tribute_mission.1006 = {
|
|
type = character_event
|
|
title = tribute_mission.1006.t
|
|
desc = tribute_mission.1006.desc
|
|
theme = tributary
|
|
override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_duty" }
|
|
immediate = {
|
|
tribute_mission_1006_eligible_scribe_scope_effect = yes
|
|
}
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_honorable
|
|
}
|
|
right_portrait = {
|
|
character = scope:tributary_scope
|
|
animation = personality_rational
|
|
}
|
|
|
|
#Grant the Seal
|
|
option = {
|
|
name = tribute_mission.1006.grant
|
|
trigger = {
|
|
trigger_if = {
|
|
limit = {
|
|
scope:receiving_character = {
|
|
is_ai = yes
|
|
}
|
|
}
|
|
treasury > tribute_seal_of_investiture_cost
|
|
}
|
|
trigger_else = {
|
|
always = yes #Humans can always get one
|
|
}
|
|
}
|
|
show_as_unavailable = { always = yes }
|
|
custom_tooltip = {
|
|
text = tribute_mission.1006.grant.tt
|
|
create_artifact_imperial_seal_effect = {
|
|
OWNER = scope:receiving_character
|
|
SMITH = scope:scribe_character
|
|
}
|
|
}
|
|
remove_treasury = tribute_seal_of_investiture_cost
|
|
add_legitimacy = 50
|
|
scope:tributary_scope = {
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope = { has_royal_court = yes }
|
|
}
|
|
trigger_event = tribute_mission.3007
|
|
}
|
|
else = { trigger_event = tribute_mission.1007 }
|
|
}
|
|
|
|
# do not change from making this only the scripted value; add additions to the value itself if needed
|
|
ai_will_select = scope:tributary_scope.tribute_mission_seal_of_investiture_ai_will_select
|
|
}
|
|
#Decline to grant the Seal
|
|
option = {
|
|
name = {
|
|
text = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { treasury < tribute_seal_of_investiture_cost }
|
|
desc = tribute_mission.1006.decline.no_money
|
|
}
|
|
desc = tribute_mission.1006.decline.dont_wanna
|
|
}
|
|
}
|
|
}
|
|
add_legitimacy = -50
|
|
reverse_add_opinion = {
|
|
target = scope:tributary_scope
|
|
modifier = refused_seal_of_investiture_opinion
|
|
opinion = -50
|
|
}
|
|
scope:tributary_scope = {
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope = { has_royal_court = yes }
|
|
}
|
|
trigger_event = tribute_mission.3010
|
|
}
|
|
else = { trigger_event = tribute_mission.1010 }
|
|
}
|
|
|
|
# do not change from making this only the scripted value; add additions to the value itself if needed
|
|
ai_will_select = scope:tributary_scope.tribute_mission_no_seal_of_investiture_ai_will_select
|
|
}
|
|
}
|
|
|
|
### IS THIS ACTUALLY USED? (Hegemons that receive Tributary scopes should always have Royal Courts)
|
|
#Tributary: Receive the Seal of Investiture
|
|
tribute_mission.1007 = {
|
|
type = character_event
|
|
title = tribute_mission.1007.t
|
|
desc = tribute_mission.1007.desc
|
|
theme = tributary
|
|
override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_duty" }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_rational
|
|
}
|
|
artifact = {
|
|
trigger = { exists = scope:tribute_reward_type_artifact }
|
|
target = scope:seal_of_investiture_scope
|
|
position = lower_center_portrait
|
|
}
|
|
right_portrait = {
|
|
character = scope:receiving_character
|
|
animation = personality_honorable
|
|
}
|
|
|
|
#Grant the Seal
|
|
option = {
|
|
name = tribute_mission.1007.a
|
|
scope:seal_of_investiture_scope = {
|
|
set_owner = scope:tributary_scope
|
|
}
|
|
|
|
}
|
|
after = {
|
|
scope:tributary_scope = {
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope = { has_royal_court = yes }
|
|
}
|
|
trigger_event = tribute_mission.3010
|
|
}
|
|
else = { trigger_event = tribute_mission.1010 }
|
|
}
|
|
}
|
|
}
|
|
|
|
### ARE THESE ACTUALLY USED? (Hegemons that receive Tributary scopes should always have Royal Courts)
|
|
#Tributary: Decide whether to become a Tributary or not
|
|
tribute_mission.1008 = {
|
|
type = character_event
|
|
title = tribute_mission.1008.t
|
|
desc = tribute_mission.1008.desc
|
|
theme = tributary
|
|
override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_duty" }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_rational
|
|
}
|
|
right_portrait = {
|
|
character = scope:receiving_character
|
|
animation = personality_honorable
|
|
}
|
|
|
|
#Become a Tributary
|
|
option = {
|
|
name = tribute_mission.1008.a
|
|
start_tributary_interaction_effect = {
|
|
TRIBUTARY = scope:tributary_scope
|
|
SUZERAIN = scope:overlord_scope
|
|
}
|
|
scope:overlord_scope = {
|
|
send_interface_message = {
|
|
type = event_tribute_good_text
|
|
title = tribute_mission.new_tributary.title
|
|
left_icon = scope:tributary_scope
|
|
desc = tribute_mission.new_tributary.desc
|
|
}
|
|
}
|
|
}
|
|
#No thanks
|
|
option = {
|
|
name = tribute_mission.1008.b
|
|
}
|
|
after = {
|
|
trigger_event = tribute_mission.1010
|
|
}
|
|
}
|
|
|
|
scripted_effect tribute_mission_1010_complete_effect = {
|
|
scope:tributary_scope = {
|
|
#Scaling grace
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
var:tribute_mission_type ?= flag:excessive_gold_tribute
|
|
var:tribute_mission_type ?= flag:excessive_herd_tribute
|
|
AND = {
|
|
var:tribute_mission_type ?= flag:artifact_tribute
|
|
scope:artifact_to_tribute ?= {
|
|
OR = {
|
|
rarity = famed
|
|
rarity = illustrious
|
|
}
|
|
}
|
|
}
|
|
exists = scope:appointed_concubine
|
|
exists = scope:appointed_eunuch
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = tribute_mission_grace
|
|
value = scope:overlord_scope
|
|
years = tribute_mission_cooldown_most_years
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
OR = {
|
|
var:tribute_mission_type ?= flag:adequate_gold_tribute
|
|
var:tribute_mission_type ?= flag:adequate_herd_tribute
|
|
AND = {
|
|
var:tribute_mission_type ?= flag:artifact_tribute
|
|
scope:artifact_to_tribute ?= { rarity = masterwork }
|
|
}
|
|
exists = scope:concubine_character
|
|
exists = scope:eunuch_character
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = tribute_mission_grace
|
|
value = scope:overlord_scope
|
|
years = tribute_mission_cooldown_more_years
|
|
}
|
|
}
|
|
else = {
|
|
set_variable = {
|
|
name = tribute_mission_grace
|
|
value = scope:overlord_scope
|
|
years = tribute_mission_cooldown_years
|
|
}
|
|
}
|
|
#Clean up & head back home
|
|
tribute_mission_clean_up_variables_effect = yes
|
|
tribute_mission_clean_up_request_variables_effect = yes
|
|
current_travel_plan ?= { resume_travel_plan = yes }
|
|
}
|
|
scope:receiving_character = {
|
|
if = {
|
|
limit = { has_character_flag = created_attendant }
|
|
#Clean 'em up
|
|
trigger_event = tribute_mission.0005
|
|
}
|
|
}
|
|
scope:artifact_to_tribute ?= {
|
|
remove_variable = is_tribute_mission_artifact
|
|
set_variable = {
|
|
name = given_via_tribute_mission
|
|
value = scope:tributary_scope
|
|
}
|
|
if = {
|
|
limit = { has_variable = given_via_tribute_mission }
|
|
#Error supression
|
|
}
|
|
}
|
|
}
|
|
|
|
#Tributary: Receive reward, go home
|
|
tribute_mission.1010 = {
|
|
type = character_event
|
|
title = {
|
|
first_valid = {
|
|
#Treasury
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_treasury }
|
|
desc = tribute_mission.1010.t.treasury
|
|
}
|
|
#Artifact
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_artifact }
|
|
desc = tribute_mission.1010.t.artifact
|
|
}
|
|
#Innovation
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_innovation }
|
|
desc = tribute_mission.1010.t.innovation
|
|
}
|
|
#Development
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_development }
|
|
desc = tribute_mission.1010.t.development
|
|
}
|
|
#Monk
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_monk }
|
|
desc = tribute_mission.1010.t.monk
|
|
}
|
|
#Legitimacy
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_legitimacy }
|
|
desc = tribute_mission.1010.t.legitimacy
|
|
}
|
|
desc = tribute_mission.1010.t
|
|
}
|
|
}
|
|
desc = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { exists = scope:seal_of_investiture_scope }
|
|
desc = tribute_mission.1010.intro.postseal
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:receiving_character = { has_character_flag = created_attendant }
|
|
}
|
|
desc = tribute_mission.1010.intro.attendant
|
|
}
|
|
desc = tribute_mission.1010.intro
|
|
}
|
|
first_valid = {
|
|
#Treasury
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_treasury }
|
|
desc = tribute_mission.1010.desc.treasury
|
|
}
|
|
#Artifact
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_artifact }
|
|
desc = tribute_mission.1010.desc.artifact
|
|
}
|
|
#Innovation
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_innovation }
|
|
desc = tribute_mission.1010.desc.innovation
|
|
}
|
|
#Development
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_development }
|
|
desc = tribute_mission.1010.desc.development
|
|
}
|
|
#Monk
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_monk }
|
|
desc = tribute_mission.1010.desc.monk
|
|
}
|
|
#Legitimacy
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_legitimacy }
|
|
desc = tribute_mission.1010.desc.legitimacy
|
|
}
|
|
}
|
|
desc = tribute_mission.1010.outro
|
|
}
|
|
theme = tributary
|
|
left_portrait = {
|
|
character = root
|
|
animation = personality_rational
|
|
}
|
|
artifact = {
|
|
trigger = { exists = scope:tribute_reward_type_artifact }
|
|
target = scope:tribute_reward_type_artifact
|
|
position = lower_center_portrait
|
|
}
|
|
right_portrait = {
|
|
character = scope:receiving_character
|
|
animation = personality_honorable
|
|
}
|
|
immediate = {
|
|
tribute_mission_1000_disburse_reward_effect = yes
|
|
}
|
|
#Thanks, bye!
|
|
option = {
|
|
name = tribute_mission.1010.a
|
|
}
|
|
after = {
|
|
#Clean up variables & set up cooldown
|
|
tribute_mission_1010_complete_effect = yes
|
|
}
|
|
}
|
|
|
|
|
|
### COURT EVENTS ###
|
|
|
|
#Tributary: Fork over Tribute, try to influence reward
|
|
tribute_mission.3000 = {
|
|
type = court_event
|
|
title = tribute_mission.3000.t
|
|
desc = {
|
|
desc = tribute_mission.3000.intro
|
|
#Who is greeting us?
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { scope:overlord_scope = scope:receiving_character }
|
|
desc = tribute_mission.3000.intro.overlord
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:overlord_scope.diarch ?= scope:receiving_character }
|
|
desc = tribute_mission.3000.intro.diarch
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
OR = {
|
|
scope:overlord_scope.cp:councillor_steward ?= scope:receiving_character
|
|
scope:overlord_scope.cp:councillor_chancellor ?= scope:receiving_character
|
|
scope:overlord_scope.cp:councillor_spymaster ?= scope:receiving_character
|
|
scope:overlord_scope.cp:councillor_court_chaplain ?= scope:receiving_character
|
|
scope:overlord_scope.cp:councillor_marshal ?= scope:receiving_character
|
|
}
|
|
}
|
|
desc = tribute_mission.3000.intro.councillor
|
|
}
|
|
desc = tribute_mission.3000.intro.attendant
|
|
}
|
|
desc = tribute_mission.3000.desc.segway
|
|
#What did we bring?
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { var:tribute_mission_type ?= flag:bunga_mas_tribute }
|
|
desc = tribute_mission.3000.desc.bunga_mas
|
|
}
|
|
triggered_desc = {
|
|
trigger = { var:tribute_mission_type ?= flag:small_gold_tribute }
|
|
desc = tribute_mission.3000.desc.small_gold
|
|
}
|
|
triggered_desc = {
|
|
trigger = { var:tribute_mission_type ?= flag:adequate_gold_tribute }
|
|
desc = tribute_mission.3000.desc.adequate_gold
|
|
}
|
|
triggered_desc = {
|
|
trigger = { var:tribute_mission_type ?= flag:excessive_gold_tribute }
|
|
desc = tribute_mission.3000.desc.excessive_gold
|
|
}
|
|
triggered_desc = {
|
|
trigger = { var:tribute_mission_type ?= flag:small_herd_tribute }
|
|
desc = tribute_mission.3000.desc.small_herd
|
|
}
|
|
triggered_desc = {
|
|
trigger = { var:tribute_mission_type ?= flag:adequate_herd_tribute }
|
|
desc = tribute_mission.3000.desc.adequate_herd
|
|
}
|
|
triggered_desc = {
|
|
trigger = { var:tribute_mission_type ?= flag:excessive_herd_tribute }
|
|
desc = tribute_mission.3000.desc.excessive_herd
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:concubine_character }
|
|
desc = tribute_mission.3000.desc.concubine
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:eunuch_character }
|
|
desc = tribute_mission.3000.desc.eunuch
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:artifact_to_tribute }
|
|
desc = tribute_mission.3000.desc.artifact
|
|
}
|
|
}
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:receiving_character = { has_character_flag = created_attendant }
|
|
}
|
|
desc = tribute_mission.3000.outro.attendant
|
|
}
|
|
desc = tribute_mission.3000.outro
|
|
}
|
|
}
|
|
theme = tributary
|
|
override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_duty" }
|
|
court_scene = {
|
|
button_position_character = scope:receiving_character
|
|
court_owner = scope:overlord_scope
|
|
court_event_force_open = no
|
|
show_timeout_info = yes
|
|
should_pause_time = yes
|
|
roles = {
|
|
scope:tributary_scope = {
|
|
group = petition_liege_group
|
|
animation = throne_room_kneel_1
|
|
}
|
|
scope:human_tribute = {
|
|
group = petition_liege_group
|
|
animation = throne_room_kneel_1
|
|
}
|
|
}
|
|
}
|
|
immediate = {
|
|
scope:overlord_scope = {
|
|
open_view_data = {
|
|
view = royal_court
|
|
secondary_actor = scope:tributary_scope
|
|
player = scope:tributary_scope
|
|
}
|
|
}
|
|
tribute_mission_1000_common_arrival_effect = yes
|
|
#For the tooltips
|
|
if = {
|
|
limit = { tribute_mission_1000_can_give_treasury_trigger = yes }
|
|
tribute_mission_1000_set_treasury_reward_effect = yes
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope.culture = {
|
|
any_known_innovation = { tribute_mission_1000_eligible_innovation_trigger = yes }
|
|
}
|
|
}
|
|
scope:overlord_scope.culture = {
|
|
random_known_innovation = {
|
|
limit = { tribute_mission_1000_eligible_innovation_trigger = yes }
|
|
save_scope_as = saved_innovation
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
save_scope_as = grant_fascination
|
|
}
|
|
#What level of Bunga Mas modifier?
|
|
tribute_mission_1000_determine_bunga_mas_scale_effect = yes
|
|
}
|
|
#China: Duel for Treasury
|
|
option = {
|
|
name = tribute_mission.3000.treasury
|
|
trigger = {
|
|
scope:receiving_character = { is_ai = yes }
|
|
tribute_mission_1000_can_give_treasury_trigger = yes
|
|
}
|
|
tribute_mission_1000_determine_duel_skill_effect = { INFLUENCED_REWARD = treasury REWARD_INCREMENT = 0 }
|
|
ai_chance = { base = 100 }
|
|
}
|
|
#Duel for Artifact
|
|
option = {
|
|
name = tribute_mission.3000.artifact
|
|
trigger = {
|
|
scope:receiving_character = { is_ai = yes }
|
|
tribute_mission_1000_can_set_artifact_reward_trigger = yes
|
|
}
|
|
tribute_mission_1000_determine_duel_skill_effect = { INFLUENCED_REWARD = artifact REWARD_INCREMENT = 1 }
|
|
ai_chance = { base = 150 }
|
|
}
|
|
|
|
#Duel for Innovation
|
|
option = {
|
|
name = tribute_mission.3000.innovation
|
|
trigger = {
|
|
scope:receiving_character = { is_ai = yes }
|
|
tribute_mission_1000_can_set_innovation_reward_trigger = yes
|
|
}
|
|
tribute_mission_1000_determine_duel_skill_effect = { INFLUENCED_REWARD = innovation REWARD_INCREMENT = 2 }
|
|
ai_chance = { base = 200 }
|
|
}
|
|
|
|
#Duel for Development
|
|
option = {
|
|
name = tribute_mission.3000.development
|
|
trigger = {
|
|
scope:receiving_character = { is_ai = yes }
|
|
tribute_mission_1000_eligible_development_trigger = yes
|
|
}
|
|
tribute_mission_1000_determine_duel_skill_effect = { INFLUENCED_REWARD = development REWARD_INCREMENT = 3 }
|
|
ai_chance = { base = 150 }
|
|
}
|
|
|
|
#I'm sure it'll be fine
|
|
option = {
|
|
name = tribute_mission.3000.abstain
|
|
tribute_mission_1000_display_potential_rewards_effect = yes
|
|
ai_chance = {
|
|
base = 100
|
|
modifier = {
|
|
has_trait = arbitrary
|
|
add = 200
|
|
}
|
|
}
|
|
}
|
|
|
|
after = {
|
|
#Non-AI Receiving person: Decide on if you want to accept the human tribute
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
exists = scope:concubine_character
|
|
exists = scope:eunuch_character
|
|
}
|
|
AND = {
|
|
#If the overlord is an AI, they've already said yay/nay
|
|
scope:overlord_scope = { is_ai = no }
|
|
#... so if we're a player diarch of a player ruler, you get to decide
|
|
scope:receiving_character = { is_ai = no }
|
|
}
|
|
}
|
|
show_as_tooltip = { tribute_mission_1000_fork_over_with_notification_effect = yes }
|
|
scope:receiving_character = { trigger_event = tribute_mission.1002 }
|
|
}
|
|
#Or the Non-AI Receiving person / Hegemon gets to decide the reward
|
|
else_if = {
|
|
limit = {
|
|
scope:receiving_character = {
|
|
OR = {
|
|
is_ai = no
|
|
scope:overlord_scope = { highest_held_title_tier = tier_hegemony }
|
|
}
|
|
}
|
|
}
|
|
show_as_tooltip = { tribute_mission_1000_fork_over_with_notification_effect = yes }
|
|
scope:receiving_character = { trigger_event = tribute_mission.1005 }
|
|
}
|
|
#Or if the Receiving person is AI then we we skip the event and just generate the reward
|
|
else = {
|
|
tribute_mission_1000_fork_over_with_notification_effect = yes
|
|
scope:overlord_scope = { tribute_mission_1000_generate_reward_effect = yes }
|
|
scope:tributary_scope = { trigger_event = tribute_mission.3010 }
|
|
}
|
|
}
|
|
}
|
|
|
|
###DEPRECATED
|
|
#Recipient: Decide on the human tribute
|
|
tribute_mission.3002 = {
|
|
orphan = yes
|
|
type = court_event
|
|
title = tribute_mission.3002.t
|
|
desc = {
|
|
desc = tribute_mission.3002.segway
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { exists = scope:concubine_character }
|
|
desc = tribute_mission.3002.desc.concubine
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:eunuch_character ?= { has_character_flag = tribute_mission_recently_castrated }
|
|
}
|
|
desc = tribute_mission.3002.desc.new_eunuch
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:eunuch_character }
|
|
desc = tribute_mission.3002.desc.eunuch
|
|
}
|
|
}
|
|
#Some descriptive exterior words
|
|
first_valid = {
|
|
#Beauty
|
|
triggered_desc = {
|
|
trigger = {
|
|
exists = scope:concubine_character
|
|
scope:human_tribute = {
|
|
OR = {
|
|
has_trait = beauty_good_1
|
|
has_trait = beauty_good_2
|
|
has_trait = beauty_good_3
|
|
}
|
|
}
|
|
}
|
|
desc = tribute_mission.3002.beauty.concubine.good
|
|
}
|
|
#Bad Beauty
|
|
triggered_desc = {
|
|
trigger = {
|
|
exists = scope:concubine_character
|
|
scope:human_tribute = {
|
|
OR = {
|
|
has_trait = beauty_bad_1
|
|
has_trait = beauty_bad_2
|
|
has_trait = beauty_bad_3
|
|
}
|
|
}
|
|
}
|
|
desc = tribute_mission.3002.beauty.concubine.bad
|
|
}
|
|
#Physique
|
|
triggered_desc = {
|
|
trigger = {
|
|
exists = scope:concubine_character
|
|
scope:human_tribute = {
|
|
OR = {
|
|
has_trait = physique_good_1
|
|
has_trait = physique_good_2
|
|
has_trait = physique_good_3
|
|
}
|
|
}
|
|
}
|
|
desc = tribute_mission.3002.physique.concubine.good
|
|
}
|
|
#Bad Physique
|
|
triggered_desc = {
|
|
trigger = {
|
|
exists = scope:concubine_character
|
|
scope:human_tribute = {
|
|
OR = {
|
|
has_trait = physique_bad_1
|
|
has_trait = physique_bad_2
|
|
has_trait = physique_bad_3
|
|
}
|
|
}
|
|
}
|
|
desc = tribute_mission.3002.physique.concubine.bad
|
|
}
|
|
#Fallback
|
|
triggered_desc = {
|
|
trigger = { exists = scope:concubine_character }
|
|
desc = tribute_mission.3002.exterior.plain
|
|
}
|
|
}
|
|
#Some descriptive personality words
|
|
first_valid = {
|
|
#Shy
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:human_tribute = { 1002_human_tribute_shy_personality_trigger = yes }
|
|
}
|
|
desc = tribute_mission.3002.personality.shy
|
|
}
|
|
#Bold
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:human_tribute = { 1002_human_tribute_bold_personality_trigger = yes }
|
|
}
|
|
desc = tribute_mission.3002.personality.bold
|
|
}
|
|
#Cynical
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:human_tribute = { 1002_human_tribute_callous_personality_trigger = yes }
|
|
}
|
|
desc = tribute_mission.3002.personality.cynical
|
|
}
|
|
#Angry
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:human_tribute = { 1002_human_tribute_angry_personality_trigger = yes }
|
|
}
|
|
desc = tribute_mission.3002.personality.angry
|
|
}
|
|
#Fallback
|
|
desc = tribute_mission.3002.personality.fallback
|
|
}
|
|
}
|
|
|
|
theme = tributary
|
|
|
|
left_portrait = {
|
|
character = scope:receiving_character
|
|
animation = interested
|
|
}
|
|
right_portrait = {
|
|
character = scope:human_tribute
|
|
triggered_animation = {
|
|
trigger = { has_character_flag = tribute_mission_recently_castrated }
|
|
animation = severelywounded
|
|
}
|
|
triggered_animation = {
|
|
trigger = { 1002_human_tribute_shy_personality_trigger = yes }
|
|
animation = shame
|
|
}
|
|
triggered_animation = {
|
|
trigger = { 1002_human_tribute_bold_personality_trigger = yes }
|
|
animation = personality_bold
|
|
}
|
|
triggered_animation = {
|
|
trigger = { 1002_human_tribute_callous_personality_trigger = yes }
|
|
animation = personality_cynical
|
|
}
|
|
triggered_animation = {
|
|
trigger = { 1002_human_tribute_angry_personality_trigger = yes }
|
|
animation = disapproval
|
|
}
|
|
animation = personality_honorable
|
|
}
|
|
lower_right_portrait = {
|
|
character = scope:tributary_scope
|
|
}
|
|
court_scene = {
|
|
button_position_character = scope:receiving_character
|
|
court_owner = scope:overlord_scope
|
|
court_event_force_open = no
|
|
show_timeout_info = yes
|
|
should_pause_time = yes
|
|
roles = {
|
|
scope:tributary_scope = {
|
|
group = petition_liege_group
|
|
animation = throne_room_kneel_1
|
|
}
|
|
scope:human_tribute = {
|
|
group = petition_liege_group
|
|
animation = throne_room_kneel_1
|
|
}
|
|
}
|
|
}
|
|
immediate = {
|
|
tribute_mission_1000_fork_over_with_notification_effect = yes
|
|
}
|
|
#Add 'em to court
|
|
option = {
|
|
name = tribute_mission.3002.a
|
|
if = {
|
|
limit = { exists = scope:concubine_character }
|
|
tribute_mission_1000_make_courtier_effect = { HUMAN_TRIB = scope:concubine_character }
|
|
}
|
|
else = {
|
|
tribute_mission_1000_make_courtier_effect = { HUMAN_TRIB = scope:eunuch_character }
|
|
}
|
|
ai_chance = { base = 100 }
|
|
}
|
|
#Make 'em your concubine
|
|
option = {
|
|
name = tribute_mission.3002.b
|
|
trigger = {
|
|
exists = scope:concubine_character
|
|
scope:overlord_scope = scope:receiving_character
|
|
tribute_mission_1000_overlord_can_employ_concubine_trigger = yes
|
|
}
|
|
flavor = tribute_mission.3002.b.flavor
|
|
tribute_mission_1000_make_concubine_effect = yes
|
|
save_scope_value_as = {
|
|
name = appointed_concubine
|
|
value = flag:yes
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
modifier = {
|
|
add = {
|
|
value = 50
|
|
multiply = scope:concubine_character.num_of_good_genetic_traits
|
|
}
|
|
scope:concubine_character = {
|
|
num_of_good_genetic_traits > 0
|
|
trigger_if = {
|
|
limit = {
|
|
is_female = yes
|
|
}
|
|
is_aging_character = no
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:concubine_character = {
|
|
is_lowborn = no
|
|
trigger_if = {
|
|
limit = {
|
|
is_female = yes
|
|
}
|
|
is_aging_character = no
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = {
|
|
value = -50
|
|
multiply = scope:concubine_character.num_of_bad_genetic_traits
|
|
}
|
|
scope:concubine_character = {
|
|
num_of_bad_genetic_traits > 0
|
|
trigger_if = {
|
|
limit = {
|
|
is_female = yes
|
|
}
|
|
is_aging_character = no
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = {
|
|
value = -50
|
|
}
|
|
scope:concubine_character = {
|
|
is_lowborn = yes
|
|
num_of_good_genetic_traits = 0
|
|
trigger_if = {
|
|
limit = {
|
|
is_female = yes
|
|
}
|
|
is_aging_character = no
|
|
}
|
|
}
|
|
}
|
|
opinion_modifier = { # Opinion of you
|
|
who = scope:overlord_scope
|
|
opinion_target = scope:tributary_scope
|
|
multiplier = 1.0
|
|
desc = AI_OPINION_REASON
|
|
}
|
|
opinion_modifier = { # Opinion of concubine
|
|
who = scope:overlord_scope
|
|
opinion_target = scope:concubine_character
|
|
multiplier = 0.25
|
|
desc = AI_OPINION_REASON
|
|
}
|
|
compare_modifier = { # Recipient is reluctant to marry old women (procreation is a key factor)
|
|
trigger = {
|
|
scope:concubine_character = {
|
|
is_young_character = no
|
|
is_female = yes
|
|
}
|
|
}
|
|
target = scope:concubine_character
|
|
value = age
|
|
multiplier = -5
|
|
step = 1
|
|
offset = -29
|
|
}
|
|
modifier = {
|
|
add = 50
|
|
scope:overlord_scope = {
|
|
is_attracted_to_gender_of = scope:concubine_character
|
|
}
|
|
}
|
|
#More/Less likely based on difference in rank between tributary_scope and overlord_scope
|
|
modifier = {
|
|
add = 50
|
|
scope:tributary_scope = {
|
|
tier_difference = {
|
|
target = scope:overlord_scope
|
|
value > 1
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
add = -20
|
|
scope:tributary_scope = {
|
|
tier_difference = {
|
|
target = scope:overlord_scope
|
|
value < 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#Appoint 'em head Eunuch
|
|
option = {
|
|
name = tribute_mission.3002.c
|
|
trigger = {
|
|
exists = scope:eunuch_character
|
|
scope:overlord_scope = scope:receiving_character
|
|
can_employ_court_position_type = chief_eunuch_court_position
|
|
}
|
|
#Make 'em courtier
|
|
tribute_mission_1000_make_courtier_effect = { HUMAN_TRIB = scope:eunuch_character }
|
|
#Gain obligation hook
|
|
custom_tooltip = obligation_hook_tt
|
|
add_hook = {
|
|
type = obligation_hook
|
|
target = scope:eunuch_character
|
|
}
|
|
#Replace current Chief Eunuch
|
|
if = {
|
|
limit = {
|
|
employs_court_position = chief_eunuch_court_position
|
|
}
|
|
every_court_position_holder = {
|
|
type = chief_eunuch_court_position
|
|
save_temporary_scope_as = current_chief_eunuch
|
|
}
|
|
replace_court_position = {
|
|
recipient = scope:eunuch_character
|
|
holder = scope:current_chief_eunuch
|
|
court_position = chief_eunuch_court_position
|
|
}
|
|
}
|
|
#Or simply appoint new Eunuch
|
|
else = {
|
|
appoint_court_position = {
|
|
recipient = scope:eunuch_character
|
|
court_position = chief_eunuch_court_position
|
|
}
|
|
}
|
|
save_scope_value_as = {
|
|
name = appointed_eunuch
|
|
value = flag:yes
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
opinion_modifier = {
|
|
who = scope:overlord_scope
|
|
opinion_target = scope:tributary_scope
|
|
multiplier = 0.5
|
|
}
|
|
opinion_modifier = {
|
|
who = scope:overlord_scope
|
|
opinion_target = scope:eunuch_character
|
|
multiplier = 0.5
|
|
}
|
|
modifier = {
|
|
add = {
|
|
value = 50
|
|
subtract = scope:eunuch_character.age
|
|
}
|
|
}
|
|
modifier = {
|
|
add = {
|
|
add = scope:eunuch_character.diplomacy
|
|
add = scope:eunuch_character.intrigue
|
|
add = scope:eunuch_character.stewardship
|
|
add = scope:eunuch_character.martial
|
|
add = scope:eunuch_character.learning
|
|
}
|
|
}
|
|
modifier = {
|
|
scope:eunuch_character = { has_trait = beardless_eunuch }
|
|
add = 25
|
|
}
|
|
}
|
|
}
|
|
#Um... nah
|
|
option = {
|
|
name = tribute_mission.3002.d
|
|
custom_tooltip = tribute_mission.3002.d.tt
|
|
if = {
|
|
limit = { exists = scope:concubine_character }
|
|
save_scope_value_as = {
|
|
name = rejected_concubine
|
|
value = flag:yes
|
|
}
|
|
}
|
|
else = {
|
|
save_scope_value_as = {
|
|
name = rejected_eunuch
|
|
value = flag:yes
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 10
|
|
modifier = {
|
|
has_trait = paranoid
|
|
add = 1000
|
|
}
|
|
}
|
|
}
|
|
after = {
|
|
#Moving on
|
|
trigger_event = tribute_mission.3005
|
|
}
|
|
}
|
|
|
|
###DEPRECATED
|
|
#Recipient: What do you give?
|
|
tribute_mission.3005 = {
|
|
type = court_event
|
|
title = {
|
|
first_valid = {
|
|
triggered_desc = { # Gold
|
|
trigger = { tribute_mission_1000_gold_tributary_trigger = yes }
|
|
desc = tribute_mission.3005.t.gold
|
|
}
|
|
triggered_desc = { # Herd
|
|
trigger = { tribute_mission_1000_herd_tributary_trigger = yes }
|
|
desc = tribute_mission.3005.t.herd
|
|
}
|
|
triggered_desc = { # Concubine
|
|
trigger = { tribute_mission_1000_concubine_tributary_trigger = yes }
|
|
desc = tribute_mission.3005.t.concubine
|
|
}
|
|
triggered_desc = { # Eunuch
|
|
trigger = { tribute_mission_1000_eunuch_tributary_trigger = yes }
|
|
desc = tribute_mission.3005.t.eunuch
|
|
}
|
|
triggered_desc = { # Artifact
|
|
trigger = { tribute_mission_1000_artifact_tributary_trigger = yes }
|
|
desc = tribute_mission.3005.t.artifact
|
|
}
|
|
desc = tribute_mission.3005.t
|
|
}
|
|
}
|
|
desc = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
OR = {
|
|
exists = scope:concubine_character
|
|
exists = scope:eunuch_character
|
|
}
|
|
}
|
|
desc = tribute_mission.3005.intro.human_tribute
|
|
}
|
|
desc = tribute_mission.3005.intro
|
|
}
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { scope:tributary_scope.var:tribute_mission_type ?= flag:small_gold_tribute }
|
|
desc = tribute_mission.3005.desc.small_gold
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:tributary_scope.var:tribute_mission_type ?= flag:adequate_gold_tribute }
|
|
desc = tribute_mission.3005.desc.adequate_gold
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:tributary_scope.var:tribute_mission_type ?= flag:excessive_gold_tribute }
|
|
desc = tribute_mission.3005.desc.excessive_gold
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:tributary_scope.var:tribute_mission_type ?= flag:small_herd_tribute }
|
|
desc = tribute_mission.3005.desc.small_herd
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:tributary_scope.var:tribute_mission_type ?= flag:adequate_herd_tribute }
|
|
desc = tribute_mission.3005.desc.adequate_herd
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:tributary_scope.var:tribute_mission_type ?= flag:excessive_herd_tribute }
|
|
desc = tribute_mission.3005.desc.excessive_herd
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:rejected_concubine }
|
|
desc = tribute_mission.3005.desc.rejected_concubine
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:appointed_concubine }
|
|
desc = tribute_mission.3005.desc.appointed_concubine
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:concubine_character }
|
|
desc = tribute_mission.3005.desc.concubine
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:rejected_eunuch }
|
|
desc = tribute_mission.3005.desc.rejected_eunuch
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:appointed_eunuch }
|
|
desc = tribute_mission.3005.desc.appointed_eunuch
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:eunuch_character }
|
|
desc = tribute_mission.3005.desc.eunuch
|
|
}
|
|
triggered_desc = {
|
|
trigger = { exists = scope:artifact_to_tribute }
|
|
desc = tribute_mission.3005.desc.artifact
|
|
}
|
|
#Fallback
|
|
desc = tribute_mission.3005.desc
|
|
}
|
|
}
|
|
theme = tributary
|
|
override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_duty" }
|
|
court_scene = {
|
|
button_position_character = scope:receiving_character
|
|
court_owner = scope:overlord_scope
|
|
court_event_force_open = no
|
|
show_timeout_info = yes
|
|
should_pause_time = yes
|
|
roles = {
|
|
scope:tributary_scope = {
|
|
group = petition_liege_group
|
|
animation = throne_room_kneel_1
|
|
}
|
|
scope:human_tribute = {
|
|
group = petition_liege_group
|
|
animation = throne_room_kneel_1
|
|
}
|
|
}
|
|
}
|
|
immediate = {
|
|
tribute_mission_1000_fork_over_with_notification_effect = yes
|
|
}
|
|
#China: Treasury / Trade Goods
|
|
option = {
|
|
name = tribute_mission.3005.treasury
|
|
trigger = { tribute_mission_1000_can_give_treasury_trigger = yes }
|
|
show_as_tooltip = { tribute_mission_1000_give_treasury_effect = yes }
|
|
tribute_mission_1000_set_treasury_reward_effect = yes
|
|
|
|
ai_chance = {
|
|
base = 0
|
|
|
|
# If we were not influenced, just add a base chance
|
|
modifier = {
|
|
NOT = { exists = scope:successful_influence }
|
|
add = 20
|
|
}
|
|
|
|
# Always choose this option if we were successfully influenced
|
|
modifier = {
|
|
scope:successful_influence ?= flag:treasury
|
|
add = 1000
|
|
}
|
|
}
|
|
}
|
|
#Artifact
|
|
option = {
|
|
name = tribute_mission.3005.artifact
|
|
#Inform the player what will happen (since the artifact doesn't exist yet)
|
|
custom_tooltip = tribute_mission.3005.artifact.tt
|
|
tribute_mission_1000_set_artifact_reward_effect = yes
|
|
|
|
ai_chance = {
|
|
base = 0
|
|
|
|
# If we were not influenced, just add a base chance
|
|
modifier = {
|
|
NOT = { exists = scope:successful_influence }
|
|
add = 20
|
|
}
|
|
|
|
# Always choose this option if we were successfully influenced
|
|
modifier = {
|
|
scope:successful_influence ?= flag:artifact
|
|
add = 1000
|
|
}
|
|
}
|
|
}
|
|
|
|
#Innovation
|
|
option = {
|
|
name = tribute_mission.3005.innovation
|
|
trigger = { tribute_mission_1000_can_set_innovation_reward_trigger = yes }
|
|
tribute_mission_1000_set_innovation_reward_effect = yes
|
|
#Display the effects
|
|
show_as_tooltip = {
|
|
if = {
|
|
limit = { exists = scope:saved_innovation }
|
|
scope:tributary_scope.culture = {
|
|
add_innovation_progress = {
|
|
value = tribute_reward_innovation_progress_value
|
|
target = scope:saved_innovation
|
|
}
|
|
}
|
|
}
|
|
if = {
|
|
limit = { exists = scope:grant_fascination }
|
|
scope:tributary_scope.culture = {
|
|
add_fascination_progress = tribute_reward_fascination_progress_value
|
|
}
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 0
|
|
|
|
# If we were not influenced, just add a base chance
|
|
modifier = {
|
|
NOT = { exists = scope:successful_influence }
|
|
add = 20
|
|
}
|
|
|
|
# Always choose this option if we were successfully influenced
|
|
modifier = {
|
|
scope:successful_influence ?= flag:innovation
|
|
add = 1000
|
|
}
|
|
}
|
|
}
|
|
|
|
#Development
|
|
option = {
|
|
name = tribute_mission.3005.development
|
|
trigger = { tribute_mission_1000_eligible_development_trigger = yes }
|
|
show_as_tooltip = { tribute_mission_1000_give_development_effect = yes }
|
|
tribute_mission_1000_set_development_reward_effect = yes
|
|
|
|
ai_chance = {
|
|
base = 0
|
|
|
|
# If we were not influenced, just add a base chance
|
|
modifier = {
|
|
NOT = { exists = scope:successful_influence }
|
|
add = 20
|
|
}
|
|
|
|
# Always choose this option if we were successfully influenced
|
|
modifier = {
|
|
scope:successful_influence ?= flag:development
|
|
add = 1000
|
|
}
|
|
}
|
|
}
|
|
#Monk
|
|
option = {
|
|
name = tribute_mission.3005.monk
|
|
trigger = { tribute_mission_1000_eligible_for_monk_trigger = yes }
|
|
show_as_tooltip = { tribute_mission_1000_give_monk_effect = yes }
|
|
tribute_mission_1000_set_monk_reward_effect = yes
|
|
|
|
ai_chance = {
|
|
base = 0
|
|
|
|
# If we were not influenced, just add a base chance
|
|
modifier = {
|
|
NOT = { exists = scope:successful_influence }
|
|
add = 100
|
|
}
|
|
}
|
|
}
|
|
#Generic Legitimacy
|
|
option = {
|
|
name = tribute_mission.3005.legitimacy
|
|
show_as_tooltip = { tribute_mission_1000_give_legitimacy_effect = yes }
|
|
tribute_mission_1000_set_legitimacy_reward_effect = yes
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
after = {
|
|
if = {
|
|
limit = {
|
|
scope:tributary_scope = {
|
|
subject_standing > seal_of_investiture_minimum_subject_standing
|
|
NOT = {
|
|
any_character_artifact = {
|
|
OR = {
|
|
artifact_type = seal_of_investiture
|
|
artifact_type = seal_of_investiture_court
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
trigger_event = { id = tribute_mission.3006 }
|
|
}
|
|
else_if = {
|
|
limit = { scope:tributary_scope = { is_tributary = no } }
|
|
scope:tributary_scope = { trigger_event = tribute_mission.3008 }
|
|
}
|
|
else = {
|
|
scope:tributary_scope = {
|
|
trigger_event = { id = tribute_mission.3010 }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
###DEPRECATED
|
|
#Overlord: Decide whether to grant a Seal of Investiture or not
|
|
tribute_mission.3006 = {
|
|
type = court_event
|
|
title = tribute_mission.3006.t
|
|
desc = tribute_mission.3006.desc
|
|
theme = tributary
|
|
override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_duty" }
|
|
court_scene = {
|
|
button_position_character = scope:receiving_character
|
|
court_owner = scope:overlord_scope
|
|
court_event_force_open = no
|
|
show_timeout_info = yes
|
|
should_pause_time = yes
|
|
roles = {
|
|
scope:tributary_scope = {
|
|
group = petition_liege_group
|
|
animation = throne_room_kneel_1
|
|
}
|
|
}
|
|
}
|
|
immediate = {
|
|
tribute_mission_1006_eligible_scribe_scope_effect = yes
|
|
}
|
|
#Grant the Seal
|
|
option = {
|
|
name = tribute_mission.3006.grant
|
|
trigger = {
|
|
trigger_if = {
|
|
limit = {
|
|
scope:receiving_character = {
|
|
is_ai = yes
|
|
}
|
|
}
|
|
treasury > tribute_seal_of_investiture_cost
|
|
}
|
|
trigger_else = {
|
|
always = yes #Humans can always get one
|
|
}
|
|
}
|
|
show_as_unavailable = { always = yes }
|
|
custom_tooltip = {
|
|
text = tribute_mission.3006.grant.tt
|
|
create_artifact_imperial_seal_effect = {
|
|
OWNER = scope:receiving_character
|
|
SMITH = scope:scribe_character
|
|
}
|
|
}
|
|
remove_treasury = tribute_seal_of_investiture_cost
|
|
add_legitimacy = 50
|
|
scope:tributary_scope = {
|
|
trigger_event = tribute_mission.3007
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 50
|
|
modifier = {
|
|
exists = scope:successful_influence
|
|
add = 50
|
|
}
|
|
modifier = {
|
|
always = yes
|
|
add = scope:tributary_scope.subject_standing
|
|
add = -50
|
|
}
|
|
ai_value_modifier = {
|
|
ai_greed = -0.5
|
|
ai_honor = 0.5
|
|
}
|
|
}
|
|
}
|
|
#Decline to grant the Seal
|
|
option = {
|
|
name = {
|
|
text = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { treasury < tribute_seal_of_investiture_cost }
|
|
desc = tribute_mission.3006.decline.no_money
|
|
}
|
|
desc = tribute_mission.3006.decline.dont_wanna
|
|
}
|
|
}
|
|
}
|
|
add_legitimacy = -50
|
|
reverse_add_opinion = {
|
|
target = scope:tributary_scope
|
|
modifier = refused_seal_of_investiture_opinion
|
|
opinion = -50
|
|
}
|
|
scope:tributary_scope = {
|
|
trigger_event = {
|
|
id = tribute_mission.3010
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 10
|
|
}
|
|
}
|
|
}
|
|
|
|
#Tributary: Receive the Seal of Investiture
|
|
tribute_mission.3007 = {
|
|
type = court_event
|
|
title = tribute_mission.3007.t
|
|
desc = tribute_mission.3007.desc
|
|
theme = tributary
|
|
override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_duty" }
|
|
court_scene = {
|
|
button_position_character = scope:receiving_character
|
|
court_owner = scope:overlord_scope
|
|
court_event_force_open = no
|
|
show_timeout_info = yes
|
|
should_pause_time = yes
|
|
roles = {
|
|
scope:receiving_character = {
|
|
group = petition_liege_group
|
|
}
|
|
scope:scribe_character = {
|
|
group = petition_liege_group
|
|
}
|
|
scope:tributary_scope = {
|
|
group = petition_liege_group
|
|
animation = throne_room_kneel_1
|
|
}
|
|
}
|
|
}
|
|
#Grant the Seal
|
|
option = {
|
|
name = tribute_mission.3007.a
|
|
scope:seal_of_investiture_scope = {
|
|
set_owner = scope:tributary_scope
|
|
}
|
|
|
|
}
|
|
after = {
|
|
scope:tributary_scope = {
|
|
trigger_event = tribute_mission.3010
|
|
}
|
|
}
|
|
}
|
|
|
|
#Tributary: Decide whether to become a Tributary or not
|
|
tribute_mission.3008 = {
|
|
type = court_event
|
|
title = tribute_mission.3008.t
|
|
desc = tribute_mission.3008.desc
|
|
theme = tributary
|
|
override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_duty" }
|
|
court_scene = {
|
|
button_position_character = scope:receiving_character
|
|
court_owner = scope:overlord_scope
|
|
court_event_force_open = no
|
|
show_timeout_info = yes
|
|
should_pause_time = yes
|
|
roles = {
|
|
scope:receiving_character = {
|
|
group = petition_liege_group
|
|
}
|
|
scope:tributary_scope = {
|
|
group = petition_liege_group
|
|
animation = throne_room_kneel_1
|
|
}
|
|
}
|
|
}
|
|
|
|
#Become a Tributary
|
|
option = {
|
|
name = tribute_mission.3008.a
|
|
start_tributary_interaction_effect = {
|
|
TRIBUTARY = scope:tributary_scope
|
|
SUZERAIN = scope:overlord_scope
|
|
}
|
|
scope:overlord_scope = {
|
|
send_interface_message = {
|
|
type = event_tribute_good_text
|
|
title = tribute_mission.new_tributary.title
|
|
left_icon = scope:tributary_scope
|
|
desc = tribute_mission.new_tributary.desc
|
|
}
|
|
}
|
|
if = {
|
|
limit = { has_variable = wants_to_become_tributary_of_china }
|
|
debug_log = "wants_to_become_tributary_of_china realized!"
|
|
}
|
|
else = {
|
|
debug_log = "Became tributary through tribute mission"
|
|
}
|
|
|
|
ai_chance = { # essentially a copy of the ai_chance for become_tributary_interaction
|
|
base = -50
|
|
|
|
modifier = { # Special case for Hegemonic Tributaries
|
|
scope:overlord_scope = {
|
|
highest_held_title_tier >= tier_hegemony
|
|
}
|
|
add = {
|
|
add = 25
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
NOT = { scope:overlord_scope.primary_title = title:h_china }
|
|
government_has_flag = government_is_meritocratic
|
|
}
|
|
}
|
|
add = 25
|
|
}
|
|
}
|
|
desc = tributary_interaction_aibehavior_recipient_hegemon_tier_tt
|
|
}
|
|
|
|
modifier = { # Special case for Hegemonic Tributaries in the Dynastic Cycle - Stable Phase
|
|
scope:overlord_scope = {
|
|
highest_held_title_tier >= tier_hegemony
|
|
any_character_situation = {
|
|
situation_type = dynastic_cycle
|
|
}
|
|
}
|
|
add = {
|
|
if = { # Unstable Phase
|
|
limit = {
|
|
any_character_situation = {
|
|
situation_type = dynastic_cycle
|
|
OR = {
|
|
situation_current_phase = situation_dynastic_cycle_phase_instability
|
|
situation_current_phase = situation_dynastic_cycle_phase_instability_conquest
|
|
}
|
|
}
|
|
}
|
|
add = -50
|
|
desc = tributary_interaction_aibehavior_recipient_unstable_cycle_tt
|
|
}
|
|
else = { # Stable Phase
|
|
if = {
|
|
limit = {
|
|
scope:overlord_scope.legitimacy_level < dynastic_cycle_legitimacy_expectation
|
|
}
|
|
add = -25
|
|
desc = tributary_interaction_aibehavior_recipient_low_legitimacy_tt
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:overlord_scope.legitimacy_level >= dynastic_cycle_legitimacy_expectation
|
|
}
|
|
add = 25
|
|
desc = tributary_interaction_aibehavior_recipient_high_legitimacy_tt
|
|
}
|
|
}
|
|
}
|
|
desc = ai_will_do_debug # For debugging, not shown to players
|
|
}
|
|
|
|
#A devaraja should never willingly _offer_ to become a tributary
|
|
modifier = {
|
|
trigger = {
|
|
government_has_flag = government_is_mandala
|
|
OR = {
|
|
has_unruined_mandala_capital_trigger = yes
|
|
has_mandala_aspect_trigger = yes
|
|
}
|
|
}
|
|
add = -1000
|
|
}
|
|
|
|
#MINOR MODIFIERS
|
|
ai_military_threat_modifier = {
|
|
SENDER = scope:tributary_scope
|
|
RECEIVER = scope:overlord_scope
|
|
MULTIPLIER = 0.5
|
|
}
|
|
|
|
modifier = {
|
|
is_obedient_to = scope:overlord_scope
|
|
add = 40
|
|
desc = obedient_interaction_reason
|
|
}
|
|
|
|
modifier = {
|
|
highest_held_title_tier <= tier_duchy
|
|
OR = {
|
|
government_has_flag = government_is_feudal
|
|
government_has_flag = government_is_tribal_excluding_wanua
|
|
}
|
|
add = 25
|
|
}
|
|
|
|
modifier = {
|
|
OR = {
|
|
NOT = {
|
|
any_neighboring_top_liege_realm_owner = {
|
|
always = yes # no neighbors, i.e. island
|
|
}
|
|
}
|
|
any_neighboring_top_liege_realm_owner = {
|
|
top_suzerain = scope:overlord_scope # this includes direct neighbors with overlord
|
|
}
|
|
}
|
|
add = 25
|
|
}
|
|
|
|
modifier = { # Rivalry modifier.
|
|
desc = offer_vassalization_interaction_aibehavior_rival_tt
|
|
trigger = {
|
|
scope:tributary_scope = {
|
|
has_relation_rival = scope:overlord_scope
|
|
NOT = { has_relation_nemesis = scope:overlord_scope }
|
|
}
|
|
}
|
|
add = -10
|
|
}
|
|
modifier = { # Nemesis modifier.
|
|
desc = offer_vassalization_interaction_aibehavior_nemesis_tt
|
|
trigger = {
|
|
scope:tributary_scope = {
|
|
has_relation_nemesis = scope:overlord_scope
|
|
}
|
|
}
|
|
add = -100
|
|
}
|
|
|
|
modifier = { # Different faith, no pluralism.
|
|
desc = offer_vassalization_interaction_aibehavior_differentfaith_tt
|
|
trigger = {
|
|
scope:tributary_scope = {
|
|
NOR = { # Of two different faiths AND the potential vassal's faith is not pluralistic.
|
|
faith = scope:overlord_scope.faith
|
|
faith = { has_doctrine = doctrine_pluralism_pluralistic }
|
|
}
|
|
}
|
|
}
|
|
add = {
|
|
value = -25
|
|
if = {
|
|
limit = {
|
|
scope:tributary_scope.faith = {
|
|
faith_hostility_level = {
|
|
target = scope:overlord_scope.faith
|
|
value >= faith_hostile_level
|
|
}
|
|
}
|
|
}
|
|
add = -10
|
|
}
|
|
if = {
|
|
limit = {
|
|
scope:tributary_scope.faith = {
|
|
faith_hostility_level = {
|
|
target = scope:overlord_scope.faith
|
|
value >= faith_evil_level
|
|
}
|
|
}
|
|
}
|
|
add = -25
|
|
}
|
|
}
|
|
}
|
|
|
|
modifier = { # Cultural Acceptance
|
|
scope:tributary_scope = {
|
|
NOT = { # cultural condition below doesn't have to apply if both actor and recipient have nomadic_philosophy
|
|
has_trait = nomadic_philosophy
|
|
scope:overlord_scope = { has_trait = nomadic_philosophy }
|
|
}
|
|
NOT = { has_same_culture_as = scope:overlord_scope }
|
|
culture = {
|
|
cultural_acceptance = { target = scope:overlord_scope.culture value < 50 }
|
|
}
|
|
}
|
|
add = {
|
|
add = -10
|
|
if = {
|
|
limit = { scope:tributary_scope.culture = { has_cultural_pillar = ethos_bellicose } }
|
|
add = -10
|
|
}
|
|
}
|
|
desc = cultural_acceptance_interaction_reason
|
|
}
|
|
|
|
modifier = { # Same language
|
|
add = 5
|
|
desc = speaks_same_language_interaction_reason
|
|
trigger = {
|
|
scope:tributary_scope = {
|
|
knows_language_of_culture = scope:overlord_scope.culture
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#No thanks
|
|
option = {
|
|
name = tribute_mission.3008.b
|
|
ai_chance = 10
|
|
}
|
|
after = {
|
|
trigger_event = tribute_mission.3010
|
|
}
|
|
}
|
|
|
|
#Tributary: Receive reward, go home
|
|
tribute_mission.3010 = {
|
|
type = court_event
|
|
title = {
|
|
first_valid = {
|
|
#Treasury
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_treasury }
|
|
desc = tribute_mission.3010.t.treasury
|
|
}
|
|
#Artifact
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_artifact }
|
|
desc = tribute_mission.3010.t.artifact
|
|
}
|
|
#Innovation
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_innovation }
|
|
desc = tribute_mission.3010.t.innovation
|
|
}
|
|
#Development
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_development }
|
|
desc = tribute_mission.3010.t.development
|
|
}
|
|
#Monk
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_monk }
|
|
desc = tribute_mission.3010.t.monk
|
|
}
|
|
#Monk
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_legitimacy }
|
|
desc = tribute_mission.3010.t.legitimacy
|
|
}
|
|
desc = tribute_mission.3010.t
|
|
}
|
|
}
|
|
desc = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { exists = scope:seal_of_investiture_scope }
|
|
desc = tribute_mission.3010.intro.postseal
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:receiving_character = { has_character_flag = created_attendant }
|
|
}
|
|
desc = tribute_mission.3010.intro.attendant
|
|
}
|
|
desc = tribute_mission.3010.intro
|
|
}
|
|
first_valid = {
|
|
#Treasury
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_treasury }
|
|
desc = tribute_mission.3010.desc.treasury
|
|
}
|
|
#Artifact
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_artifact }
|
|
desc = tribute_mission.3010.desc.artifact
|
|
}
|
|
#Innovation
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_innovation }
|
|
desc = tribute_mission.3010.desc.innovation
|
|
}
|
|
#Development
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_development }
|
|
desc = tribute_mission.3010.desc.development
|
|
}
|
|
#Monk
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_monk }
|
|
desc = tribute_mission.3010.desc.monk
|
|
}
|
|
#Legitimacy
|
|
triggered_desc = {
|
|
trigger = { exists = scope:tribute_reward_type_legitimacy }
|
|
desc = tribute_mission.3010.desc.legitimacy
|
|
}
|
|
}
|
|
desc = tribute_mission.3010.outro
|
|
}
|
|
theme = tributary
|
|
override_sound = { reference = "event:/SFX/Events/Themes/sfx_event_theme_type_duty" }
|
|
artifact = {
|
|
trigger = { exists = scope:tribute_reward_type_artifact }
|
|
target = scope:tribute_reward_type_artifact
|
|
position = lower_center_portrait
|
|
}
|
|
court_scene = {
|
|
button_position_character = scope:receiving_character
|
|
court_owner = scope:overlord_scope
|
|
court_event_force_open = no
|
|
show_timeout_info = yes
|
|
should_pause_time = yes
|
|
roles = {
|
|
scope:tributary_scope = {
|
|
group = petition_liege_group
|
|
animation = throne_room_kneel_1
|
|
}
|
|
}
|
|
}
|
|
immediate = {
|
|
tribute_mission_1000_disburse_reward_effect = yes
|
|
}
|
|
#Thanks, bye!
|
|
option = {
|
|
name = tribute_mission.3010.a
|
|
}
|
|
after = {
|
|
close_view = {
|
|
view = royal_court
|
|
player = scope:tributary_scope
|
|
}
|
|
#Clean up variables & set up cooldown
|
|
tribute_mission_1010_complete_effect = yes
|
|
}
|
|
}
|
|
|
|
|
|
|
|
### LETTER EVENTS ###
|
|
|
|
#Your Tributary refused your Exact Tribute Interaction
|
|
tribute_mission.9000 = {
|
|
type = letter_event
|
|
opening = tribute_mission.9000.opening
|
|
desc = tribute_mission.9000.desc
|
|
sender = scope:recipient
|
|
|
|
immediate = {
|
|
scope:recipient = {
|
|
show_as_tooltip = {
|
|
add_legitimacy = minor_legitimacy_loss
|
|
if = {
|
|
limit = { is_ai = yes }
|
|
add_opinion = {
|
|
modifier = declined_tribute_mission_opinion
|
|
opinion = -30
|
|
target = scope:actor
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Hokay...
|
|
option = {
|
|
name = tribute_mission.9000.a
|
|
|
|
ai_chance = {
|
|
base = 25
|
|
ai_value_modifier = {
|
|
ai_greed = -1
|
|
ai_boldness = -1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Tributary is going on a mission!
|
|
tribute_mission.9010 = {
|
|
type = letter_event
|
|
opening = tribute_mission.9010.opening
|
|
desc = tribute_mission.9010.desc
|
|
sender = scope:recipient
|
|
|
|
immediate = {
|
|
|
|
}
|
|
|
|
#Yay!
|
|
option = {
|
|
name = tribute_mission.9010.a
|
|
|
|
ai_chance = {
|
|
base = 25
|
|
ai_value_modifier = {
|
|
ai_greed = -1
|
|
ai_boldness = -1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Tributary: You ignored the Requested Tribute Mission, have some penalty
|
|
tribute_mission.9500 = {
|
|
type = letter_event
|
|
opening = tribute_mission.9500.opening
|
|
desc = tribute_mission.9500.desc
|
|
sender = scope:overlord
|
|
|
|
trigger = {
|
|
is_tributary = yes
|
|
has_variable = requested_tribute_mission
|
|
var:requested_tribute_mission = overlord
|
|
#We're going, we're going...
|
|
NOT = {
|
|
has_variable = tribute_mission_type
|
|
exists = current_travel_plan
|
|
}
|
|
}
|
|
|
|
on_trigger_fail = {
|
|
set_variable = invalidation_should_fail_ongoing_requested_tribute_mission
|
|
}
|
|
|
|
immediate = {
|
|
add_legitimacy = minor_legitimacy_loss
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:overlord }
|
|
}
|
|
overlord = {
|
|
save_scope_as = overlord
|
|
}
|
|
}
|
|
scope:overlord = {
|
|
if = {
|
|
limit = { is_ai = yes }
|
|
add_opinion = {
|
|
modifier = declined_tribute_mission_opinion
|
|
opinion = -30
|
|
target = root
|
|
}
|
|
}
|
|
}
|
|
#Clean up Requested Tribute Mission variables
|
|
requested_tribute_mission_clean_up_variables_effect = yes
|
|
}
|
|
|
|
#Hokay...
|
|
option = {
|
|
name = tribute_mission.9500.a
|
|
|
|
ai_chance = {
|
|
base = 25
|
|
ai_value_modifier = {
|
|
ai_greed = -1
|
|
ai_boldness = -1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
### TRAVEL EVENTS ###
|
|
|
|
#Your human tribute is not available any more
|
|
tribute_mission.9750 = {
|
|
type = character_event
|
|
title = tribute_mission.9750.t
|
|
desc = tribute_mission.9750.desc
|
|
|
|
theme = travel
|
|
override_icon = { reference = "gfx/interface/icons/event_types/type_tributary.dds" }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = stress
|
|
}
|
|
right_portrait = {
|
|
character = scope:human_tribute
|
|
trigger = {
|
|
NOT = { has_character_flag = tribute_mission_escaped_eunuch }
|
|
}
|
|
triggered_animation = {
|
|
trigger = { is_alive = no }
|
|
animation = dead
|
|
}
|
|
animation = prisonhouse
|
|
}
|
|
immediate = {
|
|
#Hol' up
|
|
current_travel_plan ?= { pause_travel_plan = yes }
|
|
#Save the concubine
|
|
if = {
|
|
limit = { has_variable = offered_concubine }
|
|
var:offered_concubine = { save_scope_as = human_tribute }
|
|
}
|
|
#Save the eunuch
|
|
if = {
|
|
limit = { has_variable = offered_eunuch }
|
|
var:offered_eunuch = { save_scope_as = human_tribute }
|
|
}
|
|
}
|
|
#Swap to gold?
|
|
option = {
|
|
name = tribute_mission.9750.a
|
|
show_as_unavailable = { always = yes }
|
|
#Define how much gold it is
|
|
set_variable = {
|
|
name = tribute_mission_type
|
|
value = flag:adequate_gold_tribute
|
|
}
|
|
set_variable = {
|
|
name = offered_gold_value
|
|
value = adequate_gold_tribute_value
|
|
}
|
|
#Clear out the old variables
|
|
remove_variable = offered_concubine
|
|
remove_variable = offered_eunuch
|
|
#Stash the gold so you don't use it elsewhere on your trip to the capital
|
|
custom_tooltip = {
|
|
text = tribute_mission.adequate_reserved_gold
|
|
hidden_effect = { remove_short_term_gold = adequate_gold_tribute_value }
|
|
}
|
|
#Keep on keeping on
|
|
current_travel_plan ?= { resume_travel_plan = yes }
|
|
if = {
|
|
limit = { has_character_flag = revisit_tribute_mission_0001 }
|
|
trigger_event = {
|
|
id = tribute_mission.0001
|
|
delayed = yes
|
|
}
|
|
}
|
|
}
|
|
#Or go home
|
|
option = {
|
|
name = tribute_mission.9750.b
|
|
current_travel_plan = {
|
|
if = {
|
|
limit = { can_cancel = yes }
|
|
cancel_travel_plan = yes
|
|
}
|
|
}
|
|
custom_tooltip = tribute_mission.9750.tt
|
|
#Keep on keeping on
|
|
hidden_effect = {
|
|
current_travel_plan ?= { resume_travel_plan = yes }
|
|
}
|
|
tribute_mission_clean_up_variables_effect = yes
|
|
tribute_mission_clean_up_request_variables_effect = yes
|
|
}
|
|
after = {
|
|
if = {
|
|
limit = { has_character_flag = revisit_tribute_mission_0001 }
|
|
remove_character_flag = revisit_tribute_mission_0001
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
scripted_effect tribute_mission_9760_escape_effect = {
|
|
scope:escapee_eunuch = {
|
|
add_character_flag = {
|
|
flag = tribute_mission_escaped_eunuch
|
|
days = 30
|
|
}
|
|
}
|
|
current_travel_plan = { remove_character = scope:escapee_eunuch }
|
|
hidden_effect = {
|
|
scope:escapee_eunuch = { move_to_pool_at = root.location }
|
|
}
|
|
trigger_event = {
|
|
id = tribute_mission.9750
|
|
delayed = yes
|
|
}
|
|
}
|
|
|
|
#Your slated eunuch is trying to escape
|
|
tribute_mission.9760 = {
|
|
type = character_event
|
|
title = tribute_mission.9760.t
|
|
desc = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { exists = scope:vengeful_eunuch }
|
|
desc = tribute_mission.9760.desc.vengeful
|
|
}
|
|
desc = tribute_mission.9760.desc
|
|
}
|
|
}
|
|
theme = travel
|
|
override_icon = { reference = "gfx/interface/icons/event_types/type_tributary.dds" }
|
|
override_background = { reference = bedchamber }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = disbelief
|
|
}
|
|
right_portrait = {
|
|
character = scope:escapee_eunuch
|
|
triggered_animation = {
|
|
trigger = { exists = scope:vengeful_eunuch }
|
|
animation = menacing
|
|
}
|
|
animation = shock
|
|
}
|
|
trigger = {
|
|
is_tributary = yes
|
|
location != var:tribute_mission_target_scope.capital_province
|
|
has_variable = offered_eunuch
|
|
var:offered_eunuch = { has_character_flag = tribute_mission_attempt_escape }
|
|
}
|
|
immediate = {
|
|
#Save the eunuch
|
|
if = {
|
|
limit = { has_variable = offered_eunuch }
|
|
var:offered_eunuch = { save_scope_as = escapee_eunuch }
|
|
}
|
|
scope:escapee_eunuch = {
|
|
if = {
|
|
limit = {
|
|
OR = {
|
|
1002_human_tribute_angry_personality_trigger = yes
|
|
has_trait = sadistic
|
|
has_trait = just
|
|
}
|
|
}
|
|
save_scope_as = vengeful_eunuch
|
|
}
|
|
}
|
|
}
|
|
#Vengeful eunuch
|
|
option = {
|
|
name = tribute_mission.9760.a
|
|
trigger = { exists = scope:vengeful_eunuch }
|
|
duel = {
|
|
skill = prowess
|
|
target = scope:vengeful_eunuch
|
|
#You overpower them
|
|
50 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
}
|
|
desc = tribute_mission.9760.a.success
|
|
custom_tooltip = tribute_mission.9760.a.success.tt
|
|
#You learned something!
|
|
random = {
|
|
chance = 10
|
|
add_prowess_skill = 1
|
|
}
|
|
}
|
|
#You get injured
|
|
40 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
}
|
|
desc = tribute_mission.9760.a.failure
|
|
increase_wounds_effect = { REASON = fight }
|
|
#Hmmm, vindication
|
|
if = {
|
|
limit = { is_female = no }
|
|
random = {
|
|
chance = 5
|
|
add_trait = eunuch_1
|
|
}
|
|
}
|
|
tribute_mission_9760_escape_effect = yes
|
|
}
|
|
}
|
|
}
|
|
#Guards!!!
|
|
option = {
|
|
name = tribute_mission.9760.b
|
|
trigger = {
|
|
NOT = { exists = scope:vengeful_eunuch }
|
|
}
|
|
scope:escapee_eunuch = {
|
|
duel = {
|
|
skill = prowess
|
|
value = very_high_skill_rating
|
|
#Eunuch is overpowered
|
|
30 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
}
|
|
desc = tribute_mission.9760.b.success
|
|
custom_tooltip = tribute_mission.9760.a.success.tt
|
|
}
|
|
#Eunuch escapes
|
|
60 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
}
|
|
desc = tribute_mission.9760.b.failure
|
|
tribute_mission_9760_escape_effect = yes
|
|
}
|
|
#Eunuch is killed in the process
|
|
5 = {
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = 5
|
|
}
|
|
desc = tribute_mission.9760.b.critical_failure
|
|
death = { death_reason = death_fight }
|
|
trigger_event = {
|
|
id = tribute_mission.9750
|
|
delayed = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
#Let 'em go
|
|
option = {
|
|
name = tribute_mission.9760.c
|
|
tribute_mission_9760_escape_effect = yes
|
|
}
|
|
after = {
|
|
scope:escapee_eunuch = {
|
|
if = {
|
|
limit = { is_alive = yes }
|
|
remove_character_flag = tribute_mission_attempt_escape
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Somehow your Tribute Mission invalidated, refund and return home
|
|
tribute_mission.9800 = {
|
|
type = character_event
|
|
title = tribute_mission.9800.t
|
|
desc = {
|
|
first_valid = {
|
|
#New overlord can't accept my tribute
|
|
triggered_desc = {
|
|
trigger = { has_variable = new_overlord_unable_to_accept_tribute }
|
|
desc = tribute_mission.9800.desc.unable_to_accept_tribute
|
|
}
|
|
#Hmm got vassalized by Suzerain
|
|
triggered_desc = {
|
|
trigger = {
|
|
is_tributary = no
|
|
liege = var:tribute_mission_target_scope
|
|
}
|
|
desc = tribute_mission.9800.desc.suzerain_turned_liege
|
|
}
|
|
#No longer Tributary
|
|
triggered_desc = {
|
|
trigger = { is_tributary = no }
|
|
desc = tribute_mission.9800.desc.no_longer_tributary
|
|
}
|
|
#New overlord has a different end destination
|
|
triggered_desc = {
|
|
trigger = { has_variable = new_overlord_somewhere_else }
|
|
desc = tribute_mission.9800.desc.different_end_location
|
|
}
|
|
}
|
|
}
|
|
|
|
theme = travel
|
|
override_icon = { reference = "gfx/interface/icons/event_types/type_tributary.dds" }
|
|
|
|
left_portrait = {
|
|
character = root
|
|
animation = thinking
|
|
}
|
|
lower_right_portrait = scope:current_overlord
|
|
immediate = {
|
|
overlord = {
|
|
if = {
|
|
limit = { this != root }
|
|
save_scope_as = current_overlord
|
|
}
|
|
}
|
|
#Refunds
|
|
if = {
|
|
limit = { has_variable = offered_gold_value }
|
|
add_short_term_gold = var:offered_gold_value
|
|
}
|
|
if = {
|
|
limit = { has_variable = offered_herd_value }
|
|
domicile ?= {
|
|
change_herd = { add = var:offered_herd_value }
|
|
}
|
|
}
|
|
}
|
|
#Oh well
|
|
option = {
|
|
name = tribute_mission.9800.a
|
|
current_travel_plan = {
|
|
if = {
|
|
limit = { can_cancel = yes }
|
|
cancel_travel_plan = yes
|
|
}
|
|
}
|
|
}
|
|
after = {
|
|
tribute_mission_clean_up_variables_effect = yes
|
|
tribute_mission_clean_up_request_variables_effect = yes
|
|
|
|
remove_variable = new_overlord_unable_to_accept_tribute
|
|
|
|
if = {
|
|
limit = { exists = scope:tribute_reward_type_rejection }
|
|
tribute_mission_1000_rejection_effect = yes
|
|
}
|
|
}
|
|
}
|