Files
lords-of-ash/docs/milestones/M7-the-deepness.md
T
jpmschweitzerandClaude Opus 4.6 a2edd9025e docs(milestones): add detailed milestone implementation documents
Break the MASTERPLAN into 8 milestone documents (M1-M8) with a
standard template. Each milestone includes prerequisites, current
state assessment, numbered implementation tasks with file references,
testing checkpoints, acceptance criteria, and risk analysis.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 16:29:56 +01:00

76 KiB

M7: The Deepness

All event arcs implemented. Deep Sanderson lore woven throughout. The world feels deeply, unmistakably Mistborn.

Prerequisites

  • M6 (The Plan) must be complete: crew assembly, skaa army, noble infiltration, rebellion, and martyrdom arcs all functional
  • M5 (The Crew) must be complete: adventurer band system, bookmark, game rule toggle
  • M4 (Scadrial on the Map) must be complete: custom CB types, schemes, province modifiers, vanilla suppression
  • All existing event files must be stable and tested (snapping, ball, lord_ruler, hemalurgy, atium, skaa, skaa_allomancer, misc)
  • Lord Ruler exists as immortal character holding e_final_empire and serving as Steel Ministry religious head (from M3)
  • Kandra trait and Contract mechanics exist (from M3)
  • Custom buildings (Kredik Shaw, Pits of Hathsin, Conventical of Seran) exist (from M3)

Current State

Relevant files and their status:

  • events/ball_events.txt — 4 events (host ball, political, intrigue, allomantic display). Functional but no assassination variant. Needs Ball Assassination arc added.
  • events/atium_events.txt — 2 events (smuggling success/failure). Stub-level. Needs full Atium Economy system.
  • events/lord_ruler_events.txt — 5 events (3 attention tiers, decay, gain tracking). Solid foundation. Needs Fall of Kredik Shaw endgame chain added.
  • events/mistborn_misc_events.txt — 5 events (kandra, compounding, skaa uprising, mist spirit, atium discovery). Needs expansion for atmosphere/flavor arcs.
  • events/hemalurgy_events.txt — 1 event (spike creation). Needs Inquisitor encounter events.
  • events/snapping_events.txt — 4 events (natural, forced, success, failure). Complete for M7 purposes.
  • events/skaa_events.txt — 2 events (crackdown, improved conditions). Needs plantation life events.
  • common/modifiers/00_mistborn_modifiers.txt — 14 modifiers defined. Missing: mist_empowerment, ash_season_*, atium_contract_holder, terris_breeding_program, false_flag_framed, eleventh_metal_insight, duel_veteran.
  • common/scripted_triggers/mistborn_triggers.txt — 16 triggers. Needs: is_compounder_trigger, understands_compounding_trigger, has_kandra_contract_trigger, is_narrative_mode_trigger.
  • common/scripted_effects/mistborn_effects.txt — 9 effects. Needs: strip_lord_ruler_immortality_effect, collapse_final_empire_effect, start_kredik_shaw_assault_effect.
  • common/schemes/ — Directory does not yet exist. Needs creation (expected from M4).
  • common/casus_belli_types/ — Directory does not yet exist. Needs creation (expected from M4).

Implementation Tasks

7.1 -- Raids on Noble Houses

Context: Kelsier's crew raids noble house assets -- warehouses, supply lines, atium caches -- to destabilize their power. This translates to a hostile decision chain where the player targets rival houses for material gain at the risk of escalating consequences.

Steps:

  1. Create the event file events/raid_events.txt with namespace mistborn_raid. Define 5 events:
    • mistborn_raid.0001 — Raid planning. Player selects a neighboring noble house target. Requires is_ruler = yes and gold >= 50. Saves target as scope:raid_target. Options: raid warehouses (gold focus), raid supply lines (control focus), raid atium cache (prestige focus, requires target to have has_atium_trigger).
    • mistborn_raid.0010 — Raid execution. Skill check using intrigue vs target's martial. On success: gain gold/prestige/reduce target control. On failure: trigger mistborn_raid.0020. Coinshots (trait_misting_coinshot) and Mistborn get +15 to the check. Smokers (trait_misting_smoker) reduce detection chance by 20%.
    • mistborn_raid.0020 — Raid failed / caught. Lord Ruler attention +10. Target gains rivalry opinion -40 toward player. Player loses 100 prestige. Option to bribe your way out (gold -200, attention -5) or brazen it out (diplomacy 14 check).
    • mistborn_raid.0030 — Escalation. If player has raided_this_house flag on the same target (set on success), consequences worsen: target may declare war (CB from M4), Inquisitors investigate (attention +15).
    • mistborn_raid.0040 — Atium cache heist (rare variant). Only fires if target holds c_pits_of_hathsin or has atium_supply modifier. Success grants atium_supply modifier for 5 years. Failure is catastrophic: attention +25.
  2. Add a decision raid_noble_house_decision in common/decisions/00_mistborn_decisions.txt (or a new file common/decisions/00_raid_decisions.txt). is_shown: ruler, narrative or sandbox mode. is_valid: not at war with target, gold >= 50, no recent_raid flag. Cost: 50 gold. Effect: fires mistborn_raid.0001. Cooldown flag recent_raid for 1 year.
  3. Add localization keys to localization/english/mistborn_events_l_english.yml for all 5 events (.t, .desc, each .option). Pattern: mistborn_raid.XXXX.t:0 "Title", mistborn_raid.XXXX.desc:0 "Description", mistborn_raid.XXXX.a:0 "Option A text".
  4. Add on_yearly_pulse hook in common/on_action/mistborn_on_actions.txt for AI to consider raids (weight based on intrigue, rivalry, and ambitious trait).

Files:

  • events/raid_events.txt -- create
  • common/decisions/00_raid_decisions.txt -- create
  • common/on_action/mistborn_on_actions.txt -- modify
  • localization/english/mistborn_events_l_english.yml -- modify

References:

  • Existing event pattern: events/atium_events.txt:12-69 (skill check with random_list)
  • Existing decision pattern: look at existing decisions in common/decisions/
  • Lord Ruler attention manipulation: events/lord_ruler_events.txt:499-581 (attention gain event)
  • Lore: docs/bookmarks/the end of an empire/events.md lines 33-39

7.2 -- The Eleventh Metal

Context: Kelsier discovers malatium (an atium-gold alloy), which reveals a person's past self. In CK3, this translates to a rare event chain where Mistborn or Augur characters discover a hidden metal that grants an intrigue advantage by revealing secrets about powerful characters.

Steps:

  1. Create events/eleventh_metal_events.txt with namespace mistborn_eleventh_metal. Define 4 events:
    • mistborn_eleventh_metal.0001 — Discovery rumor. Fires for Mistborn or Augur characters via yearly pulse with very low weight (base 0.02). Character hears of an unknown metal. Options: investigate (triggers .0010 in 30 days, costs 100 gold) or dismiss.
    • mistborn_eleventh_metal.0010 — Research. Learning check (16+). Success: triggers .0020. Failure: lose gold, gain stress. Keeper Feruchemists (trait_feruchemist + culture:terris) get +10 modifier.
    • mistborn_eleventh_metal.0020 — Malatium found. Character acquires the eleventh metal. Add modifier eleventh_metal_insight (intrigue +6, learning +3, duration 10 years). Add character flag has_eleventh_metal.
    • mistborn_eleventh_metal.0030 — Use malatium on a target. Requires has_eleventh_metal flag. Player selects a powerful character (liege, rival, or Lord Ruler). Reveals one of: a secret trait, true culture/religion, or hidden family connection. Against the Lord Ruler specifically: reveals he was once a common Terris packman (adds knows_lord_ruler_origins flag, required for Fall of Kredik Shaw).
  2. Add modifier eleventh_metal_insight to common/modifiers/00_mistborn_modifiers.txt: intrigue +6, learning +3, monthly_prestige +0.2.
  3. Add localization for all events and the modifier.

Files:

  • events/eleventh_metal_events.txt -- create
  • common/modifiers/00_mistborn_modifiers.txt -- modify
  • localization/english/mistborn_events_l_english.yml -- modify

References:

  • Lore: docs/lore/mistborn-universe.md lines 85-86 (malatium description)
  • Event weight pattern: events/mistborn_misc_events.txt:385-387 (mist spirit at 0.1 weight)
  • Augur trait: common/traits/00_allomancy_traits.txt:184-201 (trait_misting_augur)

7.3 -- Mistborn Duels in the Mists

Context: Allomantic combat is central to Mistborn. When two Allomancers meet in conflict, special metal-specific combat options should appear. This system creates personal combat events with tactical choices based on metal type.

