event fixes pt II

This commit is contained in:
trashmasteruni 2026-10-10 23:36:32 +02:00
parent e8f9381e3a
commit 0555f85c12
55 changed files with 4908 additions and 134006 deletions

View file

@ -7,6 +7,7 @@ artifact.0011 = {
hidden = yes
trigger = {
exists = scope:old_owner
NOT = { has_variable = suppress_artifact_notifications }
}
@ -92,7 +93,8 @@ artifact.0101 = {
hidden = yes
trigger = {
has_variable = artefact_santiago_bells
exists = scope:old_owner
has_variable = artifact_santiago_bells
}
immediate = {
@ -105,7 +107,11 @@ artifact.0101 = {
religion = religion:islam_religion
# Non-Christian Islamic syncretics also have a vested interest in getting in on this.
AND = {
faith = { has_doctrine = tenet_islamic_syncretism }
NOT = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } }
rite = { rite_has_parameter = can_use_islamic_artifacts }
}
AND = {
has_personal_tenet_flag = can_use_islamic_artifacts
NOT = { OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion } }
}
}
@ -113,7 +119,7 @@ artifact.0101 = {
}
# Reforge into an aquamanile, for the first time.
if = {
limit = { var:artefact_santiago_bells = 0 }
limit = { var:artifact_santiago_bells = 0 }
scope:owner = { save_scope_as = reforger }
# We're using the miscellaneous category.
if = {
@ -127,7 +133,7 @@ artifact.0101 = {
description = fp2_santiago_aquamanile_desc
}
}
# We're into court artefacts.
# We're into court artifacts.
else = {
reforge_artifact = {
modifier = former_bells_of_santiago_modifier
@ -139,13 +145,13 @@ artifact.0101 = {
}
}
change_variable = {
name = artefact_santiago_bells
name = artifact_santiago_bells
add = 1
}
}
# Reforge back into an aquamanile after them dastardly Christians de-jug'd it.
else_if = {
limit = { var:artefact_santiago_bells >= 1 }
limit = { var:artifact_santiago_bells >= 1 }
scope:owner = { save_scope_as = reforger }
# We're using the miscellaneous category.
if = {
@ -159,7 +165,7 @@ artifact.0101 = {
description = fp2_santiago_aquamanile_melted_desc
}
}
# We're into court artefacts.
# We're into court artifacts.
else = {
reforge_artifact = {
modifier = former_bells_of_santiago_modifier
@ -171,12 +177,12 @@ artifact.0101 = {
}
}
change_variable = {
name = artefact_santiago_bells
name = artifact_santiago_bells
add = 1
}
# If we're high enough up the melting chain, start a tally.
if = {
limit = { var:artefact_santiago_bells >= 5 }
limit = { var:artifact_santiago_bells >= 5 }
set_artifact_description = fp2_santiago_aquamanile_melted_tally_desc
}
}
@ -190,7 +196,11 @@ artifact.0101 = {
OR = { religion = religion:eastern_orthodox_religion religion = religion:catholic_religion religion = religion:protestant_religion }
# Non-Islamic Christian syncretics also have a vested interest in getting in on this.
AND = {
faith = { has_doctrine = tenet_christian_syncretism }
rite = { rite_has_parameter = christian_syncretic_actor }
NOT = { religion = religion:islam_religion }
}
AND = {
has_personal_tenet_flag = can_use_christian_artifacts
NOT = { religion = religion:islam_religion }
}
}
@ -210,7 +220,7 @@ artifact.0101 = {
description = fp2_santiago_bells_melted_desc
}
}
# We're into court artefacts.
# We're into court artifacts.
else = {
reforge_artifact = {
modifier = bells_of_santiago_modifier
@ -222,12 +232,12 @@ artifact.0101 = {
}
}
change_variable = {
name = artefact_santiago_bells
name = artifact_santiago_bells
add = 1
}
# If we're high enough up the melting chain, start a tally.
if = {
limit = { var:artefact_santiago_bells >= 4 }
limit = { var:artifact_santiago_bells >= 4 }
set_artifact_description = fp2_santiago_bells_melted_tally_desc
}
}
@ -622,9 +632,9 @@ artifact.1001 = {
option = {
name = artifact.1001.a
# Flag that this is free for DLC artefacts that could become courtly ones...
# Flag that this is free for DLC artifacts that could become courtly ones...
if = {
limit = { exists = scope:this_artifact.var:dlc_potential_court_artefact }
limit = { exists = scope:this_artifact.var:dlc_potential_court_artifact }
custom_tooltip = artifact.1001.a.tt.free
}
# ... or else costs a nominal fee.
@ -1019,7 +1029,7 @@ artifact.3000 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
compassionate = minor_stress_impact_gain
calm = minor_stress_impact_gain
trusting = minor_stress_impact_gain
@ -1931,13 +1941,14 @@ scripted_trigger artifact_4000_cursed_history_trigger = {
}
has_variable = ghost_cabinet
}
NOR = {
has_variable = cursed_artifact_var
has_variable = blessed_artifact_var
has_variable = artifact_named_crown_var
has_variable = artifact_killer_var
has_variable = artifact_armor_var
has_variable = historical_unique_artifact
has_none_of_variables = {
name = cursed_artifact_var
name = blessed_artifact_var
name = sanctified_artifact_var
name = artifact_named_crown_var
name = artifact_killer_var
name = artifact_armor_var
name = historical_unique_artifact
}
}
@ -1946,13 +1957,14 @@ scripted_trigger artifact_4000_cursed_creepy_trigger = {
ep1_artifact_durability_lower_equal_percent_trigger = { PERCENT = 0.49 }
artifact_age >= 50
}
NOR = {
has_variable = cursed_artifact_var
has_variable = blessed_artifact_var
has_variable = artifact_named_crown_var
has_variable = artifact_killer_var
has_variable = artifact_armor_var
has_variable = historical_unique_artifact
has_none_of_variables = {
name = cursed_artifact_var
name = blessed_artifact_var
name = sanctified_artifact_var
name = artifact_named_crown_var
name = artifact_killer_var
name = artifact_armor_var
name = historical_unique_artifact
}
}
@ -2302,14 +2314,15 @@ artifact.4002 = { #you own a cursed artifact
trigger = {
any_character_artifact = {
has_variable = cursed_artifact_var
NOR = {
has_variable = attempted_blessing_var
has_variable = cursed_artifact_accepted_var
has_variable = artifact_named_crown_var
has_variable = artifact_killer_var
has_variable = artifact_armor_var
has_variable = blessed_artifact_var
has_variable = historical_unique_artifact
has_none_of_variables = {
name = attempted_blessing_var
name = cursed_artifact_accepted_var
name = artifact_named_crown_var
name = artifact_killer_var
name = artifact_armor_var
name = blessed_artifact_var
name = sanctified_artifact_var
name = historical_unique_artifact
}
}
}
@ -2326,14 +2339,15 @@ artifact.4002 = { #you own a cursed artifact
random_character_artifact = {
limit = {
has_variable = cursed_artifact_var
NOR = {
has_variable = attempted_blessing_var
has_variable = cursed_artifact_accepted_var
has_variable = artifact_named_crown_var
has_variable = artifact_killer_var
has_variable = artifact_armor_var
has_variable = blessed_artifact_var
has_variable = historical_unique_artifact
has_none_of_variables = {
name = attempted_blessing_var
name = cursed_artifact_accepted_var
name = artifact_named_crown_var
name = artifact_killer_var
name = artifact_armor_var
name = blessed_artifact_var
name = sanctified_artifact_var
name = historical_unique_artifact
}
}
save_scope_as = this_artifact
@ -2456,11 +2470,12 @@ scripted_trigger artifact_4010_valid_weapon_trigger = {
var:artifact_battles_won_var >= 100
}
}
NOR = {
has_variable = cursed_artifact_var
has_variable = blessed_artifact_var
has_variable = historical_unique_artifact
has_variable = artifact_duel_weapon_var
has_none_of_variables = {
name = cursed_artifact_var
name = blessed_artifact_var
name = sanctified_artifact_var
name = historical_unique_artifact
name = artifact_duel_weapon_var
}
}
@ -2535,11 +2550,12 @@ artifact.4010 = {
limit = {
artifact_slot_type = primary_armament
has_variable = artifact_battles_won_var
NOR = {
has_variable = blessed_artifact_var
has_variable = historical_unique_artifact
has_variable = cursed_artifact_var
has_variable = artifact_duel_weapon_var
has_none_of_variables = {
name = blessed_artifact_var
name = sanctified_artifact_var
name = historical_unique_artifact
name = cursed_artifact_var
name = artifact_duel_weapon_var
}
trigger_if = {
limit = {
@ -2681,10 +2697,11 @@ scripted_trigger artifact_4020_valid_armor_trigger = {
var:artifact_battles_won_var >= 100
}
}
NOR = {
has_variable = cursed_artifact_var
has_variable = blessed_artifact_var
has_variable = historical_unique_artifact
has_none_of_variables = {
name = cursed_artifact_var
name = blessed_artifact_var
name = sanctified_artifact_var
name = historical_unique_artifact
}
}
@ -2759,10 +2776,11 @@ artifact.4020 = {
limit = {
artifact_slot_type = armor
has_variable = artifact_battles_won_var
NOR = {
has_variable = blessed_artifact_var
has_variable = historical_unique_artifact
has_variable = cursed_artifact_var
has_none_of_variables = {
name = blessed_artifact_var
name = sanctified_artifact_var
name = historical_unique_artifact
name = cursed_artifact_var
}
trigger_if = {
limit = {
@ -2882,18 +2900,17 @@ artifact.4020 = {
scripted_trigger artifact_4030_valid_empire_crown = {
artifact_slot_type = helmet
AND = {
root = { highest_held_title_tier = tier_empire }
previous_owner ?= { highest_held_title_tier = tier_empire }
exists = previous_owner_level_2
previous_owner_level_2 = { highest_held_title_tier = tier_empire }
exists = previous_owner_level_3
previous_owner_level_3 = { highest_held_title_tier = tier_empire }
root = { highest_held_title_tier >= tier_empire }
previous_owner ?= { highest_held_title_tier >= tier_empire }
previous_owner_level_2 ?= { highest_held_title_tier >= tier_empire }
previous_owner_level_3 ?= { highest_held_title_tier >= tier_empire }
}
NOR = {
has_variable = artifact_named_crown_var
has_variable = cursed_artifact_var
has_variable = blessed_artifact_var
has_variable = historical_unique_artifact
has_none_of_variables = {
name = artifact_named_crown_var
name = cursed_artifact_var
name = blessed_artifact_var
name = sanctified_artifact_var
name = historical_unique_artifact
}
}
@ -2909,11 +2926,12 @@ scripted_trigger artifact_4030_valid_people_crown = {
exists = previous_owner_level_3
previous_owner_level_3 = { has_primary_title = scope:crown_title }
}
NOR = {
has_variable = artifact_named_crown_var
has_variable = cursed_artifact_var
has_variable = blessed_artifact_var
has_variable = historical_unique_artifact
has_none_of_variables = {
name = artifact_named_crown_var
name = cursed_artifact_var
name = blessed_artifact_var
name = sanctified_artifact_var
name = historical_unique_artifact
}
}
@ -2931,13 +2949,10 @@ artifact.4030 = {
first_valid = {
triggered_desc = {
trigger = {
root = { highest_held_title_tier = tier_empire }
exists = scope:this_artifact.previous_owner
scope:this_artifact.previous_owner = { highest_held_title_tier = tier_empire }
exists = scope:this_artifact.previous_owner_level_2
scope:this_artifact.previous_owner_level_2 = { highest_held_title_tier = tier_empire }
exists = scope:this_artifact.previous_owner_level_3
scope:this_artifact.previous_owner_level_3 = { highest_held_title_tier = tier_empire }
root = { highest_held_title_tier >= tier_empire }
scope:this_artifact.previous_owner ?= { highest_held_title_tier >= tier_empire }
scope:this_artifact.previous_owner_level_2 ?= { highest_held_title_tier >= tier_empire }
scope:this_artifact.previous_owner_level_3 ?= { highest_held_title_tier >= tier_empire }
}
desc = artifact.4030.desc_emperor
}
@ -3088,9 +3103,9 @@ artifact.4040 = {
artifact_slot_type = armor
artifact_slot_type = primary_armament
}
NOR = {
has_variable = cursed_artifact_var
has_variable = artifact_improved_var
has_none_of_variables = {
name = cursed_artifact_var
name = artifact_improved_var
}
}
OR = {
@ -3118,9 +3133,9 @@ artifact.4040 = {
artifact_slot_type = armor
artifact_slot_type = primary_armament
}
NOR = {
has_variable = cursed_artifact_var
has_variable = artifact_improved_var
has_none_of_variables = {
name = cursed_artifact_var
name = artifact_improved_var
}
}
save_scope_as = this_artifact
@ -3368,7 +3383,7 @@ artifact.4050 = {
option = {
name = artifact.4050.a
stress_impact = {
stress_and_fulfillment_impact = {
base = medium_stress_impact_loss
wrathful = major_stress_impact_loss
irritable = massive_stress_impact_loss
@ -3387,12 +3402,13 @@ scripted_trigger artifact_4060_valid_artifact_trigger = {
artifact_slot_type = armor
artifact_slot_type = throne
}
NOR = {
has_variable = cursed_artifact_var
has_variable = artifact_named_crown_var
has_variable = artifact_killer_var
has_variable = artifact_armor_var
has_variable = blessed_artifact_var
has_none_of_variables = {
name = cursed_artifact_var
name = artifact_named_crown_var
name = artifact_killer_var
name = artifact_armor_var
name = blessed_artifact_var
name = sanctified_artifact_var
}
}
@ -3488,7 +3504,7 @@ artifact.4060 = {
set_artifact_description = artifact_4060_blessed_artifact_desc
}
remove_short_term_gold = medium_gold_value
stress_impact = {
stress_and_fulfillment_impact = {
cynical = major_stress_impact_gain
greedy = major_stress_impact_gain
zealous = major_stress_impact_loss
@ -3498,7 +3514,7 @@ artifact.4060 = {
#Option B: refuse
option = {
name = artifact.4060.b
stress_impact = {
stress_and_fulfillment_impact = {
cynical = major_stress_impact_loss
zealous = major_stress_impact_gain
}
@ -3508,98 +3524,9 @@ artifact.4060 = {
# Desecrated relic
scripted_trigger artifact_4070_valid_relic_trigger = {
has_variable = relic
trigger_if = {
limit = {
var:relic = flag:christian
}
previous_owner ?= {
NOT = { OR = { faith.religion = religion:eastern_orthodox_religion faith.religion = religion:catholic_religion faith.religion = religion:protestant_religion } }
}
}
trigger_else_if = {
limit = {
var:relic = flag:islamic
}
previous_owner ?= {
NOT = { faith.religion = religion:islam_religion }
}
}
trigger_else_if = {
limit = {
var:relic = flag:buddhism
}
previous_owner ?= {
NOT = { faith.religion = religion:buddhism_religion }
}
}
trigger_else_if = {
limit = {
var:relic = flag:zoroastr
}
previous_owner ?= {
NOT = { faith.religion = religion:zoroastrianism_religion }
}
}
trigger_else_if = {
limit = {
var:relic = flag:jainism
}
previous_owner ?= {
NOT = { faith.religion = religion:jainism_religion }
}
}
trigger_else_if = {
limit = {
var:relic = flag:judaism
}
previous_owner ?= {
NOT = { faith.religion = religion:judaism_religion }
}
}
trigger_else_if = {
limit = {
var:relic = flag:germanic
}
previous_owner ?= {
NOT = { faith.religion = religion:folk_germanic_religion }
}
}
trigger_else_if = {
limit = {
var:relic = flag:slavic
}
previous_owner ?= {
NOT = { faith.religion = religion:slavic_religion }
}
}
trigger_else_if = {
limit = {
var:relic = flag:boog
}
previous_owner ?= {
NOT = { faith.religion = religion:west_african_roog_religion }
}
}
trigger_else_if = {
limit = {
var:relic = flag:hinduism
}
previous_owner ?= {
NOT = { faith.religion = religion:hinduism_religion }
}
}
trigger_else_if = {
limit = {
var:relic = flag:finnic_religion
}
previous_owner ?= {
NOT = { faith.religion = religion:finnic_religion }
}
}
trigger_else = {
always = no #Can't be a desecrated relic with no associated religion
}
exists = previous_owner
is_holy_relic_for = root.faith
NOT = { is_holy_relic_for = previous_owner.faith }
}
artifact.4070 = {
@ -3668,6 +3595,9 @@ artifact.4070 = {
remove_variable = desecrated_artifact_var
}
add_piety = medium_piety_gain
stress_and_fulfillment_impact = {
zealous = medium_stress_impact_loss
}
ai_chance = {
base = 105
ai_value_modifier = {
@ -3684,6 +3614,9 @@ artifact.4070 = {
option = {
name = artifact.4070.b
add_piety = medium_piety_loss
stress_and_fulfillment_impact = {
cynical = minor_stress_impact_loss
}
ai_chance = {
base = 150
ai_value_modifier = {
@ -3719,11 +3652,12 @@ scripted_trigger artifact_4080_valid_weapon_trigger = {
var:artifact_duel_var >= 30
}
}
NOR = {
has_variable = cursed_artifact_var
has_variable = blessed_artifact_var
has_variable = historical_unique_artifact
has_variable = artifact_killer_var
has_none_of_variables = {
name = cursed_artifact_var
name = blessed_artifact_var
name = sanctified_artifact_var
name = historical_unique_artifact
name = artifact_killer_var
}
}
@ -3916,7 +3850,7 @@ artifact.4090 = { #Embed a relic in pommel by Daniel Moore
}
any_character_artifact = {
exists = var:relic
is_holy_relic_for = artifact_owner.faith
}
OR = {
employs_court_position = antiquarian_court_position
@ -3956,7 +3890,7 @@ artifact.4090 = { #Embed a relic in pommel by Daniel Moore
limit = {
artifact_slot_type = primary_armament
NOT = {
has_variable = added_relic
is_holy_relic_for = artifact_owner.faith
}
}
save_scope_as = this_artifact
@ -3964,7 +3898,7 @@ artifact.4090 = { #Embed a relic in pommel by Daniel Moore
random_character_artifact = {
limit = {
exists = var:relic
is_holy_relic_for = artifact_owner.faith
}
save_scope_as = that_artifact
}
@ -3976,6 +3910,10 @@ artifact.4090 = { #Embed a relic in pommel by Daniel Moore
set_artifact_name = relic_weapon_name
set_artifact_description = artifact_weapon_relic_desc
set_variable = added_relic
set_variable = {
name = added_relic_faith
value = root.faith
}
hidden_effect = {
copy_artifact_modifiers = scope:that_artifact
set_artifact_rarity = illustrious
@ -3995,7 +3933,7 @@ artifact.4090 = { #Embed a relic in pommel by Daniel Moore
}
}
stress_impact = {
stress_and_fulfillment_impact = {
zealous = minor_stress_gain
lazy = minor_stress_gain
}
@ -4011,7 +3949,7 @@ artifact.4090 = { #Embed a relic in pommel by Daniel Moore
option = {
name = artifact.4090.b
add_piety = 100
stress_impact = {
stress_and_fulfillment_impact = {
zealous = minor_stress_loss
lazy = minor_stress_loss
}

View file

@ -13,32 +13,36 @@ historical_artifacts.0023 = {
# All starting courts will have a dynasty banner
every_character_with_royal_court = {
save_scope_as = banner_ruler
# House Banner
set_variable = banner_from_house
set_variable = startup_banner
create_artifact_wall_banner_effect = {
OWNER = scope:banner_ruler
CREATOR = scope:banner_ruler
TARGET = scope:banner_ruler.house
}
# Dynasty Banner
If = {
if = {
limit = {
OR = {
this = dynasty.dynast # Dynasty Head
any_parent = { # Parent landless Dynasty Head
employer = prev
dynasty = prev.dynasty
this = dynasty.dynast
}
}
exists = house
}
set_variable = banner_from_dynasty
set_variable = banner_from_house
set_variable = startup_banner
create_artifact_wall_banner_effect = {
OWNER = scope:banner_ruler
CREATOR = scope:banner_ruler
TARGET = scope:banner_ruler.dynasty
TARGET = scope:banner_ruler.house
}
# Dynasty Banner
if = {
limit = {
OR = {
this = dynasty.dynast # Dynasty Head
any_parent = { # Parent landless Dynasty Head
employer = prev
dynasty = prev.dynasty
this = dynasty.dynast
}
}
}
set_variable = banner_from_dynasty
set_variable = startup_banner
create_artifact_wall_banner_effect = {
OWNER = scope:banner_ruler
CREATOR = scope:banner_ruler
TARGET = scope:banner_ruler.dynasty
}
}
}
}
@ -138,10 +142,10 @@ historical_artifacts.0023 = {
}
}
}
# # Historical Artifacts
# ## We do these per-artefact rather than per-title so that they can be easily reshuffled if desired.
# ## Crowns
# ### Iron Crown of Lombardy
# Historical Artifacts
## We do these per-artifact rather than per-title so that they can be easily reshuffled if desired.
## Crowns
### Iron Crown of Lombardy
if = {
limit = {
has_dlc_feature = royal_court
@ -1399,3 +1403,85 @@ historical_artifacts.0100 = {
}
}
}
# Seeds starting holy relics for holy sites
historical_artifacts.0050 = {
scope = none
hidden = yes
immediate = {
every_religion_global = {
every_faith = {
save_scope_as = relic_faith
# Eminent holy sites get the higher-rarity dispatcher.
every_eminent_holy_site = {
save_scope_as = relic_site
holy_site_county = {
if = {
limit = {
exists = holder
holder.faith = scope:relic_faith
}
holder = { save_scope_as = relic_owner }
create_starting_holy_relic_eminent_effect = yes
}
}
}
# Regular holy sites get the lower-rarity dispatcher.
every_holy_site = {
is_eminent = no
save_scope_as = relic_site
holy_site_county = {
if = {
limit = {
exists = holder
holder.faith = scope:relic_faith
}
holder = { save_scope_as = relic_owner }
create_starting_holy_relic_regular_effect = yes
}
}
}
}
}
# Pass 2: Tolerated eminent-site relics.
every_religion_global = {
every_faith = {
save_scope_as = relic_faith
if = {
limit = {
num_county_followers >= 3 # only check for faiths that are somewhat alive
}
every_eminent_holy_site = {
limit = {
holy_site_has_artifact = no
}
save_scope_as = relic_site
holy_site_county = {
if = {
limit = {
exists = holder
holder.faith = {
faith_hostility_level = {
target = scope:relic_faith
value <= faith_astray_level
}
}
}
# A temporary creator lets the relic inherit their faith
ordered_ruler = {
faith_filter = scope:relic_faith
order_by = highest_held_title_tier
max = 1
save_scope_as = relic_owner
create_starting_holy_relic_eminent_effect = yes
}
}
}
}
}
}
}
}
}

View file

@ -78,7 +78,7 @@ court_events.3000 = {
modifier = court_fashion_foreign_modifier
years = 20
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = minor_stress_impact_gain
shy = minor_stress_impact_gain
}
@ -98,7 +98,7 @@ court_events.3000 = {
modifier = court_fashion_culture_modifier
years = 20
}
stress_impact = {
stress_and_fulfillment_impact = {
gregarious = minor_stress_impact_gain
humble = medium_stress_impact_gain
}
@ -118,7 +118,7 @@ court_events.3000 = {
modifier = court_fashion_sell_modifier
years = 20
}
stress_impact = {
stress_and_fulfillment_impact = {
generous = medium_stress_impact_gain
}
ai_chance = {
@ -227,7 +227,7 @@ court_events.3010 = {
flag = court_cheaper_food
years = 15
}
stress_impact = {
stress_and_fulfillment_impact = {
greedy = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
humble = medium_stress_impact_gain
@ -252,7 +252,7 @@ court_events.3010 = {
modifier = healthy_and_modest_diet_modifier
years = 15
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = medium_stress_impact_gain
gluttonous = major_stress_impact_gain
comfort_eater = major_stress_impact_gain
@ -284,7 +284,7 @@ court_events.3010 = {
modifier = cant_poison_soup_modifier
years = 15
}
stress_impact = {
stress_and_fulfillment_impact = {
gregarious = medium_stress_impact_gain
trusting = major_stress_impact_gain
gluttonous = major_stress_impact_gain
@ -343,7 +343,7 @@ court_events.3020 = {
group = event_group
animation = thinking
}
scope:physician ?= {
scope:physician = {
group = event_group
animation = physician
}
@ -478,7 +478,7 @@ court_events.3020 = {
years = 15
}
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = minor_stress_impact_gain
humble = minor_stress_impact_gain
greedy = medium_stress_impact_gain
@ -520,7 +520,7 @@ court_events.3020 = {
years = 15
}
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = minor_stress_impact_gain
humble = minor_stress_impact_gain
greedy = medium_stress_impact_gain
@ -554,7 +554,7 @@ court_events.3020 = {
years = 15
}
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = minor_stress_impact_gain
humble = minor_stress_impact_gain
}
@ -576,7 +576,7 @@ court_events.3020 = {
years = 15
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
paranoid = minor_stress_impact_gain
}
@ -625,17 +625,18 @@ court_events.3030 = {
inspiration = { #Since they're away adventuring
NOT = { has_inspiration_type = adventure_inspiration }
}
NOR = {
has_character_flag = fund_weapon_inspiration_event_cooldown
has_character_flag = fund_armor_inspiration_event_cooldown
has_character_flag = fund_book_inspiration_event_cooldown
has_character_flag = fund_weaver_inspiration_event_cooldown
has_character_flag = fund_adventure_inspiration_event_cooldown
has_character_flag = fund_artisan_inspiration_event_cooldown
has_character_flag = fund_smith_inspiration_event_cooldown
has_character_flag = fund_alchemy_inspiration_event_cooldown
has_character_flag = fund_research_inspiration_event_cooldown
has_character_flag = fund_bow_inspiration_event_cooldown
has_none_of_variables = {
name = fund_weapon_inspiration_event_cooldown
name = fund_armor_inspiration_event_cooldown
name = fund_book_inspiration_event_cooldown
name = fund_weaver_inspiration_event_cooldown
name = fund_adventure_inspiration_event_cooldown
name = fund_artisan_inspiration_event_cooldown
name = fund_smith_inspiration_event_cooldown
name = fund_alchemy_inspiration_event_cooldown
name = fund_research_inspiration_event_cooldown
name = fund_bow_inspiration_event_cooldown
name = fund_religious_artifact_inspiration_event_cooldown
}
}
amenity_level = {
@ -758,7 +759,7 @@ court_events.3030 = {
change_artifact_quality_effect = { AMOUNT = 4 }
inspiration = { change_inspiration_progress = 2 }
}
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
greedy = minor_stress_impact_gain
}
@ -777,7 +778,7 @@ court_events.3030 = {
change_artifact_quality_effect = { AMOUNT = 2 }
inspiration = { change_inspiration_progress = 1 }
}
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
}
ai_chance = {
@ -905,7 +906,7 @@ court_events.3040 = {
years = 15
}
}
stress_impact = {
stress_and_fulfillment_impact = {
paranoid = minor_stress_impact_gain
callous = medium_stress_impact_gain
}
@ -926,7 +927,7 @@ court_events.3040 = {
set_amenity_level = { type = court_servants value = 3 }
custom_tooltip = cheaper_servants_for_15_years
add_character_flag = court_cheaper_servants
stress_impact = {
stress_and_fulfillment_impact = {
content = minor_stress_impact_gain
paranoid = medium_stress_impact_gain
humble = medium_stress_impact_gain
@ -951,7 +952,7 @@ court_events.3040 = {
# Option C: no thanks
option = {
name = court_events.3040.c
stress_impact = {
stress_and_fulfillment_impact = {
compassionate = medium_stress_impact_gain
}
ai_chance = {
@ -1016,7 +1017,7 @@ court_events.3050 = {
flag = food_improves_opinion
years = 15
}
stress_impact = {
stress_and_fulfillment_impact = {
gregarious = minor_stress_impact_gain
generous = minor_stress_impact_gain
}
@ -1036,7 +1037,7 @@ court_events.3050 = {
flag = food_improves_feasts
years = 15
}
stress_impact = {
stress_and_fulfillment_impact = {
shy = minor_stress_impact_gain
greedy = minor_stress_impact_gain
}
@ -1111,7 +1112,7 @@ court_events.3060 = {
modifier = spies_behind_every_corner_modifier
years = 15
}
stress_impact = {
stress_and_fulfillment_impact = {
honest = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
trusting = medium_stress_impact_gain
@ -1132,7 +1133,7 @@ court_events.3060 = {
modifier = servants_aplenty_cleaning_modifier
years = 15
}
stress_impact = {
stress_and_fulfillment_impact = {
deceitful = medium_stress_impact_gain
humble = medium_stress_impact_gain
}
@ -1189,7 +1190,7 @@ court_events.3070 = {
flag = court_cheaper_fashion
years = 15
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = major_stress_impact_gain
greedy = medium_stress_impact_gain
humble = medium_stress_impact_gain
@ -1212,7 +1213,7 @@ court_events.3070 = {
modifier = humble_appearance_modifier
years = 15
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = medium_stress_impact_gain
eccentric = minor_stress_impact_loss
humble = minor_stress_impact_loss
@ -1244,7 +1245,7 @@ court_events.3070 = {
flag = court_free_fashion
years = 15
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = major_stress_impact_gain
}
ai_chance = {
@ -1481,7 +1482,7 @@ court_events.3080 = {
modifier = ghost_writer_at_court_modifier
years = 20
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = medium_stress_impact_gain
deceitful = medium_stress_impact_gain
honest = minor_stress_impact_gain
@ -1506,7 +1507,7 @@ court_events.3080 = {
modifier = poet_for_diplo_schemes_modifier
years = 20
}
stress_impact = {
stress_and_fulfillment_impact = {
honest = medium_stress_impact_gain
content = medium_stress_impact_gain
loyal = medium_stress_impact_gain
@ -1535,7 +1536,7 @@ court_events.3080 = {
modifier = poet_for_seduction_schemes_modifier
years = 20
}
stress_impact = {
stress_and_fulfillment_impact = {
chaste = major_stress_impact_gain
shy = medium_stress_impact_gain
}
@ -1564,7 +1565,7 @@ court_events.3080 = {
option = {
name = court_events.3080.d
scope:poet = { select_and_move_to_pool_effect = yes }
stress_impact = {
stress_and_fulfillment_impact = {
lifestyle_poet = massive_stress_impact_gain
generous = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
@ -1765,7 +1766,7 @@ court_events.3090 = {
opinion = 25
}
}
stress_impact = {
stress_and_fulfillment_impact = {
lazy = medium_stress_impact_gain
callous = medium_stress_impact_gain
}
@ -1811,7 +1812,7 @@ court_events.3090 = {
opinion = 10
}
}
stress_impact = {
stress_and_fulfillment_impact = {
impatient = medium_stress_impact_gain
greedy = minor_stress_impact_gain
}
@ -1837,7 +1838,7 @@ court_events.3090 = {
opinion = -20
}
}
stress_impact = {
stress_and_fulfillment_impact = {
brave = minor_stress_impact_gain
}
ai_chance = {
@ -2072,7 +2073,7 @@ court_events.3100 = {
add = 10
}
modifier = {
has_trait = scholar
has_trait = erudite
add = 10
}
modifier = {
@ -2148,7 +2149,7 @@ court_events.3100 = {
type = learn_language
add_scheme_modifier = { type = pressured_to_learn_court_language_modifier }
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = medium_stress_impact_gain
lazy = medium_stress_impact_gain
}
@ -2204,7 +2205,7 @@ court_events.3100 = {
}
learn_court_language_of = root
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = minor_stress_impact_gain
lazy = minor_stress_impact_gain
}
@ -2217,7 +2218,7 @@ court_events.3100 = {
option = {
name = court_events.3100.c
add_prestige = medium_prestige_gain
stress_impact = {
stress_and_fulfillment_impact = {
humble = minor_stress_impact_gain
diligent = minor_stress_impact_gain
}
@ -2425,7 +2426,7 @@ court_events.3110 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
greedy = major_stress_impact_gain
humble = medium_stress_impact_gain
lazy = minor_stress_impact_gain
@ -2476,7 +2477,7 @@ court_events.3110 = {
}
if = {
limit = {
government_allows = administrative
government_has_flag = government_has_influence
}
scope:vassal = {
change_influence = medium_influence_loss
@ -2504,7 +2505,7 @@ court_events.3110 = {
left_icon = scope:vassal
if = {
limit = {
government_allows = administrative
government_has_flag = government_has_influence
}
scope:vassal = {
change_influence = medium_influence_gain
@ -2520,7 +2521,7 @@ court_events.3110 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
generous = medium_stress_impact_gain
architect = medium_stress_impact_gain
compassionate = minor_stress_impact_gain
@ -2543,7 +2544,7 @@ court_events.3110 = {
option = {
name = court_events.3110.c
add_prestige = miniscule_prestige_loss
stress_impact = {
stress_and_fulfillment_impact = {
ambitious = major_stress_impact_gain
arrogant = medium_stress_impact_gain
architect = medium_stress_impact_gain
@ -2573,10 +2574,10 @@ court_events.3110 = {
# Admin court version: a vassal's construction program intheir estate is challenging you
scripted_trigger court_3115_valid_vassal_trigger = {
government_allows = administrative
government_has_mechanic = administrative
this = house.house_head
domicile ?= {
is_domicile_type = estate
domicile_is_estate_trigger = yes
num_domicile_buildings > root.domicile.num_domicile_buildings
external_domicile_building_slots >= root.domicile.external_domicile_building_slots
free_external_domicile_building_slots < root.domicile.free_external_domicile_building_slots
@ -2618,9 +2619,9 @@ court_events.3115 = {
trigger = {
has_royal_court = yes
government_allows = administrative
government_has_mechanic = administrative
this = house.house_head
domicile ?= { is_domicile_type = estate }
domicile ?= { domicile_is_estate_trigger = yes }
OR = {
has_focus = stewardship_wealth_focus
has_focus = stewardship_domain_focus
@ -2749,7 +2750,7 @@ court_events.3115 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
greedy = major_stress_impact_gain
humble = medium_stress_impact_gain
lazy = minor_stress_impact_gain
@ -2822,7 +2823,7 @@ court_events.3115 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
generous = medium_stress_impact_gain
architect = medium_stress_impact_gain
compassionate = minor_stress_impact_gain
@ -2841,7 +2842,7 @@ court_events.3115 = {
option = {
name = court_events.3110.c
change_influence = miniscule_influence_loss
stress_impact = {
stress_and_fulfillment_impact = {
ambitious = major_stress_impact_gain
arrogant = medium_stress_impact_gain
architect = medium_stress_impact_gain
@ -3023,7 +3024,7 @@ court_events.3120 = {
immediate = {
court_event_character_flag_effect = yes
random_courtier = {
random_courtier_or_guest = {
limit = {
is_available = yes
OR = {
@ -3324,7 +3325,7 @@ court_events.3120 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
greedy = medium_stress_impact_gain
humble = minor_stress_impact_gain
}
@ -3358,7 +3359,7 @@ court_events.3120 = {
change_artifact_quality_effect = { AMOUNT = 5 }
inspiration = { change_inspiration_progress = 2 }
}
stress_impact = {
stress_and_fulfillment_impact = {
compassionate = minor_stress_impact_gain
ambitious = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
@ -3421,7 +3422,7 @@ court_events.3120 = {
custom_tooltip = gains_artisan_inspiration_tt
}
}
stress_impact = {
stress_and_fulfillment_impact = {
shy = minor_stress_impact_gain
callous = minor_stress_impact_gain
}
@ -3446,7 +3447,7 @@ court_events.3120 = {
option = {
name = court_events.3120.d
add_prestige = miniscule_prestige_loss
stress_impact = {
stress_and_fulfillment_impact = {
ambitious = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
generous = medium_stress_impact_gain

File diff suppressed because it is too large Load diff

View file

@ -340,7 +340,7 @@ court_events.1000 = {
change_development_level = 1
}
remove_short_term_gold = medium_gold_value
stress_impact = {
stress_and_fulfillment_impact = {
generous = miniscule_stress_impact_loss
arrogant = major_stress_impact_gain
greedy = major_stress_impact_gain
@ -387,7 +387,7 @@ court_events.1000 = {
scope:guest_2 = {
add_character_flag = travelling_friend
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = minor_stress_impact_loss
ambitious = miniscule_stress_impact_loss
paranoid = minor_stress_impact_gain
@ -419,7 +419,7 @@ court_events.1000 = {
value = root
}
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = minor_stress_impact_loss
ambitious = miniscule_stress_impact_loss
humble = minor_stress_impact_gain
@ -808,7 +808,7 @@ court_events.1010 = {
}
}
add_prestige = medium_prestige_loss
stress_impact = {
stress_and_fulfillment_impact = {
greedy = minor_stress_impact_loss
eccentric = miniscule_stress_impact_loss
arbitrary = minor_stress_impact_loss
@ -877,7 +877,7 @@ court_events.1010 = {
add_prestige = major_prestige_loss
stress_impact = {
stress_and_fulfillment_impact = {
trusting = miniscule_stress_impact_loss
honest = medium_stress_impact_gain
just = medium_stress_impact_gain
@ -926,7 +926,7 @@ court_events.1010 = {
}
add_piety = medium_piety_loss
stress_impact = {
stress_and_fulfillment_impact = {
cynical = major_stress_impact_gain
arrogant = minor_stress_impact_gain
gregarious = minor_stress_impact_gain
@ -974,7 +974,7 @@ court_events.1010 = {
add_prestige = minor_prestige_gain
stress_impact = {
stress_and_fulfillment_impact = {
arbitrary = minor_stress_impact_gain
deceitful = medium_stress_impact_gain
ambitious = medium_stress_impact_gain

File diff suppressed because it is too large Load diff

View file

@ -1,42 +0,0 @@
namespace = bp3_decisions
bp3_decisions.0100 = {
type = character_event
title = bp3_decisions.0100.t
desc = bp3_decisions.0100.desc
theme = realm
left_portrait = {
character = root
animation = personality_honorable
}
immediate = {
house = {
add_house_modifier = {
modifier = legacy_adventurer_house_modifier
}
}
}
# Do some justicar contracts
option = {
name = bp3_decisions.0100.a
custom_tooltip = bp3_decisions.0100.a_tt
hidden_effect = {
populate_task_contracts_for_area = {
location = root.location
amount = 3
group = { laamp_contracts_justicar_group }
}
}
}
# Become legitimists
option = {
name = bp3_decisions.0100.b
trigger = { NOT = { has_realm_law = camp_purpose_legitimists } }
add_realm_law_skip_effects = camp_purpose_legitimists
}
}

View file

@ -68,15 +68,7 @@ major_decisions.0002 = { #by Linnéa Thimrén
immediate = {
show_as_tooltip = {
if = {
limit = { government_has_flag = government_is_japan_feudal }
change_government = japan_feudal_government
}
else_if = {
limit = { government_has_flag = government_is_clan }
change_government = clan_government
}
else = { change_government = feudal_government }
change_government = government_type
}
}
@ -457,7 +449,7 @@ major_decisions.0501 = { #by Mathilda Bjarnehed
random_in_list = {
list = dynasty_realms
limit = { tier = tier_empire }
limit = { tier >= tier_empire }
alternative_limit = { always = yes }
save_scope_as = realm_2
}
@ -465,7 +457,7 @@ major_decisions.0501 = { #by Mathilda Bjarnehed
random_in_list = {
list = dynasty_realms
limit = {
tier = tier_empire
tier >= tier_empire
this != scope:realm_2
}
alternative_limit = {
@ -477,7 +469,7 @@ major_decisions.0501 = { #by Mathilda Bjarnehed
random_in_list = {
list = dynasty_realms
limit = {
tier = tier_empire
tier >= tier_empire
NOR = {
this = scope:realm_2
this = scope:realm_3
@ -591,7 +583,7 @@ major_decisions.1002 = {
}
override_background = {
trigger = {
scope:cannibal = { is_landed_or_landless_administrative = yes }
scope:cannibal = { is_landed_or_landless_administrative_or_theocratic = yes }
}
reference = feast
}
@ -638,7 +630,7 @@ major_decisions.1101 = {
}
desc = major_decisions.1101.desc
}
theme = realm
theme = coronation
left_portrait = {
character = root
animation = personality_greedy
@ -702,7 +694,7 @@ major_decisions.1102 = {
type = character_event
title = major_decisions.1101.t
desc = major_decisions.1102.desc
theme = realm
theme = coronation
left_portrait = {
character = root
animation = personality_greedy
@ -764,7 +756,7 @@ major_decisions.1103 = {
desc = major_decisions.1103.i_am_religious_head
}
}
theme = realm
theme = coronation
left_portrait = {
character = root
animation = personality_greedy
@ -862,7 +854,7 @@ major_decisions.1104 = {
}
desc = major_decisions.1104.end
}
theme = realm
theme = coronation
left_portrait = {
character = root
animation = personality_greedy
@ -890,15 +882,57 @@ major_decisions.1104 = {
}
#I have lost de jure territory to a new Kingdom
#I have lost de jure territory to a new title
major_decisions.1105 = {
type = character_event
title = major_decisions.1105.t
desc = major_decisions.1105.desc
theme = realm
desc = {
desc = major_decisions.1105.desc
triggered_desc = {
trigger = {
exists = scope:religious_interceder
}
desc = major_decisions.1105.desc_authority
}
}
theme = coronation
left_portrait = {
character = scope:founder
animation = personality_greedy
triggered_animation = {
trigger = {
OR = {
scope:founder.faith.religion = religion:catholic_religion
scope:founder.faith.religion = religion:eastern_orthodox_religion
scope:founder.faith.religion = religion:protestant_religion
}
}
animation = scepter
}
animation = personality_callous
camera = camera_event_right_wedding
}
right_portrait = {
character = scope:religious_interceder
animation = zealous_superior
}
trigger = {
NOT = {
scope:religious_authority ?= root
}
}
immediate = {
if = {
limit = {
scope:religious_authority ?= {
NOT = {
this = root
}
}
}
scope:religious_authority = {
save_scope_as = religious_interceder
}
}
}
option = {

View file

@ -568,7 +568,7 @@ mpo_greatest_of_khans.0101 = {
limit = {
is_ai = no
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = major_stress_impact_gain
brave = major_stress_impact_gain
ambitious = major_stress_impact_gain
@ -602,7 +602,7 @@ mpo_greatest_of_khans.0101 = {
name = fought_for_gok_alone
value = gok_obedient_vassals_strength_value
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = medium_stress_impact_gain
craven = major_stress_impact_gain
}
@ -739,7 +739,7 @@ mpo_greatest_of_khans.0102 = {
target = scope:gurkhan_to_gok
opinion = 40
}
stress_impact = {
stress_and_fulfillment_impact = {
craven = medium_stress_impact_gain
}
}
@ -793,7 +793,7 @@ mpo_greatest_of_khans.0102 = {
opinion = -40
}
}
stress_impact = {
stress_and_fulfillment_impact = {
craven = medium_stress_impact_gain
}
}
@ -816,7 +816,7 @@ mpo_greatest_of_khans.0102 = {
target = scope:gurkhan_to_gok
opinion = 10
}
stress_impact = {
stress_and_fulfillment_impact = {
brave = medium_stress_impact_gain
arrogant = major_stress_impact_gain
}
@ -867,7 +867,7 @@ mpo_greatest_of_khans.0102 = {
opinion = 30
}
stress_impact = {
stress_and_fulfillment_impact = {
brave = medium_stress_impact_gain
arrogant = major_stress_impact_gain
}
@ -1001,6 +1001,7 @@ scripted_trigger mpo_greatest_of_khans_0002_confederation_trigger = {
mpo_greatest_of_khans.0001 = {
type = character_event
window = fullscreen_event
queue_icon = "gfx/interface/icons/situation_types/the_great_steppe.dds"
title = mpo_greatest_of_khans.0001.t
desc = mpo_greatest_of_khans.0001.desc
theme = nomads
@ -1068,6 +1069,7 @@ mpo_greatest_of_khans.0001 = {
mpo_greatest_of_khans.0002 = {
type = character_event
window = fullscreen_event
queue_icon = "gfx/interface/icons/situation_types/the_great_steppe.dds"
title = mongol_invasion.1002.t
desc = {
first_valid = {
@ -1221,7 +1223,7 @@ mpo_greatest_of_khans.0002 = {
resolve_title_and_vassal_change = scope:change
}
stress_impact = {
stress_and_fulfillment_impact = {
brave = minor_stress_impact_gain
stubborn = minor_stress_impact_gain
}
@ -1316,7 +1318,7 @@ mpo_greatest_of_khans.0002 = {
change_county_fertility = major_county_fertility_level_gain
}
}
stress_impact = {
stress_and_fulfillment_impact = {
ambitious = minor_stress_impact_gain
}
ai_chance = {
@ -1504,7 +1506,7 @@ mpo_greatest_of_khans.0003 = {
trigger = {
OR = {
faith = faith:nestorian
faith.religion = faith:manichean.religion
faith.religion = faith:manichaean_faith.religion
}
}
name = mpo_greatest_of_khans.0003.f
@ -1955,7 +1957,7 @@ mpo_greatest_of_khans.0030 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
compassionate = major_stress_impact_gain
greedy = massive_stress_impact_gain
lazy = medium_stress_impact_gain
@ -2098,6 +2100,12 @@ mpo_greatest_of_khans.0030 = {
}
add = -50
}
modifier = {
culture = {
culture_is_historically_admin_trigger = yes
}
add = 100
}
}
}
#Convert to feudal government
@ -2398,6 +2406,7 @@ mpo_greatest_of_khans.0051 = {
mpo_greatest_of_khans.1001 = {
type = character_event
window = fullscreen_event
queue_icon = "gfx/interface/icons/situation_types/the_great_steppe.dds"
title = mongol_invasion.1002.t
desc = {
first_valid = {
@ -2560,7 +2569,7 @@ mpo_greatest_of_khans.1001 = {
resolve_title_and_vassal_change = scope:change
}
stress_impact = {
stress_and_fulfillment_impact = {
brave = minor_stress_impact_gain
stubborn = minor_stress_impact_gain
}
@ -2655,7 +2664,7 @@ mpo_greatest_of_khans.1001 = {
change_county_fertility = major_county_fertility_level_gain
}
}
stress_impact = {
stress_and_fulfillment_impact = {
ambitious = minor_stress_impact_gain
}
ai_chance = {

File diff suppressed because it is too large Load diff

View file

@ -1,720 +0,0 @@
namespace = ach_maintenance_events
ach_maintenance_events.0001 = { # Clean up of Coronation realm law, will happen 1 tick after you gain the title (due to on_actions)
type = character_event
hidden = yes
trigger = {
coronation_trigger = yes
}
immediate = {
if = {
limit = {
NOT = {
has_game_rule = coronation_laws_off
}
}
if = {
limit = {
has_variable = crowned_king_var
NOT = { has_realm_law = crowned_king }
}
add_realm_law_skip_effects = crowned_king
}
else_if = {
limit = {
has_variable = crowned_emperor_var
NOT = { has_realm_law = crowned_emperor }
}
add_realm_law_skip_effects = crowned_emperor
}
else_if = {
limit = {
NOR = {
has_variable = crowned_king_var
has_variable = crowned_emperor_var
}
NOT = { has_realm_law = uncrowned }
}
add_realm_law_skip_effects = uncrowned
}
}
}
}
ach_maintenance_events.0002 = { # ACH Oath synergy culture rewards
type = character_event
hidden = yes
trigger = {
has_variable = mend_the_fracture_oath_target_culture
culture ?= {
has_cultural_tradition = oath_mend_the_fracture_tradition
}
top_liege = root
var:mend_the_fracture_oath_target_culture = {
has_cultural_tradition = oath_mend_the_fracture_tradition
NOT = { this = root.culture }
any_culture_county = {
count >= 3
top_liege = root.top_liege
}
}
}
immediate = {
# calculate the chances of a positive thing happening
set_variable = {
name = synergy_cultures_chance
value = 0.1
}
set_variable = {
name = synergy_cultures_amount
value = 0
}
var:mend_the_fracture_oath_target_culture = {
if = {
limit = {
cultural_acceptance = {
target = root.culture
value >= 99
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.4
}
}
}
else_if = {
limit = {
cultural_acceptance = {
target = root.culture
value >= 80
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.3
}
}
}
else_if = {
limit = {
cultural_acceptance = {
target = root.culture
value >= 60
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.2
}
}
}
else_if = {
limit = {
cultural_acceptance = {
target = root.culture
value >= 40
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.1
}
}
}
if = {
limit = {
culture_head ?= {
opinion = {
target = root
value >= 80
}
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.3
}
}
}
else_if = {
limit = {
culture_head ?= {
opinion = {
target = root
value >= 40
}
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.2
}
}
}
else_if = {
limit = {
culture_head ?= {
opinion = {
target = root
value >= 20
}
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.1
}
}
}
}
if = {
limit = {
exists = var:mend_the_fracture_oath_target_culture.culture_head
}
if = {
limit = {
opinion = {
target = var:mend_the_fracture_oath_target_culture.culture_head
value >= 80
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.3
}
}
}
else_if = {
limit = {
opinion = {
target = var:mend_the_fracture_oath_target_culture.culture_head
value >= 40
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.2
}
}
}
else_if = {
limit = {
opinion = {
target = var:mend_the_fracture_oath_target_culture.culture_head
value >= 20
}
}
root = {
change_variable = {
name = synergy_cultures_chance
add = 0.1
}
}
}
}
if = {
limit = {
prestige_level = 5
}
change_variable = {
name = synergy_cultures_chance
add = 0.2
}
}
else_if = {
limit = {
prestige_level = 4
}
change_variable = {
name = synergy_cultures_chance
add = 0.15
}
}
else_if = {
limit = {
prestige_level = 3
}
change_variable = {
name = synergy_cultures_chance
add = 0.1
}
}
else_if = {
limit = {
prestige_level = 2
}
change_variable = {
name = synergy_cultures_chance
add = 0.05
}
}
else_if = {
limit = {
prestige_level = 1
}
change_variable = {
name = synergy_cultures_chance
add = 0.02
}
}
if = {
limit = {
var:synergy_cultures_chance >= 1
}
change_variable = {
name = synergy_cultures_amount
add = var:synergy_cultures_chance
multiply = 2
}
set_variable = {
name = synergy_cultures_chance
value = 1
}
}
# calculate the amount of a positive things happening
var:mend_the_fracture_oath_target_culture = {
every_culture_county = {
limit = {
top_liege = root.top_liege
}
change_variable = {
name = synergy_cultures_amount
add = 1
}
}
}
change_variable = {
name = synergy_cultures_amount
multiply = 0.2
multiply = var:synergy_cultures_chance
min = 1
}
while = {
limit = {
var:synergy_cultures_amount > 0
}
random_list = {
1 = {
culture ?= {
random_culture_county = {
limit = {
NOT = {
has_county_modifier = oath_mend_the_fracture_county
}
holder = root
}
alternative_limit = {
NOT = {
has_county_modifier = oath_mend_the_fracture_county
}
top_liege = root.top_liege
}
alternative_limit = {
NOT = {
has_county_modifier = oath_mend_the_fracture_county
}
}
add_county_modifier = {
modifier = oath_mend_the_fracture_county
years = 2
}
add_to_list = synergy_culture_counties
}
}
var:mend_the_fracture_oath_target_culture = {
random_culture_county = {
limit = {
NOT = {
has_county_modifier = oath_mend_the_fracture_county
}
holder = root
}
alternative_limit = {
NOT = {
has_county_modifier = oath_mend_the_fracture_county
}
top_liege = root.top_liege
}
alternative_limit = {
NOT = {
has_county_modifier = oath_mend_the_fracture_county
}
}
add_county_modifier = {
modifier = oath_mend_the_fracture_county
years = 3
}
add_to_list = synergy_culture_counties
}
}
save_scope_as = county_reward
}
1 = {
modifier = {
NOT = {
root.culture.culture_head ?= root
}
factor = 0
}
spawn_army = {
name = ach_culture_synergy_troops
men_at_arms = {
type = accolade_maa_archers
stacks = 1
}
men_at_arms = {
type = accolade_maa_skirmishers
stacks = 1
}
location = root.capital_province
uses_supply = no
inheritable = yes
}
var:mend_the_fracture_oath_target_culture = {
if = {
limit = {
NOT = {
culture_head ?= root
}
}
}
culture_head ?= {
spawn_army = {
name = ach_culture_synergy_troops
men_at_arms = {
type = accolade_maa_skirmishers
stacks = 1
}
location = root.capital_province
uses_supply = no
inheritable = yes
}
}
}
save_scope_as = army_reward
}
1 = {
modifier = {
NOT = {
root.culture.culture_head ?= root
var:mend_the_fracture_oath_target_culture.culture_head != root
}
factor = 0
}
modifier = {
opinion = {
target = var:mend_the_fracture_oath_target_culture.culture_head
value = 100
}
factor = 0
}
add_opinion = {
target = var:mend_the_fracture_oath_target_culture.culture_head
opinion = 20
modifier = ach_synergy_culture_opinion
}
save_scope_as = opinion_reward
}
}
change_variable = {
name = synergy_cultures_amount
subtract = 1
}
}
# inform the player about what happened
send_interface_message = {
title = ach_maintenance_events.0002.title
if = {
limit = {
exists = scope:army_reward
}
custom_tooltip = ach_maintenance_events.0002.army_reward
}
if = {
limit = {
exists = scope:opinion_reward
}
custom_tooltip = ach_maintenance_events.0002.opinion_reward
}
if = {
limit = {
exists = scope:county_reward
}
every_in_list = {
list = synergy_culture_counties
show_as_tooltip = {
add_county_modifier = {
modifier = oath_mend_the_fracture_county
years = 2
}
}
}
}
}
if = {
limit = {
var:mend_the_fracture_oath_target_culture = {
any_culture_county = {
holder = {
culture = var:mend_the_fracture_oath_target_culture
is_ai = no
}
}
}
}
send_interface_message = {
title = ach_maintenance_events.0002.title
if = {
limit = {
exists = scope:army_reward
}
custom_tooltip = ach_maintenance_events.0002.army_reward
}
if = {
limit = {
exists = scope:opinion_reward
}
custom_tooltip = ach_maintenance_events.0002.opinion_reward
}
if = {
limit = {
exists = scope:county_reward
}
every_in_list = {
list = synergy_culture_counties
show_as_tooltip = {
add_county_modifier = {
modifier = oath_mend_the_fracture_county
years = 2
}
}
}
}
}
}
remove_variable = synergy_cultures_chance
remove_variable = synergy_cultures_amount
}
}
ach_maintenance_events.0100 = { #Coronation host is ded, notify guests
type = character_event
title = ach_maintenance_events.0100.t
desc = ach_maintenance_events.0100.desc
theme = realm
left_portrait = {
character = root
animation = shock
}
right_portrait = {
character = scope:host
animation = dead
}
immediate = {
}
option = {
name = ach_maintenance_events.0100.a
}
}
ach_maintenance_events.0101 = { #Coronation host has been imprisoned, notify guests
type = character_event
title = ach_maintenance_events.0101.t
desc = ach_maintenance_events.0101.desc
theme = realm
left_portrait = {
character = root
animation = shock
}
right_portrait = {
character = scope:host
animation = prisonhouse
}
lower_left_portrait = {
character = scope:gaoler
}
immediate = {
scope:host.imprisoner = {
save_scope_as = gaoler
}
}
trigger = {
NOT = { #you know what you did
this = scope:host.imprisoner
}
}
option = {
name = ach_maintenance_events.0101.a
}
}
ach_maintenance_events.0102 = { #Coronation host has been imprisoned, notify host and cancellation
type = character_event
title = ach_maintenance_events.0102.t
desc = ach_maintenance_events.0102.desc
theme = realm
left_portrait = {
character = root
animation = prisonhouse
}
right_portrait = {
character = scope:gaoler
animation = manic
}
immediate = {
scope:host.imprisoner = {
save_scope_as = gaoler
}
}
option = {
name = ach_maintenance_events.0102.a
}
}
ach_maintenance_events.0103 = { #No one shows up, notify host
type = character_event
title = ach_maintenance_events.0103.t
desc = ach_maintenance_events.0103.desc
theme = realm
left_portrait = {
character = root
animation = worry
}
immediate = {
}
option = {
name = ach_maintenance_events.0103.a
}
}
ach_maintenance_events.0104 = { #Officiator ded, host cancelled the coronation, notify guests
type = character_event
title = ach_maintenance_events.0104.t
desc = ach_maintenance_events.0104.desc
theme = realm
left_portrait = {
character = root
animation = stunned
}
right_portrait = {
character = scope:host
animation = wailing
}
lower_right_portrait = {
character = scope:dead_officiator
}
immediate = {
scope:activity.var:officiator ?= { save_scope_as = dead_officiator }
}
option = {
name = ach_maintenance_events.0104.a
}
}
ach_maintenance_events.0105 = { #Host excommunicated, notify guests
type = character_event
title = ach_maintenance_events.0105.t
desc = ach_maintenance_events.0105.desc
theme = realm
left_portrait = {
character = root
animation = worry
}
center_portrait = {
character = scope:host
animation = shame
}
right_portrait = {
character = scope:hof
animation = go_to_your_room
}
immediate = {
scope:host.faith.religious_head = { save_scope_as = hof }
}
option = {
name = ach_maintenance_events.0105.a
}
}
ach_maintenance_events.0106 = { #Host excommunicated, notify host
type = character_event
title = ach_maintenance_events.0106.t
desc = ach_maintenance_events.0106.desc
theme = realm
left_portrait = {
character = root
animation = shame
}
right_portrait = {
character = scope:hof
animation = go_to_your_room
}
immediate = {
scope:hof.faith.religious_head = { save_scope_as = hof }
}
option = {
name = ach_maintenance_events.0106.a
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -91,8 +91,6 @@ bp2_adult_education.0009 = {
}
immediate = {
#Reward effects
adult_education_completed_log_entry_effect = yes
scope:activity = {
random_attending_character = {
limit = {
@ -195,11 +193,11 @@ bp2_adult_education.0009 = {
scope:activity = {
every_attending_character = {
limit = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_character_flag = student_1
has_character_flag = student_2
has_variable = {
name = teacher_1
name = teacher_2
name = student_1
name = student_2
}
}
silent_disappearance_ai_if_created_effect = yes
@ -283,9 +281,9 @@ bp2_adult_education.1000 = {
}
scope:activity = {
any_attending_character = {
OR = {
has_character_flag = student_1
has_character_flag = student_2
has_variable = {
name = student_1
name = student_2
}
}
}
@ -297,18 +295,18 @@ bp2_adult_education.1000 = {
activity_location = { save_scope_as = location }
random_attending_character = {
limit = {
OR = {
has_character_flag = student_1
has_character_flag = student_2
has_variable = {
name = student_1
name = student_2
}
}
save_scope_as = student
}
random_attending_character = {
limit = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
}
save_scope_as = teacher
@ -357,7 +355,7 @@ bp2_adult_education.1000 = {
}
}
root = {
stress_impact = {
stress_and_fulfillment_impact = {
diligent = minor_stress_impact_loss
gregarious = minor_stress_impact_loss
}
@ -389,11 +387,11 @@ bp2_adult_education.1000 = {
REASON = rival_bested_me_in_debate
OPINION = default_rival_opinion
}
stress_impact = {
stress_and_fulfillment_impact = {
ambitious = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
diligent = medium_stress_impact_gain
scholar = major_stress_impact_gain
erudite = major_stress_impact_gain
}
}
}
@ -455,7 +453,7 @@ bp2_adult_education.1000 = {
}
}
root = {
stress_impact = {
stress_and_fulfillment_impact = {
gregarious = medium_stress_impact_loss
}
}
@ -486,7 +484,7 @@ bp2_adult_education.1000 = {
REASON = rival_bested_me_in_debate
OPINION = default_rival_opinion
}
stress_impact = {
stress_and_fulfillment_impact = {
ambitious = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
deceitful = medium_stress_impact_gain
@ -516,7 +514,7 @@ bp2_adult_education.1000 = {
name = bp2_adult_education.1000.c
custom_tooltip = adult_education_tt_positive_tiny
scope:activity = { activity_special_type_progression_tiny = yes }
stress_impact = {
stress_and_fulfillment_impact = {
gregarious = minor_stress_impact_gain
ambitious = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
@ -557,9 +555,9 @@ bp2_adult_education.1010 = {
num_of_known_languages <= language_soft_cap
scope:activity = {
any_attending_character = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
}
}
@ -575,9 +573,9 @@ bp2_adult_education.1010 = {
activity_location = { save_scope_as = location }
random_attending_character = {
limit = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
}
save_scope_as = teacher
@ -605,7 +603,7 @@ bp2_adult_education.1010 = {
custom_tooltip = adult_education_tt_positive_major
activity_special_type_progression_major = yes
}
stress_impact = {
stress_and_fulfillment_impact = {
base = major_stress_impact_gain
diligent = minor_stress_impact_loss
lazy = minor_stress_impact_gain
@ -690,7 +688,7 @@ bp2_adult_education.1010 = {
add_diplomacy_skill = 1
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_gain
diligent = medium_stress_impact_gain
lifestyle_poet = major_stress_impact_gain
@ -811,7 +809,7 @@ bp2_adult_education.1010 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
craven = major_stress_impact_gain
shy = major_stress_impact_gain
gregarious = minor_stress_impact_loss
@ -837,7 +835,7 @@ bp2_adult_education.1010 = {
name = bp2_adult_education.1010.c
custom_tooltip = adult_education_tt_positive_tiny
scope:activity = { activity_special_type_progression_tiny = yes }
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
diligent = medium_stress_impact_gain
ambitious = medium_stress_impact_gain
@ -884,6 +882,12 @@ scripted_effect bp2_learn_lithurgical_language_effect = {
}
learn_language = language_greek
}
else_if = {
limit = {
scope:activity.activity_location.county.faith = faith:armenian_apostolic
}
learn_language = language_armenian
}
}
bp2_adult_education.1011 = {
@ -926,6 +930,7 @@ bp2_adult_education.1011 = {
limit = {
OR = {
scope:activity.activity_location.county.faith.religion = religion:judaism_religion
scope:activity.activity_location.county.faith = faith:nestorian
}
}
NOT = { knows_language = language_aramaic }
@ -942,6 +947,12 @@ bp2_adult_education.1011 = {
}
NOT = { knows_language = language_greek }
}
trigger_else_if = {
limit = {
scope:activity.activity_location.county.faith = faith:armenian_apostolic
}
NOT = { knows_language = language_armenian }
}
trigger_else = {
always = no
}
@ -957,9 +968,9 @@ bp2_adult_education.1011 = {
activity_location = { save_scope_as = location }
random_attending_character = {
limit = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
}
save_scope_as = teacher
@ -987,7 +998,7 @@ bp2_adult_education.1011 = {
activity_special_type_progression_major = yes
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = major_stress_impact_gain
diligent = medium_stress_impact_loss
stubborn = minor_stress_impact_loss
@ -1057,7 +1068,7 @@ bp2_adult_education.1011 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
shy = minor_stress_impact_gain
}
}
@ -1076,7 +1087,7 @@ bp2_adult_education.1011 = {
modifier = foolish_endeavor_modifier
years = 5
}
stress_impact = {
stress_and_fulfillment_impact = {
base = medium_stress_impact_gain
}
}
@ -1134,7 +1145,7 @@ bp2_adult_education.1011 = {
activity_special_type_progression_medium = yes
}
}
stress_impact = {
stress_and_fulfillment_impact = {
shy = medium_stress_impact_gain
lazy = medium_stress_impact_gain
fickle = medium_stress_impact_gain
@ -1160,7 +1171,7 @@ bp2_adult_education.1011 = {
modifier = disappointed_opinion
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = medium_stress_impact_gain
diligent = medium_stress_impact_gain
}
@ -1189,7 +1200,7 @@ bp2_adult_education.1011 = {
name = bp2_adult_education.1010.c
custom_tooltip = adult_education_tt_positive_tiny
scope:activity = { activity_special_type_progression_tiny = yes }
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
diligent = medium_stress_impact_gain
ambitious = medium_stress_impact_gain
@ -1232,9 +1243,9 @@ bp2_adult_education.1012 = {
num_of_known_languages <= language_soft_cap
scope:activity = {
any_attending_character = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
save_temporary_scope_as = teacher_check
}
@ -1247,9 +1258,9 @@ bp2_adult_education.1012 = {
modifier = {
scope:activity = {
any_attending_character = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
culture != scope:activity.activity_location.county.culture
}
@ -1264,17 +1275,17 @@ bp2_adult_education.1012 = {
activity_location = { save_scope_as = location }
random_attending_character = {
limit = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
culture != scope:activity.activity_location.county.culture
root = { NOT = { knows_language_of_culture = prev.culture } }
}
alternative_limit = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
root = { NOT = { knows_language_of_culture = prev.culture } }
}
@ -1329,7 +1340,7 @@ bp2_adult_education.1012 = {
OPINION = default_friend_opinion
}
}
stress_impact = {
stress_and_fulfillment_impact = {
shy = medium_stress_impact_gain
lazy = medium_stress_impact_gain
fickle = medium_stress_impact_gain
@ -1355,7 +1366,7 @@ bp2_adult_education.1012 = {
modifier = disappointed_opinion
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = medium_stress_impact_gain
diligent = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
@ -1408,7 +1419,7 @@ bp2_adult_education.1012 = {
custom_tooltip = adult_education_tt_positive_medium
activity_special_type_progression_medium = yes
}
stress_impact = {
stress_and_fulfillment_impact = {
shy = medium_stress_impact_gain
lazy = medium_stress_impact_gain
fickle = medium_stress_impact_gain
@ -1434,7 +1445,7 @@ bp2_adult_education.1012 = {
modifier = disappointed_opinion
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = medium_stress_impact_gain
diligent = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
@ -1454,7 +1465,7 @@ bp2_adult_education.1012 = {
name = bp2_adult_education.1010.c
custom_tooltip = adult_education_tt_positive_tiny
scope:activity = { activity_special_type_progression_tiny = yes }
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
diligent = medium_stress_impact_gain
ambitious = medium_stress_impact_gain
@ -1524,9 +1535,9 @@ bp2_adult_education.1020 = {
}
}
}
scope:location.county.faith = {
scope:location.county.rite = {
NOT = {
has_doctrine = doctrine_theocracy_lay_clergy
rite_has_doctrine = doctrine_theocracy_lay_clergy
}
}
}
@ -1543,9 +1554,9 @@ bp2_adult_education.1020 = {
}
}
}
scope:location.county.faith = {
scope:location.county.rite = {
NOT = {
has_doctrine = doctrine_theocracy_lay_clergy
rite_has_doctrine = doctrine_theocracy_lay_clergy
}
}
}
@ -1598,15 +1609,15 @@ bp2_adult_education.1020 = {
scope:activity.activity_location = { geographical_region = world_europe }
scope:activity = {
any_attending_character = {
OR = {
has_character_flag = student_1
has_character_flag = student_2
has_variable = {
name = student_1
name = student_2
}
}
any_attending_character = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
}
}
@ -1621,9 +1632,9 @@ bp2_adult_education.1020 = {
activity_location = { save_scope_as = location }
random_attending_character = {
limit = {
OR = {
has_character_flag = student_1
has_character_flag = student_2
has_variable = {
name = student_1
name = student_2
}
}
save_scope_as = student
@ -1639,9 +1650,9 @@ bp2_adult_education.1020 = {
}
random_attending_character = {
limit = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
}
save_scope_as = teacher
@ -1667,7 +1678,7 @@ bp2_adult_education.1020 = {
OPINION = default_friend_opinion
}
}
stress_impact = {
stress_and_fulfillment_impact = {
diligent = minor_stress_impact_loss
shy = minor_stress_impact_loss
cynical = minor_stress_impact_gain
@ -1722,7 +1733,7 @@ bp2_adult_education.1020 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_gain
shy = medium_stress_impact_gain
zealous = medium_stress_impact_gain
@ -1785,7 +1796,7 @@ bp2_adult_education.1020 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
diligent = medium_stress_impact_gain
}
@ -1799,7 +1810,7 @@ bp2_adult_education.1020 = {
name = bp2_adult_education.1020.d
custom_tooltip = adult_education_tt_positive_medium
scope:activity = { activity_special_type_progression_medium = yes }
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_gain
}
ai_chance = {
@ -1853,9 +1864,9 @@ bp2_adult_education.1030 = {
trigger = {
scope:activity = {
any_attending_character = {
OR = {
has_character_flag = student_1
has_character_flag = student_2
has_variable = {
name = student_1
name = student_2
}
}
}
@ -1870,9 +1881,9 @@ bp2_adult_education.1030 = {
activity_location = { save_scope_as = location }
random_attending_character = {
limit = {
OR = {
has_character_flag = student_1
has_character_flag = student_2
has_variable = {
name = student_1
name = student_2
}
}
save_scope_as = student
@ -1919,7 +1930,7 @@ bp2_adult_education.1030 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
diligent = minor_stress_impact_gain
gregarious = minor_stress_impact_loss
shy = minor_stress_impact_loss
@ -1940,7 +1951,7 @@ bp2_adult_education.1030 = {
years = 10
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_gain
diligent = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
@ -1985,7 +1996,7 @@ bp2_adult_education.1030 = {
scope:activity = { activity_special_type_progression_tiny = yes }
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
}
ai_chance = {
@ -2002,7 +2013,7 @@ bp2_adult_education.1030 = {
}
custom_tooltip = adult_education_tt_positive_medium
scope:activity = { activity_special_type_progression_medium = yes }
stress_impact = {
stress_and_fulfillment_impact = {
gregarious = medium_stress_impact_gain
lifestyle_reveler = medium_stress_impact_gain
}
@ -2010,7 +2021,7 @@ bp2_adult_education.1030 = {
else = {
custom_tooltip = adult_education_tt_positive_tiny
scope:activity = { activity_special_type_progression_tiny = yes }
stress_impact = {
stress_and_fulfillment_impact = {
base = medium_stress_impact_gain
diligent = minor_stress_impact_loss
}
@ -2168,7 +2179,7 @@ bp2_adult_education.1040 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
honest = minor_stress_impact_loss
gregarious = minor_stress_impact_gain
craven = medium_stress_impact_gain
@ -2216,7 +2227,7 @@ bp2_adult_education.1040 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
honest = minor_stress_impact_loss
gregarious = minor_stress_impact_gain
craven = medium_stress_impact_gain
@ -2242,7 +2253,7 @@ bp2_adult_education.1040 = {
min = -49
}
modifier = {
has_trait = scholar
has_trait = erudite
add = 20
}
modifier = {
@ -2293,8 +2304,8 @@ bp2_adult_education.1040 = {
}
}
}
stress_impact = {
scholar = minor_stress_impact_loss
stress_and_fulfillment_impact = {
erudite = minor_stress_impact_loss
deceitful = minor_stress_impact_loss
diligent = minor_stress_impact_loss
}
@ -2330,7 +2341,7 @@ bp2_adult_education.1040 = {
OPINION = default_rival_opinion
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = medium_stress_impact_gain
}
}
@ -2399,7 +2410,7 @@ bp2_adult_education.1040 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
gregarious = medium_stress_impact_loss
shy = minor_stress_impact_gain
@ -2440,7 +2451,7 @@ bp2_adult_education.1040 = {
OPINION = default_rival_opinion
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
shy = medium_stress_impact_gain
@ -2582,7 +2593,7 @@ bp2_adult_education.1050 = {
desc = cultural_acceptance_gain_hold_court_event_outcome
}
}
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = medium_stress_impact_gain
impatient = medium_stress_impact_gain
zealous = medium_stress_impact_gain
@ -2636,7 +2647,7 @@ bp2_adult_education.1050 = {
OPINION = default_friend_opinion
}
}
stress_impact = {
stress_and_fulfillment_impact = {
diligent = medium_stress_impact_gain
shy = medium_stress_impact_gain
gregarious = minor_stress_impact_loss
@ -2663,7 +2674,7 @@ bp2_adult_education.1050 = {
name = bp2_adult_education.1050.c
custom_tooltip = adult_education_tt_positive_medium
scope:activity = { activity_special_type_progression_medium = yes }
stress_impact = {
stress_and_fulfillment_impact = {
shy = minor_stress_impact_loss
diligent = minor_stress_impact_loss
humble = medium_stress_impact_gain
@ -2710,7 +2721,7 @@ bp2_adult_education.1060 = {
add = 2
}
modifier = {
has_trait = scholar
has_trait = erudite
add = 1
}
}
@ -2788,7 +2799,7 @@ bp2_adult_education.1060 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = medium_stress_impact_loss
}
}
@ -2805,7 +2816,7 @@ bp2_adult_education.1060 = {
custom_tooltip = adult_education_tt_positive_major
scope:activity = { activity_special_type_progression_major = yes }
}
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
}
}
@ -2822,7 +2833,7 @@ bp2_adult_education.1060 = {
custom_tooltip = adult_education_tt_positive_tiny
scope:activity = { activity_special_type_progression_tiny = yes }
}
stress_impact = {
stress_and_fulfillment_impact = {
base = medium_stress_impact_gain
}
}
@ -2842,10 +2853,10 @@ bp2_adult_education.1060 = {
bp2_goliards_potential_shenanigans_effect = { TITLE_VALUE = bp2_adult_education.1060.b.tt }
custom_tooltip = adult_education_tt_positive_tiny
scope:activity = { activity_special_type_progression_tiny = yes }
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
diligent = minor_stress_impact_gain
scholar = major_stress_impact_gain
erudite = major_stress_impact_gain
theologian = major_stress_impact_gain
}
ai_chance = {
@ -2856,7 +2867,7 @@ bp2_adult_education.1060 = {
# Option C: opt-out
option = {
name = bp2_adult_education.1060.c
stress_impact = {
stress_and_fulfillment_impact = {
base = medium_stress_impact_loss
}
ai_chance = {
@ -2912,9 +2923,9 @@ bp2_adult_education.1070 = {
has_character_flag = student_2
}
any_attending_character = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
}
}
@ -2929,18 +2940,18 @@ bp2_adult_education.1070 = {
activity_location = { save_scope_as = location }
random_attending_character = {
limit = {
OR = {
has_character_flag = student_1
has_character_flag = student_2
has_variable = {
name = student_1
name = student_2
}
}
save_scope_as = student
}
random_attending_character = {
limit = {
OR = {
has_character_flag = student_1
has_character_flag = student_2
has_variable = {
name = student_1
name = student_2
}
this != scope:student
}
@ -2948,9 +2959,9 @@ bp2_adult_education.1070 = {
}
random_attending_character = {
limit = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
}
save_scope_as = teacher
@ -2995,7 +3006,7 @@ bp2_adult_education.1070 = {
modifier = proud_opinion
opinion = 20
}
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
arrogant = minor_stress_impact_loss
shy = minor_stress_impact_gain
@ -3029,7 +3040,7 @@ bp2_adult_education.1070 = {
#Effect
root = {
stress_impact = {
stress_and_fulfillment_impact = {
base = medium_stress_impact_gain
shy = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
@ -3084,7 +3095,7 @@ bp2_adult_education.1070 = {
modifier = proud_opinion
opinion = 20
}
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
arrogant = minor_stress_impact_loss
shy = minor_stress_impact_gain
@ -3120,7 +3131,7 @@ bp2_adult_education.1070 = {
#Effect
root = {
bp2_lifestyle_xp_gain_per_type_effect = { VALUE = minor }
stress_impact = {
stress_and_fulfillment_impact = {
base = medium_stress_impact_gain
shy = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
@ -3150,7 +3161,7 @@ bp2_adult_education.1070 = {
OPINION = default_rival_opinion
}
}
stress_impact = {
stress_and_fulfillment_impact = {
shy = major_stress_impact_loss
reclusive = major_stress_impact_loss
}
@ -3191,9 +3202,9 @@ bp2_adult_education.1080 = {
trigger = {
scope:activity = {
any_attending_character = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
OR = {
is_infidel_trigger = { WHO = this TARGET = root }
@ -3217,9 +3228,9 @@ bp2_adult_education.1080 = {
activity_location = { save_scope_as = location }
random_attending_character = {
limit = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
OR = {
is_infidel_trigger = { WHO = this TARGET = root }
@ -3241,7 +3252,7 @@ bp2_adult_education.1080 = {
bp2_lifestyle_xp_gain_per_type_effect = { VALUE = medium }
custom_tooltip = adult_education_tt_positive_medium
scope:activity = { activity_special_type_progression_medium = yes }
stress_impact = {
stress_and_fulfillment_impact = {
zealous = major_stress_impact_gain
theologian = major_stress_impact_gain
}
@ -3258,7 +3269,7 @@ bp2_adult_education.1080 = {
}
bp2_lifestyle_xp_gain_per_type_effect = { VALUE = medium }
bp2_goliards_potential_shenanigans_effect = { TITLE_VALUE = bp2_adult_education.1080.b.tt }
stress_impact = {
stress_and_fulfillment_impact = {
diligent = medium_stress_impact_gain
}
ai_chance = {
@ -3282,7 +3293,7 @@ bp2_adult_education.1080 = {
}
add_piety = major_piety_gain
add_prestige = medium_prestige_gain
stress_impact = {
stress_and_fulfillment_impact = {
cynical = major_stress_impact_gain
gregarious = major_stress_impact_gain
compassionate = major_stress_impact_gain
@ -3331,7 +3342,7 @@ bp2_adult_education.1080 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
zealous = massive_stress_impact_gain
}
ai_chance = {
@ -3369,7 +3380,7 @@ bp2_adult_education.1080 = {
OPINION = default_friend_opinion
}
}
stress_impact = {
stress_and_fulfillment_impact = {
zealous = major_stress_impact_gain
}
ai_chance = {
@ -3404,9 +3415,9 @@ bp2_adult_education.1090 = {
trigger = {
scope:activity = {
any_attending_character = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
}
}
@ -3417,9 +3428,9 @@ bp2_adult_education.1090 = {
modifier = {
scope:activity = {
any_attending_character = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
has_trait = education_martial
}
@ -3429,9 +3440,9 @@ bp2_adult_education.1090 = {
modifier = {
scope:activity = {
any_attending_character = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
has_trait = lifestyle_hunter
}
@ -3445,9 +3456,9 @@ bp2_adult_education.1090 = {
activity_location = { save_scope_as = location }
random_attending_character = {
limit = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
OR = {
has_trait = education_martial
@ -3455,9 +3466,9 @@ bp2_adult_education.1090 = {
}
}
alternative_limit = {
OR = {
has_character_flag = teacher_1
has_character_flag = teacher_2
has_variable = {
name = teacher_1
name = teacher_2
}
}
save_scope_as = teacher
@ -3474,7 +3485,7 @@ bp2_adult_education.1090 = {
add_prestige = medium_prestige_loss
custom_tooltip = adult_education_tt_positive_major
scope:activity = { activity_special_type_progression_major = yes }
stress_impact = {
stress_and_fulfillment_impact = {
humble = minor_stress_impact_gain
compassionate = medium_stress_impact_gain
zealous = medium_stress_impact_gain
@ -3485,7 +3496,7 @@ bp2_adult_education.1090 = {
limit = {
OR = {
culture = { has_cultural_tradition = tradition_vegetarianism }
faith = { has_doctrine = tenet_sanctity_of_nature }
rite = { rite_has_tenet = tenet_sanctity_of_nature }
}
}
custom_tooltip = bp2_adult_education.1090.a.tt
@ -3498,7 +3509,7 @@ bp2_adult_education.1090 = {
add = 100
}
modifier = {
has_trait = scholar
has_trait = erudite
add = 100
}
modifier = {
@ -3546,7 +3557,7 @@ bp2_adult_education.1090 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
forgiving = minor_stress_impact_gain
compassionate = medium_stress_impact_gain
diligent = major_stress_impact_gain
@ -3574,7 +3585,7 @@ bp2_adult_education.1090 = {
name = bp2_adult_education.1090.c
custom_tooltip = adult_education_tt_positive_medium
scope:activity = { activity_special_type_progression_medium = yes }
stress_impact = {
stress_and_fulfillment_impact = {
brave = minor_stress_impact_gain
diligent = minor_stress_impact_gain
gregarious = minor_stress_impact_gain

View file

@ -1,514 +0,0 @@
namespace = bp2_character_interaction
# Influence Ward's Personality - Success Event
bp2_character_interaction.1001 = {
type = character_event
content_source = dlc_009
title = bp2_character_interaction.1001.t
desc = {
desc = bp2_character_interaction.1001.desc_intro
first_valid = {
triggered_desc = {
trigger = { scope:target_trait = trait:lustful }
desc = bp2_character_interaction.1001.desc_lustful
}
triggered_desc = {
trigger = { scope:target_trait = trait:chaste }
desc = bp2_character_interaction.1001.desc_chaste
}
triggered_desc = {
trigger = { scope:target_trait = trait:gluttonous }
desc = bp2_character_interaction.1001.desc_gluttonous
}
triggered_desc = {
trigger = { scope:target_trait = trait:temperate }
desc = bp2_character_interaction.1001.desc_temperate
}
triggered_desc = {
trigger = { scope:target_trait = trait:greedy }
desc = bp2_character_interaction.1001.desc_greedy
}
triggered_desc = {
trigger = { scope:target_trait = trait:generous }
desc = bp2_character_interaction.1001.desc_generous
}
triggered_desc = {
trigger = { scope:target_trait = trait:lazy }
desc = bp2_character_interaction.1001.desc_lazy
}
triggered_desc = {
trigger = { scope:target_trait = trait:diligent }
desc = bp2_character_interaction.1001.desc_diligent
}
triggered_desc = {
trigger = { scope:target_trait = trait:wrathful }
desc = bp2_character_interaction.1001.desc_wrathful
}
triggered_desc = {
trigger = { scope:target_trait = trait:calm }
desc = bp2_character_interaction.1001.desc_calm
}
triggered_desc = {
trigger = { scope:target_trait = trait:patient }
desc = bp2_character_interaction.1001.desc_patient
}
triggered_desc = {
trigger = { scope:target_trait = trait:impatient }
desc = bp2_character_interaction.1001.desc_impatient
}
triggered_desc = {
trigger = { scope:target_trait = trait:arrogant}
desc = bp2_character_interaction.1001.desc_arrogant
}
triggered_desc = {
trigger = { scope:target_trait = trait:humble }
desc = bp2_character_interaction.1001.desc_humble
}
triggered_desc = {
trigger = { scope:target_trait = trait:deceitful }
desc = bp2_character_interaction.1001.desc_deceitful
}
triggered_desc = {
trigger = { scope:target_trait = trait:honest }
desc = bp2_character_interaction.1001.desc_honest
}
triggered_desc = {
trigger = { scope:target_trait = trait:craven }
desc = bp2_character_interaction.1001.desc_craven
}
triggered_desc = {
trigger = {
scope:target_trait = trait:brave
scope:recipient = { is_landed = yes }
}
desc = bp2_character_interaction.1001.desc_brave_self
}
triggered_desc = {
trigger = {
scope:target_trait = trait:brave
scope:recipient = { exists = liege }
}
desc = bp2_character_interaction.1001.desc_brave_liege
}
triggered_desc = {
trigger = {
scope:target_trait = trait:brave
}
desc = bp2_character_interaction.1001.desc_brave_root
}
triggered_desc = {
trigger = { scope:target_trait = trait:shy }
desc = bp2_character_interaction.1001.desc_shy
}
triggered_desc = {
trigger = { scope:target_trait = trait:gregarious }
desc = bp2_character_interaction.1001.desc_gregarious
}
triggered_desc = {
trigger = { scope:target_trait = trait:ambitious }
desc = bp2_character_interaction.1001.desc_ambitious
}
triggered_desc = {
trigger = { scope:target_trait = trait:content }
desc = bp2_character_interaction.1001.desc_content
}
triggered_desc = {
trigger = { scope:target_trait = trait:arbitrary }
desc = bp2_character_interaction.1001.desc_arbitrary
}
triggered_desc = {
trigger = { scope:target_trait = trait:just }
desc = bp2_character_interaction.1001.desc_just
}
triggered_desc = {
trigger = { scope:target_trait = trait:cynical }
desc = bp2_character_interaction.1001.desc_cynical
}
triggered_desc = {
trigger = { scope:target_trait = trait:zealous }
desc = bp2_character_interaction.1001.desc_zealous
}
triggered_desc = {
trigger = { scope:target_trait = trait:paranoid }
desc = bp2_character_interaction.1001.desc_paranoid
}
triggered_desc = {
trigger = { scope:target_trait = trait:trusting }
desc = bp2_character_interaction.1001.desc_trusting
}
triggered_desc = {
trigger = { scope:target_trait = trait:compassionate }
desc = bp2_character_interaction.1001.desc_compassionate
}
triggered_desc = {
trigger = { scope:target_trait = trait:callous }
desc = bp2_character_interaction.1001.desc_callous
}
triggered_desc = {
trigger = { scope:target_trait = trait:sadistic }
desc = bp2_character_interaction.1001.desc_sadistic
}
triggered_desc = {
trigger = { scope:target_trait = trait:stubborn }
desc = bp2_character_interaction.1001.desc_stubborn
}
triggered_desc = {
trigger = { scope:target_trait = trait:fickle }
desc = bp2_character_interaction.1001.desc_fickle
}
triggered_desc = {
trigger = { scope:target_trait = trait:eccentric }
desc = bp2_character_interaction.1001.desc_eccentric
}
triggered_desc = {
trigger = { scope:target_trait = trait:vengeful }
desc = bp2_character_interaction.1001.desc_vengeful
}
triggered_desc = {
trigger = { scope:target_trait = trait:forgiving }
desc = bp2_character_interaction.1001.desc_forgiving
}
}
}
theme = family
override_background = {
trigger = {
scope:recipient = {
age < 12
}
}
reference = bp2_nursery
}
override_background = {
trigger = {
scope:recipient = {
age >= 12
}
}
reference = garden
}
left_portrait = {
character = root
animation = happiness
}
right_portrait = {
character = scope:recipient
triggered_animation = {
trigger = {
OR = {
scope:target_trait = trait:greedy
scope:target_trait = trait:generous
}
}
animation = hunting_shortbow_rest_arrow_default
}
animation = admiration
}
trigger = {
exists = scope:target_trait
}
immediate = {
scope:recipient = {
set_favorite_toy_effect = yes
}
}
option = {
name = bp2_character_interaction.1001.a
flavor = bp2_character_interaction.1001.a.flavor
add_opinion = {
target = scope:recipient
modifier = pleased_opinion
opinion = 20
}
scope:recipient = {
add_trait = scope:target_trait
add_opinion = {
target = root
modifier = admiration_opinion
opinion = 20
}
}
if = {
limit = {
scope:recipient = {
any_parent = {
this != root
is_ai = no
}
}
}
scope:recipient = {
every_parent = {
limit = {
this != root
is_ai = no
}
send_interface_message = {
type = event_childhood_good_text
title = guardian_influenced_personality
desc = guardian_influenced_personality_desc
left_icon = scope:recipient
right_icon = scope:actor
}
}
}
}
stress_impact = {
base = minor_stress_impact_gain
}
}
}
# Influence Ward's Personality - Basic Failure Event
bp2_character_interaction.1002 = {
type = character_event
content_source = dlc_009
title = bp2_character_interaction.1002.t
desc = {
desc = bp2_character_interaction.1002.desc_intro
first_valid = {
triggered_desc = {
trigger = { scope:target_trait = trait:lustful }
desc = bp2_character_interaction.1002.desc_lustful
}
triggered_desc = {
trigger = { scope:target_trait = trait:chaste }
desc = bp2_character_interaction.1002.desc_chaste
}
triggered_desc = {
trigger = { scope:target_trait = trait:gluttonous }
desc = bp2_character_interaction.1002.desc_gluttonous
}
triggered_desc = {
trigger = { scope:target_trait = trait:temperate }
desc = bp2_character_interaction.1002.desc_temperate
}
triggered_desc = {
trigger = { scope:target_trait = trait:greedy }
desc = bp2_character_interaction.1002.desc_greedy
}
triggered_desc = {
trigger = { scope:target_trait = trait:generous }
desc = bp2_character_interaction.1002.desc_generous
}
triggered_desc = {
trigger = { scope:target_trait = trait:lazy }
desc = bp2_character_interaction.1002.desc_lazy
}
triggered_desc = {
trigger = { scope:target_trait = trait:diligent }
desc = bp2_character_interaction.1002.desc_diligent
}
triggered_desc = {
trigger = { scope:target_trait = trait:wrathful }
desc = bp2_character_interaction.1002.desc_wrathful
}
triggered_desc = {
trigger = { scope:target_trait = trait:calm }
desc = bp2_character_interaction.1002.desc_calm
}
triggered_desc = {
trigger = { scope:target_trait = trait:patient }
desc = bp2_character_interaction.1002.desc_patient
}
triggered_desc = {
trigger = { scope:target_trait = trait:impatient }
desc = bp2_character_interaction.1002.desc_impatient
}
triggered_desc = {
trigger = { scope:target_trait = trait:arrogant}
desc = bp2_character_interaction.1002.desc_arrogant
}
triggered_desc = {
trigger = { scope:target_trait = trait:humble }
desc = bp2_character_interaction.1002.desc_humble
}
triggered_desc = {
trigger = { scope:target_trait = trait:deceitful }
desc = bp2_character_interaction.1002.desc_deceitful
}
triggered_desc = {
trigger = { scope:target_trait = trait:honest }
desc = bp2_character_interaction.1002.desc_honest
}
triggered_desc = {
trigger = { scope:target_trait = trait:craven }
desc = bp2_character_interaction.1002.desc_craven
}
triggered_desc = {
trigger = { scope:target_trait = trait:brave }
desc = bp2_character_interaction.1002.desc_brave
}
triggered_desc = {
trigger = { scope:target_trait = trait:shy }
desc = bp2_character_interaction.1002.desc_shy
}
triggered_desc = {
trigger = { scope:target_trait = trait:gregarious }
desc = bp2_character_interaction.1002.desc_gregarious
}
triggered_desc = {
trigger = { scope:target_trait = trait:ambitious }
desc = bp2_character_interaction.1002.desc_ambitious
}
triggered_desc = {
trigger = { scope:target_trait = trait:content }
desc = bp2_character_interaction.1002.desc_content
}
triggered_desc = {
trigger = { scope:target_trait = trait:arbitrary }
desc = bp2_character_interaction.1002.desc_arbitrary
}
triggered_desc = {
trigger = { scope:target_trait = trait:just }
desc = bp2_character_interaction.1002.desc_just
}
triggered_desc = {
trigger = { scope:target_trait = trait:cynical }
desc = bp2_character_interaction.1002.desc_cynical
}
triggered_desc = {
trigger = { scope:target_trait = trait:zealous }
desc = bp2_character_interaction.1002.desc_zealous
}
triggered_desc = {
trigger = { scope:target_trait = trait:paranoid }
desc = bp2_character_interaction.1002.desc_paranoid
}
triggered_desc = {
trigger = { scope:target_trait = trait:trusting }
desc = bp2_character_interaction.1002.desc_trusting
}
triggered_desc = {
trigger = { scope:target_trait = trait:compassionate }
desc = bp2_character_interaction.1002.desc_compassionate
}
triggered_desc = {
trigger = { scope:target_trait = trait:callous }
desc = bp2_character_interaction.1002.desc_callous
}
triggered_desc = {
trigger = { scope:target_trait = trait:sadistic }
desc = bp2_character_interaction.1002.desc_sadistic
}
triggered_desc = {
trigger = { scope:target_trait = trait:stubborn }
desc = bp2_character_interaction.1002.desc_stubborn
}
triggered_desc = {
trigger = { scope:target_trait = trait:fickle }
desc = bp2_character_interaction.1002.desc_fickle
}
triggered_desc = {
trigger = { scope:target_trait = trait:eccentric }
desc = bp2_character_interaction.1002.desc_eccentric
}
triggered_desc = {
trigger = { scope:target_trait = trait:vengeful }
desc = bp2_character_interaction.1002.desc_vengeful
}
triggered_desc = {
trigger = { scope:target_trait = trait:forgiving }
desc = bp2_character_interaction.1002.desc_forgiving
}
}
}
theme = family
override_background = {
trigger = {
scope:recipient = {
age < 12
}
}
reference = bp2_nursery
}
override_background = {
trigger = {
scope:recipient = {
age >= 12
}
}
reference = garden
}
left_portrait = {
character = root
animation = stress
}
right_portrait = {
character = scope:recipient
triggered_animation = {
trigger = {
OR = {
scope:target_trait = trait:greedy
scope:target_trait = trait:generous
}
}
animation = hunting_shortbow_rest_arrow_default
}
triggered_animation = {
trigger = { scope:target_trait = trait:paranoid }
animation = disapproval
}
triggered_animation = {
trigger = { scope:recipient = { age >= 12 } }
animation = shame
}
animation = clutching_toy
}
immediate = {
scope:recipient = {
set_favorite_toy_effect = yes
}
}
option = {
name = bp2_character_interaction.1002.a
flavor = bp2_character_interaction.1002.a.flavor
scope:recipient = {
add_opinion = {
target = root
modifier = confused_opinion
opinion = -20
}
}
add_opinion = {
target = scope:recipient
modifier = disappointed_opinion
opinion = -20
}
if = {
limit = {
scope:recipient = {
any_parent = {
this != root
is_ai = no
}
}
}
scope:recipient = {
every_parent = {
limit = {
this != root
is_ai = no
}
send_interface_message = {
type = event_childhood_bad_text
title = guardian_influenced_personality_fail
desc = guardian_influenced_personality_fail_desc
left_icon = scope:recipient
right_icon = scope:actor
}
}
}
}
stress_impact = {
base = medium_stress_impact_gain
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,831 +0,0 @@
namespace = bp2_decision
##################################################
#
# FIND WET NURSE
# 0001 Find a character to be a wet nurse
#
##################################################
bp2_decision.0001 = { #find wet nurse candidates
type = character_event
content_source = dlc_009
title = bp2_decision.0001.t
desc = {
first_valid = {
triggered_desc = {
trigger = { exists = root.primary_spouse }
desc = bp2_decision.0001.desc
}
desc = bp2_decision.0001.desc_widower
}
}
theme = family
override_background = {
reference = bp2_nursery
}
left_portrait = {
character = scope:wet_nurse_candidate_1
}
right_portrait = {
character = scope:wet_nurse_candidate_2
}
immediate = {
if = {
limit = {
any_spouse = { }
}
random_spouse = {
save_scope_as = spouse
}
}
hidden_effect = {
if = {
limit = {
exists = capital_province
any_pool_character = {
province = root.capital_province
can_be_employed_as = wet_nurse_court_position
}
}
random_pool_character = {
province = root.capital_province
limit = { can_be_employed_as = wet_nurse_court_position}
save_scope_as = wet_nurse_candidate_1
}
if = {
limit = {
exists = capital_province
any_pool_character = {
province = root.capital_province
can_be_employed_as = wet_nurse_court_position
this != scope:wet_nurse_candidate_1
}
}
save_scope_as = wet_nurse_candidate_2
}
else = {
create_character = { #create poor candidate without a child
template = generic_peasant_character
gender = female
age = { 18 25 }
culture = root.culture
faith = root.faith
location = root.location
save_scope_as = wet_nurse_candidate_2
}
}
}
else = {
create_character = { #create a good candidate with a child
template = bp2_wet_nurse_template
location = root.location
save_scope_as = wet_nurse_candidate_1
}
create_character = {
template = peasant_child_character
age = { 0 5 }
culture = root.culture
faith = root.faith
location = root.location
save_scope_as = wet_nurse_candidate_1_child
}
scope:wet_nurse_candidate_1_child = {
set_mother = scope:wet_nurse_candidate_1
}
create_character = { #create poor candidate without a child
template = generic_peasant_character
gender = female
age = { 18 25 }
culture = root.culture
faith = root.faith
location = root.location
save_scope_as = wet_nurse_candidate_2
}
}
}
}
# Expensive wet nurse with great health and a chance for good trait
option = {
name = bp2_decision.0001.a
custom_tooltip = bp2_decision.0001.a.aptitude
pay_treasury_or_gold = {
target = scope:wet_nurse_candidate_1
value = tiny_treasury_or_gold_value
}
hidden_effect = {
add_courtier = scope:wet_nurse_candidate_1
add_courtier = scope:wet_nurse_candidate_1_child
}
if = { #reappoint the former wet nurse, fire current one if exists
limit = {
employs_court_position = wet_nurse_court_position
}
every_court_position_holder = {
type = wet_nurse_court_position
save_temporary_scope_as = current_wet_nurse
}
replace_court_position = {
recipient = scope:wet_nurse_candidate_1
holder = scope:current_wet_nurse
court_position = wet_nurse_court_position
}
}
else = {
appoint_court_position = {
recipient = scope:wet_nurse_candidate_1
court_position = wet_nurse_court_position
}
}
stress_impact = {
greedy = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = greedy
add = -100
}
modifier = {
short_term_gold < minor_gold_value
factor = 0
}
}
}
# Cheaper wet nurse; all random traits
option = {
name = bp2_decision.0001.b
custom_tooltip = bp2_decision.0001.b.aptitude
pay_treasury_or_gold = {
target = scope:wet_nurse_candidate_2
value = {
add = tiny_treasury_or_gold_value
divide = 3
}
}
hidden_effect = {
add_courtier = scope:wet_nurse_candidate_2
}
if = { #reappoint the former wet nurse, fire current one if exists
limit = {
employs_court_position = wet_nurse_court_position
}
every_court_position_holder = {
type = wet_nurse_court_position
save_temporary_scope_as = current_wet_nurse
}
replace_court_position = {
recipient = scope:wet_nurse_candidate_2
holder = scope:current_wet_nurse
court_position = wet_nurse_court_position
}
}
else = {
appoint_court_position = {
recipient = scope:wet_nurse_candidate_2
court_position = wet_nurse_court_position
}
}
stress_impact = {
greedy = medium_stress_impact_gain
}
ai_chance = {
base = 50
modifier = {
short_term_gold < tiny_gold_value_check
factor = 0
}
}
}
# On seconds thoughts, I won't hire a wet nurse at all...
option = {
name = bp2_decision.0001.c
ai_chance = {
base = 0
modifier = {
short_term_gold < tiny_gold_value_check
add = 10
}
}
}
after = {
if = {
limit = { scope:wet_nurse_candidate_1 = { has_court_position = wet_nurse_court_position } }
scope:wet_nurse_candidate_2 = {
silent_disappearance_effect = yes
}
}
else_if = {
limit = { scope:wet_nurse_candidate_2 = { has_court_position = wet_nurse_court_position } }
scope:wet_nurse_candidate_1 = {
silent_disappearance_effect = yes
}
scope:wet_nurse_candidate_1_child = {
silent_disappearance_effect = yes
}
}
else = {
scope:wet_nurse_candidate_1 = {
silent_disappearance_effect = yes
}
scope:wet_nurse_candidate_2 = {
silent_disappearance_effect = yes
}
scope:wet_nurse_candidate_1_child = {
silent_disappearance_effect = yes
}
}
}
}
bp2_decision.0002 = { #rites of passage
type = character_event
content_source = dlc_009
title = bp2_decision.0002.t
desc = {
first_valid = {
triggered_desc = {
trigger = { scope:teentribal != root }
desc = bp2_decision.0002.desc
}
desc = bp2_decision.0002.desc_root
}
triggered_desc = {
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:duel
}
}
}
desc = bp2_decision.0002.desc_duel
}
triggered_desc = {
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:scarification
}
}
}
desc = bp2_decision.0002.desc_scarification
}
triggered_desc = {
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:seclusion
}
}
}
desc = bp2_decision.0002.desc_seclusion
}
triggered_desc = {
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:hair_shaving
}
}
}
desc = bp2_decision.0002.desc_hair_shaving
}
triggered_desc = {
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:cleansing
}
}
}
desc = bp2_decision.0002.desc_cleansing
}
first_valid = {
triggered_desc = {
trigger = { scope:teentribal != root }
desc = bp2_decision.0002.desc_end
}
desc = bp2_decision.0002.desc_end_root
}
}
theme = family
override_background = {
reference = holy_site_generic_scope
}
left_portrait = {
character = root
animation = war_defender
}
right_portrait = {
trigger = { scope:teentribal != root }
character = scope:teentribal
animation = throne_room_bow_1
}
lower_right_portrait = {
trigger = { exists = scope:priest }
character = scope:priest
}
immediate = {
capital_province = {
save_scope_as = holy_site_scope
}
location = {
save_scope_as = rite_location
}
if = {
limit = {
is_landed = yes
character_can_rites_of_passage_trigger = yes
}
save_scope_as = teentribal
}
else_if = {
limit = {
any_child = {
character_can_rites_of_passage_trigger = yes
}
}
save_scope_as = liege
random_child = {
limit = {
character_can_rites_of_passage_trigger = yes
}
weight = {
base = 1
modifier = {
has_character_flag = unproven_adult_flag
add = 100
}
modifier = {
is_primary_heir_of = scope:liege
add = 100
}
modifier = {
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
add = 10
}
}
save_scope_as = teentribal
}
}
else_if = {
limit = {
any_courtier = {
is_hostage_of = root
character_can_rites_of_passage_trigger = yes
}
}
save_scope_as = liege
random_courtier = {
limit = {
is_hostage_of = root
character_can_rites_of_passage_trigger = yes
}
weight = {
base = 1
modifier = {
has_character_flag = unproven_adult_flag
add = 100
}
modifier = {
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = root }
add = 10
}
}
save_scope_as = teentribal
}
}
if = { #grab a court chaplain if you have one
limit = {
cp:councillor_court_chaplain ?= {
is_available_ai_adult = yes
}
}
cp:councillor_court_chaplain = {
save_scope_as = priest
}
}
if = { #duel rite for warrior cultures
limit = {
culture = {
OR = {
has_cultural_pillar = ethos_bellicose
has_cultural_pillar = ethos_stoic
}
}
}
scope:teentribal = {
add_to_variable_list = {
name = possible_rites
target = flag:duel
}
}
}
if = { #scarification rite for warrior cultures
limit = {
culture = {
OR = {
has_cultural_pillar = ethos_bellicose
has_cultural_pillar = ethos_stoic
has_cultural_pillar = ethos_communal
}
}
}
scope:teentribal = {
add_to_variable_list = {
name = possible_rites
target = flag:scarification
}
}
}
if = { #seclusion rite for non-communal cultures
limit = {
culture = {
NOT = {
has_cultural_pillar = ethos_communal
}
}
}
scope:teentribal = {
add_to_variable_list = {
name = possible_rites
target = flag:seclusion
}
}
}
if = { #hair shaving rite non-warrior cultures
limit = {
culture = {
OR = {
has_cultural_pillar = ethos_spiritual
has_cultural_pillar = ethos_communal
has_cultural_pillar = ethos_egalitarian
has_cultural_pillar = ethos_bureaucratic
}
}
}
scope:teentribal = {
add_to_variable_list = {
name = possible_rites
target = flag:hair_shaving
}
}
}
if = { #cleansing for non-warrior cultures
limit = {
culture = {
NOT = {
has_cultural_pillar = ethos_bellicose
has_cultural_pillar = ethos_stoic
}
}
}
scope:teentribal = {
add_to_variable_list = {
name = possible_rites
target = flag:cleansing
}
if = {
limit = {
scope:rite_location = {
OR = {
is_riverside_province = yes
is_coastal = yes
}
}
}
set_variable = {
name = cleansing_type
value = flag:water_cleanse
}
}
else = {
set_variable = {
name = cleansing_type
value = flag:fire_cleanse
}
}
}
}
}
option = { #combat duel
name = bp2_decision.0002.a
flavor = bp2_decision.0002.a.flavor
custom_tooltip = bp2_decision.0002.a.tt
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:duel
}
}
}
show_as_tooltip = {
random_list = {
1 = {
desc = bp2_decision.0002.a.win
show_chance = no
scope:teentribal = {
add_character_modifier = {
modifier = proven_adult_modifier
years = 10
}
custom_tooltip = bp2_decision.0002.effect_tt
}
}
1= {
desc = bp2_decision.0002.a.lose
show_chance = no
scope:teentribal = {
add_character_modifier = {
modifier = insecure_adult_modifier
years = 10
}
custom_tooltip = bp2_decision.0002.effect_tt
}
}
}
}
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
set_variable = {
name = chosen_rite_memory
value = flag:dueling_rite_memory
}
}
trigger_event = bp2_yearly.7021
ai_chance = {
base = 1
}
}
option = { #scarification
name = bp2_decision.0002.b
flavor = bp2_decision.0002.b.tt
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:scarification
}
}
}
show_as_tooltip = {
random_list = {
1 = {
desc = bp2_decision.0002.b_scarred
show_chance = no
scope:teentribal = {
add_character_modifier = {
modifier = proven_adult_modifier
years = 10
}
custom_tooltip = bp2_decision.0002.effect_tt
custom_tooltip = bp2_decision.0002.b_scarred.tt
}
}
1= {
desc = bp2_decision.0002.b_modifier
show_chance = no
scope:teentribal = {
add_character_modifier = {
modifier = insecure_adult_modifier
years = 10
}
custom_tooltip = bp2_decision.0002.effect_tt
}
}
}
}
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
set_variable = {
name = chosen_rite_memory
value = flag:scarification_rite_memory
}
}
trigger_event = bp2_yearly.7023
ai_chance = {
base = 1
}
}
option = { #seclusion
name = bp2_decision.0002.c
flavor = bp2_decision.0002.c.tt
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:seclusion
}
}
}
show_as_tooltip = {
custom_tooltip = bp2_decision.0002.c.destination
random_list = {
1 = {
desc = bp2_decision.0002.c_win
show_chance = no
scope:teentribal = {
add_character_modifier = {
modifier = proven_adult_modifier
years = 10
}
custom_tooltip = bp2_decision.0002.c_trait
}
}
1= {
desc = bp2_decision.0002.c_lose
show_chance = no
scope:teentribal = {
add_character_modifier = {
modifier = insecure_adult_modifier
years = 10
}
add_trait_xp = {
trait = lifestyle_traveler
track = danger
value = 25
}
increase_wounds_no_death_effect = { REASON = wild_animal }
}
}
}
}
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
set_variable = {
name = chosen_rite_memory
value = flag:seclusion_rite_memory
}
}
trigger_event = bp2_yearly.7024
ai_chance = {
base = 1
}
}
option = { #hair shave
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:hair_shaving
}
}
}
name = bp2_decision.0002.d
flavor = bp2_decision.0002.d.tt
show_as_tooltip = {
random_list = {
1 = {
show_chance = no
desc = bp2_decision.0002.d_bald
scope:teentribal = {
add_character_modifier = {
modifier = proven_adult_modifier
years = 10
}
add_character_modifier = {
modifier = shaven_bald_modifier
years = 3
}
custom_tooltip = bp2_decision.0002.effect_tt
add_piety = medium_piety_gain
}
}
1 = {
show_chance = no
desc = bp2_decision.0002.d_shave
scope:teentribal = {
add_character_modifier = {
modifier = insecure_adult_modifier
years = 10
}
custom_tooltip = bp2_decision.0002.effect_tt
custom_tooltip = bp2_decision.0002.d_artifact
}
}
}
}
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
set_variable = {
name = chosen_rite_memory
value = flag:shaving_hair_rite_memory
}
}
trigger_event = bp2_yearly.7026
ai_chance = {
base = 1
}
}
option = { #fire/water cleansing
trigger = {
scope:teentribal = {
is_target_in_variable_list = {
name = possible_rites
target = flag:cleansing
}
}
}
name = bp2_decision.0002.e
flavor = bp2_decision.0002.e.tt
show_as_tooltip = {
random_list = {
1 = {
show_chance = no
desc = bp2_decision.0002.e.full
scope:teentribal = {
add_character_modifier = {
modifier = proven_adult_modifier
years = 10
}
if = {
limit = {
num_sinful_traits > 0
}
custom_tooltip = bp2_decision.0002.e_flip
}
custom_tooltip = bp2_decision.0002.effect_tt
add_piety = medium_piety_gain
if = {
limit = {
scope:teentribal.var:cleansing_type = flag:water_cleanse
}
add_stress = minor_stress_gain
}
else = {
add_character_modifier = {
modifier = scorched_soles_modifier
years = 5
}
}
}
}
1 = {
show_chance = no
desc = bp2_decision.0002.e.partially
scope:teentribal = {
add_character_modifier = {
modifier = insecure_adult_modifier
years = 10
}
custom_tooltip = bp2_decision.0002.effect_tt
}
}
}
}
if = {
limit = {
scope:teentribal.var:cleansing_type = flag:water_cleanse
}
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
set_variable = {
name = chosen_rite_memory
value = flag:water_cleanse_rite_memory
}
}
trigger_event = bp2_yearly.7027
}
else_if = {
limit = {
scope:teentribal.var:cleansing_type = flag:fire_cleanse
}
scope:teentribal = { #set variable to determine which rite was completed when creating a memory
set_variable = {
name = chosen_rite_memory
value = flag:fire_cleanse_rite_memory
}
}
trigger_event = bp2_yearly.7028
}
ai_chance = {
base = 1
}
}
option = { # opt out - trigger the decision cooldown, don't get your money back. Think of it as a non-refundable deposit.
name = bp2_decision.0002.f
flavor = bp2_decision.0002.tt
scope:teentribal ?= {
remove_variable ?= cleansing_type
remove_variable ?= chosen_rite_memory
clear_variable_list ?= possible_rites
}
ai_chance = { #there is no reason for the AI to back out at this point
base = 0
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,538 +0,0 @@
namespace = bp2_yearly
# bp2_yearly.3000 - Asserting yourself in your studies or loafing
################################
# What's a Study Day Worth? #
# by Claudia Baldassi #
# bp2_yearly.3000 #
################################
# Asserting yourself in your studies or loafing
bp2_yearly.3000 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.3000.t
desc = {
first_valid = {
triggered_desc = {
trigger = {
exists = scope:educator
}
desc = bp2_yearly.3000.desc
}
desc = bp2_yearly.3000.desc_no_educator
}
desc = bp2_yearly.3000.desc_ending
}
theme = education
left_portrait = {
character = root
animation = boredom
}
right_portrait = {
trigger = { exists = scope:educator }
character = scope:educator
animation = personality_rational
}
cooldown = { years = 10 } #Should not happen more than once for the same child
trigger = {
has_bp2_dlc_trigger = yes
age >= 8
is_available_child = yes
has_education_focus_trigger = yes
OR = {
exists = warden
any_relation = {
type = guardian
location = root.location
}
exists = liege
AND = {
top_liege = this
employs_court_position = court_tutor_court_position
}
any_parent = {
is_alive = yes
location = root.location
}
}
}
weight_multiplier = {
base = 1
}
immediate = {
if = {
limit = {
is_hostage = yes
location = warden.location
}
warden = {
save_scope_as = educator
}
}
else_if = {
limit = {
any_relation = {
type = guardian
location = root.location
}
}
random_relation = {
type = guardian
limit = {
location = root.location
}
save_scope_as = educator
}
}
else_if = {
limit = {
exists = liege
root.liege = {
employs_court_position = court_tutor_court_position
court_position:court_tutor_court_position = { location = root.location }
}
}
root.liege.court_position:court_tutor_court_position = {
save_scope_as = educator
}
}
else_if = {
limit = {
top_liege = this
employs_court_position = court_tutor_court_position
court_position:court_tutor_court_position = { location = root.location }
}
court_position:court_tutor_court_position = {
save_scope_as = educator
}
}
else_if = {
limit = {
any_parent = {
is_alive = yes
location = root.location
}
}
random_parent = {
limit = {
is_alive = yes
location = root.location
}
save_scope_as = educator
}
}
else_if = {
limit = { exists = liege }
liege = {
save_scope_as = educator
}
}
}
# Option A: study hard
option = {
name = bp2_yearly.3000.a
if = {
limit = {
has_focus = education_diplomacy
}
add_diplomacy_skill = 1
}
else_if = {
limit = {
has_focus = education_martial
}
add_martial_skill = 1
}
else_if = {
limit = {
has_focus = education_stewardship
}
add_stewardship_skill = 1
}
else_if = {
limit = {
has_focus = education_intrigue
}
add_intrigue_skill = 1
}
else_if = {
limit = {
has_focus = education_learning
}
add_learning_skill = 1
}
hidden_effect = { education_point_acquisition_effect = yes }
custom_tooltip = bp2_yearly.3000.a.tt
stress_impact = {
base = medium_stress_impact_gain
diligent = medium_stress_impact_loss
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = diligent
add = 100
}
modifier = {
has_trait = lazy
add = -100
}
modifier = {
has_trait = curious
add = 100
}
modifier = {
has_trait = pensive
add = 150
}
}
}
# Option B: study a bit
option = {
name = bp2_yearly.3000.b
hidden_effect = { education_point_acquisition_effect = yes }
custom_tooltip = bp2_yearly.3000.a.tt
stress_impact = {
base = minor_stress_impact_gain
diligent = minor_stress_impact_loss
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = diligent
add = 50
}
modifier = {
has_trait = lazy
add = -50
}
modifier = {
has_trait = curious
add = 50
}
modifier = {
has_trait = pensive
add = 75
}
}
}
# Option C: play
option = {
name = bp2_yearly.3000.c
add_prowess_skill = 1
stress_impact = {
base = minor_stress_impact_loss
diligent = major_stress_impact_gain
pensive = major_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = diligent
add = -100
}
modifier = {
has_trait = lazy
add = 100
}
modifier = {
has_trait = pensive
add = -75
}
modifier = {
has_trait = rowdy
add = 100
}
}
}
}
################################
# SheHe Knows This Room #
# by Claudia Baldassi #
# bp2_yearly.3010 #
################################
# Child returns home: This home is unfamiliar to me: parent POV
bp2_yearly.3010 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.3010.t
desc = bp2_yearly.3010.desc
theme = hostage
left_portrait = {
character = root
animation = worry
}
right_portrait = {
character = scope:child
animation = sadness
}
override_background = { reference = corridor_day }
cooldown = { years = 20 }
trigger = {
has_bp2_dlc_trigger = yes
is_available_adult = yes
is_landless_adventurer = no
any_child = {
age >= 12
location = root.location
NOT = { has_relation_ward = root } # Your ward grew up here
any_memory = {
memory_type = hostage_returned_hostage
memory_age_years <= 1
}
any_memory = {
memory_type = hostage_created_hostage
memory_age_years >= 6
}
}
}
weight_multiplier = {
base = 1
modifier = {
add = 1
has_trait = compassionate
}
}
immediate = {
# for the responding event
save_scope_as = parent
random_child = {
limit = {
any_memory = {
memory_type = hostage_returned_hostage
memory_age_years <= 1
}
any_memory = {
memory_type = hostage_created_hostage
memory_age_years >= 6
}
age >= 12
location = root.location
}
save_scope_as = child
}
}
# Option A: I wanna help
option = {
name = bp2_yearly.3010.a
scope:child = {
add_character_flag = helpful_parent_flag
add_opinion = {
target = scope:parent
modifier = feel_accepted_opinion
opinion = 20
}
trigger_event = bp2_yearly.3011
}
stress_impact = {
callous = medium_stress_impact_gain
fickle = medium_stress_impact_gain
paranoid = medium_stress_impact_gain
content = minor_stress_impact_gain
lazy = minor_stress_impact_gain
}
ai_chance = {
base = 100
}
}
# Option B: he'll manage
option = {
name = bp2_yearly.3010.b
scope:child = {
add_opinion = {
target = root
modifier = ignored_opinion
opinion = -15
}
scope:child = { trigger_event = bp2_yearly.3011 }
}
stress_impact = {
compassionate = medium_stress_impact_gain
gregarious = medium_stress_impact_gain
family_first = medium_stress_impact_gain
patient = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
has_trait = callous
add = 50
}
}
}
}
# Child returns home: This home is unfamiliar to me: child POV
bp2_yearly.3011 = {
type = character_event
content_source = dlc_009
title = bp2_yearly.3011.t
desc = {
desc = bp2_yearly.3011.desc
first_valid = {
triggered_desc = {
trigger = {
has_character_flag = helpful_parent_flag
}
desc = bp2_yearly.3011.desc_parent
}
desc = bp2_yearly.3011.desc_no_parent
}
}
theme = hostage
left_portrait = {
character = root
animation = sadness
}
right_portrait = {
character = scope:parent
animation = worry
}
override_background = { reference = corridor_day }
# Option A: accept you're a stranger now
option = {
name = bp2_yearly.3011.a
if = {
limit = {
has_character_flag = helpful_parent_flag
}
scope:parent = {
send_interface_toast = {
title = bp2_yearly.3010.a.tt
left_icon = scope:child
scope:child = {
add_character_modifier = {
modifier = bp2_stranger_at_home_modifier
years = 30
}
}
}
}
}
else = {
add_character_modifier = {
modifier = bp2_stranger_at_home_modifier
years = 30
}
}
stress_impact = {
gregarious = medium_stress_impact_gain
humble = medium_stress_impact_gain
patient = minor_stress_impact_gain
pensive = medium_stress_impact_loss
bossy = medium_stress_impact_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_vengefulness = 0.5
}
modifier = {
has_trait = pensive
add = 100
}
modifier = {
has_trait = bossy
add = 100
}
}
}
# Option B: try to integrate again
option = {
name = bp2_yearly.3011.b
if = {
limit = {
has_character_flag = helpful_parent_flag
}
scope:parent = {
send_interface_toast = {
title = bp2_yearly.3010.b.tt
left_icon = scope:child
scope:child = {
add_character_modifier = {
modifier = bp2_stranger_no_more_modifier
years = 30
}
}
}
}
}
else = {
add_character_modifier = {
modifier = bp2_stranger_no_more_modifier
years = 30
}
}
stress_impact = {
stubborn = major_stress_impact_gain
lazy = medium_stress_impact_gain
reclusive = medium_stress_impact_gain
arrogant = medium_stress_impact_gain
wrathful = minor_stress_impact_gain
impatient = minor_stress_impact_gain
charming = medium_stress_impact_loss
curious = medium_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
has_character_flag = helpful_parent_flag
add = 100
}
modifier = {
has_trait = lazy
add = -50
}
modifier = {
has_trait = reclusive
add = -50
}
modifier = {
has_trait = charming
add = 100
}
modifier = {
has_trait = curious
add = 100
}
ai_value_modifier = {
ai_energy = -0.5
}
}
}
after = {
if = {
limit = {
has_character_flag = helpful_parent_flag
}
remove_character_flag = helpful_parent_flag
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,206 +0,0 @@
namespace = bp2_yearly_extra
################################
# My Favorite Councilor #
# by Johan Husén #
# bp2_yearly_extra #
################################
# Gaining some skills from your councilor
bp2_yearly_extra.0001 = {
type = character_event
content_source = dlc_009
title = bp2_yearly_extra.0001.t
desc = bp2_yearly_extra.0001.desc
theme = education
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:target_councilor
triggered_animation = {
trigger = {
scope:target_councilor = { has_council_position = councillor_court_chaplain }
}
animation = chaplain
}
triggered_animation = {
trigger = {
scope:target_councilor = { has_council_position = councillor_steward }
}
animation = steward
}
triggered_animation = {
trigger = {
scope:target_councilor = { has_council_position = councillor_marshal }
}
animation = marshal
}
triggered_animation = {
trigger = {
scope:target_councilor = { has_council_position = councillor_spymaster }
}
animation = spymaster
}
triggered_animation = {
trigger = {
scope:target_councilor = { has_council_position = councillor_chancellor }
}
animation = chancellor
}
}
cooldown = { years = 15 }
trigger = {
has_bp2_dlc_trigger = yes
is_available_child = yes
OR = {
AND = {
has_focus = education_diplomacy
exists = cp:councillor_chancellor
}
AND = {
has_focus = education_martial
exists = cp:councillor_marshal
}
AND = {
has_focus = education_stewardship
exists = cp:councillor_steward
}
AND = {
has_focus = education_intrigue
exists = cp:councillor_spymaster
}
AND = {
has_focus = education_learning
exists = cp:councillor_court_chaplain
}
}
}
weight_multiplier = {
base = 1
}
immediate = {
if = {
limit = {
has_focus = education_diplomacy
exists = cp:councillor_chancellor
}
cp:councillor_chancellor = { save_scope_as = target_councilor }
}
else_if = {
limit = {
has_focus = education_martial
exists = cp:councillor_marshal
}
cp:councillor_marshal = { save_scope_as = target_councilor }
}
else_if = {
limit = {
has_focus = education_stewardship
exists = cp:councillor_steward
}
cp:councillor_steward = { save_scope_as = target_councilor }
}
else_if = {
limit = {
has_focus = education_intrigue
exists = cp:councillor_spymaster
}
cp:councillor_spymaster = { save_scope_as = target_councilor }
}
else_if = {
limit = {
has_focus = education_learning
exists = cp:councillor_court_chaplain
}
cp:councillor_court_chaplain = { save_scope_as = target_councilor }
}
}
# Option A: I want to help out!
option = {
name = bp2_yearly_extra.0001.a
flavor = bp2_yearly_extra.0001.a.tt
if = {
limit = { has_focus = education_diplomacy }
add_diplomacy_skill = 1
}
else_if = {
limit = { has_focus = education_martial }
add_martial_skill = 1
}
else_if = {
limit = { has_focus = education_stewardship }
add_stewardship_skill = 1
}
else_if = {
limit = { has_focus = education_intrigue }
add_intrigue_skill = 1
}
else_if = {
limit = { has_focus = education_learning }
add_learning_skill = 1
}
stress_impact = {
base = miniscule_stress_impact_gain
diligent = minor_stress_impact_loss
lazy = minor_stress_impact_gain
}
scope:target_councilor = {
add_opinion = {
target = root
modifier = frustrated_opinion
opinion = -20
}
}
ai_chance = {
base = 100
modifier = {
has_trait = lazy
factor = 0
}
}
}
# Option B: I just like to see them work.
option = {
name = bp2_yearly_extra.0001.b
flavor = bp2_yearly_extra.0001.b.tt
scope:target_councilor = {
add_opinion = {
target = root
modifier = thankful_opinion
opinion = 20
}
}
stress_impact = {
base = minor_stress_impact_loss
diligent = medium_stress_impact_loss
}
ai_chance = {
base = 100
modifier = {
has_trait = diligent
factor = 0
}
modifier = {
has_trait = lazy
add = 50
}
modifier = {
has_trait = curious
add = 50
}
modifier = {
has_trait = pensive
add = 50
}
}
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,210 +0,0 @@
namespace = bp3_court_position
# Court Brewmaster upkeep event
bp3_court_position.100 = {
type = character_event
hidden = yes
trigger = {
NOT = { has_variable = experimental_brew_cooldown }
exists = court_position:court_brewmaster_court_position
has_variable = active_experimental_brew
}
immediate = {
# Set a cooldown, so it can only happen once every 6 months
set_variable = {
name = experimental_brew_cooldown
days = 179
}
set_variable = {
name = experimental_brew_creator
value = court_position:court_brewmaster_court_position
}
# Find what kind of drink it is (see 00_court_position_modifiers for a list of modifiers)
random_list = {
3 = { # Negative Drinks
add_character_flag = experimental_brew_negative
}
1 = { # Childish Drinks
trigger = {
any_child = {
count >= 1
is_adult = no
age >= 6
}
}
add_character_flag = experimental_brew_childish
random_child = {
limit = {
is_adult = no
age >= 6
}
root = {
set_variable = {
name = experimental_brew_child
value = prev
}
}
}
}
10 = { # Positive Drinks
add_character_flag = experimental_brew_positive
}
3 = { # Very Positive Drinks
add_character_flag = experimental_brew_very_positive
}
}
# Assign modifier and name
switch = {
trigger = has_character_flag
experimental_brew_negative = {
random_list = {
1 = { # Health
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = small_health_negative
}
}
1 = { # Courtier and Guest Opinion
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = court_guest_opinion_negative
}
}
1 = { # Negative Prestige
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = prestige_negative
}
}
1 = { # Negative Piety
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = piety_negative
}
}
}
}
experimental_brew_childish = {
# Child Opinion
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = child_opinion
}
}
experimental_brew_positive = {
random_list = {
1 = { # Diplomacy
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = diplomacy
}
}
1 = { # Martial
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = martial
}
}
1 = { # Stewardship
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = stewardship
}
}
1 = { # Intrigue
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = intrigue
}
}
1 = { # Learning
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = learning
}
}
1 = { # Prowess
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = prowess
}
}
1 = { # Courtier and Guest Opinion
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = court_guest_opinion_positive
}
}
1 = { # Courtly Opinion
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = courtly_opinion
}
}
1 = { # Prestige
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = prestige_positive
}
}
1 = { # Piety
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = piety_positive
}
}
1 = { # Attraction Opinion
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = attraction_opinion
}
}
1 = { # Fertility
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = fertility
}
}
}
}
experimental_brew_very_positive = {
random_list = {
1 = { # General Opinion
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = general_opinion
}
}
1 = { # Stress Loss
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = stress_loss
}
}
1 = { # Renown
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = renown
}
}
1 = { # Fascination
trigger = {
root.culture.culture_head = root
}
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = fascination
}
}
1 = { # Monthly Income
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = monthly_income
}
}
1 = { # Health
court_brewmaster_assign_modifier_positive_effect = {
MODIFIER = small_health_positive
}
}
}
}
}
### Clean up
remove_character_flag = experimental_brew_negative
remove_character_flag = experimental_brew_childish
remove_character_flag = experimental_brew_positive
remove_character_flag = experimental_brew_very_positive
remove_variable = experimental_brew_child
remove_variable = experimental_brew_creator
trigger_event = {
id = bp3_court_position.100
months = 6
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,951 +0,0 @@
namespace = epidemic_events
epidemic_events.2001 = { #defender trying to status quo the vassal war cuz he's sick
type = character_event
title = epidemic_events.2001.t
desc = epidemic_events.2001.desc
theme = plague
left_portrait = {
character = root
animation = thinking
}
right_portrait = {
character = scope:pleading_vassal
animation = beg
}
lower_right_portrait = {
character = scope:attacking_vassal
}
override_background = {
reference = army_camp
}
override_effect_2d = {
reference = fog
}
cooldown = { years = 30 }
trigger = {
is_available_adult = yes
any_vassal = {
is_ai = yes
is_at_war = yes
any_character_war = {
primary_attacker = {
is_vassal_of = root
is_ai = yes
}
is_defender = prev
attacker_war_score > 30
}
realm_has_any_epidemic = { SIZE = 3 INTENSITY = minor }
current_gold_value > minor_gold_value
}
}
immediate = {
random_vassal = {
limit = {
is_ai = yes
is_at_war = yes
any_character_war = {
primary_attacker = {
is_vassal_of = root
is_ai = yes
}
is_defender = prev
attacker_war_score > 30
}
realm_has_any_epidemic = { SIZE = 2 INTENSITY = minor }
current_gold_value > minor_gold_value
}
save_scope_as = pleading_vassal
get_random_realm_epidemic = { INTENSITY = minor }
random_character_war = {
limit = {
primary_attacker = {
is_vassal_of = root
is_ai = yes
}
is_defender = prev
attacker_war_score > 30
}
save_scope_as = vassal_war
}
}
scope:vassal_war = {
primary_attacker = {
save_scope_as = attacking_vassal
}
}
set_variable = {
name = gold_transfer_value
value = scope:pleading_vassal.current_gold_value
}
scope:pleading_vassal = {
pay_short_term_gold = {
target = root
gold = current_gold_value
}
hidden_effect = {
if = {
limit = {
NOT = { has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait }
}
random = {
chance = 25
infect_with_epidemic = scope:epidemic_scope
}
}
}
}
}
option = { #send a royal order for white peace
name = epidemic_events.2001.c
duel = {
skill = diplomacy
target = scope:attacking_vassal
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 1
}
send_interface_toast = {
title = epidemic_events.2001.c.success
left_icon = scope:pleading_vassal
right_icon = scope:attacking_vassal
scope:vassal_war = {
end_war = white_peace
}
add_legitimacy_effect = { LEGITIMACY = minor_legitimacy_gain }
scope:pleading_vassal = {
add_opinion = {
modifier = thankful_opinion
opinion = 30
target = root
}
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
send_interface_toast = {
title = epidemic_events.2001.c.failure
left_icon = scope:pleading_vassal
right_icon = scope:attacking_vassal
scope:pleading_vassal = {
add_opinion = {
modifier = disappointed_opinion
opinion = -25
target = root
}
}
custom_tooltip = epidemic_events.2001.danger
}
hidden_effect = {
random = {
chance = 10
trigger_event = {
months = 4
id = epidemic_events.2002
}
}
}
}
}
stress_impact = {
greedy = medium_stress_gain
compassionate = medium_stress_loss
just = medium_stress_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = low_chance_impact_positive_ai_value
ai_rationality = low_chance_impact_positive_ai_value
}
}
}
option = { #imprison the other guy from traveling to you during a pandemic and wash whatever he touched
name = epidemic_events.2001.b
flavor = epidemic_events.2001.b.desc
imprison = {
target = scope:pleading_vassal
type = dungeon
}
scope:pleading_vassal = {
add_opinion = {
modifier = angry_opinion
opinion = -40
target = root
}
}
custom_tooltip = epidemic_events.2001.danger
hidden_effect = {
random = {
chance = 10
trigger_event = {
months = 4
id = epidemic_events.2002
}
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = low_chance_impact_positive_ai_value
ai_rationality = low_chance_impact_positive_ai_value
}
}
stress_impact = {
compassionate = medium_stress_gain
just = medium_stress_gain
paranoid = major_stress_loss
}
}
option = { #pay money to end war
name = epidemic_events.2001.a
scope:vassal_war = {
end_war = white_peace
}
pay_treasury_or_gold = {
target = scope:attacking_vassal
value = {
value = root.var:gold_transfer_value
multiply = 0.5
}
}
scope:pleading_vassal = {
add_opinion = {
modifier = thankful_opinion
opinion = 30
target = root
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = low_chance_impact_negative_ai_value
ai_compassion = low_chance_impact_positive_ai_value
}
}
stress_impact = {
greedy = medium_stress_gain
compassionate = medium_stress_loss
}
}
after = {
hidden_effect = {
if = {
limit = {
scope:pleading_vassal = {
has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait
is_imprisoned = no
}
}
random_list = {
60 = {
random_courtier = {
limit = {
NOT = { has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait }
}
save_scope_as = infected_courtier
}
send_interface_toast = {
title = epidemic_events.2001.epidemic_spread.t
left_icon = scope:pleading_vassal
right_icon = scope:infected_courtier
scope:infected_courtier = {
infect_with_epidemic = scope:epidemic_scope
}
}
}
20 = {
if = {
limit = {
NOT = { has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait }
}
}
random_courtier = {
limit = {
NOT = { has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait }
}
save_scope_as = first_infected_courtier
}
random_courtier = {
limit = {
NOT = {
has_trait = scope:epidemic_scope.epidemic_type.epidemic_trait
scope:first_infected_courtier = this
}
}
save_scope_as = second_infected_courtier
}
send_interface_toast = {
title = epidemic_events.2001.epidemic_spread.t
left_icon = scope:second_infected_courtier
right_icon = scope:first_infected_courtier
scope:first_infected_courtier = {
infect_with_epidemic = scope:epidemic_scope
}
scope:second_infected_courtier = {
infect_with_epidemic = scope:epidemic_scope
}
}
}
}
}
}
}
}
epidemic_events.2002 = {
type = character_event
title = epidemic_events.2002.t
desc = epidemic_events.2002.desc
theme = plague
left_portrait = {
character = root
animation = stress
}
lower_left_portrait = scope:attacking_vassal
lower_right_portrait = scope:pleading_vassal
trigger = {
exists = scope:epidemic_scope
exists = scope:vassal_war
is_ai = no
}
override_background = {
reference = battlefield
}
override_effect_2d = {
reference = fog
}
immediate = {
if = {
limit = {
scope:epidemic_scope = {
outbreak_intensity = minor
}
}
scope:epidemic_scope = {
set_epidemic_outbreak_intensity = major
}
}
else = {
scope:epidemic_scope = {
set_epidemic_outbreak_intensity = apocalyptic
}
}
add_legitimacy = miniscule_legitimacy_loss
}
option = {
name = epidemic_events.2002.a
stress_impact = {
base = minor_stress_gain
}
}
}
epidemic_events.2003 = { #maa are dying from war
type = character_event
title = epidemic_events.2003.t
desc = epidemic_events.2003.desc
theme = plague
left_portrait = {
character = root
animation = stress
}
right_portrait = {
character = scope:marshal
animation = marshal_shield
}
override_background = {
reference = army_camp
}
override_effect_2d = {
reference = flies
}
cooldown = { years = 8 }
trigger = {
is_available_adult = yes
any_held_county = {
any_county_province = {
has_stationed_regiment = yes
any_province_epidemic = {
intensity >= minor
}
}
save_temporary_scope_as = first_county
}
any_held_county = {
this != scope:first_county
any_county_province = {
has_stationed_regiment = yes
any_province_epidemic = {
intensity >= minor
}
}
}
exists = cp:councillor_marshal
}
immediate = {
random_held_county = {
limit = {
any_county_province = {
has_stationed_regiment = yes
any_province_epidemic = {
intensity >= minor
}
}
}
random_county_province = {
limit = {
has_stationed_regiment = yes
any_province_epidemic = {
intensity >= minor
}
}
save_scope_as = first_epidemic_province
random_province_epidemic = {
save_scope_as = epidemic_scope
}
}
save_scope_as = first_epidemic_county
}
random_held_county = {
limit = {
this != scope:first_epidemic_county
any_county_province = {
has_stationed_regiment = yes
any_province_epidemic = {
intensity >= minor
}
}
}
random_county_province = {
limit = {
has_stationed_regiment = yes
any_province_epidemic = {
intensity >= minor
}
}
save_scope_as = second_epidemic_province
}
}
cp:councillor_marshal = { save_scope_as = marshal }
}
option = { #pay more to get more recruits
name = epidemic_events.2003.a
every_maa_regiment = {
change_maa_troops_count = {
value = {
value = this.maa_current_troops_count
multiply = -0.25
}
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = low_chance_impact_negative_ai_value
ai_rationality = low_chance_impact_positive_ai_value
}
}
stress_impact = {
greedy = medium_stress_gain
ambitious = medium_stress_loss
}
}
option = { #dont care, press peasants as maa
name = epidemic_events.2003.b
scope:first_epidemic_province = {
add_province_modifier = {
modifier = epidemic_pressed_levies
years = 5
}
}
scope:second_epidemic_province = {
add_province_modifier = {
modifier = epidemic_pressed_levies
years = 5
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = low_chance_impact_positive_ai_value
ai_compassion = low_chance_impact_negative_ai_value
ai_rationality = low_chance_impact_positive_ai_value
}
}
stress_impact = {
just = medium_stress_gain
}
}
option = { #close the barracks!
name = epidemic_events.2003.c
scope:first_epidemic_province = {
add_province_modifier = {
modifier = epidemic_closed_barracks
years = 5
}
}
scope:second_epidemic_province = {
add_province_modifier = {
modifier = epidemic_closed_barracks
years = 5
}
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_compassion = low_chance_impact_positive_ai_value
ai_rationality = low_chance_impact_positive_ai_value
}
}
stress_impact = {
paranoid = medium_stress_loss
}
}
}
epidemic_events.2004 = { #Medicinal Jar creation event
hidden = yes
trigger = {
is_available_adult = yes
court_position:court_physician_court_position ?= {
is_available_ai_adult = yes
culture != root.culture
NOT = {
has_character_flag = physician_medicinal_jar
}
}
realm_has_any_nearby_epidemic = { SIZE = 4 INTENSITY = minor }
}
cooldown = { years = 160 }
immediate = {
court_position:court_physician_court_position = {
save_scope_as = physician
}
scope:physician = {
create_artifact = {
name = medicine_jar
description = medicine_jar_desc
type = miscellaneous
visuals = glazed_jar
modifier = artifact_epidemic_resistance_1_modifier
modifier = artifact_learning_lifestyle_xp_2_modifier
save_scope_as = medicine_jar
quality = 50
}
add_character_flag = physician_medicinal_jar
}
if = {
limit = {
scope:physician = {
can_equip_artifact = scope:medicine_jar
}
}
scope:medicine_jar = {
equip_artifact_to_owner = yes
}
get_random_nearby_realm_epidemic = { INTENSITY = minor }
trigger_event = {
days = { 3 7 }
id = epidemic_events.2005
}
}
}
}
epidemic_events.2005 = { #Glass jar artifact
type = character_event
title = epidemic_events.2005.t
desc = epidemic_events.2005.desc
theme = plague
left_portrait = {
character = root
animation = personality_rational
}
right_portrait = {
character = scope:physician
animation = physician
}
artifact = {
target = scope:medicine_jar
position = lower_center_portrait
}
override_background = {
reference = physicians_study
}
trigger = {
scope:physician = { is_alive = yes }
}
option = { #politely ask the physisican to part with the jar
name = epidemic_events.2005.a
duel = {
skill = diplomacy
target = scope:physician
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 1
}
send_interface_toast = {
title = epidemic_events.2005.a.success
left_icon = scope:physician
scope:medicine_jar = {
set_owner = root
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
send_interface_toast = {
title = epidemic_events.2005.a.failure
left_icon = scope:physician
scope:medicine_jar = {
add_artifact_modifier = artifact_physician_aptitude_1_modifier
}
}
}
}
stress_impact = {
craven = minor_stress_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_rationality = low_chance_impact_negative_ai_value
}
}
}
option = { #violently grab the jar from physician
name = epidemic_events.2005.b
scope:physician = {
add_opinion = {
modifier = fp3_stole_from_me
opinion = -25
target = root
}
progress_towards_rival_effect = {
REASON = rival_stole_artifact
CHARACTER = root
OPINION = 0
}
}
scope:medicine_jar = {
set_owner = root
}
stress_impact = {
temperate = medium_stress_gain
just = medium_stress_gain
paranoid = medium_stress_loss
wrathful = medium_stress_loss
}
ai_chance = {
base = 100
ai_value_modifier = {
ai_greed = low_chance_impact_positive_ai_value
ai_energy = low_chance_impact_positive_ai_value
ai_rationality = low_chance_impact_negative_ai_value
}
}
}
option = { #let phycisian keep his precious jar
name = epidemic_events.2005.c
scope:medicine_jar = {
add_artifact_modifier = artifact_physician_aptitude_1_modifier
}
stress_impact = {
temperate = medium_stress_loss
just = medium_stress_loss
trusting = medium_stress_loss
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = low_chance_impact_positive_ai_value
ai_rationality = low_chance_impact_positive_ai_value
ai_greed = low_chance_impact_negative_ai_value
}
}
}
}
epidemic_events.2006 = { #Dancing plague
type = character_event
title = epidemic_events.2006.t
desc = epidemic_events.2006.desc
theme = plague
override_background = courtyard
override_effect_2d = { reference = flies }
left_portrait = {
character = root
animation = stress
}
right_portrait = {
character = scope:dance_victim
animation = dancing_plague
}
trigger = {
is_available_adult = yes
OR = {
is_ai = no
this = top_liege
}
capital_province = {
any_province_epidemic = {
#epidemic_type = epidemic_type:ergotism
intensity < apocalyptic
}
}
NOT = {
has_character_flag = had_event_dancing_plague
}
}
weight_multiplier = {
base = 1
modifier = { #Since a big outbreak occurred in Aachen 1374
add = 9
capital_province = {
county = title:c_aachen
}
current_date >= 1370.1.1
current_date <= 1380.1.1
}
modifier = { #Since an outbreak occurred in Erfurt 1247
add = 9
capital_province = {
duchy = title:d_thuringia
}
current_date >= 1240.1.1
current_date <= 1250.1.1
}
modifier = { #Since an outbreak occurred in Kolbigk 1021
add = 9
capital_province = {
geographical_region = ghw_region_saxony
}
current_date >= 1020.1.1
current_date <= 1030.1.1
}
modifier = { #Since it historically occurred in Europe
add = 1
capital_province = {
geographical_region = world_europe
}
}
}
immediate = {
capital_province = {
random_province_epidemic = {
limit = {
epidemic_type = epidemic_type:ergotism
outbreak_intensity < apocalyptic
}
save_scope_as = dancing_plague
}
}
create_character = {
template = servant_character
dynasty = none
location = root.capital_province
save_scope_as = dance_victim
}
hidden_effect = {
scope:dance_victim = {
add_trait = ergotism
}
}
scope:dancing_plague = {
set_epidemic_outbreak_intensity = apocalyptic
}
add_character_flag = had_event_dancing_plague
}
option = { #let's join the paaartey
trigger = {
has_trait = eccentric
}
name = epidemic_events.2006.a
add_character_modifier = {
modifier = ce1_gone_dancing
years = 2
}
hidden_effect = {
random = {
chance = 10
trigger_event = { id = health.1017 days = { 5 15 } } #You contract ergotism
}
}
stress_impact = {
eccentric = medium_stress_loss
}
ai_chance = {
base = 100
}
}
option = { #slay the demon!
trigger = {
has_trait = zealous
}
name = epidemic_events.2006.d
add_piety = minor_piety_gain
scope:dance_victim = {
death = {
death_reason = death_murder
killer = root
}
}
stress_impact = {
zealous = medium_stress_loss
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = low_chance_impact_negative_ai_value
ai_zeal = low_chance_impact_positive_ai_value
}
}
}
option = { #eh, every dance stops eventually, right?
name = epidemic_events.2006.b
capital_county = {
add_county_modifier = {
modifier = dance_plague_modifier
years = 4
}
}
stress_impact = {
compassionate = minor_stress_gain
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = low_chance_impact_negative_ai_value
}
}
}
option = { #tie them down! allieviate their pains somehow
name = epidemic_events.2006.c
hidden_effect = {
random = {
chance = 10
trigger_event = { id = health.1017 days = { 5 15 } } #You contract ergotism
}
}
stress_impact = {
lustful = medium_stress_loss
compassionate = medium_stress_loss
}
ai_chance = {
base = 10
ai_value_modifier = {
ai_compassion = low_chance_impact_positive_ai_value
}
}
}
}

View file

@ -1,134 +0,0 @@
namespace = story_event_legends
###################################
# Legend Ending Events
# 0001 - 0100
###################################
#Heroic Ending Story Event
story_event_legends.0001 = {
type = character_event
window = fullscreen_event
title = story_event_legends.0001.t
desc = {
desc = story_event_legends.0001.desc.intro
first_valid = {
triggered_desc = {
trigger = {
scope:promoted_legend = { has_legend_chapter = famous_deed }
}
desc = story_event_legends.0001.desc.famous_deed
}
triggered_desc = {
trigger = {
scope:promoted_legend = { has_legend_chapter = battle }
}
desc = story_event_legends.0001.desc.battle
}
triggered_desc = {
trigger = {
scope:promoted_legend = { has_legend_chapter = hunt }
}
desc = story_event_legends.0001.desc.hunt
}
desc = story_event_legends.0001.desc.fallback
}
desc = story_event_legends.0001.desc.outro
}
theme = legend
override_background = { reference = ce1_fullscreen_heroic_legend }
override_sound = { reference = "event:/DLC/FP4/SFX/UI/Unique/sfx_ui_spread_legend" }
immediate = {
play_music_cue = mx_cue_legend
set_variable = {
name = finished_legend_var
value = scope:promoted_legend
}
scope:promoted_legend = { set_variable = my_legend_var }
}
option = {
name = story_event_legends.0001.a
clicksound = "event:/DLC/FP2/SFX/UI/fp2_struggle_start_select"
}
}
#Legitimizing Ending Story Event
story_event_legends.0002 = {
type = character_event
window = fullscreen_event
title = story_event_legends.0002.t
desc = {
desc = story_event_legends.0002.desc.intro
first_valid = {
triggered_desc = {
trigger = {
scope:promoted_legend = { has_legend_chapter = famous_deed }
}
desc = story_event_legends.0002.desc.famous_deed
}
triggered_desc = {
trigger = {
scope:promoted_legend = { has_legend_chapter = battle }
}
desc = story_event_legends.0002.desc.battle
}
desc = story_event_legends.0002.desc.fallback
}
desc = story_event_legends.0002.desc.outro
}
theme = legend
override_background = { reference = ce1_fullscreen_legitimizing_legend }
override_sound = { reference = "event:/DLC/FP4/SFX/UI/Unique/sfx_ui_spread_legend" }
immediate = {
play_music_cue = mx_cue_legend
set_variable = {
name = finished_legend_var
value = scope:promoted_legend
}
scope:promoted_legend = { set_variable = my_legend_var }
}
option = {
name = story_event_legends.0002.a
clicksound = "event:/DLC/FP2/SFX/UI/fp2_struggle_start_select"
}
}
#Holy Ending Story Event
story_event_legends.0003 = {
type = character_event
window = fullscreen_event
title = story_event_legends.0003.t
desc = {
desc = story_event_legends.0003.desc.intro
first_valid = {
triggered_desc = {
trigger = {
scope:promoted_legend = { has_legend_chapter = famous_deed }
}
desc = story_event_legends.0001.desc.famous_deed
}
desc = story_event_legends.0001.desc.fallback
}
desc = story_event_legends.0003.desc.outro
}
theme = legend
override_background = { reference = ce1_fullscreen_holy_legend }
override_sound = { reference = "event:/DLC/FP4/SFX/UI/Unique/sfx_ui_spread_legend" }
immediate = {
play_music_cue = mx_cue_legend
set_variable = {
name = finished_legend_var
value = scope:promoted_legend
}
scope:promoted_legend = { set_variable = my_legend_var }
}
option = {
name = story_event_legends.0003.a
clicksound = "event:/DLC/FP2/SFX/UI/fp2_struggle_start_select"
}
}

View file

@ -1,880 +0,0 @@
namespace = legend_events
############################
## Legend Spawn Events
## 0001-1000
## by James Beaumont
############################
# legend_events.0001 - Chronicler gives you a legend seed
# legend_events.0010 - Chronicler convinces someone to promote your legend
# legend_events.0020 - Hold Court presentation of a legend seed
# Chronicler gives you a legend seed :D
legend_events.0001 = {
type = character_event
title = legend_events.0001.t
desc = {
desc = legend_events.0001.desc.intro
first_valid = {
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:slew_dragon
}
desc = legend_events.0001.desc.mid.slew_dragon
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:ancestral_saint
}
desc = legend_events.0001.desc.mid.ancestral_saint
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:old_godly_descent
}
desc = legend_events.0001.desc.mid.old_godly_descent
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:raised_by_animals
}
desc = legend_events.0001.desc.mid.raised_by_animals
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:auspicious_stars
}
desc = legend_events.0001.desc.mid.auspicious_stars
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:virgin_birth
}
desc = legend_events.0001.desc.mid.virgin_birth
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:spoke_to_angels
}
desc = legend_events.0001.desc.mid.spoke_to_angels
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:fought_the_devil
}
desc = legend_events.0001.desc.mid.fought_the_devil
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:exotic_backstory
}
desc = legend_events.0001.desc.mid.exotic_backstory
}
triggered_desc = {
trigger = {
var:legend_seed_to_give = flag:ancient_people
}
desc = legend_events.0001.desc.mid.ancient_people
}
}
desc = legend_events.0001.desc.outro
}
theme = legend
left_portrait = {
character = root
animation = personality_honorable
}
right_portrait = {
character = scope:chronicler
animation = chancellor
}
lower_center_portrait = {
trigger = {
exists = scope:legend_character
}
character = scope:legend_character
}
# The Court Chronicler needs to be alive
trigger = {
scope:chronicler = {
is_alive = yes
}
}
immediate = {
random_list = { # Determine the seed to hand out
10 = { # Ancestor killed a dragon
trigger = {
any_ancestor = {
even_if_dead = yes
is_adult = yes
is_alive = no
}
NOT = { has_game_rule = historical_legends_only }
}
random_ancestor = {
even_if_dead = yes
limit = {
is_adult = yes
is_alive = no
}
weight = {
base = 1
modifier = {
add = prowess
}
modifier = {
add = martial
}
}
save_scope_as = legend_character
}
set_variable = {
name = legend_seed_to_give
value = flag:slew_dragon
}
}
10 = { # Ancestor was/should be a saint
trigger = {
any_ancestor = {
even_if_dead = yes
is_adult = yes
is_alive = no
}
NOT = { has_game_rule = historical_legends_only }
}
random_ancestor = {
even_if_dead = yes
limit = {
is_adult = yes
is_alive = no
}
weight = {
base = 1
modifier = {
add = learning
}
modifier = {
factor = 3
OR = {
num_virtuous_traits = {
target = root.faith
value >= 1
}
has_trait = saint
}
}
modifier = {
factor = 0.1
OR = {
num_sinful_traits = {
target = root.faith
value >= 1
}
has_trait = excommunicated
}
}
}
save_scope_as = legend_character
}
set_variable = {
name = legend_seed_to_give
value = flag:ancestral_saint
}
}
10 = { # I am descended from an old God
trigger = {
NOT = { religion = { is_in_family = rf_pagan } }
any_ancestor = {
even_if_dead = yes
is_alive = no
religion = { is_in_family = rf_pagan }
}
NOT = { has_game_rule = historical_legends_only }
}
random_ancestor = {
even_if_dead = yes
limit = {
religion = { is_in_family = rf_pagan }
is_alive = no
}
weight = {
base = 1
modifier = {
add = learning
}
modifier = {
factor = 3
OR = {
num_virtuous_traits = {
target = root.faith
value >= 1
}
has_trait = saint
}
}
modifier = {
factor = 0.1
OR = {
num_sinful_traits = {
target = root.faith
value >= 1
}
has_trait = excommunicated
}
}
}
save_scope_as = legend_character
}
set_variable = {
name = legend_seed_to_give
value = flag:old_godly_descent
}
}
10 = { # I was raised by dangerous animals
trigger = {
NOT = { has_game_rule = historical_legends_only }
}
select_local_animal_effect = { TYPE = dangerous }
set_variable = {
name = legend_seed_to_give
value = flag:raised_by_animals
}
}
10 = { # Born under auspicious stars
trigger = {
NOT = { has_game_rule = historical_legends_only }
}
set_variable = {
name = legend_seed_to_give
value = flag:auspicious_stars
}
}
10 = { # Virgin birth
trigger = {
has_any_bastard_trait_trigger = yes
NOT = { has_game_rule = historical_legends_only }
}
set_variable = {
name = legend_seed_to_give
value = flag:virgin_birth
}
}
10 = { # Spoke to an angel
trigger = {
religion_has_angels_trigger = yes
NOT = { has_game_rule = historical_legends_only }
}
set_variable = {
name = legend_seed_to_give
value = flag:spoke_to_angels
}
}
10 = { # Fought a demon
trigger = {
NOT = { has_game_rule = historical_legends_only }
}
set_variable = {
name = legend_seed_to_give
value = flag:fought_the_devil
}
}
10 = { # Exotic backstory
get_appropriate_exotic_location = yes
set_variable = {
name = legend_seed_to_give
value = flag:exotic_backstory
}
}
10 = { # Ancient people
trigger = {
# The ancient cultures we have for now aren't appropriate for these regions
root.culture = {
NOR = {
culture_overlaps_geographical_region = world_burma
culture_overlaps_geographical_region = custom_arakan_mountains
culture_overlaps_geographical_region = world_tibet
}
}
}
get_appropriate_ancient_people = yes
set_variable = {
name = legend_seed_to_give
value = flag:ancient_people
}
}
}
}
option = { # Wowie zowie, really?
name = legend_events.0001.a
if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:slew_dragon
}
create_legend_seed = {
type = heroic
quality = famed
chronicle = beast_slayer
properties = {
beast = flag:dragon
location = root.location
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:ancestral_saint
}
create_legend_seed = {
type = holy
quality = famed
chronicle = saintly_deed
properties = {
ancestor = scope:legend_character
religion = root.religion
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:old_godly_descent
}
generate_religion_descent_effect = {
RELIGION = scope:legend_character.religion
GOD = high_god
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:raised_by_animals
}
create_legend_seed = {
type = heroic
quality = famed
chronicle = raised_by_animals
properties = {
beast = var:animal_type
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:auspicious_stars
}
create_legend_seed = {
type = holy
quality = famed
chronicle = sacred_birth
properties = {
reason = flag:auspicious
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:virgin_birth
}
create_legend_seed = {
type = holy
quality = famed
chronicle = sacred_birth
properties = {
reason = flag:virgin
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:spoke_to_angels
}
create_legend_seed = {
type = holy
quality = famed
chronicle = divine_intervention
properties = {
god = flag:the_angels
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:fought_the_devil
}
create_legend_seed = {
type = holy
quality = famed
chronicle = fought_devil
properties = {
faith = root.faith
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:exotic_backstory
}
create_legend_seed = {
type = heroic
quality = famed
chronicle = exotic_backstory
properties = {
location = scope:exotic_location
}
}
}
else_if = {
limit = {
exists = var:legend_seed_to_give
var:legend_seed_to_give = flag:ancient_people
}
create_legend_seed = {
type = legitimizing
quality = famed
chronicle = ancient_people
properties = {
culture = scope:ancient_culture
title = root.primary_title
original_region = var:original_region
}
}
}
ai_chance = {
base = 100
}
}
option = { # I don't want this legend
name = legend_events.0001.b
ai_chance = {
base = 0
}
}
}
# Chronicler convinces someone to promote your legend
legend_events.0010 = {
type = character_event
title = legend_events.0010.t
desc = legend_events.0010.desc
theme = legend
left_portrait = {
character = root
animation = personality_honorable
}
right_portrait = {
character = scope:chronicler
animation = chancellor
}
lower_center_portrait = scope:potential_promoter
trigger = {
OR = {
scope:chronicler ?= {
is_alive = yes
has_court_position = chronicler_court_position
employer = root
}
employs_court_position = chronicler_court_position
}
OR = {
# Vassals
any_vassal_or_below = {
# No barons
highest_held_title_tier >= tier_county
# Not promoting their own legend
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
# Neighbourinos
any_neighboring_and_across_water_top_liege_realm_owner = {
# Not promoting their own legend
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
}
}
immediate = {
if = {
limit = {
NOT = {
scope:chronicler ?= {
is_alive = yes
has_court_position = chronicler_court_position
employer = root
}
}
}
court_position:chronicler_court_position ?= { save_scope_as = chronicler }
}
random_list = {
# Vassals
75 = {
trigger = {
any_vassal_or_below = {
highest_held_title_tier >= tier_county
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
}
random_vassal_or_below = {
limit = {
highest_held_title_tier >= tier_county
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
save_scope_as = potential_promoter
}
}
# Neighbourinos
25 = {
trigger = {
any_neighboring_and_across_water_top_liege_realm_owner = {
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
}
random_neighboring_and_across_water_top_liege_realm_owner = {
limit = {
promoted_legend.legend_owner != root
promoted_legend != scope:liege.promoted_legend
is_ai = yes
}
save_scope_as = potential_promoter
}
}
}
}
option = { # Diplo duel option
name = legend_events.0010.a
duel = {
skill = diplomacy
target = scope:potential_promoter
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
modifier = { # Reluctant to drop their existing legend
scope:potential_promoter = { exists = promoted_legend }
factor = 0.5
}
min = 10
send_interface_toast = {
title = legend_events.0010.a.success
right_icon = scope:potential_promoter
scope:potential_promoter = {
set_promoted_legend = root.promoted_legend
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
modifier = { # Reluctant to drop their existing legend
scope:potential_promoter = { exists = promoted_legend }
factor = 2
}
min = 10
send_interface_toast = {
title = legend_events.0010.a.failure
right_icon = scope:potential_promoter
add_prestige = minor_prestige_loss
}
}
}
ai_chance = {
base = 100
modifier = { # I'd have better odds with option B
intrigue > diplomacy
factor = 0
}
}
}
option = { # Lie
name = legend_events.0010.b
duel = {
skill = intrigue
target = scope:potential_promoter
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
modifier = { # Reluctant to drop their existing legend
scope:potential_promoter = { exists = promoted_legend }
factor = 0.5
}
min = 10
send_interface_toast = {
title = legend_events.0010.a.success
right_icon = scope:potential_promoter
scope:potential_promoter = {
set_promoted_legend = root.promoted_legend
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
modifier = { # Reluctant to drop their existing legend
scope:potential_promoter = { exists = promoted_legend }
factor = 2
}
min = 10
send_interface_toast = {
title = legend_events.0010.a.failure
right_icon = scope:potential_promoter
add_prestige = minor_prestige_loss
}
}
}
stress_impact = {
honest = minor_stress_impact_gain
}
ai_chance = {
base = 100
modifier = { # I'd have better odds with option A
intrigue < diplomacy
factor = 0
}
}
}
option = { # Nah not interested, go away.
name = legend_events.0010.c
ai_chance = {
base = 0
}
}
}
legend_events.0020 = { #hold court presentation of a potential seed
type = court_event
title = legend_events.0020.t
desc = legend_events.0020.desc
theme = legend
court_scene = {
button_position_character = scope:seed_presenter
court_event_force_open = yes
show_timeout_info = no
should_pause_time = yes
roles = {
scope:seed_presenter = {
group = petitioners_group
animation = personality_rational
}
}
}
widget = {
gui = "event_window_widget_event_chain_progress"
container = "custom_widgets_container"
controller = event_chain_progress
}
weight_multiplier = {
base = 1
modifier = {
factor = 2
court_grandeur_current_level > court_grandeur_minimum_expected_level
}
# Court weightings.
ep1_weight_up_for_court_type_modifier = { COURT_TYPE = court_diplomatic }
}
trigger = {
any_pool_guest = {
count >= 1
is_available_adult = yes
has_court_event_flag = no
culture != root.culture
opinion = {
target = root
value >= high_positive_opinion
}
}
NOR = {
has_personal_legend_seed = heroic
has_personal_legend_seed = holy
has_personal_legend_seed = legitimizing
}
}
immediate = {
random_pool_guest = {
limit = {
is_available_adult = yes
has_court_event_flag = no
culture != root.culture
opinion = {
target = root
value >= high_positive_opinion
}
}
save_scope_as = seed_presenter
court_event_character_flag_effect = yes
}
hold_court_queue_next_event_effect = yes
}
option = { #yes, it is my about my dynasty and I shall prove it!
name = legend_events.0020.a
legend_seed_great_deed_dynasty_effect = yes
culture = {
change_cultural_acceptance = {
target = scope:seed_presenter.culture
value = miniscule_positive_culture_acceptance
desc = cultural_acceptance_gain_hold_court_event_outcome
}
}
stress_impact = {
ambitious = minor_stress_loss
}
ai_chance = { #we want AI to have seeds
base = 100
}
}
option = { #yes, it is about me ruling the title and I shall prove it!
name = legend_events.0020.b
legend_seed_great_deed_title_effect = {
TITLE = root.primary_title
}
culture = {
change_cultural_acceptance = {
target = scope:seed_presenter.culture
value = miniscule_positive_culture_acceptance
desc = cultural_acceptance_gain_hold_court_event_outcome
}
}
stress_impact = {
ambitious = minor_stress_loss
}
ai_chance = { #we want AI to have seeds
base = 100
}
}
option = { #no, I don't need to humor your culture fairy tales
name = legend_events.0020.c
add_prestige = medium_prestige_gain
dynasty = {
add_dynasty_prestige = minor_dynasty_prestige_gain
}
culture = {
change_cultural_acceptance = {
target = scope:seed_presenter.culture
value = low_negative_culture_acceptance
desc = cultural_acceptance_gain_hold_court_event_outcome
}
}
stress_impact = {
ambitious = minor_stress_gain
compassionate = minor_stress_gain
callous = medium_stress_loss
sadistic = medium_stress_loss
}
ai_chance = { #we want AI to have seeds
base = 0
}
}
after = {
scope:seed_presenter = {
clear_court_event_participation = yes
}
# Finish up the chain if relevant.
hold_court_queue_post_event_effect = yes
}
}
legend_events.1000 = {
type = letter_event
opening = { desc = legend_events.1000.t }
desc = legend_events.1000.desc
sender = scope:legend_owner
immediate = {
scope:legend = {
legend_owner = { save_scope_as = legend_owner }
}
}
option = { #I did a silly
name = legend_events.1000.a
pay_short_term_gold = {
target = scope:legend_owner
gold = medium_gold_value
}
stress_impact = {
deceitful = major_stress_impact_loss
honest = medium_stress_impact_gain
just = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
option = { #If you have really high Intrigue you get away with paying just half
name = legend_events.1000.b
trigger = {
intrigue >= very_high_skill_rating
}
#trait = deceitful
pay_short_term_gold = {
target = scope:legend_owner
gold = {
value = medium_gold_value
multiply = 0.5
}
}
stress_impact = {
deceitful = massive_stress_impact_loss
honest = major_stress_impact_gain
just = medium_stress_impact_gain
}
ai_chance = {
base = 100
}
}
after = {
remove_variable = accepted_promote_legend_var
}
}

View file

@ -70,7 +70,7 @@ legend_spread_events.8000 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
lazy = medium_stress_impact_gain # You want me to go all the way to X place? I'm staying here.
}
ai_chance = {
@ -84,7 +84,7 @@ legend_spread_events.8000 = {
option = { # Sod that
name = legend_spread_events.8000.b
stress_impact = {
stress_and_fulfillment_impact = {
content = medium_stress_impact_loss
ambitious = major_stress_impact_gain
}
@ -138,7 +138,7 @@ legend_spread_events.8002 = {
name = legend_spread_events.8002.a
show_as_unavailable = { always = yes } # Make scholars feel cool
trigger = {
NOT = { has_trait = scholar }
NOT = { has_trait = erudite }
}
duel = {
skills = { stewardship learning }
@ -174,7 +174,7 @@ legend_spread_events.8002 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
patient = minor_stress_impact_loss
impatient = minor_stress_impact_gain
lazy = minor_stress_impact_gain
@ -193,7 +193,7 @@ legend_spread_events.8002 = {
name = legend_spread_events.8002.b
show_as_unavailable = { always = yes } # Make scholars feel cool
trigger = {
NOT = { has_trait = scholar }
NOT = { has_trait = erudite }
}
duel = {
skill = prowess
@ -249,7 +249,7 @@ legend_spread_events.8002 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
impatient = minor_stress_impact_loss
patient = minor_stress_impact_gain
diligent = minor_stress_impact_gain
@ -272,7 +272,7 @@ legend_spread_events.8002 = {
years = 10
}
current_travel_plan = { resume_travel_plan = yes }
stress_impact = {
stress_and_fulfillment_impact = {
content = medium_stress_impact_loss
patient = minor_stress_impact_loss
impatient = minor_stress_impact_gain
@ -289,9 +289,9 @@ legend_spread_events.8002 = {
}
}
option = { # I'm a scholar so I'm able to just find it instantly
option = { # I'm a erudite so I'm able to just find it instantly
name = legend_spread_events.8002.d
trigger = { has_trait = scholar }
trigger = { has_trait = erudite }
custom_tooltip = {
text = you_find_the_tome_tt
trigger_event = {
@ -299,8 +299,8 @@ legend_spread_events.8002 = {
days = { 2 14 }
}
}
stress_impact = {
scholar = medium_stress_impact_loss
stress_and_fulfillment_impact = {
erudite = medium_stress_impact_loss
patient = minor_stress_impact_loss
}
ai_chance = {
@ -579,7 +579,7 @@ legend_spread_events.8010 = {
name = legend_spread_events.8010.b
add_prestige = medium_prestige_loss
current_travel_plan = { resume_travel_plan = yes }
stress_impact = {
stress_and_fulfillment_impact = {
brave = medium_stress_impact_gain
arrogant = minor_stress_impact_gain
}
@ -639,7 +639,7 @@ legend_spread_events.8012 = {
promoted_legend = {
change_legend_quality_effect = { VALUE = medium_legend_quality_decrease }
}
stress_impact = {
stress_and_fulfillment_impact = {
ambitious = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
vengeful = minor_stress_impact_gain
@ -654,7 +654,7 @@ legend_spread_events.8012 = {
trigger = {
has_trait = schemer
}
stress_impact = {
stress_and_fulfillment_impact = {
ambitious = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
vengeful = minor_stress_impact_gain
@ -824,7 +824,7 @@ legend_spread_events.8020 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = medium_stress_impact_gain
honest = minor_stress_impact_gain
cynical = minor_stress_impact_gain
@ -844,7 +844,7 @@ legend_spread_events.8020 = {
add_piety = minor_piety_loss
add_prestige = minor_prestige_gain
scope:challenger = { select_and_move_to_pool_effect = yes }
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
zealous = medium_stress_impact_gain
diligent = minor_stress_impact_gain
@ -955,7 +955,7 @@ legend_spread_events.8030 = {
modifier = kids_legend_modifier
years = 10
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = minor_stress_impact_gain
gregarious = minor_stress_impact_gain
}
@ -999,7 +999,7 @@ legend_spread_events.8030 = {
add_stewardship_skill = 1
}
}
stress_impact = {
stress_and_fulfillment_impact = {
shy = minor_stress_impact_gain
arrogant = minor_stress_impact_loss
}
@ -1050,7 +1050,7 @@ legend_spread_events.8040 = {
any_trait_in_category = {
category = personality
NOT = { prev = { has_trait = prev } }
root.faith = { trait_is_sin = prev }
root.rite = { trait_is_sin_rite = prev }
}
}
}
@ -1095,7 +1095,7 @@ legend_spread_events.8040 = {
any_trait_in_category = { # Using trait in category so it doesn't like make them Pregnant or something, as hilarious as that would be
category = personality
prev = { has_trait = prev }
root.faith = { trait_is_virtue = prev }
root.rite = { trait_is_virtue_rite = prev }
}
}
}
@ -1104,7 +1104,7 @@ legend_spread_events.8040 = {
category = personality
limit = {
prev = { has_trait = prev }
root.faith = { trait_is_virtue = prev }
root.rite = { trait_is_virtue_rite = prev }
}
save_scope_as = virtue_trait
}
@ -1116,7 +1116,7 @@ legend_spread_events.8040 = {
category = personality
limit = {
prev = { has_trait = prev }
NOT = { root.faith = { trait_is_sin = prev } }
NOT = { root.rite = { trait_is_sin_rite = prev } }
}
save_scope_as = virtue_trait
}
@ -1127,7 +1127,7 @@ legend_spread_events.8040 = {
category = personality
limit = {
NOT = { prev = { has_trait = prev } }
root.faith = { trait_is_sin = prev }
root.rite = { trait_is_sin_rite = prev }
}
save_scope_as = sin_trait
}
@ -1182,7 +1182,7 @@ legend_spread_events.8040 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = medium_stress_impact_gain
honest = minor_stress_impact_gain
cynical = minor_stress_impact_gain
@ -1202,7 +1202,7 @@ legend_spread_events.8040 = {
add_prestige = minor_prestige_gain
add_piety = medium_piety_loss
scope:challenger = { select_and_move_to_pool_effect = yes }
stress_impact = {
stress_and_fulfillment_impact = {
base = miniscule_stress_impact_loss
wrathful = medium_stress_impact_loss
calm = minor_stress_impact_gain
@ -1251,13 +1251,13 @@ legend_spread_events.8050 = {
any_trait_in_category = {
category = personality
NOT = { prev = { has_trait = prev } }
root.faith = { trait_is_virtue = prev }
root.rite = { trait_is_virtue_rite = prev }
}
# There is a trait they have which is not virtuous
any_trait_in_category = {
category = personality
prev = { has_trait = prev }
NOT = { root.faith = { trait_is_virtue = prev } }
NOT = { root.rite = { trait_is_virtue_rite = prev } }
}
}
}
@ -1276,7 +1276,7 @@ legend_spread_events.8050 = {
category = personality
limit = {
NOT = { prev = { has_trait = prev } }
root.faith = { trait_is_virtue = prev }
root.rite = { trait_is_virtue_rite = prev }
}
save_scope_as = virtue_trait
}
@ -1284,7 +1284,7 @@ legend_spread_events.8050 = {
category = personality
limit = {
prev = { has_trait = prev }
NOT = { root.faith = { trait_is_virtue = prev } }
NOT = { root.rite = { trait_is_virtue_rite = prev } }
}
save_scope_as = sin_trait
}
@ -1341,7 +1341,7 @@ legend_spread_events.8050 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = minor_stress_impact_gain
honest = minor_stress_impact_gain
}
@ -1361,7 +1361,7 @@ legend_spread_events.8050 = {
VALUE = minor_legend_quality_increase
}
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = minor_stress_impact_loss
arrogant = medium_stress_impact_gain
deceitful = medium_stress_impact_gain
@ -1401,7 +1401,7 @@ legend_spread_events.8050 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = medium_stress_impact_gain
arrogant = minor_stress_impact_loss
}
@ -1507,7 +1507,7 @@ legend_spread_events.8060 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = minor_stress_impact_gain
honest = minor_stress_impact_gain
}
@ -1527,7 +1527,7 @@ legend_spread_events.8060 = {
VALUE = minor_legend_quality_increase
}
}
stress_impact = {
stress_and_fulfillment_impact = {
deceitful = medium_stress_impact_gain
diligent = minor_stress_impact_gain
}
@ -1584,7 +1584,7 @@ legend_spread_events.8070 = {
}
}
faith = {
random_holy_site = {
random_holy_site_barony = {
title_province = { save_scope_as = holy_site }
}
}
@ -1638,7 +1638,7 @@ legend_spread_events.8070 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = minor_stress_impact_gain
honest = minor_stress_impact_gain
}
@ -1684,7 +1684,7 @@ legend_spread_events.8070 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
deceitful = medium_stress_impact_gain
diligent = minor_stress_impact_gain
zealous = minor_stress_impact_gain
@ -1835,7 +1835,7 @@ legend_spread_events.8080 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = minor_stress_impact_gain
honest = minor_stress_impact_gain
}
@ -1871,7 +1871,7 @@ legend_spread_events.8080 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
deceitful = medium_stress_impact_gain
diligent = minor_stress_impact_gain
}
@ -2051,7 +2051,7 @@ legend_spread_events.8090 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = minor_stress_impact_gain
honest = minor_stress_impact_gain
}
@ -2076,7 +2076,7 @@ legend_spread_events.8090 = {
localization_key = legend_chapter_forged_own_path
}
}
stress_impact = {
stress_and_fulfillment_impact = {
deceitful = medium_stress_impact_gain
diligent = minor_stress_impact_gain
}
@ -2125,9 +2125,7 @@ legend_spread_events.8100 = {
legend_type = legend_type:holy
}
is_available_adult = yes
faith = {
has_doctrine_parameter = witchcraft_accepted # Covers both accepted and virtuous
}
rite = { rite_has_parameter = witchcraft_accepted }
# You have an artifact that is not already home to an evil spirit
any_character_artifact = {
NOT = { has_variable = imbued_with_evil_spirit }
@ -2304,7 +2302,7 @@ legend_spread_events.8100 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
craven = medium_stress_impact_gain
callous = minor_stress_impact_gain
witch = minor_stress_impact_loss # I live for this shit
@ -2320,7 +2318,7 @@ legend_spread_events.8100 = {
option = { # Zoinks! I'm outta here scoob
name = legend_spread_events.8100.b
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = medium_stress_impact_gain
witch = medium_stress_impact_gain
brave = medium_stress_impact_gain
@ -2516,7 +2514,7 @@ legend_spread_events.8110 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
honest = medium_stress_impact_gain
callous = minor_stress_impact_loss
sadistic = minor_stress_impact_loss
@ -2535,7 +2533,7 @@ legend_spread_events.8110 = {
option = { # Nah, this did not happen
name = legend_spread_events.8110.b
stress_impact = {
stress_and_fulfillment_impact = {
arrogant = medium_stress_impact_gain
deceitful = medium_stress_impact_gain
zealous = minor_stress_impact_gain
@ -2671,7 +2669,7 @@ legend_spread_events.8120 = {
on_travel_planner_cancel_event = legend_spread_events.8121
}
}
stress_impact = {
stress_and_fulfillment_impact = {
lazy = medium_stress_impact_gain
}
ai_chance = {
@ -2685,7 +2683,7 @@ legend_spread_events.8120 = {
option = { # Sod that
name = legend_spread_events.8120.b
stress_impact = {
stress_and_fulfillment_impact = {
content = medium_stress_impact_loss
ambitious = major_stress_impact_gain
}
@ -2831,6 +2829,11 @@ legend_spread_events.8122 = {
}
immediate = {
if = {
limit = { scope:distant_title.holder != scope:distant_liege }
scope:distant_title.holder = { save_scope_as = distant_liege }
}
scope:distant_liege = {
random_courtier_or_guest = {
limit = {
@ -2857,6 +2860,7 @@ legend_spread_events.8122 = {
name = legend_spread_events.8122.a
trigger = {
exists = scope:distant_liege
exists = scope:distant_knight
}
custom_tooltip = legend_quality_if_wins_tt
configure_start_single_combat_effect = {
@ -2869,7 +2873,7 @@ legend_spread_events.8122 = {
OUTPUT_EVENT = legend_spread_events.8123
INVALIDATION_EVENT = fp1_tbc.0021
}
stress_impact = {
stress_and_fulfillment_impact = {
craven = medium_stress_impact_gain
}
ai_chance = {
@ -2924,7 +2928,7 @@ legend_spread_events.8122 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
shy = medium_stress_impact_gain
}
ai_chance = {
@ -3232,7 +3236,7 @@ legend_spread_events.8130 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = minor_stress_impact_gain
honest = minor_stress_impact_gain
}
@ -3251,7 +3255,7 @@ legend_spread_events.8130 = {
add_piety = minor_piety_gain
stress_impact = {
stress_and_fulfillment_impact = {
base = miniscule_stress_impact_loss
content = medium_stress_impact_loss
ambitious = major_stress_impact_gain
@ -3535,7 +3539,7 @@ legend_spread_events.8150 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = minor_stress_impact_gain
honest = minor_stress_impact_gain
}
@ -3552,7 +3556,7 @@ legend_spread_events.8150 = {
option = { # I was attacked when evangelising the faith
name = legend_spread_events.8150.b
trigger = { # Must believe in evangelism to an extent
faith = { NOT = { has_doctrine = doctrine_pluralism_pluralistic } }
rite = { NOT = { rite_has_doctrine = doctrine_pluralism_pluralistic } }
}
duel = {
skill = learning
@ -3604,7 +3608,7 @@ legend_spread_events.8150 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = minor_stress_impact_gain
honest = minor_stress_impact_gain
cynical = minor_stress_impact_gain
@ -3632,7 +3636,7 @@ legend_spread_events.8150 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
shy = minor_stress_impact_loss
reclusive = minor_stress_impact_loss
@ -3681,7 +3685,7 @@ legend_spread_events.8160 = {
has_character_flag = legend_spread_events_8160
}
promoted_legend = {
has_legend_chapter = additional_deed
has_legend_chapter = extra_deed
}
}
@ -3703,7 +3707,7 @@ legend_spread_events.8160 = {
value = scope:soulmate
}
set_legend_chapter = {
name = additional_deed
name = extra_deed
localization_key = legend_chapter_love
}
}
@ -3712,7 +3716,7 @@ legend_spread_events.8160 = {
target = scope:soulmate
opinion = 15
}
stress_impact = {
stress_and_fulfillment_impact = {
# My legend is about meeeee
arrogant = minor_stress_impact_gain
callous = minor_stress_impact_gain
@ -3766,7 +3770,7 @@ legend_spread_events.8170 = {
}
triggered_desc = {
trigger = {
faith = { has_doctrine_parameter = reincarnation_events_active }
rite = { rite_has_parameter = reincarnation_events_active }
}
desc = legend_spread_events.8170.desc.mid.reincarnation
}
@ -3828,7 +3832,7 @@ legend_spread_events.8170 = {
}
modifier = { # Faith believes dying is good actually
factor = 0.1
faith = { has_doctrine_parameter = consolamentum_active }
rite = { rite_has_parameter = consolamentum_active }
}
}
@ -3854,7 +3858,7 @@ legend_spread_events.8170 = {
hidden_effect = {
add_character_flag = quest_for_immortality
}
stress_impact = {
stress_and_fulfillment_impact = {
content = minor_stress_impact_gain
humble = minor_stress_impact_gain
brave = minor_stress_impact_gain
@ -3882,7 +3886,7 @@ legend_spread_events.8170 = {
modifier = ce1_level_headed
years = 5
}
stress_impact = {
stress_and_fulfillment_impact = {
ambitious = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
craven = minor_stress_impact_gain
@ -3949,7 +3953,7 @@ legend_spread_events.8171 = {
localization_key = legend_chapter_immortal_child_conclusion
}
}
stress_impact = {
stress_and_fulfillment_impact = {
ambitious = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
craven = minor_stress_impact_gain
@ -3980,7 +3984,7 @@ legend_spread_events.8172 = {
outfit_tags = { nightgown }
hide_info = yes
}
override_effect_2d = fog
override_effect_2d = { reference = fog }
cooldown = { years = 5 }
trigger = {
@ -3996,14 +4000,16 @@ legend_spread_events.8172 = {
immediate = {
promoted_legend = { save_scope_as = legend }
create_character = {
template = bp1_doppelganger_template
dynasty = none
location = root.capital_province
save_scope_as = old_you
}
scope:old_you = {
set_age = 100
hidden_effect_new_object = {
create_character = {
template = bp1_doppelganger_template
dynasty = none
location = root.capital_province
save_scope_as = old_you
}
scope:old_you = {
set_age = 100
}
}
}
@ -4023,7 +4029,7 @@ legend_spread_events.8172 = {
modifier = ce1_accepted_mortality
years = 25
}
stress_impact = {
stress_and_fulfillment_impact = {
base = major_stress_impact_loss
ambitious = minor_stress_impact_gain
arrogant = minor_stress_impact_gain
@ -4055,7 +4061,7 @@ legend_spread_events.8172 = {
modifier = ce1_will_to_live
years = 15
}
stress_impact = {
stress_and_fulfillment_impact = {
ambitious = minor_stress_impact_loss
arrogant = minor_stress_impact_loss
craven = minor_stress_impact_loss
@ -4093,7 +4099,7 @@ legend_spread_events.8172 = {
death_reason = death_peaceful
}
stress_impact = {
stress_and_fulfillment_impact = {
base = massive_stress_impact_loss
}
ai_chance = {
@ -4212,7 +4218,7 @@ legend_spread_events.8180 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
forgiving = minor_stress_impact_gain
craven = minor_stress_impact_gain
}
@ -4231,7 +4237,7 @@ legend_spread_events.8180 = {
modifier = ce1_forgiveness
years = 15
}
stress_impact = {
stress_and_fulfillment_impact = {
base = major_stress_impact_gain
forgiving = major_stress_impact_loss
compassionate = major_stress_impact_loss
@ -4317,8 +4323,9 @@ legend_spread_events.8181 = {
}
}
remove_variable = 8180_revenge_quest
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
vengeful = minor_stress_impact_loss
}
ai_chance = {
base = 100
@ -4463,7 +4470,7 @@ legend_spread_events.8190 = {
}
}
}
stress_impact = {
stress_and_fulfillment_impact = {
humble = minor_stress_impact_gain
honest = minor_stress_impact_gain
}
@ -4491,7 +4498,7 @@ legend_spread_events.8190 = {
}
}
stress_impact = {
stress_and_fulfillment_impact = {
base = minor_stress_impact_loss
deceitful = medium_stress_impact_gain
diligent = minor_stress_impact_gain

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,32 +0,0 @@
namespace = legitimacy_events
############################
## Legitimacy Maintenance Events
## 0001-1000
## by Joe Parkin
############################
# legitimacy_events.0001 - Debug event for testing base legitimacy values with breakdowns of sources
legitimacy_events.0001 = {
type = character_event
title = LOREM_IPSUM_TITLE
desc = LOREM_IPSUM_DESCRIPTION
theme = realm
orphan = yes
left_portrait = root
trigger = {
exists = dynasty
# Exclude unplayable for now
NOR = {
government_has_flag = government_is_republic
government_has_flag = government_is_theocracy
}
}
option = {
add_legitimacy = base_legitimacy_value
custom_tooltip = base_legitimacy_debug_tt
}
}

File diff suppressed because it is too large Load diff

View file

@ -1,719 +0,0 @@
namespace = ep1_character_interaction
##################################################
#
# Character Interaction Events
#
# 0001 - 0010 Indebt Guest
##################################################
##################################################
# CHARACTER INTERACTION EVENTS
##################################################
# A Sensible Recompense
# by Ewan Cowhig Croft
# 0001 - 0010
##################################################
scripted_trigger ep1_character_interaction_0001_valid_hostile_relation_trigger = {
# Must be at a court of some kind *other* than your own.
exists = host
scope:actor != host
# And not in scope:actor's prison.
NOR = {
imprisoner ?= scope:actor
}
# Double check that this'd be an appropriate court to send a plant.
save_temporary_scope_as = current_target
scope:actor = {
OR = {
# Either you've got a scheme on the go...
any_scheme = {
hostile_scheme_trigger = yes
scheme_target_character = scope:current_target
}
# ... or you could start one.
can_start_hostile_scheme_against_trigger = { TARGET = scope:current_target}
}
}
}
scripted_trigger ep1_character_interaction_0001_valid_rival_trigger = {
ep1_character_interaction_0001_valid_hostile_relation_trigger = yes
OR = {
NOT = { exists = scope:actor_nemesis }
this != scope:actor_nemesis
}
}
scripted_effect ep1_character_interaction_0001_move_character_and_family_effect = {
scope:recipient = {
# Whatever else happens, just move them.
scope:actor = { remove_courtier_or_guest = scope:recipient }
$DESTINATION$ = { add_courtier = scope:recipient }
# If they have any family, quietly send them along too.
hidden_effect = {
if = {
limit = {
any_traveling_family_member = { }
}
every_traveling_family_member = {
save_temporary_scope_as = family_to_shunt
scope:actor = { remove_courtier_or_guest = scope:family_to_shunt }
$DESTINATION$ = { add_courtier = scope:family_to_shunt }
}
}
}
}
}
# Trick a guest into a debt & turn them into an agent.
ep1_character_interaction.0001 = {
type = character_event
title = ep1_character_interaction.0001.t
desc = {
desc = ep1_character_interaction.0001.desc.intro
first_valid = {
triggered_desc = {
trigger = { scope:false_flag_type = flag:lustful }
desc = ep1_character_interaction.0001.desc.lustful
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:chaste }
desc = ep1_character_interaction.0001.desc.chaste
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:gluttonous }
desc = ep1_character_interaction.0001.desc.gluttonous
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:temperate }
desc = ep1_character_interaction.0001.desc.temperate
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:greedy }
desc = ep1_character_interaction.0001.desc.greedy
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:generous }
desc = ep1_character_interaction.0001.desc.generous
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:lazy }
desc = ep1_character_interaction.0001.desc.lazy
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:diligent }
desc = ep1_character_interaction.0001.desc.diligent
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:wrathful }
desc = ep1_character_interaction.0001.desc.wrathful
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:calm }
desc = ep1_character_interaction.0001.desc.calm
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:patient }
desc = ep1_character_interaction.0001.desc.patient
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:impatient }
desc = ep1_character_interaction.0001.desc.impatient
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:arrogant }
desc = ep1_character_interaction.0001.desc.arrogant
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:humble }
desc = ep1_character_interaction.0001.desc.humble
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:deceitful }
desc = ep1_character_interaction.0001.desc.deceitful
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:honest }
desc = ep1_character_interaction.0001.desc.honest
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:craven }
desc = ep1_character_interaction.0001.desc.craven
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:brave }
desc = ep1_character_interaction.0001.desc.brave
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:shy }
desc = ep1_character_interaction.0001.desc.shy
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:gregarious }
desc = ep1_character_interaction.0001.desc.gregarious
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:ambitious }
desc = ep1_character_interaction.0001.desc.ambitious
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:content }
desc = ep1_character_interaction.0001.desc.content
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:arbitrary }
desc = ep1_character_interaction.0001.desc.arbitrary
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:just }
desc = ep1_character_interaction.0001.desc.just
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:cynical }
desc = ep1_character_interaction.0001.desc.cynical
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:zealous }
desc = ep1_character_interaction.0001.desc.zealous
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:paranoid }
desc = ep1_character_interaction.0001.desc.paranoid
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:trusting }
desc = ep1_character_interaction.0001.desc.trusting
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:compassionate }
desc = ep1_character_interaction.0001.desc.compassionate
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:callous }
desc = ep1_character_interaction.0001.desc.callous
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:sadistic }
desc = ep1_character_interaction.0001.desc.sadistic
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:stubborn }
desc = ep1_character_interaction.0001.desc.stubborn
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:fickle }
desc = ep1_character_interaction.0001.desc.fickle
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:vengeful }
desc = ep1_character_interaction.0001.desc.vengeful
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:forgiving }
desc = ep1_character_interaction.0001.desc.forgiving
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:fallback_1 }
desc = ep1_character_interaction.0001.desc.fallback_1
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:fallback_2 }
desc = ep1_character_interaction.0001.desc.fallback_2
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:fallback_3 }
desc = ep1_character_interaction.0001.desc.fallback_3
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:fallback_4 }
desc = ep1_character_interaction.0001.desc.fallback_4
}
triggered_desc = {
trigger = { scope:false_flag_type = flag:fallback_5 }
desc = ep1_character_interaction.0001.desc.fallback_5
}
}
desc = ep1_character_interaction.0001.desc.outro
}
theme = intrigue_skulduggery_focus
left_portrait = {
character = scope:actor
animation = schadenfreude
}
right_portrait = {
character = scope:recipient
animation = fear
}
lower_center_portrait = scope:actor_nemesis
lower_right_portrait = scope:actor_rival
override_background = { reference = throne_room }
immediate = {
# Apply the interaction's effects.
indebt_guest_interaction_accepted_effect = yes
# Roll the offending crime.
## Percentages even throughout: we're not fussed about which result you roll.
scope:recipient = {
random_list = {
# lustful
100 = {
trigger = { has_trait = lustful }
save_scope_value_as = {
name = false_flag_type
value = flag:lustful
}
}
# chaste
100 = {
trigger = { has_trait = chaste }
save_scope_value_as = {
name = false_flag_type
value = flag:chaste
}
}
# gluttonous
100 = {
trigger = { has_trait = gluttonous }
save_scope_value_as = {
name = false_flag_type
value = flag:gluttonous
}
}
# temperate
100 = {
trigger = { has_trait = temperate }
save_scope_value_as = {
name = false_flag_type
value = flag:temperate
}
}
# greedy
100 = {
trigger = { has_trait = greedy }
save_scope_value_as = {
name = false_flag_type
value = flag:greedy
}
}
# generous
100 = {
trigger = { has_trait = generous }
save_scope_value_as = {
name = false_flag_type
value = flag:generous
}
}
# lazy
100 = {
trigger = { has_trait = lazy }
save_scope_value_as = {
name = false_flag_type
value = flag:lazy
}
}
# diligent
100 = {
trigger = { has_trait = diligent }
save_scope_value_as = {
name = false_flag_type
value = flag:diligent
}
}
# wrathful
100 = {
trigger = { has_trait = wrathful }
save_scope_value_as = {
name = false_flag_type
value = flag:wrathful
}
}
# calm
100 = {
trigger = { has_trait = calm }
save_scope_value_as = {
name = false_flag_type
value = flag:calm
}
}
# patient
100 = {
trigger = { has_trait = patient }
save_scope_value_as = {
name = false_flag_type
value = flag:patient
}
}
# impatient
100 = {
trigger = { has_trait = impatient }
save_scope_value_as = {
name = false_flag_type
value = flag:impatient
}
}
# arrogant
100 = {
trigger = { has_trait = arrogant }
save_scope_value_as = {
name = false_flag_type
value = flag:arrogant
}
}
# humble
100 = {
trigger = { has_trait = humble }
save_scope_value_as = {
name = false_flag_type
value = flag:humble
}
}
# deceitful
100 = {
trigger = { has_trait = deceitful }
save_scope_value_as = {
name = false_flag_type
value = flag:deceitful
}
}
# honest
100 = {
trigger = { has_trait = honest }
save_scope_value_as = {
name = false_flag_type
value = flag:honest
}
}
# craven
100 = {
trigger = { has_trait = craven }
save_scope_value_as = {
name = false_flag_type
value = flag:craven
}
}
# brave
100 = {
trigger = { has_trait = brave }
save_scope_value_as = {
name = false_flag_type
value = flag:brave
}
}
# shy
100 = {
trigger = { has_trait = shy }
save_scope_value_as = {
name = false_flag_type
value = flag:shy
}
}
# gregarious
100 = {
trigger = { has_trait = gregarious }
save_scope_value_as = {
name = false_flag_type
value = flag:gregarious
}
}
# ambitious
100 = {
trigger = { has_trait = ambitious }
save_scope_value_as = {
name = false_flag_type
value = flag:ambitious
}
}
# content
100 = {
trigger = { has_trait = content }
save_scope_value_as = {
name = false_flag_type
value = flag:content
}
}
# arbitrary
100 = {
trigger = { has_trait = arbitrary }
save_scope_value_as = {
name = false_flag_type
value = flag:arbitrary
}
}
# just
100 = {
trigger = { has_trait = just }
save_scope_value_as = {
name = false_flag_type
value = flag:just
}
}
# cynical
100 = {
trigger = { has_trait = cynical }
save_scope_value_as = {
name = false_flag_type
value = flag:cynical
}
}
# zealous
100 = {
trigger = { has_trait = zealous }
save_scope_value_as = {
name = false_flag_type
value = flag:zealous
}
}
# paranoid
100 = {
trigger = { has_trait = paranoid }
save_scope_value_as = {
name = false_flag_type
value = flag:paranoid
}
}
# trusting
100 = {
trigger = { has_trait = trusting }
save_scope_value_as = {
name = false_flag_type
value = flag:trusting
}
}
# compassionate
100 = {
trigger = { has_trait = compassionate }
save_scope_value_as = {
name = false_flag_type
value = flag:compassionate
}
}
# callous
100 = {
trigger = { has_trait = callous }
save_scope_value_as = {
name = false_flag_type
value = flag:callous
}
}
# sadistic
100 = {
trigger = { has_trait = sadistic }
save_scope_value_as = {
name = false_flag_type
value = flag:sadistic
}
}
# stubborn
100 = {
trigger = { has_trait = stubborn }
save_scope_value_as = {
name = false_flag_type
value = flag:stubborn
}
}
# fickle
100 = {
trigger = { has_trait = fickle }
save_scope_value_as = {
name = false_flag_type
value = flag:fickle
}
}
# vengeful
100 = {
trigger = { has_trait = vengeful }
save_scope_value_as = {
name = false_flag_type
value = flag:vengeful
}
}
# forgiving
100 = {
trigger = { has_trait = forgiving }
save_scope_value_as = {
name = false_flag_type
value = flag:forgiving
}
}
# fallback_1
100 = {
save_scope_value_as = {
name = false_flag_type
value = flag:fallback_1
}
}
# fallback_2
100 = {
save_scope_value_as = {
name = false_flag_type
value = flag:fallback_2
}
}
# fallback_3
100 = {
save_scope_value_as = {
name = false_flag_type
value = flag:fallback_3
}
}
# fallback_4
100 = {
save_scope_value_as = {
name = false_flag_type
value = flag:fallback_4
}
}
# fallback_5
100 = {
save_scope_value_as = {
name = false_flag_type
value = flag:fallback_5
}
}
}
}
# Sort scopes for event options.
scope:actor = {
# If scope:actor has a nemesis, save them for loc.
if = {
limit = {
any_relation = {
type = nemesis
count >= 1
ep1_character_interaction_0001_valid_hostile_relation_trigger = yes
}
}
random_relation = {
type = nemesis
limit = { ep1_character_interaction_0001_valid_hostile_relation_trigger = yes }
save_scope_as = actor_nemesis
}
}
# If scope:actor has any valid rivals, pick a random one for option B.
if = {
limit = {
any_relation = {
type = rival
count >= 1
ep1_character_interaction_0001_valid_rival_trigger = yes
}
}
random_relation = {
type = rival
# Prefer rivals that are targets of hostile schemes.
limit = {
any_targeting_scheme = {
scheme_owner = scope:actor
is_hostile = yes
}
ep1_character_interaction_0001_valid_rival_trigger = yes
}
# Failing that, rivals who are targets of any schemes.
alternative_limit = {
any_targeting_scheme = {
scheme_owner = scope:actor
is_hostile = no
}
ep1_character_interaction_0001_valid_rival_trigger = yes
}
# Otherwise just any rando rival who could be schemed against.
alternative_limit = { ep1_character_interaction_0001_valid_rival_trigger = yes }
save_scope_as = actor_rival
}
}
}
}
# *Cackling* Oh yes, [actor_nemesis.GetFirstName] will never see this coming!
option = {
name = ep1_character_interaction.0001.a
trigger = { exists = scope:actor_nemesis }
# Quietly add scope:recipient as a courtier of scope:actor_nemesis.
ep1_character_interaction_0001_move_character_and_family_effect = { DESTINATION = scope:actor_nemesis }
stress_impact = {
patient = miniscule_stress_impact_loss
vengeful = minor_stress_impact_loss
impatient = medium_stress_impact_gain
trusting = major_stress_impact_gain
}
ai_chance = {
# If valid, this should always be the choice selected.
base = 100
}
}
# Excellent! Now, you will deliver yourself to [actor_rival.GetFirstNamePossessive] court...
option = {
name = ep1_character_interaction.0001.b
trigger = { exists = scope:actor_rival }
# Quietly add scope:recipient as a courtier of scope:actor_rival.
ep1_character_interaction_0001_move_character_and_family_effect = { DESTINATION = scope:actor_rival }
stress_impact = {
patient = miniscule_stress_impact_loss
vengeful = minor_stress_impact_loss
impatient = medium_stress_impact_gain
trusting = major_stress_impact_gain
}
ai_chance = {
# Never pick this option...
base = 0
# ... unless there's no nemesis, in which case it should be the default.
modifier = {
add = 100
NOT = { exists = scope:actor_rival }
}
}
}
# Now, begone till I have need of you.
option = {
name = ep1_character_interaction.0001.c
# Boot 'em out.
hidden_effect = {
scope:recipient = { select_and_move_to_pool_effect = yes }
}
show_as_tooltip = {
remove_courtier_or_guest = scope:recipient
}
stress_impact = {
shy = minor_stress_impact_loss
gregarious = minor_stress_impact_gain
}
ai_chance = {
# AI should never be taking this without a nemesis, but if they do, it doesn't matter where they send scope:recipient.
base = 0
}
}
# Naturally, you will stay where I can keep an eye on you.
option = {
name = ep1_character_interaction.0001.d
# Status quo: no extra changes here.
# No stress impact necessary for the fallback option.
ai_chance = {
# AI should never be taking this without a nemesis, but if they do, it doesn't matter where they send scope:recipient.
base = 0
}
}
}

View file

@ -1,552 +0,0 @@
namespace = court_position
################################
# FLAVOR EVENTS
# 1001 - 8999
################################
#############################
# MURDER SAVE EVENTS
# 9001 - 9199
# by Linnéa Thimrén
#############################
###############
# SAVED BY FOOD TASTER
# FOR MURDERER: Saved from poisoned food by food taster
# by Linnéa Thimrén
court_position.9001 = {
type = character_event
window = scheme_failed_event
title = court_position.9001.t
desc = {
desc = court_position.9001.desc
triggered_desc = {
trigger = { exists = local_var:food_taster_dies }
desc = court_position.9001.food_taster_dies
}
}
theme = murder_scheme
left_portrait = {
character = scope:owner
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = fear
}
animation = stress
}
center_portrait = {
character = scope:food_taster
animation = poison
}
right_portrait = {
character = scope:target
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = rage
}
animation = paranoia
}
override_background = { reference = feast }
widget = {
gui = "event_window_widget_scheme"
container = "custom_widgets_container"
}
trigger = {
scope:target = {
employs_court_position = food_taster_court_position
any_court_position_holder = {
type = food_taster_court_position
foodtaster_will_actually_do_job_trigger = yes
}
}
}
immediate = {
scope:target = {
random_court_position_holder = {
type = food_taster_court_position
limit = { is_physically_able = yes }
save_scope_as = food_taster
}
}
murder_failure_effect = yes
hidden_effect = {
random = {
chance = 75
set_local_variable = {
name = food_taster_dies
value = yes
}
}
}
}
option = {
name = murder_save.0001.a
scope:scheme = { end_scheme = yes }
}
option = {
name = murder_save.0001.b
restart_murder_scheme_effect = yes
}
after = {
# Fire the rest of the outcome.
scope:target = { trigger_event = court_position.9002 }
if = {
limit = { exists = local_var:food_taster_dies }
show_as_tooltip = {
murder_interception_handle_extra_deaths_effect = {
VICTIM = scope:food_taster
REASON = death_poison
}
}
}
}
}
# FOR TARGET: Food taster dies to poison
court_position.9002 = {
type = character_event
window = scheme_conclusion_event_no_header
title = court_position.9001.t
desc = {
desc = court_position.9002.desc
triggered_desc = {
trigger = { exists = local_var:food_taster_dies }
desc = court_position.9002.food_taster_dies
}
triggered_desc = {
trigger = { exists = scope:scheme_discovered }
desc = court_position.9002.owner_discovered
}
}
theme = murder_scheme
left_portrait = {
character = scope:target
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = rage
}
animation = paranoia
}
center_portrait = {
character = scope:food_taster
animation = poison
}
right_portrait = {
character = scope:owner_to_reveal
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = fear
}
animation = stress
}
immediate = {
set_variable = {
name = block_death_event_from
value = scope:food_taster
days = 3
}
# Handle the death of the food taster, if necessary
if = {
limit = { exists = local_var:food_taster_dies }
murder_interception_handle_extra_deaths_effect = {
VICTIM = scope:food_taster
REASON = death_poison
}
}
}
# Who could do such a thing?
option = {
name = murder_save.1001.a
trigger = {
NOT = { exists = scope:scheme_discovered }
}
custom_tooltip = murder_save.failure_unknown_owner_tt
}
# Vengeance!
option = {
name = murder_save.1001.b
trigger = { exists = scope:scheme_discovered }
custom_tooltip = murder_save.failure_known_owner_tt
}
after = {
add_character_modifier = {
modifier = watchful_modifier
days = watchful_modifier_duration
}
}
}
###############
# SAVED BY CUP-BEARER
# FOR MURDERER: Saved from poisoned drink by cup-bearer
# by Linnéa Thimrén
court_position.9011 = {
type = character_event
window = scheme_failed_event
title = court_position.9011.t
desc = {
desc = court_position.9011.desc
triggered_desc = {
trigger = { exists = local_var:cupbearer_dies }
desc = court_position.9011.cupbearer_dies
}
}
theme = murder_scheme
left_portrait = {
character = scope:owner
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = fear
}
animation = stress
}
center_portrait = {
character = scope:food_taster
animation = poison
}
right_portrait = {
character = scope:target
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = rage
}
animation = paranoia
}
widget = {
gui = "event_window_widget_scheme"
container = "custom_widgets_container"
}
trigger = {
scope:target = {
employs_court_position = cupbearer_court_position
any_court_position_holder = {
type = cupbearer_court_position
cupbearer_will_actually_do_job_trigger = yes
}
}
}
immediate = {
scope:target = {
random_court_position_holder = {
type = cupbearer_court_position
limit = { is_physically_able = yes }
save_scope_as = cupbearer
}
}
murder_failure_effect = yes
hidden_effect = {
random = {
chance = 75
set_local_variable = {
name = cupbearer_dies
value = yes
}
}
}
}
option = {
name = murder_save.0001.a
scope:scheme = { end_scheme = yes }
}
option = {
name = murder_save.0001.b
restart_murder_scheme_effect = yes
}
after = {
# Fire the rest of the outcome.
scope:target = { trigger_event = court_position.9012 }
if = {
limit = { exists = local_var:cupbearer_dies }
show_as_tooltip = {
murder_interception_handle_extra_deaths_effect = {
VICTIM = scope:cupbearer
REASON = death_poison
}
}
}
}
}
# FOR TARGET: Cup-bearer dies to poison
court_position.9012 = {
type = character_event
window = scheme_conclusion_event_no_header
title = court_position.9011.t
desc = {
desc = court_position.9012.desc
triggered_desc = {
trigger = { exists = local_var:cupbearer_dies }
desc = court_position.9012.cupbearer_dies
}
triggered_desc = {
trigger = { exists = scope:scheme_discovered }
desc = court_position.9002.owner_discovered
}
}
theme = murder_scheme
left_portrait = {
character = scope:target
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = rage
}
animation = paranoia
}
center_portrait = {
character = scope:food_taster
animation = poison
}
right_portrait = {
character = scope:owner_to_reveal
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = fear
}
animation = stress
}
immediate = {
set_variable = {
name = block_death_event_from
value = scope:cupbearer
days = 3
}
# Handle the death of the cupbearer, if necessary
if = {
limit = { exists = local_var:cupbearer_dies }
murder_interception_handle_extra_deaths_effect = {
VICTIM = scope:cupbearer
REASON = death_poison
}
}
}
# Who could do such a thing?
option = {
name = murder_save.1001.a
trigger = {
NOT = { exists = scope:scheme_discovered }
}
custom_tooltip = murder_save.failure_unknown_owner_tt
}
# Vengeance!
option = {
name = murder_save.1001.b
trigger = { exists = scope:scheme_discovered }
custom_tooltip = murder_save.failure_known_owner_tt
}
after = {
add_character_modifier = {
modifier = watchful_modifier
days = watchful_modifier_duration
}
}
}
###############
# SAVED BY BODYGUARD
# FOR MURDERER: Saved from assassin by bodyguard
# by Linnéa Thimrén
court_position.9021 = {
type = character_event
window = scheme_failed_event
title = court_position.9021.t
desc = {
desc = court_position.9021.desc
triggered_desc = {
trigger = { exists = local_var:bodyguard_dies }
desc = court_position.9021.bodyguard_dies
}
}
theme = murder_scheme
left_portrait = {
character = scope:owner
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = fear
}
animation = stress
}
center_portrait = {
character = scope:bodyguard
triggered_animation = {
trigger = { is_alive = no }
animation = map_fear
}
animation = random_weapon_aggressive
camera = camera_event_center_pointing_left
}
right_portrait = {
character = scope:target
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = rage
}
animation = paranoia
}
widget = {
gui = "event_window_widget_scheme"
container = "custom_widgets_container"
}
trigger = {
scope:target = {
employs_court_position = bodyguard_court_position
any_court_position_holder = {
type = bodyguard_court_position
bodyguard_will_actually_do_job_trigger = yes
}
}
}
immediate = {
scope:target = {
random_court_position_holder = {
type = bodyguard_court_position
limit = { is_physically_able = yes }
save_scope_as = bodyguard
}
}
murder_failure_effect = yes
hidden_effect = {
random = {
chance = 75
set_local_variable = {
name = bodyguard_dies
value = yes
}
}
}
}
option = {
name = murder_save.0001.a
scope:scheme = { end_scheme = yes }
}
option = {
name = murder_save.0001.b
restart_murder_scheme_effect = yes
}
after = {
# Fire the rest of the outcome.
scope:target = { trigger_event = court_position.9022 }
if = {
limit = { exists = local_var:bodyguard_dies }
show_as_tooltip = {
murder_interception_handle_extra_deaths_effect = {
VICTIM = scope:bodyguard
REASON = death_murder
}
}
}
}
}
# FOR TARGET: Bodyguard dies to assassin
court_position.9022 = {
type = character_event
window = scheme_conclusion_event_no_header
title = court_position.9021.t
desc = {
desc = court_position.9022.desc
triggered_desc = {
trigger = { exists = local_var:bodyguard_dies }
desc = court_position.9022.bodyguard_dies
}
triggered_desc = {
trigger = { exists = scope:scheme_discovered }
desc = court_position.9002.owner_discovered
}
}
theme = murder_scheme
left_portrait = {
character = scope:target
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = rage
}
animation = paranoia
}
center_portrait = {
character = scope:bodyguard
triggered_animation = {
trigger = { is_alive = no }
animation = map_fear
}
animation = random_weapon_aggressive
}
right_portrait = {
character = scope:owner_to_reveal
triggered_animation = {
trigger = { exists = scope:scheme_discovered }
animation = fear
}
animation = stress
}
immediate = {
set_variable = {
name = block_death_event_from
value = scope:bodyguard
days = 3
}
# Handle the death of the bodyguard, if necessary
if = {
limit = { exists = local_var:bodyguard_dies }
murder_interception_handle_extra_deaths_effect = {
VICTIM = scope:bodyguard
REASON = death_murder
}
}
}
# Who could do such a thing?
option = {
name = murder_save.1001.a
trigger = {
NOT = { exists = scope:scheme_discovered }
}
custom_tooltip = murder_save.failure_unknown_owner_tt
}
# Vengeance!
option = {
name = murder_save.1001.b
trigger = { exists = scope:scheme_discovered }
custom_tooltip = murder_save.failure_known_owner_tt
}
after = {
add_character_modifier = {
modifier = watchful_modifier
days = watchful_modifier_duration
}
}
}

View file

@ -1,575 +0,0 @@
namespace = ep1_decision
##################################################
#
# Royal Court Court Grandeur Level & Amenity Decisions Events
#
# COURT GRANDEUR LEVELS
# 0001 - 0010 Host Fundraiser
# 0011 - 0020 Host Summit
#
# AMENITIES
# 0101 - 0110 Order Mass Eviction
# 0111 - 0120 Commission Exotic Bedchamber
##################################################
##################################################
# COURT GRANDEUR LEVELS
ep1_decision.0201 = {
type = character_event
title = ep1_decision.0201.t
desc = ep1_decision.0201.desc
theme = education
left_portrait = scope:good_linguist
lower_left_portrait = scope:cheap_linguist
right_portrait = scope:medium_linguist
lower_right_portrait = scope:scholarly_linguist
override_background = { reference = throne_room }
immediate = {
### Save cultures and languages
# Find 1st culture that speaks target language natively
random_culture_global = {
limit = {
exists = culture_head
scope:target_court_language = { has_court_language_of_culture = prev }
}
save_scope_as = ling_cul_1
}
# Save liege as example to fetch faiths if relevant
if = {
limit = {
exists = scope:language_scheme_type
liege = { has_court_language_of_culture = root.liege.culture }
}
liege = { save_scope_as = ling_cul_1_ruler }
}
# Otherwise find random cul_1 ruler
else = {
linguist_random_realm_effect = { CULTURE = ling_cul_1 }
}
# Find 2nd culture that speaks target language natively
if = {
limit = {
any_culture_global = {
exists = culture_head
scope:target_court_language = { has_court_language_of_culture = prev }
THIS != scope:ling_cul_1
}
}
random_culture_global = {
limit = {
exists = culture_head
scope:target_court_language = { has_court_language_of_culture = prev }
THIS != scope:ling_cul_1
}
save_scope_as = ling_cul_2
}
}
# If none, duplicate 1st
else = {
scope:ling_cul_1 = { save_scope_as = ling_cul_2 }
}
# Save random ruler of cul 2 to find faith
linguist_random_realm_effect = { CULTURE = ling_cul_2 }
# Save own culture
culture = { save_scope_as = ling_cul_3 }
# Bonus languages good linguists may know in addition to root and target
linguist_bonus_culture_effect = { CULTURE = ling_cul_1 }
linguist_bonus_culture_effect = { CULTURE = ling_cul_2 }
linguist_bonus_culture_effect = { CULTURE = ling_cul_3 }
#### Create Linguists
hidden_effect = {
# Poor Linguist
if = {
limit = { has_trait = greedy }
create_character = {
dynasty = none
template = court_linguist_cheap_template
location = root.capital_province
save_scope_as = cheap_linguist
}
}
# Average Linguist
create_character = {
dynasty = none
template = court_linguist_medium_template
location = root.capital_province
save_scope_as = medium_linguist
}
# Good Linguist
create_character = {
dynasty = none
template = court_linguist_good_template
culture = scope:ling_cul_2
faith = scope:ling_cul_2_ruler.faith
location = root.capital_province
save_scope_as = good_linguist
}
# Scholarly Linguist
if = {
limit = { has_trait = scholar }
create_character = {
dynasty = none
template = court_linguist_good_template
culture = scope:ling_cul_1
faith = scope:ling_cul_1_ruler.faith
location = root.capital_province
trait = scholar
save_scope_as = scholarly_linguist
}
if = {
limit = {
exists = scope:ling_cul_2_bonus
NOT = {
scope:scholarly_linguist = { knows_language_of_culture = scope:ling_cul_2_bonus }
}
}
scope:scholarly_linguist = { learn_language_of_culture = scope:ling_cul_2_bonus }
}
}
}
}
# Expensive linguist, great teacher
option = {
name = ep1_decision.0201.a
pay_short_term_gold = {
target = scope:good_linguist
gold = medium_gold_value
}
learn_language_linguist_effect = { LINGUIST = scope:good_linguist }
stress_impact = {
greedy = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
short_term_gold < medium_gold_value
factor = 0
}
}
}
# Cheaper linguist; less learning, not a good teacher
option = {
name = ep1_decision.0201.b
pay_short_term_gold = {
target = scope:medium_linguist
gold = minor_gold_value
}
learn_language_linguist_effect = { LINGUIST = scope:medium_linguist }
stress_impact = {
greedy = medium_stress_impact_gain
}
ai_chance = {
base = 100
modifier = {
short_term_gold < minor_gold_value_check
factor = 0
}
}
}
# I know a good tutor through scholarly circles!
option = {
name = ep1_decision.0201.c
trait = scholar
trigger = { has_trait = scholar }
learn_language_linguist_effect = { LINGUIST = scope:scholarly_linguist }
ai_chance = {
base = 100
}
}
# I'm cheap, get me anyone who can vaguely speak my language
option = {
name = ep1_decision.0201.d
trait = greedy
trigger = { has_trait = greedy }
learn_language_linguist_effect = { LINGUIST = scope:cheap_linguist }
ai_chance = {
base = 1000
modifier = { # Don't do it if you can hire the cool guy
has_trait = scholar
factor = 0
}
}
}
# On seconds thoughts, I won't hire a linguist at all...
option = {
name = ep1_decision.0201.e
ai_chance = {
base = 0
modifier = {
short_term_gold < minor_gold_value_check
NOR = {
has_trait = scholar
has_trait = greedy
}
add = 10
}
}
}
after = {
every_in_list = {
list = court_linguist_list
limit = {
NOT = { is_courtier_of = root }
}
silent_disappearance_effect = yes
}
}
}
##################################################
# AMENITIES
##################################################
# Out with the Old
# by Ewan Cowhig Croft
# 0101 - 0110
##################################################
# Pay a little prestige to boot out all the guests from your palace.
ep1_decision.0101 = {
type = character_event
title = ep1_decision.0101.t
desc = ep1_decision.0101.desc
theme = court
left_portrait = {
character = root
animation = personality_rational
}
override_background = { reference = throne_room }
immediate = {
# Grab the capital for easy loc.
capital_barony = { save_scope_as = capital }
}
# Scope:capital is not an inn. Away, leeches!
option = {
name = ep1_decision.0101.a
# Evict your guests.
order_mass_eviction_decision_guests_only_effect = yes
stress_impact = {
shy = minor_stress_impact_loss
gregarious = medium_stress_impact_gain
}
ai_chance = {
# AI cannot access this event.
base = 100
}
}
# Everyone who doesn't have a job or a close blood tie, *out*!
option = {
name = ep1_decision.0101.b
trigger = {
# If you have no spare rooms at all, you can dismiss useless courtiers for a bit extra.
amenity_level = {
target = court_lodging_standards
value <= low_amenity_level
}
}
# Charge an extra premium.
add_prestige = {
value = order_mass_eviction_decision_cost_value
multiply = -1
}
# Evict your guests *&* courtiers.
order_mass_eviction_decision_courtiers_&_guests_effect = yes
stress_impact = {
shy = medium_stress_impact_loss
gregarious = major_stress_impact_gain
}
ai_chance = {
# AI cannot access this event.
base = 100
}
}
# On seconds thoughts, this is unbecoming...
option = {
name = ep1_decision.0101.c
# Return invested prestige.
hidden_effect = { add_prestige_no_experience = order_mass_eviction_decision_cost_value }
# & reset the cooldown.
remove_decision_cooldown = order_mass_eviction_decision
# No stress impact for cancelling out of the decision.
ai_chance = {
# AI cannot access this event.
base = 100
}
}
}
##################################################
# Grandiose Decor
# by Ewan Cowhig Croft
# 0111 - 0120
##################################################
# For technical reasons, this trigger can't be the same as exoticise_a_grand_hall_decision_list_builder_guts_trigger, but maintains (almost) technical parity with it.
scripted_trigger ep1_decision_0111_list_builder_guts_trigger = {
# Is the title presently active?
is_title_created = yes
# Filter out anyone already in the list.
NOT = { is_in_list = royal_courts_list }
# Check assorted holder things.
holder = {
# Filter out anyone who has the right rank but lacks a mechanical royal court.
has_royal_court = yes
this != root
# Can the two communicate?
in_diplomatic_range = root
}
}
scripted_effect ep1_decision_0111_apply_hall_effect = {
# Add mutual opinion for each non-AI involved with the interaction.
$CHOICE$ = {
if = {
limit = { is_ai = yes }
add_opinion = {
target = root
modifier = flattered_opinion
opinion = 30
}
}
}
if = {
limit = { is_ai = yes }
add_opinion = {
target = $CHOICE$
modifier = impressed_opinion
opinion = 30
}
}
# Gain a fraction of the CGV difference.
change_current_court_grandeur = $CHOICE$.ep1_decision_0111_proportional_cgv_gain_value
# Pay prestige proportional to how much CGV is gained.
add_prestige = $CHOICE$.ep1_decision_0111_proportional_prestige_cost_value
# Hand over a lil participation prestige for $CHOICE$ so that they know someone thinks their court is rad.
$CHOICE$ = {
send_interface_toast = {
title = ep1_decision.0111.toast.t
left_icon = root
# Give a little more for emperors doing this.
if = {
limit = { $CHOICE$.primary_title.tier >= tier_empire }
add_prestige = medium_prestige_gain
}
# Otherwise, just a few crumbs of prestige.
else = { add_prestige = minor_prestige_gain }
}
}
# Stress impact handled in the scripted effect, since it'll always be the same for each char.
stress_impact = {
architect = minor_stress_impact_loss
humble = medium_stress_impact_loss
arrogant = major_stress_impact_gain
}
}
# Arrange for a major room to be remodelled with decor inspired by a more grandiose culture.
ep1_decision.0111 = {
type = character_event
title = ep1_decision.0111.t
desc = ep1_decision.0111.desc
theme = court
left_portrait = {
character = root
animation = throne_room_conversation_4
}
lower_left_portrait = scope:option_1
lower_center_portrait = scope:option_2
lower_right_portrait = scope:option_3
immediate = {
# Build a list of suitable courts.
## We add the title rather than the characters to the list for a cleaner debug tooltip in-game.
every_empire = {
limit = { ep1_decision_0111_list_builder_guts_trigger = yes }
# Rack 'em up.
add_to_list = royal_courts_list
}
every_kingdom = {
limit = { ep1_decision_0111_list_builder_guts_trigger = yes }
# Rack 'em up.
add_to_list = royal_courts_list
}
# Then, filter through the list and grab appropriate options.
ordered_in_list = {
list = royal_courts_list
max = 4
check_range_bounds = no
order_by = {
# Use CGV as a base.
add = holder.court_grandeur_current
# Weight up for neighbouring realms.
if = {
limit = {
holder = {
OR = {
any_neighboring_and_across_water_realm_same_rank_owner = { this = root }
any_neighboring_and_across_water_top_liege_realm_owner = { this = root }
}
}
}
multiply = 5
}
}
if = {
limit = {
NOT = { exists = scope:option_1 }
}
holder = { save_scope_as = option_1 }
}
else_if = {
limit = {
NOT = {
holder = { this = scope:option_1 }
exists = scope:option_2
}
}
holder = { save_scope_as = option_2 }
}
else_if = {
limit = {
NOT = {
holder = { this = scope:option_1 }
holder = { this = scope:option_2 }
exists = scope:option_3
}
}
holder = { save_scope_as = option_3 }
}
}
}
# Scope:option_1 is a grand, grand place.
option = {
name = {
trigger = { scope:option_1.court_grandeur_current > root.court_grandeur_current }
text = ep1_decision.0111.a.greater_cgv
}
name = {
trigger = { always = yes }
text = ep1_decision.0111.a.lesser_cgv
}
trigger = { exists = scope:option_1 }
# Build a hall in the relevant scope's style.
ep1_decision_0111_apply_hall_effect = { CHOICE = scope:option_1 }
# Stress_impact block handled in the scripted effect.
ai_chance = {
# Generally equal likelihood for each option.
base = 100
# Otherwise, people want to model themselves after characters they like.
#opinion_modifier = { opinion_target = scope:option_1 }
}
}
# I find the architecture of scope:option_2 enthralling!
option = {
name = {
trigger = { scope:option_2.court_grandeur_current > root.court_grandeur_current }
text = ep1_decision.0111.b.greater_cgv
}
name = {
trigger = { always = yes }
text = ep1_decision.0111.b.lesser_cgv
}
trigger = { exists = scope:option_2 }
# Build a hall in the relevant scope's style.
ep1_decision_0111_apply_hall_effect = { CHOICE = scope:option_2 }
# Stress_impact block handled in the scripted effect.
ai_chance = {
# Generally equal likelihood for each option.
base = 100
# Otherwise, people want to model themselves after characters they like.
#opinion_modifier = { opinion_target = scope:option_2 }
}
}
# Perhaps a scope:option_3ikkan lounge?
option = {
name = {
trigger = { scope:option_3.court_grandeur_current > root.court_grandeur_current }
text = ep1_decision.0111.c.greater_cgv
}
name = {
trigger = { always = yes }
text = ep1_decision.0111.c.lesser_cgv
}
trigger = { exists = scope:option_3 }
# Build a hall in the relevant scope's style.
ep1_decision_0111_apply_hall_effect = { CHOICE = scope:option_3 }
# Stress_impact block handled in the scripted effect.
ai_chance = {
# Generally equal likelihood for each option.
base = 100
# Otherwise, people want to model themselves after characters they like.
#opinion_modifier = { opinion_target = scope:option_3 }
}
}
# These all seem quite foreign...
option = {
name = ep1_decision.0111.d
# Refund the gold paid; we mention this in a tooltip so that it's a bit less noticeable.
hidden_effect = { add_gold = var:exoticise_a_grand_hall_decision_refund_value }
custom_tooltip = ep1_decision.0111.d.tt
# Take the decision off cooldown.
remove_decision_cooldown = exoticise_a_grand_hall_decision
# No stress impact for cancelling out.
ai_chance = {
# If the AI has gotten this far, they should pick an option.
base = 0
}
}
after = {
# Whatever else happens, clear the refund value.
remove_variable = exoticise_a_grand_hall_decision_refund_value
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,483 +0,0 @@
namespace = fund_inspiration
# Adventurer fights a bandit
# Adventurer travels through beast-infested terrain
# Adventurer fights a bandit
fund_inspiration.9000 = {
type = character_event
title = fund_inspiration.9000.t
desc = fund_inspiration.9000.desc
theme = war
left_portrait = {
character = scope:adventurer
animation = worry
}
right_portrait = {
character = scope:bandit
animation = throne_room_one_handed_passive_1
}
override_background = {
reference = wilderness_scope
}
cooldown = { years = 5 }
trigger = {
exists = scope:inspiration
scope:inspiration_owner = {
exists = var:adventure_destination
exists = var:adventure_type
NOR = {
has_character_flag = fund_adventure_inspiration_event_cooldown
}
exists = location
any_pool_character = {
province = scope:inspiration_owner.location
is_available_ai_adult = yes
}
}
}
immediate = {
scope:inspiration_owner = {
save_scope_as = adventurer
location.barony.title_province = { save_scope_as = background_wilderness_scope }
random_pool_character = {
province = location.barony.title_province
limit = {
is_available_ai_adult = yes
}
weight = {
base = 10
modifier = {
can_be_combatant_based_on_gender_trigger = { ARMY_OWNER = THIS }
add = 100
}
}
save_scope_as = bandit
}
}
}
option = {
name = fund_inspiration.9000.a
scope:adventurer = {
duel = {
skill = intrigue
target = scope:bandit
2 = {
desc = fund_inspiration.9000.a.critical_success
compare_modifier = {
value = scope:duel_value
}
root = {
send_interface_toast = {
title = fund_inspiration.9000.a.critical_success
left_icon = scope:adventurer
scope:inspiration = { change_inspiration_progress = 2 }
scope:bandit = {
pay_short_term_gold = {
target = root
gold = medium_gold_value
}
}
hidden_effect = { # The adventurer also gains some gold!
scope:bandit = {
pay_short_term_gold = {
target = scope:adventurer
gold = medium_gold_value
}
}
}
}
}
}
8 = {
desc = fund_inspiration.9000.a.success
compare_modifier = {
value = scope:duel_value
}
root = {
send_interface_toast = {
title = fund_inspiration.9000.a.success
left_icon = scope:adventurer
scope:inspiration = { change_inspiration_progress = 1 }
}
}
}
8 = {
desc = fund_inspiration.9000.a.failure
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
root = {
send_interface_toast = {
title = fund_inspiration.9000.a.failure
left_icon = scope:adventurer
scope:adventurer = {
increase_wounds_effect = { REASON = fight }
}
scope:inspiration = { change_inspiration_progress = -2 }
}
}
}
}
}
ai_chance = {
base = 4
modifier = {
add = scope:adventurer.intrigue
}
modifier = {
add = {
value = scope:bandit.intrigue
multiply = -1
}
}
}
}
option = {
name = fund_inspiration.9000.b
scope:adventurer = {
duel = {
skill = prowess
target = scope:bandit
1 = {
desc = fund_inspiration.9000.b.critical_success
compare_modifier = {
value = scope:duel_value
}
root = {
send_interface_toast = {
title = fund_inspiration.9000.b.critical_success
left_icon = scope:adventurer
scope:adventurer = {
if = {
limit = {
NOR = {
has_trait = compassionate
ai_compassion >= high_positive_ai_value
}
}
hidden_effect = {
scope:bandit = {
death = {
death_reason = death_duel
killer = scope:adventurer
}
}
}
custom_tooltip = fund_inspiration.9000.b.boil_skull
scope:inspiration_owner = {
change_artifact_quality_effect = { AMOUNT = 4 }
}
root = {
hidden_effect_new_object = {
create_artifact_pedestal_human_skull_effect = {
OWNER = root
CREATOR = scope:adventurer
DESKULLED = scope:bandit
}
scope:newly_created_artifact = {
set_artifact_description = artifact_bandit_skull
}
}
}
}
else = {
scope:bandit = {
death = {
death_reason = death_duel
killer = scope:adventurer
}
scope:inspiration_owner = {
change_artifact_quality_effect = { AMOUNT = 4 }
}
scope:inspiration = { change_inspiration_progress = 1 }
}
}
}
}
}
}
11 = {
desc = fund_inspiration.9000.b.success
compare_modifier = {
value = scope:duel_value
}
root = {
send_interface_toast = {
title = fund_inspiration.9000.b.success
left_icon = scope:adventurer
scope:adventurer = {
scope:bandit = {
increase_wounds_effect = { REASON = fight }
}
scope:inspiration_owner = {
change_artifact_quality_effect = { AMOUNT = 2 }
}
}
}
}
}
8 = {
desc = fund_inspiration.9000.b.failure
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
root = {
send_interface_toast = {
title = fund_inspiration.9000.b.failure
left_icon = scope:adventurer
scope:adventurer = {
increase_wounds_effect = { REASON = fight }
}
}
}
}
1 = {
desc = fund_inspiration.9000.b.critical_failure
compare_modifier = {
value = scope:duel_value
multiplier = -1
}
root = {
send_interface_toast = {
title = fund_inspiration.9000.b.critical_failure
left_icon = scope:adventurer
scope:adventurer = {
death = {
death_reason = death_duel
killer = scope:bandit
}
}
}
}
}
}
}
ai_chance = {
base = 4
modifier = {
add = scope:adventurer.prowess
}
modifier = {
add = {
value = scope:bandit.prowess
multiply = -1
}
}
}
}
option = {
name = fund_inspiration.9000.c
pay_short_term_gold = {
target = scope:bandit
gold = minor_gold_value
}
ai_chance = {
base = 8
modifier = {
factor = 2
ai_compassion >= medium_positive_ai_value
}
modifier = {
factor = 0.1
OR = {
has_trait = stubborn
has_trait = wrathful
has_trait = greedy
}
}
modifier = {
factor = 0
gold < 0
}
}
}
}
# Adventurer travels through beast-infested terrain
fund_inspiration.9100 = {
type = character_event
title = fund_inspiration.9100.t
desc = fund_inspiration.9100.desc
theme = war
left_portrait = {
character = scope:adventurer
scripted_animation = duel_wield_weapon
}
override_background = {
reference = wilderness_scope
}
cooldown = { years = 5 }
trigger = {
exists = scope:inspiration
scope:inspiration_owner = {
exists = var:adventure_destination
exists = var:adventure_type
NOR = {
has_character_flag = fund_adventure_inspiration_event_cooldown
has_trait = humble
has_trait = content
}
exists = location
}
}
immediate = {
scope:inspiration_owner = {
save_scope_as = adventurer
location.barony.title_province = { save_scope_as = background_wilderness_scope }
scope:adventurer = {
select_local_animal_effect = { TYPE = dangerous } # Save scope to limit possible animals: any/big/small/dangerous/harmless/prowling
}
}
}
option = {
name = fund_inspiration.9100.a
scope:adventurer = {
duel = {
skill = learning
value = 8
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = fund_inspiration.9100.a.success
root = {
send_interface_toast = {
title = fund_inspiration.9100.a.success
left_icon = scope:adventurer
scope:inspiration = { change_inspiration_progress = 2 }
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = fund_inspiration.9100.a.failure
send_interface_toast = {
title = fund_inspiration.9100.a.failure
left_icon = scope:adventurer
root = {
scope:adventurer = {
increase_wounds_effect = { REASON = fight }
}
}
}
}
}
}
ai_chance = {
base = 4
modifier = {
add = scope:adventurer.learning
}
}
}
option = {
name = fund_inspiration.9100.b
scope:adventurer = {
duel = {
skill = prowess
value = 8
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = 3.5
min = -49
}
desc = fund_inspiration.9100.b.success
root = {
send_interface_toast = {
title = fund_inspiration.9100.b.success
left_icon = scope:adventurer
scope:inspiration_owner = {
change_artifact_quality_effect = { AMOUNT = 3 }
}
scope:inspiration = { change_inspiration_progress = 1 }
}
}
}
50 = {
compare_modifier = {
value = scope:duel_value
multiplier = -3.5
min = -49
}
desc = fund_inspiration.9100.b.failure
root = {
send_interface_toast = {
title = fund_inspiration.9100.b.failure
left_icon = scope:adventurer
scope:adventurer = {
increase_wounds_effect = { REASON = fight }
random = {
chance = 25
custom_tooltip = fund_inspiration.9100.b.maimed
hidden_effect = {
maimed_in_battle_effect = yes
}
}
}
}
}
}
}
}
ai_chance = {
base = 4
modifier = {
add = scope:adventurer.prowess
}
}
}
option = {
name = fund_inspiration.9100.c
scope:inspiration = { change_inspiration_progress = -1 }
ai_chance = {
base = 4
modifier = {
factor = 2
ai_compassion >= medium_positive_ai_value
}
}
}
}

View file

@ -1,146 +0,0 @@
namespace = inspiration_system
##################################################
# Inspiration Generation
# Checks how many inspirations currently exist and, if there are not enough, generates new ones for pool characters.
# by Sean Hughes
# 0005
##################################################
inspiration_system.0005 = {
scope = none
hidden = yes
trigger = {
has_ep1_dlc_trigger = yes
num_world_inspired_characters_value < ideal_total_world_inspirations
}
immediate = {
set_local_variable = {
name = try_create_inspiration_attempts
value = max_new_inspirations_per_year_value
}
while = {
limit = {
AND = {
local_var:try_create_inspiration_attempts > 0
num_world_inspired_characters_value < ideal_total_world_inspirations
}
}
grant_new_inspiration_in_world_effect = yes
change_local_variable = {
name = try_create_inspiration_attempts
subtract = 1
}
}
}
}
##################################################
# Inspired Character Maintenance
# Every Royal Court owner occasionally checks guests who have an Inspiration and, if unsponsored, moves them to a different Royal Court
# by Sean Hughes
# 1001-1101
##################################################
inspiration_system.1001 = {
hidden = yes
trigger = {
has_ep1_dlc_trigger = yes
}
immediate = {
every_pool_guest = {
limit = {
exists = inspiration
NOR = {
# Inspiration is not currently being sponsored
inspiration = { exists = inspiration_sponsor }
# Has not arrived at our court in the last X months (defined in 00_ep1_script_values.txt )
has_character_flag = inspired_character_recent_arrival
}
}
if = {
limit = {
inspiration = {
days_since_creation > 3650
}
}
# Destroy our inspiration, since nobody seems interested in sponsoring it.
trigger_event = inspiration_system.1101
}
else = {
# Look for a new royal court to visit.
inspired_character_seek_out_new_royal_court_effect = yes
}
}
}
}
# After going an extended period of time without being recruited or having their Inspiration sponsored, characters lose it in order to make room for new Inspired characters in the pool.
inspiration_system.1101 = {
hidden = yes
immediate = {
destroy_inspiration = inspiration
move_to_pool = yes
# Unrealized potential is tough on people.
random_list = {
25 = {
add_trait = depressed_1
add_stress = minor_stress_gain
}
25 = {
trigger = { can_be_drunkard = yes }
add_trait = drunkard
add_stress = minor_stress_gain
}
25 = {
trigger = { can_be_hashishiyah = yes }
add_trait = hashishiyah
add_stress = minor_stress_gain
}
50 = {
add_stress = major_stress_gain
}
}
}
}
inspiration_system.1200 = { # Courtier becomes Adventurer
type = character_event
hidden = yes
trigger = {
scope:antiquarian_from_task ?= {
has_court_position = antiquarian_court_position
}
scope:adventure_target ?= {
is_physically_able_adult = yes
NOR = {
exists = inspiration
has_court_position = antiquarian_court_position
}
adventure_inspiration_average_skill_value >= medium_inspiration_skill
host ?= root
}
}
immediate = {
send_interface_toast = {
type = msg_court_inspiration
left_icon = scope:adventure_target
right_icon = scope:antiquarian_from_task
title = antiquarian_inspired_adventurer_message
desc = antiquarian_inspired_adventurer_effect
scope:adventure_target = {
create_inspiration = adventure_inspiration
}
}
}
}

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff