so much event updating

This commit is contained in:
trashmasteruni 2026-04-25 13:36:44 +02:00
parent c4b6d9bdeb
commit 811167944e
135 changed files with 4885 additions and 297691 deletions

View file

@ -1,552 +0,0 @@
namespace = fp2_struggle
######################################
# EL CID'S BIZARRE ADVENTURE SYSTEM
# By Hugo Cortell
######################################
fp2_struggle.2045 = {
hidden = yes
trigger = {
is_landless_adventurer = no
}
immediate = {
if = { # Startup changes (give the cid his full nickname when he starts adventuring)
limit = { NOT = { has_character_flag = has_already_begun_travelling } }
remove_nickname = yes
give_nickname = nick_the_cid_campeador
add_character_flag = has_already_begun_travelling # Prevents yearly pulse from stacking up requests
add_character_flag = blocked_from_leaving # Prevents el cid from vacationing in far away lands
}
if = {
limit = { NOT = { has_character_flag = finished_el_cids_travels } } # In case several requests for the event are stacked up
if = { # Being a guest is used as a boolean to check if the character is in an "evaluation" phase or already in a court. DO NOT USE THE GUEST SYSTEM FOR THIS.
limit = {
OR = {
is_pool_guest = yes
is_pool_character = yes
is_foreign_court_guest = yes
}
}
random_county_in_region = { # Naturally biased in favor of larger states
limit = { exists = holder.liege }
weight = {
base = 1
modifier = {
add = 10
holder.liege = { has_relation_friend = root }
}
modifier = {
add = 30
holder.liege = { has_relation_best_friend = root }
}
compare_modifier = {
value = holder.prestige_level
multiplier = 1.5
}
}
region = world_europe_west_iberia # Locks el cid's forced travels to iberia
holder.liege = { trigger_event = fp2_struggle.2051 }
}
}
else = {
if = {
limit = { exists = liege }
liege = { trigger_event = fp2_struggle.2050 } # This is you, you get the event, while el cid gets the "system event"
}
else = {
employer = { trigger_event = fp2_struggle.2050 } # ditto
}
}
}
}
}
#############################################################
# Unease About El Sidi
# By The Content Design Team (And scripted by Hugo Cortell)
#############################################################
scripted_trigger el_cid_too_important_trigger = {
OR = {
any_extended_family_member = { this = scope:fp2_2050_el_cid }
scope:fp2_2050_el_cid = { is_vassal_of = ROOT }
has_relation_best_friend = scope:fp2_2050_el_cid
is_spouse_of = scope:fp2_2050_el_cid
}
}
fp2_struggle.2050 = {
type = character_event
title = {
random_valid = {
triggered_desc = { # Muslim Titles
trigger = { religion = religion:islam_religion }
desc = {
random_valid = {
desc = fp2_struggle.2050.t_muslim_one
desc = fp2_struggle.2050.t_muslim_two
desc = fp2_struggle.2050.t_muslim_three
desc = fp2_struggle.2050.t_muslim_four
}
}
}
triggered_desc = { # Generic (Christian, nickname-like) Titles
trigger = { NOT = { religion = religion:islam_religion } }
desc = {
random_valid = {
desc = fp2_struggle.2050.t_generic_one
desc = fp2_struggle.2050.t_generic_two
desc = fp2_struggle.2050.t_generic_three
desc = fp2_struggle.2050.t_generic_four
}
}
}
}
}
desc = { # See immediate for flags
first_valid = {
triggered_desc = {
trigger = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:generic_court }
desc = fp2_struggle.2050.desc_court
}
triggered_desc = {
trigger = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:jelly_knights }
desc = fp2_struggle.2050.desc_knights
}
triggered_desc = {
trigger = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:upset_nobles }
desc = fp2_struggle.2050.desc_nobles
}
triggered_desc = {
trigger = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:faith_discomfort }
desc = fp2_struggle.2050.desc_faith
}
desc = board_games.0001.desc.i_am_winning.trait.rowdy # Theoretically impossible to trigger, but if something breaks, players will see this and report it for sure
}
}
theme = corruption
override_background = { reference = throne_room }
left_portrait = {
character = root
animation = personality_rational
}
right_portrait = {
character = scope:fp2_2050_el_cid
animation = throne_room_two_handed_passive_1
}
immediate = {
character:107590 = { save_scope_as = fp2_2050_el_cid }
random_list = { # Spin the wheel to decide who and why wishes ill on el cid
10 = { # Generic "the court thinks he is bad"
save_scope_value_as = {
name = fp2_2050_reason_for_kicking_out_el_cid
value = flag:generic_court
}
}
10 = { # Your knights are all sore losers
modifier = {
add = 30
any_knight = {
OR = {
has_relation_rival = scope:fp2_2050_el_cid
has_relation_nemesis = scope:fp2_2050_el_cid
}
}
}
save_scope_value_as = {
name = fp2_2050_reason_for_kicking_out_el_cid
value = flag:jelly_knights
}
}
10 = { # Nobles dislike upstart poor people
modifier = {
add = 30
any_vassal = {
OR = {
has_relation_rival = scope:fp2_2050_el_cid
has_relation_nemesis = scope:fp2_2050_el_cid
}
}
}
save_scope_value_as = {
name = fp2_2050_reason_for_kicking_out_el_cid
value = flag:upset_nobles
}
}
10 = { # Generic faith concerns from your bishop
save_scope_value_as = {
name = fp2_2050_reason_for_kicking_out_el_cid
value = flag:faith_discomfort
}
}
}
}
option = { # Family, Friend or Vassal
name = fp2_struggle.2050.a
trigger = { el_cid_too_important_trigger = yes }
hidden_effect = {
scope:fp2_2050_el_cid = { add_character_flag = finished_el_cids_travels } # At this point we can imagine that this character has settled, this stops the cycle to prevent spam
}
custom_tooltip = fp2_struggle.2050.a.serve_tooltip
send_interface_toast = {
type = event_toast_effect_good
title = fp2_struggle.2050.a.notif.t
right_icon = scope:fp2_2050_el_cid
reverse_add_opinion = {
target = scope:fp2_2050_el_cid
modifier = stood_by_me_opinion
opinion = 10
years = 20
}
}
stress_impact = {
fickle = minor_stress_impact_gain
}
ai_chance = { base = 1000 }
}
option = { # No, I stand by my knight and he can stay!
name = fp2_struggle.2050.b
trigger = {
is_ai = no
NOT = { scope:fp2_2050_el_cid = { is_vassal_of = ROOT } }
}
custom_tooltip = fp2_struggle.2050.a.serve_tooltip
send_interface_toast = {
type = event_toast_effect_good
title = fp2_struggle.2050.a.notif.t
right_icon = scope:fp2_2050_el_cid
if = {
limit = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:generic_court }
add_character_modifier = {
modifier = fp2_kept_accused_traitor_in_court_modifier
years = 10
}
}
else_if = {
limit = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:jelly_knights }
add_character_modifier = {
modifier = fp2_kept_op_knight_in_court_modifier
years = 10
}
}
else_if = {
limit = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:upset_nobles }
add_character_modifier = {
modifier = fp2_kept_upstart_knight_in_court_modifier
years = 10
}
}
else_if = {
limit = { scope:fp2_2050_reason_for_kicking_out_el_cid = flag:faith_discomfort }
add_character_modifier = {
modifier = fp2_kept_godless_mercenary_in_court_modifier
years = 10
}
}
reverse_add_opinion = {
target = scope:fp2_2050_el_cid
modifier = stood_by_me_opinion
opinion = 10
years = 20
}
scope:fp2_2050_el_cid = {
trigger_event = {
id = fp2_struggle.2045
years = { 4 12 }
}
}
}
stress_impact = {
fickle = minor_stress_impact_gain
}
}
option = { # Okay, please do not give me malus
name = fp2_struggle.2050.c
trigger = {
NOT = { scope:fp2_2050_el_cid = { is_vassal_of = ROOT } }
}
send_interface_toast = {
type = event_toast_effect_bad
title = fp2_struggle.2051.t
right_icon = scope:fp2_2050_el_cid
scope:fp2_2050_el_cid = {
move_to_pool = yes
trigger_event = {
id = fp2_struggle.2045
days = { 1 4 }
}
}
}
stress_impact = {
generous = minor_stress_impact_gain
}
ai_chance = { base = 1 }
}
option = { # Vanish el cid, even though he is your vassal (suggested by Max)
name = fp2_struggle.2050.c
trigger = {
is_ai = no
scope:fp2_2050_el_cid = { is_vassal_of = ROOT }
}
# The only reason to ever select this option is to gain those "repossessed" lands, but it is very mean.
# It will give you tyranny, but it won't directly anger your vassals as they are *narratively* the reason why this is happening.
# The primary reason this exists is to prevent ludonarrative dissonance with the event's description. It is less resource intensive than making new loc.
# We set the tyranny and opinion loss based on how much was lost (Placed outside the toast to prevent clutter)
add_tyranny = {
value = medium_tyranny_gain
multiply = scope:fp2_2050_el_cid.primary_title.tier
}
if = {
limit = { can_set_relation_rival_trigger = { CHARACTER = scope:fp2_2050_el_cid } }
set_relation_rival = scope:fp2_2050_el_cid
}
if = { # This is not out of order, it is WAD. If can_set_relation_rival_trigger fails, you just lose a friend but not gain a rival.
limit = { has_relation_friend = scope:fp2_2050_el_cid }
remove_relation_friend = scope:fp2_2050_el_cid
}
if = {
limit = { scope:fp2_2050_el_cid.primary_title.tier < tier_kingdom }
scope:fp2_2050_el_cid = {
add_opinion = {
modifier = betrayed_me_opinion
target = root
opinion = -100
}
}
}
else = {
scope:fp2_2050_el_cid = {
add_opinion = {
modifier = betrayed_me_opinion
target = root
opinion = -200
}
}
}
create_title_and_vassal_change = { # This tells the engine to start paying closer attention to title changes (and not butt in)
type = revoked
save_scope_as = change
}
scope:fp2_2050_el_cid = {
every_held_title = {
change_title_holder = {
holder = root
change = scope:change
}
}
}
resolve_title_and_vassal_change = scope:change # Tells the engine that it is safe to go about its buisness with titles
show_as_tooltip = { scope:fp2_2050_el_cid = { move_to_pool = yes } } # Just jomini things~
hidden_effect = { # Prevents rendering of toast on option highlight
send_interface_toast = {
type = event_toast_effect_bad
title = fp2_struggle.2051.t
right_icon = scope:fp2_2050_el_cid
show_as_tooltip = { # Condensed version to fit into the toast
if = {
limit = { scope:fp2_2050_el_cid.primary_title.tier > tier_duchy }
scope:fp2_2050_el_cid = {
if = {
limit = { has_relation_nemesis = ROOT }
set_relation_nemesis = ROOT
}
add_opinion = {
modifier = betrayed_me_opinion
target = root
opinion = -200
}
}
}
else = {
if = {
limit = { has_relation_rival = ROOT }
set_relation_rival = ROOT
}
add_opinion = {
modifier = betrayed_me_opinion
target = root
opinion = -100
}
}
}
# Standard stuff
scope:fp2_2050_el_cid = {
move_to_pool = yes
trigger_event = {
id = fp2_struggle.2045
days = { 1 4 }
}
}
}
}
stress_impact = { # This kind of action comes with quite a bit of stress
generous = minor_stress_impact_gain
brave = medium_stress_impact_gain
forgiving = major_stress_impact_gain
gregarious = medium_stress_impact_gain
honest = minor_stress_impact_gain
humble = medium_stress_impact_gain
just = major_stress_impact_gain
trusting = medium_stress_impact_gain
compassionate = major_stress_impact_gain
august = minor_stress_impact_gain
gallant = medium_stress_impact_gain
}
}
}
############################################################
# El Cid Arrives At Your Court
# By The Content Design Team (And scripted by Hugo Cortell)
############################################################
fp2_struggle.2051 = {
type = character_event
title = fp2_struggle.2051.t
desc = fp2_struggle.2051.desc
theme = vassal
override_background = { reference = throne_room }
left_portrait = {
character = root
animation = personality_rational
}
right_portrait = {
character = scope:fp2_2050_el_cid
animation = throne_room_one_handed_passive_1
}
immediate = {
character:107590 = { save_scope_as = fp2_2050_el_cid }
add_visiting_courtier = scope:fp2_2050_el_cid
}
option = { # You will enjoy a high position at my court!
name = fp2_struggle.2051.a
send_interface_toast = {
type = event_toast_effect_good
title = fp2_struggle.2050.a.notif.t
right_icon = scope:fp2_2050_el_cid
pay_treasury_or_gold = {
target = scope:fp2_2050_el_cid
value = medium_treasury_or_gold_value
}
add_courtier = scope:fp2_2050_el_cid
}
if = {
limit = { exists = cp:councillor_marshal }
fire_councillor = cp:councillor_marshal
}
assign_councillor_type = {
type = councillor_marshal
target = scope:fp2_2050_el_cid
}
scope:fp2_2050_el_cid = {
add_opinion = {
target = root
modifier = hired_me_opinion
opinion = 20
}
add_opinion = {
target = root
modifier = given_luxuries_opinion
opinion = 10
}
trigger_event = {
id = fp2_struggle.2045
years = { 4 12 }
}
}
trigger = { is_ai = no }
}
option = { # Welcome or whatever
name = fp2_struggle.2051.b
send_interface_toast = {
type = event_toast_effect_good
title = fp2_struggle.2050.a.notif.t
right_icon = scope:fp2_2050_el_cid
pay_treasury_or_gold = {
target = scope:fp2_2050_el_cid
value = minor_treasury_or_gold_value
}
add_courtier = scope:fp2_2050_el_cid
}
scope:fp2_2050_el_cid = {
trigger_event = {
id = fp2_struggle.2045
years = { 4 10 }
}
}
ai_chance = { base = 65 }
}
option = { # Away with you vile beggar!
name = fp2_struggle.2051.c
send_interface_toast = {
type = event_toast_effect_bad
title = fp2_struggle.2051.t
right_icon = scope:fp2_2050_el_cid
custom_tooltip = fp2_struggle.2050.c.notif
scope:fp2_2050_el_cid = {
move_to_pool = yes
trigger_event = {
id = fp2_struggle.2045
days = { 1 4 }
}
}
}
ai_chance = { base = 45 }
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -554,7 +554,7 @@ fp2_struggle.0900 = { # Hostility
immediate = {
# Add all involved rulers to a list, for ping event
play_music_cue = "mx_Struggle_ending_hostility"
fp2_stuggle_ending_involved_list_effect = yes
fp2_struggle_ending_involved_list_effect = yes
give_nickname = nick_the_conquistador
dynasty = { add_dynasty_prestige = 10000 }
}
@ -838,7 +838,7 @@ fp2_struggle.0901 = { # Compromise
value = yes
}
# Add all involved rulers to a list, for ping event
fp2_stuggle_ending_involved_list_effect = yes
fp2_struggle_ending_involved_list_effect = yes
}
# Ok
@ -993,7 +993,7 @@ fp2_struggle.0902 = { # Conciliation
value = yes
}
# Add all involved rulers to a list, for ping event
fp2_stuggle_ending_involved_list_effect = yes
fp2_struggle_ending_involved_list_effect = yes
# Add all involved cultures with counties to a list, for marriage and holy war checks
fp2_struggle_ending_culture_list_effect = yes
@ -1763,7 +1763,7 @@ fp2_struggle.1001 = {
fp2_struggle.1001_weird_option_traits = no
trait_is_shunned_or_criminal_in_faith_trigger = {
FAITH = faith
TRAIT = adulterer
TRAIT = trait:adulterer
GENDER_CHARACTER = dummy_female
}
}
@ -2054,6 +2054,7 @@ scripted_trigger neighboring_ruler_proper_culture_trigger = {
culture = culture:baranis
culture = culture:butr
culture = culture:levantine
culture = culture:sephardi
}
}
@ -4093,7 +4094,10 @@ fp2_struggle.1020 = {
every_close_or_extended_family_member = {
custom = all_family_members
if = {
limit = { is_ai = yes }
limit = {
is_ai = yes
this != root
}
add_opinion = {
target = root
opinion = -20
@ -6178,8 +6182,8 @@ fp2_struggle.2003 = {
add_prestige = medium_prestige_loss
scope:fp2_2003_county_town = {
add_county_modifier = {
scope:fp2_2003_county_town.title_province = {
add_province_modifier = {
modifier = recently_looted_modifier
years = 5
}
@ -6312,9 +6316,11 @@ fp2_struggle.2003 = {
modifier = fp2_local_garrison_slaughtered_modifier
years = 5
}
add_county_modifier = {
modifier = recently_looted_modifier
years = 5
title_province = {
add_province_modifier = {
modifier = recently_looted_modifier
years = 5
}
}
}
}
@ -6331,9 +6337,11 @@ fp2_struggle.2003 = {
years = 5
}
hidden_effect = {
add_county_modifier = {
modifier = recently_looted_modifier
years = 5
title_province = {
add_province_modifier = {
modifier = recently_looted_modifier
years = 5
}
}
}
}
@ -6468,9 +6476,11 @@ fp2_struggle.2003 = {
title = fp2_struggle.2003.e.notif.a
scope:fp2_2003_county_town = {
add_county_modifier = {
modifier = recently_looted_modifier
years = 5
title_province = {
add_province_modifier = {
modifier = recently_looted_modifier
years = 5
}
}
}
}
@ -7360,13 +7370,13 @@ fp2_struggle.2006 = {
if = {
limit = {
trait_is_criminal_in_faith_trigger = {
TRAIT = witch
TRAIT = trait:witch
GENDER_CHARACTER = scope:fp2_2006_vassal_in_crisis
FAITH = scope:fp2_2006_vassal_in_crisis.faith
}
NOT = {
trait_is_criminal_in_faith_trigger = {
TRAIT = witch
TRAIT = trait:witch
GENDER_CHARACTER = scope:fp2_2006_vassal_in_crisis
FAITH = scope:fp2_2006_foreign_faith
}
@ -10128,12 +10138,14 @@ fp2_struggle.2014 = {
any_character_artifact = {
NOT = { has_variable = historical_unique_artifact }
artifact_high_rarity_trigger = yes
artifact_can_be_gift_to_trigger = { RECIPIENT = root }
}
}
random_character_artifact = {
limit = {
NOT = { has_variable = historical_unique_artifact }
artifact_high_rarity_trigger = yes
artifact_can_be_gift_to_trigger = { RECIPIENT = root }
}
set_owner = root # If it breaks, use set_artifact_owner
}
@ -10198,12 +10210,14 @@ fp2_struggle.2014 = {
any_character_artifact = {
NOT = { has_variable = historical_unique_artifact }
artifact_low_rarity_trigger = yes
artifact_can_be_gift_to_trigger = { RECIPIENT = root }
}
}
random_character_artifact = {
limit = {
NOT = { has_variable = historical_unique_artifact }
artifact_low_rarity_trigger = yes
artifact_can_be_gift_to_trigger = { RECIPIENT = root }
}
set_owner = root
}

View file

@ -5,7 +5,7 @@
## 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
## 1004 - 1004 The Hawk of Quraysh 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
@ -364,7 +364,7 @@ fp2_yearly.1003 = {
}
###################################
# The Hawk of Quarysh
# The Hawk of Quraysh
# By Daniel Moore
###################################
fp2_yearly.1004 = {
@ -429,7 +429,7 @@ fp2_yearly.1004 = {
option = { #How he inspired soldiers
name = fp2_yearly.1004.a
add_character_modifier = {
modifier = fp2_hawk_of_quarysh_martial_modifier
modifier = fp2_hawk_of_quraysh_martial_modifier
years = 10
}
@ -445,7 +445,7 @@ fp2_yearly.1004 = {
option = { #How diplomatic he was
name = fp2_yearly.1004.b
add_character_modifier = {
modifier = fp2_hawk_of_quarysh_diplomacy_modifier
modifier = fp2_hawk_of_quraysh_diplomacy_modifier
years = 10
}
@ -5915,6 +5915,709 @@ fp2_yearly.8006 = {
# Conversos and Jewish events
# By James Beaumont
###################################
scripted_trigger valid_grantable_county_barony = {
title_province = {
geographical_region = world_europe_west_iberia
}
title_province = { has_building_or_higher = common_tradeport_01 }
is_holy_site = no
county.holder = {
any_held_title = { # Make sure it isn't revoking their last title
title_tier = county
count >= 2
}
}
}
fp2_yearly.9000 = {
type = character_event
title = fp2_james.0001.t
desc = fp2_james.0001.desc
theme = secret
override_background = {
reference = docks
}
left_portrait = {
character = root
animation = personality_rational
}
right_portrait = {
character = scope:fp2_james_0001_jewish_trader
animation = personality_bold
}
trigger = {
NOT = { root.religion = religion:judaism_religion }
highest_held_title_tier >= tier_county
any_sub_realm_barony = {
valid_grantable_county_barony = yes
}
}
immediate = {
random_sub_realm_barony = {
limit = {
valid_grantable_county_barony = yes
}
save_scope_as = fp2_james_0001_thriving_community
}
create_character = {
template = spanish_jewish_merchant_character
location = root.capital_province
save_scope_as = fp2_james_0001_jewish_trader
}
}
option = {
name = fp2_james.0001.a
scope:fp2_james_0001_thriving_community.county = {
add_county_modifier = {
modifier = fp2_jewish_community_denied_modifier
years = 10
}
}
scope:fp2_james_0001_jewish_trader.culture = {
change_cultural_acceptance = {
target = root.culture
value = low_negative_culture_acceptance
desc = cultural_acceptance_gain_conversos_tolerance
}
}
stress_impact = {
callous = minor_stress_impact_loss
greedy = minor_stress_impact_gain
compassionate = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = -0.5
ai_greed = -0.5
ai_zeal = 1.5
}
}
}
option = {
name = fp2_james.0001.b
trigger = {
NOT = { # Prevent all of Iberia from converting
any_county_in_region = {
region = world_europe_west_iberia
culture = culture:sephardi
}
}
}
create_title_and_vassal_change = {
type = granted
save_scope_as = change
add_claim_on_loss = no
}
scope:fp2_james_0001_thriving_community.county = {
change_title_holder = {
holder = scope:fp2_james_0001_jewish_trader
change = scope:change
}
}
resolve_title_and_vassal_change = scope:change
hidden_effect = {
add_opinion = {
target = scope:fp2_james_0001_jewish_trader
modifier = received_title_county
}
}
scope:fp2_james_0001_thriving_community.county = {
add_county_modifier = {
modifier = fp2_thriving_jewish_community_modifier
years = 10
}
set_county_culture = scope:fp2_james_0001_jewish_trader.culture
set_county_faith = scope:fp2_james_0001_jewish_trader.faith
}
scope:fp2_james_0001_jewish_trader.culture = {
change_cultural_acceptance = {
target = root.culture
value = medium_positive_culture_acceptance
desc = cultural_acceptance_gain_conversos_tolerance
}
}
stress_impact = {
compassionate = minor_stress_impact_loss
greedy = minor_stress_impact_loss
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = 1.5
ai_greed = 1.5
ai_zeal = -0.5
}
}
}
option = {
name = fp2_james.0001.c
scope:fp2_james_0001_thriving_community.county = {
add_county_modifier = {
modifier = fp2_thriving_jewish_community_modifier
years = 10
}
}
scope:fp2_james_0001_jewish_trader.culture = {
change_cultural_acceptance = {
target = root.culture
value = low_positive_culture_acceptance
desc = cultural_acceptance_gain_conversos_tolerance
}
}
stress_impact = {
compassionate = minor_stress_impact_loss
greedy = minor_stress_impact_loss
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = 1.5
ai_greed = 1.5
ai_zeal = -0.5
}
}
}
}
scripted_effect fp2_polish_should_heritage_israelite_get_upset_effect = {
if = {
limit = {
scope:fp2_james_0002_conversos_character = { culture = { has_cultural_pillar = heritage_israelite } }
}
scope:fp2_james_0002_conversos_character.culture = {
change_cultural_acceptance = {
target = root.culture
value = low_negative_culture_acceptance
desc = cultural_acceptance_loss_conversos_tolerance
}
}
}
}
# Suspect Conversos of secretly praciticing Judaism
fp2_yearly.9001 = {
type = character_event
title = fp2_james.0002.t
desc = fp2_james.0002.desc
theme = secret
override_background = {
reference = temple
}
left_portrait = {
character = root
animation = paranoia
}
right_portrait = {
character = scope:fp2_james_0002_conversos_character
animation = personality_cynical
}
trigger = {
root.religion = religion:christianity_religion
is_landed = yes
NOT = { faith = faith:conversos }
}
weight_multiplier = {
base = 1
modifier = {
add = 1
any_character_struggle = {
is_struggle_type = iberian_struggle
is_struggle_phase = struggle_iberia_phase_hostility
}
}
}
immediate = {
every_sub_realm_county = {
limit = {
faith = faith:conversos
holder = {
liege = { # Don't convert player-Conversos territory
OR = {
is_ai = yes
NOT = { faith = faith:conversos }
}
}
}
}
add_to_list = fp2_james_0002_conversos_county
}
# Try to find a Conversos vassal if one exists
if = {
limit = {
any_vassal = {
faith = faith:conversos
is_available_ai = yes
}
}
random_vassal = {
limit = {
faith = faith:conversos
is_available_ai = yes
}
save_scope_as = fp2_james_0002_conversos_character
}
}
# Otherwise find a pool character
else_if = {
limit = {
any_pool_character = {
province = root.capital_province
faith = faith:conversos
}
}
random_pool_character = {
province = root.capital_province
limit = {
faith = faith:conversos
}
save_scope_as = fp2_james_0002_conversos_character
}
}
# Otherwise create one
else = {
create_character = {
template = spanish_conversos_character
location = root.capital_province
save_scope_as = fp2_james_0002_conversos_character
}
}
scope:fp2_james_0002_conversos_character = {
random_list = {
50 = {
add_character_flag = is_secretly_jewish_flag
}
50 = {
}
}
}
# Get a religion for them to potentially be secretly praciticing
religion:judaism_religion = {
random_faith = {
limit = { is_mainstream_jewish_faith = yes }
save_scope_as = fp2_james_0002_jewish_faith
}
}
}
option = {
name = fp2_james.0002.a
custom_tooltip = fp2_james.0002.a.tt
hidden_effect = {
if = {
limit = {
scope:fp2_james_0002_conversos_character = { has_character_flag = is_secretly_jewish_flag }
}
send_interface_toast = {
type = event_toast_effect_good
title = fp2_james.0002.a.jewish_communities_thrive
every_in_list = {
list = fp2_james_0002_conversos_county
set_county_faith = scope:fp2_james_0002_jewish_faith
}
scope:fp2_james_0002_conversos_character = {
set_character_faith = scope:fp2_james_0002_jewish_faith
every_vassal = {
limit = {
faith = faith:conversos
is_available_ai = yes
}
set_character_faith = scope:fp2_james_0002_jewish_faith
}
}
}
}
else = {
send_interface_toast = {
type = event_toast_effect_good
title = fp2_james.0002.a.nothing_happened_toast
}
}
fp2_polish_should_heritage_israelite_get_upset_effect = yes
}
stress_impact = {
zealous = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = -0.5
ai_zeal = 1.5
}
}
}
option = {
name = fp2_james.0002.b
duel = {
skill = intrigue
target = scope:fp2_james_0002_conversos_character
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
}
desc = fp2_james.0002.b.succesful_interrogation
if = {
limit = { scope:fp2_james_0002_conversos_character = { has_character_flag = is_secretly_jewish_flag } }
send_interface_message = { # Begrudgingly added "unecessary" polish
type = event_prison_good
title = fp2_james.0002.t
right_icon = scope:fp2_james_0002_conversos_character
rightfully_imprison_character_effect = {
TARGET = scope:fp2_james_0002_conversos_character
IMPRISONER = root
}
fp2_polish_should_heritage_israelite_get_upset_effect = yes
}
}
else = {
send_interface_message = {
type = event_intrigue_bad
title = fp2_james.0002.a.offended_conversos
right_icon = scope:fp2_james_0002_conversos_character
reverse_add_opinion = {
target = scope:fp2_james_0002_conversos_character
modifier = hate_opinion
opinion = -30
}
fp2_polish_should_heritage_israelite_get_upset_effect = yes
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
}
desc = fp2_james.0002.b.failed_interrogation
send_interface_message = {
type = event_intrigue_bad
title = fp2_james.0002.a.offended_conversos
right_icon = scope:fp2_james_0002_conversos_character
every_sub_realm_county = {
custom = fp2_james_0002.b.failed_interrogation.tt
limit = {
faith = {
religion = {
OR = {
this = religion:christianity_religion
this = religion:judaism_religion
}
}
}
}
add_county_modifier = {
modifier = fp2_conversos_persecution_modifier
years = 10
}
}
reverse_add_opinion = {
target = scope:fp2_james_0002_conversos_character
modifier = hate_opinion
opinion = -30
}
fp2_polish_should_heritage_israelite_get_upset_effect = yes
}
}
}
stress_impact = { compassionate = medium_stress_impact_gain }
ai_chance = {
base = 10
ai_value_modifier = {
ai_zeal = 0.5
}
}
}
option = { # Imprison the suspect without trial
name = fp2_james.0002.c
send_interface_message = {
type = event_prison_neutral
title = fp2_james.0002.t
right_icon = scope:fp2_james_0002_conversos_character
imprison_character_effect = {
TARGET = scope:fp2_james_0002_conversos_character
IMPRISONER = root
}
fp2_polish_should_heritage_israelite_get_upset_effect = yes
stress_impact = {
compassionate = medium_stress_impact_gain
diligent = medium_stress_impact_gain
just = medium_stress_impact_gain
callous = minor_stress_impact_loss
sadistic = minor_stress_impact_loss
zealous = minor_stress_impact_loss
}
}
ai_chance = {
base = 10
modifier = {
factor = 0
OR = {
has_trait = compassionate
has_trait = diligent
has_trait = just
}
}
modifier = {
factor = 2
OR = {
has_trait = callous
has_trait = sadistic
}
has_trait = zealous
}
}
}
}
# Jewish people come fleeing persecution from a nearby realm
fp2_yearly.9002 = {
type = character_event
title = fp2_james.0003.t
desc = fp2_james.0003.desc
theme = secret
override_background = {
reference = throne_room
}
left_portrait = {
character = root
animation = paranoia
}
right_portrait = {
character = scope:fp2_james_003_jewish_refugee_leader
animation = beg
}
trigger = {
NOT = { root.religion = religion:judaism_religion }
NOT = { faith = faith:conversos }
any_neighboring_and_across_water_top_liege_realm = { # There is someone to do persecuting
holder = {
is_ai = yes
NOT = { root.religion = religion:judaism_religion }
NOT = { faith = faith:conversos }
}
}
highest_held_title_tier >= tier_county
any_held_county = {
is_landless_type_title = no
title_province = {
geographical_region = world_europe_west_iberia
}
NOT = { # Don't give away the capital
this = this.holder.top_liege.capital_county
}
holder = {
any_held_title = {
title_tier = county
count >= 2
}
}
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
any_character_struggle = {
is_struggle_type = iberian_struggle
is_struggle_phase = struggle_iberia_phase_hostility
}
}
modifier = {
factor = 0.1
any_county_in_region = {
region = world_europe_west_iberia
culture = culture:sephardi
}
}
}
immediate = {
# Grab the neighbour for loc purposes
random_neighboring_and_across_water_top_liege_realm = {
limit = {
holder = {
is_ai = yes
NOT = { root.religion = religion:judaism_religion }
NOT = { faith = faith:conversos }
}
}
holder = { save_scope_as = fp2_james_003_intolerant_ruler }
}
# find a pool character
if = {
limit = {
any_pool_character = {
province = root.capital_province
religion = religion:judaism_religion
}
}
random_pool_character = {
province = root.capital_province
limit = {
religion = religion:judaism_religion
}
save_scope_as = fp2_james_003_jewish_refugee_leader
}
}
# Otherwise create one
else = {
create_character = {
template = spanish_jewish_merchant_character # May as well reuse the template
location = root.capital_province
save_scope_as = fp2_james_003_jewish_refugee_leader
}
}
# Get a religion for them to potentially be secretly praciticing
religion:judaism_religion = {
random_faith = {
limit = { is_mainstream_jewish_faith = yes }
save_scope_as = fp2_james_0003_jewish_faith
}
}
random_held_county = {
limit = {
is_landless_type_title = no
title_province = {
geographical_region = world_europe_west_iberia
}
NOT = { # Don't give away the capital
this = this.holder.top_liege.capital_county
}
holder = {
any_held_title = {
title_tier = county
count >= 2
}
}
}
weight = {
modifier = { # Low-dev counties should be more highly considered
add = 50
development_level <= medium_development_level
}
}
save_scope_as = fp2_james_0003_province_to_convert
}
}
option = { # Offer the community protection in your realm
name = fp2_james.0003.a
create_title_and_vassal_change = {
type = granted
save_scope_as = change
add_claim_on_loss = no
}
scope:fp2_james_0003_province_to_convert.county = {
change_title_holder = {
holder = scope:fp2_james_003_jewish_refugee_leader
change = scope:change
}
}
resolve_title_and_vassal_change = scope:change
hidden_effect = {
add_opinion = {
target = scope:fp2_james_003_jewish_refugee_leader
modifier = received_title_county
}
}
scope:fp2_james_0003_province_to_convert.county = {
change_development_level = 1
if = {
limit = {
root = {
is_ai = no
}
NOT = {
any_county_in_region = {
region = world_europe_west_iberia
culture = culture:sephardi
}
}
}
set_county_culture = scope:fp2_james_003_jewish_refugee_leader.culture
set_county_faith = scope:fp2_james_003_jewish_refugee_leader.faith
add_county_modifier = {
modifier = fp2_thriving_jewish_community_modifier
years = 10
}
}
else = {
add_county_modifier = {
modifier = fp2_thriving_jewish_community_modifier
years = 10
}
}
}
scope:fp2_james_003_jewish_refugee_leader.culture = {
change_cultural_acceptance = {
target = root.culture
value = medium_positive_culture_acceptance
desc = cultural_acceptance_gain_conversos_tolerance
}
}
stress_impact = {
callous = minor_stress_impact_gain
greedy = minor_stress_impact_gain
compassionate = medium_stress_impact_loss
zealous = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = 1.5
ai_zeal = -0.5
}
}
}
option = {
name = fp2_james.0003.b
scope:fp2_james_003_jewish_refugee_leader = { silent_disappearance_effect = yes }
stress_impact = {
paranoid = minor_stress_impact_loss
zealous = minor_stress_impact_loss
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_honor = -0.5
ai_zeal = 1.5
}
}
}
}
###################################
# Toledan Nights
# By James Beaumont