N3OW/events/dlc/ep3/ep3_landless_admin_events.txt
2026-01-06 14:25:21 +01:00

2280 lines
50 KiB
Text

namespace = ep3_landless_admin
##################################################
# EP3 Landless Admin
# by Veronica Pazos
# 1000 On the Door
# 1010 In Good Estate
# 1020 For a Bit of Gold
# 1030 A Secret for a Secret
# 1040 Next in Line
# 1050 Just Below Us
# On the Door
# This guy could be a cool councillor
# 1000
ep3_landless_admin.1000 = {
type = character_event
title = ep3_landless_admin.1000.t
desc = ep3_landless_admin.1000.desc
theme = administrative
left_portrait = {
character = root
triggered_animation = {
trigger = {
OR = {
has_trait = gregarious
has_trait = generous
}
}
animation = ecstasy
}
animation = thinking
}
right_portrait = {
character = scope:proposed_councillor
animation = scheme
}
cooldown = { years = 5 }
trigger = {
is_landless_administrative = yes
is_available = yes
}
weight_multiplier = {
base = 1
modifier = {
factor = 2
NOT = {
any_courtier = {
has_any_high_skill_rating = yes
count < 3
}
}
}
}
immediate = {
if = {
limit = {
any_pool_character = {
province = root.location
is_available_healthy_ai_adult = yes
has_any_high_skill_rating = yes
}
}
random_pool_character = {
province = root.location
limit = {
is_available_healthy_ai_adult = yes
has_any_high_skill_rating = yes
}
save_scope_as = proposed_councillor
}
}
else = {
create_character = {
template = administrator_character
gender_female_chance = root_faith_dominant_gender_adjusted_female_chance
dynasty = none
location = root.location
faith = root.location.faith
culture = root.location.culture
save_scope_as = proposed_councillor
}
}
}
# You're hired!
option = {
name = ep3_landless_admin.1000.a
add_courtier = scope:proposed_councillor
pay_short_term_gold = {
target = scope:proposed_councillor
gold = medium_gold_value
}
stress_impact = { # You feel like you're getting robbed
greedy = medium_stress_impact_gain
avaricious = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = -50
OR = {
has_trait = greedy
has_trait = avaricious
has_trait = arrogant
}
}
modifier = {
factor = 0
short_term_gold <= major_gold_value
}
}
}
# Try to recruit them for free
option = {
name = ep3_landless_admin.1000.b
duel = {
skill = stewardship
target = scope:proposed_councillor
5 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = 1
}
modifier = {
influence_level >= 3
add = 10
}
desc = ep3_landless_admin.1000.b.success
send_interface_toast = {
title = ep3_landless_admin.1000.b.success
left_icon = scope:proposed_councillor
add_courtier = scope:proposed_councillor
}
}
10 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = 2
}
desc = ep3_landless_admin.1000.b.mid
send_interface_toast = {
title = ep3_landless_admin.1000.b.mid
left_icon = scope:proposed_councillor
add_courtier = scope:proposed_councillor
custom_tooltip = obligation_hook_tt
add_hook = {
target = scope:proposed_councillor
type = obligation_hook
}
pay_short_term_gold = {
target = scope:proposed_councillor
gold = minor_gold_value
}
}
}
20 = {
desc = ep3_landless_admin.1000.b.failure
send_interface_toast = {
title = ep3_landless_admin.1000.b.failure
left_icon = scope:proposed_councillor
reverse_add_opinion = {
target = scope:proposed_councillor
modifier = insulted_opinion
opinion = -15
}
}
}
}
stress_impact = {
greedy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = -25
has_trait = greedy
}
modifier = {
factor = 0
short_term_gold <= medium_gold_value
}
}
}
# I'm good, thanks
option = {
name = ep3_landless_admin.1000.c
stress_impact = { # Why wouldn't you hire this poor person
generous = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = -50
has_trait = generous
}
modifier = {
factor = 0
short_term_gold <= medium_gold_value
}
}
}
}
# In Good Estate
# You have upgraded your estate a bunch, locals are impressed
# 1010
ep3_landless_admin.1010 = {
type = character_event
title = ep3_landless_admin.1010.t
desc = ep3_landless_admin.1010.desc
theme = administrative
left_portrait = {
character = root
triggered_animation = {
trigger = {
has_trait = paranoid
}
animation = paranoia
}
triggered_animation = {
trigger = {
has_trait = arrogant
}
animation = laugh
}
animation = personality_content
}
right_portrait = {
character = scope:local
animation = admiration
}
lower_right_portrait = scope:child
cooldown = { years = 10 }
trigger = {
government_allows = administrative
is_landed_or_landless_administrative = yes
domicile ?= {
has_domicile_building_or_higher = estate_main_03
}
is_available = yes
}
weight_multiplier = {
base = 1
modifier = {
factor = 2
domicile ?= {
has_domicile_building_or_higher = estate_main_05
}
}
}
immediate = {
domicile = { save_scope_as = my_estate }
if = {
limit = {
any_pool_character = {
province = root.location
is_available_healthy_ai_adult = yes
has_no_particular_noble_roots_trigger = yes
any_child = {
is_adult = no
}
}
}
random_pool_character = {
province = root.location
limit = {
is_available_healthy_ai_adult = yes
has_no_particular_noble_roots_trigger = yes
any_child = {
is_adult = no
}
}
save_scope_as = local
random_child = {
limit = { is_adult = no }
save_scope_as = child
}
}
}
else = {
create_character = {
template = generic_peasant_character
dynasty = none
location = root.location
faith = root.location.faith
culture = root.location.culture
save_scope_as = local
}
hidden_effect = {
scope:local = {
move_to_pool = yes
}
}
create_character = {
template = peasant_toddler_character
culture = root.culture
faith = root.faith
location = root.location
save_scope_as = child
}
if = { #Set the previous character as their parent
limit = {
scope:local ?= {
is_female = no
}
}
hidden_effect = {
scope:child = {
set_father = scope:local
}
}
}
else = {
hidden_effect = {
scope:child = {
set_mother = scope:local
}
}
}
}
}
# Paranoid - they're clearly spying on me!
option = {
name = ep3_landless_admin.1010.a
trigger = {
has_trait = paranoid
}
add_character_modifier = {
modifier = ep3_extra_security_modifier
years = 10
}
scope:local = {
add_opinion = {
target = root
modifier = confused_opinion
opinion = -20
}
}
stress_impact = {
paranoid = medium_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 2
has_trait = paranoid
}
}
}
# Thanks friend, would you like to contribute?
option = {
name = ep3_landless_admin.1010.b
add_character_modifier = {
modifier = ep3_good_estate_modifier
years = 10
}
stress_impact = {
greedy = medium_stress_impact_loss
generous = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 2
has_trait = greedy
}
modifier = {
factor = 0
OR = {
has_trait = generous
has_trait = gregarious
}
}
}
}
# Tell everyone pls
option = {
name = ep3_landless_admin.1010.c
change_influence = minor_influence_gain
stress_impact = {
arrogant = medium_stress_impact_loss
ambitious = medium_stress_impact_loss
humble = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = 50
influence_level <= 2
}
modifier = {
factor = 2
OR = {
has_trait = arrogant
has_trait = ambitious
}
}
modifier = {
factor = 0
has_trait = humble
}
}
}
# That's sick, do you wanna join me?
option = {
name = ep3_landless_admin.1010.d
add_courtier = scope:local
add_courtier = scope:child
add_piety = miniscule_piety_gain
stress_impact = {
gregarious = medium_stress_impact_loss
generous = medium_stress_impact_loss
paranoid = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = 50
OR = {
has_trait = generous
has_trait = gregarious
}
}
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = callous
}
}
}
}
}
# For a Bit of Gold
# Upgrade a building in your estate
# 1020
scripted_trigger ep3_landless_admin_1020_can_upgrade_market_trigger = {
has_domicile_building_or_higher = market_01
NOT = { has_domicile_building_or_higher = market_06 }
trigger_if = {
limit = { has_domicile_building_or_higher = market_05 }
root = { estate_can_construct_market_06_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = market_04 }
root = { estate_can_construct_market_05_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = market_03 }
root = { estate_can_construct_market_04_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = market_02 }
root = { estate_can_construct_market_03_trigger = yes }
}
trigger_else = { always = yes }
}
scripted_trigger ep3_landless_admin_1020_can_upgrade_garden_trigger = {
has_domicile_building_or_higher = garden_01
NOR = {
has_domicile_building_or_higher = garden_leisure_06
has_domicile_building_or_higher = garden_fruit_06
}
trigger_if = {
limit = { has_domicile_building_or_higher = garden_leisure_05 }
root = { estate_can_construct_garden_leisure_06_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = garden_leisure_04 }
root = { estate_can_construct_garden_leisure_05_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = garden_03 }
root = { estate_can_construct_garden_leisure_04_trigger = yes }
}
trigger_else = { always = yes }
trigger_if = {
limit = { has_domicile_building_or_higher = garden_fruit_05 }
root = { estate_can_construct_garden_fruit_06_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = garden_fruit_04 }
root = { estate_can_construct_garden_fruit_05_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = garden_03 }
root = { estate_can_construct_garden_fruit_04_trigger = yes }
}
trigger_else = { always = yes }
}
scripted_trigger ep3_landless_admin_1020_can_upgrade_guardhouse_trigger = {
has_domicile_building_or_higher = guardhouse_01
NOT = { has_domicile_building_or_higher = guardhouse_04 }
trigger_if = {
limit = { has_domicile_building_or_higher = guardhouse_03 }
root = { estate_can_construct_guardhouse_04_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = guardhouse_02 }
root = { estate_can_construct_guardhouse_03_trigger = yes }
}
trigger_else = { always = yes }
}
scripted_trigger ep3_landless_admin_1020_can_upgrade_workshop_trigger = {
has_domicile_building_or_higher = workshop_01
NOR = {
has_domicile_building_or_higher = workshop_carpenter_06
has_domicile_building_or_higher = workshop_mason_06
}
trigger_if = {
limit = { has_domicile_building_or_higher = workshop_carpenter_05 }
root = { estate_can_construct_workshop_carpenter_06_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = workshop_carpenter_04 }
root = { estate_can_construct_workshop_carpenter_05_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = workshop_carpenter_03 }
root = { estate_can_construct_workshop_carpenter_04_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = workshop_02 }
root = { estate_can_construct_workshop_carpenter_03_trigger = yes }
}
trigger_else = { always = yes }
trigger_if = {
limit = { has_domicile_building_or_higher = workshop_mason_05 }
root = { estate_can_construct_workshop_mason_06_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = workshop_mason_04 }
root = { estate_can_construct_workshop_mason_05_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = workshop_mason_03 }
root = { estate_can_construct_workshop_mason_04_trigger = yes }
}
# No workshop_02 here, as we default to building a carpenter.
trigger_else = { always = yes }
trigger_if = {
limit = { has_domicile_building_or_higher = workshop_textile_05 }
root = { estate_can_construct_workshop_textile_06_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = workshop_textile_04 }
root = { estate_can_construct_workshop_textile_05_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = workshop_textile_03 }
root = { estate_can_construct_workshop_textile_04_trigger = yes }
}
# No workshop_02 here, as we default to building a carpenter.
trigger_else = { always = yes }
}
scripted_trigger ep3_landless_admin_1020_can_upgrade_barracks_trigger = {
has_domicile_building_or_higher = barracks_01
NOT = { has_domicile_building_or_higher = barracks_06 }
trigger_if = {
limit = { has_domicile_building_or_higher = barracks_05 }
root = { estate_can_construct_barracks_06_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = barracks_04 }
root = { estate_can_construct_barracks_05_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = barracks_03 }
root = { estate_can_construct_barracks_04_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = barracks_02 }
root = { estate_can_construct_barracks_03_trigger = yes }
}
trigger_else = { always = yes }
}
scripted_trigger ep3_landless_admin_1020_can_upgrade_vineyard_trigger = {
has_domicile_building_or_higher = vineyard_01
NOT = { has_domicile_building_or_higher = vineyard_06 }
trigger_if = {
limit = { has_domicile_building_or_higher = vineyard_05 }
root = { estate_can_construct_vineyard_06_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = vineyard_04 }
root = { estate_can_construct_vineyard_05_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = vineyard_03 }
root = { estate_can_construct_vineyard_04_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = vineyard_02 }
root = { estate_can_construct_vineyard_03_trigger = yes }
}
trigger_else = { always = yes }
}
scripted_trigger ep3_landless_admin_1020_can_upgrade_olive_trigger = {
has_domicile_building_or_higher = olive_01
NOT = { has_domicile_building_or_higher = olive_06 }
trigger_if = {
limit = { has_domicile_building_or_higher = olive_05 }
root = { estate_can_construct_olive_06_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = olive_04 }
root = { estate_can_construct_olive_05_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = olive_03 }
root = { estate_can_construct_olive_04_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = olive_02 }
root = { estate_can_construct_olive_03_trigger = yes }
}
trigger_else = { always = yes }
}
scripted_trigger ep3_landless_admin_1020_can_upgrade_tea_trigger = {
has_domicile_building_or_higher = japanese_tea_plantation_01
NOT = { has_domicile_building_or_higher = japanese_tea_plantation_06 }
trigger_if = {
limit = { has_domicile_building_or_higher = japanese_tea_plantation_05 }
root = { estate_can_construct_japanese_tea_plantation_06_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = japanese_tea_plantation_04 }
root = { estate_can_construct_japanese_tea_plantation_05_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = japanese_tea_plantation_03 }
root = { estate_can_construct_japanese_tea_plantation_04_trigger = yes }
}
trigger_else_if = {
limit = { has_domicile_building_or_higher = japanese_tea_plantation_02 }
root = { estate_can_construct_japanese_tea_plantation_03_trigger = yes }
}
trigger_else = { always = yes }
}
ep3_landless_admin.1020 = {
type = character_event
title = ep3_landless_admin.1020.t
desc = {
desc = ep3_landless_admin.1020.desc.intro
first_valid = {
triggered_desc = {
trigger = {
var:domicile_building = flag:market
}
desc = ep3_landless_admin.1020.desc.market
}
triggered_desc = {
trigger = {
var:domicile_building = flag:garden
}
desc = ep3_landless_admin.1020.desc.garden
}
triggered_desc = {
trigger = {
var:domicile_building = flag:guardhouse
}
desc = ep3_landless_admin.1020.desc.guardhouse
}
triggered_desc = {
trigger = {
var:domicile_building = flag:workshop
}
desc = ep3_landless_admin.1020.desc.workshop
}
triggered_desc = {
trigger = {
var:domicile_building = flag:barracks
}
desc = ep3_landless_admin.1020.desc.barracks
}
triggered_desc = {
trigger = {
var:domicile_building = flag:vineyard
}
desc = ep3_landless_admin.1020.desc.vineyard
}
triggered_desc = {
trigger = {
var:domicile_building = flag:olive
}
desc = ep3_landless_admin.1020.desc.olive
}
triggered_desc = {
trigger = {
var:domicile_building = flag:tea
}
desc = ep3_landless_admin.1020.desc.tea
}
}
desc = ep3_landless_admin.1020.desc.outro
}
theme = administrative
left_portrait = {
character = root
triggered_animation = {
trigger = {
has_trait = callous
}
animation = dismissal
}
animation = happiness
}
right_portrait = {
character = scope:steward
animation = steward
}
cooldown = { years = 10 }
trigger = {
government_allows = administrative
is_landed_or_landless_administrative = yes
is_available = yes
# I'm sorry
## ^Original source of shame removed on charges of [redacted]. The Council disapproves of such... lacking hygiene.
domicile ?= {
OR = {
ep3_landless_admin_1020_can_upgrade_market_trigger = yes
ep3_landless_admin_1020_can_upgrade_garden_trigger = yes
ep3_landless_admin_1020_can_upgrade_guardhouse_trigger = yes
ep3_landless_admin_1020_can_upgrade_workshop_trigger = yes
ep3_landless_admin_1020_can_upgrade_barracks_trigger = yes
ep3_landless_admin_1020_can_upgrade_vineyard_trigger = yes
ep3_landless_admin_1020_can_upgrade_olive_trigger = yes
}
}
domicile.domicile_location = {
has_ongoing_construction = no
}
}
weight_multiplier = {
base = 1
modifier = {
factor = 2
NOT = {
any_courtier = {
has_any_high_skill_rating = yes
count < 3
}
}
}
}
immediate = {
random_list = {
1 = {
trigger = {
domicile = { ep3_landless_admin_1020_can_upgrade_market_trigger = yes }
}
set_variable = {
name = domicile_building
value = flag:market
}
}
1 = {
trigger = {
domicile = { ep3_landless_admin_1020_can_upgrade_garden_trigger = yes }
}
set_variable = {
name = domicile_building
value = flag:garden
}
}
1 = {
trigger = {
domicile = { ep3_landless_admin_1020_can_upgrade_guardhouse_trigger = yes }
}
set_variable = {
name = domicile_building
value = flag:guardhouse
}
}
1 = {
trigger = {
domicile = { ep3_landless_admin_1020_can_upgrade_workshop_trigger = yes }
}
set_variable = {
name = domicile_building
value = flag:workshop
}
}
1 = {
trigger = {
domicile = { ep3_landless_admin_1020_can_upgrade_barracks_trigger = yes }
}
set_variable = {
name = domicile_building
value = flag:barracks
}
}
1 = {
trigger = {
domicile = { ep3_landless_admin_1020_can_upgrade_vineyard_trigger = yes }
}
set_variable = {
name = domicile_building
value = flag:vineyard
}
}
1 = {
trigger = {
domicile = { ep3_landless_admin_1020_can_upgrade_olive_trigger = yes }
}
set_variable = {
name = domicile_building
value = flag:olive
}
}
1 = {
trigger = {
domicile = { ep3_landless_admin_1020_can_upgrade_tea_trigger = yes }
}
set_variable = {
name = domicile_building
value = flag:tea
}
}
}
if = {
limit = {
exists = cp:councillor_steward
}
cp:councillor_steward = { save_scope_as = steward }
}
else_if = {
limit = {
any_courtier = {
is_available_healthy_ai_adult = yes
this != root
}
}
ordered_courtier = {
limit = {
is_available_healthy_ai_adult = yes
this != root
}
order_by = stewardship
save_scope_as = steward
}
}
else = {
create_character = {
template = stewardship_court_position_holder_template
gender_female_chance = root_faith_dominant_gender_adjusted_female_chance
dynasty = none
location = root.location
faith = root.location.faith
culture = root.location.culture
save_scope_as = steward
}
}
scope:steward = { assign_quirk_effect = yes }
}
# Market
option = {
name = ep3_landless_admin.1020.a
trigger = { var:domicile_building = flag:market }
domicile = {
switch = {
trigger = has_domicile_building
market_01 = { add_domicile_building = market_02 }
market_02 = { add_domicile_building = market_03 }
market_03 = { add_domicile_building = market_04 }
market_04 = { add_domicile_building = market_05 }
market_05 = { add_domicile_building = market_06 }
}
}
remove_short_term_gold = major_gold_value
change_influence = medium_influence_loss
stress_impact = {
greedy = medium_stress_impact_gain
avaricious = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = -50
OR = {
has_trait = greedy
has_trait = avaricious
has_trait = arrogant
}
}
modifier = {
factor = 0
short_term_gold <= major_gold_value
}
}
}
# Garden
option = {
name = ep3_landless_admin.1020.b
trigger = { var:domicile_building = flag:garden }
domicile = {
switch = {
trigger = has_domicile_building
garden_01 = { add_domicile_building = garden_02 }
garden_02 = { add_domicile_building = garden_03 }
garden_03 = { add_domicile_building = garden_leisure_04 }
garden_leisure_04 = { add_domicile_building = garden_leisure_05 }
garden_leisure_05 = { add_domicile_building = garden_leisure_06 }
garden_fruit_04 = { add_domicile_building = garden_fruit_05 }
garden_fruit_05 = { add_domicile_building = garden_fruit_06 }
}
}
remove_short_term_gold = major_gold_value
change_influence = medium_influence_loss
stress_impact = {
greedy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = -25
has_trait = greedy
}
modifier = {
factor = 0
short_term_gold <= major_gold_value
}
}
}
# Guardhouse
option = {
name = ep3_landless_admin.1020.c
trigger = { var:domicile_building = flag:guardhouse }
domicile = {
switch = {
trigger = has_domicile_building
guardhouse_01 = { add_domicile_building = guardhouse_02 }
guardhouse_02 = { add_domicile_building = guardhouse_03 }
guardhouse_03 = { add_domicile_building = guardhouse_04 }
}
}
remove_short_term_gold = major_gold_value
change_influence = medium_influence_loss
stress_impact = {
generous = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = -50
has_trait = generous
}
modifier = {
factor = 0
short_term_gold <= major_gold_value
}
}
}
# Workshop
option = {
name = ep3_landless_admin.1020.d
trigger = { var:domicile_building = flag:workshop }
domicile = {
switch = {
trigger = has_domicile_building
workshop_01 = { add_domicile_building = workshop_02 }
workshop_02 = { add_domicile_building = workshop_carpenter_03 }
workshop_carpenter_03 = { add_domicile_building = workshop_carpenter_04 }
workshop_carpenter_04 = { add_domicile_building = workshop_carpenter_05 }
workshop_carpenter_05 = { add_domicile_building = workshop_carpenter_06 }
workshop_mason_03 = { add_domicile_building = workshop_mason_04 }
workshop_mason_04 = { add_domicile_building = workshop_mason_05 }
workshop_mason_05 = { add_domicile_building = workshop_mason_06 }
workshop_textile_03 = { add_domicile_building = workshop_textile_04 }
workshop_textile_04 = { add_domicile_building = workshop_textile_05 }
workshop_textile_05 = { add_domicile_building = workshop_textile_06 }
}
}
remove_short_term_gold = major_gold_value
change_influence = medium_influence_loss
stress_impact = {
generous = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = -50
has_trait = generous
}
modifier = {
factor = 0
short_term_gold <= major_gold_value
}
}
}
# Barracks
option = {
name = ep3_landless_admin.1020.e
trigger = { var:domicile_building = flag:barracks }
domicile = {
switch = {
trigger = has_domicile_building
barracks_01 = { add_domicile_building = barracks_02 }
barracks_02 = { add_domicile_building = barracks_03 }
barracks_03 = { add_domicile_building = barracks_04 }
barracks_04 = { add_domicile_building = barracks_05 }
barracks_05 = { add_domicile_building = barracks_06 }
}
}
remove_short_term_gold = major_gold_value
change_influence = medium_influence_loss
stress_impact = {
generous = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = -50
has_trait = generous
}
modifier = {
factor = 0
short_term_gold <= major_gold_value
}
}
}
# Vineyard
option = {
name = ep3_landless_admin.1020.f
trigger = { var:domicile_building = flag:vineyard }
domicile = {
switch = {
trigger = has_domicile_building
vineyard_01 = { add_domicile_building = vineyard_02 }
vineyard_02 = { add_domicile_building = vineyard_03 }
vineyard_03 = { add_domicile_building = vineyard_04 }
vineyard_04 = { add_domicile_building = vineyard_05 }
vineyard_05 = { add_domicile_building = vineyard_06 }
}
}
remove_short_term_gold = major_gold_value
change_influence = medium_influence_loss
stress_impact = {
generous = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = -50
has_trait = generous
}
modifier = {
factor = 0
short_term_gold <= major_gold_value
}
}
}
# Olive
option = {
name = ep3_landless_admin.1020.g
trigger = { var:domicile_building = flag:olive }
domicile = {
switch = {
trigger = has_domicile_building
olive_01 = { add_domicile_building = olive_02 }
olive_02 = { add_domicile_building = olive_03 }
olive_03 = { add_domicile_building = olive_04 }
olive_04 = { add_domicile_building = olive_05 }
olive_05 = { add_domicile_building = olive_06 }
}
}
remove_short_term_gold = major_gold_value
change_influence = medium_influence_loss
stress_impact = {
generous = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = -50
has_trait = generous
}
modifier = {
factor = 0
short_term_gold <= major_gold_value
}
}
}
# Tea
option = {
name = ep3_landless_admin.1020.j
trigger = { var:domicile_building = flag:tea }
domicile = {
switch = {
trigger = has_domicile_building
olive_01 = { add_domicile_building = japanese_tea_plantation_02 }
olive_02 = { add_domicile_building = japanese_tea_plantation_03 }
olive_03 = { add_domicile_building = japanese_tea_plantation_04 }
olive_04 = { add_domicile_building = japanese_tea_plantation_05 }
olive_05 = { add_domicile_building = japanese_tea_plantation_06 }
}
}
remove_short_term_gold = major_gold_value
change_influence = medium_influence_loss
stress_impact = {
generous = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = -50
has_trait = generous
}
modifier = {
factor = 0
short_term_gold <= major_gold_value
}
}
}
# There's other stuff I want to build
option = {
name = ep3_landless_admin.1020.h
flavor = ep3_landless_admin.1020.h.flavor
add_gold = medium_gold_value
stress_impact = {
generous = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
after = { remove_variable = domicile_building }
}
# A Secret for a Secret
# You get offered a hook on your liege
# 1030
scripted_trigger ep3_landless_admin_1030_courtier_trigger = {
is_available_healthy_ai_adult = yes
OR = {
has_relation_rival = root.liege
opinion = {
target = root.liege
value <= -50
}
AND = {
OR = {
has_trait = disloyal
has_trait = deceitful
has_trait = callous
}
NOT = { is_spouse_of = root.liege } # It'd look weird for their spouse to just rock up to you
}
}
}
ep3_landless_admin.1030 = {
type = character_event
title = ep3_landless_admin.1030.t
desc = ep3_landless_admin.1030.desc
theme = administrative
left_portrait = {
character = root
triggered_animation = {
trigger = {
has_trait = paranoid
}
animation = paranoia
}
triggered_animation = {
trigger = {
OR = {
has_trait = loyal
has_trait = just
has_trait = honest
}
}
animation = dismissal
}
animation = thinking
}
right_portrait = {
character = scope:courtier
animation = scheme
}
lower_right_portrait = scope:liege
cooldown = { years = 10 }
trigger = {
government_allows = administrative
is_landed_or_landless_administrative = yes
is_available = yes
liege ?= {
is_ai = yes
any_secret = {
NOT = {
any_secret_knower = { this = root }
}
}
any_courtier_or_guest = {
ep3_landless_admin_1030_courtier_trigger = yes
}
}
can_add_hook = {
target = root.liege
type = strong_blackmail_hook
}
}
weight_multiplier = {
base = 1
}
immediate = {
liege = {
save_scope_as = liege
random_secret = {
limit = {
NOT = {
any_secret_knower = { this = root }
}
}
save_scope_as = secret
}
random_courtier_or_guest = {
limit = { ep3_landless_admin_1030_courtier_trigger = yes }
weight = {
base = 1
modifier = {
add = 5
has_relation_nemesis = root.liege
}
modifier = {
add = 5
has_relation_rival = root.liege
}
modifier = {
add = 2
has_trait = deceitful
}
modifier = {
add = 2
has_trait = disloyal
}
modifier = {
add = 2
has_trait = callous
}
}
save_scope_as = courtier
}
}
scope:courtier = { get_quirk_character_effect = yes }
}
# Paranoid - WHAT DO YOU THINK YOU'RE DOING???
option = {
name = ep3_landless_admin.1030.a
trigger = {
has_trait = paranoid
}
add_character_modifier = {
modifier = ep3_no_secrets_modifier
years = 15
}
stress_impact = {
paranoid = medium_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 2
has_trait = paranoid
}
}
}
# Honorable - How dare you?
option = {
name = ep3_landless_admin.1030.b
trigger = {
OR = {
has_trait = loyal
has_trait = just
has_trait = honest
}
NOT = { has_trait = paranoid }
}
add_character_modifier = {
modifier = ep3_no_secrets_modifier
years = 15
}
stress_impact = {
loyal = medium_stress_impact_loss
just = medium_stress_impact_loss
honest = medium_stress_impact_loss
deceitful = medium_stress_impact_gain
disloyal = medium_stress_impact_gain
callous = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 2
OR = {
has_trait = loyal
has_trait = just
has_trait = honest
}
}
modifier = {
factor = 0
OR = {
has_trait = disloyal
has_trait = deceitful
has_trait = callous
}
}
}
}
# Sure!
option = {
name = ep3_landless_admin.1030.c
add_hook = {
target = scope:liege
type = strong_blackmail_hook
secret = scope:secret
}
if = {
limit = {
any_secret = {
NOT = {
any_secret_knower = { this = scope:liege }
}
}
}
random_secret = {
limit = {
NOT = {
any_secret_knower = { this = scope:liege }
}
}
expose_secret = scope:courtier
}
}
else = {
scope:courtier = {
add_hook = {
type = favor_hook
target = root
}
}
}
stress_impact = {
greedy = medium_stress_impact_loss
generous = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 2
has_trait = greedy
}
modifier = {
factor = 0
OR = {
has_trait = generous
has_trait = gregarious
}
}
}
}
# Try to get it for free hihi
option = {
name = ep3_landless_admin.1030.d
duel = {
target = scope:courtier
skill = intrigue
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 1.5
min = -49
}
modifier = {
influence_level >= 3
add = 10
}
desc = ep3_landless_admin.1030.d.success
send_interface_toast = {
title = ep3_landless_admin.1030.d.success
left_icon = scope:courtier
add_hook = {
target = scope:liege
type = strong_blackmail_hook
secret = scope:secret
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1.5
min = -49
}
desc = ep3_landless_admin.1030.d.failure
send_interface_toast = {
title = ep3_landless_admin.1030.d.failure
left_icon = scope:courtier
scope:courtier = {
add_opinion = {
target = root
modifier = annoyed_opinion
opinion = -15
}
}
}
}
}
stress_impact = {
arrogant = medium_stress_impact_loss
ambitious = medium_stress_impact_loss
humble = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = 50
influence_level <= 2
}
modifier = {
factor = 2
OR = {
has_trait = arrogant
has_trait = ambitious
}
}
modifier = {
factor = 0
has_trait = humble
}
}
}
# I'm good ty
option = {
name = ep3_landless_admin.1030.e
stress_impact = {
gregarious = medium_stress_impact_loss
generous = medium_stress_impact_loss
paranoid = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = 50
OR = {
has_trait = generous
has_trait = gregarious
}
}
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = callous
}
}
}
}
}
# Next in Line
# Lie about a rival candidate
# 1040
scripted_trigger ep3_landless_admin_1040_spymaster_trigger = {
is_available_healthy_ai_adult = yes
}
ep3_landless_admin.1040 = {
type = character_event
title = ep3_landless_admin.1040.t
desc = {
desc = ep3_landless_admin.1040.desc.intro
first_valid = {
triggered_desc = {
trigger = {
scope:rival = { is_child_of = root }
}
desc = ep3_landless_admin.1040.desc.child
}
triggered_desc = {
trigger = {
scope:rival = { is_spouse_of = root }
}
desc = ep3_landless_admin.1040.desc.spouse
}
triggered_desc = {
trigger = {
scope:rival = { is_close_or_extended_family_of = root }
}
desc = ep3_landless_admin.1040.desc.family
}
}
}
theme = administrative
left_portrait = {
character = root
triggered_animation = {
trigger = {
has_trait = paranoid
}
animation = paranoia
}
triggered_animation = {
trigger = {
OR = {
has_trait = loyal
has_trait = just
has_trait = honest
}
}
animation = dismissal
}
animation = schadenfreude
}
right_portrait = {
character = scope:spymaster
animation = scheme
}
lower_right_portrait = scope:rival
cooldown = { years = 5 }
override_background = { reference = garden }
trigger = {
is_governor = yes
NOT = { government_has_flag = government_has_merit }
is_available = yes
exists = location.county.duchy.holder
location.county.duchy.holder ?= { # There's a governor in your location, doesn't matter whether it's you or not
is_governor = yes
}
primary_title = {
is_noble_family_title = no
}
OR = {
exists = cp:councillor_spymaster
any_courtier = {
ep3_landless_admin_1040_spymaster_trigger = yes
}
}
OR = {
AND = {
exists = root.player_heir
primary_title.current_heir = {
NOT = { this = root.player_heir }
}
}
primary_title = {
any_title_heir = {
count >= 1
NOR = {
this = root.top_liege
this = root.player_heir
}
}
}
}
}
weight_multiplier = {
base = 1
modifier = {
factor = 2
exists = root.player_heir
primary_title.current_heir = {
this != root.player_heir
}
}
}
immediate = {
primary_title = { save_scope_as = my_title }
if = { # If the next sucessor is not your player heir we grab them
limit = {
exists = root.player_heir
primary_title.current_heir = {
this != root.player_heir
}
}
primary_title.current_heir = { save_scope_as = rival }
}
else_if = { # If you're a governor we grab your current title
limit = {
is_governor = yes
}
primary_title = {
ordered_title_heir = {
limit = {
NOR = {
this = root.top_liege
this = root.player_heir
}
}
order_by = "appointment_candidate_score(root.primary_title)"
save_scope_as = rival
}
}
}
else = { # If you are landless we grab the governor of your location
location.county.duchy.holder = {
save_scope_as = rival
}
}
if = {
limit = { exists = cp:councillor_spymaster }
cp:councillor_spymaster = { save_scope_as = spymaster }
}
else = {
ordered_courtier = {
limit = { ep3_landless_admin_1040_spymaster_trigger = yes }
order_by = intrigue
save_scope_as = spymaster
}
}
}
# Deceitful - Harm them for free
option = {
name = ep3_landless_admin.1040.a
trigger = {
has_trait = deceitful
}
custom_tooltip = ep3_landless_admin.1040.tt
hidden_effect = {
scope:my_title = {
change_appointment_investment = {
investor = root
target = scope:rival
value = {
subtract = appointment_score_medium_value
}
}
}
}
stress_impact = {
deceitful = medium_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 2
has_trait = deceitful
}
}
}
# Lazy - I'd rather take a nap
option = {
name = ep3_landless_admin.1040.b
trigger = {
has_trait = lazy
}
add_character_modifier = {
modifier = ep3_well_rested_modifier
years = 2
}
stress_impact = {
lazy = medium_stress_impact_loss
deceitful = medium_stress_impact_gain
ambitious = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 2
has_trait = lazy
}
modifier = {
factor = 0
OR = {
has_trait = deceitful
has_trait = ambitious
}
}
}
}
# Spend influence to harm them
option = {
name = ep3_landless_admin.1040.c
trigger = {
NOT = { has_trait = deceitful }
}
change_influence = medium_influence_loss
custom_tooltip = ep3_landless_admin.1040.tt
hidden_effect = {
scope:my_title = {
change_appointment_investment = {
investor = root
target = scope:rival
value = {
subtract = appointment_score_medium_value
}
}
}
}
stress_impact = {
ambitious = medium_stress_impact_loss
just = medium_stress_impact_gain
honest = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 2
has_trait = ambitious
}
modifier = {
factor = 0
OR = {
has_trait = just
has_trait = honest
}
}
}
}
# Duel them to harm them for free
option = {
name = ep3_landless_admin.1040.d
trigger = {
NOT = { has_trait = deceitful }
}
duel = {
target = scope:rival
skills = { diplomacy intrigue }
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 1.5
min = -49
}
desc = ep3_landless_admin.1040.d.success
send_interface_toast = {
title = ep3_landless_admin.1040.d.success
left_icon = scope:rival
custom_tooltip = ep3_landless_admin.1040.tt
hidden_effect = {
scope:my_title = {
change_appointment_investment = {
investor = root
target = scope:rival
value = {
subtract = appointment_score_medium_value
}
}
}
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1.5
min = -49
}
desc = ep3_landless_admin.1040.d.failure
send_interface_toast = {
title = ep3_landless_admin.1040.d.failure
left_icon = scope:rival
change_influence = minor_influence_loss
}
}
}
ai_chance = {
base = 100
}
}
# Nah
option = {
name = ep3_landless_admin.1040.e
stress_impact = {
gregarious = medium_stress_impact_loss
generous = medium_stress_impact_loss
paranoid = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 1.5
influence_level <= 1
}
}
}
}
# Just Below Us
# There's something in your basement
# 1050
scripted_trigger ep3_landless_admin_1050_servant_trigger = {
is_available_healthy_ai_adult = yes
has_no_particular_noble_roots_trigger = yes
NOT = { is_close_or_extended_family_of = root }
NOT = { is_spouse_of = root }
}
ep3_landless_admin.1050 = {
type = character_event
title = ep3_landless_admin.1050.t
desc = {
desc = ep3_landless_admin.1050.desc.intro
first_valid = {
triggered_desc = {
trigger = {
var:domicile_building = flag:prison
}
desc = ep3_landless_admin.1050.desc.prison
}
triggered_desc = {
trigger = {
var:domicile_building = flag:servants
}
desc = ep3_landless_admin.1050.desc.servants
}
triggered_desc = {
trigger = {
var:domicile_building = flag:wine
}
desc = ep3_landless_admin.1050.desc.wine
}
}
desc = ep3_landless_admin.1050.desc.outro
}
theme = administrative
left_portrait = {
character = root
triggered_animation = {
trigger = {
has_trait = paranoid
}
animation = paranoia
}
triggered_animation = {
trigger = {
has_trait_schemy_trigger = yes
}
animation = scheme
}
triggered_animation = {
trigger = {
OR = {
has_trait = brave
has_trait = arrogant
has_trait = reckless
}
}
animation = laugh
}
animation = thinking
}
right_portrait = {
character = scope:servant
animation = lantern
}
cooldown = { years = 25 }
override_background = { reference = ce1_catacombs }
override_effect_2d = {
reference = fog
}
trigger = {
government_allows = administrative
is_landed_or_landless_administrative = yes
is_available = yes
domicile ?= {
OR = {
has_domicile_building_or_higher = prison_01
has_domicile_building_or_higher = servants_quarters_01
has_domicile_building_or_higher = wine_cellar_01
}
}
}
weight_multiplier = {
base = 1
}
immediate = {
random_list = {
1 = {
trigger = {
domicile ?= {
has_domicile_building_or_higher = prison_01
}
}
set_variable = {
name = domicile_building
value = flag:prison
}
}
1 = {
trigger = {
domicile ?= {
has_domicile_building_or_higher = servants_quarters_01
}
}
set_variable = {
name = domicile_building
value = flag:servants
}
}
1 = {
trigger = {
domicile ?= {
has_domicile_building_or_higher = wine_cellar_01
}
}
set_variable = {
name = domicile_building
value = flag:wine
}
}
}
if = { # If you have an appropriate courtier we grab them
limit = {
any_courtier_or_guest = {
ep3_landless_admin_1050_servant_trigger = yes
}
}
random_courtier_or_guest = {
limit = {
ep3_landless_admin_1050_servant_trigger = yes
}
save_scope_as = servant
}
}
else_if = { # Otherwise we grab a pool character
limit = {
any_pool_character = {
province = root.domicile.domicile_location
ep3_landless_admin_1050_servant_trigger = yes
}
}
random_pool_character = {
province = root.domicile.domicile_location
limit = {
ep3_landless_admin_1050_servant_trigger = yes
}
save_scope_as = servant
}
}
else = { # And if not we create them
create_character = {
template = servant_character
culture = root.domicile.domicile_location.culture
faith = root.domicile.domicile_location.faith
location = root.domicile.domicile_location
save_scope_as = servant
}
}
}
# Paranoid - Who built this!?
option = {
name = ep3_landless_admin.1050.a
trigger = {
has_trait = paranoid
}
add_character_modifier = {
modifier = ep3_tunnel_investigation_modifier
years = 15
}
stress_impact = {
paranoid = medium_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 2
has_trait = paranoid
}
}
}
# Deceitful - A perfect opportunity
option = {
name = ep3_landless_admin.1050.b
trigger = {
has_trait_schemy_trigger = yes
}
custom_tooltip = ep3_secret_tunnels_abduct
set_variable = ep3_secret_tunnels_var
stress_impact = {
deceitful = medium_stress_impact_loss
ambitious = medium_stress_impact_loss
disloyal = medium_stress_impact_loss
callous = medium_stress_impact_loss
vengeful = medium_stress_impact_loss
honest = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 2
OR = {
has_trait = deceitful
has_trait = ambitious
has_trait = disloyal
has_trait = callous
has_trait = vengeful
}
}
modifier = {
factor = 0
has_trait = honest
}
}
}
# Prison - Fill it up
option = {
name = ep3_landless_admin.1050.c
trigger = {
var:domicile_building = flag:prison
}
duel = {
value = medium_skill_rating
skill = prowess
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 1.5
min = -49
}
modifier = {
dread >= 75
add = 10
}
desc = ep3_landless_admin.1050.c.success
send_interface_toast = {
title = ep3_landless_admin.1050.c.success
left_icon = root
add_character_modifier = {
modifier = ep3_tunnel_prison_modifier
years = 15
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1.5
min = -49
}
desc = ep3_landless_admin.1050.c.failure
send_interface_toast = {
title = ep3_landless_admin.1050.c.failure
left_icon = root
remove_short_term_gold = minor_gold_value
}
}
}
stress_impact = {
arrogant = medium_stress_impact_loss
ambitious = medium_stress_impact_loss
humble = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 2
OR = {
has_trait = arrogant
has_trait = ambitious
}
}
modifier = {
factor = 0
short_term_gold <= medium_gold_value
}
}
}
# Wine Cellar - Treasure?
option = {
name = ep3_landless_admin.1050.d
trigger = {
var:domicile_building = flag:wine
}
duel = {
value = medium_skill_rating
skill = stewardship
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 1.5
min = -49
}
modifier = {
influence_level >= 3
add = 10
}
desc = ep3_landless_admin.1050.d.success
send_interface_toast = {
title = ep3_landless_admin.1050.d.success
left_icon = root
add_short_term_gold = minor_gold_value
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1.5
min = -49
}
desc = ep3_landless_admin.1050.c.failure
send_interface_toast = {
title = ep3_landless_admin.1050.c.failure
left_icon = root
remove_short_term_gold = minor_gold_value
}
}
}
stress_impact = {
gregarious = medium_stress_impact_loss
generous = medium_stress_impact_loss
paranoid = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = 50
OR = {
has_trait = generous
has_trait = gregarious
}
}
modifier = {
factor = 0
short_term_gold <= medium_gold_value
}
}
}
# Servants Quarters - Use it for our agents
option = {
name = ep3_landless_admin.1050.e
trigger = {
var:domicile_building = flag:servants
}
duel = {
value = medium_skill_rating
skill = intrigue
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 1.5
min = -49
}
desc = ep3_landless_admin.1050.e.success
send_interface_toast = {
title = ep3_landless_admin.1050.e.success
left_icon = root
add_character_modifier = {
modifier = ep3_tunnel_servants_modifier
years = 15
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1.5
min = -49
}
desc = ep3_landless_admin.1050.c.failure
send_interface_toast = {
title = ep3_landless_admin.1050.c.failure
left_icon = root
remove_short_term_gold = minor_gold_value
}
}
}
stress_impact = {
gregarious = medium_stress_impact_loss
generous = medium_stress_impact_loss
paranoid = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
add = 50
OR = {
has_trait = generous
has_trait = gregarious
}
}
modifier = {
factor = 0
short_term_gold <= medium_gold_value
}
}
}
# Opt out
option = {
name = ep3_landless_admin.1050.f
stress_impact = {
lazy = medium_stress_impact_loss
trusting = medium_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 2
OR = {
has_trait = lazy
has_trait = trusting
}
}
}
}
after = { remove_variable = domicile_building }
}