Steps:

  1. Create events/duel_events.txt with namespace mistborn_duel. Define 6 events:
    • mistborn_duel.0001 — Duel challenge. Fires when two Allomancers are on opposing sides of a war or scheme, or via decision. Saves scope:duel_opponent. Both must pass is_allomancer_trigger. Portrait setup: left = root, right = opponent.
    • mistborn_duel.0010 — Combat round: Physical metals. Available to Coinshots, Lurchers, Thugs, Mistborn. Options:
      • Coinshot: Push coins at opponent (prowess check, +5 for Coinshot)
      • Lurcher: Pull opponent's weapons away (martial check, +5 for Lurcher)
      • Thug: Pewter-enhanced charge (prowess check, +8 for Thug, but reckless)
      • Mistborn: Full metal repertoire (prowess check, +12)
    • mistborn_duel.0020 — Combat round: Mental metals. Available to Soothers, Rioters, Smokers, Seekers, Mistborn. Options:
      • Soother: Dampen opponent's emotions (diplomacy check, opponent loses prowess temporarily)
      • Rioter: Enrage opponent into mistakes (intrigue check, opponent more reckless)
      • Smoker: Hide your Allomantic signature (intrigue check, opponent loses metal-detection advantage)
      • Seeker: Detect opponent's metal reserves (learning check, reveals their trait for tactical advantage)
    • mistborn_duel.0030 — Duel resolution. Based on accumulated checks from rounds. Outcomes: decisive victory (opponent wounded_3 or killed, gain 200 prestige, add duel_veteran modifier), narrow victory (opponent wounded_2, gain 100 prestige), draw (both wounded_1), defeat (player wounded_3, lose 100 prestige), death (10% chance if opponent is Mistborn or Inquisitor).
    • mistborn_duel.0040 — Inquisitor duel variant. Fires instead of normal duel when opponent has steel_inquisitor_power modifier. Dramatically harder: base prowess check against 25. Mistborn get +15. Non-Mistborn get +5 at best. Death chance 40% on failure. Victory is legendary (500 prestige, dynasty prestige 200).
    • mistborn_duel.0050 — Duel aftermath. Winner gains duel_veteran modifier. If duel was public (at a ball, during battle), reputation effects: Lord Ruler attention +5 for winning publicly, +15 for defeating an Inquisitor.
  2. Add modifier duel_veteran to common/modifiers/00_mistborn_modifiers.txt: prowess +3, martial +1, monthly_prestige +0.1, duration permanent.
  3. Add a decision challenge_allomancer_decision in common/decisions/ to initiate a duel against a rival Allomancer. Requires: both is_allomancer_trigger, rival or enemy opinion, not at peace during war or within scheme context.
  4. Add localization for all 6 events, decision, and modifier.

Files:

  • events/duel_events.txt -- create
  • common/modifiers/00_mistborn_modifiers.txt -- modify
  • common/decisions/00_mistborn_decisions.txt -- modify (or new file)
  • localization/english/mistborn_events_l_english.yml -- modify

References:

  • Personal combat pattern: events/lord_ruler_events.txt:284-322 (random_list with death/wound outcomes)
  • Trait checks: common/scripted_triggers/mistborn_triggers.txt:6-22 (is_allomancer_trigger)
  • Steel Inquisitor modifier: common/modifiers/00_mistborn_modifiers.txt:104-115

7.4 -- Ball Assassination (Vin vs Shan)

Context: During a noble ball, an assassination attempt is revealed. In the book, Shan Elariel tries to kill Elend and Vin fights her, revealing her own Mistborn status. This creates a dramatic ball variant where hidden Mistborn status is exposed.

Steps:

  1. Add 4 new events to events/ball_events.txt (extending the existing namespace mistborn_ball):
    • mistborn_ball.0040 — Assassination attempt at the ball. Triggers as a follow-up to any ball event (10% chance via random in ball .0001 immediate block, or higher if has_character_flag = mistborn_revealed_at_ball). An assassin (generated or scope:ball_rival if they have trait_mistborn) attacks. Options: flee (lose prestige, survive), fight back (requires Allomancer status), call guards (delay, assassin may escape).
    • mistborn_ball.0050 — Mistborn fight at the ball. Fires if player chose "fight back" and both player and assassin are Allomancers. Uses duel mechanics from 7.3 (trigger mistborn_duel.0001 with the assassin as opponent, or inline combat). Dramatic outcomes. If player wins: assassin killed or captured, player's Mistborn/Misting status revealed to all (add flag allomantic_status_public), massive prestige. If player loses: wounded, prestige loss, but survived.
    • mistborn_ball.0060 — Political fallout. Fires 3 days after .0050. All attending houses learn about the fight. Opinion shifts: some houses impressed (+15 opinion), rival houses threatened (-20 opinion). If the assassin belonged to a Great House, that house loses prestige and faces Lord Ruler attention +10. If player's Allomantic status was hidden, its revelation causes: Steel Ministry attention +5, marriage proposals from houses wanting Allomantic bloodlines.
    • mistborn_ball.0070 — Narrative variant: Vin vs Shan. Only fires in Narrative Mode when Vin attends a ball and Shan Elariel is alive. Shan attempts assassination of Elend Venture. Vin must fight. If Vin wins (high probability given her Mistborn status): Shan dies, House Elariel destabilized, Vin's cover blown. If Vin loses (rare): Elend dies, major story divergence.
  2. Modify events/ball_events.txt mistborn_ball.0001 immediate block: add a random check that sets scope:assassination_attempt = yes (10% base, +5% if any attending house has rivalry with host, +10% in Narrative Mode if Vin and Shan both alive).
  3. Add localization for all 4 new ball events.

Files:

  • events/ball_events.txt -- modify
  • localization/english/mistborn_events_l_english.yml -- modify

References:

  • Existing ball events: events/ball_events.txt:1-450 (full file)
  • Mistborn duel system: task 7.3 events
  • Lore: docs/bookmarks/the end of an empire/events.md lines 74-81

7.5 -- Political Intrigue Events

Context: A set of interconnected political events that deepen noble house interactions: false flag operations, atium contract auctions, obligator oversight, and skaa mistress scandals. These add depth to the noble court experience.

Steps:

  1. Create events/political_intrigue_events.txt with namespace mistborn_intrigue. Define 8 events across 4 sub-arcs:

    False Flag (2 events):

    • mistborn_intrigue.0001 — Plan a false flag operation. Requires intrigue >= 14 and a rival house. Player commits a hostile action (raid, assassination attempt, sabotage) against House A but frames House B. Costs 200 gold. Saves scope:real_target and scope:framed_house.
    • mistborn_intrigue.0010 — False flag result. Intrigue check vs. average of both targets' intrigue. Success: scope:real_target and scope:framed_house gain rivalry, player gains 150 prestige. Failure: player exposed, both houses become hostile, attention +15. Apply false_flag_framed opinion modifier (-30) between the two houses on success.

    Atium Contract Auction (2 events):

    • mistborn_intrigue.0020 — Lord Ruler announces atium contract auction. Periodic event (every 10 years) for all kingdom+ tier rulers. Each house can bid: low (100 gold, 100 prestige), medium (300 gold, 200 prestige), high (500 gold, 300 prestige). AI weights based on wealth and ambition.
    • mistborn_intrigue.0030 — Auction result. Winner determined by highest bid + random factor. Winner gets atium_contract_holder modifier (monthly gold +2, monthly prestige +0.5, prowess +2, duration 10 years). All losers gain -10 opinion toward winner. Lord Ruler attention +5 for the winner (holding atium draws scrutiny).

    Obligator Oversight (2 events):

    • mistborn_intrigue.0040 — Obligator notices something. Random event on yearly pulse for rulers. An obligator has observed one of: a suspicious transaction (if gold > 500), a secret meeting (if intrigue > 12), a skaa mistress (if any lover is skaa culture). Player chooses: bribe (gold -100, nothing happens), intimidate (intrigue check: success = obligator silenced, failure = attention +10), accept scrutiny (attention +5, piety +20 for Steel Ministry followers).
    • mistborn_intrigue.0050 — Obligator report filed. Fires 30 days after .0040 if player chose "accept scrutiny." The obligator's report reaches the Canton of Inquisition. If attention is already > 40, this triggers an immediate Tier 1 warning event (fire mistborn_lord_ruler.0001).

    Skaa Mistress Scandal (2 events):

    • mistborn_intrigue.0060 — Skaa mistress becomes pregnant. Random event for noble male rulers with any skaa-culture lover/concubine. The law demands the skaa woman be killed after bearing children. Options: follow the law (kill her, lose stress but gain Lord Ruler favor: attention -5, piety +10; stress impact: compassionate +40), hide the child (the child may carry trait_allomantic_potential at 20% chance; risk of discovery: add flag has_hidden_skaa_child), refuse to have her killed and send her away (attention +10, stress -20).
    • mistborn_intrigue.0070 — Hidden child discovered. Fires 2-5 years after .0060 if player has has_hidden_skaa_child flag. Yearly pulse check: 15% base chance of discovery, +10% if attention > 30, +15% if any courtier has trait_misting_seeker. On discovery: attention +25, prestige -300, scandal opinion modifier (-20 from all Steel Ministry characters for 10 years). The child may be executed by Inquisitors (50% chance) or escape to become a hidden skaa Allomancer.
  2. Add modifiers to common/modifiers/00_mistborn_modifiers.txt:

    • atium_contract_holder: monthly_income +2, monthly_prestige +0.5, prowess +2
    • false_flag_framed: opinion = -30 (opinion modifier between framed houses)
    • skaa_scandal_shame: monthly_prestige = -1, diplomacy = -3, same_faith_opinion = -20
  3. Add localization for all 8 events and 3 modifiers.

