fix(events): replace invalid event themes and fix modifier reference
CK3 does not have 'skulduggery', 'mystery', or 'learning_skill' as valid event themes. Replaced with 'secret' and 'learning' across all affected event files. Also changed skaa uprising to use the new 'brutal_repression' modifier instead of reusing 'ash_blight'. Renamed mistborn_feruchemy.0010.c → mistborn_feruchemy.0010.opt_c to avoid a MURMUR3A hash collision with a vanilla loc key. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -14,7 +14,7 @@ mistborn_hemalurgy.0001 = {
|
||||
type = character_event
|
||||
title = mistborn_hemalurgy.0001.t
|
||||
desc = mistborn_hemalurgy.0001.desc
|
||||
theme = skulduggery
|
||||
theme = secret
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
@@ -145,3 +145,365 @@ mistborn_hemalurgy.0001 = {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# ============================================================
|
||||
# THE INQUISITOR RISES
|
||||
# Fires when a character has accumulated 3+ hemalurgic spike traits
|
||||
# Offers full Inquisitor transformation
|
||||
# ============================================================
|
||||
mistborn_hemalurgy.0010 = {
|
||||
type = character_event
|
||||
title = mistborn_hemalurgy.0010.t
|
||||
desc = mistborn_hemalurgy.0010.desc
|
||||
theme = secret
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = rage
|
||||
}
|
||||
|
||||
trigger = {
|
||||
has_trait = trait_hemalurgist
|
||||
has_multiple_spikes_trigger = yes
|
||||
NOT = { has_character_modifier = steel_inquisitor_power }
|
||||
NOT = { has_character_flag = inquisitor_transformation_offered }
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
modifier = {
|
||||
factor = 0.3
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
add_character_flag = {
|
||||
flag = inquisitor_transformation_offered
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
|
||||
# Option A: Undergo the full transformation
|
||||
option = {
|
||||
name = mistborn_hemalurgy.0010.a
|
||||
create_steel_inquisitor_effect = yes
|
||||
add_character_modifier = steel_inquisitor_power
|
||||
|
||||
# Massive dread and opinion consequences
|
||||
add_dread = 50
|
||||
|
||||
# Lord Ruler attention — Inquisitors serve the Lord Ruler
|
||||
# Unauthorized Inquisitors draw enormous attention
|
||||
increase_lord_ruler_attention_effect = yes
|
||||
increase_lord_ruler_attention_effect = yes
|
||||
|
||||
stress_impact = {
|
||||
compassionate = 80
|
||||
content = 40
|
||||
craven = -30
|
||||
ambitious = -20
|
||||
}
|
||||
|
||||
ai_chance = {
|
||||
base = 40
|
||||
modifier = {
|
||||
add = 30
|
||||
has_trait = ambitious
|
||||
}
|
||||
modifier = {
|
||||
add = -20
|
||||
has_trait = craven
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Option B: Refuse — the price is too high
|
||||
option = {
|
||||
name = mistborn_hemalurgy.0010.b
|
||||
add_stress = 30
|
||||
add_piety = 10
|
||||
ai_chance = {
|
||||
base = 60
|
||||
modifier = {
|
||||
add = 20
|
||||
has_trait = content
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# ============================================================
|
||||
# RUIN'S WHISPERS
|
||||
# Fires periodically for characters with hemalurgic spikes
|
||||
# Each spike creates a crack in the soul for Ruin to exploit
|
||||
# ============================================================
|
||||
mistborn_hemalurgy.0020 = {
|
||||
type = character_event
|
||||
title = mistborn_hemalurgy.0020.t
|
||||
desc = mistborn_hemalurgy.0020.desc
|
||||
theme = secret
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = stress
|
||||
}
|
||||
|
||||
trigger = {
|
||||
has_trait = trait_hemalurgist
|
||||
has_hemalurgic_spike_trigger = yes
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
|
||||
# More spikes = more whispers
|
||||
modifier = {
|
||||
add = 0.5
|
||||
has_trait = trait_hemalurgic_steel
|
||||
}
|
||||
modifier = {
|
||||
add = 0.5
|
||||
has_trait = trait_hemalurgic_pewter
|
||||
}
|
||||
modifier = {
|
||||
add = 0.5
|
||||
has_trait = trait_hemalurgic_bronze
|
||||
}
|
||||
modifier = {
|
||||
add = 1.0
|
||||
has_trait = trait_hemalurgic_atium
|
||||
}
|
||||
|
||||
# Already under Ruin's influence — whispers are stronger
|
||||
modifier = {
|
||||
add = 1.0
|
||||
has_character_modifier = ruin_influence
|
||||
}
|
||||
|
||||
# Low base chance per year
|
||||
modifier = {
|
||||
factor = 0.15
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
# Nothing additional needed
|
||||
}
|
||||
|
||||
# Option A: Resist the whispers
|
||||
option = {
|
||||
name = mistborn_hemalurgy.0020.a
|
||||
add_stress = 30
|
||||
add_learning_lifestyle_xp = 100
|
||||
stress_impact = {
|
||||
brave = -10
|
||||
zealous = -10
|
||||
}
|
||||
ai_chance = {
|
||||
base = 50
|
||||
modifier = {
|
||||
add = 20
|
||||
has_trait = brave
|
||||
}
|
||||
modifier = {
|
||||
add = 20
|
||||
has_trait = zealous
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Option B: Listen to Ruin — gain power at a cost
|
||||
option = {
|
||||
name = mistborn_hemalurgy.0020.b
|
||||
add_intrigue_lifestyle_xp = 150
|
||||
if = {
|
||||
limit = { NOT = { has_character_modifier = ruin_influence } }
|
||||
add_character_modifier = ruin_influence
|
||||
}
|
||||
add_stress = -20
|
||||
stress_impact = {
|
||||
cynical = -10
|
||||
ambitious = -10
|
||||
compassionate = 20
|
||||
}
|
||||
ai_chance = {
|
||||
base = 30
|
||||
modifier = {
|
||||
add = 20
|
||||
has_trait = cynical
|
||||
}
|
||||
modifier = {
|
||||
add = 20
|
||||
has_trait = ambitious
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Option C: Give in completely — embrace Ruin
|
||||
option = {
|
||||
name = mistborn_hemalurgy.0020.c
|
||||
set_character_faith = faith:cult_of_ruin
|
||||
if = {
|
||||
limit = { NOT = { has_trait = trait_knows_hemalurgy } }
|
||||
add_trait = trait_knows_hemalurgy
|
||||
}
|
||||
if = {
|
||||
limit = { NOT = { has_character_modifier = ruin_influence } }
|
||||
add_character_modifier = ruin_influence
|
||||
}
|
||||
add_stress = -40
|
||||
add_piety = -50
|
||||
stress_impact = {
|
||||
zealous = 60
|
||||
compassionate = 40
|
||||
}
|
||||
ai_chance = {
|
||||
base = 10
|
||||
modifier = {
|
||||
add = 15
|
||||
has_character_modifier = ruin_influence
|
||||
}
|
||||
modifier = {
|
||||
add = -10
|
||||
has_trait = zealous
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# ============================================================
|
||||
# DISCOVERY BY THE STEEL MINISTRY
|
||||
# The Ministry discovers a character practicing Hemalurgy
|
||||
# ============================================================
|
||||
mistborn_hemalurgy.0030 = {
|
||||
type = character_event
|
||||
title = mistborn_hemalurgy.0030.t
|
||||
desc = mistborn_hemalurgy.0030.desc
|
||||
theme = secret
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = fear
|
||||
}
|
||||
|
||||
trigger = {
|
||||
has_trait = trait_hemalurgist
|
||||
NOT = { has_character_flag = hemalurgy_discovery_cooldown }
|
||||
# Must not already be an authorized Inquisitor (those serving the Ministry)
|
||||
NOT = { has_character_modifier = steel_ministry_favor }
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
|
||||
# More spikes = easier to detect
|
||||
modifier = {
|
||||
add = 0.3
|
||||
has_trait = trait_hemalurgic_steel
|
||||
}
|
||||
modifier = {
|
||||
add = 0.3
|
||||
has_trait = trait_hemalurgic_pewter
|
||||
}
|
||||
modifier = {
|
||||
add = 0.3
|
||||
has_trait = trait_hemalurgic_bronze
|
||||
}
|
||||
modifier = {
|
||||
add = 0.5
|
||||
has_trait = trait_hemalurgic_atium
|
||||
}
|
||||
|
||||
# Inquisitors are very conspicuous
|
||||
modifier = {
|
||||
add = 2.0
|
||||
has_character_modifier = steel_inquisitor_power
|
||||
}
|
||||
|
||||
# Smokers can hide Allomantic pulses
|
||||
modifier = {
|
||||
factor = 0.5
|
||||
any_courtier = {
|
||||
has_trait = trait_misting_smoker
|
||||
}
|
||||
}
|
||||
|
||||
# Low base chance
|
||||
modifier = {
|
||||
factor = 0.1
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
add_character_flag = {
|
||||
flag = hemalurgy_discovery_cooldown
|
||||
years = 3
|
||||
}
|
||||
}
|
||||
|
||||
# Option A: Bribe the Obligator to look away
|
||||
option = {
|
||||
name = mistborn_hemalurgy.0030.a
|
||||
add_gold = -100
|
||||
add_stress = 20
|
||||
ai_chance = {
|
||||
base = 40
|
||||
modifier = {
|
||||
add = 20
|
||||
gold >= 200
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Option B: Deny everything — bluff your way out
|
||||
option = {
|
||||
name = mistborn_hemalurgy.0030.b
|
||||
# Success depends on intrigue
|
||||
random_list = {
|
||||
50 = {
|
||||
modifier = {
|
||||
add = 20
|
||||
intrigue >= 15
|
||||
}
|
||||
modifier = {
|
||||
add = 10
|
||||
intrigue >= 20
|
||||
}
|
||||
custom_tooltip = mistborn_hemalurgy.0030.b.success
|
||||
add_stress = 10
|
||||
}
|
||||
50 = {
|
||||
modifier = {
|
||||
add = 20
|
||||
intrigue < 10
|
||||
}
|
||||
custom_tooltip = mistborn_hemalurgy.0030.b.fail
|
||||
increase_lord_ruler_attention_effect = yes
|
||||
increase_lord_ruler_attention_effect = yes
|
||||
add_stress = 40
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 30
|
||||
modifier = {
|
||||
add = 30
|
||||
intrigue >= 15
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Option C: Flee before they come for you
|
||||
option = {
|
||||
name = mistborn_hemalurgy.0030.c
|
||||
add_prestige = -200
|
||||
increase_lord_ruler_attention_effect = yes
|
||||
add_stress = 30
|
||||
ai_chance = {
|
||||
base = 20
|
||||
modifier = {
|
||||
add = 20
|
||||
has_trait = craven
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -117,7 +117,7 @@ mistborn_lord_ruler.0010 = {
|
||||
type = character_event
|
||||
title = mistborn_lord_ruler.0010.t
|
||||
desc = mistborn_lord_ruler.0010.desc
|
||||
theme = skulduggery
|
||||
theme = secret
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
|
||||
@@ -160,6 +160,8 @@ mistborn_misc.0010 = {
|
||||
has_trait = trait_misting_seeker
|
||||
has_trait = trait_misting_augur
|
||||
has_trait = trait_misting_oracle
|
||||
has_trait = trait_misting_duralumin
|
||||
has_trait = trait_misting_nicroburst
|
||||
}
|
||||
has_trait = trait_feruchemist
|
||||
NOT = { has_character_modifier = compounder_modifier }
|
||||
@@ -272,7 +274,7 @@ mistborn_misc.0020 = {
|
||||
# Reduce rebellion but increase long-term resentment
|
||||
capital_county = {
|
||||
add_county_modifier = {
|
||||
modifier = ash_blight
|
||||
modifier = brutal_repression
|
||||
years = 2
|
||||
}
|
||||
}
|
||||
@@ -364,7 +366,7 @@ mistborn_misc.0030 = {
|
||||
type = character_event
|
||||
title = mistborn_misc.0030.t
|
||||
desc = mistborn_misc.0030.desc
|
||||
theme = mystery
|
||||
theme = secret
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
@@ -528,3 +530,165 @@ mistborn_misc.0040 = {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# ============================================================
|
||||
# SAVANT ACQUISITION
|
||||
# Long-term Allomancers with trait_allomantic_strong may develop
|
||||
# savantism through constant metal-burning
|
||||
# ============================================================
|
||||
mistborn_misc.0050 = {
|
||||
type = character_event
|
||||
title = mistborn_misc.0050.t
|
||||
desc = mistborn_misc.0050.desc
|
||||
theme = education
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = worry
|
||||
}
|
||||
|
||||
trigger = {
|
||||
is_allomancer_trigger = yes
|
||||
has_trait = trait_allomantic_strong
|
||||
NOT = { has_trait = trait_allomantic_savant }
|
||||
NOT = { has_character_flag = savant_check_done }
|
||||
# Must have been an Allomancer for a long time (proxy: age 30+, since snapping happens 10-16)
|
||||
age >= 30
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 0.05
|
||||
modifier = {
|
||||
add = 0.05
|
||||
has_trait = trait_mistborn
|
||||
}
|
||||
modifier = {
|
||||
add = 0.03
|
||||
age >= 40
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
add_character_flag = {
|
||||
flag = savant_check_done
|
||||
years = 5
|
||||
}
|
||||
}
|
||||
|
||||
# Option A: Embrace the intensity - become a savant
|
||||
option = {
|
||||
name = mistborn_misc.0050.a
|
||||
if = {
|
||||
limit = { has_trait = trait_allomantic_strong }
|
||||
remove_trait = trait_allomantic_strong
|
||||
}
|
||||
add_trait = trait_allomantic_savant
|
||||
add_prestige = 50
|
||||
custom_tooltip = mistborn_misc.0050.a.tt
|
||||
ai_chance = {
|
||||
base = 40
|
||||
modifier = {
|
||||
add = 20
|
||||
has_trait = ambitious
|
||||
}
|
||||
modifier = {
|
||||
add = 20
|
||||
has_trait = brave
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# Option B: Pull back - maintain control
|
||||
option = {
|
||||
name = mistborn_misc.0050.b
|
||||
add_stress = 20
|
||||
custom_tooltip = mistborn_misc.0050.b.tt
|
||||
ai_chance = {
|
||||
base = 60
|
||||
modifier = {
|
||||
add = 20
|
||||
has_trait = temperate
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# ============================================================
|
||||
# SAVANT CONSEQUENCES
|
||||
# Yearly random events for characters with trait_allomantic_savant
|
||||
# ============================================================
|
||||
mistborn_misc.0060 = {
|
||||
type = character_event
|
||||
title = mistborn_misc.0060.t
|
||||
desc = mistborn_misc.0060.desc
|
||||
theme = education
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = stress
|
||||
}
|
||||
|
||||
trigger = {
|
||||
has_trait = trait_allomantic_savant
|
||||
NOT = { has_character_flag = recent_savant_episode }
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 0.3
|
||||
}
|
||||
|
||||
immediate = {
|
||||
add_character_flag = {
|
||||
flag = recent_savant_episode
|
||||
years = 2
|
||||
}
|
||||
}
|
||||
|
||||
# Option A: Heightened senses cause paranoia
|
||||
option = {
|
||||
name = mistborn_misc.0060.a
|
||||
add_stress = 30
|
||||
random_list = {
|
||||
50 = {
|
||||
# The paranoia was justified — you detect a real threat
|
||||
add_intrigue_lifestyle_xp = 50
|
||||
custom_tooltip = mistborn_misc.0060.a.justified
|
||||
}
|
||||
50 = {
|
||||
# False alarm — the paranoia is just the savantism talking
|
||||
add_stress = 10
|
||||
custom_tooltip = mistborn_misc.0060.a.false
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 30
|
||||
}
|
||||
}
|
||||
|
||||
# Option B: Channel the power surge — enhanced abilities
|
||||
option = {
|
||||
name = mistborn_misc.0060.b
|
||||
# Temporary prowess boost at the cost of health
|
||||
add_character_modifier = {
|
||||
modifier = savant_power_surge
|
||||
years = 1
|
||||
}
|
||||
ai_chance = {
|
||||
base = 40
|
||||
}
|
||||
}
|
||||
|
||||
# Option C: Resist the compulsion — try to regain control
|
||||
option = {
|
||||
name = mistborn_misc.0060.c
|
||||
add_stress = 15
|
||||
stress_impact = {
|
||||
temperate = -10
|
||||
brave = -5
|
||||
}
|
||||
add_learning_lifestyle_xp = 50
|
||||
ai_chance = {
|
||||
base = 30
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -82,7 +82,7 @@ mistborn_snapping.0010 = {
|
||||
type = character_event
|
||||
title = mistborn_snapping.0010.t
|
||||
desc = mistborn_snapping.0010.desc
|
||||
theme = skulduggery
|
||||
theme = secret
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
@@ -461,6 +461,23 @@ mistborn_snapping.0030 = {
|
||||
modifier = disappointed_opinion
|
||||
opinion = -15
|
||||
}
|
||||
# If the child was injured during snapping, father feels guilt
|
||||
if = {
|
||||
limit = {
|
||||
root = {
|
||||
OR = {
|
||||
has_trait = wounded_1
|
||||
has_trait = wounded_2
|
||||
has_trait = wounded_3
|
||||
}
|
||||
}
|
||||
}
|
||||
add_opinion = {
|
||||
target = root
|
||||
modifier = guilty_about_snapping_opinion
|
||||
opinion = -10
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
@@ -468,3 +485,97 @@ mistborn_snapping.0030 = {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
# ============================================================
|
||||
# LATE SNAPPING - Traumatic life events for older characters
|
||||
# Fires for characters age 17-30 with dormant potential
|
||||
# Triggered by imprisonment, combat, near-death experiences
|
||||
# ============================================================
|
||||
mistborn_snapping.0040 = {
|
||||
type = character_event
|
||||
title = mistborn_snapping.0040.t
|
||||
desc = mistborn_snapping.0040.desc
|
||||
theme = secret
|
||||
|
||||
left_portrait = {
|
||||
character = root
|
||||
animation = pain
|
||||
}
|
||||
|
||||
trigger = {
|
||||
OR = {
|
||||
has_trait = trait_allomantic_potential
|
||||
has_trait = trait_mistborn_potential
|
||||
}
|
||||
age >= 17
|
||||
age <= 30
|
||||
NOT = { has_trait = trait_mistborn }
|
||||
NOT = { is_allomancer_trigger = yes }
|
||||
NOT = { has_character_flag = late_snapping_attempted }
|
||||
}
|
||||
|
||||
weight_multiplier = {
|
||||
base = 1
|
||||
modifier = {
|
||||
add = 0.5
|
||||
is_imprisoned = yes
|
||||
}
|
||||
modifier = {
|
||||
add = 0.3
|
||||
has_trait = brave
|
||||
}
|
||||
modifier = {
|
||||
add = 0.3
|
||||
has_trait = wrathful
|
||||
}
|
||||
}
|
||||
|
||||
immediate = {
|
||||
add_character_flag = {
|
||||
flag = late_snapping_attempted
|
||||
years = 3
|
||||
}
|
||||
}
|
||||
|
||||
# The trauma triggers a late Snapping
|
||||
option = {
|
||||
name = mistborn_snapping.0040.a
|
||||
# Late snapping has lower success chance (15%)
|
||||
random_list = {
|
||||
15 = {
|
||||
# Success - late Snapping occurs
|
||||
trigger_event = {
|
||||
id = mistborn_snapping.0020
|
||||
days = 1
|
||||
}
|
||||
}
|
||||
75 = {
|
||||
# Failure - the moment passes
|
||||
add_stress = 20
|
||||
custom_tooltip = mistborn_snapping.0040.a.fail
|
||||
}
|
||||
10 = {
|
||||
# Injury from the trauma
|
||||
add_trait = wounded_1
|
||||
add_stress = 30
|
||||
custom_tooltip = mistborn_snapping.0040.a.injured
|
||||
}
|
||||
}
|
||||
ai_chance = {
|
||||
base = 100
|
||||
}
|
||||
}
|
||||
|
||||
# Resist the trauma - refuse to break
|
||||
option = {
|
||||
name = mistborn_snapping.0040.b
|
||||
add_stress = 10
|
||||
stress_impact = {
|
||||
brave = -10
|
||||
craven = 10
|
||||
}
|
||||
ai_chance = {
|
||||
base = 20
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user