Point M3 (tasks 3.1, 3.3, 3.4), M5 (task 5.3), and M6 (task 6.1) to the new character lore profiles in docs/bookmarks/the end of an empire/characters/. Add design docs section to MASTERPLAN current state noting the 19 character profiles and index exist. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
93 KiB
M3: The Final Empire
Canonical characters populate the world. The Lord Ruler looms over everything.
Prerequisites
- M1: Foundation must be complete -- province history files exist, comment syntax fixed, modifier definitions present, game rule infrastructure exists, vanilla decision suppression in place, mod boots cleanly.
- M2: The Metallic Arts must be complete -- all Allomancy/Feruchemy/Hemalurgy traits validated, snapping event chain complete, men-at-arms balanced, stub events filled in, Sandbox "Discover Your Metallic Arts" decision working.
- The outputs from M1/M2 that M3 directly depends on:
common/traits/-- all 6 trait files with finalized trait IDs and stat blockscommon/modifiers/00_mistborn_modifiers.txt--compounder_modifier,steel_inquisitor_power,lord_ruler_attention_1/2/3all definedcommon/game_rules/-- Narrative vs Sandbox toggle definedhistory/provinces/-- province history files assigning culture/religioncommon/scripted_triggers/mistborn_triggers.txt-- all triggers validatedcommon/scripted_effects/mistborn_effects.txt--create_steel_inquisitor_effectworking
Current State
The codebase has placeholder characters and structure but needs canonical Mistborn figures and several new systems.
Characters (history/characters/00_mistborn_characters.txt):
- 30 placeholder characters across 10 dynasties. None are canonical Mistborn characters (no Kelsier, Vin, Elend, Sazed, Lord Ruler, etc.).
- Character IDs start at 900001. ID space 900001-900099 is used.
- Terris stewards are incorrectly assigned to noble house dynasties (e.g.,
Telden =
dynasty_venture). Noted in REVIEW_NOTES.txt NOTE-04. - A placeholder named "Kwaan" reuses a canonical historical name (NOTE-05).
Titles (history/titles/00_mistborn_titles.txt):
- All kingdom/duchy/county titles assigned to placeholder characters.
e_final_empirehas no holder (NOTE-03 in REVIEW_NOTES.txt).
Religions (common/religion/religions/00_scadrial_religions.txt):
- 4 religions defined:
steel_ministry_religion,terris_religion,survivorist_religion,ruin_religion. - Steel Ministry uses
doctrine_no_head-- needs to change to spiritual head for the Lord Ruler. - Terris/Survivorism/Cult of Ruin all use
doctrine_no_head.
Dynasties (common/dynasties/00_mistborn_dynasties.txt):
- 10 dynasties defined (5 Tier 1, 5 Tier 2). No Terris dynasty exists.
- No dynasty for the Lord Ruler or Kelsier's crew.
Cultures (common/culture/cultures/00_scadrial_cultures.txt):
- 3 cultures defined:
noble_scadrian,skaa,terris. - All reference TODO name lists that do not exist yet.
Landed Titles (common/landed_titles/00_landed_titles.txt):
- Full title hierarchy from empire to barony. Baronies reference vanilla province IDs (Swiss/Swabian/Burgundy/Lombard region).
- Special baronies exist:
b_kredik_shaw,b_conventical_of_seran,b_pits_of_hathsin-- but no special building slots defined.
Holy Sites (common/religion/holy_sites/00_holy_sites.txt):
- 5 holy sites defined: Luthadel, Pits of Hathsin, Conventical of Seran, Tathingdwen, Urteau. Each references a barony.
Traits -- trait_kandra does not exist. trait_knows_hemalurgy was added
in a previous fix pass but no trait_kandra for kandra characters.
Buildings -- common/buildings/ directory does not exist.
Name lists -- common/culture/name_lists/ directory does not exist.
Implementation Tasks
3.1 -- Create the Lord Ruler Character
Context: The Lord Ruler is the central figure of the setting. He must exist
as an immortal character, hold e_final_empire, and serve as the religious head
of the Steel Ministry. He is not playable. This is the single most important
task in M3 -- many other tasks depend on it.
Steps:
-
Add the Lord Ruler character definition to
history/characters/00_mistborn_characters.txtusing ID900100. Use birth date0.1.1(born at the start of the calendar -- he is ~1020 years old). Assigndynasty = dynasty_rashek(new dynasty, see step 4). Setreligion = "steel_ministry",culture = "terris"(he was originally Terris per lore). Assign traits:trait_mistborn,trait_feruchemist,trait_allomantic_strength_strong,brave,callous,ambitious,paranoid,education_martial_4. Add thecompounder_modifiervia the character history block at game start date1020.1.1. -
Make the Lord Ruler effectively immortal. In CK3, use the
healthtrait approach: sethealth = 10in his character definition (extremely high base health). Thecompounder_modifieralready grantshealth = 3. Together these ensure he will not die naturally. Additionally, add a scripted triggeris_lord_ruler_triggertocommon/scripted_triggers/mistborn_triggers.txt:is_lord_ruler_trigger = { this = character:900100 } -
Assign the Lord Ruler as holder of
e_final_empireinhistory/titles/00_mistborn_titles.txt:e_final_empire = { 1020.1.1 = { holder = 900100 } }Also make all
k_*titles (kingdoms/dominances) de jure undere_final_empireand the Lord Ruler their liege. The kingdom holders should be vassals, not independent. -
Create
dynasty_rashekincommon/dynasties/00_mistborn_dynasties.txt:dynasty_rashek = { name = "dynn_Rashek" culture = terris }And
house_rashekincommon/dynasty_houses/00_mistborn_houses.txt:house_rashek = { name = "dynn_house_Rashek" dynasty = dynasty_rashek }Add localization in
localization/english/mistborn_dynasties_l_english.yml:dynn_Rashek:0 "Rashek" dynn_house_Rashek:0 "House Rashek" -
Prevent the Lord Ruler from being playable. Add to
common/scripted_triggers/mistborn_triggers.txt:is_playable_scadrian_trigger = { NOT = { is_lord_ruler_trigger = yes } }In a game rule or via the
is_shownblock of the bookmark definition, ensure the Lord Ruler cannot be selected. If CK3 1.18 supportscan_be_played = { }in the character history, use that. Otherwise, rely on not listing him in any bookmark. -
Add a game-start on_action effect in
common/on_action/mistborn_on_actions.txtthat gives the Lord Ruler thecompounder_modifier(permanent, no expiry):# Inside on_game_start effect block: character:900100 = { if = { limit = { NOT = { has_modifier = compounder_modifier } } add_character_modifier = { modifier = compounder_modifier } } }
Files:
history/characters/00_mistborn_characters.txt-- modify (add Lord Ruler)history/titles/00_mistborn_titles.txt-- modify (assign e_final_empire)common/dynasties/00_mistborn_dynasties.txt-- modify (add dynasty_rashek)common/dynasty_houses/00_mistborn_houses.txt-- modify (add house_rashek)common/scripted_triggers/mistborn_triggers.txt-- modify (add triggers)common/on_action/mistborn_on_actions.txt-- modify (add game-start effect)localization/english/mistborn_dynasties_l_english.yml-- modify
References:
- Character lore:
docs/bookmarks/the end of an empire/characters/lord-ruler.md-- personality, traits, CK3 implementation notes - Lore:
docs/lore/mistborn-universe.md-- Lord Ruler's Compounding, immortality - Existing character pattern:
history/characters/00_mistborn_characters.txt:13-28 - Existing dynasty pattern:
common/dynasties/00_mistborn_dynasties.txt:10-13 - Existing on_action pattern:
common/on_action/mistborn_on_actions.txt:97-110
3.2 -- Set Lord Ruler as Steel Ministry Religious Head
Context: The Lord Ruler is worshipped as the "Sliver of Infinity" -- the living god of the Steel Ministry. CK3's religious head system lets us make him the spiritual head, which grants him special interactions and makes the religion feel alive.
Steps:
-
In
common/religion/religions/00_scadrial_religions.txt, changesteel_ministry_religionfromdoctrine_no_headtodoctrine_spiritual_head. This tells CK3 the faith has a religious head. -
In the
steel_ministryfaith block (insidesteel_ministry_religion), add thereligious_headfield pointing to a title. Create a new religious titled_steel_ministry_headto serve as the religious head title. The Lord Ruler will hold this title. -
Define the religious head title in
common/landed_titles/00_landed_titles.txt. Add it outside thee_final_empireblock (religious titles are independent):d_steel_ministry_head = { color = { 60 60 60 } color2 = { 200 200 200 } capital = c_luthadel can_create = { always = no } can_be_named_after_dynasty = no de_jure_drift_disabled = yes } -
Assign the Lord Ruler as holder of
d_steel_ministry_headinhistory/titles/00_mistborn_titles.txt:d_steel_ministry_head = { 1020.1.1 = { holder = 900100 } } -
In the
steel_ministryfaith definition, set:religious_head = d_steel_ministry_head -
Add localization for the religious head title in
localization/english/mistborn_titles_l_english.yml:d_steel_ministry_head:0 "Sliver of Infinity" d_steel_ministry_head_adj:0 "Holy" -
Add localization for the Lord Ruler character in
localization/english/mistborn_religions_l_english.ymlor a new characters localization file. The Lord Ruler's name should display as "The Lord Ruler" (use CK3 character naming or a nickname override).
Files:
common/religion/religions/00_scadrial_religions.txt-- modifycommon/landed_titles/00_landed_titles.txt-- modify (add religious title)history/titles/00_mistborn_titles.txt-- modify (assign religious head)localization/english/mistborn_titles_l_english.yml-- modifylocalization/english/mistborn_religions_l_english.yml-- modify
References:
- CK3 religious head system: vanilla
common/religion/religions/for examples ofdoctrine_spiritual_headusage (e.g., Catholic papacy) - Existing religion file:
common/religion/religions/00_scadrial_religions.txt:1-45 - Existing title pattern:
common/landed_titles/00_landed_titles.txt:5-15
3.3 -- Create Canonical Characters (Kelsier's Crew)
Context: The core cast of Mistborn: The Final Empire must exist as starting characters. Kelsier's crew are the protagonists. Most are unlanded skaa or low-status characters. In M3 they exist as characters in the world; in M5 they will be organized into an adventurer band.
Steps:
-
Add the following characters to
history/characters/00_mistborn_characters.txtusing IDs 900200-900299 (new range for canonical characters). For each character, set birth date to make them the correct age at game start 1020.1.1. Referencedocs/lore/mistborn-universe.mdfor trait assignments.ID Name Culture Religion Traits Birth Notes 900200 Kelsier skaa survivorism trait_mistborn, brave, ambitious, scarred (use wounded_1) 982.1.1 ~38 at game start 900201 Vin skaa steel_ministry trait_mistborn_potential, paranoid, shy, diligent 1004.1.1 ~16 at start, pre-snap 900202 Sazed terris terris_worldbringers trait_feruchemist, just, temperate, education_learning_4 985.1.1 ~35, Keeper 900203 Breeze noble_scadrian steel_ministry trait_misting_soother, arrogant, gregarious, education_diplomacy_3 980.1.1 ~40, noble-born 900204 Ham skaa steel_ministry trait_misting_thug, brave, just, education_martial_3 983.1.1 ~37, philosophical soldier 900205 Clubs skaa steel_ministry trait_misting_smoker, cynical, patient, education_intrigue_3 968.1.1 ~52, veteran 900206 Dockson skaa steel_ministry diligent, patient, education_stewardship_3 981.1.1 ~39, no Allomancy 900207 Marsh skaa steel_ministry trait_misting_seeker, zealous, brave, education_learning_3 978.1.1 ~42, Kelsier's brother 900208 Yeden skaa survivorism craven, zealous, education_martial_1 985.1.1 ~35, rebel leader 900209 OreSeur noble_scadrian steel_ministry trait_kandra, deceitful, patient, education_intrigue_3 500.1.1 ~520, kandra (see 3.7) -
Set family relationships: Marsh is Kelsier's brother -- give them the same father (create a deceased father character ID 900210):
900210 = { name = "Unknown" culture = "skaa" religion = "steel_ministry" male = yes 960.1.1 = { birth = "960.1.1" } 975.1.1 = { death = "975.1.1" } }Then set
father = 900210for both Kelsier (900200) and Marsh (900207). -
For Vin, create a deceased mother (ID 900211) who was skaa with
trait_allomantic_potential(to justify Vin's Mistborn potential via inheritance):900211 = { name = "Vin's Mother" culture = "skaa" religion = "steel_ministry" female = yes trait = trait_allomantic_potential 970.1.1 = { birth = "970.1.1" } 1006.1.1 = { death = "1006.1.1" } }Set
mother = 900211for Vin. -
Add Kelsier's scars from the Pits of Hathsin. Use vanilla trait
scarredorwounded_1to represent his arm scars. Ifscarredis not a vanilla CK3 trait, usewounded_1plus a custom character flagpits_survivor:1020.1.1 = { add_character_flag = pits_survivor } -
Ensure Marsh does NOT yet have Steel Inquisitor traits at game start (he becomes one during the story). He starts as a Seeker working undercover in the Steel Ministry.
Files:
history/characters/00_mistborn_characters.txt-- modify (add ~12 new characters)localization/english/mistborn_characters_l_english.yml-- create (character names)
References:
- Character lore:
docs/bookmarks/the end of an empire/characters/-- individual profiles with traits, personality, and CK3 notes for all crew members (kelsier.md, vin.md, sazed.md, breeze.md, ham.md, clubs.md, dockson.md, marsh.md, yeden.md, oreseur.md) - Character index:
docs/bookmarks/the end of an empire/characters/INDEX.md-- full cast list, relationship glossary, and implementation priority - Lore:
docs/lore/mistborn-universe.md-- character roles and abilities - Lore:
docs/bookmarks/the end of an empire/events.md-- crew composition - Existing character pattern:
history/characters/00_mistborn_characters.txt:13-28 - MASTERPLAN.md M3 scope: character list with trait assignments
3.4 -- Create Canonical Characters (Noble Houses and Inquisitors)
Context: The Great Houses need canonical heads (Straff Venture, Shan Elariel) and the Steel Inquisitors must exist as terrifying enforcers. Placeholder characters should be replaced or repurposed.
Steps:
-
Replace/rename key placeholder characters to canonical ones. The following placeholder-to-canonical mapping replaces existing character IDs:
House Venture -- Replace
Devinshae Venture(900001) with Straff Venture. Straff is a Tineye, ruthless patriarch. Change:- Name: "Straff"
- Traits:
trait_misting_tineye,ambitious,callous,lustful,education_stewardship_4
Replace
Fellren Venture(900002) with Elend Venture. Elend is Straff's heir, bookish idealist. Change:- Name: "Elend"
- Traits: remove
trait_allomantic_potential, addeducation_learning_4,just,shy,compassionate - Birth:
1000.1.1(~20 at game start) - Note: Elend has no Allomancy in Book 1. He gains it later via Lerasium.
-
House Elariel -- Replace
Shanvere Elariel(900021) with Shan Elariel. She is already defined as a secret Mistborn, which is lore-accurate. Change:- Name: "Shan"
- Keep
trait_mistborn,beautiful,deceitful - Add
ambitious,arrogant
-
Steel Inquisitors -- Create 3 Steel Inquisitor characters using IDs 900300-900302. Each should have:
culture = "noble_scadrian",religion = "steel_ministry"- All hemalurgic traits:
trait_hemalurgist,trait_hemalurgic_steel,trait_hemalurgic_pewter,trait_hemalurgic_bronze,trait_hemalurgic_atium - Vanilla trait
disfigured(spikes through eyes) education_martial_4,brave,callous- Use the
steel_inquisitor_powermodifier applied at game start via on_action - Birth dates ~900.1.1 (they are very old, sustained by Hemalurgy)
- No dynasty (they abandoned their former lives)
- Names: "Kar" (900300), "Bendal" (900301), "Tathren" (900302). Kar is a canonical Inquisitor from the books.
-
Make the Steel Inquisitors courtiers of the Lord Ruler. In
history/titles/00_mistborn_titles.txt, ensure they have no titles of their own. Inhistory/characters/00_mistborn_characters.txt, they need anemployeror must be placed in the Lord Ruler's court via aneffectblock at game start. -
Keep remaining placeholder characters (Tekiel, Lekal, Hasting, etc.) as they are -- they serve as minor house heads and fill the world. Rename the Terris placeholder "Kwaan" (900081) to a non-canonical name like "Vedren" to avoid confusion (see REVIEW_NOTES.txt NOTE-05).
-
Create a Terris stewards dynasty for Terris characters:
dynasty_terris_stewards = { name = "dynn_Terris_Stewards" culture = terris }Reassign Terris characters (900080-900082) from noble house dynasties to
dynasty_terris_stewards. Add matching localization. -
At game start, apply
steel_inquisitor_powermodifier to each Inquisitor via the on_actionon_game_starteffect block:character:900300 = { add_character_modifier = { modifier = steel_inquisitor_power } } # Repeat for 900301, 900302
Files:
history/characters/00_mistborn_characters.txt-- modify (replace placeholders, add Inquisitors)history/titles/00_mistborn_titles.txt-- modify (update holder names)common/dynasties/00_mistborn_dynasties.txt-- modify (add dynasty_terris_stewards)common/dynasty_houses/00_mistborn_houses.txt-- modify (add house_terris_stewards)common/on_action/mistborn_on_actions.txt-- modify (Inquisitor modifiers)localization/english/mistborn_dynasties_l_english.yml-- modifylocalization/english/mistborn_characters_l_english.yml-- create or modify
References:
- Character lore:
docs/bookmarks/the end of an empire/characters/straff-venture.md,shan-elariel.md,elend-venture.md,kar.md-- personalities, traits, design notes for canonical replacements - Character lore:
docs/bookmarks/the end of an empire/characters/lord-hasting.md,lord-lekal.md,lord-erikeller.md,lord-tekiel.md-- Great House heads (extrapolated from canonical house lore) - Existing characters:
history/characters/00_mistborn_characters.txt:1-100 - REVIEW_NOTES.txt NOTE-04, NOTE-05: Terris dynasty and name issues
create_steel_inquisitor_effectpattern:common/scripted_effects/mistborn_effects.txt:146-157
3.5 -- Create Custom Name Lists
Context: Without custom name lists, characters are generated with vanilla Western European names, destroying Scadrial immersion. Three name lists are needed: noble Scadrian, skaa, and Terris. Names should be drawn from Mistborn lore -- the books provide many named characters that establish naming patterns.
Steps:
-
Create the directory
common/culture/name_lists/if it does not exist. -
Create
common/culture/name_lists/name_list_scadrial_noble.txt. Noble Scadrian names follow patterns from the books: male names often end in "-en", "-ren", "-nd", "-sh"; female names in "-enne", "-ine", "-ise", "-ette". Dynasty names are single-word house names.Structure (CK3 name list format):
name_list_scadrial_noble = { male_names = { Elend Straff Venture Ashweather Jastes Zane Telden Goradel Breeze Clubs Dockson Demoux Penrod Yomen Aradan Cett Feltren Jordren Aldren Brodren Renweld Dagren Varren Garven Salmen Krondain Jastin Gorven Phellen Yollren Emmaren Norren Trellen Kellen Wellrin Dellren # Additional lore-flavored names Kelsinnen Rashten Brellen Durand Stranden Verroth Mallren Corrent Hallen Pelliven Jassmere Daston Feddren Kolsten Abrend Terroth Vallsten Greneth } female_names = { Valette Shan Kliss Allrianne Tindwyl Beldre Valisse Klainne Mellisande Jastrenne Vellenne Dallienne Cladine Shanvere Marenne # Additional lore-flavored names Ellisenne Verdenne Castine Fellise Austrenne Dorienne Brellise Kartenne Vallenne Brennine Salienne Kastenne Trelenne Merrenne Jordenne Serenne Hastenne Lekienne } dynasty_names = { Venture Hasting Elariel Tekiel Lekal Erikeller Bylerum Entrone Conrad Urbain Renoux Cett Penrod Yomen Ffnord Getrue Habren Izenry Ostlin } # CK3 patronymic/matronymic settings founder_named_dynasties = yes dynasty_of_location_prefix = "of " } -
Create
common/culture/name_lists/name_list_scadrial_skaa.txt. Skaa names are simpler -- single syllable or two syllables, rougher sounds. No dynasty names (skaa don't have houses).name_list_scadrial_skaa = { male_names = { Kelsier Dockson Hammond Marsh Yeden Demoux Goradel Bilg Hoid Reen Mennis Jed Kar Durn Theron Spook Lestibournes # Additional lore-flavored names Brennan Dellen Tarn Kell Jord Hennen Darrel Strad Fenn Torr Bren Marden Greffen Korr Vell Redd Stunnen Petten Garth Henden Felren } female_names = { Vin Mare Tindwyl Beldre # Additional lore-flavored names Kell Maren Tellin Darren Jessi Henna Vallin Brennen Sellen Arden Torren Fellah Lessie Renna } dynasty_names = { # Skaa do not traditionally have dynasty names } always_use_patronym = no } -
Create
common/culture/name_lists/name_list_terris.txt. Terris names often end in "-ed" (Sazed, Tindwyl, Kwaan are canon examples). They have a distinctive, slightly Middle Eastern or South Asian flavor.name_list_terris = { male_names = { Sazed Kwaan Rashek Alendi Haddek Tathren Vedzan # Additional lore-flavored names Kazed Lathren Nathred Vedrin Hathren Beldren Tathred Sazen Rashken Kwaden Fellred Jathren Kellred Mathren Dorred Galthen Hallred Nolred } female_names = { Tindwyl Beldre # Additional lore-flavored names Kathwyl Rashwyl Nathren Belwyl Felwyl Halwyl Kelwyl Mathwyl Dorwyl Jathwyl Galdren Nolwyl } dynasty_names = { # Terris typically use patronymics or no family name } always_use_patronym = no } -
Verify the
name_listreferences incommon/culture/cultures/00_scadrial_cultures.txtmatch the file names:noble_scadrianusesname_list = name_list_scadrial_noble-- matchskaausesname_list = name_list_scadrial_skaa-- matchterrisusesname_list = name_list_terris-- match Remove the# TODOcomments from the culture definitions.
Files:
common/culture/name_lists/name_list_scadrial_noble.txt-- createcommon/culture/name_lists/name_list_scadrial_skaa.txt-- createcommon/culture/name_lists/name_list_terris.txt-- createcommon/culture/cultures/00_scadrial_cultures.txt-- modify (remove TODO)
References:
- Existing culture definitions:
common/culture/cultures/00_scadrial_cultures.txt:12,37,62 - CK3 name list format: vanilla
common/culture/name_lists/files - Lore names:
docs/lore/mistborn-universe.md, character names from books
3.6 -- Create Special Buildings
Context: Three locations in the Final Empire deserve unique buildings: Kredik Shaw (the Lord Ruler's palace), the Pits of Hathsin (atium mine), and the Conventical of Seran (Inquisitor headquarters). CK3's special building system lets us create province-specific buildings with unique effects.
Steps:
-
Create the directory
common/buildings/if it does not exist. -
Create
common/buildings/00_mistborn_special_buildings.txtwith three special building definitions. Each usestype = specialand is tied to a specific barony via thecan_constructtrigger.Kredik Shaw (in
b_kredik_shaw, province 2046):kredik_shaw = { construction_time = 0 can_construct_potential = { building_requirement_castle_city_church = { # Placeholder trigger LEVEL = 01 } } can_construct = { barony = title:b_kredik_shaw } is_enabled = { always = yes } cost_gold = 0 county_modifier = { monthly_county_control_growth_add = 0.5 tax_mult = 0.15 development_growth_factor = 0.1 } character_modifier = { monthly_prestige = 2 monthly_piety = 1 dread_baseline_add = 20 } flag = special_building ai_value = { base = 100 } }Pits of Hathsin (in
b_pits_of_hathsin, province 2482):pits_of_hathsin = { construction_time = 0 can_construct = { barony = title:b_pits_of_hathsin } is_enabled = { always = yes } cost_gold = 0 county_modifier = { monthly_county_control_growth_add = -0.3 county_opinion_add = -20 tax_mult = 0.3 } character_modifier = { monthly_prestige = 0.5 gold = 2 # Atium income tyranny_gain_mult = 0.2 } flag = special_building ai_value = { base = 80 } }Conventical of Seran (in
b_conventical_of_seran, province 2039):conventical_of_seran = { construction_time = 0 can_construct = { barony = title:b_conventical_of_seran } is_enabled = { always = yes } cost_gold = 0 county_modifier = { monthly_county_control_growth_add = 0.3 } character_modifier = { monthly_piety = 1 martial = 2 dread_baseline_add = 15 hostile_scheme_power_mult = 0.15 } flag = special_building ai_value = { base = 60 } }Note: The exact CK3 1.18 building syntax should be verified against vanilla special buildings (e.g.,
special_building_hagia_sophia_01). Thecan_constructtrigger may need adjustment -- vanilla usesbarony = title:b_*pattern. Also check whetherconstruction_time = 0is supported or if the building must be pre-built via history. -
If CK3 requires buildings to be pre-built in province history, add building assignments to
history/provinces/00_mistborn_provinces.txtfor the three special barony provinces. Follow the format:2046 = { # b_kredik_shaw holding = castle_holding buildings = { kredik_shaw } } -
Add building slot entries to the barony definitions in
common/landed_titles/00_landed_titles.txt. In CK3, special buildings are referenced via flags on the title. Check if the baronies need aspecial_building_slotorspecial_buildingfield. If not, the buildingcan_constructtrigger handles placement. -
Add localization in
localization/english/mistborn_buildings_l_english.yml:kredik_shaw:0 "Kredik Shaw" kredik_shaw_desc:0 "The Hill of a Thousand Spires. The Lord Ruler's palace complex in the heart of Luthadel, a massive fortress of twisting metal towers that dominates the skyline." pits_of_hathsin:0 "The Pits of Hathsin" pits_of_hathsin_desc:0 "A brutal prison camp where skaa are worked to death mining atium geodes from crystalline caverns beneath the earth. Considered inescapable." conventical_of_seran:0 "Conventical of Seran" conventical_of_seran_desc:0 "The primary research base of the Canton of Inquisition. Steel Inquisitors study Hemalurgy and interrogate prisoners within its dark halls."
Files:
common/buildings/00_mistborn_special_buildings.txt-- createhistory/provinces/00_mistborn_provinces.txt-- modify (building assignments)common/landed_titles/00_landed_titles.txt-- modify (if building slots needed)localization/english/mistborn_buildings_l_english.yml-- create
References:
- CK3 vanilla special buildings:
common/buildings/in vanilla game data - Existing barony definitions:
common/landed_titles/00_landed_titles.txt:33-41(Kredik Shaw),common/landed_titles/00_landed_titles.txt:525-533(Pits),common/landed_titles/00_landed_titles.txt:137-143(Conventical) - Lore:
docs/lore/mistborn-universe.md-- Kredik Shaw, Pits of Hathsin
3.7 -- Add Kandra Trait and Contract Mechanics
Context: Kandra are shapeshifting creatures created by the Lord Ruler via Hemalurgy. They serve humans via Contracts. OreSeur (a crew member) is a kandra. The kandra trait does not exist yet -- it needs to be created, along with basic Contract mechanics.
Steps:
-
Create
trait_kandraincommon/traits/05_hemalurgy_traits.txt(kandra are Hemalurgic creations). Use index 266 (next aftertrait_knows_hemalurgyat 265):# Kandra - shapeshifting Hemalurgic creature bound by Contracts trait_kandra = { index = 266 category = fame genetic = no intrigue = 8 diplomacy = 2 health = 2 attraction_opinion = -10 ruler_designer_cost = 0 shown_in_ruler_designer = no icon = "gfx/interface/icons/traits/trait_kandra.dds" } -
Add
trait_kandrato thehas_hemalurgic_spike_triggerincommon/scripted_triggers/mistborn_triggers.txt(kandra have Hemalurgic blessings):has_hemalurgic_spike_trigger = { OR = { has_trait = trait_hemalurgist has_trait = trait_hemalurgic_steel has_trait = trait_hemalurgic_pewter has_trait = trait_hemalurgic_bronze has_trait = trait_hemalurgic_atium has_trait = trait_kandra } } -
Add a kandra-specific trigger:
is_kandra_trigger = { has_trait = trait_kandra } -
Create a kandra Contract scripted effect in
common/scripted_effects/mistborn_effects.txt:assign_kandra_contract_effect = { # Assigns a kandra to serve this character # The kandra becomes a courtier and gains a flag for the contract scope:kandra_target = { set_relation_guardian = root # Represents the Contract bond add_character_flag = kandra_contract_active } } -
Update the existing
hire_kandra_decisionincommon/decisions/00_mistborn_decisions.txt. Currently it triggersmistborn_misc.0001. Ensure the event properly creates a kandra courtier withtrait_kandraand applies the Contract flag. This event should already exist from M2 event completion -- verify it handlestrait_kandra. -
Add localization for the kandra trait in
localization/english/mistborn_traits_l_english.yml:trait_kandra:0 "Kandra" trait_kandra_desc:0 "A shapeshifting creature created through Hemalurgy. Kandra can absorb a person's bones to perfectly mimic their appearance. They are bound by strict Contracts to serve their masters."
Files:
common/traits/05_hemalurgy_traits.txt-- modify (add trait_kandra)common/scripted_triggers/mistborn_triggers.txt-- modify (add is_kandra_trigger, update has_hemalurgic_spike_trigger)common/scripted_effects/mistborn_effects.txt-- modify (add assign_kandra_contract_effect)localization/english/mistborn_traits_l_english.yml-- modify
References:
- Existing hemalurgy traits:
common/traits/05_hemalurgy_traits.txt:1-108 - Kandra lore:
docs/lore/mistborn-universe.md-- The Kandra section - Hire kandra decision:
common/decisions/00_mistborn_decisions.txt:200-253
3.8 -- Polish Religions: Custom Tenets, Doctrines, and Holy Sites
Context: The four religions need deep mechanical identity to feel like living faiths, not just reskinned vanilla. This means custom tenets (replacing vanilla placeholders), custom doctrine categories unique to Scadrial, faith- differentiated holy sites, and faith-specific modifiers. Steel Ministry needs the Lord Ruler as head (done in 3.2). Terris Keepers need "secret faith" mechanics. Survivorism needs rebellion bonuses. Cult of Ruin needs Hemalurgy bonuses.
Steps:
-
Create custom tenets. In
common/religion/doctrines/(new directory), define ~12 custom tenets that replace vanilla placeholders. Each tenet has acharacter_modifierblock and unlocks specific decisions or events:Steel Ministry tenets:
tenet_obligator_hierarchy— Replacestenet_tax_nonbelievers. Bonus: +0.3 monthly piety, +5% tax income from non-believers, +5 same-faith opinion. Unlocks: "Demand Obligator Tithe" decision.tenet_allomantic_oversight— Replacestenet_religious_law. Bonus: +2 learning for clergy, +10% scheme discovery chance. Allows Ministry Preceptor council task (M4) to detect hidden Allomancers in court.tenet_imperial_mandate— New. Bonus: +0.2 monthly prestige for Steel Ministry rulers, +10 vassal opinion if Lord Ruler attention < 25. Penalty: -10 vassal opinion if Lord Ruler attention > 75 (the mandate feels oppressive).
Terris Worldbringers tenets:
tenet_keepers_vow— Replacestenet_pacifism. Bonus: +3 learning, -2 martial (Keepers are scholars, not warriors). Unlocks: "Store Knowledge in Coppermind" decision. Characters with this tenet can access coppermind artifact events (M3.10, M7.10).tenet_metalmic_preservation— Replacestenet_monasticism. Bonus: +0.15 development growth in holy sites, +1 stewardship. Feruchemist characters gain +1 additional learning. Represents preserving pre- Ascension knowledge and culture.tenet_worldbringer_mission— Replacestenet_ancestor_worship. Bonus: +0.1 cultural acceptance gain, +5 different-faith opinion. Keepers aim to preserve ALL knowledge, including other faiths. Unlocks: "Share Preserved Knowledge" interaction (teach another character about a lost religion).
Survivorist tenets:
tenet_kelsiers_sacrifice— Replacestenet_liberation_theology. Bonus: +15 same-faith opinion, +0.1 hostile scheme power, monthly county control growth -0.1 (undermines authority). Conditional: ifkelsier_martyredglobal flag is set, bonuses double. Represents the power of martyrdom.tenet_hope_in_ash— Replacestenet_communal_identity. Bonus: +0.2 stress loss, +5 attraction opinion, +0.1 monthly prestige. Represents the belief that things can change, that flowers can grow in ash.tenet_underground_network— Replacestenet_mendicants. Bonus: +15% hostile scheme resistance, +10% personal scheme power. Skaa characters gain +2 intrigue. Represents the skaa underground's secrecy.
Cult of Ruin tenets:
tenet_hemalurgic_rites— Replacestenet_human_sacrifice. Bonus: +10 dread baseline, +2 prowess, -2 diplomacy. Characters who sacrifice prisoners via decision gain a hemalurgic spike trait. Far darker than vanilla human sacrifice.tenet_embrace_destruction— Replacestenet_ritual_cannibalism. Bonus: stress gain -0.15, monthly piety +0.1, health -0.25 (destruction consumes the faithful too). Unlocks: "Commune with Ruin" decision (intrigue event, gain information at cost of health).tenet_ruins_whispers— Replacestenet_struggle_and_submission. Bonus: +3 intrigue, +15% scheme power. Characters occasionally receive "Ruin's Guidance" events (random intrigue/martial bonuses with sanity cost via stress). Represents Ruin's influence whispering to followers.
-
Create custom doctrine categories. In the same doctrine directory, define 3 custom doctrine groups unique to Scadrial:
Doctrine group: "Allomantic Stance" (
doctrine_allomantic_stance)doctrine_allomancy_divine— Allomancy is a gift from Preservation. Bonus: +10 opinion of Allomancers, Misting/Mistborn characters gain +0.1 monthly piety. Used by: Survivorism, Terris Worldbringers.doctrine_allomancy_controlled— Allomancy must be registered and regulated. Bonus: Ministry Preceptor gains +2 effectiveness at detecting hidden Allomancers. Allomancers who hide their abilities face heresy charges. Used by: Steel Ministry.doctrine_allomancy_forbidden— Allomancy (except Hemalurgy) is abomination. Bonus: +5 dread when executing Allomancers, piety +20 for each Allomancer killed. Used by: Cult of Ruin.
Doctrine group: "Caste Doctrine" (
doctrine_caste_stance)doctrine_caste_divine_order— The noble/skaa divide is ordained by the Lord Ruler. Intermarriage is heresy. Bonus: +5 same-culture opinion (within your caste), -20 opinion of different-caste characters. Used by: Steel Ministry.doctrine_caste_irrelevant— All people are equal before Preservation. Bonus: +10 opinion with skaa characters, +5 different-culture opinion. Used by: Survivorism, Terris Worldbringers.doctrine_caste_tool— Castes are tools for control — use them or discard them as needed. Bonus: no opinion penalties for cross-caste interaction, +5 intrigue. Used by: Cult of Ruin.
Doctrine group: "Gender Doctrine" (
doctrine_gender)doctrine_gender_male_preference— Male preference succession: men inherit before women of equal standing, but women can hold all titles, serve in council, lead armies, and wield Allomancy equally. No restrictions on female participation in politics, war, or the metallic arts — only inheritance order is affected. Used by: Steel Ministry.doctrine_gender_equal— Full gender equality: no preference in succession or any other system. Allomancy doesn't discriminate and neither does this faith. Used by: Survivorism, Terris Worldbringers.doctrine_gender_irrelevant— Gender is meaningless to Ruin. Power is all that matters. Mechanically identical to equal. Used by: Cult of Ruin.
All faiths allow women to hold temples, serve as clergy/obligators, and participate fully in political life. The male preference doctrine only affects inheritance order — it reflects the cultural patriarchal default of noble houses, not a restriction on female capability.
-
Expand and differentiate holy sites. Update
common/religion/holy_sites/00_holy_sites.txtto increase from 5 to ~10 sites, differentiated by faith. Some sites are shared, some are exclusive:Existing (updated):
Holy Site Primary Faith(s) Notes Kredik Shaw Steel Ministry, Cult of Ruin Lord Ruler's seat of power. Ruin worshippers see it as the prison of Ruin's power Pits of Hathsin Steel Ministry, Cult of Ruin Atium source — both faiths covet it Conventical of Seran Steel Ministry Obligator research center Tathingdwen Terris Worldbringers Terris capital, Keeper archives Urteau Survivorism Northern skaa population center, rebellion base New sites to add:
Holy Site County/Barony Primary Faith(s) Modifiers Lore Terris Homeland Peaks c_terris_peaks / b_terris_shrine Terris Worldbringers +2 learning, +0.5 piety Sacred mountains where Keepers hid copperminds The Arguois Caverns c_arguois / b_arguois_caves Survivorism +0.3 prestige, +1 intrigue Underground skaa meeting place, rebel hideout Ruin's Deposit c_ruin_deposit / b_ruin_well Cult of Ruin +1 prowess, +5 dread A place where Ruin's influence bleeds through, hemalurgic rituals performed Kelsier's Pyre c_luthadel / b_execution_square Survivorism (conditional) +20 same-faith opinion, +0.5 monthly prestige Only activates after kelsier_martyredflag is set. The site where Kelsier died becomes sacredThe Well of Ascension c_luthadel / b_well_of_ascension Terris Worldbringers (conditional) +3 learning, +1 piety Only activates after Fall of Kredik Shaw endgame (M7). The Well is discovered beneath Kredik Shaw This gives each faith 3-4 holy sites:
- Steel Ministry: Kredik Shaw, Pits of Hathsin, Conventical of Seran (~3)
- Terris Worldbringers: Tathingdwen, Terris Homeland Peaks, Well of Ascension (conditional) (~2-3)
- Survivorism: Urteau, Arguois Caverns, Kelsier's Pyre (conditional) (~2-3)
- Cult of Ruin: Kredik Shaw, Pits of Hathsin, Ruin's Deposit (~3)
-
Terris Worldbringers -- Secret faith mechanics. In the
terris_worldbringersfaith definition:- The mechanical goal: Terris characters should be able to hide their faith
from the Steel Ministry. CK3's secret faith mechanic works when a faith has
the
is_unreformedflag or when characters manually set a secret faith. If CK3 1.18 supportsdoctrine_is_secretor similar, use that. Otherwise, add a custom decision "Practice Feruchemy in Secret" that sets a character flag and provides bonuses while hiding the religion. - The
tenet_keepers_vow(step 1) synergizes with this: Keepers who practice secretly gain the tenet bonuses but risk discovery.
- The mechanical goal: Terris characters should be able to hide their faith
from the Steel Ministry. CK3's secret faith mechanic works when a faith has
the
-
Survivorism -- Rebellion bonuses. In the
survivorismfaith definition:- Apply
survivorism_faith_modifierat game start to Survivorist characters:monthly_county_control_growth_add = -0.1(undermines control)hostile_scheme_power_mult = 0.1(good at subterfuge)same_faith_opinion = 20(strong in-group loyalty)
- These are now reinforced by the
tenet_kelsiers_sacrificeandtenet_underground_networktenets from step 1.
- Apply
-
Cult of Ruin -- Hemalurgy bonuses. In the
cult_of_ruinfaith:- Apply
cult_of_ruin_faith_modifierat game start:dread_baseline_add = 10prowess = 2diplomacy = -2stress_gain_mult = -0.1(they embrace destruction)
- Cult of Ruin followers should automatically know Hemalurgy: add a
game-start on_action that grants
trait_knows_hemalurgyto all Cult of Ruin characters. - Reinforced by
tenet_hemalurgic_ritesandtenet_embrace_destruction.
- Apply
-
Steel Ministry -- Obligator hierarchy. The Steel Ministry is now headed by the Lord Ruler (done in 3.2). Additional polish:
- Apply
steel_ministry_faith_modifier:monthly_piety = 0.2same_faith_opinion = 5
- The
tenet_obligator_hierarchyandtenet_imperial_mandatereinforce the mechanical identity of the Ministry as a state religion.
- Apply
-
Wire dead tradition parameters. The culture traditions (
tradition_allomantic_heritage,tradition_noble_intrigue,tradition_skaa_resilience,tradition_terris_scholarship) define custom parameters (allomantic_potential_bonus, etc.) that are never referenced. Either:- (a) Wire them into scripted triggers so events/decisions can check
has_cultural_tradition_parameter = allomantic_potential_bonus, or - (b) Remove the dead parameters and rely on the
character_modifierstat blocks which already work. Option (b) is recommended unless a specific mechanic needs the parameters.
- (a) Wire them into scripted triggers so events/decisions can check
-
Fix tradition conditions. The
is_validblocks on traditions usehas_cultural_pillar = heritage_scadrialwhich is shared by all 3 cultures. This means any culture could adopt any tradition. Fix:tradition_allomantic_heritage: keep as heritage_scadrial (available to all — Allomancy crosses caste lines)tradition_noble_intrigue: restrict tohas_culture = culture:noble_scadriantradition_skaa_resilience: restrict tohas_culture = culture:skaatradition_terris_scholarship: restrict tohas_culture = culture:terris
-
Add all new tenet, doctrine, modifier, and holy site definitions to their respective files. Add localization for:
- 12 custom tenet names + descriptions (~48 keys)
- 9 custom doctrine options + descriptions (~36 keys)
- 3 doctrine group names + descriptions (~12 keys)
- 5 new holy site names + descriptions (~10 keys)
- Faith-specific modifier names (~8 keys)
- Total: ~100 new localization keys
Files:
common/religion/doctrines/00_scadrial_doctrines.txt-- createcommon/religion/religions/00_scadrial_religions.txt-- modify (update tenets and doctrine references)common/religion/holy_sites/00_holy_sites.txt-- modify (expand to ~10 sites, differentiate by faith, add conditional sites)common/culture/traditions/00_scadrial_traditions.txt-- modify (fix conditions, clean up dead parameters)common/modifiers/00_mistborn_modifiers.txt-- modify (add faith modifiers)common/on_action/mistborn_on_actions.txt-- modify (cult of ruin hemalurgy, conditional holy site activation)localization/english/mistborn_religions_l_english.yml-- modify (~100 keys)localization/english/mistborn_modifiers_l_english.yml-- modify
References:
- Existing religions:
common/religion/religions/00_scadrial_religions.txt - Existing holy sites:
common/religion/holy_sites/00_holy_sites.txt - Existing modifiers:
common/modifiers/00_mistborn_modifiers.txt - Existing traditions:
common/culture/traditions/00_scadrial_traditions.txt - Vanilla doctrine format: CK3 game install
common/religion/doctrines/ - Vanilla tenet format: CK3 game install
common/religion/doctrines/(tenets are doctrines withis_tenet = yes) - Lore:
docs/lore/mistborn-universe.md-- Keepers, Survivorism, Cult of Ruin, Steel Ministry, Preservation, Ruin
3.9 -- Update Title History and Bookmark
Context: With canonical characters replacing placeholders, the title history and bookmark definitions must be updated to reflect the new character IDs and names. The Lord Ruler now holds the empire, and the bookmark should offer canonical starting characters.
Steps:
-
Update
history/titles/00_mistborn_titles.txtto reflect character changes from tasks 3.3 and 3.4. If character IDs changed (placeholder replaced by canonical character at same ID), the title history file already works. If new IDs were used, update allholder = XXXXXlines. -
Add
e_final_empireholder assignment (done in 3.1 but verify it is present). -
Update the bookmark in
common/bookmarks/00_mistborn_bookmarks.txt. Replace the placeholder bookmark characters with more interesting starts:Keep the existing landed starts but update names:
- Straff Venture (900001) --
k_central, difficulty "easy" - Elend Venture (900002) -- landed (heir,
c_luthadelor no title if unlanded starts are possible). If Elend has a county, difficulty "medium". - Keep one military start: Hasting or another house lord.
Add Kelsier and Vin as bookmark characters even though they are unlanded. In M3 they are visible in the bookmark but may not be fully playable until M5 (the crew/band system). Mark them appropriately:
- Kelsier (900200) -- "Not yet playable (requires M5)" in the description
text. Set
difficulty = "hard". - Vin (900201) -- similar treatment.
Update the bookmark name/description localization in
localization/english/mistborn_bookmarks_l_english.yml. - Straff Venture (900001) --
-
Verify that every title holder in the title history references a valid character ID that exists in the character file. Do a consistency sweep.
Files:
history/titles/00_mistborn_titles.txt-- modifycommon/bookmarks/00_mistborn_bookmarks.txt-- modifylocalization/english/mistborn_bookmarks_l_english.yml-- modify
References:
- Existing bookmark:
common/bookmarks/00_mistborn_bookmarks.txt:1-91 - Existing title history:
history/titles/00_mistborn_titles.txt:1-485
3.10 -- Artifacts: Metallic Arts Equipment and Iconic Items
Context: The Mistborn world is defined by its physical objects — metal vials, metalminds worn as jewelry, mistcloaks that blur in the mists, glass daggers that can't be Pushed or Pulled, and the Lord Ruler's atium bracers that grant him immortality. CK3's artifact system (Royal Court DLC) is a natural fit for these items. This task group creates the core artifact types that populate the world at game start and can be crafted, inherited, and looted during play.
Note: This requires the Royal Court DLC. If unavailable, artifacts can be approximated with character modifiers and flags, but the full artifact system is strongly preferred for immersion (equippable, visible in court, inheritable).
Steps:
-
Create
common/artifacts/types/00_mistborn_artifact_types.txtdefining the artifact type categories. Each type needs aslot(e.g.,primary_armament,regalia,helmet,miscellaneous), visual template, and valid quality tiers. Types to define:mistcloak— slot:regalia. The iconic tasseled cloak worn by Mistborn. Grants prowess +2, intrigue +2, dread +5. Higher quality versions add stealth bonuses. Should only be equippable by characters withis_allomancer_triggerortrait_mistborn.metal_vial_set— slot:miscellaneous. A bandolier or case of metal vials. Integrates with the M2 metal supply system: owning this artifact extendsmetal_reserves_abundantduration by 1 year. Grants prowess +1. Can be crafted by any Allomancer with gold.glass_daggers— slot:primary_armament. Obsidian/glass weapons that cannot be affected by Coinshots or Lurchers. Grants prowess +3 vs Allomancer opponents (useartifact_combat_modifierif available, or a flat prowess bonus). Flavor: "Invisible to Allomantic senses."dueling_canes— slot:primary_armament. Noble wooden sparring weapons used at balls. Grants diplomacy +1, prowess +1. Required culture:noble_scadrian. Flavor: "The weapon of choice for noble duels."koloss_sword— slot:primary_armament. Massive crude blade torn from a fallen koloss. Grants prowess +6, martial +2, diplomacy -2 (terrifying and brutish). Very rare — only obtainable by defeating koloss or looting.coppermind— slot:miscellaneous. A Feruchemical coppermind storing memories. Grants learning +4, intrigue +1 (secret knowledge). Only equippable by characters withtrait_feruchemist. Terris Keepers start with one.metalmind_set— slot:regalia. A set of Feruchemical metalminds (bracelets, rings, earrings) for storing attributes. Grants health +0.5, prowess +2. Only equippable by characters withtrait_feruchemist. Higher quality versions grant more stats.atium_bracers— slot:regalia. Unique legendary artifact. The Lord Ruler's personal atium metalminds, the source of his Compounding immortality. Grants health +5, prowess +10, monthly_prestige +1.0. Only one exists in the game. Held by the Lord Ruler at game start. Removing them is key to the Fall of Kredik Shaw endgame (M7). Mark asunique = yes.inquisitor_spike_set— slot:helmet(eye spikes). Hemalurgic spikes through the eyes. Grants prowess +8, martial +4, intrigue +3, dread +20, diplomacy -5, attraction_opinion -30. Only equippable by characters withtrait_hemalurgistand 3+ spike traits. Inquisitors start with these.
-
Create
common/artifacts/visuals/00_mistborn_artifact_visuals.txtwith visual definitions for each type. For now, map to appropriate vanilla artifact visual templates (e.g., mistcloak -> cloak/cape visual, koloss sword -> greatsword visual, coppermind -> book/scroll visual). Custom visuals are deferred to M8. -
Create
common/artifacts/templates/00_mistborn_artifact_templates.txtfor artifact templates used by history and scripted effects to create specific instances:lord_ruler_atium_bracers— creates the unique atium bracers artifactstandard_mistcloak— creates a typical mistcloakkeeper_coppermind— creates Sazed's coppermind (higher quality)steel_inquisitor_spikes— creates inquisitor spike set
-
Assign starting artifacts to canonical characters in
history/characters/00_mistborn_characters.txt:- Lord Ruler:
atium_bracers(legendary quality) - Kelsier:
mistcloak(excellent quality),glass_daggers(good quality) - Vin: initially none (she receives a mistcloak via events in M6)
- Sazed:
coppermind(masterwork quality) - Ham, Clubs, Breeze:
metal_vial_set(standard quality) - Steel Inquisitors:
inquisitor_spike_set - Great House heads:
dueling_canes(quality varies by house wealth) - Straff Venture:
metal_vial_set(excellent — he's a Tineye)
- Lord Ruler:
-
Add a decision
craft_mistcloak_decisionin decisions:is_shown:is_allomancer_trigger = yesis_valid: gold >= 100, NOT already has a mistcloak artifact- Cost: 100 gold
- Effect: create mistcloak artifact and equip it
- Flavor: commissioning a mistcloak is a rite of passage for Allomancers
-
Add a decision
forge_glass_weapons_decision:is_shown: is a ruler, knows about Allomantic combatis_valid: gold >= 50- Effect: create glass_daggers artifact. Tooltip explains why glass weapons matter against Coinshots/Lurchers.
-
Add localization for all artifact types, templates, decisions, and descriptions in
localization/english/mistborn_artifacts_l_english.yml(new file). Each artifact needs: name, description, and equip tooltip.
Files:
common/artifacts/types/00_mistborn_artifact_types.txt— createcommon/artifacts/visuals/00_mistborn_artifact_visuals.txt— createcommon/artifacts/templates/00_mistborn_artifact_templates.txt— createhistory/characters/00_mistborn_characters.txt— modify (add starting artifacts)common/decisions/00_mistborn_decisions.txt— modify (crafting decisions)localization/english/mistborn_artifacts_l_english.yml— create
References:
- Vanilla artifact structure: check CK3 game install
common/artifacts/for type/visual/template patterns - Lord Ruler's bracers:
docs/lore/mistborn-universe.md(Compounding, atium metalminds grant age storage → immortality) - Mistcloak description: iconic tasseled cloak, strips of cloth that blur in the mists, worn by all Mistborn
- Glass weapons: Allomancers can only Push/Pull metals; glass and wood are immune to Allomantic manipulation, making them prized by those who fight Allomancers
3.11 -- Holy Orders: Steel Inquisitors and Keeper Network
Context: The Steel Inquisitors are the militant arm of the Steel Ministry — terrifying individuals with hemalurgic spikes driven through their eyes. They hunt heretics, interrogate prisoners, and enforce the Lord Ruler's will. In CK3 terms, they are a holy order — but they function as individual super-powered agents, not a conventional army. Separately, the Terris Keepers operate as a secret counter-network, preserving forbidden knowledge underground. This task creates both as religious orders with distinct mechanics.
Steps:
-
Create the Steel Inquisitor Holy Order. In
common/holy_orders/00_mistborn_holy_orders.txt(new directory/file), define the Inquisitor order:holy_order_steel_inquisitors = { religion = steel_ministry_religion # ... order definition }The order is available for hire by Steel Ministry rulers (piety cost). Mechanically, hiring the order provides a small but devastatingly powerful MaA regiment of Inquisitors (~50-100 soldiers with extreme stats, reflecting that a single Inquisitor is worth hundreds of normal fighters).
Order properties:
- Hire cost: 500 piety
- Maintenance: 2.0 gold/month (the Ministry demands resources)
- MaA type:
inquisitor_squad— 100 soldiers, damage 150, toughness 80, pursuit 40. Counters: Mistborn Agents, Hazekillers. This represents a small squad with Inquisitors at the lead. - Leader: The order's leader should be one of the M3 Steel Inquisitor characters. The order fires events when hired (Inquisitor arrives at court, terror among courtiers).
- Hire trigger:
faith = faith:steel_ministry,piety >= 500 - Dismiss trigger: always available but costs -100 piety (dismissing the Lord Ruler's enforcers is seen as impiety)
-
Create the individual Inquisitor request mechanic. Beyond the holy order (military), Steel Ministry rulers can "Request an Inquisitor" via decision:
request_inquisitor_decision = { is_shown = { faith = faith:steel_ministry is_ruler = yes highest_held_title_tier >= tier_county } cost = { piety = 200 } }On taking the decision, an event fires:
mistborn_inquisitor.0001— An Inquisitor arrives at your court. A special character is generated withtrait_hemalurgist, multiple spike traits, and thesteel_inquisitor_powermodifier.- The Inquisitor becomes a courtier with unique interactions:
- Investigate Heresy — Target a courtier or vassal. Intrigue check. Success: reveals hidden faith, hidden Allomantic traits, or secrets. Failure: target is terrorized (stress +20) but nothing found.
- Hunt Allomancers — Target a province. Works like the Hazemaster council task but more effective (+30% detection). Discovered Allomancers are captured, not given recruitment option.
- Interrogate Prisoner — Target a prisoner. Brutal intrigue check.
Success: learn all secrets, gain confession (can be used as hook).
Side effect: prisoner gains
torturedtrait, opinion of you -30 with compassionate characters.
- The Inquisitor is NOT loyal to you — they serve the Lord Ruler. Yearly event (15% chance): the Inquisitor reports your activities to the Canton. Lord Ruler attention +5. This creates tension: Inquisitors are powerful but dangerous to keep around.
- Cooldown: 3 years between requests (flag-based).
-
Create the Keeper Network (secret religious order). The Terris Keepers are not a military force — they're a clandestine network that preserves forbidden knowledge. Implement as a "secret society" equivalent:
keeper_network = { religion = terris_religion # Secret order, not visible to non-members }The Keeper Network functions differently from the Inquisitor order:
- Joining: Terris Worldbringer characters with learning >= 12 can take
a decision "Seek the Keepers" to join. If accepted (event chain with
tests), they gain the
keeper_initiateflag and access to Keeper events. - Progression: Keeper initiates can advance to full Keepers via events
(requires: learning >= 15, Feruchemist trait preferred, 2+ years as
initiate). Full Keepers gain
keeper_identityflag and access to:- Coppermind sharing events (exchange knowledge with other Keepers)
- "Teach Forbidden History" interaction (target: any character, grants learning +1, risk of Ministry detection)
- Access to hidden Keeper archive holy site events
- Network bonuses: For each Keeper in your realm, gain:
- +0.5 learning (court-level modifier)
- +5% cultural acceptance gain
- The Keeper network passively preserves knowledge: post-rebellion, unlocked Keepers accelerate the innovation unlock (M4/M7 tie-in)
- Risk: The Steel Ministry actively hunts Keepers. Yearly event per
Keeper character (10% chance): Ministry investigation. If the Keeper is
discovered:
- The Keeper is arrested (becomes prisoner of nearest Steel Ministry ruler)
- The lord sheltering them gains Lord Ruler attention +10
- If the lord IS a Steel Ministry ruler, they must choose: hand over the Keeper (piety +30) or protect them (attention +15, piety -50)
- Interaction with Terris Steward court position (M4): If your Terris Steward is a Keeper, they gain enhanced bonuses but increased discovery risk. This ties into M7's Terris Steward reveal events.
- Joining: Terris Worldbringer characters with learning >= 12 can take
a decision "Seek the Keepers" to join. If accepted (event chain with
tests), they gain the
-
Create Inquisitor vs Keeper tension events. When an Inquisitor and a Keeper are in the same court (or the Inquisitor is investigating a court with a hidden Keeper):
mistborn_inquisitor.0010— The Inquisitor senses something wrong. If a Keeper is present: heightened detection chance (25% instead of 10%). Event text describes the Inquisitor's bronze Allomancy probing.mistborn_inquisitor.0011— If the Keeper has a Court Smoker ally (M4 court position), the Smoker can shield the Keeper. Intrigue contest between Inquisitor and Smoker. Ties into M7 advanced council events.
-
Localization. Add entries for:
- Holy order name, description, hire/dismiss text (~10 keys)
- Inquisitor request decision + events (~25 keys)
- Inquisitor interactions (investigate, hunt, interrogate) (~20 keys)
- Keeper Network join/advance/events (~30 keys)
- Keeper-Inquisitor tension events (~10 keys)
- Total: ~95 new localization keys
Files:
common/holy_orders/00_mistborn_holy_orders.txt-- createcommon/men_at_arms_types/00_mistborn_maa.txt-- modify (addinquisitor_squadMaA type)common/decisions/02_inquisitor_decisions.txt-- createcommon/character_interactions/00_inquisitor_interactions.txt-- createevents/inquisitor_events.txt-- createcommon/decisions/02_keeper_decisions.txt-- createevents/keeper_events.txt-- createlocalization/english/mistborn_holy_orders_l_english.yml-- create
References:
- Vanilla holy order format: CK3 game install
common/holy_orders/ - Steel Inquisitor characters: M3 task 3.4
- Inquisitor traits/modifier:
common/traits/(hemalurgic spikes),common/modifiers/(steel_inquisitor_power) - Keeper lore:
docs/lore/mistborn-universe.md— Terris Keepers, copperminds, Worldbringers, the breeding program - Court Smoker position: M4 task 4.8
- Terris Steward court position: M4 task 4.8
- Advanced Inquisitor/Keeper events: M7 task 7.12
3.12 -- Custom Education System
Context: CK3's education system shapes every character from age 6-16 through
guardian assignment and education focus selection. The resulting education trait
(e.g., education_diplomacy_4) determines stat bonuses and lifestyle affinity.
For Mistborn, education must reflect the setting's social strata: noble children
learn politics and Allomancy at keeps, skaa children learn survival on
plantations, and Terris children are put through the breeding program or secretly
trained as Keepers. Education tracks must map to the 5 custom lifestyles (M4
task 4.6) so the system forms a cohesive character development pipeline.
Steps:
-
Define 5 custom education focuses. In
common/education/(new directory), replace vanilla education focuses with Mistborn tracks. Each focus maps to one of the 5 custom lifestyles:Education Track Maps to Lifestyle Target Culture Key Stats Description Allomantic Training Metallic Arts Any with potential martial, prowess Intense physical and mental training designed to awaken Allomantic ability. Guardians push wards to their limits — snapping can trigger as the "graduation trauma." Noble Court Education Noble Intrigue noble_scadrian diplomacy, intrigue Learn the Great Game: ball etiquette, house politics, contract negotiation, social manipulation. The standard education for noble heirs. Ministry Indoctrination Steel Ministry Any (Steel Ministry faith) learning, stewardship Obligator academy training: canton administration, theological doctrine, record-keeping, loyalty to the Lord Ruler. Produces future obligators and ministry officials. Skaa Survival Underground skaa intrigue, prowess Plantation survival, street smarts, hiding from Inquisitors, underground network navigation. Not formal education — learned through hardship. Keeper Apprenticeship Scholarship terris learning, stewardship Secret training in Feruchemy, coppermind use, and pre-Ascension history. Extremely dangerous — discovery by the Ministry means death. -
Define education traits. Each track produces 4 tiers of education trait (matching vanilla's
education_X_1througheducation_X_4):education_allomantic_1/2/3/4— "Allomantic Novice" through "Allomantic Master." Stat bonuses: martial +1/+2/+3/+4, prowess +1/+2/+3/+4. Tier 4 grants +10% Mistborn chance on snapping (iftrait_allomantic_potential).education_noble_court_1/2/3/4— "Court Trainee" through "Master of the Great Game." Stat bonuses: diplomacy +1/+2/+3/+4, intrigue +0/+1/+2/+3.education_ministry_1/2/3/4— "Obligator Initiate" through "High Preceptor." Stat bonuses: learning +1/+2/+3/+4, stewardship +0/+1/+2/+3. Tier 3+ grantscan_become_obligatorflag.education_skaa_1/2/3/4— "Street Urchin" through "Underground Veteran." Stat bonuses: intrigue +1/+2/+3/+4, prowess +0/+1/+1/+2. Tier 4 grants +15% hostile scheme resistance.education_keeper_1/2/3/4— "Keeper Initiate" through "Master Keeper." Stat bonuses: learning +2/+3/+4/+6, stewardship +0/+1/+1/+2. Tier 3+ grantskeeper_initiateflag (ties into M3.11 Keeper Network). Tier 4 grants access to coppermind events.
-
Create education events. In
events/education_events.txt, namespacemistborn_education:Allomantic Training events:
mistborn_education.0001— Guardian pushes ward to the breaking point. Options: intensify training (risk injury, +chance of higher tier), ease off (safer, -1 tier chance), focus on fundamentals (balanced).mistborn_education.0002— Snapping during training. If the ward hastrait_allomantic_potential, 25% chance of triggering the snapping event chain (M2) during year 14-16 of education. This is the lore- appropriate moment — nobles deliberately traumatize their children to trigger snapping. If snapping succeeds, +1 education tier.mistborn_education.0003— Ward shows exceptional metal instinct. If guardian is Mistborn or Misting, +15% chance of tier 4 education.
Noble Court Education events:
mistborn_education.0010— Ward attends first ball. Social check (diplomacy). Success: +1 diplomacy, opinion boost with guardian. Failure: embarrassing incident, stress +10.mistborn_education.0011— Ward observes a scheme in action. Intrigue check. Success: learns about the Great Game (+1 intrigue). Failure: gets caught watching, guardian must intervene.
Ministry Indoctrination events:
mistborn_education.0020— Canton examination. Learning check. Success: +1 piety, recognition from the Ministry. Failure: extra study imposed, stress +5.mistborn_education.0021— Ward questions doctrine. Choice: encourage questioning (risk heresy flag, +1 learning), punish doubt (+1 piety, stress +10), explain patiently (balanced, opinion +5).
Skaa Survival events:
mistborn_education.0030— Close call with Inquisitor patrol. Intrigue check. Success: learn evasion (+1 intrigue). Failure: beaten, stress +15, but learn toughness (+1 prowess).mistborn_education.0031— Ward discovers the underground network. Options: join (early access to Underground lifestyle perks), stay independent, report to nobles (betrayal, gain noble favor).
Keeper Apprenticeship events:
mistborn_education.0040— First coppermind lesson. Learning check. Success: store first memory (+1 learning). Failure: headaches, retry next year.mistborn_education.0041— Ministry investigation near the training site. Options: hide and wait (lose 6 months training), relocate (gold cost), continue in secret (intrigue check, discovery risk). If discovered: ward and guardian both face Ministry punishment.
-
Guardian compatibility. Add scripted triggers for guardian-ward matching:
- Allomantic Training: guardian should have Allomantic trait (or
education_allomantic_3+). Non-Allomancer guardians give -1 tier penalty. - Keeper Apprenticeship: guardian must be a Keeper (has
keeper_identityflag). Non-Keeper guardians cannot teach this track. - Ministry Indoctrination: guardian should have Steel Ministry faith.
- Noble Court: guardian should be
noble_scadrianculture. - Skaa Survival: no requirements (life teaches).
- Allomantic Training: guardian should have Allomantic trait (or
-
Suppress vanilla education. Create empty replacement files for vanilla education focus definitions. Override education-related localization keys. Ensure vanilla education events don't fire.
-
Localization. Add entries for:
- 5 education focus names + descriptions (~20 keys)
- 20 education trait names + descriptions (4 tiers × 5 tracks, ~40 keys)
- ~12 education events (~60 keys)
- Guardian compatibility tooltips (~10 keys)
- Total: ~130 new localization keys
Files:
common/education/00_mistborn_education.txt-- createcommon/traits/00_education_traits.txt-- create (or add to existing)events/education_events.txt-- createcommon/scripted_triggers/mistborn_triggers.txt-- modify (guardian checks)- Vanilla education suppression files -- create (empty replacements)
localization/english/mistborn_education_l_english.yml-- create
References:
- Vanilla education system: CK3 game install
common/education/ - Custom lifestyles: M4 task 4.6 (education maps to lifestyle)
- Snapping event chain: M2 (snapping triggers during Allomantic Training)
- Keeper Network: M3 task 3.11 (Keeper education produces initiates)
- Allomantic traits:
common/traits/00_allomancy_traits.txt
3.13 -- Dynasty Legacies
Context: CK3's dynasty legacy system gives permanent bonuses as dynasties invest renown over generations. The 10 Great Houses of the Final Empire each have distinct identities — House Venture dominates commerce, House Hasting excels at military, House Elariel masters intrigue. Universal legacy trees available to all dynasties provide broad Mistborn-themed progression, while short house-specific legacies give each Great House a unique mechanical identity.
Steps:
-
Define 5 universal legacy trees. In
common/dynasty_legacies/(new directory), create Mistborn-themed legacy trees replacing vanilla ones (Blood, Law, Guile, Glory, Kin). Each has 5 tiers:Allomantic Bloodline (replaces Blood):
- Tier 1: +5% chance of
trait_allomantic_potentialin children - Tier 2: +1 prowess for all Misting dynasty members
- Tier 3: +10% snapping success rate for dynasty members
- Tier 4: +5% Mistborn chance on snapping
- Tier 5: Dynasty members can attempt snapping at any age (not just youth)
Political Dominance (replaces Law):
- Tier 1: +5 vassal opinion
- Tier 2: +0.1 monthly prestige for dynasty head
- Tier 3: -10% short reign penalty
- Tier 4: +1 domain limit for dynasty head
- Tier 5: "Dominant House" modifier: +20 opinion with same-culture rulers
Ministry Connections (replaces Glory):
- Tier 1: -5% Lord Ruler attention gain
- Tier 2: +0.1 monthly piety
- Tier 3: Obligator Witness court position costs 50% less salary
- Tier 4: -10% Inquisitor investigation success against dynasty
- Tier 5: "Ministry Favorite" modifier: can request Inquisitor at half cost
Metallurgic Wealth (replaces Kin):
- Tier 1: +5% income from holdings
- Tier 2: Metal supply depletion rate -10% (M2 metal system)
- Tier 3: Artifact crafting costs -25%
- Tier 4: +0.3 monthly gold for dynasty head
- Tier 5: "Atium Magnate" modifier: atium reserve bonuses doubled
Underground Network (replaces Guile):
- Tier 1: +5% hostile scheme resistance
- Tier 2: +1 intrigue for all dynasty members
- Tier 3: +10% scheme power for dynasty members
- Tier 4: "Hidden Resources" decision: spend gold to reduce attention
- Tier 5: Dynasty members can never have their secrets exposed by Inquisitor investigation (auto-succeed cover checks)
- Tier 1: +5% chance of
-
Define 10 house-specific legacy trees. Each Great House gets a short 3-tier legacy reflecting their lore identity. These are cheaper than universal legacies (50%/75%/100% of base cost per tier):
House Legacy Name Tier 1 Tier 2 Tier 3 Venture Venture Supremacy +10% tax income +1 stewardship for house head "First Among Houses" — can use Dominance Claim CB at half prestige cost Hasting Hasting War Machine +10% MaA damage +2 martial for house head "Iron Discipline" — Hazekiller MaA gain +1 regiment size Elariel Elariel Shadow Court +10% scheme power +2 intrigue for house head "Invisible Hand" — False Flag scheme costs no gold Lekal Lekal Traditionalism +5 same-faith opinion +1 diplomacy for house head "Lord Ruler's Favored" — attention gain -20% Tekiel Tekiel Trade Empire +0.2 monthly gold +1 stewardship for house head "Canal Monopoly" — trade route income +25% Urbain Urbain Military Caste +5% levy size +1 martial for house head "Fortress Builders" — fort level +1 in capital Bylerum Bylerum Intelligence +10% scheme discovery +1 learning for house head "Information Brokers" — gain hooks 15% faster Erikeller Erikeller Allomantic Line +5% allomantic potential inheritance +1 prowess for Allomancer members "Pureblooded" — Mistborn chance +10% on snapping Haught Haught Diplomatic Corps +5 different-culture opinion +1 diplomacy for house head "Bridge Builders" — can use House War CB defensively (counter-claim) Conrad Conrad Plantation Lords +10% holding construction speed +1 stewardship for house head "Agricultural Mastery" — fertile_ashlandprovinces gain +0.1 dev growth -
Suppress vanilla legacy trees. Create empty replacement files for vanilla dynasty legacy definitions. Verify exact file names against game install.
-
Localization. Add entries for:
- 5 universal legacy tree names + descriptions (~10 keys)
- 25 universal legacy perk names + descriptions (~50 keys)
- 10 house legacy tree names + descriptions (~20 keys)
- 30 house legacy perk names + descriptions (~60 keys)
- Total: ~140 new localization keys
Files:
common/dynasty_legacies/00_mistborn_legacies.txt-- createcommon/dynasty_legacies/01_house_legacies.txt-- create- Vanilla legacy suppression files -- create (empty replacements)
localization/english/mistborn_legacies_l_english.yml-- create
References:
- Vanilla dynasty legacy format: CK3 game install
common/dynasty_legacies/ - Great House dynasties: M3 task 3.4
- Metal supply system: M2 task 2.7
- Allomantic traits:
common/traits/00_allomancy_traits.txt - Lord Ruler attention system:
common/scripted_effects/mistborn_effects.txt - Lore:
docs/lore/mistborn-universe.md— Great Houses, noble society
3.14 -- Custom Death Reasons and Nicknames
Context: CK3 tracks how characters die and gives notable characters nicknames. Vanilla death reasons ("died in battle," "murdered") and nicknames ("the Conqueror," "the Wise") are generic medieval. Mistborn needs custom death causes that reflect the setting's violence and custom nicknames that honor Allomantic achievement and political status.
Steps:
-
Define custom death reasons. In
common/deathreasons/(new directory), create Mistborn-specific death causes:Death Reason Trigger Context Description death_allomantic_combatKilled by an Allomancer in duel/battle "Killed by Allomantic power" death_inquisitor_executionExecuted by Steel Inquisitor "Executed by a Steel Inquisitor" death_mist_sicknessRandom health event in mist-heavy province "Succumbed to the mists" death_pewter_dragThug/Pewterarm overuses pewter "Died of pewter drag" death_hemalurgic_sacrificeKilled in hemalurgic ritual "Sacrificed in a hemalurgic rite" death_atium_overdoseExcessive atium burning "Burned out by atium" death_ashfallAshfall province event "Buried in ash" death_koloss_attackKilled by koloss "Torn apart by koloss" death_pits_of_hathsinDied in the Pits "Perished in the Pits of Hathsin" death_rebellionKilled during skaa rebellion "Killed in the rebellion" death_lord_ruler_wrathLord Ruler attention reaches max "Destroyed by the Lord Ruler" death_smoker_failureCoppercloud dropped, discovered "Exposed and eliminated" -
Define custom nicknames. In
common/nicknames/00_mistborn_nicknames.txt, create character nicknames earned through events and achievements:Nickname Trigger Condition Localization nick_the_survivorEscape the Pits of Hathsin "the Survivor" nick_the_heirInherit house leadership as firstborn "the Heir" nick_ash_lordHold kingdom+ title for 20+ years "the Ash Lord" nick_sliver_of_infinityLord Ruler only "the Sliver of Infinity" nick_the_ascendantReach highest Allomantic strength tier "the Ascendant" nick_mistborn_of_XBecome Mistborn + hold a specific city "Mistborn of [City]" nick_the_inquisitorSurvive hemalurgic transformation "the Inquisitor" nick_keeper_of_agesReach Keeper tier 4 education "Keeper of Ages" nick_the_liberatorLead successful rebellion (M6) "the Liberator" nick_house_destroyerWin 5+ House War CBs "the House Destroyer" nick_steel_handHold Ministry Preceptor + high piety "the Steel Hand" nick_the_undergroundLead crew with 5+ members for 10 years "the Underground" nick_atium_kingControl Pits of Hathsin for 10+ years "the Atium King" nick_last_obligatorOnly Steel Ministry character remaining after Lord Ruler falls "the Last Obligator" nick_new_emperorSeize e_final_empireafter Lord Ruler falls"the New Emperor" -
Suppress vanilla nicknames that break immersion ("the Crusader," "the Holy," "the Viking," etc.). Create empty replacement files. Keep culture-neutral nicknames if any exist ("the Great," "the Wise" can be rethemed via localization).
-
Localization. Add entries for:
- 12 death reason names + descriptions (~24 keys)
- ~15 nickname localization keys
- Total: ~39 new localization keys
Files:
common/deathreasons/00_mistborn_deathreasons.txt-- createcommon/nicknames/00_mistborn_nicknames.txt-- create- Vanilla nickname suppression files -- create (empty replacements)
localization/english/mistborn_nicknames_l_english.yml-- create
References:
- Vanilla death reasons: CK3 game install
common/deathreasons/ - Vanilla nicknames: CK3 game install
common/nicknames/ - Mistborn combat and death lore:
docs/lore/mistborn-universe.md
Testing Checkpoints
See
docs/TESTING.mdfor the full testing protocol, debug decisions, log analysis commands, and helper scripts.
-
After 3.1 + 3.2 (Lord Ruler + Religious Head):
- Test: Load the mod, open the religion view for Steel Ministry.
- Expected: The Lord Ruler appears as the religious head "Sliver of
Infinity." He holds
e_final_empire. He is alive and has thecompounder_modifier. He is not selectable as a playable character.
-
After 3.3 + 3.4 (Canonical Characters):
- Test: Load the mod, search the character finder for "Kelsier", "Vin", "Elend", "Straff", "Sazed", "Shan".
- Expected: All canonical characters exist with correct traits. Kelsier is
a Mistborn. Vin has
trait_mistborn_potential. Elend has no Allomantic traits. Steel Inquisitors have all hemalurgic traits anddisfigured. Marsh is a Seeker (not yet an Inquisitor).
-
After 3.5 (Name Lists):
- Test: Start a new game, let it run 10 years, check generated characters.
- Expected: Newborn noble characters have names like "Fellren", "Austrenne" -- not "Hans" or "Friedrich." Skaa characters have simpler names. Terris names end in "-ed" or "-wyl" patterns.
-
After 3.6 (Special Buildings):
- Test: Inspect the province view for Luthadel (b_kredik_shaw), Pits of Hathsin, Conventical of Seran.
- Expected: Special buildings are visible with appropriate bonuses. Kredik Shaw provides prestige and control. Pits provide gold but reduce opinion.
-
After 3.7 (Kandra Trait):
- Test: Use the console to add
trait_kandrato a character. Verify the trait appears with correct stats. Use the "Hire a Kandra" decision. - Expected: Trait appears with intrigue +8, diplomacy +2. The decision fires its event chain correctly.
- Test: Use the console to add
-
After 3.8 (Religion Polish):
- Test: Check each religion in the religion view. Verify descriptions, custom tenets, and custom doctrines. Check holy sites — verify each faith has 2-3 differentiated sites. Start as a Terris character, verify secret faith mechanics. Check that Cult of Ruin followers have Hemalurgy trait. Verify tradition conditions are fixed (skaa_resilience only on skaa).
- Expected: Steel Ministry shows Lord Ruler as head with custom tenets (Obligator Hierarchy, Allomantic Oversight, Imperial Mandate). Each faith has 3 unique custom tenets. Allomantic Stance and Caste Doctrine custom doctrine groups appear. Holy sites differentiated by faith. Conditional sites (Kelsier's Pyre, Well of Ascension) not yet active. Tradition conditions restrict culture-specific traditions.
-
After 3.11 (Holy Orders):
- Test: As a Steel Ministry ruler, hire the Inquisitor holy order (piety cost). Verify MaA regiment appears. Take "Request an Inquisitor" decision. Verify Inquisitor courtier arrives with spike traits. Use "Investigate Heresy" interaction on a courtier. As a Terris character, take "Seek the Keepers" decision. Verify initiation event chain. Place a Keeper and an Inquisitor in the same court — verify tension event fires.
- Expected: Holy order is hireable, Inquisitor arrives as courtier with unique interactions, Keeper Network is joinable with progression. Inquisitor yearly report to Canton fires. Keeper discovery risk events fire.
-
After 3.12 (Education):
- Test: Start a game. Assign a guardian to a noble child age 6. Verify 5
Mistborn education focuses appear (no vanilla Diplomacy/Martial/etc.).
Select Allomantic Training for a child with
trait_allomantic_potential. Play to age 16. Verify education trait is awarded (education_allomantic_X). Check if snapping event triggered during training. Assign Keeper Apprenticeship to a Terris child with a Keeper guardian. - Expected: 5 custom education tracks with correct stat bonuses per tier.
Allomantic Training can trigger snapping. Keeper Apprenticeship grants
keeper_initiateflag at tier 3+. No vanilla education content visible.
- Test: Start a game. Assign a guardian to a noble child age 6. Verify 5
Mistborn education focuses appear (no vanilla Diplomacy/Martial/etc.).
Select Allomantic Training for a child with
-
After 3.13 (Legacies):
- Test: Open dynasty view for House Venture. Verify 5 universal legacy trees and 1 house-specific tree ("Venture Supremacy") are available. No vanilla legacy trees visible. Purchase tier 1 of Allomantic Bloodline. Verify +5% allomantic potential inheritance bonus applies.
- Expected: 5 universal + 10 house-specific legacy trees. Perks grant correct bonuses. House-specific trees are shorter (3 tiers) and cheaper.
-
After 3.14 (Death Reasons + Nicknames):
- Test: Kill a character via Inquisitor execution. Check death screen — verify "Executed by a Steel Inquisitor" death reason. Use console to give a character the Survivor nickname. Check that vanilla nicknames like "the Crusader" don't appear on any characters.
- Expected: Custom death reasons show in character history. Custom nicknames display correctly. Vanilla nicknames suppressed.
-
After 3.9 (Title History + Bookmark):
- Test: Start a new game from the "End of an Empire" bookmark. Try each recommended character.
- Expected: Bookmark shows updated character names and descriptions. Straff Venture starts as king of Central Dominance. The Lord Ruler holds the empire. All vassals are correctly assigned under their lieges.
-
After 3.10 (Artifacts):
- Test: Start the game. Check the Lord Ruler's inventory for atium bracers. Check Kelsier for mistcloak and glass daggers. Check Sazed for coppermind. Use "Craft Mistcloak" decision as an Allomancer. Try equipping a coppermind on a non-Feruchemist.
- Expected: All starting artifacts are present with correct stats. Crafting decisions work. Equipment restrictions enforce trait requirements. Atium bracers show as unique legendary item.
Acceptance Criteria
- The Lord Ruler exists as character 900100 with
trait_mistborn,trait_feruchemist, andcompounder_modifier - The Lord Ruler holds
e_final_empireandd_steel_ministry_head - The Lord Ruler appears as Steel Ministry religious head in the faith view
- The Lord Ruler is not selectable as a playable character in the bookmark
- Kelsier (900200) exists as a Mistborn with
culture = skaa - Vin (900201) exists with
trait_mistborn_potentialandculture = skaa - Sazed (900202) exists as a Feruchemist with
culture = terris - Elend Venture (900002) exists with no Allomantic traits and
education_learning_4 - Shan Elariel exists as a Mistborn
- At least 3 Steel Inquisitors exist with full hemalurgic trait sets and
steel_inquisitor_powermodifier - OreSeur (900209) exists with
trait_kandra trait_kandrais defined with appropriate stats and icon reference- Custom name lists exist for all 3 cultures:
name_list_scadrial_noble,name_list_scadrial_skaa,name_list_terris - Generated characters use names from the custom name lists, not vanilla names
- Kredik Shaw, Pits of Hathsin, and Conventical of Seran have special buildings with unique effects
dynasty_rashekanddynasty_terris_stewardsare defined with localization- Terris characters are no longer assigned to noble house dynasties
- 12 custom tenets defined (3 per faith) replacing vanilla placeholders
- 3 custom doctrine groups defined: Allomantic Stance (3 options), Caste Doctrine (3 options), Gender Doctrine (3 options)
- Gender doctrine set: Steel Ministry = male preference, Survivorism and Terris = equal, Cult of Ruin = equal. Women can hold titles, serve in council, and wield Allomancy in all faiths.
- Each faith has correct custom tenets and doctrine assignments
- Holy sites expanded to ~10 total, differentiated by faith
- Conditional holy sites (Kelsier's Pyre, Well of Ascension) defined with activation triggers
- Steel Ministry: Kredik Shaw, Pits, Conventical (~3 sites)
- Terris: Tathingdwen, Terris Homeland Peaks (~2 sites, +1 conditional)
- Survivorism: Urteau, Arguois Caverns (~2 sites, +1 conditional)
- Cult of Ruin: Kredik Shaw, Pits, Ruin's Deposit (~3 sites)
- Terris secret faith mechanics functional
- Dead tradition parameters cleaned up (wired or removed)
- Tradition conditions fixed (culture-specific restrictions)
- Cult of Ruin followers receive
trait_knows_hemalurgyat game start - Faith-specific modifiers applied at game start
- Steel Inquisitor holy order hireable by Steel Ministry rulers (500 piety)
inquisitor_squadMaA type defined with correct stats- "Request an Inquisitor" decision spawns Inquisitor courtier with spike traits and unique interactions
- Inquisitor interactions functional: Investigate Heresy, Hunt Allomancers, Interrogate Prisoner
- Inquisitors report to Canton yearly (15% chance, attention +5)
- Keeper Network joinable by Terris characters with learning >= 12
- Keeper progression from initiate to full Keeper functional
- Keeper discovery risk events fire (10% yearly per Keeper)
- Inquisitor-Keeper tension events fire when both in same court
- All holy order, Inquisitor, and Keeper content has complete localization (~95 keys)
- The "End of an Empire" bookmark shows canonical characters
- All title holders in title history reference valid character IDs
- 9 artifact types defined: mistcloak, metal_vial_set, glass_daggers, dueling_canes, koloss_sword, coppermind, metalmind_set, atium_bracers, inquisitor_spike_set
- Lord Ruler starts with unique atium_bracers artifact
- Kelsier starts with mistcloak and glass_daggers
- Sazed starts with coppermind artifact
- Steel Inquisitors start with inquisitor_spike_set
- Artifact equipment restrictions work (copperminds require Feruchemist, mistcloaks require Allomancer)
- Craft Mistcloak and Forge Glass Weapons decisions function
- 5 custom education tracks defined: Allomantic Training, Noble Court, Ministry Indoctrination, Skaa Survival, Keeper Apprenticeship
- Education tracks map to lifestyles: Allomantic→Metallic Arts, Noble Court→Noble Intrigue, Ministry→Steel Ministry, Skaa→Underground, Keeper→Scholarship
- 20 education traits defined (4 tiers × 5 tracks) with appropriate stats
- Allomantic Training can trigger snapping during education (25% chance)
- Keeper Apprenticeship tier 3+ grants
keeper_initiateflag - Guardian compatibility checks enforce trait requirements
- Vanilla education focuses and events suppressed
- Education localization complete (~130 keys)
- 5 universal dynasty legacy trees (5 tiers each): Allomantic Bloodline, Political Dominance, Ministry Connections, Metallurgic Wealth, Underground Network
- 10 house-specific legacy trees (3 tiers each) for all Great Houses
- Vanilla legacy trees suppressed
- Legacy localization complete (~140 keys)
- 12 custom death reasons defined (Allomantic combat, Inquisitor execution, mist sickness, pewter drag, etc.)
- ~15 custom nicknames defined (the Survivor, Ash Lord, Sliver of Infinity, the Liberator, etc.)
- Vanilla nicknames that break immersion suppressed
- Death reason and nickname localization complete (~39 keys)
- The mod loads with no critical errors in
error.log - Playing as Straff Venture for 5 years produces no crashes
Risks & Mitigations
-
Lord Ruler immortality. CK3 may still kill high-health characters via disease events or murder schemes. Mitigation: add a scripted effect in the yearly pulse that restores the Lord Ruler's health if it drops below a threshold, or use the
immortal = yesflag if CK3 1.18 supports it on characters. -
Religious head title conflicts. If the religious head title system does not work as expected (e.g., CK3 requires a specific title tier for religious heads), fall back to making the Steel Ministry a temporal head with the Lord Ruler holding
e_final_empireas both secular and religious authority. -
Name list format compatibility. CK3's name list format has changed across versions. If the name list files don't load, verify the format against the CK3 1.18 vanilla name lists and adjust field names accordingly.
-
Special building syntax. CK3's special building system is tied to the
special_buildingflag and requires specific triggers. If the buildings don't appear, check vanilla examples like Hagia Sophia or the Pyramids for the exact trigger and flag patterns. -
Character ID conflicts. The 900xxx range may conflict with other mods. Since this is a total conversion, conflicts are unlikely, but verify no vanilla character IDs overlap.
Open Questions
-
Lord Ruler playability restriction. What is the best CK3 1.18 mechanism to prevent a character from being playable? Options: (a) game rule that excludes specific characters, (b)
is_playabletrigger on the character, (c) simply not listing in bookmarks (players can still use the character finder). Decide which approach to use. -
Kandra depth. The MASTERPLAN.md asks about kandra depth (design question #9). For M3, implement the basic
trait_kandraand a simple Contract flag. Deeper kandra mechanics (impersonation events, bone absorption) are deferred to M7. -
Government type. MASTERPLAN.md design question #6 asks about custom government. For M3, keep feudal government. A custom "Imperial Appointment" government type may be added in M4 or later.
-
Steel Inquisitor placement. How to make Inquisitors courtiers of the Lord Ruler without giving them titles? CK3 may require them to be in his court via history or an on_game_start effect. Test both approaches.