Files:

  • events/political_intrigue_events.txt -- create
  • common/modifiers/00_mistborn_modifiers.txt -- modify
  • localization/english/mistborn_events_l_english.yml -- modify

References:

  • Obligator pattern: events/lord_ruler_events.txt:13-110 (Tier 1 warning structure)
  • Attention manipulation: common/scripted_effects/mistborn_effects.txt:44-73
  • Existing atium economy: events/atium_events.txt:1-160
  • Lore: docs/bookmarks/the end of an empire/events.md lines 83-117

7.6 -- Atium Economy System

Context: Atium is the rarest and most valuable substance in the Final Empire. The Pits of Hathsin generate it, the Lord Ruler controls its distribution, and Great Houses compete for atium contracts. This task builds a full economic system around atium.

Steps:

  1. Expand events/atium_events.txt with 6 new events (total 8):
    • mistborn_atium.0010 — Pits of Hathsin atium harvest. Yearly hidden event for the holder of c_pits_of_hathsin. Generates atium income: add gold 100-300 (random). Add atium_supply modifier if not already present. But: Lord Ruler attention +5 (the Lord Ruler monitors atium production closely).
    • mistborn_atium.0020 — Atium shipment intercepted. Random event for c_pits_of_hathsin holder. Bandits or rivals intercept an atium shipment. Lose gold 100-200. Option to hunt them down (martial check) or absorb the loss. If Kelsier's crew is active (Narrative Mode), this may be them.
    • mistborn_atium.0030 — Black market atium opportunity. Random event for any ruler with intrigue >= 10. Purchase atium on the black market: cost 200-400 gold. Gain atium_supply modifier for 3 years. Risk: 25% chance of Steel Ministry discovery (attention +15).
    • mistborn_atium.0040 — Atium reserve depletion. Hidden yearly event. If character has atium_supply modifier and NOT holder of c_pits_of_hathsin, 20% chance per year the reserve runs out (remove modifier). Holder of Pits never loses it this way.
    • mistborn_atium.0050 — Atium-burning combat advantage. When a character with atium_supply enters a duel or battle, they can choose to burn atium for a temporary massive advantage: prowess +10 for the battle but the atium is consumed (remove atium_supply). Triggered via flag check in duel events (7.3).
    • mistborn_atium.0060 — Lord Ruler demands atium tribute. Periodic event (every 5 years) for c_pits_of_hathsin holder. Must pay 200 gold as tribute or face attention +20. Paying grants piety +30 and attention -5.
  2. Add a decision seek_atium_contract_decision to common/decisions/: opens the atium contract auction if the player is duke+ tier. Fires mistborn_intrigue.0020 (from 7.5).
  3. Modify common/modifiers/00_mistborn_modifiers.txt: update atium_supply modifier to include monthly_income = 0.5 in addition to existing stats. Add atium_tribute_paid modifier (piety +10, same_faith_opinion +5, duration 3 years).
  4. Add on_action hook: on_yearly_pulse for Pits holder atium generation and depletion checks.
  5. Add localization for all new events, decision, and modifiers.

Files:

  • events/atium_events.txt -- modify (expand from 2 to 8 events)
  • common/decisions/00_mistborn_decisions.txt -- modify
  • common/modifiers/00_mistborn_modifiers.txt -- modify
  • common/on_action/mistborn_on_actions.txt -- modify
  • localization/english/mistborn_events_l_english.yml -- modify

References:

  • Existing atium events: events/atium_events.txt:1-160
  • Pits of Hathsin province: common/landed_titles/00_landed_titles.txt:524-533
  • atium_supply modifier: common/modifiers/00_mistborn_modifiers.txt:128-135
  • Lore: docs/bookmarks/the end of an empire/events.md lines 93-99

7.7 -- Fall of Kredik Shaw (Endgame)

Context: This is the climax of the entire mod. The player (likely Vin in Narrative Mode, or any sufficiently powerful character in Sandbox) confronts the Lord Ruler. The key mechanic: the Lord Ruler is immortal via Compounding. To defeat him, the attacker must understand Compounding (requires both Allomancy and Feruchemy knowledge), identify his atium bracers as the source of his immortality, and remove them. Only then can he be killed. Victory collapses the Final Empire.

Steps:

  1. Add scripted triggers to common/scripted_triggers/mistborn_triggers.txt:
    • understands_compounding_trigger: character has has_modifier = compounder_modifier OR (is_allomancer_trigger = yes AND is_feruchemist_trigger = yes) OR has_character_flag = knows_compounding_secret OR has_character_flag = knows_lord_ruler_origins (from Eleventh Metal).
    • can_challenge_lord_ruler_trigger: understands_compounding_trigger = yes AND (has_trait = trait_mistborn OR prowess >= 20) AND is_ruler = yes.
    • is_narrative_mode_trigger: checks game rule for narrative mode (pattern: has_game_rule = narrative_mode).
  2. Add scripted effects to common/scripted_effects/mistborn_effects.txt:
    • strip_lord_ruler_immortality_effect: Targets the Lord Ruler character. Removes compounder_modifier. Sets lord_ruler_mortal flag. Removes his health bonuses. Adds wounded_3 trait. Sends interface message to all rulers: "The Lord Ruler has been made mortal!"
    • collapse_final_empire_effect: Destroys e_final_empire title. All kingdom titles become independent. Sets global variable final_empire_fallen = yes. Fires notification event to all rulers. Lord Ruler dies (if still alive). Survivorism gains fervor. Steel Ministry loses fervor. Applicable province modifiers change (remove lord_ruler_attention_* from all characters).
    • start_kredik_shaw_assault_effect: Begins the endgame war. Creates a temporary CB for the attacker against the Lord Ruler. Sets flags for the event chain.
  3. Create events/endgame_events.txt with namespace mistborn_endgame. Define 8 events:
    • mistborn_endgame.0001 — The time has come. Decision-triggered. Player has met all prerequisites (can_challenge_lord_ruler_trigger). Exposition event describing the plan to storm Kredik Shaw. Options: proceed (triggers .0010), delay (set flag, can retry later).
    • mistborn_endgame.0010 — Assault on Kredik Shaw. The player's forces attack the Lord Ruler's palace. This is a multi-stage battle. Stage 1: break through the outer defenses. Martial check (12+). Hazekillers and koloss guard the gates. Success: advance to .0020. Failure: heavy casualties (random courtiers die), can retreat (end chain) or press on at cost.
    • mistborn_endgame.0020 — The Inquisitor gauntlet. Steel Inquisitors block the inner corridors. If the attacker has defeated Inquisitors before (duel_veteran modifier), +10 bonus. Combat check: prowess vs 22 (Inquisitors are devastating). Mistborn get +15. Failure: player wounded_3, 30% death chance. Success: advance to .0030.
    • mistborn_endgame.0030 — Face the Lord Ruler. The confrontation. First, the player must identify his atium bracers. Requires understands_compounding_trigger. If the player has has_eleventh_metal flag: automatic success. Otherwise: learning check (18+). Feruchemists get +10. Failure: the Lord Ruler seems invincible, player must retreat or die.
    • mistborn_endgame.0040 — Tear out the bracers. Physical combat to remove the Lord Ruler's bracers. Prowess check vs 30 (the Lord Ruler is the most powerful being on Scadrial). Mistborn: +20. Pewterarm/Thug: +10. Having allies (crew members alive): +5 per surviving named crew member (up to +15). Success: fires strip_lord_ruler_immortality_effect. Advance to .0050. Failure: death (50%) or retreat (50%).
    • mistborn_endgame.0050 — The Lord Ruler falls. After stripping his immortality, the Lord Ruler is mortal and weakened. Final combat: prowess vs 12 (much easier now). Victory: the Lord Ruler dies. Fire collapse_final_empire_effect. Trigger .0060. Defeat: the Lord Ruler escapes, weakened but alive. He can be hunted down later.
    • mistborn_endgame.0060 — The Final Empire collapses. Victory event. Massive prestige (+1000). Dynasty prestige (+500). The player becomes the new ruler of Luthadel (gain c_luthadel if not already held). All kingdom titles become independent. New era begins. If Narrative Mode: special epilogue text referencing the books.
    • mistborn_endgame.0070 — Narrative epilogue (Narrative Mode only). Fires 30 days after .0060. Describes the aftermath: Elend becomes king of Luthadel, the mists change, Sazed begins cataloging religions. Sets up for potential Book 2 content. Grants achievement-style modifier hero_of_ages to the player (permanent: all stats +2, monthly_prestige +1).
  4. Add a decision assault_kredik_shaw_decision in common/decisions/: is_shown only if can_challenge_lord_ruler_trigger = yes. Cost: 500 gold, 500 prestige. Fires mistborn_endgame.0001. One-time only (permanent flag).
  5. Add modifiers to common/modifiers/00_mistborn_modifiers.txt:
    • hero_of_ages: all stats +2, monthly_prestige +1, health +1
    • post_empire_chaos: county_opinion -20, development_growth_factor -0.3, duration 5 years (applied to all counties on empire collapse)
  6. Add localization for all 8 events, decision, and modifiers. The endgame events should have the most polished, evocative writing in the mod -- this is the climax.

