1185 lines
25 KiB
Text
1185 lines
25 KiB
Text
namespace = tgp_interaction_event
|
|
|
|
# Send Treasury interaction events
|
|
tgp_interaction_event.0001 = {
|
|
type = letter_event
|
|
opening = char_interaction.0010.opening
|
|
desc = tgp_interaction_event.0001.desc
|
|
sender = scope:recipient
|
|
|
|
trigger = {
|
|
scope:actor = {
|
|
is_alive = yes
|
|
}
|
|
scope:recipient = {
|
|
is_alive = yes
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
# Let's calculate a reward
|
|
random_list = {
|
|
10 = { # Give hook
|
|
trigger = {
|
|
can_add_hook = {
|
|
target = scope:recipient
|
|
type = favor_hook
|
|
}
|
|
}
|
|
modifier = {
|
|
is_liege_or_above_of = scope:recipient
|
|
factor = 1.5
|
|
}
|
|
modifier = { # Non-powerful families are more likely to offer a hook
|
|
scope:recipient.house ?= {
|
|
is_powerful_family = no
|
|
is_dominant_family = no
|
|
}
|
|
factor = 1.5
|
|
}
|
|
|
|
save_scope_as = treasury_hook
|
|
}
|
|
10 = { # Become a disciple
|
|
trigger = {
|
|
scope:recipient = {
|
|
NOR = {
|
|
# Does not have any of these relations already
|
|
any_relation = { type = disciple }
|
|
any_relation = { type = elder }
|
|
|
|
# And is someone who could actually be a disciple
|
|
has_trait = ambitious
|
|
has_trait = arrogant
|
|
}
|
|
}
|
|
}
|
|
modifier = {
|
|
scope:recipient = {
|
|
has_trait = trusting
|
|
}
|
|
add = 5
|
|
}
|
|
modifier = {
|
|
scope:recipient = {
|
|
has_trait = humble
|
|
}
|
|
add = 5
|
|
}
|
|
|
|
save_scope_as = treasury_become_disciple
|
|
}
|
|
10 = { # Give influence
|
|
modifier = {
|
|
scope:recipient.influence_level > 3
|
|
add = 10
|
|
}
|
|
|
|
save_scope_as = treasury_influence
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = tgp_interaction_event.0001.a
|
|
|
|
switch = {
|
|
trigger = exists
|
|
scope:treasury_hook = {
|
|
add_hook = {
|
|
target = scope:recipient
|
|
type = favor_hook
|
|
}
|
|
}
|
|
scope:treasury_become_disciple = {
|
|
set_elder_relation_effect = {
|
|
ELDER = scope:actor
|
|
DISCIPLE = scope:recipient
|
|
MERIT = minor_merit_gain
|
|
}
|
|
}
|
|
scope:treasury_influence = {
|
|
change_influence = medium_influence_gain
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Request Military Aid interaction events
|
|
# Recipient receives the request
|
|
tgp_interaction_event.0010 = {
|
|
type = letter_event
|
|
opening = tgp_interaction_event.0010.opening
|
|
desc = tgp_interaction_event.0010.desc
|
|
sender = scope:actor
|
|
|
|
trigger = {
|
|
scope:actor = { is_alive = yes }
|
|
scope:recipient = { is_alive = yes }
|
|
scope:joining_governor = { is_alive = yes }
|
|
}
|
|
|
|
option = { # Join the war yourself (if applicable)
|
|
name = tgp_interaction_event.0010.a
|
|
trigger = {
|
|
trigger_if = {
|
|
limit = {
|
|
this = top_liege
|
|
}
|
|
is_character_interaction_valid = {
|
|
recipient = scope:actor
|
|
interaction = join_vassal_war_interaction
|
|
}
|
|
}
|
|
trigger_else = {
|
|
vassal_contract_has_flag = celestial_military_appointment
|
|
NOR = {
|
|
this = scope:actor
|
|
any_war_ally = { this = scope:actor }
|
|
any_war_enemy = { this = scope:actor }
|
|
is_at_war_with = scope:actor
|
|
}
|
|
}
|
|
}
|
|
|
|
save_scope_as = joining_character
|
|
if = {
|
|
limit = {
|
|
this = top_liege
|
|
is_character_interaction_valid = {
|
|
recipient = scope:actor
|
|
interaction = join_vassal_war_interaction
|
|
}
|
|
}
|
|
custom_tooltip = {
|
|
text = join_vassal_war_interaction_desc
|
|
open_interaction_window = {
|
|
interaction = join_vassal_war_interaction
|
|
actor = root
|
|
recipient = scope:actor
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
scope:actor = {
|
|
every_character_war = {
|
|
limit = {
|
|
is_war_leader = scope:actor
|
|
is_attacker = scope:actor
|
|
}
|
|
add_attacker = scope:joining_character
|
|
}
|
|
every_character_war = {
|
|
limit = {
|
|
is_war_leader = scope:actor
|
|
is_defender = scope:actor
|
|
}
|
|
add_defender = scope:joining_character
|
|
}
|
|
|
|
# Send response to actor
|
|
trigger_event = tgp_interaction_event.0012
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 0
|
|
}
|
|
}
|
|
option = { # Have any military governor join the war
|
|
name = tgp_interaction_event.0010.b
|
|
|
|
scope:joining_governor = {
|
|
save_scope_as = joining_character
|
|
trigger_event = tgp_interaction_event.0011
|
|
}
|
|
scope:actor = {
|
|
every_character_war = {
|
|
limit = {
|
|
is_war_leader = scope:actor
|
|
is_attacker = scope:actor
|
|
}
|
|
add_attacker = scope:joining_character
|
|
}
|
|
every_character_war = {
|
|
limit = {
|
|
is_war_leader = scope:actor
|
|
is_defender = scope:actor
|
|
}
|
|
add_defender = scope:joining_character
|
|
}
|
|
|
|
# Send response to actor
|
|
trigger_event = tgp_interaction_event.0012
|
|
}
|
|
|
|
ai_chance = { # The AI always sends someone
|
|
base = 100
|
|
}
|
|
}
|
|
option = { # Players have the option to not send anyone, and use celestial_send_military_aid_interaction instead
|
|
name = tgp_interaction_event.0010.c
|
|
|
|
custom_tooltip = {
|
|
text = celestial_send_military_aid_interaction
|
|
open_interaction_window = {
|
|
interaction = celestial_send_military_aid_interaction
|
|
actor = root
|
|
recipient = scope:actor
|
|
}
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
# Military governor receives an order to join the war
|
|
tgp_interaction_event.0011 = {
|
|
type = letter_event
|
|
opening = tgp_interaction_event.0011.opening
|
|
desc = tgp_interaction_event.0011.desc
|
|
sender = scope:recipient
|
|
|
|
immediate = {
|
|
show_as_tooltip = {
|
|
scope:actor = {
|
|
every_character_war = {
|
|
limit = {
|
|
is_war_leader = scope:actor
|
|
is_attacker = scope:actor
|
|
}
|
|
add_attacker = scope:joining_governor
|
|
}
|
|
every_character_war = {
|
|
limit = {
|
|
is_war_leader = scope:actor
|
|
is_defender = scope:actor
|
|
}
|
|
add_defender = scope:joining_governor
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = {
|
|
trigger = {
|
|
top_liege.cp:councillor_marshal ?= scope:recipient
|
|
}
|
|
text = tgp_interaction_event.0011.a
|
|
}
|
|
name = {
|
|
trigger = {
|
|
NOT = { top_liege.cp:councillor_marshal ?= scope:recipient }
|
|
}
|
|
text = tgp_interaction_event.0011.b
|
|
}
|
|
}
|
|
}
|
|
|
|
# Actor receives a response
|
|
tgp_interaction_event.0012 = {
|
|
type = letter_event
|
|
opening = tgp_interaction_event.0011.opening
|
|
desc = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:joining_character = scope:recipient
|
|
}
|
|
desc = tgp_interaction_event.0012.desc_marshal
|
|
}
|
|
desc = tgp_interaction_event.0012.desc_governor
|
|
}
|
|
sender = scope:recipient
|
|
|
|
immediate = {
|
|
show_as_tooltip = {
|
|
every_character_war = {
|
|
limit = {
|
|
is_war_leader = scope:actor
|
|
is_attacker = scope:actor
|
|
}
|
|
add_attacker = scope:joining_character
|
|
}
|
|
every_character_war = {
|
|
limit = {
|
|
is_war_leader = scope:actor
|
|
is_defender = scope:actor
|
|
}
|
|
add_defender = scope:joining_character
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = tgp_interaction_event.0012.a
|
|
}
|
|
}
|
|
|
|
# Recipient/governor receives news of military governor joining war
|
|
tgp_interaction_event.0015 = {
|
|
type = letter_event
|
|
opening = tgp_interaction_event.0010.opening
|
|
desc = tgp_interaction_event.0015.desc
|
|
sender = scope:actor
|
|
|
|
immediate = {
|
|
custom_tooltip = celestial_send_military_aid_effect_desc
|
|
}
|
|
|
|
option = {
|
|
name = tgp_interaction_event.0012.a
|
|
}
|
|
}
|
|
|
|
# Secondary recipient/military governor receives order to join war
|
|
tgp_interaction_event.0016 = {
|
|
type = letter_event
|
|
opening = tgp_interaction_event.0010.opening
|
|
desc = tgp_interaction_event.0016.desc
|
|
sender = scope:actor
|
|
|
|
immediate = {
|
|
custom_tooltip = celestial_send_military_aid_effect_desc
|
|
}
|
|
|
|
option = {
|
|
name = tgp_interaction_event.0016.a
|
|
}
|
|
}
|
|
|
|
# Siphon Treasury starting event
|
|
tgp_interaction_event.0020 = {
|
|
type = character_event
|
|
title = tgp_interaction_event.0020.t
|
|
desc = tgp_interaction_event.0020.desc
|
|
theme = generic_intrigue_scheme
|
|
left_portrait = {
|
|
character = root
|
|
animation = schadenfreude
|
|
}
|
|
|
|
option = {
|
|
name = tgp_interaction_event.0020.a
|
|
custom_tooltip = siphon_destination_gold_tt
|
|
scope:scheme = {
|
|
set_variable = {
|
|
name = siphon_destination
|
|
value = flag:gold
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 0
|
|
modifier = {
|
|
gold <= treasury
|
|
add = 100
|
|
}
|
|
}
|
|
}
|
|
option = {
|
|
name = tgp_interaction_event.0020.b
|
|
custom_tooltip = siphon_destination_treasury_tt
|
|
scope:scheme = {
|
|
set_variable = {
|
|
name = siphon_destination
|
|
value = flag:treasury
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 0
|
|
modifier = {
|
|
gold > treasury
|
|
add = 100
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Break with Elder notification event
|
|
tgp_interaction_event.0030 = {
|
|
type = letter_event
|
|
opening = tgp_interaction_event.0010.opening
|
|
desc = {
|
|
desc = tgp_interaction_event.0030.desc
|
|
triggered_desc = {
|
|
trigger = { exists = scope:new_elder }
|
|
desc = tgp_interaction_event.0030.desc_new_elder
|
|
}
|
|
}
|
|
sender = scope:actor
|
|
|
|
immediate = {
|
|
show_as_tooltip = {
|
|
scope:actor = {
|
|
remove_relation_elder = scope:recipient
|
|
if = {
|
|
limit = {
|
|
exists = scope:new_elder
|
|
}
|
|
set_relation_elder = scope:new_elder
|
|
root = {
|
|
set_relation_grudge = scope:new_elder
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = {
|
|
trigger = {
|
|
exists = scope:new_elder
|
|
}
|
|
text = tgp_interaction_event.0030.a_new_elder
|
|
}
|
|
name = tgp_interaction_event.0030.a
|
|
}
|
|
}
|
|
|
|
# Find Elder notification event
|
|
tgp_interaction_event.0031 = {
|
|
type = letter_event
|
|
opening = tgp_interaction_event.0031.opening
|
|
desc = tgp_interaction_event.0031.desc
|
|
sender = scope:actor
|
|
|
|
immediate = {
|
|
}
|
|
|
|
option = {
|
|
name = tgp_interaction_event.0031.a
|
|
scope:actor = { trigger_event = tgp_interaction_event.00311 }
|
|
show_as_tooltip = {
|
|
scope:actor = {
|
|
set_elder_relation_effect = {
|
|
ELDER = scope:secondary_recipient
|
|
DISCIPLE = scope:actor
|
|
MERIT = minor_merit_gain
|
|
}
|
|
}
|
|
}
|
|
ai_will_select = {
|
|
value = scope:secondary_recipient.find_elder_acceptance_value
|
|
}
|
|
}
|
|
option = {
|
|
name = tgp_interaction_event.0031.b
|
|
scope:actor = {
|
|
send_interface_toast = {
|
|
type = event_toast_effect_bad
|
|
title = tgp_interaction_event.0031.b.tt
|
|
left_icon = scope:secondary_recipient
|
|
add_opinion = {
|
|
target = scope:secondary_recipient
|
|
modifier = refused_to_be_elder_opinion
|
|
opinion = -10
|
|
}
|
|
}
|
|
}
|
|
ai_will_select = {
|
|
value = scope:secondary_recipient.find_elder_acceptance_value
|
|
multiply = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
scripted_effect tgp_dynastic_cycle_add_to_elders_movement_effect = {
|
|
custom_tooltip = tgp_dynastic_cycle_add_to_elders_movement_effect_tt
|
|
if = {
|
|
limit = {
|
|
scope:secondary_recipient = {
|
|
top_participant_group:dynastic_cycle ?= {
|
|
participant_group_type = expansion_movement
|
|
}
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = movement_member
|
|
value = flag:expansion
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:secondary_recipient = {
|
|
top_participant_group:dynastic_cycle ?= {
|
|
participant_group_type = advancement_movement
|
|
}
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = movement_member
|
|
value = flag:advancement
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:secondary_recipient = {
|
|
top_participant_group:dynastic_cycle ?= {
|
|
participant_group_type = pro_hegemon_movement
|
|
}
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = movement_member
|
|
value = flag:pro_hegemon
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:secondary_recipient = {
|
|
top_participant_group:dynastic_cycle ?= {
|
|
participant_group_type = conservative_movement
|
|
}
|
|
}
|
|
}
|
|
set_variable = {
|
|
name = movement_member
|
|
value = flag:conservative
|
|
}
|
|
}
|
|
}
|
|
|
|
tgp_interaction_event.00311 = {
|
|
type = letter_event
|
|
opening = tgp_interaction_event.00311.opening
|
|
desc = {
|
|
desc = tgp_interaction_event.00311.desc.intro
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
exists = scope:elder_movement
|
|
}
|
|
desc = tgp_interaction_event.00311.desc.movement
|
|
}
|
|
desc = tgp_interaction_event.00311.desc.no_movement
|
|
}
|
|
}
|
|
sender = scope:secondary_recipient
|
|
|
|
immediate = {
|
|
scope:actor = {
|
|
set_elder_relation_effect = {
|
|
ELDER = scope:secondary_recipient
|
|
DISCIPLE = scope:actor
|
|
MERIT = minor_merit_gain
|
|
}
|
|
}
|
|
if = {
|
|
limit = {
|
|
situation:dynastic_cycle ?= {
|
|
any_situation_participant = {
|
|
this = scope:actor
|
|
}
|
|
any_situation_participant = {
|
|
this = scope:secondary_recipient
|
|
}
|
|
}
|
|
scope:secondary_recipient = {
|
|
NOT = {
|
|
top_participant_group:dynastic_cycle = { participant_group_type = undecided_movement }
|
|
}
|
|
}
|
|
scope:actor = {
|
|
NOT = { is_in_same_movement_as = { TARGET = scope:secondary_recipient } }
|
|
}
|
|
}
|
|
scope:secondary_recipient = {
|
|
top_participant_group:dynastic_cycle ?= { save_scope_as = elder_movement }
|
|
}
|
|
top_participant_group:dynastic_cycle ?= { save_scope_as = my_movement }
|
|
}
|
|
}
|
|
|
|
option = { # I'll join
|
|
name = tgp_interaction_event.00311.a
|
|
trigger = { exists = scope:elder_movement }
|
|
tgp_dynastic_cycle_add_to_elders_movement_effect = yes
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
|
|
option = { # Nah
|
|
name = tgp_interaction_event.00311.b
|
|
trigger = { exists = scope:elder_movement }
|
|
change_influence = major_influence_loss
|
|
scope:secondary_recipient = {
|
|
add_opinion = {
|
|
target = root
|
|
opinion = -20
|
|
modifier = disappointed_opinion
|
|
}
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
modifier = { # AI will always join the movement if possible
|
|
exists = scope:elder_movement
|
|
factor = 0
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { # Not in China
|
|
name = tgp_interaction_event.00311.c
|
|
trigger = {
|
|
NOT = { exists = scope:elder_movement }
|
|
}
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# Break with Disciple notification event
|
|
tgp_interaction_event.0032 = {
|
|
type = letter_event
|
|
opening = tgp_interaction_event.0010.opening
|
|
desc = tgp_interaction_event.0032.desc
|
|
|
|
sender = scope:actor
|
|
|
|
immediate = {
|
|
show_as_tooltip = {
|
|
scope:actor = {
|
|
remove_relation_disciple = scope:recipient
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = tgp_interaction_event.0032.a
|
|
}
|
|
}
|
|
|
|
# Secretary Director changed his own mandate
|
|
tgp_interaction_event.0041 = {
|
|
type = letter_event
|
|
opening = tgp_interaction_event.0010.opening
|
|
desc = tgp_interaction_event.0041.desc
|
|
sender = scope:actor
|
|
|
|
immediate = {
|
|
show_as_tooltip = {
|
|
switch = {
|
|
trigger = yes
|
|
scope:placate_movements = {
|
|
set_diarchy_mandate = placate_movements
|
|
scope:actor = {
|
|
set_variable = {
|
|
name = diarch_forced_mandate
|
|
value = flag:placate_movements
|
|
}
|
|
}
|
|
}
|
|
scope:promote_might = {
|
|
set_diarchy_mandate = promote_might
|
|
scope:actor = {
|
|
set_variable = {
|
|
name = diarch_forced_mandate
|
|
value = flag:promote_might
|
|
}
|
|
}
|
|
}
|
|
scope:promote_merit = {
|
|
set_diarchy_mandate = promote_merit
|
|
scope:actor = {
|
|
set_variable = {
|
|
name = diarch_forced_mandate
|
|
value = flag:promote_merit
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
option = {
|
|
name = tgp_interaction_event.0041.a
|
|
scope:actor = {
|
|
tgp_activate_catalyst_against_hegemon_effect = {
|
|
HEGEMON = root
|
|
CATALYST = catalyst_diarch_mandate
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Secretary Director trains knights
|
|
tgp_interaction_event.0042 = {
|
|
type = character_event
|
|
title = ep3_contract_event.0091.t
|
|
desc = {
|
|
desc = ep3_contract_event.0091.desc
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { scope:helper = root }
|
|
desc = {
|
|
desc = ep3_contract_event.0091.desc_me
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { root.prowess < high_skill_rating }
|
|
desc = ep3_contract_event.0091.desc_me_high_prowess
|
|
}
|
|
desc = ep3_contract_event.0091.desc_me_low_prowess
|
|
}
|
|
}
|
|
}
|
|
desc = {
|
|
desc = ep3_contract_event.0091.desc_helper
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = { scope:helper.prowess < high_skill_rating }
|
|
desc = ep3_contract_event.0091.desc_high_prowess
|
|
}
|
|
desc = ep3_contract_event.0091.desc_low_prowess
|
|
}
|
|
}
|
|
}
|
|
desc = ep3_contract_event.0091.desc_outro
|
|
}
|
|
theme = war
|
|
left_portrait = {
|
|
character = root
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:helper = root
|
|
root.prowess < high_skill_rating
|
|
}
|
|
animation = random_weapon_yield
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:helper = root
|
|
root.prowess >= high_skill_rating
|
|
}
|
|
animation = inspect_weapon
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:helper != root
|
|
scope:helper.prowess < high_skill_rating
|
|
}
|
|
animation = stunned
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:helper != root
|
|
scope:helper.prowess >= high_skill_rating
|
|
}
|
|
animation = disappointed
|
|
}
|
|
}
|
|
right_portrait = {
|
|
character = scope:knight
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:helper = root
|
|
root.prowess < high_skill_rating
|
|
}
|
|
animation = random_weapon_celebrate
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:helper = root
|
|
root.prowess >= high_skill_rating
|
|
}
|
|
animation = random_weapon_yield
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:helper != root
|
|
scope:helper.prowess < high_skill_rating
|
|
}
|
|
animation = random_weapon_celebrate
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:helper != root
|
|
scope:helper.prowess >= high_skill_rating
|
|
}
|
|
animation = random_weapon_yield
|
|
}
|
|
}
|
|
lower_left_portrait = {
|
|
trigger = { scope:helper != root }
|
|
character = scope:helper
|
|
}
|
|
lower_right_portrait = {
|
|
character = scope:task_contract_councillor
|
|
}
|
|
lower_center_portrait = {
|
|
character = scope:task_contract_councillor_liege
|
|
}
|
|
|
|
immediate = {
|
|
scope:recipient = {
|
|
save_scope_as = task_contract_employer
|
|
cp:councillor_marshal ?= {
|
|
if = {
|
|
limit = {
|
|
this != scope:knight
|
|
}
|
|
save_scope_as = task_contract_councillor
|
|
}
|
|
}
|
|
}
|
|
cp:councillor_marshal ?= {
|
|
add_to_list = helpers_list
|
|
}
|
|
# search for anyone that could help you train them
|
|
random_court_position_holder = {
|
|
type = grand_guardian_court_position
|
|
add_to_list = helpers_list
|
|
}
|
|
random_court_position_holder = {
|
|
type = fire_dragon_engineer_court_position
|
|
add_to_list = helpers_list
|
|
}
|
|
random_court_position_holder = {
|
|
type = chief_qadi_court_position
|
|
add_to_list = helpers_list
|
|
}
|
|
random_court_position_holder = {
|
|
type = garuda_court_position
|
|
add_to_list = helpers_list
|
|
}
|
|
random_court_position_holder = {
|
|
type = court_tutor_court_position
|
|
add_to_list = helpers_list
|
|
}
|
|
random_court_position_holder = {
|
|
type = master_of_horse_court_position
|
|
add_to_list = helpers_list
|
|
}
|
|
random_court_position_holder = {
|
|
type = master_of_hunt_court_position
|
|
add_to_list = helpers_list
|
|
}
|
|
random_court_position_holder = {
|
|
type = bodyguard_court_position
|
|
add_to_list = helpers_list
|
|
}
|
|
random_court_position_holder = {
|
|
type = champion_court_position
|
|
add_to_list = helpers_list
|
|
}
|
|
random_court_position_holder = {
|
|
type = executioner_court_position
|
|
add_to_list = helpers_list
|
|
}
|
|
random_court_position_holder = {
|
|
type = master_assassin_court_position
|
|
add_to_list = helpers_list
|
|
}
|
|
random_in_list = {
|
|
list = helpers_list
|
|
save_scope_as = helper
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { exists = scope:helper }
|
|
}
|
|
save_scope_as = helper
|
|
}
|
|
scope:helper = {
|
|
random_character_trait = {
|
|
limit = {
|
|
has_trait_category = commander
|
|
}
|
|
save_scope_as = trait_to_teach
|
|
}
|
|
}
|
|
scope:helper = {
|
|
set_signature_weapon_effect = yes
|
|
}
|
|
scope:knight = {
|
|
set_signature_weapon_effect = yes
|
|
}
|
|
}
|
|
|
|
# steal the knight
|
|
option = {
|
|
name = ep3_contract_event.0091.a
|
|
trigger = { scope:knight = { is_landed = no } }
|
|
duel = {
|
|
skill = diplomacy
|
|
target = scope:knight
|
|
25 = {
|
|
desc = ep3_contract_event.0091_won_recruit
|
|
modifier = {
|
|
add = root.prestige_level
|
|
factor = 5
|
|
}
|
|
send_interface_toast = {
|
|
title = ep3_contract_event.0091_won_recruit
|
|
left_icon = root
|
|
right_icon = scope:knight
|
|
add_courtier = scope:knight
|
|
change_influence = {
|
|
value = scope:knight.prowess
|
|
multiply = -4
|
|
}
|
|
pay_short_term_gold = {
|
|
target = scope:recipient
|
|
gold = {
|
|
value = scope:knight.prowess
|
|
multiply = 5
|
|
}
|
|
}
|
|
}
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
}
|
|
}
|
|
25 = {
|
|
desc = ep3_contract_event.0091_lost_recruit
|
|
send_interface_toast = {
|
|
title = ep3_contract_event.0091_lost_recruit
|
|
left_icon = root
|
|
right_icon = scope:knight
|
|
}
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = 5
|
|
}
|
|
}
|
|
}
|
|
stress_impact = {
|
|
impatient = minor_stress_impact_loss
|
|
just = minor_stress_impact_gain
|
|
honest = minor_stress_impact_gain
|
|
callous = minor_stress_impact_loss
|
|
deceitful = minor_stress_impact_loss
|
|
}
|
|
ai_chance = {
|
|
base = 10
|
|
modifier = {
|
|
add = 100
|
|
highest_skill = diplomacy
|
|
}
|
|
}
|
|
}
|
|
|
|
# teach them a trait you know
|
|
option = {
|
|
name = ep3_contract_event.0091.b
|
|
trigger = {
|
|
exists = scope:trait_to_teach
|
|
scope:knight = {
|
|
NOT = { has_trait = scope:trait_to_teach }
|
|
}
|
|
}
|
|
duel = {
|
|
skill = martial
|
|
target = scope:knight
|
|
25 = {
|
|
desc = ep3_contract_event.0091_won_trait
|
|
modifier = {
|
|
add = root.learning
|
|
}
|
|
send_interface_toast = {
|
|
title = ep3_contract_event.0091_won_trait
|
|
left_icon = root
|
|
right_icon = scope:knight
|
|
scope:knight = {
|
|
add_trait = scope:trait_to_teach
|
|
}
|
|
}
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
}
|
|
}
|
|
25 = {
|
|
desc = ep3_contract_event.0091_lost
|
|
send_interface_toast = {
|
|
title = ep3_contract_event.0091_lost
|
|
left_icon = root
|
|
right_icon = scope:knight
|
|
}
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = 5
|
|
}
|
|
}
|
|
}
|
|
stress_impact = {
|
|
brave = minor_stress_impact_loss
|
|
craven = minor_stress_impact_gain
|
|
humble = minor_stress_impact_gain
|
|
arrogant = minor_stress_impact_loss
|
|
stubborn = minor_stress_impact_loss
|
|
}
|
|
ai_chance = {
|
|
base = 10
|
|
modifier = {
|
|
add = 100
|
|
highest_skill = martial
|
|
}
|
|
}
|
|
}
|
|
|
|
# let helper teach them some prowess
|
|
option = {
|
|
name = ep3_contract_event.0091.c
|
|
trigger = {
|
|
exists = scope:helper
|
|
scope:helper != root
|
|
}
|
|
scope:helper = {
|
|
duel = {
|
|
skill = prowess
|
|
target = scope:knight
|
|
25 = {
|
|
desc = ep3_contract_event.0091_won_helper
|
|
send_interface_toast = {
|
|
title = ep3_contract_event.0091_won_helper
|
|
left_icon = root
|
|
right_icon = scope:knight
|
|
scope:knight = {
|
|
add_prowess_skill = {
|
|
value = scope:helper.prowess
|
|
subtract = scope:knight.prowess
|
|
divide = 4
|
|
add = {
|
|
value = scope:knight.ai_boldness
|
|
divide = 10
|
|
}
|
|
add = {
|
|
value = scope:helper.ai_boldness
|
|
divide = 10
|
|
}
|
|
min = 2
|
|
max = 5
|
|
}
|
|
force_character_skill_recalculation = yes
|
|
}
|
|
}
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 1
|
|
}
|
|
}
|
|
25 = {
|
|
desc = ep3_contract_event.0091_lost
|
|
send_interface_toast = {
|
|
title = ep3_contract_event.0091_lost
|
|
left_icon = root
|
|
right_icon = scope:knight
|
|
}
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = 5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stress_impact = {
|
|
arrogant = minor_stress_impact_gain
|
|
ambitious = minor_stress_impact_gain
|
|
humble = minor_stress_impact_loss
|
|
shy = minor_stress_impact_loss
|
|
}
|
|
ai_chance = {
|
|
base = 10
|
|
modifier = {
|
|
add = 100
|
|
scope:helper.prowess > scope:knight.prowess
|
|
}
|
|
}
|
|
}
|
|
|
|
# teach them some prowess yourself
|
|
option = {
|
|
name = ep3_contract_event.0091.d
|
|
duel = {
|
|
skill = prowess
|
|
target = scope:knight
|
|
50 = {
|
|
desc = ep3_contract_event.0091_won
|
|
send_interface_toast = {
|
|
title = ep3_contract_event.0091_won
|
|
left_icon = root
|
|
right_icon = scope:knight
|
|
scope:knight = {
|
|
add_prowess_skill = {
|
|
value = root.prowess
|
|
subtract = scope:knight.prowess
|
|
divide = 4
|
|
add = {
|
|
value = scope:knight.ai_boldness
|
|
divide = 10
|
|
}
|
|
add = {
|
|
value = root.ai_boldness
|
|
divide = 10
|
|
}
|
|
min = 1
|
|
max = 4
|
|
}
|
|
force_character_skill_recalculation = yes
|
|
}
|
|
}
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
}
|
|
modifier = {
|
|
add = {
|
|
value = scope:knight.ai_energy
|
|
divide = -10
|
|
}
|
|
}
|
|
modifier = {
|
|
add = {
|
|
value = root.ai_energy
|
|
divide = -10
|
|
}
|
|
}
|
|
}
|
|
50 = {
|
|
desc = ep3_contract_event.0091_lost
|
|
send_interface_toast = {
|
|
title = ep3_contract_event.0091_lost
|
|
left_icon = root
|
|
right_icon = scope:knight
|
|
}
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = 5
|
|
}
|
|
modifier = {
|
|
add = {
|
|
value = scope:knight.ai_energy
|
|
divide = 10
|
|
}
|
|
}
|
|
modifier = {
|
|
add = {
|
|
value = root.ai_energy
|
|
divide = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
stress_impact = {
|
|
arrogant = minor_stress_impact_loss
|
|
ambitious = minor_stress_impact_loss
|
|
humble = minor_stress_impact_gain
|
|
shy = minor_stress_impact_gain
|
|
}
|
|
ai_chance = {
|
|
base = 10
|
|
modifier = {
|
|
add = 100
|
|
prowess > scope:knight.prowess
|
|
}
|
|
}
|
|
}
|
|
}
|