N3OW/events/dlc/fp2/fp2_yearly_events.txt
2026-03-03 23:27:11 +00:00

6179 lines
125 KiB
Text

namespace = fp2_yearly
### EVENT LIST ####################################################################
## XXXX - XXXX YYY by ZZZ
## 1001 - 1001 Chess Two by Daniel Moore
## 1002 - 1002 Compromising Position by Daniel Moore
## 1003 - 1003 Tilting at Giants by Daniel Moore
## 1004 - 1004 The Hawk of Quarysh by Daniel Moore
## 1005 - 1005 Lost Viking by Daniel Moore
## 1006 - 1007 Viking Cheese by Daniel Moore
## 1008 - 1008 Consuming the Cheese by Daniel Moore
## 2020 - 2020 Açò es or, xata! by Hugo Cortell
## 2025 - 2025 Suffering From Success by Hugo Cortell
## 3000 - 3000 Neighboring Muslims are growing rice by Alexander Oltner
## 3001 - 3001 You commission your epitaph by Veronica Pazos
## 3002 - 3002 Oh my god they were roommates by Veronica Pazos
## 3003 - 3003 Best friend throws a terrible party by Veronica Pazos
## 4001 - 4001 You fancy a little siesta by Nick Meredith
## 4002 - 4002 County is increasingly religiously intertwined by Nick Meredith
## 4003 - 4003 The road to Santiago is under threat from bandits by Nick Meredith
## 4004 - 4004 Talented Mozarab offers their services by Nick Meredith
## 4005 - 4005 Mozarabs in a city ask for their own quarter by Nick Meredith
## 4006 - 4006 Mozarabs ask for permission to build churches by Nick Meredith
## 4007 - 4007 Finding a shell on the road to Santiago by Nick Meredith
## 4008 - 4008 Folk stories around the fireside by Nick Meredith
## 4009 - 4009 Visiting the Malato Tree by Nick Meredith
## 4010 - 4010 Finding a Verraco by Nick Meredith
## 8000 - 8000 Destroying the Vineyards by Ola Jentzsch
## 8001 - 8001 Assembling the Cortes by Ola Jentzsch
## 8002 - 8002 Dietary Dilemma By Ola Jentzsch
## 8003 - 8003 Flight of Fancy By Ola Jentzsch
## 8004 - 8004 Trasnlation Schools By Ola Jentzsch
## 8005 - 8005 Under the Stone Pine by Ola Jentzsch
## 8006 - 8006 Saqaliba Settlers by Ola Jentzsch
## 9000 - 9002 Conversos and Jewish events By James Beaumont
## 9005 - 9005 Toledan Nights By James Beaumont
## 9006 - 9006 Local bishop mad his church faces the wrong way By James Beaumont
###################################################################################
# A lot of effort went into the readability of these lists and headers #
# In fact, now there have been two whole passes of file organization #
###################################################################################
###################################
# Chess Two
# By Daniel Moore
###################################
fp2_yearly.1001 = {
type = character_event
title = fp2_yearly.1001.t
desc = fp2_yearly.1001.desc
theme = crown
left_portrait = {
character = root
animation = worry
}
trigger = {
#Strategy Games Culture Tradition
has_fp2_dlc_trigger = yes
is_landed_or_landless_administrative = yes
capital_province = {
geographical_region = world_europe_west_iberia
}
NOT = {
has_character_flag = fp2_yearly.1001
}
}
immediate = {
add_character_flag = fp2_yearly.1001
}
option = { #Torture the pawns
name = fp2_yearly.1001.c
trigger = {
OR = {
has_trait = sadistic
has_trait = torturer
dread > medium_dread
}
}
add_dread = minor_dread_gain
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = -1
}
}
}
option = { #King should be stronger
name = fp2_yearly.1001.a
add_prestige = medium_prestige_value
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = 1
}
}
}
option = { #Bishop should be stronger
name = fp2_yearly.1001.b
add_piety = medium_piety_value
add_character_modifier = {
modifier = fp2_respected_clergy_chess
years = 10
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_zeal = 1
}
}
}
}
###################################
# Compromising Position
# By Daniel Moore
###################################
fp2_yearly.1002 = {
type = character_event
title = fp2_yearly.1002.t
desc = fp2_yearly.1002.desc
theme = seduction
left_portrait = {
character = root
animation = shock
}
right_portrait = {
character = scope:deviant_courtier
animation = prisondungeon
}
trigger = {
has_fp2_dlc_trigger = yes
is_adult = yes
is_landed_or_landless_administrative = yes
any_courtier = { is_available_healthy_ai_adult = yes }
NOT = {
has_character_flag = fp2_yearly.1002
}
}
immediate = {
add_character_flag = fp2_yearly.1002
random_courtier = {
limit = {
is_available_healthy_ai_adult = yes
OR = {
has_trait = deviant
any_secret = {
type = secret_deviant
}
}
}
save_scope_as = deviant_courtier
}
if = {
limit = {
NOT = { exists = scope:deviant_courtier}
}
hidden_effect = {
random_courtier = {
limit = {
is_available_healthy_ai_adult = yes
}
give_deviant_secret_or_trait_effect = yes
save_scope_as = deviant_courtier
}
}
}
scope:deviant_courtier = {
add_character_flag = {
flag = is_naked
days = 1
}
add_character_flag = {
flag = temporarily_blinded
days = 1
}
}
}
option = {
name = fp2_yearly.1002.b
scope:deviant_courtier = {
random_secret = {
type = secret_deviant
reveal_to = root
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_vengefulness = 1
ai_honor = -1
}
}
stress_impact = {
deviant = medium_stress_gain
}
}
option = {
name = fp2_yearly.1002.c
stress_impact = {
deviant = medium_stress_loss
}
if = {
limit = {
NOT = {
any_secret = {
type = secret_deviant
}
}
}
give_deviant_secret_or_trait_effect = yes
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_sociability = 1
ai_energy = 1
ai_zeal = -1
}
}
}
option = {
name = fp2_yearly.1002.a
ai_chance = {
base = 100
ai_value_modifier = {
ai_honor = 1
}
}
stress_impact = {
deviant = medium_stress_gain
}
}
after = {
scope:deviant_courtier = {
remove_character_flag = is_naked
}
}
}
###################################
# Tilting at Giants
# By Daniel Moore
###################################
fp2_yearly.1003 = {
type = character_event
title = fp2_yearly.1003.t
desc = fp2_yearly.1003.desc
theme = realm
right_portrait = {
character = scope:injured_knight
animation = paranoia
}
override_background = { reference = farmland }
trigger = {
has_fp2_dlc_trigger = yes
any_knight = {
is_available_healthy_ai_adult = yes
}
capital_province = {
geographical_region = world_europe_west_iberia
}
ROOT.culture = {
has_innovation = innovation_windmills
}
NOT = {
has_character_flag = fp2_yearly.1003
}
}
immediate = {
add_character_flag = fp2_yearly.1003
random_knight = {
limit = {
is_available_healthy_ai_adult = yes
}
save_scope_as = injured_knight
}
scope:injured_knight = {
increase_wounds_effect = { REASON = fight }
}
}
option = { #
name = fp2_yearly.1003.a
remove_short_term_gold = medium_gold_value
root.capital_county = {
change_county_control = 5
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_sociability = 1
ai_honor = 1
}
}
}
option = { #
name = fp2_yearly.1003.b
root.capital_county = {
change_county_control = -10
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = -1
}
}
}
}
###################################
# The Hawk of Quarysh
# By Daniel Moore
###################################
fp2_yearly.1004 = {
type = character_event
title = fp2_yearly.1004.t
desc = fp2_yearly.1004.desc
theme = learning
left_portrait = {
character = root
animation = worry
}
trigger = {
has_fp2_dlc_trigger = yes
has_religion = religion:islam_religion
capital_province = {
geographical_region = world_europe_west_iberia
}
NOT = {
has_character_flag = fp2_yearly.1004
}
}
cooldown = {
years = 50
}
immediate = {
add_character_flag = fp2_yearly.1004
character:73679 = {
save_scope_as = hawk_of_quraysh
}
dynasty:597 = {
save_scope_as = hawk_dynasty
}
dynasty:100721 = {
save_scope_as = abbasid_dynasty
}
}
option = { #I'm related!
name = fp2_yearly.1004.c
trigger = {
dynasty = {
this = scope:hawk_dynasty
}
}
ai_chance = {
base = 1000
}
add_prestige = medium_prestige_value
}
option = { #How he inspired soldiers
name = fp2_yearly.1004.a
add_character_modifier = {
modifier = fp2_hawk_of_quarysh_martial_modifier
years = 10
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_energy = 1
ai_boldness = 1
}
}
}
option = { #How diplomatic he was
name = fp2_yearly.1004.b
add_character_modifier = {
modifier = fp2_hawk_of_quarysh_diplomacy_modifier
years = 10
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_sociability = 1
ai_compassion = 1
}
}
}
}
###################################
# Lost Viking
# By Daniel Moore
###################################
fp2_yearly.1005 = {
type = character_event
title = fp2_yearly.1005.t
desc = fp2_yearly.1005.desc
theme = realm
left_portrait = {
character = root
animation = worry
}
right_portrait = {
character = scope:hidden_viking
animation = anger
}
trigger = {
has_fp2_dlc_trigger = yes
any_held_county = {
any_county_province = {
geographical_region = world_europe_west_iberia
}
}
NOT = {
has_character_flag = fp2_yearly.1005
}
}
cooldown = { years = 50 }
immediate = {
add_character_flag = fp2_yearly.1005
random_held_county = {
limit = { any_county_province = { geographical_region = world_europe_west_iberia } }
save_scope_as = viking_county
}
create_character = {
template = fp1_jomsviking_bigwig
location = root.capital_province
trait = compassionate
trait = scarred
save_scope_as = hidden_viking
}
}
option = {
name = fp2_yearly.1005.a
add_courtier = scope:hidden_viking
scope:viking_county = {
change_county_control = -5
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_sociability = 1
ai_compassion = 1
}
}
}
option = {
name = fp2_yearly.1005.b
scope:hidden_viking = {
death = {
death_reason = death_execution
killer = root
}
}
scope:viking_county = {
change_county_control = -10
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_sociability = -1
ai_compassion = -1
}
}
}
option = {
name = fp2_yearly.1005.c
scope:viking_county = {
change_county_control = 5
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = 1
}
}
}
}
###################################
# Viking Cheese
# By Daniel Moore
###################################
fp2_yearly.1006 = {
type = character_event
title = fp2_yearly.1006.t
desc = fp2_yearly.1006.desc
theme = realm
override_background = { reference = wilderness_mountains }
left_portrait = {
character = root
animation = worry
}
right_portrait = {
character = scope:cheese_trader
animation = scheme
}
trigger = {
has_fp2_dlc_trigger = yes
any_held_county = {
any_county_province = {
geographical_region = world_europe_west_iberia
}
}
NOT = {
has_character_flag = fp2_yearly.1006
}
}
immediate = {
add_character_flag = fp2_yearly.1006
random_held_county = {
limit = {
any_county_province = {
geographical_region = world_europe_west_iberia
}
}
save_scope_as = viking_county
}
create_character = {
template = generic_peasant_character
location = root.capital_province
save_scope_as = cheese_trader
}
}
option = { #Lose gold gain cheese
name = fp2_yearly.1006.a
remove_short_term_gold = minor_gold_value
#Cheese based bonus
stress_impact = {
base = miniscule_stress_impact_loss
gluttonous = minor_stress_impact_loss
comfort_eater = minor_stress_impact_loss
eccentric = minor_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = -1
}
}
}
option = { #You courageously chase the cheese
name = fp2_yearly.1006.b
hidden_effect = {
random_list = {
10 = {
trigger_event = {
id = fp2_yearly.1007
days = { 10 20 }
}
}
5 = {
}
}
}
custom_tooltip = fp2.1006.b.tt
}
option = { #Nothing happens you hate cheese and having fun
name = fp2_yearly.1006.c
stress_impact = {
gluttonous = miniscule_stress_impact_gain
comfort_eater = miniscule_stress_impact_gain
eccentric = miniscule_stress_impact_gain
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 1
}
}
}
}
fp2_yearly.1007 = {
type = character_event
title = fp2_yearly.1007.t
desc = fp2_yearly.1007.desc
theme = realm
left_portrait = {
character = root
animation = sadness
}
right_portrait = {
character = scope:fake_cheese_viking
animation = beg
}
trigger = {
has_fp2_dlc_trigger = yes
capital_province = {
geographical_region = world_europe_west_iberia
}
NOT = {
has_character_flag = fp2_yearly.1007
}
}
immediate = {
add_character_flag = fp2_yearly.1007
root.capital_county = {
save_scope_as = viking_county
}
create_character = {
template = generic_peasant_character
location = root.capital_province
save_scope_as = fake_cheese_viking
}
}
option = {
name = fp2_yearly.1007.a
add_prestige = miniscule_prestige_value
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = 1
}
}
}
option = {
name = fp2_yearly.1007.b
stress_impact = {
gluttonous = major_stress_loss
}
add_gold = minor_gold_value
create_artifact = {
name = fp2_cheese_artifact
description = fp2_cheese_artifact_desc
modifier = artifact_health_gain_1_modifier
modifier = artifact_attraction_opinion_negative_1_modifier
type = miscellaneous
visuals = pouch
save_scope_as = newly_created_artifact
}
scope:newly_created_artifact = {
flag_as_trash_artifact = yes
set_variable = has_cheese_artifact
save_scope_as = cheese_artifact
}
}
}
###################################
# Consuming the Cheese
# By Daniel Moore
###################################
fp2_yearly.1008 = {
type = character_event
title = fp2_yearly.1008.t
desc = fp2_yearly.1008.desc
theme = realm
override_background = { reference = bp1_wine_cellar }
left_portrait = {
character = root
animation = ecstasy
}
trigger = {
any_character_artifact = {
has_variable = has_cheese_artifact
}
}
immediate = {
random_character_artifact = {
limit = {
has_variable = has_cheese_artifact
}
save_scope_as = cheese_artifact
}
}
option = {
name = fp2_yearly.1008.a
add_stress = scope:cheese_artifact.cheese_artifact_strength
destroy_artifact = scope:cheese_artifact
}
option = {
name = fp2_yearly.1008.b
}
}
###################################
# Açò es or, xata!
# By Hugo Cortell
###################################
# (hurray for UTF8)
###################################
fp2_yearly.2020 = {
type = character_event
title = fp2_struggle.2020.t # Removed variation for Jaime I, as he is not in the game
desc = fp2_struggle.2020.desc # Breaks convention, usually events do not tell the player character how they feel. But it is fitting for this thematically tounge-and-cheek event.
theme = recovery
override_background = { reference = farmland }
left_portrait = {
character = root
animation = admiration
}
right_portrait = {
character = scope:fp2_2020_laxatador
animation = beg
}
cooldown = { years = 100 }
weight_multiplier = {
base = 1
modifier = {
add = 5
has_trait = gluttonous
}
}
trigger = {
has_fp2_dlc_trigger = yes
is_landed = yes
is_ai = no # The AI has no use for narrative-focused events
OR = {
has_title = title:c_valencia
title:c_valencia = {
holder = {
OR = {
liege = root
top_liege = root
}
}
}
}
title:c_valencia = {
NOR = {
has_county_modifier = fp2_horchata_colonialism_modifier
has_county_modifier = governance_1054_satisfied_peasants_modifier
has_county_modifier = fp2_funded_agriculture_modifier
}
}
}
immediate = {
title:c_valencia.title_province = { save_scope_as = fp2_2020_valencia }
create_character = {
age = { 19 36 }
location = scope:fp2_2020_valencia
gender = female
trait = beauty_good_2 # Chata, does not quite translate to beautiful, but english speakers might expect it to.
trait = logistician
trait = diligent
trait = temperate
trait = compassionate
random_traits = no
culture = scope:fp2_2020_valencia.culture
faith = scope:fp2_2020_valencia.faith
dynasty = none
save_scope_as = fp2_2020_laxatador
}
}
option = { # Engage in resource extraction
name = fp2_struggle.2020.a
flavor = fp2_struggle.2020.a.desc
trigger = {
OR = {
has_trait = gluttonous
has_trait = comfort_eater
}
}
scope:fp2_2020_valencia.county = {
add_county_modifier = {
modifier = fp2_horchata_colonialism_modifier
years = 10
}
}
root.capital_county = { # The people love this
add_county_modifier = {
modifier = governance_1054_satisfied_peasants_modifier
years = 15
}
}
}
option = { # Give them money to make more
name = fp2_struggle.2020.d
trigger = {
NOT = {
has_trait = gluttonous
has_trait = comfort_eater
}
}
remove_treasury_or_gold = medium_treasury_or_gold_value
scope:fp2_2020_valencia.county = {
add_county_modifier = {
modifier = fp2_funded_agriculture_modifier
years = 15
}
}
}
option = { # Take a few barrels for the family (wholesome outcome)
name = fp2_struggle.2020.b
every_close_family_member = {
custom = all_close_family_members
add_opinion = {
target = root
modifier = delicious_morsel_opinion
opinion = 10
}
}
}
option = { # NO! THE DEVIL MUST BE TEMPTING ME (evil outcome)
name = fp2_struggle.2020.c
flavor = fp2_struggle.2020.c.desc
stress_impact = { gluttonous = minor_stress_impact_gain } # As you need to be glut to trigger the event, the stress is reduced to compensate
if = {
limit = { has_trait = gluttonous }
add_prestige = medium_prestige_gain # Resisting is very difficult
}
else = { add_prestige = minor_prestige_gain }
}
after = { scope:fp2_2020_laxatador = { silent_disappearance_effect = yes } }
}
###################################
# Suffering From Success
# By Hugo Cortell
###################################
fp2_yearly.2025 = {
type = character_event
title = fp2_struggle.2025.t
desc = fp2_struggle.2025.desc
theme = realm
override_background = { reference = wilderness_mountains }
cooldown = { years = 4 }
left_portrait = {
character = scope:fp2_2025_marshal
animation = flirtation_left
}
right_portrait = {
character = root
triggered_animation = {
trigger = { # Is sad
OR ={
has_trait = depressed_1
has_trait = depressed_genetic
has_trait = compassionate
has_trait = gallant
has_trait = peasant_leader
}
}
animation = sadness
}
animation = war_defender
}
trigger = {
gold > medium_gold_value
any_held_county = {
any_county_province = { geographical_region = world_europe_west_iberia }
recent_history = {
type = conquest
years = 4
}
}
OR = {
exists = cp:councillor_steward
exists = cp:councillor_marshal
}
}
immediate = {
random_held_county = {
limit = {
any_county_province = { geographical_region = world_europe_west_iberia }
recent_history = {
type = conquest
years = 4
}
}
save_scope_as = fp2_2025_razed_land
}
if = {
limit = { exists = cp:councillor_marshal }
cp:councillor_marshal = { save_scope_as = fp2_2025_marshal }
}
else = { cp:councillor_steward = { save_scope_as = fp2_2025_marshal } }
}
option = { # No more war from them. Let them rebuild in peace.
name = fp2_struggle.2025.a
trigger = {
OR ={
has_trait = depressed_1
has_trait = depressed_genetic
has_trait = compassionate
has_trait = gallant
has_trait = peasant_leader
}
}
add_stress = minor_stress_impact_loss
send_interface_toast = {
type = event_toast_effect_good
title = fp2_vow_against_conscription_modifier
left_icon = ROOT
scope:fp2_2025_razed_land = {
add_county_modifier = {
modifier = fp2_vow_against_conscription_modifier
years = 40
}
}
}
}
option = { # I will build a great monument
name = fp2_struggle.2025.b
remove_treasury_or_gold = minor_treasury_or_gold_value
send_interface_toast = {
type = event_toast_effect_good
title = fp2_monument_to_war_modifier
left_icon = ROOT
add_prestige = medium_prestige_gain
scope:fp2_2025_razed_land = {
add_county_modifier = {
modifier = fp2_monument_to_war_modifier
years = 20
}
}
}
}
option = { # We will restore this town back to what it was
name = fp2_struggle.2025.c
remove_treasury_or_gold = medium_treasury_or_gold_value
send_interface_toast = {
type = event_toast_effect_good
title = fp2_village_rebuiling_efforts_modifier
left_icon = ROOT
scope:fp2_2025_razed_land = {
add_county_modifier = {
modifier = fp2_village_rebuiling_efforts_modifier
years = 10
}
}
}
}
option = { # I will establish a temporary outpost here
name = fp2_struggle.2025.d
send_interface_toast = {
type = event_toast_effect_good
title = fp2_border_encampments_modifier
left_icon = ROOT
scope:fp2_2025_razed_land = {
add_county_modifier = {
modifier = fp2_border_encampments_modifier
years = 10
}
}
}
}
}
###################################
# Neighboring Muslims are growing rice
# By Alexander Oltner
###################################
scripted_trigger rice_field_potential = {
is_available_ai_adult = yes
faith.religion = religion:islam_religion
capital_county.faith.religion = religion:islam_religion
capital_province = {
geographical_region = world_europe_west_iberia
}
capital_county = {
county_control >= 100
development_level >= root.capital_county.development_level
}
}
fp2_yearly.3000 = {
type = character_event
title = fp2_flavor.0001.t
desc = fp2_flavor.0001.desc
theme = realm
override_background = { reference = farmland }
left_portrait = {
character = root
animation = personality_rational
}
right_portrait = {
character = scope:rice_propagator
animation = happiness
}
cooldown = { years = 30 }
trigger = {
# DLC checking
has_fp2_dlc_trigger = yes
is_landed = yes
trigger_if = {
limit = {
fp2_character_any_involvement_iberian_struggle_trigger = yes
}
struggle:iberian_struggle = {
OR = {
is_struggle_phase = struggle_iberia_phase_compromise
is_struggle_phase = struggle_iberia_phase_conciliation
is_struggle_phase = struggle_iberia_phase_opportunity
}
}
}
capital_province = {
geographical_region = world_europe_west_iberia
}
NOR = { # Non-muslim with non-muslim capital
capital_county.faith.religion = religion:islam_religion
faith.religion = religion:islam_religion
capital_county = {
has_county_modifier = terraced_hills_modifier
}
}
OR = { # Vassal, neighbor, or liege is muslim with muslim capital
any_neighboring_and_across_water_top_liege_realm_owner = {
rice_field_potential = yes
}
any_vassal = {
rice_field_potential = yes
}
liege = {
rice_field_potential = yes
}
}
}
immediate = {
capital_county = { save_scope_as = capital_county_scope }
every_neighboring_and_across_water_top_liege_realm_owner = {
limit = {
rice_field_potential = yes
}
add_to_list = rice_propagators
}
every_vassal = {
limit = {
rice_field_potential = yes
}
add_to_list = rice_propagators
}
if = {
limit = {
liege = {
rice_field_potential = yes
}
}
liege = {
add_to_list = rice_propagators
}
}
random_in_list = {
list = rice_propagators
weight = {
base = 1
modifier = {
add = 10
is_of_major_interest_to_root_trigger = yes
}
modifier = {
add = 5
is_of_minor_interest_to_root_trigger = yes
}
modifier = {
add = stewardship
}
}
save_scope_as = rice_propagator
capital_county = {
if = {
limit = {
NOT = {
has_county_modifier = terraced_hills_modifier
}
}
hidden_effect = {
add_county_modifier = {
modifier = terraced_hills_modifier
years = 20
}
}
}
save_scope_as = rice_propagator_capital
}
}
}
option = {
name = fp2_flavor.0001.a
pay_treasury_or_gold = {
target = scope:rice_propagator
value = scope:rice_propagator.medium_treasury_or_gold_value # The costs/duels were updated to be higher for balance reasons
}
scope:capital_county_scope = {
add_county_modifier = {
modifier = terraced_hills_modifier
years = 20
}
}
stress_impact = {
greedy = massive_stress_impact_gain
zealous = major_stress_impact_gain
deceitful = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
arbitrary = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = greedy
has_trait = zealous
has_trait = deceitful
has_trait = arrogant
has_trait = paranoid
}
}
}
}
option = {
name = fp2_flavor.0001.b
duel = {
skill = diplomacy
value = scope:rice_propagator.diplomacy
11 = { # Failure
compare_modifier = {
value = scope:duel_value
multiplier = -2
min = -5
}
desc = fp2_flavor.0001.b.failure
send_interface_toast = {
title = fp2_flavor.0001.b.failure
left_icon = scope:rice_propagator
scope:rice_propagator = {
add_opinion = {
target = root
modifier = insult_opinion
opinion = -15
}
hidden_effect = {
random = {
chance = 50
if = {
limit = { can_set_relation_potential_rival_trigger = { CHARACTER = root } }
set_relation_potential_rival = root
}
}
}
}
}
}
10 = { # Success
compare_modifier = {
value = scope:duel_value
multiplier = 1.5
}
desc = fp2_flavor.0001.b.success
send_interface_toast = {
title = fp2_flavor.0001.b.success
left_icon = scope:rice_propagator
scope:capital_county_scope = {
add_county_modifier = {
modifier = terraced_hills_modifier
years = 20
}
}
}
}
}
stress_impact = {
paranoid = massive_stress_impact_gain
impatient = major_stress_impact_gain
shy = major_stress_impact_gain
callous = medium_stress_impact_gain
sadistic = medium_stress_impact_gain
vengeful = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = paranoid
has_trait = impatient
has_trait = shy
has_trait = callous
has_trait = sadistic
}
}
}
}
option = {
name = fp2_flavor.0001.c
duel = {
skill = intrigue
value = scope:rice_propagator.intrigue
11 = { # Failure
compare_modifier = {
value = scope:duel_value
multiplier = -1.5
min = -5
}
desc = fp2_flavor.0001.c.failure
send_interface_toast = {
title = fp2_flavor.0001.c.failure
left_icon = scope:rice_propagator
scope:rice_propagator = {
add_opinion = {
target = root
modifier = angry_opinion
opinion = -35
}
progress_towards_rival_effect = {
REASON = rival_rice_stolen
CHARACTER = root
OPINION = 0
}
}
}
}
10 = { # Success
compare_modifier = {
value = scope:duel_value
multiplier = 1.5
}
desc = fp2_flavor.0001.c.success
send_interface_toast = {
title = fp2_flavor.0001.c.success
left_icon = scope:rice_propagator
scope:capital_county_scope = {
add_county_modifier = {
modifier = terraced_hills_modifier
years = 20
}
}
}
}
}
stress_impact = {
honest = massive_stress_impact_gain
generous = major_stress_impact_gain
craven = medium_stress_impact_gain
content = medium_stress_impact_gain
patient = minor_stress_impact_gain
humble = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = honest
has_trait = generous
has_trait = craven
has_trait = content
}
}
}
}
option = {
name = fp2_flavor.0001.d
stress_impact = {
diligent = major_stress_impact_gain
ambitious = major_stress_impact_gain
generous = medium_stress_impact_gain
trusting = medium_stress_impact_gain
fickle = minor_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
factor = 0
OR = {
has_trait = diligent
has_trait = ambitious
has_trait = generous
has_trait = trusting
}
}
}
}
}
##################################################
# As I Lay Dying
# whether this title is a reference to Faulkner's novel or the metalcore band
# that I shall leave to the judgement of the reader
# by Veronica Pazos
# 3001 - 3001
##################################################
fp2_yearly.3001 = {
type = character_event
title = fp2_flavor.3001.t
desc = fp2_flavor.3001.desc
theme = death
left_portrait = {
character = ROOT
animation = worry
}
override_background = { reference = throne_room }
trigger = {
has_fp2_dlc_trigger = yes
is_landed = yes
is_available_even_at_war_adult = yes
capital_province = {
geographical_region = world_europe_west_iberia
}
OR = {
AND = {
age >= 45
has_trait = wounded_2
}
AND = {
age >= 45
has_trait = ill
}
has_trait = wounded_3
has_trait = cancer
age >= 75
}
NOT = { has_character_flag = had_event_fp2_flavor_3001 }
OR = {
OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion }
religion = religion:judaism_religion
religion = religion:islam_religion
}
}
immediate = {
play_music_cue = "mx_cue_illness"
add_character_flag = had_event_fp2_flavor_3001
religion = {
save_scope_as = fp2_flavor_3001_religion
}
}
option = { #your own official language (Latin/Hebrew/Arabic)
name = fp2_flavor.3001.a
add_piety = minor_piety_gain
add_prestige = minor_prestige_gain
ai_chance = {
base = 10
modifier = {
add = 10
has_trait = zealous
}
ai_value_modifier = {
ai_zeal = 1
}
}
}
option = { #Vulgar (Romance) language
name = fp2_flavor.3001.b
add_piety = medium_piety_loss
every_vassal = {
limit = {
religion = root.religion
}
custom = custom.every_vassal
add_opinion = {
target = ROOT
modifier = reputation_opinion
opinion = 20
}
}
ai_chance = {
base = 5
modifier = {
add = 10
OR = {
has_trait = compassionate
has_trait = humble
}
}
ai_value_modifier = {
ai_compassion = 1
}
}
}
option = { #your language + vulgar (Latin + Castillian / Hebrew + Sephardí / Arabic + Mozarabic )
name = fp2_flavor.3001.c
stress_impact = {
base = minor_stress_loss
zealous = medium_stress_gain
}
ai_chance = {
base = 20
modifier = {
add = -10
has_trait = zealous
}
ai_value_modifier = {
ai_zeal = -1
}
}
}
option = { #all of them! (vulgar + Latin + Hebrew + Arabic)
name = fp2_flavor.3001.d
add_character_modifier = {
modifier = fp2_epitaph_modifier
years = 5
}
add_piety = minor_piety_loss
stress_impact = {
base = minor_stress_impact_gain
zealous = minor_stress_impact_gain
}
ai_chance = {
base = 5
modifier = {
add = -10
has_trait = zealous
}
modifier = {
add = 10
has_trait = compassionate
}
ai_value_modifier = {
ai_zeal = -1
ai_compassion = 1
}
}
}
}
##################################################
# And They Were Roommates
# (oh my god they were roommates)
# by Veronica Pazos
# (idea by Baudelaire Welch)
# 3002 - 3002
##################################################
fp2_yearly.3002 = {
type = character_event
title = fp2_flavor.3011.t
desc = fp2_flavor.3011.desc
theme = seduction
left_portrait = {
character = ROOT
animation = ecstasy
}
right_portrait = {
character = scope:fp2_flavor_3011_best_friend
animation = flirtation
}
override_background = { reference = bedchamber }
trigger = {
has_fp2_dlc_trigger = yes
is_playable_character = yes
is_available_even_at_war_adult = yes
any_relation = { #you have a best friend!
type = best_friend
is_available_healthy_ai_adult = yes
can_set_relation_lover_trigger = { CHARACTER = ROOT } #you're attracted to each other's genre
NOT = { has_trait = celibate }
NOT = { is_consort_of = root }
might_cheat_on_every_partner_trigger = yes
trigger_if = {
limit = { relation_with_character_is_incestuous_in_my_faith_trigger = { CHARACTER = root } }
OR = {
has_perk = subtle_desire_perk
accepts_incest_with_trigger = { CHARACTER = root }
}
}
}
}
weight_multiplier = {
modifier = {
add = 0.5
has_trait = lustful
}
}
immediate = {
random_relation = {
type = best_friend
limit = {
is_available_healthy_ai_adult = yes
can_set_relation_lover_trigger = { CHARACTER = ROOT }
NOT = { has_trait = celibate }
NOT = { is_consort_of = root }
might_cheat_on_every_partner_trigger = yes
trigger_if = {
limit = { relation_with_character_is_incestuous_in_my_faith_trigger = { CHARACTER = root } }
OR = {
has_perk = subtle_desire_perk
accepts_incest_with_trigger = { CHARACTER = root }
}
}
}
save_scope_as = fp2_flavor_3011_best_friend
}
}
option = { #become their lover
name = fp2_flavor.3011.a
trigger = {
NOT = { has_trait = celibate }
OR = {
has_perk = unshackled_lust_perk
is_attracted_to_gender_of = root
}
trigger_if = {
limit = { relation_with_character_is_incestuous_in_my_faith_trigger = { CHARACTER = scope:fp2_flavor_3011_best_friend } }
OR = {
has_perk = subtle_desire_perk
accepts_incest_with_trigger = { CHARACTER = scope:fp2_flavor_3011_best_friend }
}
}
}
set_relation_lover = scope:fp2_flavor_3011_best_friend
if = { #if you're in a homosexual relationship and your faith disapproves this stresses you
limit = {
OR = {
AND = {
is_female = yes
scope:fp2_flavor_3011_best_friend = {
is_female = yes
}
NOT = { faith = { has_doctrine = doctrine_homosexuality_accepted } }
}
AND = {
is_male = yes
scope:fp2_flavor_3011_best_friend = {
is_male = yes
}
NOT = { faith = { has_doctrine = doctrine_homosexuality_accepted } }
}
}
}
stress_impact = {
base = medium_stress_impact_gain
zealous = medium_stress_impact_gain #some extra stress
}
}
if = { #your spouse finds this weird
limit = {
exists = primary_spouse
}
primary_spouse = {
add_opinion = {
target = ROOT
modifier = suspicion_opinion
opinion = -25
}
}
}
ai_chance = {
base = 10
modifier = {
add = 10
has_trait = lustful
}
modifier = {
add = -5
has_trait = chaste
}
modifier = {
add = -5
exists = primary_spouse
}
ai_value_modifier = {
ai_zeal = -1
}
}
}
option = { #allowe them to move in but stay as friends
name = fp2_flavor.3011.b
stress_impact = {
base = medium_stress_loss
lustful = medium_stress_impact_gain
}
if = {
limit = {
exists = primary_spouse
}
primary_spouse = {
add_opinion = {
target = ROOT
modifier = suspicion_opinion
opinion = -20
}
}
}
ai_chance = {
base = 10
modifier = {
add = -5
has_trait = lustful
}
modifier = {
add = -2
has_trait = chaste
}
modifier = {
add = 5
has_trait = compassionate
}
modifier = {
add = -5
exists = primary_spouse
}
ai_value_modifier = {
ai_compassion = 0.25
}
}
}
option = { #nah im good
name = {
trigger = {
exists = primary_spouse
}
text = fp2_flavor.3011.c_spouse
}
name = {
trigger = {
NOT = { exists = primary_spouse }
}
text = fp2_flavor.3011.c
}
stress_impact = {
base = medium_stress_impact_gain #you get stressed at losing your bff
lustful = minor_stress_impact_gain
callous = minor_stress_loss
chaste = minor_stress_loss
}
scope:fp2_flavor_3011_best_friend = {
add_opinion = {
target = ROOT
modifier = rejected_opinion
}
}
ai_chance = {
base = 10
modifier = {
add = -5
has_trait = lustful
}
modifier = {
add = 10
has_trait = chaste
}
modifier = {
add = -5
has_trait = compassionate
}
modifier = {
add = 5
exists = primary_spouse
}
ai_value_modifier = {
ai_compassion = -0.5
}
}
}
}
##################################################
# A Flavorful Evening
# by Veronica Pazos
# (idea by Ewan Cowhig Croft)
# 3003 - 3003
##################################################
fp2_yearly.3003 = {
type = character_event
title = fp2_flavor.3021.t
desc = fp2_flavor.3021.desc
theme = feast_activity
left_portrait = {
character = scope:fp2_flavor_3021_best_friend
animation = ecstasy
}
right_portrait = {
character = ROOT
animation = stress
}
override_background = { reference = feast }
trigger = {
has_fp2_dlc_trigger = yes
is_available_for_activity_trigger = yes
any_relation = { #you have a best friend!
type = best_friend
is_available_healthy_ai_adult = yes
}
}
weight_multiplier = {
modifier = {
add = 0.5
trigger_if = {
limit = { exists = scope:fp2_flavor_3021_best_friend }
scope:fp2_flavor_3021_best_friend = {
OR = {
has_trait = gregarious
has_trait = gluttonous
}
}
}
}
}
immediate = {
random_relation = {
type = best_friend
limit = {
is_available_healthy_ai_adult = yes
}
save_scope_as = fp2_flavor_3021_best_friend
}
}
option = { #pretend nothing's wrong
name = fp2_flavor.3021.a
stress_impact = {
base = medium_stress_impact_gain
compassionate = minor_stress_impact_gain
honest = minor_stress_impact_gain
eccentric = minor_stress_impact_gain
deceitful = minor_stress_loss
}
ai_chance = {
base = 10
modifier = {
add = 10
has_trait = deceitful
}
modifier = {
add = -10
has_trait = honest
}
modifier = {
add = -5
has_trait = brave
}
ai_value_modifier = {
ai_boldness = -1
ai_rationality = -0.5
ai_compassion = 0.5
}
}
}
option = { #try to gently tell them
name = fp2_flavor.3021.b
duel = {
skill = diplomacy
value = 5
50 = {
desc = fp2_flavor.3021.b.success_tt
compare_modifier = {
value = {
value = scope:duel_value
if = {
limit = { has_trait = deceitful }
add = 5
}
if = {
limit = { intrigue >= medium_skill_rating }
add = 5
}
if = {
limit = { scope:fp2_flavor_3021_best_friend = { has_trait = forgiving } }
add = 5
}
if = {
limit = { scope:fp2_flavor_3021_best_friend = { has_trait = trusting } }
add = 5
}
if = {
limit = { scope:fp2_flavor_3021_best_friend = { opinion = { target = ROOT value >= high_positive_opinion } } }
add = 5
}
}
}
send_interface_toast = {
title = fp2_flavor.3021.b.success
left_icon = ROOT
stress_impact = {
base = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
honest = minor_stress_impact_gain
deceitful = minor_stress_loss
}
}
}
50 = { #they don't
send_interface_toast = {
title = fp2_flavor.3021.b.fail
left_icon = ROOT
scope:fp2_flavor_3021_best_friend = {
add_opinion = {
target = ROOT
modifier = insult_opinion
opinion = -20
}
}
stress_impact = {
base = medium_stress_impact_gain
compassionate = minor_stress_impact_gain
honest = minor_stress_impact_gain
deceitful = minor_stress_loss
}
}
}
}
ai_chance = {
base = 10
modifier = {
add = 10
has_trait = compassionate
}
modifier = {
add = -5
has_trait = deceitful
}
ai_value_modifier = {
ai_boldness = -1
ai_rationality = 0.5
ai_compassion = 1
}
}
}
option = { #directly tell them
name = fp2_flavor.3021.c
random_list = {
25 = { #they take it well
modifier = {
add = 5
has_trait = honest
}
modifier = {
add = 5
diplomacy >= medium_skill_rating
}
modifier = {
add = 5
scope:fp2_flavor_3021_best_friend = {
has_trait = honest
}
}
}
75 = { #they dont (and they think you're being rude
scope:fp2_flavor_3021_best_friend = {
add_opinion = {
target = ROOT
modifier = insult_opinion
opinion = -30
}
}
stress_impact = {
base = medium_stress_impact_gain
}
}
}
ai_chance = {
base = 10
modifier = {
add = 10
has_trait = brave
}
modifier = {
add = -5
has_trait = deceitful
}
ai_value_modifier = {
ai_boldness = 1
ai_rationality = 0.5
ai_compassion = -1
}
}
}
option = { #ghost them
name = fp2_flavor.3021.d
scope:fp2_flavor_3021_best_friend = { #they REALLY dislike you
add_opinion = {
target = ROOT
modifier = insult_opinion
opinion = -50
}
}
stress_impact = {
base = minor_stress_loss
brave = minor_stress_impact_gain
honest = minor_stress_impact_gain
}
ai_chance = {
base = 10
modifier = {
add = -10
has_trait = brave
}
modifier = {
add = -5
has_trait = honest
}
ai_value_modifier = {
ai_boldness = -1
ai_rationality = -0.5
ai_compassion = -1
}
}
}
}
###################################
# You fancy a little siesta
# By Nick Meredith
###################################
# Look, this was inspired by our actual Spanish designer having a nap after lunch
# Don't look at me like that
###################################
fp2_yearly.4001 = {
type = character_event
title = fp2_yearly.4001.t
desc = fp2_yearly.4001.desc
theme = mental_health
override_background = { reference = bedchamber }
left_portrait = {
character = root
animation = boredom
}
trigger = {
#DLC check
has_fp2_dlc_trigger = yes
#Standard check
is_playable_character = yes
is_available_at_peace_adult = yes
#is Iberian
culture = { has_cultural_pillar = heritage_iberian }
#has more than 5 stress
stress > 5
#and capital is located in Iberia
capital_province = {
geographical_region = world_europe_west_iberia
}
}
option = { #No, I have work to do!
name = fp2_yearly.4001.a
add_prestige = minor_prestige_gain
stress_impact = {
base = medium_stress_impact_gain
lazy = medium_stress_impact_gain
diligent = major_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = lazy
}
}
}
option = { #a little nap can't hurt anyone
name = fp2_yearly.4001.b
stress_impact = {
base = minor_stress_impact_loss
diligent = massive_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = diligent
}
}
}
}
###################################
# County is increasingly religiously intertwined
# By Nick Meredith
###################################
fp2_yearly.4002 = {
type = character_event
title = fp2_yearly.4002.t
desc = fp2_yearly.4002.desc
theme = faith
left_portrait = {
character = root
animation = stress
}
right_portrait = {
character = scope:realm_priest
animation = worry
}
cooldown = { years = 30 }
trigger = {
#DLC check
has_fp2_dlc_trigger = yes
#Standard check
is_available_at_peace_adult = yes
#is Iberian
culture = { has_cultural_pillar = heritage_iberian }
#has a court chaplain
exists = cp:councillor_court_chaplain
#has a county that doesn't match your faith
any_directly_owned_province = {
faith != root.faith
}
#and capital is located in Iberia
capital_province = {
geographical_region = world_europe_west_iberia
}
}
immediate = {
random_directly_owned_province = {
limit = {
faith != root.faith
}
save_scope_as = interfaith_province
}
cp:councillor_court_chaplain = {
save_scope_as = realm_priest
}
}
option = { #I welcome a multifaith community.
name = fp2_yearly.4002.a
add_character_modifier = {
modifier = fp2_multifaith_county_modifier
years = 10
}
scope:realm_priest = {
add_opinion = {
target = liege
modifier = annoyed_opinion
opinion = -30
}
}
stress_impact = {
zealous = major_stress_gain
cynical = minor_stress_loss
arrogant = medium_stress_gain
impatient = medium_stress_gain
arbitrary = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = zealous
has_trait = impatient
has_trait = arrogant
}
}
}
}
option = { #This must be stopped!
name = fp2_yearly.4002.b
add_piety = minor_piety_gain
scope:interfaith_province.county = {
change_county_control = medium_county_control_loss
set_county_faith = root.faith
add_county_modifier = {
modifier = fp2_religious_strife_modifier
years = 10
}
}
scope:realm_priest = {
add_opinion = {
target = liege
modifier = respect_opinion
opinion = 40
}
}
stress_impact = {
zealous = medium_stress_loss
cynical = medium_stress_gain
forgiving = major_stress_gain
just = medium_stress_gain
stubborn = minor_stress_gain
content = minor_stress_gain
patient = minor_stress_gain
trusting = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = cynical
has_trait = forgiving
has_trait = just
}
}
}
}
}
###################################
# The road to Santiago is under threat from bandits
# By Nick Meredith
###################################
fp2_yearly.4003 = {
type = character_event
title = fp2_yearly.4003.t
desc = fp2_yearly.4003.desc
theme = martial
override_background = { reference = terrain }
left_portrait = {
character = root
animation = shock
}
right_portrait = {
character = scope:steward
animation = worry
}
trigger = {
#DLC check
has_fp2_dlc_trigger = yes
#Standard check
is_available_at_peace_adult = yes
#is Iberian
culture = { has_cultural_pillar = heritage_iberian }
#has a steward
exists = cp:councillor_steward
#and capital is located in Iberia
capital_province = {
geographical_region = world_europe_west_iberia
}
#and is Christian
OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion }
#and owns at least one county on the road to Santiago
OR = {
has_title = title:c_santiago
has_title = title:c_astorga
has_title = title:c_leon
has_title = title:c_burgos
has_title = title:c_amaya
has_title = title:c_najera
has_title = title:c_navarra
}
}
immediate = {
every_county_in_region = {
region = world_europe_west_iberia
limit = { # all counties on the road to Santiago
OR = {
this = title:c_santiago
this = title:c_astorga
this = title:c_leon
this = title:c_burgos
this = title:c_amaya
this = title:c_najera
this = title:c_navarra
}
OR = {
holder = root
holder.top_liege = root
}
}
add_to_list = camino_de_santiago
}
faith = {
if = {
limit = {
any_faith_holy_order = {
any_leased_title = {
any_this_title_or_de_jure_above = {
is_in_list = camino_de_santiago
}
}
}
}
random_faith_holy_order = {
limit = {
any_leased_title = {
any_this_title_or_de_jure_above = {
is_in_list = camino_de_santiago
}
}
}
save_scope_as = santiago_defenders
}
scope:santiago_defenders = {
random_leased_title = {
limit = {
any_this_title_or_de_jure_above = {
is_in_list = camino_de_santiago
}
}
county = { save_scope_as = ho_province }
}
}
}
}
cp:councillor_steward = {
save_scope_as = steward
}
}
option = { #Call upon a local Holy Order
name = fp2_yearly.4003.a
trigger = {
exists = scope:ho_province
}
scope:ho_province = {
add_county_modifier = {
modifier = fp2_camino_santiago_ho_protected_modifier
years = 10
}
}
custom_tooltip = fp2_yearly.4003.tt
add_piety = minor_piety_gain
remove_treasury_or_gold = minor_treasury_or_gold_value
add_internal_flag = special
ai_chance = {
base = 100
}
}
option = { #Pay for the protection of the road
name = fp2_yearly.4003.b
random_in_list = {
list = camino_de_santiago
add_county_modifier = {
modifier = fp2_camino_santiago_protected_modifier
years = 10
}
}
add_piety = medium_piety_gain
remove_treasury_or_gold = major_treasury_or_gold_value
stress_impact = {
greedy = major_stress_impact_gain
arbitrary = medium_stress_impact_gain
cynical = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = zealous
has_trait = greedy
has_trait = arrogant
}
}
}
}
option = { #Pilgrims will have to fend for themselves
name = fp2_yearly.4003.c
add_piety = medium_piety_loss
stress_impact = {
base = miniscule_stress_impact_gain
zealous = major_stress_impact_gain
humble = medium_stress_impact_gain
compassionate = medium_stress_impact_gain
just = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = zealous
has_trait = humble
has_trait = compassionate
}
}
}
}
}
###################################
# Talented Mozarab offers their services
# By Nick Meredith
###################################
fp2_yearly.4004 = {
type = character_event
title = fp2_yearly.4004.t
desc = fp2_yearly.4004.desc
theme = vassal
left_portrait = {
character = root
animation = admiration
}
right_portrait = {
character = scope:mozarab_wanderer
animation = marshal
}
trigger = {
#DLC check
has_fp2_dlc_trigger = yes
#Standard check
is_landed = yes
is_available_at_peace_adult = yes
#Mozarabic exists...
exists = faith:mozarabic_church
#...but you are not Mozarabic
NOT = {
faith = faith:mozarabic_church
}
#and capital is located in Iberia
capital_province = {
geographical_region = world_europe_west_iberia
}
}
immediate = {
create_character = {
age = { 20 40 }
location = root.capital_province
gender_female_chance = {
if = {
limit = { root.faith = { has_doctrine = doctrine_gender_male_dominated } }
add = 0
}
else_if = {
limit = { root.faith = { has_doctrine = doctrine_gender_female_dominated } }
add = 100
}
else = {
add = 50
}
}
random_traits_list = {
count = 1
education_martial_3 = {}
education_martial_4 = {}
}
random_traits_list = { #Something nice
count = 2
brave = {}
honest = {}
gregarious = {}
trusting = {}
compassionate = {}
generous = {}
humble = {}
calm = {}
}
random_traits_list = {
count = 1
lustful = {}
chaste = {}
wrathful = {}
arrogant = {}
impatient = {}
patient = {}
impatient = {}
ambitious = {}
cynical = {}
zealous = {}
stubborn = {}
}
trait = lifestyle_blademaster
random_traits = no
diplomacy = { min_template_low_skill max_template_average_skill }
martial = { min_template_decent_skill max_template_high_skill }
stewardship = { min_template_low_skill max_template_average_skill }
intrigue = { min_template_low_skill max_template_average_skill }
learning = { min_template_low_skill max_template_average_skill }
prowess = { min_template_decent_skill max_template_high_skill }
culture = root.culture
faith = faith:mozarabic_church
dynasty = none
after_creation = {
add_gold = { minor_gold_value medium_gold_value }
add_prestige = { minor_prestige_gain medium_prestige_gain }
add_piety = { minor_piety_gain medium_piety_gain }
add_trait_xp = {
trait = lifestyle_blademaster
value = {
integer_range = {
min = medium_lifestyle_random_xp_low
max = medium_lifestyle_random_xp_high
}
}
}
}
save_scope_as = mozarab_wanderer
}
}
option = { #Of course you may join my court!
name = fp2_yearly.4004.a
add_piety = minor_piety_loss
stress_impact = {
base = minor_stress_impact_gain
zealous = major_stress_impact_gain
stubborn = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
}
add_courtier = scope:mozarab_wanderer
scope:mozarab_wanderer = {
add_opinion = {
target = root
modifier = respect_opinion
opinion = 20
}
}
ai_chance = {
base = 100
modifier = {
factor = 0
has_trait = zealous
}
}
}
option = { #Yes; so long as you convert
name = fp2_yearly.4004.b
random_list = {
40 = {
add_courtier = scope:mozarab_wanderer
modifier = {
scope:mozarab_wanderer = {
has_trait = stubborn
}
add = -10
}
modifier = {
scope:mozarab_wanderer = {
has_trait = zealous
}
add = -20
}
modifier = {
scope:mozarab_wanderer = {
has_trait = arrogant
}
add = -5
}
modifier = {
scope:mozarab_wanderer = {
has_trait = wrathful
}
add = -5
}
send_interface_toast = {
type = event_toast_effect_good
title = fp2_yearly.4004.b.succ
left_icon = root
right_icon = scope:mozarab_wanderer
scope:mozarab_wanderer = {
set_character_faith = root.faith
add_opinion = {
target = root
modifier = impious_opinion
opinion = -20
}
}
}
}
60 = {
custom_tooltip = fp2_yearly.4004.tt
send_interface_toast = {
type = event_toast_effect_bad
title = fp2_yearly.4004.b.fail
left_icon = root
right_icon = scope:mozarab_wanderer
scope:mozarab_wanderer = {
add_opinion = {
target = root
modifier = annoyed_opinion
opinion = -40
}
}
}
}
}
ai_chance = {
base = 100
}
}
option = { #Send them away
name = fp2_yearly.4004.c
custom_tooltip = fp2_yearly.4004.c.tt
scope:mozarab_wanderer = {
add_opinion = {
target = root
modifier = annoyed_opinion
opinion = -40
}
}
ai_chance = {
base = 100
}
}
}
###################################
# Mozarabs in a city ask for their own quarter
# By Nick Meredith
###################################
fp2_yearly.4005 = {
type = character_event
title = fp2_yearly.4005.t
desc = {
first_valid = {
triggered_desc = {
trigger = { religion = religion:islam_religion }
desc = fp2_yearly.4005.desc.muslim
}
triggered_desc = {
trigger = { always = yes }
desc = fp2_yearly.4005.desc.christian
}
}
desc = fp2_yearly.4005.desc
}
theme = faith
left_portrait = {
character = root
animation = personality_honorable
}
right_portrait = {
character = scope:mozarab_merchant
animation = worry
}
cooldown = { years = 10 }
trigger = {
#DLC check
has_fp2_dlc_trigger = yes
#Standard check
is_available_at_peace_adult = yes
#Mozarabic exists...
exists = faith:mozarabic_church
#...but you are not Mozarabic
NOT = {
faith = faith:mozarabic_church
}
#and you have a county that has a city holding
any_held_county= {
any_county_province = {
has_holding_type = city_holding
}
}
#and capital is located in Iberia
capital_province = {
geographical_region = world_europe_west_iberia
}
}
immediate = {
random_held_county = {
limit = {
any_county_province = {
has_holding_type = city_holding
}
}
save_scope_as = mozarab_quarter
}
if = {
limit = {
any_pool_character = {
province = scope:mozarab_quarter.title_province
faith = faith:mozarabic_church
is_available_healthy_ai_adult = yes
}
}
random_pool_character = {
province = scope:mozarab_quarter.title_province
limit = {
faith = faith:mozarabic_church
is_available_healthy_ai_adult = yes
}
save_scope_as = mozarab_merchant
}
}
else = {
create_character = {
age = { 20 40 }
location = root.capital_province
gender_female_chance = root_faith_dominant_gender_female_chance
random_traits_list = {
count = 1
education_stewardship_3 = {}
education_stewardship_4 = {}
}
random_traits = yes
culture = scope:mozarab_quarter.culture
faith = faith:mozarabic_church
dynasty = none
save_scope_as = mozarab_merchant
}
}
}
option = { #You may have a little enclave, as a treat
name = fp2_yearly.4005.a
remove_treasury_or_gold = medium_treasury_or_gold_value
scope:mozarab_quarter = {
add_county_modifier = {
modifier = fp2_mozarab_quarter_modifier
years = 10
}
}
scope:mozarab_merchant = {
add_opinion = {
target = root
modifier = grateful_opinion
opinion = 40
}
}
every_vassal = {
limit = {
has_trait = zealous
}
add_opinion = {
target = liege
modifier = impious_opinion
opinion = -20
}
}
stress_impact = {
zealous = major_stress_impact_gain
greedy = major_stress_impact_gain
arrogant = medium_stress_impact_gain
arbitrary = minor_stress_impact_gain
ambitious = minor_stress_impact_gain
stubborn = minor_stress_impact_gain
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = zealous
has_trait = greedy
has_trait = arrogant
}
}
}
}
option = { #Begone, heathen!
name = fp2_yearly.4005.b
add_piety = medium_piety_gain
scope:mozarab_merchant = {
add_opinion = {
target = root
modifier = angry_opinion
opinion = -40
}
}
every_vassal = {
limit = {
has_trait = zealous
NOT = {
faith = faith:mozarabic_church
}
}
add_opinion = {
target = liege
modifier = pious_opinion
opinion = 20
}
}
every_vassal = {
limit = {
faith = faith:mozarabic_church
}
add_opinion = {
target = root
modifier = disappointed_opinion
opinion = -30
}
}
stress_impact = {
zealous = medium_stress_loss
cynical = medium_stress_gain
forgiving = major_stress_gain
just = medium_stress_gain
stubborn = minor_stress_gain
content = minor_stress_gain
patient = minor_stress_gain
trusting = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = cynical
has_trait = forgiving
has_trait = just
}
}
}
}
}
###################################
# Mozarabs ask for permission to build churches
# By Nick Meredith
###################################
fp2_yearly.4006 = {
type = character_event
title = fp2_yearly.4006.t
desc = fp2_yearly.4006.desc
theme = faith
left_portrait = {
character = root
animation = personality_zealous
}
right_portrait = {
character = scope:mozarab_priest
animation = beg
}
cooldown = { years = 30 }
trigger = {
#DLC check
has_fp2_dlc_trigger = yes
#Standard check
is_available_at_peace_adult = yes
#Mozarabic exists
exists = faith:mozarabic_church
#You are not Christian at all
NOT = {
faith = { religion_tag = christianity_religion }
}
#and you have a county that has a free holding slot
any_held_county = {
any_county_province = {
has_holding = no
}
}
#and your capital is located in Iberia
capital_province = {
geographical_region = world_europe_west_iberia
}
exists = cp:councillor_court_chaplain
}
immediate = {
random_sub_realm_county = {
limit = {
any_county_province = {
has_holding = no
}
}
save_scope_as = mozarab_church
}
if = {
limit = {
any_pool_character = {
province = scope:mozarab_church.title_province
faith = faith:mozarabic_church
is_available_healthy_ai_adult = yes
has_trait = devoted
}
}
random_pool_character = {
province = scope:mozarab_church.title_province
limit = {
faith = faith:mozarabic_church
is_available_healthy_ai_adult = yes
}
save_scope_as = mozarab_priest
}
}
else = {
create_character = {
age = { 20 40 }
location = root.capital_province
gender_female_chance = root_faith_dominant_gender_female_chance
random_traits_list = {
count = 1
education_learning_3 = {}
education_learning_4 = {}
}
trait = devoted
random_traits = yes
culture = scope:mozarab_church.culture
faith = faith:mozarabic_church
dynasty = none
save_scope_as = mozarab_priest
}
}
cp:councillor_court_chaplain = {
save_scope_as = realm_priest
}
}
option = { #You can build a church
name = fp2_yearly.4006.a
remove_treasury_or_gold = medium_treasury_or_gold_value
root = {
add_character_modifier = {
modifier = fp2_mozarab_church_modifier
years = 30
}
}
scope:mozarab_priest = {
add_opinion = {
target = root
modifier = grateful_opinion
opinion = 40
}
}
scope:realm_priest = {
add_opinion = {
target = root
modifier = angry_opinion
opinion = -10
}
}
stress_impact = {
zealous = major_stress_impact_gain
greedy = major_stress_impact_gain
arrogant = medium_stress_impact_gain
arbitrary = minor_stress_impact_gain
ambitious = minor_stress_impact_gain
stubborn = minor_stress_impact_gain
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = zealous
has_trait = greedy
has_trait = arrogant
}
}
}
}
option = { #You are not allowed to build a church
name = fp2_yearly.4006.b
add_piety = minor_piety_gain
root = {
add_character_modifier = {
modifier = fp2_mozarab_rejected_modifier
years = 30
}
}
scope:mozarab_priest = {
add_opinion = {
target = root
modifier = disappointed_opinion
opinion = -40
}
}
every_vassal = {
limit = {
faith = faith:mozarabic_church
}
add_opinion = {
target = root
modifier = disappointed_opinion
opinion = -30
}
}
stress_impact = {
zealous = medium_stress_loss
compassionate = massive_stress_gain
generous = major_stress_gain
just = major_stress_gain
forgiving = medium_stress_gain
cynical = medium_stress_gain
content = medium_stress_gain
patient = minor_stress_gain
trusting = minor_stress_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = compassionate
has_trait = generous
has_trait = just
has_trait = forgiving
has_trait = cynical
has_trait = content
}
}
}
}
}
###################################
# Finding a shell on the road to Santiago
# By Nick Meredith
###################################
fp2_yearly.4007 = {
type = character_event
title = fp2_yearly.4007.t
desc = fp2_yearly.4007.desc
theme = faith
left_portrait = {
character = root
animation = admiration
}
right_portrait = {
character = scope:realm_priest
animation = disapproval
}
trigger = {
#DLC check
has_fp2_dlc_trigger = yes
#Standard check
is_available_at_peace_adult = yes
#You have a realm priest
exists = cp:councillor_court_chaplain
#You are Christian
faith = { religion_tag = christianity_religion }
#You can see sea shells on the sea shore
NOT = {
has_trait = blind
}
#You own a county on the road to Santiago
OR = {
has_title = title:c_santiago
has_title = title:c_astorga
has_title = title:c_leon
has_title = title:c_burgos
has_title = title:c_amaya
has_title = title:c_najera
has_title = title:c_navarra
}
#and capital is located in Iberia
capital_province = {
geographical_region = world_europe_west_iberia
}
}
immediate = {
cp:councillor_court_chaplain = {
save_scope_as = realm_priest
}
}
option = { #I'm keeping it and you're keeping your mouth closed m8
name = fp2_yearly.4007.a
root = {
create_artifact = {
name = fp2_scallop_shell_artifact
description = fp2_scallop_shell_artifact_desc
type = miscellaneous
visuals = pouch
modifier = artifact_same_faith_opinion_1_modifier
modifier = artifact_monthly_piety_1_modifier
save_scope_as = newly_created_artifact
}
scope:newly_created_artifact = {
flag_as_trash_artifact = yes
}
}
add_piety = minor_piety_loss
scope:realm_priest = {
add_opinion = {
target = root
modifier = disappointed_opinion
opinion = -10
}
}
stress_impact = {
zealous = massive_stress_impact_gain
honest = massive_stress_impact_gain
just = major_stress_impact_gain
craven = medium_stress_impact_gain
content = minor_stress_impact_gain
generous = minor_stress_impact_gain
temperate = minor_stress_impact_gain
trusting = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = zealous
has_trait = honest
has_trait = just
has_trait = craven
}
}
}
}
option = { #Ok fine I guess I won't keep the stolen valour shell
name = fp2_yearly.4007.b
add_piety = miniscule_piety_value
stress_impact = {
base = miniscule_stress_impact_loss
cynical = massive_stress_impact_gain
deceitful = massive_stress_impact_gain
greedy = major_stress_impact_gain
arbitrary = medium_stress_impact_gain
ambitious = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = cynical
has_trait = deceitful
has_trait = greedy
has_trait = arbitrary
}
}
}
}
option = { #Who do you think they'll believe fam?
name = fp2_yearly.4007.c
custom_tooltip = fp2_yearly.4007.c.tt.flavour
scope:realm_priest = {
add_opinion = {
target = root
modifier = angry_opinion
opinion = -20
}
}
stress_impact = {
base = miniscule_stress_impact_gain
zealous = massive_stress_impact_gain
honest = massive_stress_impact_gain
just = major_stress_impact_gain
craven = medium_stress_impact_gain
content = minor_stress_impact_gain
generous = minor_stress_impact_gain
temperate = minor_stress_impact_gain
trusting = minor_stress_impact_gain
cynical = minor_stress_impact_loss
deceitful = minor_stress_impact_loss
greedy = miniscule_stress_impact_loss
arbitrary = miniscule_stress_impact_loss
}
duel = {
skill = intrigue
target = scope:realm_priest
#You win the duel
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = fp2_yearly.4007.c.tt.success
send_interface_toast = {
title = fp2_yearly.4007.c.tt.success
left_icon = root
right_icon = scope:realm_priest
root = {
add_trait = pilgrim
add_piety = 500
create_artifact = {
name = fp2_scallop_shell_artifact
description = fp2_scallop_shell_artifact_desc
type = miscellaneous
visuals = pouch
modifier = artifact_same_faith_opinion_1_modifier
modifier = artifact_monthly_piety_1_modifier
save_scope_as = newly_created_artifact
}
scope:newly_created_artifact = {
flag_as_trash_artifact = yes
}
}
}
}
#You lose the duel
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = fp2_yearly.4007.c.tt.fail
send_interface_toast = {
title = fp2_yearly.4007.c.tt.fail
left_icon = root
right_icon = scope:realm_priest
root = {
add_piety = major_piety_loss
add_stress = medium_stress_gain
create_artifact = {
name = fp2_fake_scallop_shell_artifact
description = fp2_fake_scallop_shell_artifact_desc
type = miscellaneous
visuals = pouch
modifier = artifact_same_faith_opinion_negative_1_modifier
modifier = artifact_monthly_piety_negative_1_modifier
save_scope_as = newly_created_artifact
}
scope:newly_created_artifact = {
flag_as_trash_artifact = yes
}
}
}
}
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = cynical
has_trait = deceitful
has_trait = greedy
has_trait = arbitrary
}
}
}
}
}
###################################
# Folk stories around the fireside
# By Nick Meredith
###################################
fp2_yearly.4008 = {
type = character_event
title = fp2_yearly.4008.t
override_background = { reference = bp1_bonfire }
desc = {
desc = fp2_yearly.4008.desc.intro
random_valid = {
triggered_desc = {
trigger = { culture = culture:basque }
desc = fp2_yearly.4008.desc.basque.a
}
triggered_desc = {
trigger = { culture = culture:basque }
desc = fp2_yearly.4008.desc.basque.b
}
triggered_desc = {
trigger = { culture = culture:galician }
desc = fp2_yearly.4008.desc.galician.a
}
triggered_desc = {
trigger = { culture = culture:galician }
desc = fp2_yearly.4008.desc.galician.b
}
triggered_desc = {
trigger = { culture = culture:castilian }
desc = fp2_yearly.4008.desc.castilian.a
}
triggered_desc = {
trigger = { culture = culture:castilian }
desc = fp2_yearly.4008.desc.castilian.b
}
triggered_desc = {
trigger = { culture = culture:catalan }
desc = fp2_yearly.4008.desc.catalan.a
}
triggered_desc = {
trigger = { culture = culture:catalan }
desc = fp2_yearly.4008.desc.catalan.b
}
triggered_desc = {
trigger = { culture = culture:aragonese }
desc = fp2_yearly.4008.desc.aragonese.a
}
triggered_desc = {
trigger = { culture = culture:aragonese }
desc = fp2_yearly.4008.desc.aragonese.b
}
desc = fp2_yearly.4008.desc.spain.a
desc = fp2_yearly.4008.desc.spain.b
desc = fp2_yearly.4008.desc.spain.c
}
desc = fp2_yearly.4008.desc.ending
}
theme = friendly
left_portrait = {
character = root
animation = scheme
}
right_portrait = {
character = scope:old_crone
animation = throne_room_conversation_1
}
trigger = {
#DLC check
has_fp2_dlc_trigger = yes
#Standard check
is_landed_or_landless_administrative = yes
is_available_at_peace_adult = yes
#You are Iberian
culture = { has_cultural_pillar = heritage_iberian }
#and capital is located in Iberia
capital_province = {
geographical_region = world_europe_west_iberia
}
}
immediate = {
if = {
limit = {
any_pool_character = {
province = root.capital_province
age = { 50 80 }
culture = { has_cultural_pillar = heritage_iberian }
is_available_healthy_ai_adult = yes
}
}
random_pool_character = {
province = root.capital_province
limit = {
age = { 50 80 }
culture = { has_cultural_pillar = heritage_iberian }
is_available_healthy_ai_adult = yes
}
save_scope_as = old_crone
}
}
else = {
create_character = {
age = { 50 80 }
location = root.capital_province
gender = female
trait = lifestyle_poet
random_traits = yes
culture = root.culture
faith = root.faith
dynasty = none
save_scope_as = old_crone
}
}
}
option = { #What a fun old story!
name = fp2_yearly.4008.a
add_stress = minor_stress_loss
ai_chance = {
base = 100
}
}
option = { #Gimme a lil prestige for not believe in ghosts
name = fp2_yearly.4008.b
add_prestige = minor_prestige_value
stress_impact = {
cynical = miniscule_stress_impact_loss
arrogant = miniscule_stress_impact_loss
stubborn = miniscule_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = cynical
has_trait = arrogant
has_trait = stubborn
}
}
}
}
option = { #Invite her to your court
name = fp2_yearly.4008.c
trigger = { #Make sure they have Royal Court but no poet
has_ep1_dlc_trigger = yes
can_appoint_char_to_court_position = {
CHAR = scope:old_crone
COURT_POS = court_poet_court_position
}
}
hidden_effect = {
add_courtier = scope:old_crone
scope:old_crone = {
add_trait = whole_of_body
}
}
court_position_grant_effect = {
EMPLOYER = root
CANDIDATE = scope:old_crone
POS = court_poet
}
reverse_add_opinion = {
modifier = grateful_opinion
target = scope:old_crone
opinion = 50
}
ai_chance = {
base = 100
}
}
}
###################################
# Visiting the Malato Tree
# By Nick Meredith
###################################
fp2_yearly.4009 = {
type = character_event
title = fp2_yearly.4009.t
desc = fp2_yearly.4009.desc
theme = crown
override_background = { reference = wilderness_forest }
left_portrait = {
character = root
animation = admiration
}
cooldown = { years = 30 }
trigger = {
#DLC check
has_fp2_dlc_trigger = yes
#Standard check
is_available_at_peace_adult = yes
#You are Basque
culture = culture:basque
#You own the county where the tree is
has_title = title:c_viscaya
#and capital is located in Iberia
capital_province = {
geographical_region = world_europe_west_iberia
}
}
immediate = {
title:c_viscaya = { save_scope_as = viscaya }
culture = {save_scope_as = root_culture}
}
option = { #One day I too will shoot all their nobs!
name = fp2_yearly.4009.a
every_vassal = {
custom = custom.every_same_culture_vassal
limit = {
culture = culture:basque
}
add_opinion = {
target = liege
modifier = respect_opinion
opinion = 20
}
}
every_vassal = {
custom = custom.every_different_culture_vassal
limit = {
NOT = {
culture = culture:basque
}
}
add_opinion = {
target = liege
modifier = scared_opinion
opinion = -20
}
}
stress_impact = {
calm = medium_stress_impact_gain
craven = medium_stress_impact_gain
content = major_stress_impact_gain
lazy = medium_stress_impact_gain
impatient = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = calm
has_trait = craven
has_trait = content
has_trait = lazy
has_trait = impatient
}
}
}
}
option = { #Perhaps I need to dream bigger
name = fp2_yearly.4009.b
every_vassal = {
limit = {
culture = culture:basque
}
add_opinion = {
target = liege
modifier = disappointed_opinion
opinion = -20
}
}
every_vassal = {
limit = {
NOT = {
culture = culture:basque
}
}
add_opinion = {
target = liege
modifier = pleased_opinion
opinion = 20
}
}
stress_impact = {
ambitious = minor_stress_impact_loss
calm = medium_stress_impact_gain
craven = medium_stress_impact_gain
content = major_stress_impact_gain
lazy = medium_stress_impact_gain
impatient = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = calm
has_trait = craven
has_trait = content
has_trait = lazy
has_trait = impatient
}
}
}
}
option = { #Take some bark from the tree
name = fp2_yearly.4009.c
root = {
create_artifact = {
name = fp2_malato_bark_artifact
description = fp2_malato_bark_artifact_desc
type = miscellaneous
visuals = pouch
modifier = artifact_vassal_limit_1_modifier
modifier = artifact_monthly_martial_lifestyle_xp_1_modifier
save_scope_as = newly_created_artifact
}
scope:newly_created_artifact = {
flag_as_trash_artifact = yes
}
}
ai_chance = {
base = 100
}
}
}
###################################
# Finding a Verraco
# By Nick Meredith
###################################
fp2_yearly.4010 = {
type = character_event
title = fp2_yearly.4010.t
desc = fp2_yearly.4010.desc
override_background = { reference = farmland }
theme = learning
left_portrait = {
character = root
animation = personality_rational
}
cooldown = { years = 20 }
trigger = {
#DLC check
has_fp2_dlc_trigger = yes
#Standard check
is_available_at_peace_adult = yes
#owns land formerly inhabited by the Vettones
OR = {
has_title = title:c_plasencia
has_title = title:c_caceres
has_title = title:c_merida
has_title = title:c_malagon
has_title = title:c_almader
has_title = title:c_medellin
has_title = title:c_toledo
}
#and capital is located in Iberia
capital_province = {
geographical_region = world_europe_west_iberia
}
}
immediate = {
every_county_in_region = {
region = world_europe_west_iberia
limit = { # all relevant counties
OR = {
this = title:c_plasencia
this = title:c_caceres
this = title:c_merida
this = title:c_malagon
this = title:c_almader
this = title:c_medellin
this = title:c_toledo
}
}
add_to_list = verracos_counties
}
random_in_list = {
list = verracos_counties
save_scope_as = verraco_county
}
}
option = { # Maybe these were tombs for religious figures?
name = fp2_yearly.4010.a
trigger = {
faith = { religion_tag = christianity_religion }
}
duel = {
skill = learning
value = decent_skill_rating
#Sounds good to us!
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = fp2_yearly.4010.a.success
send_interface_toast = {
title = fp2_yearly.4010.a.success
type = event_toast_effect_good
left_icon = root
add_prestige = medium_prestige_value
}
scope:verraco_county = {
add_county_modifier = {
modifier = fp2_saints_tombs_modifier
years = 20
}
}
}
#What the hell are you talking about?
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = fp2_yearly.4010.a.fail
send_interface_toast = {
title = fp2_yearly.4010.a.fail
type = event_toast_effect_bad
left_icon = root
stress_impact = {
base = medium_stress_gain
ambitious = major_stress_impact_gain
zealous = medium_stress_impact_gain
}
}
}
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = ambitious
has_trait = zealous
}
}
}
}
option = { # We can use these for buildings
name = fp2_yearly.4010.b
trigger = {
NOT = {
faith = { religion_tag = islam_religion }
}
}
scope:verraco_county = {
add_county_modifier = {
modifier = fp2_dismantling_verracos_modifier
years = 20
}
}
stress_impact = {
ambitious = miniscule_stress_impact_loss
calm = medium_stress_impact_gain
content = medium_stress_impact_gain
humble = medium_stress_impact_gain
lazy = medium_stress_impact_gain
impatient = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = calm
has_trait = content
has_trait = lazy
has_trait = impatient
}
}
}
}
option = { # Tear these blasphemous things down!
name = fp2_yearly.4010.c
trigger = {
faith = { religion_tag = islam_religion }
}
add_piety = minor_piety_gain
scope:verraco_county = {
add_county_modifier = {
modifier = fp2_dismantling_verracos_modifier
years = 20
}
}
stress_impact = {
zealous = minor_stress_impact_loss
cynical = medium_stress_impact_gain
lazy = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
factor = 0
OR = {
has_trait = cynical
has_trait = lazy
}
}
}
}
option = { # Kinda interesting, I guess
name = fp2_yearly.4010.d
ai_chance = {
base = 100
}
}
}
###################################
# Destroying the Vineyards
# by Ola Jentzsch
###################################
fp2_yearly.8000 = {
type = character_event
title = fp2_yearly.8000.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
has_religion = religion:islam_religion
}
desc = fp2_yearly.8000.desc_muslim_opening
}
desc = fp2_yearly.8000.desc_jewish_opening
}
first_valid = {
triggered_desc = {
trigger = {
has_title = title:c_cadiz
}
desc = fp2_yearly.8000.desc_jerez
}
desc = fp2_yearly.8000.desc_not_jerez
}
}
theme = realm
override_background = { reference = garden }
left_portrait = {
character = root
animation = disapproval
}
right_portrait = {
character = scope:hof_emissary
animation = chancellor
}
lower_left_portrait = {
character = scope:vinoclast_caliph
}
trigger = {
has_fp2_dlc_trigger = yes
OR = {
has_religion = religion:islam_religion
has_religion = religion:judaism_religion
}
root.faith = {
OR = {
has_doctrine = tenet_religious_legal_pronouncements
has_doctrine = tenet_literalism
has_doctrine = tenet_adaptive
}
}
faith.religious_head != root
exists = root.faith.religious_head
root.faith.religious_head = { is_ai = yes }
fp2_character_involved_in_struggle_trigger = yes
any_held_county = {
county_has_province_with_terrain = {
terrain = farmlands
terrain = plains
terrain = hills
terrain = floodplains
}
}
}
cooldown = { years = 50 }
immediate = {
random_held_county = {
limit = { this = title:c_cadiz }
save_scope_as = vineyard_county
}
IF = {
limit = {
NOT = {
exists = scope:vineyard_county
}
}
random_held_county = {
limit = {
county_has_province_with_terrain = {
terrain = farmlands
terrain = plains
terrain = hills
terrain = floodplains
}
}
save_scope_as = vineyard_county
}
}
title:b_jerez = {
if = {
limit = {
OR = {
holder = root
holder = {
any_liege_or_above = {
this = root
}
}
}
}
save_scope_as = jerez_vineyards
}
}
root.faith.religious_head = { save_scope_as = vinoclast_caliph }
hidden_effect = {
scope:vinoclast_caliph = {
IF = {
limit = {
NOT = {
has_character_modifier = crusading_against_iberian_wine_modifier
}
}
}
add_character_modifier = {
modifier = crusading_against_iberian_wine_modifier
years = 30
}
}
}
create_character = { #this is the head of faith's emissary
age = { 25 75 }
location = root.capital_province
gender_female_chance = root_faith_dominant_gender_female_chance #could be female, if given the right context.
trait = zealous
template = priest_character_template
save_scope_as = hof_emissary #this saves him as a scope so we can get nice effects to bounce off him!
}
}
option = { #Destroying fine wine? Have the caliph gone insane?
name = fp2_yearly.8000.a
trigger = {
NOT = { has_trait = zealous }
OR = {
has_trait = drunkard
has_trait = gregarious
has_trait = lifestyle_reveler
}
}
ai_chance = { #hedonistic AI pick this option
base = 10
ai_value_modifier = {
ai_boldness = 0.2
ai_energy = 0.7
ai_greed = -0.5
ai_zeal = -0.5
}
}
stress_impact = {
craven = minor_stress_impact_gain
temperate = medium_stress_impact_gain
trusting = minor_stress_impact_gain
}
add_piety_level = -1
scope:vinoclast_caliph = {
progress_towards_rival_effect = {
REASON = rival_vineyard_burned
CHARACTER = root
OPINION = -25
}
}
add_character_modifier = {
modifier = wine_supply_secure_modifier
years = 30
}
}
option = { #Let's burn 'em
name = fp2_yearly.8000.b
ai_chance = { #radically zealous AIs pick this option
base = 10
ai_value_modifier = {
ai_boldness = 0.5
ai_zeal = 0.9
ai_compassion = -0.5
ai_greed = -0.5
}
}
stress_impact = {
compassionate = minor_stress_impact_gain
cynical = minor_stress_impact_gain
gluttonous = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
lifestyle_reveler = major_stress_impact_gain
drunkard = massive_stress_impact_gain
}
add_piety = major_piety_gain
scope:vinoclast_caliph = {
add_opinion = {
target = root
opinion = 20
modifier = pleased_opinion
}
}
scope:vineyard_county = {
add_county_modifier = {
modifier = vineyards_burnt_county_modifier
years = 20
}
}
if = {
limit = { has_title = title:c_cadiz }
add_hook = {
type = favor_hook
target = scope:vinoclast_caliph
}
}
}
option = { #Never, I like wine
name = fp2_yearly.8000.c
ai_chance = { #administrative or stubborn AI pick this option
base = 10
ai_value_modifier = {
ai_honor = 0.2
ai_energy = 0.5
ai_greed = 0.5
ai_compassion = 0.3
ai_zeal = -0.8
}
}
stress_impact = {
craven = minor_stress_impact_gain
temperate = minor_stress_impact_gain
trusting = minor_stress_impact_gain
zealous = medium_stress_impact_gain
}
add_piety_level = -1
scope:vinoclast_caliph = {
add_opinion = {
target = root
opinion = -30
modifier = angry_opinion
}
}
scope:vineyard_county = {
add_county_modifier = {
modifier = vineyards_protected_county_modifier
years = 50
}
}
}
}
###################################
# Assembling the Cortes
# by Ola Jentzsch
###################################
scripted_trigger people_loving_councillor_trigger = {
is_available_healthy_ai_adult = yes
NOT = { is_vassal_of = root }
}
fp2_yearly.8001 = {
type = character_event
title = fp2_yearly.8001.t
desc = fp2_yearly.8001.desc
theme = realm
left_portrait = {
character = root
animation = stress
}
right_portrait = {
character = scope:commoner_enthusiast
animation = chancellor
}
trigger = {
has_fp2_dlc_trigger = yes
any_held_county = { any_county_province = { geographical_region = world_europe_west_iberia } }
culture = { has_cultural_pillar = heritage_iberian }
government_has_flag = government_is_feudal
highest_held_title_tier >= tier_kingdom
gold < medium_gold_value
any_councillor = { people_loving_councillor_trigger = yes }
}
cooldown = { years = 30 }
immediate = {
random_councillor = {
limit = { people_loving_councillor_trigger = yes }
save_scope_as = commoner_enthusiast
}
}
option = { #Invite the cities' representatives
name = fp2_yearly.8001.a
add_character_modifier = {
modifier = cortes_modifier
years = 20
}
add_prestige = medium_prestige_loss
scope:commoner_enthusiast = {
add_opinion = {
target = root
opinion = 10
modifier = took_my_advice_opinion
}
}
custom_tooltip = fp2_flavor.8001_vassal_opinion
hidden_effect = {
every_vassal = {
IF = {
limit = {
OR = {
has_trait = ambitious
has_trait = arrogant
has_trait = callous
has_trait = cynical
has_trait = wrathful
}
}
add_opinion = {
target = root
opinion = -10
modifier = privileges_to_people_opinion
}
}
}
}
ai_chance = { #Administrative or visionary characters pick this option, but it's also the Christian thing to do
base = 10
ai_value_modifier = {
ai_boldness = 0.5
ai_compassion = 0.5
ai_rationality = 0.6
ai_zeal = 0.3
}
}
stress_impact = {
# Characters who are set in their ways or have no respect for common folk find this a very unappealing option.
arrogant = medium_stress_impact_gain
august = minor_stress_impact_gain
stubborn = minor_stress_impact_gain
paranoid = medium_stress_impact_gain
}
}
option = { #Invite everyone! I mean everyone.
name = fp2_yearly.8001.b
trigger = {
NOT = { has_character_modifier = associates_with_strange_peasants_modifier } #since this modifier is a re-use from one of the learning lifestyle events, this is a safety measure to prevent root from getting a double of the same modifier
}
add_character_modifier = {
modifier = associates_with_strange_peasants_modifier
years = 20
}
add_character_modifier = {
modifier = extra_large_cortes_modifier
years = 20
}
add_prestige = medium_prestige_loss
scope:commoner_enthusiast = {
add_opinion = {
target = root
opinion = 10
modifier = took_my_advice_opinion
}
}
ai_chance = { #this is picked by AI who are hypersocial to the point of madness, or visionary way beyond their time
base = 10
ai_value_modifier = {
ai_boldness = 0.5
ai_energy = 0.5
ai_rationality = -0.5
ai_greed = -0.5
ai_vengefulness = -0.5
ai_zeal = -0.3
}
}
stress_impact = {
# Characters who are careful or hate the masses find this a very unappealing option.
eccentric = minor_stress_impact_loss
craven = minor_stress_impact_gain
arrogant = medium_stress_impact_gain
august = minor_stress_impact_gain
shy = minor_stress_impact_gain
stubborn = minor_stress_impact_gain
paranoid = medium_stress_impact_gain
}
}
option = { #No, the nobles knows best, as we always have.
name = fp2_yearly.8001.c
add_prestige = medium_prestige_gain
scope:commoner_enthusiast = {
add_opinion = {
target = root
opinion = -10
modifier = disappointed_opinion
}
}
ai_chance = { #this is picked by AI who want to safeguard their privileges.
base = 10
ai_value_modifier = {
ai_greed = 1
ai_vengefulness = 0.5
ai_rationality = 0.2
ai_compassion = -0.5
ai_energy = -0.5
}
}
stress_impact = {
# Characters who likes efficiency and democracy dislikes this option
ambitious = medium_stress_impact_gain
compassionate = minor_stress_impact_gain
diligent = minor_stress_impact_gain
generous = minor_stress_impact_gain
}
}
}
###################################
# Dietary Dilemma
# By Ola Jentzsch
###################################
fp2_yearly.8002 = {
type = character_event
title = fp2_yearly.8002.t
desc = fp2_yearly.8002.desc
theme = faith
override_background = { reference = council_chamber }
left_portrait = {
character = root
animation = boredom
}
right_portrait = {
character = scope:preoccupied_ulama
animation = worry
}
trigger = {
has_fp2_dlc_trigger = yes
any_realm_province = { is_coastal = yes }
OR = {
has_religion = religion:islam_religion
has_religion = religion:judaism_religion
}
faith = {
OR = {
has_doctrine = tenet_religious_legal_pronouncements
has_doctrine = tenet_literalism
has_doctrine = tenet_adaptive
}
}
any_held_title = { is_head_of_faith = no }
exists = cp:councillor_court_chaplain
}
cooldown = { years = 50 }
immediate = {
cp:councillor_court_chaplain = { save_scope_as = preoccupied_ulama }
random_realm_province = {
limit = {
is_coastal = yes
}
save_scope_as = beached_whale_province
}
}
option = { #Make a ruling
name = fp2_yearly.8002.a
trigger = {
OR = {
has_trait = sayyid
has_trait = crusader_king
has_trait = order_member
piety_level >= 4
learning >= very_high_skill_rating
}
}
add_character_modifier = {
modifier = lay_ruler_issued_fatwa_modifier
years = 10
}
scope:preoccupied_ulama = {
add_opinion = {
target = root
opinion = -10
modifier = dismissed_me_opinion
}
}
ai_chance = { #rational AIs pick this option
base = 10
ai_value_modifier = {
ai_boldness = 0.5
ai_rationality = 0.9
ai_zeal = -0.7
}
}
stress_impact = {
# Craven character's don't wanna take the risk, and humble and trusting doesn't want to undermine the ulama
craven = minor_stress_impact_gain
humble = minor_stress_impact_gain
trusting = minor_stress_impact_gain
}
}
option = { #Just go to town on it
name = fp2_yearly.8002.b
scope:preoccupied_ulama = {
add_opinion = {
target = root
opinion = -10
modifier = dismissed_me_opinion
}
}
random_list = {
60 = {
modifier = {
add = 30
has_trait = whole_of_body
}
send_interface_toast = {
left_icon = root
title = healthy_whale_toast
add_character_modifier = {
modifier = mystery_meat_health_benefits_modifier
years = 10
}
}
}
40 = {
send_interface_toast = {
left_icon = root
title = unhealthy_whale_toast
add_character_modifier = {
modifier = mystery_meat_unhealth_benefits_modifier
years = 10
}
}
}
}
ai_chance = { #hungry AI pick this option
base = 10
ai_value_modifier = {
ai_boldness = 0.5
ai_energy = -0.8
}
}
stress_impact = { #temperate or cautious characters don't wanna eat strange blobs washed up from the Atlantic
inappetetic = medium_stress_impact_gain
temperate = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
# but gluttons really wanna try it!
comfort_eater = medium_stress_impact_loss
gluttonous = medium_stress_impact_loss
lifestyle_reveler = minor_stress_impact_loss
}
}
option = { #Be cautious and wait for official ruling
name = fp2_yearly.8002.c
scope:preoccupied_ulama = {
add_opinion = {
target = root
opinion = 20
modifier = took_my_advice_opinion
}
}
ai_chance = { #cautious but faithful AIs pick this option
base = 10
ai_value_modifier = {
ai_zeal = 0.7
ai_boldness = -0.5
}
}
stress_impact = {
# Ambitious or Impatient characters don't wanna wait for the ulama
ambitious = minor_stress_impact_gain
arbitrary = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
impatient = medium_stress_impact_gain
}
}
option = { #Burn the carcass, just to be safe
name = fp2_yearly.8002.d
add_dread = minor_dread_gain
scope:preoccupied_ulama = {
add_opinion = {
target = root
opinion = 10
modifier = admires_resolve_opinion
}
}
random = {
chance = 10
custom_tooltip = exploding_whale.tt
send_interface_toast = {
left_icon = root
title = exploding_whale_toast
root = {
increase_wounds_effect = { REASON = by_exploding_whale } #it can happen... :D
}
}
}
ai_chance = { #overly zealous AIs pick this option
base = 10
ai_value_modifier = {
ai_zeal = 1
ai_energy = 0.5
}
}
stress_impact = {
# Rational characters find this to be total overkill
cynical = minor_stress_impact_gain
#but zealous truly prefer to burn things
zealous = medium_stress_impact_loss
}
}
}
###################################
# Flight of Fancy
# By Ola Jentzsch
###################################
# Inspired by an idea by Isabella welch
##########################################
fp2_yearly.8003 = {
type = character_event
title = fp2_yearly.8003.t
desc = fp2_yearly.8003.desc
theme = family
left_portrait = {
character = scope:enthusiastic_child
animation = admiration
}
right_portrait = {
character = scope:flying_polymath
animation = beg
}
cooldown = { years = 125 } # Should be replaced with a playthrough cooldown (but global vars are too heavy atm)
trigger = {
has_fp2_dlc_trigger = yes
is_landed = yes
is_ai = no
any_child = {
is_available_child = yes
age >= 6
age <= 13
NOT = { has_trait = blind }
}
has_trait = eccentric
OR = {
capital_province = { geographical_region = world_europe_west_iberia }
culture = { has_cultural_pillar = heritage_iberian }
}
}
weight_multiplier = {
base = 0.4
modifier = {
AND = {
current_year > 866
current_year < 890
NOT = { exists = global_var:ibnfirnas_created }
}
add = 0.6
}
}
immediate = {
random_child = {
limit = {
is_available_child = yes
age >= 6
age <= 13
NOT = { has_trait = blind}
}
save_scope_as = enthusiastic_child
}
root.capital_province = { save_scope_as = flight_capital }
if = {
limit = { #their rough period of activity
AND = {
current_year > 866
current_year < 890
}
NOT = { exists = global_var:ibnfirnas_created } #makes sure that he wasn't already spawned by the event elsewhere (mostly relevant in multiplayer, since this is a player-only event)
}
create_character = {
age = { 56 80 } #their rough age during the period of their flourishing
location = root.capital_province
name = "Abbas ibn Firnas" #Armen Firman
gender = male
template = scholar_character
trait = intellect_good_1
trait = lifestyle_poet
trait = education_learning_4
random_traits_list = { #his personality
count = 3
ambitious = {}
brave = {}
diligent = {}
impatient = {}
}
culture = culture:baranis
dynasty = none
faith = faith:muwalladi
save_scope_as = flying_polymath
}
set_global_variable = ibnfirnas_created
}
else = { #or it defaults to a random one
create_character = {
age = { 50 80 }
location = root.capital_province
template = scholar_character
trait = intellect_good_2
trait = education_learning_3
trait = architect
random_traits_list = {
count = 3
brave = {}
calm = {}
diligent = {}
cynical = {}
humble = {}
patient = {}
}
culture = root.capital_province.culture
faith = root.faith
save_scope_as = flying_polymath
}
}
hidden_effect = {
add_random_tiered_trait_xp_effect = {
TRAIT = lifestyle_physician
LEVEL_1 = no
LEVEL_3 = yes
}
}
}
option = { #Very well, I shall allow it
name = fp2_yearly.8003.a
flavor = fp2_yearly.8003_child_reaction
scope:enthusiastic_child = {
add_opinion = {
target = root
opinion = 30
modifier = pleased_opinion
}
}
random_list = {
30 = {
trigger = {
scope:enthusiastic_child = {
number_of_personality_traits <= 2
NOT = { has_trait = brave }
}
}
send_interface_toast = {
title = polymath_flight_attempt_toast.success
left_icon = scope:enthusiastic_child
right_icon = scope:flying_polymath
add_prestige = medium_prestige_gain
add_courtier = scope:flying_polymath
scope:enthusiastic_child = { add_trait_force_tooltip = brave }
}
}
30 = {
send_interface_toast = {
title = polymath_flight_attempt_toast.success
left_icon = scope:enthusiastic_child
right_icon = scope:flying_polymath
add_prestige = medium_prestige_gain
add_courtier = scope:flying_polymath
}
modifier = {
add = 30
scope:enthusiastic_child = {
OR = {
number_of_personality_traits >= 3
has_trait = brave
}
}
}
}
20 = {
trigger = {
scope:enthusiastic_child = {
number_of_personality_traits <= 2
NOT = { has_trait = sadistic }
}
}
send_interface_toast = {
title = polymath_flight_attempt_toast.failure
left_icon = scope:enthusiastic_child
right_icon = scope:flying_polymath
scope:flying_polymath = {
death = { death_reason = death_flight_attempt }
}
scope:enthusiastic_child = { add_trait_force_tooltip = sadistic}
}
}
20 = {
trigger = {
scope:enthusiastic_child = {
NOT = { has_trait = depressed }
}
}
send_interface_toast = {
title = polymath_flight_attempt_toast.failure
left_icon = scope:enthusiastic_child
right_icon = scope:flying_polymath
scope:flying_polymath = {
death = { death_reason = death_flight_attempt }
}
scope:enthusiastic_child = { add_trait_force_tooltip = depressed_1 }
}
modifier = {
add = 20
scope:enthusiastic_child = {
number_of_personality_traits >= 3
}
}
}
40 = {
trigger = {
scope:enthusiastic_child = {
has_trait = depressed
OR = {
has_trait = brave
has_trait = sadistic
}
}
}
send_interface_toast = {
title = polymath_flight_attempt_toast.failure
left_icon = scope:enthusiastic_child
right_icon = scope:flying_polymath
scope:flying_polymath = {
death = { death_reason = death_flight_attempt }
}
scope:enthusiastic_child = { add_stress = minor_stress_gain }
}
}
}
stress_impact = { #Compassionate people worry about bystanders getting hurt
compassionate = minor_stress_impact_gain
craven = minor_stress_impact_gain
}
}
option = { #I too, want to fly!
name = fp2_yearly.8003.b
duel = { #time to fly!
skill = learning
value = high_skill_rating
15 = {
compare_modifier = {
value = scope:duel_value
multiplier = 2
}
send_interface_toast = {
title = flight_attempt_toast.success
left_icon = root
add_character_modifier = {
modifier = saw_the_world_from_above_modifier
years = 30
}
scope:enthusiastic_child = {
add_opinion = {
target = root
opinion = 30
modifier = pleased_opinion
}
}
random = {
chance = 50
root = { give_nickname = nick_the_flying }
}
}
}
10 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
send_interface_toast = {
title = flight_attempt_toast.failure
left_icon = root
increase_wounds_effect = { REASON = flight_attempt }
scope:enthusiastic_child = {
add_opinion = {
target = root
opinion = -20
modifier = scared_opinion
}
}
random = {
chance = 50
root = { give_nickname = nick_the_flightless }
}
}
}
}
stress_impact = { #cravens, contents and the bedridden don't wanna take the risk
craven = medium_stress_impact_gain
content = minor_stress_impact_gain
ill = minor_stress_impact_gain
infirm = medium_stress_impact_gain
brave = minor_stress_impact_loss
}
}
option = { #No, this is madness!
name = fp2_yearly.8003.c
scope:enthusiastic_child = {
add_opinion = {
target = root
opinion = -20
modifier = disappointed_opinion
}
}
stress_impact = {
ambitious = minor_stress_impact_gain
brave = minor_stress_impact_gain
curious = minor_stress_impact_gain
}
}
}
###################################
# Translation Schools
# By Ola Jentzsch
###################################
scripted_trigger fp2_yearly.8004_court_chaplain_traits = {
has_council_position = councillor_court_chaplain
learning >= excellent_skill_level
is_available_ai_adult = yes
NOT = {
has_trait = dull
has_trait = vengeful
has_trait = zealous
}
}
fp2_yearly.8004 = {
type = character_event
title = fp2_yearly.8004.t
desc = {
first_valid = {
desc = fp2_yearly.8004.desc_opening
}
first_valid = {
triggered_desc = {
trigger = {
scope:translation_enthusiast = { fp2_yearly.8004_court_chaplain_traits = yes }
}
desc = fp2_yearly.8004.desc_chaplain
}
desc = fp2_yearly.8004.desc_wanderer
}
}
theme = learning
left_portrait = {
character = root
animation = personality_rational
}
right_portrait = {
character = scope:translation_enthusiast
animation = chancellor
}
trigger = {
has_fp2_dlc_trigger = yes
OR = {
AND = {
exists = struggle:iberian_struggle
struggle:iberian_struggle = { is_struggle_phase = struggle_iberia_phase_conciliation }
fp2_character_involved_in_struggle_trigger = yes
}
AND = {
has_global_variable = fp2_struggle_conciliation_ending
root.capital_province = { geographical_region = world_europe_west_iberia }
}
}
culture = { has_cultural_era_or_later = culture_era_high_medieval }
}
cooldown = { years = 100 }
immediate = {
if = { #This looks to see if Gerard of Cremona will be used in the event
limit = { #his rough period of activity
AND = {
current_year > 1144
current_year < 1190
}
NOT = { exists = global_var:gerard_of_cremona_created } #makes sure that he wasn't already spawned by the event elsewhere
is_ai = no
}
create_character = {
age = { 34 70 } #his rough age during the period of his flourishing
location = root.capital_province
name = "Gherardo da Cremona" #Gerard of Cremona
gender = male
template = scholar_character
trait = scholar
trait = education_learning_4
random_traits_list = { #his personality
count = 3
diligent = {}
impatient = {}
calm = {}
cynical = {}
}
culture = culture:italian
dynasty = none
faith = faith:catholic
save_scope_as = translation_enthusiast #this is needed to get the loc right
}
set_global_variable = gerard_of_cremona_created
}
if = { #or a brilliant court chaplain, if you happen to have one
limit = {
NOT = { exists = scope:translation_enthusiast }
}
random_councillor = {
limit = { fp2_yearly.8004_court_chaplain_traits = yes }
save_scope_as = translation_enthusiast
}
}
if = { #or it defaults to a random scholar
limit = {
NOT = { exists = scope:translation_enthusiast }
}
create_character = {
age = { 32 50 }
location = root.capital_province
template = scholar_character
trait = education_learning_3
random_traits_list = {
count = 3
ambitious = {}
calm = {}
diligent = {}
cynical = {}
humble = {}
patient = {}
}
culture = root.culture
faith = root.faith
save_scope_as = translation_enthusiast
}
}
root.capital_county = { save_scope_as = translation_capital }
}
option = { #I shall spare #italic no#! expense to find the most capable people
name = fp2_yearly.8004.a
remove_treasury_or_gold = monumental_treasury_or_gold_value #this is expensive!
if = {
limit = {
NOT = { cp:councillor_court_chaplain = scope:translation_enthusiast }
}
add_courtier = scope:translation_enthusiast #he's added to root's court
}
duel = { #you try to recruit a bunch of genius translators
skill = learning
value = very_high_skill_rating
20 = {
compare_modifier = {
value = scope:duel_value
multiplier = 1
}
modifier = {
add = 40
has_trait = scholar
}
modifier = {
add = 40
has_trait = diligent
}
modifier = {
add = 40
has_trait = gregarious
}
modifier = {
add = 40
has_trait = diplomat
}
modifier = {
add = 40
has_trait = administrator
}
modifier = {
add = 40
culture = { has_cultural_tradition = tradition_xenophilic }
}
modifier = {
add = 60
any_held_county = {
any_county_province = {
barony = title:b_toledo
}
}
}
modifier = {
add = 60
prestige_level >= high_prestige_level
}
send_interface_toast = { #you succeed!
title = recruiting_brilliance_toast.success
left_icon = root
add_character_modifier = {
modifier = great_translation_school_modifier
years = 30
}
add_prestige = major_prestige_gain
if = {
limit = { is_ai = no }
give_nickname = nick_the_wise
}
}
}
20 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
send_interface_toast = {
title = recruiting_mediocrity_toast.failure
left_icon = root
add_character_modifier = {
modifier = mediocre_translation_school_modifier
years = 30
}
add_prestige = minor_prestige_gain
}
}
}
ai_chance = { #rational and ambitious AIs pick this option
base = 10
ai_value_modifier = {
ai_rationality = 1
ai_boldness = 0.7
ai_zeal = -0.3
ai_vengefulness = -0.5
}
}
stress_impact = {
# Content or lazy characters don't want to make the effort
content = minor_stress_impact_gain
lazy = minor_stress_impact_gain
# Nor do self-absorbed ones
arrogant = minor_stress_impact_gain
greedy = minor_stress_impact_gain
#and impatient ones don't wanna wait
impatient = minor_stress_impact_gain
}
}
option = { #If you are so capable, #italic you#! can do all the translations
name = fp2_yearly.8004.b
remove_treasury_or_gold = medium_treasury_or_gold_value #this is expensive!
if = {
limit = {
NOT = { cp:councillor_court_chaplain = scope:translation_enthusiast }
}
add_courtier = scope:translation_enthusiast #he's added to root's court
}
scope:translation_enthusiast = {
add_opinion = {
target = root
opinion = -20
modifier = unfair_expectations_opinion
}
}
add_character_modifier = {
modifier = translation_effort_modifier
years = 30
}
ai_chance = { #rational and cautious AIs pick this option
base = 10
ai_value_modifier = {
ai_rationality = 0.5
ai_boldness = -0.4
}
}
stress_impact = {
# self-absorbed cheapskates still don't want to pay for this
arrogant = minor_stress_impact_gain
greedy = minor_stress_impact_gain
#and ambitious and diligent feel it's not enough
ambitious = minor_stress_impact_gain
diligent = minor_stress_impact_gain
}
}
option = { #I would rather have the books collecting dust..."
name = fp2_yearly.8004.c
add_character_modifier = {
modifier = dusty_libraries_modifier
years = 30
}
if = {
limit = { cp:councillor_court_chaplain = scope:translation_enthusiast }
scope:translation_enthusiast = {
add_opinion = {
target = root
opinion = -20
modifier = disappointed_opinion
}
}
}
if = {
limit = {
NOT = { cp:councillor_court_chaplain = scope:translation_enthusiast }
}
scope:translation_enthusiast = { silent_disappearance_effect = yes }
}
ai_chance = { #zealous or ignorant AI pick this option
base = 10
ai_value_modifier = {
ai_zeal = 0.5
ai_vengefulness = 0.4
ai_energy = -0.7
}
}
stress_impact = {
# ambitious or learned characters cry from this
ambitious = minor_stress_impact_gain
diligent = minor_stress_impact_gain
generous = minor_stress_impact_gain
scholar = major_stress_impact_gain
}
}
}
###################################
# Under the Stone Pine
# by Ola Jentzsch
###################################
fp2_yearly.8005 = {
type = character_event
title = fp2_yearly.8005.t
desc = {
desc = fp2_yearly.8005.desc_opening
first_valid = {
triggered_desc = {
trigger = {
culture = { has_cultural_pillar = language_iberian }
}
desc = fp2_yearly.8005.desc_iberian
}
triggered_desc = {
trigger = {
culture = { has_cultural_pillar = language_arabic }
}
desc = fp2_yearly.8005.desc_arabic
}
desc = fp2_yearly.8005.desc_language_neutral
}
desc = fp2_yearly.8005.desc_middle_part
first_valid = {
triggered_desc = {
trigger = { current_year >= 1120 }
desc = fp2_yearly.8005.desc_post_troubadours
}
desc = fp2_yearly.8005.desc_pre_troubadours
}
}
theme = love
left_portrait = {
character = root
animation = sadness
}
cooldown = { years = 50 }
trigger = {
has_fp2_dlc_trigger = yes
is_landed_or_landless_administrative = yes
OR = {
capital_province = { geographical_region = world_europe_west_iberia }
culture = { has_cultural_pillar = heritage_iberian }
}
}
immediate = {
random_relation = {
type = lover
save_scope_as = courtly_lover
}
capital_county = { save_scope_as = tree_capital }
}
option = { #Embrace the love in your heart
name = fp2_yearly.8005.a
trigger = {
any_relation = { type = lover }
NOT = { has_trait = lifestyle_poet }
}
add_trait = lifestyle_poet
scope:courtly_lover = {
add_opinion = {
target = root
opinion = 10
modifier = flattered_opinion
}
}
ai_chance = { #energetic, honorable and compassionate AI goes for this option
base = 10
ai_value_modifier = {
ai_energy = 0.5
ai_compassion = 0.6
ai_honor = 0.5
ai_rationality = -0.5
}
}
stress_impact = {
chaste = major_stress_impact_gain
content = minor_stress_impact_gain
arrogant = major_stress_impact_gain
callous = major_stress_impact_gain
}
}
option = { #Feel something
name = fp2_yearly.8005.b
ai_chance = { #humble AI goes for this option
base = 10
ai_value_modifier = {
ai_compassion = 0.5
ai_rationality = 0.5
ai_honor = 0.5
}
}
stress_impact = {
greedy = minor_stress_impact_gain
impatient = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
}
add_character_modifier = {
modifier = felt_something_modifier
years = 10
}
}
option = { #Sponsor more musicians
name = fp2_yearly.8005.c
remove_treasury_or_gold = medium_treasury_or_gold_value
add_character_modifier = {
modifier = investing_in_music_modifier
years = 25
}
ai_chance = { #energetic, constructive AI goes for this option
base = 10
ai_value_modifier = {
ai_energy = 0.5
ai_compassion = 0.5
ai_rationality = 0.5
ai_greed = -1
}
}
stress_impact = {
content = minor_stress_impact_gain
greedy = minor_stress_impact_gain
lazy = minor_stress_impact_gain
}
}
option = { #Chop down the damned tree
name = fp2_yearly.8005.d
add_character_modifier = {
modifier = aversion_to_joy_modifier
years = 20
}
scope:tree_capital = {
add_county_modifier = {
modifier = great_pine_chopped_down_county_modifier
years = 10
}
}
ai_chance = { #vengeful and uncompassionate AI goes for this option
base = 10
ai_value_modifier = {
ai_vengefulness = 0.7
ai_zeal = 0.3
ai_compassion = -1
ai_rationality = -0.5
}
}
stress_impact = {
base = minor_stress_impact_gain
calm = medium_stress_impact_gain
compassionate = medium_stress_impact_gain
cynical = minor_stress_impact_gain
humble = minor_stress_impact_gain
arrogant = medium_stress_impact_loss
callous = medium_stress_impact_loss
vengeful = medium_stress_impact_loss
}
}
}
###################################
# Saqaliba Settlers
# by Ola Jentzsch
###################################
scripted_trigger fp2_yearly.8006_province_trigger = {
has_holding_type = city_holding
barony = {
is_under_holy_order_lease = no
is_capital_barony = no
}
}
scripted_trigger fp2_yearly.8006_ruler_trigger = {
has_religion = religion:islam_religion
is_ai = yes
}
fp2_yearly.8006 = {
type = character_event
title = fp2_yearly.8006.t
desc = fp2_yearly.8006.desc
theme = crown
left_portrait = {
character = root
animation = personality_rational
}
right_portrait = {
character = scope:saqaliba_leader
animation = happiness
}
lower_left_portrait = {
character = scope:former_master
}
trigger = {
is_ai = no
has_fp2_dlc_trigger = yes
is_landed = yes
any_neighboring_top_liege_realm_owner = { fp2_yearly.8006_ruler_trigger = yes }
any_held_county = { any_county_province = { fp2_yearly.8006_province_trigger = yes } }
OR = { #implemented for FP3 to prevent triggering in Iran
capital_province = { geographical_region = world_europe_west_iberia }
culture = { has_cultural_pillar = heritage_iberian }
}
}
cooldown = { years = 50 }
immediate = {
random_neighboring_top_liege_realm_owner = {
limit = { fp2_yearly.8006_ruler_trigger = yes }
save_scope_as = former_master
}
random_held_county = {
limit = {
any_county_province = { fp2_yearly.8006_province_trigger = yes }
}
save_scope_as = saqaliba_county #for use in the claim the former_master might get
}
scope:saqaliba_county = {
random_county_province = {
limit = { fp2_yearly.8006_province_trigger = yes }
barony = { save_scope_as = saqaliba_barony }
}
}
create_character = { #this is the saqaliba refugee's leader
age = { 20 50 }
location = root.capital_province
gender_female_chance = 50
random_traits_list = {
count = 3
ambitious = {}
brave = {}
stubborn = {}
honest = {}
cynical = {}
}
random_traits_list = { #something fun to give them character!
count = 2
beauty_good_3 = {}
overseer = {}
shrewd = {}
scarred = {}
}
culture = culture:russian
faith = scope:former_master.faith
dynasty = none
save_scope_as = saqaliba_leader
after_creation = {
if = {
limit = { is_female = no }
add_trait = beardless_eunuch
}
}
}
hidden_effect = {
scope:saqaliba_leader = {
add_character_modifier = former_slave_npc_modifier
}
}
}
option = { #Give them what they want
name = fp2_yearly.8006.a
scope:saqaliba_leader = {
add_opinion = {
target = root
opinion = 20
modifier = received_title_barony
}
}
create_title_and_vassal_change = {
type = granted
save_scope_as = change
add_claim_on_loss = yes
}
scope:saqaliba_barony = {
change_title_holder = {
holder = scope:saqaliba_leader
change = scope:change
}
}
resolve_title_and_vassal_change = scope:change
scope:former_master = {
if = {
limit = { has_relation_rival = root }
custom_tooltip = {
text = furious_rival_8006.desc
hidden_effect = { add_unpressed_claim = scope:saqaliba_county }
}
}
else = {
progress_towards_rival_effect = {
REASON = rival_saqalibas_refuge
CHARACTER = root
OPINION = 0
}
}
}
scope:saqaliba_county = {
add_county_modifier = {
modifier = saqaliba_settlers_county_modifier
years = 30
}
}
ai_chance = { #ambitious or compassionate AI goes for this option
base = 10
ai_value_modifier = {
ai_boldness = 0.8
ai_greed = 0.5
ai_honor = 0.6
ai_compassion = 0.6
}
}
stress_impact = {
content = minor_stress_impact_gain
craven = minor_stress_impact_gain
paranoid = minor_stress_impact_gain
callous = minor_stress_impact_gain
sadistic = minor_stress_impact_gain
}
}
option = { #You can stay, but your friends must go elsewhere
name = fp2_yearly.8006.b
flavor = fp2_yearly.8006.flavor.b.tt
scope:former_master = {
add_opinion = {
target = root
opinion = -10
modifier = harbored_a_fugitive_opinion
}
}
add_courtier = scope:saqaliba_leader
ai_chance = { #cautious AI goes for this option
base = 10
ai_value_modifier = {
ai_boldness = -0.5
ai_rationality = 0.5
ai_compassion = -0.3
}
}
stress_impact = {
ambitious = minor_stress_impact_gain
compassionate = minor_stress_impact_gain
generous = major_stress_impact_gain
}
}
option = { #Send them back to their former master
name = fp2_yearly.8006.c
flavor = fp2_yearly.8006.flavor.c.tt
if = {
limit = {
has_any_good_relationship_with_character_trigger = { CHARACTER = scope:former_master }
}
add_character_modifier = {
modifier = obligations_fulfilled_modifier
years = 10
}
}
else = {
add_hook = {
type = favor_hook
target = scope:former_master
}
}
#Flag that scope:saqaliba_leader should leave.
save_scope_as = disappear_saqaliba
ai_chance = { #cruel AI go for this option
base = 10
ai_value_modifier = {
ai_compassion = -1
ai_rationality = 0.5
ai_greed = 0.5
ai_vengefulness = 0.5
}
}
stress_impact = {
ambitious = minor_stress_impact_gain
compassionate = massive_stress_impact_gain
generous = massive_stress_impact_gain
}
}
after = {
if = {
limit = { exists = scope:disappear_saqaliba }
scope:saqaliba_leader = { silent_disappearance_effect = yes }
}
}
}
###################################
# Conversos and Jewish events
# By James Beaumont
###################################
###################################
# Toledan Nights
# By James Beaumont
###################################
fp2_yearly.9005 = {
type = character_event
title = fp2_james.0004.t
desc = fp2_james.0004.desc
theme = secret
left_portrait = {
character = root
animation = paranoia
}
right_portrait = {
character = scope:fp2_james_0004_murder_baron
animation = scheme
}
trigger = {
any_sub_realm_county = { # Are any of my realm's counties a hostile faith that is not governed by someone with protected religious rights?
is_unprotected_hostile_faith = yes
is_landless_type_title = no
}
OR = { # You have to be a bit of a monster to even consider this
has_trait = zealous
has_trait = sadistic
has_trait = callous
dread >= medium_dread
}
}
immediate = {
create_character = {
template = toledan_night_character
location = root.capital_province
save_scope_as = fp2_james_0004_murder_baron
}
random_sub_realm_county = {
limit = {
is_unprotected_hostile_faith = yes
is_landless_type_title = no
}
save_scope_as = fp2_james_0004_place_of_murder
# If the holder is of that same hostile faith, murder them!
if = {
limit = {
faith = holder.faith
holder = {
is_ai = yes
}
}
holder = { save_scope_as = fp2_james_0004_murder_victim }
}
}
}
option = { # Go ahead and have some people murdered
name = fp2_james.0004.a
create_title_and_vassal_change = {
type = granted
save_scope_as = change
add_claim_on_loss = no
}
scope:fp2_james_0004_place_of_murder = {
change_title_holder = {
holder = scope:fp2_james_0004_murder_baron
change = scope:change
}
}
resolve_title_and_vassal_change = scope:change
hidden_effect = {
add_opinion = {
target = scope:fp2_james_0004_murder_baron
modifier = received_title_county
}
}
scope:fp2_james_0004_place_of_murder = {
change_county_control = major_county_control_gain
set_county_faith = root.faith
add_county_modifier = {
modifier = fp2_toledo_nights_modifier
years = 10
}
}
every_sub_realm_county = {
limit = {
faith = scope:fp2_james_0004_place_of_murder.faith
}
add_county_modifier = fp2_toledo_nights_fallout_modifier
}
add_hook = {
type = favor_hook
target = scope:fp2_james_0004_murder_baron
}
stress_impact = {
just = massive_stress_impact_gain
compassionate = major_stress_impact_gain
forgiving = major_stress_impact_gain
sadistic = minor_stress_impact_loss
callous = minor_stress_impact_loss
paranoid = minor_stress_impact_loss
zealous = minor_stress_impact_loss
}
ai_chance = {
base = 10
modifier = {
factor = 0
NOR = {
has_trait = zealous
has_trait = sadistic
has_trait = callous
}
}
}
}
option = {
name = fp2_james.0004.b
scope:fp2_james_0004_murder_baron = { silent_disappearance_effect = yes }
ai_chance = {
base = 10
modifier = {
factor = 0.5
OR = {
has_trait = zealous
has_trait = sadistic
has_trait = callous
}
}
}
}
}
###################################################
# Local bishop mad his church faces the wrong way #
# By James Beaumont #
###################################################
fp2_yearly.9006 = {
type = character_event
title = fp2_james.0005.t
desc = {
desc = fp2_james.0005.desc.intro
first_valid = {
triggered_desc = {
trigger = {
OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion }
}
desc = fp2_james.0005.desc.christian
}
triggered_desc = {
trigger = {
religion = religion:islam_religion
}
desc = fp2_james.0005.desc.muslim
}
}
desc = fp2_james.005.desc.outro
}
theme = faith
left_portrait = {
character = root
animation = personality_honorable
}
right_portrait = {
character = scope:fp2_james_angry_priest
animation = personality_zealous
}
trigger = {
any_sub_realm_barony = { # There's a church held by a right-faith bishop in a wrong-faith province
holder != root # Ensure it's not a lay-clergy player
holder.faith = root.faith
holder.capital_province = { has_holding_type = church_holding }
is_unprotected_hostile_faith = yes
OR = { # Mosque is now church or church is now mosque
AND = {
OR = { root.religion = religion:eastern_orthodox_religion root.religion = religion:catholic_religion root.religion = religion:protestant_religion }
faith = { religion = religion:islam_religion }
}
AND = {
root.religion = religion:islam_religion
faith = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } }
}
}
}
}
immediate = {
random_sub_realm_barony = {
limit = {
holder != root
holder.faith = root.faith
holder.capital_province = { has_holding_type = church_holding }
is_unprotected_hostile_faith = yes
OR = {
AND = {
OR = { root.religion = religion:eastern_orthodox_religion root.religion = religion:catholic_religion root.religion = religion:protestant_religion }
faith = { religion = religion:islam_religion }
}
AND = {
root.religion = religion:islam_religion
faith = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } }
}
}
}
save_scope_as = fp2_james_wrong_temple
holder = { save_scope_as = fp2_james_angry_priest }
}
}
option = { # Change the orientation of the church
name = fp2_james.0005.a
remove_treasury_or_gold = medium_treasury_or_gold_value
add_piety = medium_piety_gain
scope:fp2_james_wrong_temple.county ={
set_county_faith = root.faith
add_county_modifier = {
modifier = fp2_correctly_facing_church
years = 15
}
}
reverse_add_opinion = {
target = scope:fp2_james_angry_priest
modifier = grateful_opinion
opinion = 20
}
stress_impact = {
greedy = medium_stress_impact_gain
zealous = minor_stress_impact_loss
}
ai_chance = {
base = 10
modifier = {
factor = 0
has_trait = greedy
}
}
}
option = { # Tell the baron it's not worth the cost are you insane
name = fp2_james.0005.b
add_piety = minor_piety_loss
reverse_add_opinion = {
target = scope:fp2_james_angry_priest
modifier = hate_opinion
opinion = -25
}
stress_impact = {
zealous = medium_stress_impact_gain
}
ai_chance = {
base = 10
modifier = {
factor = 0
has_trait = zealous
}
}
}
}