3727 lines
76 KiB
Text
3727 lines
76 KiB
Text
namespace = ep3_camp_party
|
|
|
|
################################
|
|
# Maintenance
|
|
################################
|
|
|
|
# START EVENT
|
|
ep3_camp_party.0001 = {
|
|
type = activity_event
|
|
title = ep3_camp_party.0001.t
|
|
desc = ep3_camp_party.0001.desc
|
|
theme = landless_adventurer
|
|
override_background = { reference = ep3_campfire }
|
|
center_portrait = {
|
|
character = root
|
|
animation = drink
|
|
}
|
|
|
|
option = {
|
|
name = ep3_camp_party.0001.a
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
# CONCLUSION EVENT
|
|
ep3_camp_party.0009 = {
|
|
type = activity_event
|
|
title = ep3_camp_party.0009.t
|
|
desc = ep3_camp_party.0009.desc
|
|
theme = landless_adventurer
|
|
override_background = { reference = ep3_campfire }
|
|
center_portrait = {
|
|
character = root
|
|
animation = ecstasy
|
|
}
|
|
|
|
immediate = {
|
|
#Reward effects
|
|
camp_party_completed_log_entry_effect = yes
|
|
}
|
|
|
|
option = {
|
|
name = ep3_camp_party.0009.a
|
|
ai_chance = {
|
|
base = 100
|
|
}
|
|
}
|
|
}
|
|
|
|
################################
|
|
# Events
|
|
################################
|
|
# ep3_camp_party.1000 - Listen to a story at the campfire
|
|
# ep3_camp_party.1005 - Someone wanders off and gets lost
|
|
# ep3_camp_party.1010 - Solve a riddle
|
|
# ep3_camp_party.1015 - An archery contest breaks out
|
|
# ep3_camp_party.1020 - A local turns up
|
|
# ep3_camp_party.1025 - Bond with your intent target
|
|
# ep3_camp_party.1030 - Relieve stress - intent event
|
|
# ep3_camp_party.1035 - Fell a tree for more firewood
|
|
# ep3_camp_party.1040 - Encounter a wandering merchant
|
|
#
|
|
|
|
# Listen to a story at the campfire
|
|
ep3_camp_party.1000 = {
|
|
type = activity_event
|
|
title = ep3_camp_party.1000.t
|
|
desc = ep3_camp_party.1000.desc
|
|
theme = landless_adventurer
|
|
override_background = { reference = ep3_campfire }
|
|
left_portrait = {
|
|
character = root
|
|
animation = drink
|
|
}
|
|
right_portrait = {
|
|
character = scope:storyteller
|
|
animation = storyteller
|
|
}
|
|
cooldown = { months = 3 }
|
|
|
|
trigger = {
|
|
#Standard checks
|
|
has_ep3_dlc_trigger = yes
|
|
has_government = landless_adventurer_government
|
|
involved_activity = {
|
|
any_attending_character = {
|
|
count > 3 #Make sure there's actually a 'crowd' to listen
|
|
this != root
|
|
is_ai = yes
|
|
is_adult = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
location = {
|
|
save_scope_as = location
|
|
}
|
|
involved_activity = {
|
|
save_scope_as = activity
|
|
random_attending_character = {
|
|
limit = {
|
|
this != root
|
|
is_ai = yes
|
|
is_adult = yes
|
|
}
|
|
save_scope_as = storyteller
|
|
}
|
|
}
|
|
}
|
|
|
|
#If we rip some of these tables apart...
|
|
option = {
|
|
name = ep3_camp_party.1000.a
|
|
|
|
trigger = {
|
|
involved_activity = {
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_lavish
|
|
}
|
|
}
|
|
}
|
|
|
|
add_internal_flag = special
|
|
|
|
flavor = ep3_camp_party.1000.a.tt
|
|
|
|
domicile = {
|
|
change_provisions = medium_provisions_loss
|
|
}
|
|
|
|
create_artifact = {
|
|
name = ep3_makeshift_mace
|
|
description = ep3_makeshift_mace_description
|
|
type = mace
|
|
visuals = mace
|
|
modifier = artifact_prowess_4_modifier
|
|
modifier = artifact_mercenary_hire_cost_mult_2_modifier
|
|
modifier = artifact_men_at_arms_maintenance_8_modifier
|
|
modifier = artifact_monthly_prestige_penalty_modifier
|
|
creator = root
|
|
rarity = common
|
|
save_scope_as = makeshift_mace
|
|
}
|
|
|
|
stress_impact = {
|
|
wrathful = miniscule_stress_impact_loss
|
|
brave = miniscule_stress_impact_loss
|
|
ambitious = miniscule_stress_impact_loss
|
|
diligent = miniscule_stress_impact_loss
|
|
calm = minor_stress_impact_gain
|
|
content = minor_stress_impact_gain
|
|
lazy = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
#Oh yeah? Well I have a story too!
|
|
option = {
|
|
name = ep3_camp_party.1000.b
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = lifestyle_poet
|
|
has_trait = lifestyle_traveler
|
|
}
|
|
}
|
|
|
|
duel = {
|
|
skill = diplomacy
|
|
value = medium_skill_rating
|
|
# Success: Your story is believed
|
|
50 = {
|
|
desc = ep3_camp_party.1000.b.success
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1000.b.success
|
|
left_icon = root
|
|
|
|
add_prestige = medium_prestige_gain
|
|
involved_activity = {
|
|
if = {
|
|
limit = {
|
|
any_attending_character = {
|
|
NOR = {
|
|
this = scope:storyteller
|
|
this = root
|
|
}
|
|
}
|
|
}
|
|
every_attending_character = {
|
|
custom = custom.every_attending_character
|
|
limit = {
|
|
NOR = {
|
|
this = scope:storyteller
|
|
this = root
|
|
}
|
|
}
|
|
add_opinion = {
|
|
target = root
|
|
modifier = impressed_opinion
|
|
opinion = 10
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Failure
|
|
50 = {
|
|
desc = ep3_camp_party.1000.b.failure
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1000.b.failure
|
|
left_icon = root
|
|
|
|
add_prestige = medium_prestige_loss
|
|
}
|
|
}
|
|
}
|
|
|
|
random = {
|
|
chance = 50
|
|
|
|
send_interface_toast = {
|
|
type = event_toast_effect_bad
|
|
title = ep3_camp_party.1000.b.tt
|
|
left_icon = root
|
|
right_icon = scope:storyteller
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:storyteller
|
|
modifier = upstaged_opinion
|
|
opinion = -25
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
arrogant = minor_stress_impact_loss
|
|
humble = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_sociability = -0.5
|
|
ai_compassion = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
#Another!
|
|
option = {
|
|
name = ep3_camp_party.1000.c
|
|
|
|
scope:storyteller = {
|
|
duel = {
|
|
skill = diplomacy
|
|
value = medium_skill_rating
|
|
# Success: Their next story is great
|
|
50 = {
|
|
desc = ep3_camp_party.1000.c.success
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1000.c.success
|
|
left_icon = root
|
|
right_icon = scope:storyteller
|
|
|
|
involved_activity = { activity_special_type_progression_variable = { NUM = 15 } }
|
|
custom_tooltip = camp_party_tt_positive_medium
|
|
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_encouraged_tale
|
|
CHARACTER = root
|
|
OPINION = default_friend_opinion
|
|
}
|
|
}
|
|
}
|
|
# Failure: Their next story is a damp squib
|
|
50 = {
|
|
desc = ep3_camp_party.1000.c.failure
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1000.c.failure
|
|
left_icon = root
|
|
right_icon = scope:storyteller
|
|
|
|
add_prestige = medium_prestige_loss
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
humble = miniscule_stress_impact_loss
|
|
gregarious = miniscule_stress_impact_loss
|
|
shy = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_sociability = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
#A fine tale.
|
|
option = {
|
|
name = ep3_camp_party.1000.d
|
|
|
|
scope:activity = { activity_special_type_progression_variable = { NUM = 10 } }
|
|
custom_tooltip = camp_party_tt_positive_tiny
|
|
|
|
stress_impact = {
|
|
patient = minor_stress_impact_loss
|
|
impatient = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Someone wanders off and gets lost
|
|
ep3_camp_party.1005 = {
|
|
type = activity_event
|
|
title = ep3_camp_party.1005.t
|
|
desc = ep3_camp_party.1005.desc
|
|
theme = landless_adventurer
|
|
override_background = { reference = ep3_campfire }
|
|
left_portrait = {
|
|
character = root
|
|
animation = stress
|
|
}
|
|
right_portrait = {
|
|
character = scope:attendee
|
|
animation = worry
|
|
}
|
|
cooldown = { months = 3 }
|
|
|
|
trigger = {
|
|
#Standard checks
|
|
has_ep3_dlc_trigger = yes
|
|
has_government = landless_adventurer_government
|
|
involved_activity = {
|
|
any_attending_character = {
|
|
count > 2 #Requires you plus two others
|
|
this != root
|
|
is_ai = yes
|
|
is_adult = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
location = {
|
|
save_scope_as = location
|
|
}
|
|
involved_activity = {
|
|
save_scope_as = activity
|
|
random_attending_character = {
|
|
limit = {
|
|
this != root
|
|
is_ai = yes
|
|
is_adult = yes
|
|
}
|
|
save_scope_as = attendee
|
|
}
|
|
random_attending_character = {
|
|
limit = {
|
|
NOR = {
|
|
this = root
|
|
this = scope:attendee
|
|
}
|
|
is_ai = yes
|
|
is_adult = yes
|
|
}
|
|
save_scope_as = wanderer
|
|
}
|
|
}
|
|
}
|
|
|
|
#Chuck some more wood on the fire to guide them home
|
|
option = {
|
|
name = ep3_camp_party.1005.a
|
|
|
|
trigger = {
|
|
involved_activity = {
|
|
OR = {
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_simple
|
|
}
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_lavish
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
add_internal_flag = special
|
|
|
|
domicile = {
|
|
change_provisions = minor_provisions_loss
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:wanderer
|
|
modifier = grateful_opinion
|
|
opinion = 20
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
involved_activity = {
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_simple
|
|
}
|
|
}
|
|
}
|
|
random = {
|
|
chance = 50
|
|
|
|
custom_tooltip = ep3_camp_party.1005.a.tt.positive
|
|
trigger_event = ep3_camp_party.1006
|
|
}
|
|
}
|
|
if = { #Boost chance for lavish
|
|
limit = {
|
|
involved_activity = {
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_lavish
|
|
}
|
|
}
|
|
}
|
|
random = {
|
|
chance = 80
|
|
|
|
custom_tooltip = ep3_camp_party.1005.a.tt.positive
|
|
trigger_event = ep3_camp_party.1006
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
calm = miniscule_stress_impact_loss
|
|
compassionate = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
#Search for them
|
|
option = {
|
|
name = ep3_camp_party.1005.b
|
|
|
|
duel = {
|
|
skills = { learning martial }
|
|
value = medium_skill_rating
|
|
|
|
# You find them
|
|
50 = {
|
|
desc = ep3_camp_party.1005.b.success
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1005.b.success
|
|
left_icon = root
|
|
right_icon = scope:wanderer
|
|
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_trait = lifestyle_hunter
|
|
}
|
|
}
|
|
add_trait = lifestyle_hunter
|
|
}
|
|
|
|
add_trait_xp = {
|
|
trait = lifestyle_hunter
|
|
track = hunter
|
|
value = { 3 8 }
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:wanderer
|
|
modifier = grateful_opinion
|
|
opinion = 15
|
|
}
|
|
|
|
scope:activity = { activity_special_type_progression_variable = { NUM = 15 } }
|
|
custom_tooltip = camp_party_tt_positive_medium
|
|
}
|
|
}
|
|
# You find some berries
|
|
50 = {
|
|
desc = ep3_camp_party.1005.b.neutral
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1005.b.neutral
|
|
left_icon = root
|
|
right_icon = scope:attendee
|
|
|
|
domicile = {
|
|
change_provisions = microscopic_provisions_gain
|
|
}
|
|
|
|
scope:wanderer = {
|
|
random = {
|
|
chance = 35
|
|
add_trait = lifestyle_gardener
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# You don't find them, and have a tangle with a wild animal
|
|
50 = {
|
|
desc = ep3_camp_party.1005.b.failure
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1005.b.failure
|
|
left_icon = root
|
|
right_icon = scope:wanderer
|
|
|
|
add_prestige = miniscule_prestige_loss
|
|
increase_wounds_no_death_effect = { REASON = wild_animal }
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
arrogant = miniscule_stress_impact_loss
|
|
humble = minor_stress_impact_gain
|
|
diligent = miniscule_stress_impact_loss
|
|
lazy = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_sociability = 1
|
|
ai_energy = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
#They'll come back, no worries
|
|
option = {
|
|
name = ep3_camp_party.1005.c
|
|
|
|
random_list = {
|
|
#They find their way back
|
|
50 = {
|
|
desc = ep3_camp_party.1005.c.success
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1005.c.success
|
|
left_icon = root
|
|
right_icon = scope:wanderer
|
|
|
|
scope:wanderer = {
|
|
add_stress = miniscule_stress_loss
|
|
}
|
|
|
|
scope:activity = { activity_special_type_progression_variable = { NUM = 10 } }
|
|
custom_tooltip = camp_party_tt_positive_tiny
|
|
}
|
|
}
|
|
#They find their way back, wounded
|
|
50 = {
|
|
desc = ep3_camp_party.1005.c.failure
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1005.c.failure
|
|
left_icon = root
|
|
right_icon = scope:wanderer
|
|
|
|
scope:wanderer = {
|
|
increase_wounds_no_death_effect = { REASON = wild_animal }
|
|
}
|
|
}
|
|
}
|
|
# They are lost forever
|
|
10 = {
|
|
desc = ep3_camp_party.1005.c.critfailure
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1005.c.critfailure
|
|
left_icon = root
|
|
right_icon = scope:attendee
|
|
|
|
scope:wanderer = {
|
|
move_to_pool = yes
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
lazy = miniscule_stress_impact_loss
|
|
diligent = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = -1
|
|
ai_energy = -1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Followup to 1005: some wanderers join!
|
|
ep3_camp_party.1006 = {
|
|
type = activity_event
|
|
title = ep3_camp_party.1006.t
|
|
desc = ep3_camp_party.1006.desc
|
|
theme = landless_adventurer
|
|
left_portrait = {
|
|
character = root
|
|
animation = ecstasy
|
|
}
|
|
right_portrait = {
|
|
character = scope:newcomer
|
|
animation = obsequious_bow
|
|
}
|
|
|
|
trigger = {
|
|
#Standard checks
|
|
has_ep3_dlc_trigger = yes
|
|
has_government = landless_adventurer_government
|
|
}
|
|
|
|
immediate = {
|
|
location = {
|
|
save_scope_as = location
|
|
}
|
|
involved_activity = {
|
|
save_scope_as = activity
|
|
}
|
|
if = {
|
|
limit = {
|
|
any_pool_character = {
|
|
province = root.location
|
|
is_physically_able_ai_adult = yes
|
|
has_no_particular_noble_roots_trigger = yes
|
|
}
|
|
}
|
|
random_pool_character = {
|
|
province = root.location
|
|
limit = {
|
|
is_physically_able_ai_adult = yes
|
|
has_no_particular_noble_roots_trigger = yes
|
|
}
|
|
save_scope_as = newcomer
|
|
}
|
|
}
|
|
else = {
|
|
create_character = {
|
|
template = bandit_character
|
|
culture = location.culture
|
|
faith = location.faith
|
|
location = root.location
|
|
save_scope_as = newcomer
|
|
}
|
|
}
|
|
hidden_effect = {
|
|
scope:newcomer = {
|
|
add_trait = lifestyle_physician
|
|
add_trait_xp = {
|
|
trait = lifestyle_physician
|
|
value = {
|
|
integer_range = {
|
|
min = 50
|
|
max = 100
|
|
}
|
|
}
|
|
}
|
|
add_trait = lifestyle_traveler
|
|
add_trait_xp = {
|
|
trait = lifestyle_traveler
|
|
track = danger
|
|
value = {
|
|
integer_range = {
|
|
min = 25
|
|
max = 75
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
domicile = {
|
|
change_provisions = miniscule_provisions_gain
|
|
}
|
|
}
|
|
|
|
#Join, and stay!
|
|
option = {
|
|
name = ep3_camp_party.1006.a
|
|
|
|
scope:newcomer = {
|
|
add_to_activity = scope:activity
|
|
}
|
|
add_courtier = scope:newcomer
|
|
|
|
scope:activity = { activity_special_type_progression_variable = { NUM = 15 } }
|
|
custom_tooltip = camp_party_tt_positive_medium
|
|
|
|
stress_impact = {
|
|
calm = miniscule_stress_impact_loss
|
|
compassionate = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
#Come join the revelries, and teach me how you survive in the wilderness
|
|
option = {
|
|
name = ep3_camp_party.1006.b
|
|
|
|
scope:newcomer = {
|
|
add_to_activity = scope:activity
|
|
}
|
|
|
|
scope:activity = { activity_special_type_progression_variable = { NUM = 15 } }
|
|
custom_tooltip = camp_party_tt_positive_medium
|
|
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_trait = lifestyle_physician
|
|
}
|
|
}
|
|
add_trait = lifestyle_physician
|
|
}
|
|
|
|
add_trait_xp = {
|
|
trait = lifestyle_physician
|
|
value = { 15 30 }
|
|
}
|
|
|
|
stress_impact = {
|
|
arrogant = miniscule_stress_impact_loss
|
|
humble = minor_stress_impact_gain
|
|
diligent = miniscule_stress_impact_loss
|
|
lazy = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_sociability = 1
|
|
ai_energy = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Solve a riddle
|
|
ep3_camp_party.1010 = {
|
|
type = activity_event
|
|
title = ep3_camp_party.1010.t
|
|
desc = {
|
|
desc = ep3_camp_party.1010.desc
|
|
random_valid = {
|
|
triggered_desc = {
|
|
trigger = { has_character_flag = 1010_first_riddle_answer }
|
|
desc = ep3_camp_party.1010.desc_riddle_01
|
|
}
|
|
triggered_desc = {
|
|
trigger = { has_character_flag = 1010_second_riddle_answer }
|
|
desc = ep3_camp_party.1010.desc_riddle_02
|
|
}
|
|
triggered_desc = {
|
|
trigger = { has_character_flag = 1010_third_riddle_answer }
|
|
desc = ep3_camp_party.1010.desc_riddle_03
|
|
}
|
|
triggered_desc = {
|
|
trigger = { has_character_flag = 1010_fourth_riddle_answer }
|
|
desc = ep3_camp_party.1010.desc_riddle_04
|
|
}
|
|
triggered_desc = {
|
|
trigger = { has_character_flag = 1010_fifth_riddle_answer }
|
|
desc = ep3_camp_party.1010.desc_riddle_05
|
|
}
|
|
triggered_desc = {
|
|
trigger = { has_character_flag = 1010_sixth_riddle_answer }
|
|
desc = ep3_camp_party.1010.desc_riddle_06
|
|
}
|
|
triggered_desc = {
|
|
trigger = { has_character_flag = 1010_seventh_riddle_answer }
|
|
desc = ep3_camp_party.1010.desc_riddle_07
|
|
}
|
|
triggered_desc = {
|
|
trigger = { has_character_flag = 1010_eighth_riddle_answer }
|
|
desc = ep3_camp_party.1010.desc_riddle_08
|
|
}
|
|
}
|
|
desc = ep3_camp_party.1010.desc_outro
|
|
}
|
|
theme = landless_adventurer
|
|
override_background = { reference = ep3_campfire }
|
|
left_portrait = {
|
|
character = root
|
|
animation = thinking
|
|
}
|
|
right_portrait = {
|
|
character = scope:riddler
|
|
animation = drink
|
|
}
|
|
cooldown = { months = 3 }
|
|
|
|
trigger = {
|
|
#Standard checks
|
|
has_ep3_dlc_trigger = yes
|
|
has_government = landless_adventurer_government
|
|
involved_activity = {
|
|
any_attending_character = {
|
|
count > 1
|
|
this != root
|
|
is_ai = yes
|
|
is_adult = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
location = {
|
|
save_scope_as = location
|
|
}
|
|
involved_activity = {
|
|
save_scope_as = activity
|
|
random_attending_character = {
|
|
limit = {
|
|
this != root
|
|
is_ai = yes
|
|
is_adult = yes
|
|
}
|
|
save_scope_as = riddler
|
|
}
|
|
}
|
|
random_list = {
|
|
1 = { add_character_flag = 1010_first_riddle_answer }
|
|
1 = { add_character_flag = 1010_second_riddle_answer }
|
|
1 = { add_character_flag = 1010_third_riddle_answer }
|
|
1 = { add_character_flag = 1010_fourth_riddle_answer }
|
|
1 = { add_character_flag = 1010_fifth_riddle_answer }
|
|
1 = { add_character_flag = 1010_sixth_riddle_answer }
|
|
1 = { add_character_flag = 1010_seventh_riddle_answer }
|
|
1 = { add_character_flag = 1010_eighth_riddle_answer }
|
|
}
|
|
}
|
|
|
|
#I'm big brained and know the answer
|
|
option = {
|
|
name = ep3_camp_party.1010.a
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = intellect_good
|
|
has_trait = shrewd
|
|
}
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:riddler
|
|
modifier = disappointed_opinion
|
|
opinion = -5
|
|
}
|
|
|
|
add_prestige = medium_prestige_gain
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = wit
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
else = {
|
|
add_trait = tourney_participant
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = wit
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
arrogant = medium_stress_impact_loss
|
|
impatient = miniscule_stress_impact_loss
|
|
humble = medium_stress_impact_gain
|
|
patient = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
#Hmm, well, what about this guess?
|
|
option = {
|
|
name = ep3_camp_party.1010.b
|
|
|
|
duel = {
|
|
skill = learning
|
|
value = medium_skill_rating
|
|
# Success: You guessed right
|
|
50 = {
|
|
desc = ep3_camp_party.1010.b.success
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1010.b.success.title #Used for supplying the actual answer
|
|
left_icon = root
|
|
right_icon = scope:riddler
|
|
|
|
add_prestige = medium_prestige_gain
|
|
involved_activity = {
|
|
every_attending_character = {
|
|
custom = custom.every_attending_character
|
|
add_opinion = {
|
|
target = root
|
|
modifier = impressed_opinion
|
|
opinion = 5
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Failure: You guessed wrong
|
|
50 = {
|
|
desc = ep3_camp_party.1010.b.failure
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1010.b.failure
|
|
left_icon = root
|
|
right_icon = scope:riddler
|
|
|
|
add_prestige = minor_prestige_loss
|
|
scope:riddler = {
|
|
add_stress = miniscule_stress_loss
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
patient = miniscule_stress_impact_loss
|
|
impatient = minor_stress_impact_gain
|
|
gregarious = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_sociability = 0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
#No idea, want a drink?
|
|
option = {
|
|
name = ep3_camp_party.1010.c
|
|
|
|
flavor = ep3_camp_party.1010.c.tt
|
|
|
|
involved_activity = { activity_special_type_progression_variable = { NUM = 15 } }
|
|
custom_tooltip = camp_party_tt_positive_medium
|
|
|
|
stress_impact = {
|
|
arrogant = medium_stress_impact_gain
|
|
impatient = medium_stress_impact_gain
|
|
humble = miniscule_stress_impact_loss
|
|
patient = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_sociability = 1
|
|
}
|
|
}
|
|
}
|
|
after = {
|
|
remove_character_flag ?= 1010_first_riddle_answer
|
|
remove_character_flag ?= 1010_second_riddle_answer
|
|
remove_character_flag ?= 1010_third_riddle_answer
|
|
remove_character_flag ?= 1010_fourth_riddle_answer
|
|
remove_character_flag ?= 1010_fifth_riddle_answer
|
|
remove_character_flag ?= 1010_sixth_riddle_answer
|
|
remove_character_flag ?= 1010_seventh_riddle_answer
|
|
remove_character_flag ?= 1010_eighth_riddle_answer
|
|
}
|
|
}
|
|
|
|
# An archery contest breaks out
|
|
ep3_camp_party.1015 = {
|
|
type = activity_event
|
|
title = ep3_camp_party.1015.t
|
|
desc = ep3_camp_party.1015.desc
|
|
theme = landless_adventurer
|
|
override_background = { reference = ep3_campfire }
|
|
left_portrait = {
|
|
character = root
|
|
animation = interested
|
|
}
|
|
right_portrait = {
|
|
character = scope:archer
|
|
animation = hunting_shortbow_rest_arrow_default
|
|
}
|
|
cooldown = { months = 3 }
|
|
|
|
trigger = {
|
|
#Standard checks
|
|
has_ep3_dlc_trigger = yes
|
|
has_government = landless_adventurer_government
|
|
involved_activity = {
|
|
any_attending_character = {
|
|
count > 1
|
|
this != root
|
|
is_ai = yes
|
|
is_adult = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
location = {
|
|
save_scope_as = location
|
|
}
|
|
involved_activity = {
|
|
save_scope_as = activity
|
|
random_attending_character = {
|
|
limit = {
|
|
this != root
|
|
is_ai = yes
|
|
is_adult = yes
|
|
}
|
|
save_scope_as = archer
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
involved_activity = {
|
|
OR = {
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_simple
|
|
}
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_lavish
|
|
}
|
|
}
|
|
}
|
|
}
|
|
involved_activity = {
|
|
random_attending_character = {
|
|
limit = {
|
|
NOR = {
|
|
this = root
|
|
this = scope:archer
|
|
}
|
|
is_ai = yes
|
|
is_adult = yes
|
|
}
|
|
save_scope_as = apple_holder
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Use apples as targets
|
|
option = {
|
|
name = ep3_camp_party.1015.a
|
|
|
|
trigger = {
|
|
involved_activity = {
|
|
OR = {
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_simple
|
|
}
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_lavish
|
|
}
|
|
}
|
|
any_attending_character = {
|
|
count > 2
|
|
this != root
|
|
is_ai = yes
|
|
is_adult = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
add_internal_flag = special
|
|
|
|
flavor = ep3_camp_party.1015.a.tt
|
|
|
|
domicile = {
|
|
change_provisions = microscopic_provisions_loss
|
|
}
|
|
|
|
duel = {
|
|
skill = prowess
|
|
target = scope:archer
|
|
# Success: You hit
|
|
30 = {
|
|
desc = ep3_camp_party.1015.a.success
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1015.a.success
|
|
left_icon = root
|
|
right_icon = scope:archer
|
|
|
|
add_prestige = major_prestige_gain
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = bow
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
}
|
|
else = {
|
|
add_trait = tourney_participant
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = bow
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
}
|
|
scope:archer = {
|
|
pay_short_term_gold = {
|
|
target = root
|
|
gold = tiny_gold_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Failure: You miss
|
|
40 = {
|
|
desc = ep3_camp_party.1015.a.failure
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1015.a.failure
|
|
left_icon = root
|
|
right_icon = scope:archer
|
|
|
|
pay_short_term_gold = {
|
|
target = scope:archer
|
|
gold = tiny_gold_value
|
|
}
|
|
|
|
scope:archer = {
|
|
add_prestige = medium_prestige_gain
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = bow
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
}
|
|
else = {
|
|
add_trait = tourney_participant
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = bow
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Failure: You REALLY miss
|
|
10 = {
|
|
desc = ep3_camp_party.1015.a.critfailure
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1015.a.critfailure
|
|
left_icon = root
|
|
right_icon = scope:apple_holder
|
|
|
|
scope:apple_holder = {
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_trait = one_eyed
|
|
}
|
|
}
|
|
add_trait = one_eyed
|
|
}
|
|
else = {
|
|
increase_wounds_no_death_effect = { REASON = wounds }
|
|
}
|
|
add_opinion = {
|
|
target = root
|
|
modifier = maimed_me
|
|
opinion = -50
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
arrogant = miniscule_stress_impact_loss
|
|
humble = medium_stress_impact_gain
|
|
callous = minor_stress_impact_loss
|
|
compassionate = medium_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
#Why don't we make this into a hunting competition?
|
|
option = {
|
|
name = ep3_camp_party.1015.b
|
|
|
|
random_list = {
|
|
10 = {
|
|
desc = ep3_camp_party.1015.b.success
|
|
modifier = { #If you're both good
|
|
add = 5
|
|
AND = {
|
|
scope:archer = {
|
|
prowess > 10
|
|
}
|
|
prowess > 10
|
|
}
|
|
}
|
|
modifier = { #If at least one of you is good
|
|
add = 5
|
|
OR = {
|
|
scope:archer = {
|
|
prowess > 10
|
|
}
|
|
prowess > 10
|
|
}
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1015.b.success
|
|
left_icon = root
|
|
right_icon = scope:archer
|
|
|
|
domicile = {
|
|
change_provisions = { miniscule_provisions_gain medium_provisions_gain }
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_trait = lifestyle_hunter
|
|
}
|
|
add_trait_xp = {
|
|
trait = lifestyle_hunter
|
|
track = hunter
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
}
|
|
else = {
|
|
add_trait = lifestyle_hunter
|
|
add_trait_xp = {
|
|
trait = lifestyle_hunter
|
|
track = hunter
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
10 = {
|
|
desc = ep3_camp_party.1015.b.failure
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1015.b.failure
|
|
left_icon = root
|
|
right_icon = scope:archer
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = lifestyle_hunter
|
|
}
|
|
add_trait_xp = {
|
|
trait = lifestyle_hunter
|
|
track = hunter
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
else = {
|
|
add_trait = lifestyle_hunter
|
|
add_trait_xp = {
|
|
trait = lifestyle_hunter
|
|
track = hunter
|
|
value = tournament_hastiludes_xp_gain_medium_value
|
|
}
|
|
}
|
|
|
|
add_prestige = minor_prestige_loss
|
|
add_stress = minor_stress_gain
|
|
}
|
|
}
|
|
1 = {
|
|
desc = ep3_camp_party.1015.b.critfailure
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1015.b.critfailure
|
|
left_icon = root
|
|
right_icon = scope:archer
|
|
|
|
increase_wounds_no_death_effect = { REASON = wounds }
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
arrogant = miniscule_stress_impact_loss
|
|
impatient = miniscule_stress_impact_loss
|
|
humble = minor_stress_impact_gain
|
|
patient = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
#Come, then!
|
|
option = {
|
|
name = ep3_camp_party.1015.c
|
|
|
|
trigger = {
|
|
involved_activity = {
|
|
NOR = {
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_simple
|
|
}
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_lavish
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
duel = {
|
|
skill = prowess
|
|
target = scope:archer
|
|
# Success: You win
|
|
50 = {
|
|
desc = ep3_camp_party.1015.c.success
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1015.c.success
|
|
left_icon = root
|
|
right_icon = scope:archer
|
|
|
|
add_prestige = medium_prestige_gain
|
|
if = {
|
|
limit = {
|
|
has_trait = tourney_participant
|
|
}
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = bow
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
}
|
|
else = {
|
|
add_trait = tourney_participant
|
|
add_trait_xp = {
|
|
trait = tourney_participant
|
|
track = bow
|
|
value = tournament_hastiludes_xp_gain_major_value
|
|
}
|
|
}
|
|
}
|
|
}
|
|
# Failure: You lose
|
|
50 = {
|
|
desc = ep3_camp_party.1015.c.failure
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1015.c.failure
|
|
left_icon = root
|
|
right_icon = scope:archer
|
|
|
|
add_stress = miniscule_stress_gain
|
|
scope:archer = {
|
|
add_prestige = medium_prestige_gain
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
patient = minor_stress_impact_gain
|
|
impatient = miniscule_stress_impact_loss
|
|
brave = miniscule_stress_impact_loss
|
|
craven = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_energy = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
#Ah, you're better than me, let's just sit and talk shall we?
|
|
option = {
|
|
name = ep3_camp_party.1015.d
|
|
|
|
involved_activity = { activity_special_type_progression_variable = { NUM = 15 } }
|
|
custom_tooltip = camp_party_tt_positive_medium
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:archer
|
|
modifier = pleased_opinion
|
|
opinion = 25
|
|
}
|
|
|
|
stress_impact = {
|
|
arrogant = minor_stress_impact_gain
|
|
impatient = minor_stress_impact_gain
|
|
humble = miniscule_stress_impact_loss
|
|
patient = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_sociability = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# A local turns up
|
|
ep3_camp_party.1020 = {
|
|
type = activity_event
|
|
title = ep3_camp_party.1020.t
|
|
desc = {
|
|
desc = ep3_camp_party.1020.opening
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:local = {
|
|
has_character_flag = witch_flag
|
|
}
|
|
}
|
|
desc = ep3_camp_party.1020.witch
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:local = {
|
|
has_character_flag = cannibal_flag
|
|
}
|
|
}
|
|
desc = ep3_camp_party.1020.cannibal
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:local = {
|
|
has_character_flag = mangled_flag
|
|
}
|
|
}
|
|
desc = ep3_camp_party.1020.mangled
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:local = {
|
|
has_character_flag = mystic_flag
|
|
}
|
|
}
|
|
desc = ep3_camp_party.1020.mystic
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:local = {
|
|
has_character_flag = siblings_flag
|
|
}
|
|
}
|
|
desc = ep3_camp_party.1020.siblings
|
|
}
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:local = {
|
|
NOT = {
|
|
has_character_flag = siblings_flag
|
|
}
|
|
}
|
|
}
|
|
desc = ep3_camp_party.1020.ending
|
|
}
|
|
}
|
|
theme = landless_adventurer
|
|
override_background = { reference = ep3_campfire }
|
|
left_portrait = {
|
|
character = root
|
|
animation = shock
|
|
}
|
|
center_portrait = {
|
|
trigger = {
|
|
exists = scope:local_sibling
|
|
}
|
|
character = scope:local_sibling
|
|
animation = sick
|
|
camera = camera_event_left_forward
|
|
}
|
|
right_portrait = {
|
|
character = scope:local
|
|
animation = beg
|
|
}
|
|
cooldown = { months = 3 }
|
|
|
|
trigger = {
|
|
#Standard checks
|
|
has_ep3_dlc_trigger = yes
|
|
has_government = landless_adventurer_government
|
|
involved_activity = {
|
|
OR = {
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_simple
|
|
}
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_lavish
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
location = {
|
|
save_scope_as = location
|
|
}
|
|
involved_activity = {
|
|
save_scope_as = activity
|
|
}
|
|
|
|
random_list = {
|
|
2 = { #Normal pool character
|
|
trigger = {
|
|
any_pool_character = {
|
|
province = root.location
|
|
is_physically_able_ai_adult = yes
|
|
has_no_particular_noble_roots_trigger = yes
|
|
}
|
|
}
|
|
random_pool_character = {
|
|
province = root.location
|
|
limit = {
|
|
is_physically_able_ai_adult = yes
|
|
has_no_particular_noble_roots_trigger = yes
|
|
}
|
|
save_scope_as = local
|
|
}
|
|
}
|
|
1 = {
|
|
create_character = {
|
|
template = bp1_yearly_2021_learning_witch_template
|
|
culture = location.culture
|
|
faith = location.faith
|
|
location = root.location
|
|
save_scope_as = local
|
|
}
|
|
hidden_effect = {
|
|
scope:local = {
|
|
add_character_flag = witch_flag
|
|
}
|
|
}
|
|
}
|
|
1 = {
|
|
create_character = {
|
|
template = generic_peasant_character
|
|
culture = location.culture
|
|
faith = location.faith
|
|
location = root.location
|
|
save_scope_as = local
|
|
}
|
|
hidden_effect = {
|
|
scope:local = {
|
|
add_secret = { type = secret_cannibal }
|
|
add_character_flag = cannibal_flag
|
|
}
|
|
}
|
|
}
|
|
1 = {
|
|
create_character = {
|
|
template = generic_peasant_character
|
|
culture = location.culture
|
|
faith = location.faith
|
|
location = root.location
|
|
age = { 20 30 }
|
|
save_scope_as = local
|
|
}
|
|
hidden_effect = {
|
|
scope:local = {
|
|
random_list = {
|
|
1 = { #Cowhig Croft 'em
|
|
add_trait = one_eyed
|
|
add_trait = one_legged
|
|
add_trait = scarred
|
|
add_trait_xp = {
|
|
trait = scarred
|
|
value = {
|
|
integer_range = {
|
|
min = 50
|
|
max = 100
|
|
}
|
|
}
|
|
}
|
|
add_learning_skill = { 5 15 }
|
|
add_diplomacy_skill = { 5 15 }
|
|
add_character_flag = mangled_flag
|
|
}
|
|
1 = { #'Yes it is', not 'that it be'
|
|
add_trait = lifestyle_mystic
|
|
add_trait_xp = {
|
|
trait = lifestyle_mystic
|
|
value = {
|
|
integer_range = {
|
|
min = 50
|
|
max = 100
|
|
}
|
|
}
|
|
}
|
|
add_trait = lifestyle_herbalist
|
|
set_age = { 35 60 }
|
|
add_character_flag = mystic_flag
|
|
}
|
|
1 = { #Someone suspiciously close to their sibling, whose parents have mysteriously just died...
|
|
create_character = { #Make their dad
|
|
template = generic_peasant_character
|
|
gender = male
|
|
culture = location.culture
|
|
faith = location.faith
|
|
location = root.location
|
|
age = { 50 70 }
|
|
save_scope_as = local_dad
|
|
}
|
|
create_character = { #Make their mum
|
|
template = generic_female_peasant_character
|
|
gender = female
|
|
culture = location.culture
|
|
faith = location.faith
|
|
location = root.location
|
|
age = { 50 70 }
|
|
save_scope_as = local_mum
|
|
}
|
|
|
|
scope:local_dad = {
|
|
death = { death_reason = death_mysterious }
|
|
}
|
|
scope:local_mum = {
|
|
death = { death_reason = death_mysterious }
|
|
}
|
|
|
|
#Now back to the person at hand
|
|
set_sexuality = bisexual #No, this isn't a statement on the inherently incestuous nature of bisexuals, I just don't want to have to set up all the cascading checks for brother/brother, brother/sister, sister/sister for what is a throwaway part of an event. OK?! (ㆆ_ㆆ)
|
|
add_secret = { type = secret_incest }
|
|
set_father = scope:local_dad
|
|
set_mother = scope:local_mum
|
|
add_character_flag = siblings_flag
|
|
|
|
#Make them a good character that you want to have, so giving us plenty of intrigue later on
|
|
random_list = {
|
|
10 = { add_trait = beauty_good_1 }
|
|
10 = { add_trait = beauty_good_2 }
|
|
10 = { add_trait = physique_good_1 }
|
|
10 = { add_trait = physique_good_2 }
|
|
1 = { add_trait = fecund }
|
|
5 = { add_trait = strong }
|
|
5 = { add_trait = shrewd }
|
|
}
|
|
|
|
#And now to their sibling
|
|
create_character = {
|
|
template = generic_peasant_character
|
|
culture = location.culture
|
|
faith = location.faith
|
|
location = root.location
|
|
age = { 20 30 }
|
|
save_scope_as = local_sibling
|
|
}
|
|
scope:local_sibling = {
|
|
set_sexuality = bisexual #Same goes here!
|
|
set_father = scope:local_dad
|
|
set_mother = scope:local_mum
|
|
set_relation_lover = { target = scope:local }
|
|
random_list = { #As above
|
|
10 = { add_trait = beauty_good_1 }
|
|
10 = { add_trait = beauty_good_2 }
|
|
10 = { add_trait = physique_good_1 }
|
|
10 = { add_trait = physique_good_2 }
|
|
1 = { add_trait = fecund }
|
|
5 = { add_trait = strong }
|
|
5 = { add_trait = shrewd }
|
|
}
|
|
}
|
|
|
|
random_list = { #Did they kill their parents?
|
|
5 = { #First one did
|
|
add_trait = kinslayer_3
|
|
}
|
|
5 = { #Second one did
|
|
scope:local_sibling = {
|
|
add_trait = kinslayer_3
|
|
}
|
|
}
|
|
20 = { #They BOTH did!
|
|
add_trait = kinslayer_3
|
|
scope:local_sibling = {
|
|
add_trait = kinslayer_3
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
#Invite them in
|
|
option = {
|
|
name = ep3_camp_party.1020.a
|
|
|
|
domicile = {
|
|
change_provisions = minor_provisions_loss
|
|
}
|
|
|
|
add_courtier = scope:local
|
|
reverse_add_opinion = {
|
|
target = scope:local
|
|
modifier = grateful_opinion
|
|
opinion = 50
|
|
}
|
|
if = {
|
|
limit = {
|
|
exists = scope:local_sibling
|
|
}
|
|
add_courtier = scope:local_sibling
|
|
reverse_add_opinion = {
|
|
target = scope:local_sibling
|
|
modifier = grateful_opinion
|
|
opinion = 50
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
trusting = miniscule_stress_impact_loss
|
|
paranoid = medium_stress_impact_gain
|
|
gregarious = miniscule_stress_impact_loss
|
|
shy = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
#Give them food
|
|
option = {
|
|
name = ep3_camp_party.1020.b
|
|
|
|
domicile = {
|
|
change_provisions = miniscule_provisions_loss
|
|
}
|
|
|
|
add_piety = medium_piety_gain
|
|
|
|
involved_activity = {
|
|
every_attending_character = {
|
|
custom = custom.every_attending_character
|
|
add_opinion = {
|
|
target = root
|
|
modifier = charity_opinion
|
|
opinion = 15
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
just = miniscule_stress_impact_loss
|
|
generous = miniscule_stress_impact_loss
|
|
greedy = medium_stress_impact_gain
|
|
arbitrary = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = 0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
#Something's off about them; turn them away
|
|
option = {
|
|
name = ep3_camp_party.1020.c
|
|
|
|
domicile = {
|
|
change_provisions = miniscule_provisions_gain
|
|
}
|
|
|
|
involved_activity = { activity_special_type_progression_variable = { NUM = 15 } }
|
|
custom_tooltip = camp_party_tt_positive_medium
|
|
|
|
trigger_event = ep3_camp_party.1021
|
|
|
|
stress_impact = {
|
|
paranoid = medium_stress_impact_loss
|
|
compassionate = medium_stress_impact_gain
|
|
trusting = minor_stress_impact_gain
|
|
callous = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_energy = -1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Resolution event to the previous
|
|
ep3_camp_party.1021 = {
|
|
type = activity_event
|
|
title = ep3_camp_party.1021.t
|
|
desc = {
|
|
first_valid = {
|
|
triggered_desc = {
|
|
trigger = {
|
|
OR = {
|
|
has_trait = callous
|
|
has_trait = paranoid
|
|
}
|
|
}
|
|
desc = ep3_camp_party.1021.callous
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:local = {
|
|
has_character_flag = witch_flag
|
|
}
|
|
}
|
|
desc = ep3_camp_party.1021.witch
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:local = {
|
|
has_character_flag = cannibal_flag
|
|
}
|
|
}
|
|
desc = ep3_camp_party.1021.cannibal
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:local = {
|
|
has_character_flag = mangled_flag
|
|
}
|
|
}
|
|
desc = ep3_camp_party.1021.mangled
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:local = {
|
|
has_character_flag = mystic_flag
|
|
}
|
|
}
|
|
desc = ep3_camp_party.1021.mystic
|
|
}
|
|
triggered_desc = {
|
|
trigger = {
|
|
scope:local = {
|
|
has_character_flag = siblings_flag
|
|
}
|
|
}
|
|
desc = ep3_camp_party.1021.siblings
|
|
}
|
|
triggered_desc = {
|
|
desc = ep3_camp_party.1021.normal
|
|
}
|
|
}
|
|
}
|
|
theme = landless_adventurer
|
|
override_background = { reference = ep3_campfire }
|
|
left_portrait = {
|
|
character = root
|
|
triggered_animation = {
|
|
trigger = {
|
|
OR = {
|
|
has_trait = callous
|
|
has_trait = paranoid
|
|
}
|
|
}
|
|
animation = dismissal
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:local = {
|
|
OR = {
|
|
has_character_flag = siblings_flag
|
|
has_character_flag = mystic_flag
|
|
}
|
|
}
|
|
}
|
|
animation = grief
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
NOR = {
|
|
has_trait = callous
|
|
has_trait = paranoid
|
|
}
|
|
}
|
|
animation = worry
|
|
}
|
|
}
|
|
center_portrait = {
|
|
trigger = {
|
|
exists = scope:local_sibling
|
|
}
|
|
character = scope:local_sibling
|
|
animation = shock
|
|
camera = camera_event_left_forward
|
|
}
|
|
right_portrait = {
|
|
character = scope:local
|
|
animation = anger
|
|
}
|
|
cooldown = { months = 3 }
|
|
|
|
option = {
|
|
name = {
|
|
trigger = {
|
|
scope:local = {
|
|
has_character_flag = siblings_flag
|
|
}
|
|
}
|
|
text = ep3_camp_party.1021.a.face
|
|
}
|
|
name = {
|
|
trigger = {
|
|
scope:local = {
|
|
has_character_flag = mystic_flag
|
|
}
|
|
}
|
|
text = ep3_camp_party.1021.a.ill
|
|
}
|
|
name = {
|
|
trigger = {
|
|
scope:local = {
|
|
NOR = {
|
|
has_character_flag = siblings_flag
|
|
has_character_flag = mystic_flag
|
|
}
|
|
}
|
|
}
|
|
text = ep3_camp_party.1021.a.sad
|
|
}
|
|
|
|
trigger = {
|
|
NOR = {
|
|
has_trait = callous
|
|
has_trait = paranoid
|
|
}
|
|
}
|
|
|
|
if = { #If you turn away the witch, they turn one of your people into one
|
|
limit = {
|
|
scope:local = {
|
|
has_character_flag = witch_flag
|
|
}
|
|
}
|
|
hidden_effect = {
|
|
involved_activity = {
|
|
random_attending_character = {
|
|
limit = {
|
|
this != root
|
|
}
|
|
add_secret = { type = secret_witch }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else_if = { #Or a cannibal
|
|
limit = {
|
|
scope:local = {
|
|
has_character_flag = cannibal_flag
|
|
}
|
|
}
|
|
hidden_effect = {
|
|
involved_activity = {
|
|
random_attending_character = {
|
|
limit = {
|
|
this != root
|
|
}
|
|
add_secret = { type = secret_cannibal }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else_if = { #If you turn away the mangled man, everyone just feels bad
|
|
limit = {
|
|
scope:local = {
|
|
has_character_flag = mangled_flag
|
|
}
|
|
}
|
|
involved_activity = {
|
|
every_attending_character = {
|
|
custom = custom.every_attending_character
|
|
add_opinion = {
|
|
target = root
|
|
modifier = guilty_opinion
|
|
opinion = -25
|
|
}
|
|
add_stress = minor_stress_gain
|
|
}
|
|
random_attending_character = {
|
|
limit = {
|
|
NOR = {
|
|
this = root
|
|
has_trait = loyal
|
|
has_trait = sadistic
|
|
has_trait = callous
|
|
}
|
|
}
|
|
random = {
|
|
chance = 75
|
|
add_trait = disloyal
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else_if = { #The mystic poisons you
|
|
limit = {
|
|
scope:local = {
|
|
has_character_flag = mystic_flag
|
|
}
|
|
}
|
|
contract_disease_effect = { DISEASE = ill TREATMENT_EVENT = yes }
|
|
}
|
|
else_if = { #The siblings attack you
|
|
limit = {
|
|
scope:local = {
|
|
has_character_flag = siblings_flag
|
|
}
|
|
}
|
|
random_list = {
|
|
10 = {
|
|
modifier = {
|
|
employs_court_position = court_physician_court_position
|
|
add = 5
|
|
}
|
|
increase_wounds_no_death_effect = { REASON = fight }
|
|
}
|
|
3 = {
|
|
add_trait = one_eyed
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_character_modifier = ep3_uneasy_modifier
|
|
}
|
|
}
|
|
add_character_modifier = {
|
|
modifier = ep3_uneasy_modifier
|
|
years = 3
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
option = {
|
|
name = ep3_camp_party.1021.b
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_trait = callous
|
|
has_trait = paranoid
|
|
}
|
|
}
|
|
|
|
add_stress = medium_stress_loss
|
|
}
|
|
|
|
after = {
|
|
scope:local = {
|
|
remove_character_flag = witch_flag
|
|
remove_character_flag = cannibal_flag
|
|
remove_character_flag = mangled_flag
|
|
remove_character_flag = mystic_flag
|
|
remove_character_flag = siblings_flag
|
|
}
|
|
}
|
|
}
|
|
|
|
# Bond with your intent target
|
|
ep3_camp_party.1025 = {
|
|
type = activity_event
|
|
title = ep3_camp_party.1025.t
|
|
desc = ep3_camp_party.1025.desc
|
|
theme = landless_adventurer
|
|
override_background = { reference = ep3_campfire }
|
|
left_portrait = {
|
|
character = root
|
|
animation = ecstasy
|
|
}
|
|
right_portrait = {
|
|
character = scope:friend
|
|
animation = storyteller
|
|
}
|
|
cooldown = { months = 3 }
|
|
|
|
trigger = {
|
|
#Standard checks
|
|
has_ep3_dlc_trigger = yes
|
|
has_government = landless_adventurer_government
|
|
has_activity_intent = befriend_attendee_intent
|
|
intent_target ?= {
|
|
is_alive = yes
|
|
this != root
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
location = {
|
|
save_scope_as = location
|
|
}
|
|
involved_activity = {
|
|
save_scope_as = activity
|
|
}
|
|
intent_target = { save_scope_as = friend }
|
|
}
|
|
|
|
#No, no, tell me more!
|
|
option = {
|
|
name = ep3_camp_party.1025.a
|
|
|
|
trigger = {
|
|
OR = {
|
|
has_relation_potential_friend = scope:friend
|
|
has_trait = diplomat
|
|
has_trait = gregarious
|
|
diplomacy > 15
|
|
number_of_personality_traits_in_common = {
|
|
target = scope:friend
|
|
value >= 2
|
|
}
|
|
number_of_traits_in_common = {
|
|
target = scope:friend
|
|
value >= 3
|
|
}
|
|
}
|
|
}
|
|
|
|
set_relation_friend = {
|
|
target = scope:friend
|
|
reason = friend_listened_to_story
|
|
}
|
|
complete_activity_intent = yes
|
|
|
|
stress_impact = {
|
|
arrogant = minor_stress_impact_gain
|
|
humble = minor_stress_impact_loss
|
|
callous = minor_stress_impact_gain
|
|
compassionate = minor_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
#I do! I did stuff like...
|
|
option = {
|
|
name = ep3_camp_party.1025.b
|
|
|
|
duel = {
|
|
skill = diplomacy
|
|
value = medium_skill_rating
|
|
# Success: You pluck a memory out of thin air
|
|
50 = {
|
|
desc = ep3_camp_party.1025.b.success
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1025.b.success
|
|
left_icon = root
|
|
right_icon = scope:friend
|
|
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_bonded_over_story
|
|
CHARACTER = scope:friend
|
|
OPINION = default_friend_opinion
|
|
}
|
|
if = {
|
|
limit = {
|
|
has_relation_friend = scope:friend
|
|
}
|
|
complete_activity_intent = yes
|
|
}
|
|
}
|
|
}
|
|
# Failure: You had a boring childhood, apparently
|
|
50 = {
|
|
desc = ep3_camp_party.1025.b.failure
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1025.b.failure
|
|
left_icon = root
|
|
right_icon = scope:friend
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:friend
|
|
modifier = disappointed_opinion
|
|
opinion = -20
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
impatient = miniscule_stress_impact_loss
|
|
deceitful = miniscule_stress_impact_loss
|
|
patient = miniscule_stress_impact_gain
|
|
honest = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_boldness = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
#...how about a topic change?
|
|
option = {
|
|
name = ep3_camp_party.1025.c
|
|
|
|
flavor = ep3_camp_party.1025.c.tt
|
|
|
|
random = {
|
|
chance = 50
|
|
add_intrigue_lifestyle_xp = medium_lifestyle_xp
|
|
}
|
|
|
|
stress_impact = {
|
|
deceitful = miniscule_stress_impact_loss
|
|
honest = miniscule_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_energy = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Relieve stress - intent event
|
|
ep3_camp_party.1030 = {
|
|
type = activity_event
|
|
title = ep3_camp_party.1030.t
|
|
desc = ep3_camp_party.1030.desc
|
|
theme = landless_adventurer
|
|
left_portrait = {
|
|
character = root
|
|
animation = drink
|
|
}
|
|
right_portrait = {
|
|
character = scope:reveler
|
|
animation = lantern
|
|
}
|
|
cooldown = { months = 3 }
|
|
|
|
trigger = {
|
|
#Standard checks
|
|
has_ep3_dlc_trigger = yes
|
|
has_government = landless_adventurer_government
|
|
has_activity_intent = reduce_stress_intent
|
|
involved_activity = {
|
|
any_attending_character = {
|
|
count > 1
|
|
this != root
|
|
is_ai = yes
|
|
is_adult = yes
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
location = {
|
|
save_scope_as = location
|
|
}
|
|
involved_activity = {
|
|
save_scope_as = activity
|
|
random_attending_character = {
|
|
limit = {
|
|
this != root
|
|
is_ai = yes
|
|
is_adult = yes
|
|
}
|
|
save_scope_as = reveler
|
|
}
|
|
}
|
|
}
|
|
|
|
# Crack out all the reserves lads!
|
|
option = {
|
|
name = ep3_camp_party.1030.a
|
|
|
|
trigger = {
|
|
involved_activity = {
|
|
OR = {
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_simple
|
|
}
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_lavish
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
add_internal_flag = special
|
|
|
|
if = {
|
|
limit = {
|
|
has_trait = lifestyle_reveler
|
|
}
|
|
add_trait_xp = {
|
|
trait = lifestyle_reveler
|
|
value = { 10 25 }
|
|
}
|
|
}
|
|
else = {
|
|
add_trait = lifestyle_reveler
|
|
add_trait_xp = {
|
|
trait = lifestyle_reveler
|
|
value = { 10 25 }
|
|
}
|
|
}
|
|
|
|
involved_activity = {
|
|
every_attending_character = {
|
|
custom = custom.every_attending_character
|
|
limit = {
|
|
this != root
|
|
}
|
|
add_opinion = {
|
|
target = root
|
|
modifier = pleased_opinion
|
|
opinion = 20
|
|
}
|
|
add_stress = medium_stress_loss
|
|
}
|
|
}
|
|
|
|
domicile = {
|
|
change_provisions = medium_provisions_loss
|
|
}
|
|
|
|
involved_activity = { activity_special_type_progression_variable = { NUM = 15 } }
|
|
custom_tooltip = camp_party_tt_positive_medium
|
|
|
|
stress_impact = {
|
|
base = major_stress_impact_loss
|
|
temperate = miniscule_stress_impact_gain
|
|
gluttonous = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = 1
|
|
ai_greed = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Let's live a little - downgraded version of option A
|
|
option = {
|
|
name = ep3_camp_party.1030.b
|
|
|
|
involved_activity = {
|
|
every_attending_character = {
|
|
custom = custom.every_attending_character
|
|
limit = {
|
|
this != root
|
|
}
|
|
add_opinion = {
|
|
target = root
|
|
modifier = pleased_opinion
|
|
opinion = 5
|
|
}
|
|
add_stress = miniscule_stress_loss
|
|
}
|
|
}
|
|
|
|
domicile = {
|
|
change_provisions = minor_provisions_loss
|
|
}
|
|
|
|
random = {
|
|
chance = 30
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1030.b.success
|
|
left_icon = root
|
|
|
|
add_character_modifier = {
|
|
modifier = ep3_life_of_the_party
|
|
years = 10
|
|
}
|
|
}
|
|
}
|
|
|
|
scope:activity = { activity_special_type_progression_variable = { NUM = 10 } }
|
|
custom_tooltip = camp_party_tt_positive_tiny
|
|
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
gluttonous = miniscule_stress_impact_gain
|
|
temperate = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_greed = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
#We should be sensible
|
|
option = {
|
|
name = ep3_camp_party.1030.c
|
|
|
|
add_character_modifier = {
|
|
modifier = ep3_sensible_provisions
|
|
years = 10
|
|
}
|
|
|
|
involved_activity = {
|
|
every_attending_character = {
|
|
custom = custom.every_attending_character
|
|
limit = {
|
|
this != root
|
|
}
|
|
add_opinion = {
|
|
target = root
|
|
modifier = disappointed_opinion
|
|
opinion = -5
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
temperate = miniscule_stress_impact_loss
|
|
deceitful = miniscule_stress_impact_loss
|
|
honest = miniscule_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_greed = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Fell a tree for more firewood
|
|
ep3_camp_party.1035 = {
|
|
type = activity_event
|
|
title = ep3_camp_party.1035.t
|
|
desc = ep3_camp_party.1035.desc
|
|
theme = landless_adventurer
|
|
override_background = { reference = ep3_campfire }
|
|
left_portrait = {
|
|
character = root
|
|
animation = thinking
|
|
}
|
|
right_portrait = {
|
|
character = scope:treefeller
|
|
animation = aggressive_axe
|
|
}
|
|
cooldown = { months = 3 }
|
|
|
|
trigger = {
|
|
#Standard checks
|
|
has_ep3_dlc_trigger = yes
|
|
has_government = landless_adventurer_government
|
|
location = {
|
|
NOR = {
|
|
terrain = desert
|
|
terrain = desert_mountains
|
|
terrain = mountains
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
location = {
|
|
save_scope_as = location
|
|
}
|
|
involved_activity = {
|
|
save_scope_as = activity
|
|
random_attending_character = {
|
|
limit = {
|
|
this != root
|
|
is_ai = yes
|
|
is_adult = yes
|
|
}
|
|
save_scope_as = treefeller
|
|
}
|
|
}
|
|
}
|
|
|
|
# Burn some old barrels and crates
|
|
option = {
|
|
name = ep3_camp_party.1035.a
|
|
|
|
trigger = {
|
|
involved_activity = {
|
|
OR = {
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_simple
|
|
}
|
|
has_activity_option = {
|
|
category = camp_party_option_food
|
|
option = camp_party_food_lavish
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
add_internal_flag = special
|
|
|
|
if = {
|
|
limit = {
|
|
NOT = {
|
|
has_trait = shrewd
|
|
}
|
|
}
|
|
random = {
|
|
chance = 25
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1035.a.success
|
|
left_icon = root
|
|
|
|
add_trait = shrewd
|
|
}
|
|
}
|
|
}
|
|
else = {
|
|
add_stewardship_lifestyle_perk_points = 1
|
|
}
|
|
|
|
involved_activity = {
|
|
every_attending_character = {
|
|
custom = custom.every_attending_character
|
|
add_character_modifier = {
|
|
modifier = ep3_warm_and_content
|
|
years = 3
|
|
}
|
|
}
|
|
}
|
|
|
|
domicile = {
|
|
change_provisions = medium_provisions_loss
|
|
}
|
|
|
|
stress_impact = {
|
|
greedy = miniscule_stress_impact_gain
|
|
generous = miniscule_stress_impact_loss
|
|
compassionate = miniscule_stress_impact_loss
|
|
callous = miniscule_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_compassion = 1
|
|
ai_greed = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Fell a tree
|
|
option = {
|
|
name = ep3_camp_party.1035.b
|
|
|
|
duel = {
|
|
skill = prowess
|
|
value = medium_skill_rating
|
|
# Success: Your story is believed
|
|
50 = {
|
|
desc = ep3_camp_party.1035.b.success
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = 3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1035.b.success
|
|
left_icon = root
|
|
right_icon = scope:treefeller
|
|
|
|
add_prestige = medium_prestige_gain
|
|
involved_activity = {
|
|
every_attending_character = {
|
|
custom = custom.every_attending_character
|
|
add_character_modifier = {
|
|
modifier = ep3_warm_and_content
|
|
years = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
domicile = {
|
|
change_provisions = miniscule_provisions_gain
|
|
}
|
|
}
|
|
}
|
|
# Failure
|
|
50 = {
|
|
desc = ep3_camp_party.1035.b.failure
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1035.b.failure
|
|
left_icon = root
|
|
right_icon = scope:treefeller
|
|
|
|
add_prestige = minor_prestige_loss
|
|
}
|
|
}
|
|
# Crit Failure
|
|
10 = {
|
|
desc = ep3_camp_party.1035.b.critfailure
|
|
show_chance = yes
|
|
|
|
compare_modifier = {
|
|
value = scope:duel_value
|
|
multiplier = -3.5
|
|
min = -49
|
|
}
|
|
|
|
send_interface_toast = {
|
|
title = ep3_camp_party.1035.b.critfailure
|
|
left_icon = root
|
|
right_icon = scope:treefeller
|
|
|
|
add_prestige = medium_prestige_loss
|
|
increase_wounds_no_death_effect = { REASON = accident }
|
|
}
|
|
}
|
|
}
|
|
|
|
stress_impact = {
|
|
brave = minor_stress_impact_loss
|
|
craven = minor_stress_impact_gain
|
|
paranoid = miniscule_stress_impact_gain
|
|
trusting = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_greed = 1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Scrabble around in the brush for some twigs
|
|
option = {
|
|
name = ep3_camp_party.1035.c
|
|
|
|
domicile = {
|
|
change_provisions = microscopic_provisions_gain
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:treefeller
|
|
modifier = disappointed_opinion
|
|
opinion = -20
|
|
}
|
|
|
|
stress_impact = {
|
|
temperate = miniscule_stress_impact_loss
|
|
deceitful = miniscule_stress_impact_loss
|
|
honest = miniscule_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_greed = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Encounter a wandering merchant
|
|
ep3_camp_party.1040 = {
|
|
type = activity_event
|
|
title = ep3_camp_party.1040.t
|
|
desc = ep3_camp_party.1040.desc
|
|
theme = landless_adventurer
|
|
override_background = { reference = ep3_campfire }
|
|
left_portrait = {
|
|
character = root
|
|
animation = thinking
|
|
}
|
|
right_portrait = {
|
|
character = scope:merchant
|
|
animation = scheme
|
|
}
|
|
artifact = {
|
|
target = scope:big_artifact
|
|
position = lower_left_portrait
|
|
}
|
|
artifact = {
|
|
target = scope:small_artifact
|
|
position = lower_center_portrait
|
|
}
|
|
cooldown = { months = 3 }
|
|
|
|
trigger = {
|
|
#Standard checks
|
|
has_ep3_dlc_trigger = yes
|
|
has_government = landless_adventurer_government
|
|
drinks_alcohol_trigger = yes
|
|
}
|
|
|
|
immediate = {
|
|
location = {
|
|
save_scope_as = location
|
|
}
|
|
if = {
|
|
limit = {
|
|
any_pool_character = {
|
|
province = root.location
|
|
is_physically_able_ai_adult = yes
|
|
has_no_particular_noble_roots_trigger = yes
|
|
}
|
|
}
|
|
random_pool_character = {
|
|
province = root.location
|
|
limit = {
|
|
is_physically_able_ai_adult = yes
|
|
has_no_particular_noble_roots_trigger = yes
|
|
}
|
|
save_scope_as = merchant
|
|
}
|
|
}
|
|
else = {
|
|
create_character = {
|
|
template = merchant_template
|
|
culture = location.culture
|
|
faith = location.faith
|
|
location = root.location
|
|
save_scope_as = merchant
|
|
}
|
|
}
|
|
scope:merchant = {
|
|
hidden_effect = {
|
|
random_list = { #Generate a big artifact
|
|
10 = {
|
|
random_dummy_gender_effect = yes
|
|
create_artifact_weapon_effect = {
|
|
OWNER = scope:merchant
|
|
CREATOR = scope:dummy_gender
|
|
SET_WEAPON_TYPE = flag:artifact_weapon_type_sword
|
|
}
|
|
hidden_effect = {
|
|
scope:newly_created_artifact ?= {
|
|
save_scope_as = big_artifact
|
|
add_artifact_modifier = artifact_negate_prowess_penalty_add_3_modifier
|
|
set_artifact_rarity = famed
|
|
}
|
|
}
|
|
}
|
|
10 = {
|
|
random_dummy_gender_effect = yes
|
|
create_artifact_regalia_effect = {
|
|
OWNER = scope:merchant
|
|
SMITH = scope:dummy_gender
|
|
}
|
|
hidden_effect = {
|
|
scope:newly_created_artifact ?= {
|
|
save_scope_as = big_artifact
|
|
add_artifact_modifier = artifact_monthly_prestige_add_3_modifier
|
|
set_artifact_rarity = famed
|
|
}
|
|
}
|
|
}
|
|
2 = { #Chance of it being amazing
|
|
random_dummy_gender_effect = yes
|
|
create_artifact_armor_effect = {
|
|
OWNER = scope:merchant
|
|
CREATOR = scope:dummy_gender
|
|
SET_ARMOR_TYPE = flag:armor_type_scale
|
|
}
|
|
hidden_effect = {
|
|
scope:newly_created_artifact ?= {
|
|
save_scope_as = big_artifact
|
|
add_artifact_modifier = artifact_prowess_5_modifier
|
|
add_artifact_modifier = artifact_knight_effectiveness_5_modifier
|
|
add_artifact_modifier = artifact_hard_casualty_modifier_5_modifier
|
|
add_artifact_modifier = artifact_courtier_and_guest_opinion_5_modifier
|
|
set_artifact_rarity = illustrious
|
|
set_artifact_name = resplendent_armour_name
|
|
set_artifact_description = resplendent_armour_desc
|
|
}
|
|
}
|
|
}
|
|
}
|
|
random_list = {
|
|
10 = {
|
|
random_dummy_gender_effect = yes
|
|
create_artifact_brooch_effect = {
|
|
OWNER = scope:owner
|
|
SMITH = scope:dummy_gender
|
|
}
|
|
scope:newly_created_artifact ?= {
|
|
save_scope_as = small_artifact
|
|
}
|
|
}
|
|
10 = {
|
|
random_dummy_gender_effect = yes
|
|
create_artifact_book_effect = {
|
|
OWNER = scope:owner
|
|
CREATOR = scope:dummy_gender
|
|
SET_SUBJECT = flag:no
|
|
SET_TOPIC = flag:no
|
|
}
|
|
scope:newly_created_artifact ?= {
|
|
save_scope_as = small_artifact
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
# Buy a big shiny thing
|
|
option = {
|
|
name = ep3_camp_party.1040.a
|
|
|
|
pay_short_term_gold = {
|
|
target = scope:merchant
|
|
gold = major_gold_value
|
|
}
|
|
|
|
scope:big_artifact = {
|
|
set_owner = root
|
|
}
|
|
|
|
involved_activity = { activity_special_type_progression_variable = { NUM = 15 } }
|
|
custom_tooltip = camp_party_tt_positive_medium
|
|
|
|
stress_impact = {
|
|
greedy = minor_stress_impact_gain
|
|
generous = minor_stress_impact_loss
|
|
temperate = miniscule_stress_impact_gain
|
|
profligate = medium_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_greed = -1
|
|
}
|
|
}
|
|
}
|
|
|
|
# Buy a small item
|
|
option = {
|
|
name = ep3_camp_party.1040.b
|
|
|
|
pay_short_term_gold = {
|
|
target = scope:merchant
|
|
gold = tiny_gold_value
|
|
}
|
|
|
|
scope:small_artifact = {
|
|
set_owner = root
|
|
}
|
|
|
|
scope:activity = { activity_special_type_progression_variable = { NUM = 10 } }
|
|
custom_tooltip = camp_party_tt_positive_tiny
|
|
|
|
stress_impact = {
|
|
greedy = miniscule_stress_impact_gain
|
|
generous = miniscule_stress_impact_loss
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_greed = -0.5
|
|
}
|
|
}
|
|
}
|
|
|
|
# Tell them to sod off
|
|
option = {
|
|
name = ep3_camp_party.1040.c
|
|
|
|
add_character_modifier = {
|
|
modifier = ep3_responsible_with_money
|
|
years = 10
|
|
}
|
|
|
|
reverse_add_opinion = {
|
|
target = scope:merchant
|
|
modifier = disappointed_opinion
|
|
opinion = -20
|
|
}
|
|
|
|
stress_impact = {
|
|
temperate = miniscule_stress_impact_loss
|
|
greedy = minor_stress_impact_loss
|
|
generous = minor_stress_impact_gain
|
|
profligate = minor_stress_impact_gain
|
|
}
|
|
|
|
ai_chance = {
|
|
base = 100
|
|
ai_value_modifier = {
|
|
ai_greed = 1
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
################################
|
|
# Events
|
|
################################
|
|
# ep3_camp_party.2000 - Choose which same-trait follower to chat with
|
|
#
|
|
|
|
scripted_trigger 2000_adult_ai_follower_trigger = {
|
|
this != root
|
|
is_ai = yes
|
|
is_adult = yes
|
|
}
|
|
|
|
scripted_trigger 2000_suitable_follower_for_conversation_trigger = {
|
|
2000_adult_ai_follower_trigger = yes
|
|
NOR = {
|
|
has_relation_rival = root
|
|
has_relation_best_friend = root
|
|
}
|
|
}
|
|
|
|
scripted_trigger 2000_has_same_personality_trait_as_root_trigger = {
|
|
has_trait_category = personality
|
|
root = { has_trait = prev } #The aforementioned trait
|
|
}
|
|
|
|
|
|
#Choose which same-trait follower to chat with
|
|
ep3_camp_party.2000 = {
|
|
type = activity_event
|
|
title = ep3_camp_party.2000.t
|
|
desc = ep3_camp_party.2000.desc
|
|
theme = landless_adventurer
|
|
override_background = { reference = ep3_campfire }
|
|
left_portrait = {
|
|
character = root
|
|
animation = thinking
|
|
}
|
|
center_portrait = {
|
|
character = scope:first_follower
|
|
animation = drink
|
|
}
|
|
right_portrait = {
|
|
character = scope:second_follower
|
|
animation = happiness
|
|
}
|
|
cooldown = { months = 3 }
|
|
|
|
trigger = {
|
|
#Standard checks
|
|
has_ep3_dlc_trigger = yes
|
|
has_government = landless_adventurer_government
|
|
involved_activity = {
|
|
#At least 3 peeps
|
|
any_attending_character = { count >= 3 }
|
|
#First person with a trait in common with ROOT
|
|
any_attending_character = {
|
|
2000_suitable_follower_for_conversation_trigger = yes
|
|
any_character_trait = {
|
|
2000_has_same_personality_trait_as_root_trigger = yes
|
|
save_temporary_scope_as = trait_check
|
|
}
|
|
save_temporary_scope_as = first_follower_check
|
|
}
|
|
#Second person with a trait in common with ROOT
|
|
any_attending_character = {
|
|
2000_suitable_follower_for_conversation_trigger = yes
|
|
this != scope:first_follower_check
|
|
#NOT the same trait as the first person
|
|
custom_tooltip = { #This is an error suppression, known by Code already
|
|
text = ep3_camp_party.2000.t
|
|
any_character_trait = {
|
|
2000_has_same_personality_trait_as_root_trigger = yes
|
|
this != scope:trait_check #the trait
|
|
}
|
|
}
|
|
save_temporary_scope_as = second_follower_check
|
|
}
|
|
#Random joe for loc in case we got the deceitful trait
|
|
any_attending_character = {
|
|
2000_adult_ai_follower_trigger = yes
|
|
NOR = {
|
|
this = scope:first_follower_check
|
|
this = scope:second_follower_check
|
|
}
|
|
}
|
|
}
|
|
}
|
|
immediate = {
|
|
involved_activity = {
|
|
#First person with a trait in common with ROOT
|
|
random_attending_character = {
|
|
limit = {
|
|
2000_suitable_follower_for_conversation_trigger = yes
|
|
any_character_trait = { 2000_has_same_personality_trait_as_root_trigger = yes }
|
|
}
|
|
save_scope_as = first_follower
|
|
random_character_trait = {
|
|
limit = { 2000_has_same_personality_trait_as_root_trigger = yes }
|
|
root = {
|
|
set_variable = {
|
|
name = first_follower_trait_var
|
|
value = prev #the trait
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#Second person with a trait in common with ROOT
|
|
random_attending_character = {
|
|
limit = {
|
|
2000_suitable_follower_for_conversation_trigger = yes
|
|
#NOT the same trait as the first person
|
|
any_character_trait = {
|
|
2000_has_same_personality_trait_as_root_trigger = yes
|
|
NOT = { var:first_follower_trait_var ?= prev } #the trait
|
|
}
|
|
this != scope:first_follower
|
|
}
|
|
save_scope_as = second_follower
|
|
random_character_trait = {
|
|
limit = {
|
|
2000_has_same_personality_trait_as_root_trigger = yes
|
|
NOT = { var:first_follower_trait_var ?= prev } #the trait
|
|
}
|
|
root = {
|
|
set_variable = {
|
|
name = second_follower_trait_var
|
|
value = prev #the trait
|
|
}
|
|
}
|
|
}
|
|
}
|
|
#Random joe for loc in case we got the deceitful trait
|
|
random_attending_character = {
|
|
limit = {
|
|
2000_adult_ai_follower_trigger = yes
|
|
NOR = {
|
|
this = scope:first_follower
|
|
this = scope:second_follower
|
|
}
|
|
}
|
|
save_scope_as = other_follower
|
|
}
|
|
}
|
|
#For deceitful loc
|
|
random_dummy_gender_effect = yes
|
|
}
|
|
#Focus on first follower
|
|
option = {
|
|
name = ep3_camp_party.2000.a
|
|
reverse_add_opinion = {
|
|
target = scope:first_follower
|
|
modifier = camp_party_listened_to_me_opinion
|
|
opinion = 20
|
|
}
|
|
random = {
|
|
chance = 40
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_bonded_over_personalities
|
|
CHARACTER = scope:first_follower
|
|
OPINION = 20
|
|
}
|
|
}
|
|
ai_chance = { base = 100 }
|
|
}
|
|
#Focus on second follower
|
|
option = {
|
|
name = ep3_camp_party.2000.b
|
|
reverse_add_opinion = {
|
|
target = scope:second_follower
|
|
modifier = camp_party_listened_to_me_opinion
|
|
opinion = 20
|
|
}
|
|
random = {
|
|
chance = 40
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_bonded_over_personalities
|
|
CHARACTER = scope:second_follower
|
|
OPINION = 20
|
|
}
|
|
}
|
|
ai_chance = { base = 100 }
|
|
}
|
|
#Triggered option: Let's debate!
|
|
option = {
|
|
name = ep3_camp_party.2000.c
|
|
trigger = {
|
|
domicile ?= { has_domicile_building = camp_fire_nightly_debates }
|
|
}
|
|
show_as_unavailable = { always = yes }
|
|
reason = has_building_camp_fire_nightly_debates
|
|
reverse_add_opinion = {
|
|
target = scope:first_follower
|
|
modifier = camp_party_listened_to_me_opinion
|
|
opinion = 20
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:second_follower
|
|
modifier = camp_party_listened_to_me_opinion
|
|
opinion = 20
|
|
}
|
|
random = {
|
|
chance = 20
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_bonded_over_personalities
|
|
CHARACTER = scope:second_follower
|
|
OPINION = 20
|
|
}
|
|
}
|
|
random = {
|
|
chance = 20
|
|
progress_towards_friend_effect = {
|
|
REASON = friend_bonded_over_personalities
|
|
CHARACTER = scope:second_follower
|
|
OPINION = 20
|
|
}
|
|
}
|
|
random = {
|
|
chance = 20
|
|
add_learning_skill = 1
|
|
}
|
|
ai_chance = { base = 100 }
|
|
}
|
|
#Triggered option: celebrate our companionship!
|
|
option = {
|
|
name = ep3_camp_party.2000.d
|
|
trigger = {
|
|
custom_tooltip = {
|
|
text = ep3_camp_party.2000.d.tt
|
|
domicile ?= { has_domicile_building_or_higher = mess_tent_03 }
|
|
}
|
|
}
|
|
show_as_unavailable = { always = yes }
|
|
reason = has_building_mess_tent_03_or_higher
|
|
reverse_add_opinion = {
|
|
target = scope:first_follower
|
|
modifier = camp_party_reveled_opinion
|
|
opinion = 40
|
|
}
|
|
reverse_add_opinion = {
|
|
target = scope:second_follower
|
|
modifier = camp_party_reveled_opinion
|
|
opinion = 40
|
|
}
|
|
if = {
|
|
limit = {
|
|
NOT = { has_trait = lifestyle_reveler }
|
|
}
|
|
add_trait = lifestyle_reveler
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
has_trait = lifestyle_reveler
|
|
NOT = {
|
|
has_trait_xp = {
|
|
trait = lifestyle_reveler
|
|
value >= 100 #Max
|
|
}
|
|
}
|
|
}
|
|
add_trait_xp = {
|
|
trait = lifestyle_reveler
|
|
value = {
|
|
integer_range = {
|
|
min = medium_trait_xp
|
|
max = major_trait_xp
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = { has_lifestyle = diplomacy_lifestyle }
|
|
add_diplomacy_lifestyle_xp = medium_lifestyle_xp
|
|
}
|
|
else = { add_prestige = medium_prestige_gain }
|
|
stress_impact = {
|
|
base = minor_stress_impact_loss
|
|
gluttonous = minor_stress_impact_loss
|
|
}
|
|
involved_activity = { activity_special_type_progression_variable = { NUM = 15 } }
|
|
custom_tooltip = camp_party_tt_positive_medium
|
|
|
|
ai_chance = { base = 100 }
|
|
}
|
|
after = {
|
|
remove_variable ?= first_follower_trait_var
|
|
remove_variable ?= second_follower_trait_var
|
|
}
|
|
}
|
|
|
|
ep3_camp_party.2100 = {
|
|
type = activity_event
|
|
title = ep3_camp_party.2100.t
|
|
desc = {
|
|
random_valid = {
|
|
triggered_desc = {
|
|
trigger = { scope:char_spawn_type = flag:porters } #porters - himbos
|
|
desc = ep3_laamps.8200.desc_1
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:char_spawn_type = flag:fools } #capering fools - fools
|
|
desc = ep3_laamps.8200.desc_2
|
|
}
|
|
triggered_desc = {
|
|
trigger = { scope:char_spawn_type = flag:locals } #hangers on - local ethos people
|
|
desc = ep3_laamps.8200.desc_3
|
|
}
|
|
}
|
|
}
|
|
theme = laamp
|
|
left_portrait = {
|
|
character = root
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:char_spawn_type = flag:porters
|
|
}
|
|
animation = admiration
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:char_spawn_type = flag:fools
|
|
}
|
|
animation = laugh
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:char_spawn_type = flag:locals
|
|
}
|
|
animation = personality_rational
|
|
}
|
|
}
|
|
right_portrait = {
|
|
character = scope:new_person
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:char_spawn_type = flag:porters
|
|
}
|
|
animation = hero_flex
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:char_spawn_type = flag:fools
|
|
}
|
|
animation = dancing
|
|
}
|
|
triggered_animation = {
|
|
trigger = {
|
|
scope:char_spawn_type = flag:locals
|
|
}
|
|
animation = beg
|
|
}
|
|
triggered_outfit = {
|
|
trigger = { scope:char_spawn_type = flag:porters }
|
|
outfit_tags = { beggar_rags }
|
|
}
|
|
triggered_outfit = {
|
|
trigger = { scope:char_spawn_type = flag:fools }
|
|
outfit_tags = { jester_outfit }
|
|
}
|
|
}
|
|
|
|
override_background = {
|
|
reference = ep3_campfire
|
|
}
|
|
|
|
trigger = {
|
|
has_ep3_dlc_trigger = yes
|
|
has_government = landless_adventurer_government
|
|
has_activity_intent = fireside_chat_intent
|
|
}
|
|
|
|
weight_multiplier = {
|
|
base = 1
|
|
modifier = {
|
|
add = 0.5
|
|
domicile ?= {
|
|
has_domicile_parameter = camp_recruit_porters_events
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 0.5
|
|
domicile ?= {
|
|
has_domicile_parameter = camp_recruit_fool_events
|
|
}
|
|
}
|
|
modifier = {
|
|
add = 0.5
|
|
domicile ?= {
|
|
has_domicile_parameter = camp_recruit_locals_events
|
|
}
|
|
}
|
|
}
|
|
|
|
immediate = {
|
|
location = {
|
|
save_scope_as = location
|
|
}
|
|
location.county = {
|
|
save_scope_as = location_county
|
|
}
|
|
location.county.holder.top_liege = {
|
|
save_scope_as = location_top_liege
|
|
}
|
|
random_list = {
|
|
1 = {
|
|
save_scope_value_as = {
|
|
name = char_spawn_type
|
|
value = flag:locals
|
|
}
|
|
}
|
|
1 = {
|
|
save_scope_value_as = {
|
|
name = char_spawn_type
|
|
value = flag:porters
|
|
}
|
|
}
|
|
1 = {
|
|
save_scope_value_as = {
|
|
name = char_spawn_type
|
|
value = flag:fools
|
|
}
|
|
}
|
|
}
|
|
|
|
if = {
|
|
limit = {
|
|
scope:char_spawn_type = flag:porters
|
|
}
|
|
#create a porter himbo
|
|
create_character = {
|
|
location = scope:location
|
|
age = { 18 28 }
|
|
random_traits_list = {
|
|
count = 1
|
|
education_martial_prowess_2 = {}
|
|
education_martial_prowess_3 = {}
|
|
}
|
|
random_traits_list = {
|
|
count = 1
|
|
brave = {}
|
|
diligent = {}
|
|
humble = {}
|
|
}
|
|
random_traits_list = {
|
|
honest = {}
|
|
gregarious = {}
|
|
trusting = {}
|
|
compassionate = {}
|
|
generous = {}
|
|
calm = {}
|
|
}
|
|
random_traits_list = {
|
|
count = 1
|
|
lustful = {}
|
|
chaste = {}
|
|
wrathful = {}
|
|
arrogant = {}
|
|
impatient = {}
|
|
patient = {}
|
|
impatient = {}
|
|
ambitious = {}
|
|
cynical = {}
|
|
zealous = {}
|
|
stubborn = {}
|
|
}
|
|
random_traits = no
|
|
martial = {
|
|
min_template_low_skill
|
|
max_template_low_skill
|
|
}
|
|
prowess = {
|
|
min_template_high_skill
|
|
max_template_high_skill
|
|
}
|
|
faith = location.faith
|
|
culture = location.culture
|
|
gender_female_chance = {
|
|
add = 25
|
|
}
|
|
save_scope_as = new_person
|
|
}
|
|
|
|
hidden_effect = {
|
|
scope:new_person = {
|
|
random_list = {
|
|
2 = {
|
|
add_trait = intellect_bad_2
|
|
add_trait = physique_good_1
|
|
add_trait = strong
|
|
}
|
|
2 = {
|
|
add_trait = strong
|
|
}
|
|
2 = {
|
|
add_trait = strong
|
|
add_trait = giant
|
|
}
|
|
2 = {
|
|
add_trait = intellect_bad_1
|
|
add_trait = giant
|
|
}
|
|
1 = {
|
|
add_trait = giant
|
|
add_trait = physique_good_2
|
|
add_trait = strong
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:char_spawn_type = flag:fools
|
|
}
|
|
create_character = {
|
|
template = poet_template
|
|
culture = location.culture
|
|
faith = location.faith
|
|
location = root.location
|
|
save_scope_as = new_person
|
|
}
|
|
hidden_effect = {
|
|
scope:new_person = {
|
|
add_trait = fecund
|
|
add_trait = lifestyle_traveler
|
|
add_trait = loyal
|
|
}
|
|
}
|
|
}
|
|
else_if = {
|
|
limit = {
|
|
scope:char_spawn_type = flag:locals
|
|
}
|
|
create_character = {
|
|
template = merchant_template
|
|
culture = location.culture
|
|
faith = location.faith
|
|
location = root.location
|
|
save_scope_as = new_person
|
|
}
|
|
hidden_effect = {
|
|
scope:new_person = {
|
|
random_list = {
|
|
8 = {
|
|
add_trait = shrewd
|
|
}
|
|
1 = {
|
|
add_trait = intellect_good_1
|
|
}
|
|
1 = {
|
|
add_trait = intellect_good_2
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
option = { #welcome, weary traveler
|
|
name = ep3_laamps.8200.a
|
|
add_courtier = scope:new_person
|
|
add_character_flag = {
|
|
flag = had_ep3_laamps_8200
|
|
years = 4
|
|
}
|
|
|
|
ai_chance = 100
|
|
|
|
stress_impact = {
|
|
compassionate = minor_stress_loss
|
|
}
|
|
}
|
|
|
|
option = { #please go away
|
|
name = ep3_laamps.8200.b
|
|
add_character_flag = {
|
|
flag = had_ep3_laamps_8200
|
|
years = 2
|
|
}
|
|
scope:new_person = {
|
|
silent_disappearance_effect = yes
|
|
}
|
|
|
|
stress_impact = {
|
|
paranoid = medium_stress_loss
|
|
shy = medium_stress_loss
|
|
}
|
|
}
|
|
}
|