Files:

  • events/endgame_events.txt -- create
  • common/scripted_triggers/mistborn_triggers.txt -- modify
  • common/scripted_effects/mistborn_effects.txt -- modify
  • common/decisions/00_mistborn_decisions.txt -- modify
  • common/modifiers/00_mistborn_modifiers.txt -- modify
  • localization/english/mistborn_events_l_english.yml -- modify

References:

  • Lord Ruler attention system: events/lord_ruler_events.txt:1-586
  • Compounding discovery: events/mistborn_misc_events.txt:138-218
  • Lord Ruler character: M3 character history files
  • Lore: docs/bookmarks/the end of an empire/events.md lines 216-224
  • Lore: docs/lore/mistborn-universe.md lines 120-127 (Compounding explanation)

7.8 -- Atmosphere and Flavor Events

Context: The world of Scadrial is defined by ash, mists, oppression, and rare moments of beauty. These events fire regularly to create ambient atmosphere. They make the world feel alive and uniquely Mistborn even during quiet periods.

Steps:

  1. Create events/atmosphere_events.txt with namespace mistborn_atmosphere. Define 10 events:

    Ash Falls (3 events):

    • mistborn_atmosphere.0001 — Heavy ashfall. Province event on yearly pulse, 30% chance for any county. Applies ash_blight modifier for 2 years. Player choice: spend gold to clear ash (50 gold, removes modifier in 1 year), conscript skaa labor (free but county_opinion -10), ignore (modifier persists full duration).
    • mistborn_atmosphere.0002 — Ash season shifts. Hidden yearly event. Randomly selects 3-5 provinces and toggles ash_blight on/off. Simulates the seasonal nature of ashfall. Provinces near ashmounts (check for b_ashmount_view or similar) have double the chance.
    • mistborn_atmosphere.0003 — Ashmount eruption. Very rare (2% yearly). A specific ashmount erupts violently. All provinces in that kingdom get ash_blight for 5 years. Development loss. Devastating but temporary. The Lord Ruler normally prevents this -- if final_empire_fallen, eruption chance increases to 10%.

    The Mists (3 events):

    • mistborn_atmosphere.0010 — Mist encounter. Yearly pulse for all characters. Non-Allomancers: stress +5, option to brave the mists (small chance of snapping if they have potential) or retreat. Allomancers: gain mist_empowerment modifier (+2 prowess, +1 intrigue, 1 year). Mistborn: gain mist_empowerment and +50 prestige ("The mists are your domain").
    • mistborn_atmosphere.0011 — Mists snap someone. Very rare (5% of mist encounters for characters with can_snap_trigger). The mists themselves trigger snapping -- call trigger_snapping_effect. This is how Preservation awakens Allomancers.
    • mistborn_atmosphere.0012 — Fear of the mists. Province event. Skaa-culture provinces gain mist_fear county modifier (county_opinion -5, levy_size -0.05, 1 year). Noble provinces are unaffected (nobles don't fear the mists as much).

    The Flower (1 event):

    • mistborn_atmosphere.0020 — A flower in the ash. Very rare positive event (1% yearly). A single flower is found growing in the ash. Reduces stress by 30. Grants a small modifier: beauty_in_ash (monthly_prestige +0.1, stress_loss_mult +0.1, 3 years). Beautiful, quiet moment. The writing should be poetic and hopeful.

    Sazed's Knowledge (2 events):

    • mistborn_atmosphere.0030 — Coppermind discovery. For Feruchemist characters (especially Terris Keepers). Learning check triggers discovery of lost knowledge. Random outcome: ancient religion discovered (piety +50), forgotten technique (learning +100 xp), historical revelation (prestige +100), or metallurgic insight (discover a new trait interaction -- e.g., learn about Compounding, set flag knows_compounding_secret).
    • mistborn_atmosphere.0031 — Terris Keeper teaches. When a Feruchemist courtier exists, the player can learn from them. Event grants learning xp and may reveal a secret about the world (e.g., the Lord Ruler's true nature, the Well of Ascension's location).

    Kandra Contracts (1 event):

    • mistborn_atmosphere.0040 — Kandra Contract renewal. For characters with has_character_flag = kandra_infiltrating (from existing kandra event). The kandra's Contract term is expiring. Options: renew (gold -150, continue benefits), release (kandra leaves, lose infiltration benefits), renegotiate terms (diplomacy check for better deal: reduced cost, additional services).
  2. Add modifiers to common/modifiers/00_mistborn_modifiers.txt:

    • mist_empowerment: prowess +2, intrigue +1
    • mist_fear: county_opinion -5, levy_size = -0.05
    • beauty_in_ash: monthly_prestige +0.1, stress_loss_mult +0.1
    • ashmount_eruption: development_growth_factor -0.4, tax_mult -0.3
  3. Add on_action hooks in common/on_action/mistborn_on_actions.txt for yearly pulse: atmosphere events with appropriate weight multipliers.

  4. Add localization for all 10 events and 4 modifiers. The Flower event deserves especially evocative writing.

Files:

  • events/atmosphere_events.txt -- create
  • common/modifiers/00_mistborn_modifiers.txt -- modify
  • common/on_action/mistborn_on_actions.txt -- modify
  • localization/english/mistborn_events_l_english.yml -- modify

References:

  • Existing mist spirit event: events/mistborn_misc_events.txt:359-438
  • Ash blight modifier: common/modifiers/00_mistborn_modifiers.txt:140-145
  • Snapping effect: common/scripted_effects/mistborn_effects.txt:101-132
  • Kandra event: events/mistborn_misc_events.txt:12-132
  • Lore: docs/bookmarks/the end of an empire/events.md lines 227-264
  • Lore: docs/lore/mistborn-universe.md lines 147-153 (mists as Preservation's power)

7.9 -- Additional Sanderson Lore Events

Context: Deep lore events that enrich the world beyond the main plot arcs. These fire for various character types and add replayability and atmosphere. Each draws directly from Mistborn: The Final Empire lore.

Steps:

  1. Create events/lore_events.txt with namespace mistborn_lore. Define 10 events:

    Terris Breeding Program (2 events):

    • mistborn_lore.0001 — Terris steward selection. For rulers with Terris courtiers. The Lord Ruler's breeding program sends obligators to inspect your Terris servants. If any have trait_feruchemist or trait_feruchemy_potential, there's a 30% chance they're taken away (courtier removed from court). Options: comply (piety +20, attention -3), hide the Feruchemist (intrigue check: success = Feruchemist stays, failure = attention +15 and Feruchemist taken), refuse (attention +20, but Feruchemist stays).
    • mistborn_lore.0002 — Breeding program results. For Terris culture rulers in the Northern Dominance. The breeding program is systematically eliminating Feruchemy. Each generation, trait_feruchemy_potential inheritance chance decreases by 1% in Terris characters within the Lord Ruler's domain. Hidden event that tracks this. If final_empire_fallen, the breeding program ends and inheritance normalizes.

    Obligator Spy Network (1 event):

    • mistborn_lore.0010 — Obligator intelligence report. Random yearly event for Steel Ministry faithful rulers. You receive a report from the obligator network about a neighboring house. Learn one fact: their gold reserves (stewardship bonus), their military strength (martial bonus), or a secret (intrigue bonus). Small cost: piety -10.

    Skaa Plantation Life (2 events):

    • mistborn_lore.0020 — Plantation harvest. Province event for rural counties. Good harvest: tax +10% for 1 year. Bad harvest: development -1, county_opinion -10. Flavor text describes skaa laborers working the ash-covered fields under noble overseers.
    • mistborn_lore.0021 — Skaa escape attempt. A group of skaa tries to flee a plantation. Options: hunt them down (dread +10, tyranny +3), let them go (compassionate stress relief, but -5 county control), recruit the strongest (intrigue check, may find a Misting).

    Koloss Army (2 events):

    • mistborn_lore.0030 — Koloss on the march. Province event. A koloss army wanders near your lands. If you control koloss MaA: you can absorb them (add 100 koloss soldiers). If not: they raid a county (apply koloss_rampage modifier for 2 years). Emotional Allomancers (Soother/Rioter/Mistborn) can attempt to control them (intrigue check vs 16).
    • mistborn_lore.0031 — Koloss berserker rage. If you have koloss MaA, yearly 10% chance they rampage in your own territory. Apply koloss_rampage to a random held county. Option to cull them (lose 50% koloss MaA) or ride it out.

    Steel Inquisitor Encounters (2 events):

    • mistborn_lore.0040 — Inquisitor in the mists. Terror event. A Steel Inquisitor is spotted near your lands. Non-rulers and non-Allomancers: stress +20, dread felt. Allomancers: option to confront (triggers duel, 7.3, with Inquisitor difficulty) or hide. If attention > 50: the Inquisitor is looking for YOU.
    • mistborn_lore.0041 — Inquisitor interrogation. If you have hidden skaa Allomancers or has_hidden_skaa_child flag, an Inquisitor demands to search your keep. Intrigue check vs 18 to hide your secrets. Failure: secrets discovered, attention +20, skaa Allomancers/children killed. Success: Inquisitor leaves empty-handed.

    Alendi's Journal (1 event):

    • mistborn_lore.0050 — Journal fragment discovered. Very rare event for characters with learning >= 14 or Feruchemist trait. A fragment of Alendi's journal is found -- an ancient text about the Hero of Ages and the Deepness. Grants learning +200 xp and reveals a piece of the cosmological puzzle. If 3+ fragments collected (tracked via flag counter), unlock a decision to piece together the prophecy (massive piety and prestige reward, plus the knows_compounding_secret flag as the journal discusses metallic arts theory).
  2. Add localization for all 10 events.

  3. Add on_action hooks for yearly pulse events with appropriate weights.

Files:

  • events/lore_events.txt -- create
  • common/on_action/mistborn_on_actions.txt -- modify
  • localization/english/mistborn_events_l_english.yml -- modify

References:

  • Koloss rampage modifier: common/modifiers/00_mistborn_modifiers.txt:148-153
  • Kandra and misc events pattern: events/mistborn_misc_events.txt:1-530
  • Feruchemy traits: common/traits/04_feruchemy_traits.txt:1-48
  • Lore: docs/lore/mistborn-universe.md lines 88-118 (Feruchemy, Hemalurgy, Terris)
  • Lore: docs/lore/mistborn-universe.md lines 169-176 (kandra and koloss)

7.10 -- Artifacts: Rare, Narrative, and Lore-Extrapolated Items

Context: M3 introduced core artifact types (mistcloaks, metalminds, glass weapons). This task group adds rare and legendary artifacts that deepen the world, drive narrative moments, and reward exploration. These range from canonical items (lerasium beads, Alendi's logbook) to lore-extrapolated items that feel authentic to the Mistborn universe — the kind of objects that Sanderson would include if he wrote a thousand more pages about the Final Empire's material culture.

Steps:

  1. Add the following canonical rare artifacts to common/artifacts/types/00_mistborn_artifact_types.txt:

    • lerasium_bead — slot: miscellaneous. Unique legendary. A bead of Preservation's god-metal. Consuming it transforms anyone into a full Mistborn. Effect: on equip (or via decision "Consume Lerasium"), removes any existing Misting trait, adds trait_mistborn and trait_allomantic_strong. The artifact is destroyed on use. Only 1-2 should exist in the game, hidden in specific locations (Well of Ascension, Kredik Shaw vaults). Discovery requires the Eleventh Metal chain or deep exploration events.
    • alendi_logbook — slot: miscellaneous. The pre-Ascension journal of Alendi, the man who was supposed to be the Hero of Ages. Grants learning +6, piety +2, monthly_piety +0.3. Reading it (via event) reveals the Lord Ruler's true origins as a Terris packman named Rashek. Adds flag knows_lord_ruler_origins (prerequisite for Fall of Kredik Shaw). Located in the Conventical of Seran at game start (held by the senior Inquisitor there).
    • lord_ruler_metal_plates — slot: miscellaneous. Inscribed metal plates containing altered prophecies. Grants learning +3, diplomacy +2. Hidden in Kredik Shaw. Reading them reveals the Lord Ruler changed the Terris prophecies to refer to himself. Adds flag knows_altered_prophecy.
    • sazed_copperminds_collection — slot: miscellaneous. Unique. Not a single coppermind but Sazed's complete collection of stored religions, languages, and histories. Grants learning +8, diplomacy +4, monthly_piety +0.5. Sazed starts with this. If lost or captured, the knowledge of hundreds of dead religions is at risk.
  2. Add the following lore-extrapolated artifacts — items that fit naturally into the Final Empire's material culture:

    Noble House Artifacts:

    • house_seal_ring — slot: miscellaneous. A Great House's official seal ring, used to stamp contracts and correspondence. Grants diplomacy +2, monthly_prestige +0.2. Each Great House head should start with one. Losing it in a raid (M7.1) is a prestige catastrophe.
    • obligator_contract_portfolio — slot: miscellaneous. A bound collection of trade contracts witnessed by obligators. Grants stewardship +3, monthly_gold +0.5. Represents a house's economic leverage. Can be stolen via raids or schemes.
    • noble_ball_finery — slot: regalia. Exquisite noble attire suitable for the most prestigious balls. Grants diplomacy +2, attraction_opinion +10. Required for hosting the most elite ball events. Noble houses craft these.
    • keep_blueprints — slot: miscellaneous. Architectural plans for a noble keep, including Allomancer-proof safe rooms (no metal, stone-lined). Grants fort_level +0.2 (when held by county holder), martial +1. Reflects the paranoia of noble houses designing around Allomantic threats.

    Allomantic Artifacts:

    • allomantic_vial_bandolier — slot: regalia. An upgraded version of metal_vial_set — a combat-ready bandolier with quick-release vials for each metal. Grants prowess +3, martial +1. Extends metal supply duration by 2 years (vs 1 year for basic vial set). Expensive to craft (200 gold). Only for serious Allomantic combatants.
    • tin_spectacles — slot: helmet. Tinted lenses that help Tineyes manage sensory overload from enhanced tin burning. Grants intrigue +2 (enhanced perception), stress loss -0.1/month. Only equippable by characters with trait_misting_tineye or trait_mistborn. Lore-extrapolated: Tineyes canonically struggle with overwhelming senses.
    • pewter_training_weights — slot: miscellaneous. Heavy metal weights used by Thugs and Mistborn to train pewter-enhanced strength. Grants prowess +2 over time (via training event modifier). Only useful to trait_misting_thug or trait_mistborn.
    • bronze_detection_charm — slot: miscellaneous. A finely tuned bronze charm that vibrates faintly when Allomancy is used nearby. Grants intrigue +3 for Seekers. Seekers can detect hidden Allomancers — this artifact enhances that ability. A Smoker's copper cloud suppresses it.
    • emotional_allomancy_journal — slot: miscellaneous. A Soother or Rioter's personal journal of emotional manipulation techniques. Grants diplomacy +3, intrigue +2. Passed between generations of court manipulators. Only equippable by Soother/Rioter/Mistborn.

    Feruchemical Artifacts:

    • gold_metalmind_ring — slot: miscellaneous. A gold ring storing health. Grants health +1.0 while equipped. Only for Feruchemists. Tapping it rapidly heals wounds. Can be integrated with Compounding for extreme regeneration events.
    • pewter_metalmind_bracelet — slot: miscellaneous. Stores physical strength. Grants prowess +3, martial +1. Only for Feruchemists. Tapping it provides bursts of super-strength.
    • zinc_metalmind_earring — slot: miscellaneous. Stores mental speed. Grants learning +3, intrigue +2. Only for Feruchemists. Tapping it grants supernatural thought speed — useful for schemes and decisions.
    • bronze_metalmind_ring — slot: miscellaneous. Stores wakefulness. Grants stress loss -0.2/month, health +0.3 (well-rested). Only for Feruchemists. Terris stewards used these to stay alert during long service periods.
    • tin_metalmind_bracelet — slot: miscellaneous. Stores senses. Grants intrigue +2, learning +1. A spy's perfect tool — store sight to go temporarily blind (avoiding interrogation), then tap it later for superhuman perception.

    Steel Ministry Artifacts:

    • obligator_tattoo_kit — slot: miscellaneous. The tools used by obligators to apply their rank-indicating eye tattoos. Grants piety +1, monthly_piety +0.2. Held by high-ranking obligators. Represents authority within the Steel Ministry hierarchy.
    • inquisitor_obsidian_axe — slot: primary_armament. A massive obsidian battle axe wielded by Steel Inquisitors. Non-metallic so it can't be Pushed or Pulled. Grants prowess +8, dread +15. Only equippable with trait_hemalurgist. Terrifying on the battlefield.
    • ministry_writ_of_authority — slot: miscellaneous. An official document granting the bearer authority to investigate, arrest, or execute in the Lord Ruler's name. Grants dread +10, diplomacy +2, intrigue +3. Temporary (5-year duration) — issued by the Lord Ruler or Canton heads.

    Skaa and Underground Artifacts:

    • skaa_rebellion_banner — slot: regalia. A hidden banner of the skaa resistance, passed from rebel cell to rebel cell. Grants monthly_prestige +0.3 among skaa, martial +2 for rebel armies. Only meaningful in Narrative Mode — carrying it makes you a target (Lord Ruler attention +5 per year while held).
    • thieving_crew_toolkit — slot: miscellaneous. Lockpicks, smoke bombs, rope, glass knives — the tools of a Luthadel thieving crew. Grants intrigue +4, prowess +1. Kelsier's crew members may start with these. Useful for raid events (M7.1 bonus).
    • underground_network_map — slot: miscellaneous. A coded map of skaa underground passages, safe houses, and smuggling routes beneath Luthadel. Grants intrigue +3, martial +1 (for moving troops secretly). Key for the Skaa Army arc — having it reduces discovery chance.
    • preserved_flower_pressing — slot: miscellaneous. A pressed flower preserved from before the Ascension — impossibly old, impossibly beautiful in a world of ash. Grants stress loss -0.3/month, monthly_piety +0.1. Extremely rare. Found only via the Flower event (M7.8). A symbol of hope that the world wasn't always like this.

    Terris Artifacts:

    • worldbringer_robes — slot: regalia. Traditional robes of the Terris Worldbringers (Keepers). Grants piety +3, learning +2, diplomacy +1. Only equippable by Terris culture characters. Wearing them openly is dangerous — the Lord Ruler suppressed the Keepers.
    • terris_prophecy_scroll — slot: miscellaneous. A fragment of the original Terris prophecy about the Hero of Ages, before the Lord Ruler altered it. Grants learning +4, monthly_piety +0.3. Reading it (via event) adds knows_original_prophecy flag. Extremely rare.
  3. Create artifact discovery events in events/artifact_events.txt with namespace mistborn_artifact:

    • mistborn_artifact.0001 — Discover a hidden artifact. Fires on yearly pulse for characters with high learning (16+) or intrigue (18+), or for characters who hold specific provinces. Low weight (0.03). Rolls from a list of discoverable artifacts appropriate to the character's location and traits.
    • mistborn_artifact.0010 — Lerasium discovery. Ultra-rare (weight 0.005). Fires only for characters who hold Kredik Shaw or have the flag knows_lord_ruler_origins. A hidden chamber reveals a cache containing a lerasium bead. Presents the choice: consume it (become Mistborn) or preserve it (keep the artifact for trade/gifting).
    • mistborn_artifact.0020 — Artifact looted after a successful raid (ties into M7.1). When a raid succeeds, 20% chance of also finding an artifact from the target's collection.
    • mistborn_artifact.0030 — Coppermind fragment. Fires for Feruchemist characters. Discover a lost coppermind from a dead Keeper. Grants a temporary learning bonus and reveals a fragment of lost knowledge (random flavor text about a dead religion or forgotten art).
    • mistborn_artifact.0040 — Artifact degradation. Metalminds can be "tapped out" — Feruchemists who use their metalminds extensively may drain them. Yearly pulse for Feruchemists with metalminds: 5% chance the metalmind needs recharging (temporary stat loss, restored after 1 year of "storing").
  4. Add localization for all new artifacts, discovery events, and descriptions.

Files:

  • common/artifacts/types/00_mistborn_artifact_types.txt — modify (add ~20 types)
  • events/artifact_events.txt — create
  • localization/english/mistborn_artifacts_l_english.yml — modify (major expansion)
  • common/on_action/mistborn_on_actions.txt — modify (yearly pulse hooks for discovery)
  • localization/english/mistborn_events_l_english.yml — modify

References:

  • M3 artifact foundation: common/artifacts/types/00_mistborn_artifact_types.txt (9 base types defined in M3)
  • Lerasium: docs/lore/mistborn-universe.md — "Lerasium is Preservation's god-metal; consuming it makes anyone a Mistborn"
  • Alendi's logbook: central plot device in the books, reveals Lord Ruler's true identity
  • Terris prophecy: the original Hero of Ages prophecy was altered by the Lord Ruler to consolidate power
  • Metalminds: each Feruchemical metal stores a different attribute (iron=weight, steel=speed, tin=senses, pewter=strength, copper=memories, bronze=wakefulness, zinc=mental speed, brass=warmth, gold=health, atium=age)

7.11 -- Activities: Mistborn-Specific Activities

Context: M4 established the activity framework with rethemed vanilla activities and the full noble ball. This task group adds activities unique to the Mistborn world — activities that couldn't exist in any other setting and that give players deep, lore-rich interactive experiences.

Steps:

  1. Atium Auction (atium_auction_activity): A multi-day gathering where Great Houses bid for the exclusive atium contract — the right to purchase atium from the Lord Ruler's Pits of Hathsin. The most politically charged event in the Final Empire.

    Phases:

    • Assembly: Houses arrive at Kredik Shaw (or the host's keep). Each house's financial strength and political standing is assessed. Lord Ruler attention check — hosting or attending draws scrutiny.
    • Opening Bids: Each house places an initial bid (gold + prestige). AI houses bid based on wealth and ambition trait.
    • Political Maneuvering: Between rounds. Bribe, threaten, or ally with other houses to drop out. Soothers/Rioters get manipulation options. False information events (claim another house is about to default).
    • Final Bid: Highest combined gold + prestige wins. Winner receives atium_contract_holder modifier for 10 years (massive prestige + gold income). Losers gain rivalry or respect depending on how they lost.
    • Aftermath: The Lord Ruler's obligators witness and record the contract. Attention adjustments based on behavior during the auction.

    Files: common/activities/atium_auction_activity.txt, events/atium_auction_events.txt

  2. Crew Heist (crew_heist_activity): For Underground lifestyle characters. Plan and execute a heist against a noble house, the Steel Ministry, or even the Lord Ruler's vaults. Multi-phase activity requiring crew members with specific Allomantic skills.

    Phases:

    • Planning: Select target (noble keep, Ministry canton, merchant warehouse). Assign crew roles: lookout (Tineye), distraction (Soother/ Rioter), entry (Coinshot/Lurcher), muscle (Thug/Mistborn), escape driver (Smoker for Allomantic concealment). Each role gets a skill check; missing a role type reduces success chance.
    • Infiltration: Stealth phase. Smoker conceals the crew. Tineye scouts ahead. Events: guard patrol (avoid or neutralize), locked door (Lurcher pulls the lock, Coinshot pushes through), alarm system (Seeker detects it, Smoker masks it).
    • The Score: The actual theft. What they find depends on the target: gold, atium, secrets (documents), or an artifact. Coinshots and Lurchers manipulate metal objects. Thugs handle resistance.
    • Escape: Things go wrong (weighted random). Inquisitor arrives (worst case — fight or flee). Guards mobilize (Smoker concealment check). Clean getaway (best case — skill check passed). Failure = crew members may be captured or killed, Lord Ruler attention +15-25.
    • Aftermath: Divide the spoils. Crew loyalty events. If successful, gain gold/artifacts/secrets + prestige among the underground. If failed, deal with consequences.

    Crew roles synergize with M5's band system — crew members' Allomantic traits determine available options.

    Files: common/activities/crew_heist_activity.txt, events/heist_events.txt

  3. Steel Inquisitor Tribunal (inquisitor_tribunal_activity): An Inquisitor arrives to hold court. Characters in the region are called to answer for suspected heresy, unauthorized Allomancy, or defiance of the Lord Ruler. A tense, threatening activity that no one wants to attend but no one can refuse.

    Phases:

    • Summons: The Inquisitor sends word. All rulers in the duchy must attend (refusal = immediate attention +20). Characters prepare: hide evidence (intrigue check), prepare bribes, or steel themselves.
    • Testimony: Characters are questioned one by one. The Inquisitor uses Bronze (Seeking) to detect Allomancy in the room. Smokers can mask themselves. Characters without Allomancy are safe but may still be accused based on other evidence. Dialogue options: honest answers (risky if hiding something), careful deflection (diplomacy check), brazen lies (intrigue check with high stakes).
    • Judgment: The Inquisitor delivers verdicts. Possible outcomes per character: cleared (attention -5), warned (attention +5), condemned (imprisoned, attention -10 for cooperating). Condemned characters can attempt escape (prowess check, Mistborn get massive bonus).
    • Aftermath: The Inquisitor departs. Community reactions. Characters who were cleared gain prestige. Characters who helped condemn others gain Ministry favor but lose peer opinion. Characters who escaped become fugitives.

    Files: common/activities/inquisitor_tribunal_activity.txt, events/tribunal_events.txt

  4. Mistborn Night Raid (mistborn_night_raid_activity): A full multi-phase activity for a Mistborn-led nighttime assault on a rival keep. The player commands their Allomancers through a tactical operation in the mists.

    Phases:

    • Scouting: Tineyes enhance senses to map the target. Seekers detect enemy Allomancers inside. Smokers set up a copper cloud perimeter. Player chooses approach: rooftop (requires Coinshot/Lurcher for movement), underground (requires knowledge of tunnels), direct assault (requires Thugs/Mistborn).
    • Infiltration: Move through the keep. Metal-specific options at each obstacle: Coinshot pushes guards off walls, Lurcher pulls weapons away, Soother calms a panicked servant, Rioter enrages guards into fighting each other. Each choice has a skill check with Allomantic trait bonuses.
    • Combat: Encounter the target's Allomancers. Full duel event (ties into M7.3 Mistborn Duels). Hazekiller squads respond. Mistborn vs Mistborn if the target has one. Atium burning for combat advantage (if player has atium reserve).
    • Objective: Reach the goal: assassinate a target, steal an artifact, plant evidence, rescue a prisoner, or destroy infrastructure. Each objective type has unique events.
    • Extraction: Escape the keep. Coinshot launches off metal rooftops. Lurcher pulls allies out. Smoker masks the retreat. Failure = captured, some crew may die. Success = clean escape, mission complete.

    Requirements: character must be Mistborn or leading a crew with 3+ Allomancers. Activity host must have Underground or Metallic Arts lifestyle.

    Files: common/activities/mistborn_night_raid_activity.txt, events/night_raid_events.txt

  5. Skaa Underground Rally (skaa_rally_activity): A secret gathering of skaa rebels to build morale, recruit fighters, and plan uprisings. High risk of informant betrayal and Inquisitor raid.

    Phases:

    • Assembly: Send coded messages to cells across the dominance. Each cell sends representatives. Smokers conceal the gathering's Allomantic signature. Intrigue check to avoid informants.
    • Speeches: Rebel leaders address the crowd. Rioters amplify emotions (bonus to morale gain). Soothers calm the fearful. Player chooses tone: fiery revolution (martial bonus, attention risk), careful planning (intrigue bonus, safer), religious fervor (piety bonus, Survivorism spread).
    • Recruitment: New fighters volunteer. Numbers depend on speech success, local conditions, and Lord Ruler attention level. High attention = fewer volunteers (everyone's scared).
    • Betrayal Check: Weighted random based on intrigue and Smoker presence. If betrayed: Inquisitor raid event. Scramble to escape. Some recruits captured. Attention +20. If safe: gathering concludes successfully.
    • Aftermath: Morale boost to skaa rebellion strength. New contacts established. If betrayed, damage control and desire for revenge.

    Synergizes with M6 Skaa Army arc (successful rallies increase hidden army strength).

    Files: common/activities/skaa_rally_activity.txt, events/skaa_rally_events.txt

  6. Pits of Hathsin Expedition (pits_expedition_activity): Send a team into the Pits of Hathsin to mine atium. An extremely dangerous multi-phase activity — the Pits are a death trap where skaa prisoners work until they die. Sending your own people (or going yourself) is desperate but potentially lucrative.

    Phases:

    • Preparation: Assemble an expedition team. Choose: send expendable servants (cheap, low yield, high death rate), send trained miners (gold cost, medium yield), go personally (risky but highest yield, prowess checks).
    • Descent: Navigate the crystal caverns. Events: cave-in (martial check to survive), toxic gas (health check), crystal maze (learning check to navigate). Feruchemists can store/tap attributes to survive hazards. Allomancers can burn tin to see in the dark, burn pewter to endure.
    • Mining: Search for atium geodes. Each geode is a random find — some contain atium, most are empty. A Seeker can detect atium traces. Time pressure: each additional round in the mines increases danger.
    • Escape: Getting out alive. More events: the crystal formations shift, passages collapse, guards may detect unauthorized miners (if you don't control the Pits). Kelsier is the only known person to escape the Pits canonically — doing so should be legendary.
    • Aftermath: Count the haul. Atium gained as modifier or artifact. Dead team members mourned. If player survived personally: gain pits_survivor modifier (+3 prowess, +5 dread — "Survivor of Hathsin").

    Files: common/activities/pits_expedition_activity.txt, events/pits_expedition_events.txt

  7. Terris Synod Gathering (terris_synod_activity): A secret convening of Terris Keepers (Feruchemists who preserve forbidden knowledge). The Lord Ruler suppressed the Keepers and outlawed Feruchemy — these gatherings must happen in absolute secrecy. This activity ties Feruchemy deeply into the game's social fabric.

    Phases:

    • Summoning: Send coded messages to Keepers across the Terris Dominance. Copper-based (coppermind) communication — each Keeper stores the meeting location in a coppermind and destroys the written message. Smokers set up concealment. Discovery check against Lord Ruler attention level.
    • Knowledge Sharing: Keepers share coppermind contents. Events:
      • Discover a lost religion (learning + piety bonus, Sazed-flavored)
      • Recover a lost language (diplomacy bonus)
      • Uncover historical truth about the Lord Ruler (intrigue bonus, possible knows_lord_ruler_origins flag)
      • Rediscover a lost craft or technology (stewardship bonus, province modifier)
    • Metalwork Session: Communal Feruchemical practice. Keepers help each other craft metalminds (artifact creation opportunity). Feruchemical training for younger Keepers (education-style events). Meditation and attribute storage.
    • Prophecy Discussion: Debate the Hero of Ages prophecy. Different interpretations presented. Player choices influence their character's theological understanding. May reveal that the prophecy has been altered (prerequisite for endgame).
    • Discovery Risk: Throughout the activity, periodic checks for discovery. If discovered: Steel Inquisitors arrive. Keepers scatter. Some captured (Hemalurgic spikes — stolen Feruchemy). Player must choose: fight (risky), flee (abandon captured Keepers), surrender (devastating but some Keepers survive via arrangement). This is the Terris people's great fear.

    Requirements: character must be Terris culture or have trait_feruchemist. Synergizes with Scholarship lifestyle Keeper's Path focus.

    Files: common/activities/terris_synod_activity.txt, events/terris_synod_events.txt

  8. Allomantic Exhibition (allomantic_exhibition_activity): Noble houses show off their Allomancers in controlled demonstrations — part sport, part intimidation, part spectacle. Houses bring their strongest Mistings and Mistborn to demonstrate power.

    Phases:

    • Gathering: Houses bring their Allomancers. Each house's "team" is evaluated: number of Allomancers, types, strength tiers.
    • Demonstrations: Each metal type gets a showcase round:
      • Coinshots: accuracy competition (hitting targets at distance)
      • Lurchers: strength competition (pulling heavy objects)
      • Thugs: endurance competition (pewter-enhanced feats)
      • Tineyes: perception competition (detecting hidden objects)
      • Soothers/Rioters: emotional manipulation exhibition (subtle and unsettling)
      • Smokers: concealment demonstration (judges try to detect them)
      • Seekers: detection demonstration (finding hidden Allomancers)
      • Mistborn: grand finale (all-metal display)
    • Judgment: Winning house gains prestige and opinion. Individual standouts may attract recruitment offers, romantic interest, or Lord Ruler attention (too powerful = threatening).
    • Aftermath: Reputation effects. Some houses gain renowned_allomancers modifier. Losing houses may seek to recruit or steal Allomancers from the winner.

    This is the Mistborn equivalent of a tournament — a display of martial prowess through metallic arts rather than swords and lances.

    Files: common/activities/allomantic_exhibition_activity.txt, events/exhibition_events.txt

Files (all new):

  • common/activities/atium_auction_activity.txt
  • common/activities/crew_heist_activity.txt
  • common/activities/inquisitor_tribunal_activity.txt
  • common/activities/mistborn_night_raid_activity.txt
  • common/activities/skaa_rally_activity.txt
  • common/activities/pits_expedition_activity.txt
  • common/activities/terris_synod_activity.txt
  • common/activities/allomantic_exhibition_activity.txt
  • events/atium_auction_events.txt
  • events/heist_events.txt
  • events/tribunal_events.txt
  • events/night_raid_events.txt
  • events/skaa_rally_events.txt
  • events/pits_expedition_events.txt
  • events/terris_synod_events.txt
  • events/exhibition_events.txt
  • localization/english/mistborn_activities_l_english.yml — expand

References:

  • Noble ball activity (M4 task 4.7): establishes the activity framework pattern
  • Crew band system (M5): heist and night raid crew roles use band members
  • Underground lifestyle (M4 task 4.6): heist/rally synergize with perks
  • Metallic Arts lifestyle: exhibition synergizes with Allomantic Mastery focus
  • Scholarship lifestyle: synod synergizes with Keeper's Path focus
  • Atium economy (M7 task 7.6): auction is the primary atium distribution event
  • Lord Ruler attention system: every activity has attention implications
  • Lore: docs/lore/mistborn-universe.md — Pits of Hathsin, Terris Keepers, noble ball culture, Steel Inquisitors, Allomantic combat

7.12 -- Scripted Infrastructure and On-Action Hooks

Context: All the new events need proper on_action hooks, scripted triggers for gating, and consistent integration with the existing Lord Ruler attention system. This task ties everything together.

Steps:

  1. Update common/scripted_triggers/mistborn_triggers.txt with all new triggers from this milestone:
    • understands_compounding_trigger (from 7.7)
    • can_challenge_lord_ruler_trigger (from 7.7)
    • is_narrative_mode_trigger — has_game_rule = narrative_mode (game rule defined in M1)
    • has_kandra_contract_trigger — has_character_flag = kandra_infiltrating
    • is_compounder_trigger — has_modifier = compounder_modifier
    • has_endgame_prerequisites_trigger — combines rebellion won, Lord Ruler weakened, and crew assembled checks
  2. Update common/scripted_effects/mistborn_effects.txt with all new effects from this milestone:
    • strip_lord_ruler_immortality_effect (from 7.7)
    • collapse_final_empire_effect (from 7.7)
    • start_kredik_shaw_assault_effect (from 7.7)
  3. Update common/on_action/mistborn_on_actions.txt to hook all new event files into the game loop:
    • on_yearly_pulse: atmosphere events (ash, mists, flower), atium generation/depletion, lore events (plantation, koloss, Inquisitor, journal), obligator oversight, skaa mistress discovery check, attention gain/decay (existing)
    • on_birthday: snapping events (existing), mist snapping variant
    • on_war_started: duel challenge events when Allomancers are on opposing sides
    • on_death: martyrdom check (from M6), Inquisitor death triggers terror reduction
    • Weight multipliers should be carefully tuned: atmosphere events should fire regularly (weight 0.2-0.5), lore events less often (weight 0.05-0.15), rare events very infrequently (weight 0.01-0.03)
  4. Ensure all Narrative Mode events have a trigger block checking is_narrative_mode_trigger = yes (or the game rule directly). Sandbox Mode players should still get the mechanical systems (raids, duels, atium economy) but not the scripted story beats (Vin vs Shan, Fall of Kredik Shaw narrative variant, epilogue).
  5. Review all new events for proper Lord Ruler attention integration. Every event that involves defiance, public Allomancy, or rule-breaking should include appropriate attention changes.

Files:

  • common/scripted_triggers/mistborn_triggers.txt -- modify
  • common/scripted_effects/mistborn_effects.txt -- modify
  • common/on_action/mistborn_on_actions.txt -- modify

References:

  • Existing on_action hooks: common/on_action/mistborn_on_actions.txt
  • Existing triggers: common/scripted_triggers/mistborn_triggers.txt:1-134
  • Existing effects: common/scripted_effects/mistborn_effects.txt:1-189
  • Game rule pattern: see M1 game rules implementation

Testing Checkpoints

  • After 7.1 (Raids): Boot test. Start as a noble house. Take the raid decision. Verify raid events fire, gold/prestige/control changes apply, Lord Ruler attention increases on failure. Verify AI uses raids. Check error.log.

  • After 7.2 (Eleventh Metal): Use console: add_trait trait_mistborn then event mistborn_eleventh_metal.0001. Verify the full chain fires through discovery. Verify eleventh_metal_insight modifier appears on character sheet.

  • After 7.3 (Duels): Use console to give two characters Allomantic traits. Trigger a duel via decision. Verify metal-specific options appear. Verify wound/death outcomes work. Test Inquisitor variant.

  • After 7.4 (Ball Assassination): Host a ball 10+ times (or force the assassination flag). Verify assassination event chain fires. Test with Mistborn player character -- verify combat options appear. Verify political fallout event fires afterward.

  • After 7.5 (Political Intrigue): Test each sub-arc independently:

    • False flag: verify two target houses gain rivalry on success
    • Atium auction: verify periodic firing, bid system, modifier application
    • Obligator oversight: verify attention changes
    • Skaa mistress: verify child generation, discovery chain
  • After 7.6 (Atium Economy): Hold c_pits_of_hathsin for 10 years. Verify yearly atium harvest fires. Verify depletion for non-holders. Verify atium-burning combat advantage in duels. Check error.log.

  • After 7.7 (Endgame): Full endgame test. Give player character all prerequisites (Mistborn, Feruchemist, understands Compounding, has Eleventh Metal). Take the assault decision. Play through all 8 events. Verify Lord Ruler dies. Verify empire collapses. Verify all kingdom titles become independent. Verify hero_of_ages modifier. This is the most critical test in the entire mod.

  • After 7.8-7.9 (Atmosphere + Lore): Run observer mode for 20 years. Check error.log for any event errors. Verify atmosphere events fire at reasonable frequency (ash should be common, flower should be rare). Verify lore events fire for appropriate character types. Check no event spam.

  • After 7.10 (Artifacts): Check artifact types load. Use console to spawn a lerasium bead — verify consuming it grants Mistborn trait and destroys the artifact. Verify Alendi's logbook adds knows_lord_ruler_origins flag. Play 10 years and verify artifact discovery events fire at reasonable rates. Verify metalmind tapping/recharging events work for Feruchemists. Check lore-extrapolated artifacts (house seal ring, tin spectacles, thieving crew toolkit) have correct equip restrictions and stat bonuses.

  • After 7.11 (Activities): Test each new activity:

    • Atium Auction: host one, verify bidding phases, verify winner gets contract modifier
    • Crew Heist: execute a heist, verify crew role assignment by Allomantic trait, verify success/failure outcomes
    • Inquisitor Tribunal: trigger one, verify testimony phase with Seeker/Smoker interactions, verify judgment outcomes
    • Mistborn Night Raid: run one as a Mistborn, verify metal-specific options at each phase
    • Skaa Rally: host one, verify recruitment numbers, verify betrayal check
    • Pits Expedition: send a team, verify mining phases and danger events
    • Terris Synod: host one as a Keeper, verify knowledge sharing events and discovery risk
    • Allomantic Exhibition: host one, verify per-metal demonstration rounds
  • After 7.12 (Integration): Full playthrough test: start as Kelsier (Narrative Mode), play through M6 story arcs, then M7 extended arcs, through to the Fall of Kredik Shaw. Verify game rule gating works (Narrative events don't fire in Sandbox). Verify attention system is coherent across all new events. 20-year playthrough with no crashes.

Acceptance Criteria

  • All 13+ event arcs from docs/bookmarks/the end of an empire/events.md are implemented as CK3 events with full localization
  • The Fall of Kredik Shaw endgame chain fires correctly and results in the Lord Ruler's death and empire collapse
  • Atium economy system generates, depletes, trades, and provides combat advantages as designed
  • Mistborn duels provide metal-specific tactical options based on character traits
  • Ball assassination variant fires and reveals hidden Allomantic status
  • All 4 political intrigue sub-arcs (false flag, atium auction, obligator, skaa mistress) function independently
  • Atmosphere events fire at appropriate frequencies on yearly pulse without event spam
  • Lore events fire for appropriate character types (Feruchemists get coppermind events, Terris characters get breeding program events, etc.)
  • All events respect the Narrative Mode / Sandbox Mode game rule gate
  • Lord Ruler attention system is coherent across all new events (every defiant act increases attention, every submission decreases it)
  • error.log shows no errors from M7 content after a 20-year playthrough
  • ~20 additional artifact types defined and functional (lerasium, Alendi's logbook, lord_ruler_metal_plates, house seals, obligator contracts, individual metalminds, ministry items, skaa underground items, Terris artifacts)
  • Lerasium bead consumption transforms any character into a Mistborn and destroys the artifact
  • Artifact discovery events fire at appropriate rates via yearly pulse
  • Metalmind tapping/recharging cycle works for Feruchemist characters
  • 8 new Mistborn-specific activities functional: Atium Auction, Crew Heist, Inquisitor Tribunal, Mistborn Night Raid, Skaa Underground Rally, Pits of Hathsin Expedition, Terris Synod Gathering, Allomantic Exhibition
  • Each activity has multi-phase structure with metal-specific interactions
  • Activity crew roles use band members' Allomantic traits (heist, night raid)
  • All new modifiers, triggers, and effects are properly defined and referenced
  • Localization is complete for all new content (estimated 400-600 new localization keys)
  • A complete Narrative Mode playthrough from crew assembly through Fall of Kredik Shaw is possible

Risks & Mitigations

  1. Event spam from atmosphere events. Too many atmosphere events firing per year will annoy players. Mitigation: Use low weight multipliers (0.01-0.05 for rare events, 0.2 max for common ones). Add cooldown flags (e.g., recent_ashfall for 1 year). Test in observer mode and tune frequencies.

  2. Endgame difficulty balancing. The Fall of Kredik Shaw must be hard but not impossible. If prowess checks are too strict, no one can complete it; too lenient and it feels trivial. Mitigation: Provide multiple paths to improve odds (Eleventh Metal, duel experience, crew allies). Test with characters at different power levels. The Narrative Mode Vin should have ~70% success rate; Sandbox characters should need significant preparation.

  3. Lord Ruler attention overflow. With ~30 new events that can increase attention, characters may hit 100 too quickly. Mitigation: Tune attention gains carefully. Most events should add 3-10 attention. Only major acts (endgame, atium theft, public defiance) should add 15+. Test cumulative attention over 10-year periods.

  4. Performance from yearly pulse events. Running 20+ event checks per year for every ruler could slow the game. Mitigation: Gate events behind appropriate triggers (e.g., atium events only for county+ holders, breeding program only for rulers with Terris courtiers). Use hidden events for checks that don't need player interaction.

  5. Narrative Mode dependency chain. The endgame requires specific M6 events to have fired correctly. If a player skips or fails an earlier arc, they may be locked out. Mitigation: Provide Sandbox Mode path to endgame that doesn't depend on narrative flags. Add fallback triggers for Narrative Mode that fire missed prerequisites.

Open Questions

  1. Duel integration with CK3 combat system. Should Mistborn duels replace or supplement the vanilla duel system? If they supplement, how do we prevent vanilla duels from firing between Allomancers? Consider overriding on_combat_end or the vanilla duel event files.

  2. Atium as a real resource vs. modifier. The current design uses modifiers and flags. Should atium be tracked as a custom resource (script value) for more precise economy modeling? This would be more complex but more accurate.

  3. Endgame replayability. Once the Lord Ruler falls, is the game "over"? Should there be post-endgame content (Well of Ascension setup, koloss invasions, inter-house civil war)? For now, the epilogue event provides closure, but this could be expanded in a future milestone.

  4. Ball assassination frequency. At 10% per ball, assassinations may feel too common or too rare. This needs playtesting. Consider making it 5% base with modifiers for rivalry and Narrative Mode.

  5. Koloss MaA interaction with lore events. Task 7.9 introduces koloss army lore events. If M2's MaA balance changed koloss stats significantly, the lore events may need adjustment. Verify MaA definitions before finalizing koloss event effects.