feat(on_action): wire M2 events and add game start metal supplies

Add all new yearly pulse events: metal supply, Feruchemy discovery,
Inquisitor transformation, Ruin's whispers, Hemalurgy discovery,
savant acquisition/consequences. Add duralumin/nicroburst to
compounding check. Add on_imprison hook for late snapping. Grant
starting metal reserves to Allomancers at game start (abundant for
nobles, low for skaa).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-07 22:36:44 +01:00
co-authored by Claude Opus 4.6
parent 18c0924427
commit 85a46c307e
@@ -22,6 +22,16 @@ on_yearly_pulse = {
mistborn_misc.0020 # Skaa uprising chance
mistborn_misc.0030 # Mist spirit encounter
mistborn_misc.0040 # Atium discovery
mistborn_metal.0001 # Metal reserves running low
mistborn_metal.0010 # Metal reserves depleted
mistborn_metal.0020 # Metal supply windfall
mistborn_metal.0030 # Wartime metal scarcity
mistborn_feruchemy.0001 # Feruchemy discovery for Terris characters
mistborn_hemalurgy.0010 # Inquisitor transformation check
mistborn_hemalurgy.0020 # Ruin's whispers
mistborn_hemalurgy.0030 # Hemalurgy discovery risk
mistborn_misc.0050 # Savant acquisition check
mistborn_misc.0060 # Savant consequences
}
effect = {
# Check Lord Ruler attention thresholds and apply tiered modifiers
@@ -103,6 +113,8 @@ on_yearly_pulse = {
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
}
NOT = { has_character_modifier = compounder_modifier }
NOT = { has_character_flag = compounding_check_done }
@@ -129,6 +141,37 @@ on_game_start = {
name = lord_ruler_attention
value = 0
}
# Grant starting metal supplies to Allomancers
if = {
limit = {
is_allomancer_trigger = yes
is_noble_scadrian_trigger = yes
}
add_character_modifier = {
modifier = metal_reserves_abundant
years = 2
}
}
else_if = {
limit = {
is_allomancer_trigger = yes
is_skaa_trigger = yes
}
add_character_modifier = {
modifier = metal_reserves_low
years = 1
}
}
else_if = {
limit = {
is_allomancer_trigger = yes
}
add_character_modifier = {
modifier = metal_reserves_abundant
years = 2
}
}
}
}
}
@@ -141,3 +184,12 @@ on_birth = {
# Future: Add events for checking Allomantic potential at birth
}
}
# ============================================================
# ON IMPRISON - Late Snapping from imprisonment trauma
# ============================================================
on_imprison = {
events = {
mistborn_snapping.0040 # Late snapping for characters 17-30 with potential
}
}