From e17c57050cda0d3bfe4af295444e4a4e0ddabebf Mon Sep 17 00:00:00 2001 From: Jeroen Schweitzer Date: Sun, 8 Feb 2026 23:22:22 +0100 Subject: [PATCH] docs(meta): update project docs for M3 completion Updates CLAUDE.md project structure with all new M3 directories (artifacts, buildings, character_interactions, deathreasons, education, holy_orders, nicknames, doctrines, holy_sites) and adds new event namespaces (inquisitor, keeper, education). Cleans up Known Issues section to reflect resolved items. Checks off all M3 acceptance criteria in milestone doc. Marks NOTE-01/03/04/05 as resolved in REVIEW_NOTES.txt, leaving only NOTE-02 (map data, M8) open. Co-Authored-By: Claude Opus 4.6 --- CLAUDE.md | 30 ++++-- docs/milestones/M3-the-final-empire.md | 134 ++++++++++++------------- lords_of_ash/REVIEW_NOTES.txt | 48 ++++----- 3 files changed, 112 insertions(+), 100 deletions(-) diff --git a/CLAUDE.md b/CLAUDE.md index bef8fde..847aa41 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -8,21 +8,32 @@ universe during the Final Empire era. CK3 version 1.18.*. ``` lords_of_ash/ # The mod itself (CK3 mod directory) common/ # Game data definitions + artifacts/ # Artifact types, slots, visuals (9 Mistborn artifacts) bookmarks/bookmarks/ # Bookmark definitions (CK3 nested convention) + buildings/ # Special buildings (Kredik Shaw, Pits, Conventical) + character_interactions/ # Inquisitor interactions (investigate, interrogate) culture/ # Cultures: noble_scadrian, skaa, terris - decisions/ # Player decisions (balls, snapping, breeding) - dynasties/ # 10 Great Houses + name_lists/ # Custom name lists per culture + deathreasons/ # Custom Mistborn death causes + decisions/ # Player decisions (balls, snapping, breeding, crafting) + dynasty_legacies/ # Universal + house-specific legacy trees + dynasties/ # 10 Great Houses + Rashek + Terris Stewards dynasty_houses/ + education/ # Custom education focuses (5 Mistborn tracks) + holy_orders/ # Steel Inquisitor order, Keeper Network landed_titles/ # Dominances and holdings - men_at_arms_types/ # Hazekillers, Koloss, Mistborn Agents, etc. + men_at_arms_types/ # Hazekillers, Koloss, Mistborn Agents, Inquisitor Squad modifiers/ # Character and province modifiers + nicknames/ # Custom Mistborn nicknames on_action/ # Game hooks (birthday, yearly pulse, game start) opinion_modifiers/ # Opinion modifiers (e.g., disapproves_skaa_mercy) religion/ # Steel Ministry, Terris, Survivorism, Cult of Ruin + doctrines/ # Custom Scadrial doctrines and tenets + holy_sites/ # 10 faith-differentiated holy sites religion_families/ # Religion family definitions (rf_scadrial) scripted_effects/ # Reusable effect blocks scripted_triggers/ # Reusable condition checks - traits/ # Allomancy, Feruchemy, Hemalurgy traits + traits/ # Allomancy, Feruchemy, Hemalurgy, Kandra, Education traits events/ # Event chains (snapping, balls, Lord Ruler, etc.) history/ # Starting characters and title holders localization/english/ # All display strings (l_english.yml) @@ -62,6 +73,9 @@ Traits use the `trait_` prefix consistently: - `mistborn_atium` — Atium economy events - `mistborn_skaa` — Skaa population events - `mistborn_skaa_allomancer` — Skaa Allomancer discovery/recruitment +- `mistborn_inquisitor` — Steel Inquisitor interactions and events +- `mistborn_keeper` — Keeper Network events +- `mistborn_education` — Custom education track events ### Localization - All keys must be in `l_english` files with BOM encoding @@ -85,11 +99,9 @@ metal, compounding checks fire on the yearly pulse. ## Known Issues -See `lords_of_ash/REVIEW_NOTES.txt` for the full review. Key issues: -- Missing event files for several decisions (kandra, hemalurgy, atium, skaa) -- Missing modifier definitions (lord_ruler_attention tiers, ruin_influence, etc.) -- Missing traits for higher/Era 2 metals (chromium, aluminum, cadmium, bendalloy) -- Missing custom name lists for cultures +See `lords_of_ash/REVIEW_NOTES.txt` for the full review. Key open issues: +- No custom map data — mod reuses vanilla Swiss provinces (NOTE-02, planned for M8) +- Vanilla dependencies remain for ethoses, traits, and GFX (WARNING-02/03/04) ## Committing diff --git a/docs/milestones/M3-the-final-empire.md b/docs/milestones/M3-the-final-empire.md index 5725f64..36e5c1f 100644 --- a/docs/milestones/M3-the-final-empire.md +++ b/docs/milestones/M3-the-final-empire.md @@ -1771,95 +1771,95 @@ Allomantic achievement and political status. ## Acceptance Criteria -- [ ] The Lord Ruler exists as character 900100 with `trait_mistborn`, +- [x] The Lord Ruler exists as character 900100 with `trait_mistborn`, `trait_feruchemist`, and `compounder_modifier` -- [ ] The Lord Ruler holds `e_final_empire` and `d_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_potential` and `culture = skaa` -- [ ] Sazed (900202) exists as a Feruchemist with `culture = terris` -- [ ] Elend Venture (900002) exists with no Allomantic traits and +- [x] The Lord Ruler holds `e_final_empire` and `d_steel_ministry_head` +- [x] The Lord Ruler appears as Steel Ministry religious head in the faith view +- [x] The Lord Ruler is not selectable as a playable character in the bookmark +- [x] Kelsier (900200) exists as a Mistborn with `culture = skaa` +- [x] Vin (900201) exists with `trait_mistborn_potential` and `culture = skaa` +- [x] Sazed (900202) exists as a Feruchemist with `culture = terris` +- [x] 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 +- [x] Shan Elariel exists as a Mistborn +- [x] At least 3 Steel Inquisitors exist with full hemalurgic trait sets and `steel_inquisitor_power` modifier -- [ ] OreSeur (900209) exists with `trait_kandra` -- [ ] `trait_kandra` is defined with appropriate stats and icon reference -- [ ] Custom name lists exist for all 3 cultures: `name_list_scadrial_noble`, +- [x] OreSeur (900209) exists with `trait_kandra` +- [x] `trait_kandra` is defined with appropriate stats and icon reference +- [x] 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 +- [x] Generated characters use names from the custom name lists, not vanilla names +- [x] Kredik Shaw, Pits of Hathsin, and Conventical of Seran have special buildings with unique effects -- [ ] `dynasty_rashek` and `dynasty_terris_stewards` are 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 +- [x] `dynasty_rashek` and `dynasty_terris_stewards` are defined with localization +- [x] Terris characters are no longer assigned to noble house dynasties +- [x] 12 custom tenets defined (3 per faith) replacing vanilla placeholders +- [x] 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 +- [x] 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 +- [x] Each faith has correct custom tenets and doctrine assignments +- [x] Holy sites expanded to ~10 total, differentiated by faith +- [x] 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_hemalurgy` at game start -- [ ] Faith-specific modifiers applied at game start -- [ ] Steel Inquisitor holy order hireable by Steel Ministry rulers (500 piety) -- [ ] `inquisitor_squad` MaA type defined with correct stats -- [ ] "Request an Inquisitor" decision spawns Inquisitor courtier with spike +- [x] Steel Ministry: Kredik Shaw, Pits, Conventical (~3 sites) +- [x] Terris: Tathingdwen, Terris Homeland Peaks (~2 sites, +1 conditional) +- [x] Survivorism: Urteau, Arguois Caverns (~2 sites, +1 conditional) +- [x] Cult of Ruin: Kredik Shaw, Pits, Ruin's Deposit (~3 sites) +- [x] Terris secret faith mechanics functional +- [x] Dead tradition parameters cleaned up (wired or removed) +- [x] Tradition conditions fixed (culture-specific restrictions) +- [x] Cult of Ruin followers receive `trait_knows_hemalurgy` at game start +- [x] Faith-specific modifiers applied at game start +- [x] Steel Inquisitor holy order hireable by Steel Ministry rulers (500 piety) +- [x] `inquisitor_squad` MaA type defined with correct stats +- [x] "Request an Inquisitor" decision spawns Inquisitor courtier with spike traits and unique interactions -- [ ] Inquisitor interactions functional: Investigate Heresy, Hunt Allomancers, +- [x] 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 +- [x] Inquisitors report to Canton yearly (15% chance, attention +5) +- [x] Keeper Network joinable by Terris characters with learning >= 12 +- [x] Keeper progression from initiate to full Keeper functional +- [x] Keeper discovery risk events fire (10% yearly per Keeper) +- [x] Inquisitor-Keeper tension events fire when both in same court +- [x] 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, +- [x] The "End of an Empire" bookmark shows canonical characters +- [x] All title holders in title history reference valid character IDs +- [x] 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, +- [x] Lord Ruler starts with unique atium_bracers artifact +- [x] Kelsier starts with mistcloak and glass_daggers +- [x] Sazed starts with coppermind artifact +- [x] Steel Inquisitors start with inquisitor_spike_set +- [x] 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, +- [x] Craft Mistcloak and Forge Glass Weapons decisions function +- [x] 5 custom education tracks defined: Allomantic Training, Noble Court, Ministry Indoctrination, Skaa Survival, Keeper Apprenticeship -- [ ] Education tracks map to lifestyles: Allomantic→Metallic Arts, Noble +- [x] 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_initiate` flag -- [ ] 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, +- [x] 20 education traits defined (4 tiers × 5 tracks) with appropriate stats +- [x] Allomantic Training can trigger snapping during education (25% chance) +- [x] Keeper Apprenticeship tier 3+ grants `keeper_initiate` flag +- [x] Guardian compatibility checks enforce trait requirements +- [x] Vanilla education focuses and events suppressed +- [x] Education localization complete (~130 keys) +- [x] 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, +- [x] 10 house-specific legacy trees (3 tiers each) for all Great Houses +- [x] Vanilla legacy trees suppressed +- [x] Legacy localization complete (~140 keys) +- [x] 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, +- [x] ~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) +- [x] Vanilla nicknames that break immersion suppressed +- [x] 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 diff --git a/lords_of_ash/REVIEW_NOTES.txt b/lords_of_ash/REVIEW_NOTES.txt index c25ac71..4901dc6 100644 --- a/lords_of_ash/REVIEW_NOTES.txt +++ b/lords_of_ash/REVIEW_NOTES.txt @@ -129,12 +129,13 @@ rf_scadrial. No longer relying on auto-creation. NOTE ISSUES (Style, completeness, lore accuracy) ============================================================ -NOTE-01: MISSING CUSTOM NAME LISTS +[RESOLVED] NOTE-01: MISSING CUSTOM NAME LISTS File: common/culture/cultures/00_scadrial_cultures.txt --- -name_list_scadrial_noble, name_list_scadrial_skaa, and -name_list_terris are referenced but marked TODO. Characters will get -vanilla Western European names. Major immersion breaker. +Resolved. All three name lists populated with lore-accurate names: +noble (~30 names + 6 dynasty names with founder_named_dynasties), +skaa (lore names: Mennis, Lestibournes, Lessie, etc.), terris +(canon -ed/-wyl/-ek endings: Sazed, Tindwyl, Rashek, etc.). NOTE-02: NO MAP DATA Directory: map_data/ (missing) @@ -143,28 +144,26 @@ Province IDs remapped to vanilla Swiss region (2030-3107). No custom map exists. The mod reuses vanilla provinces, which do not match Final Empire geography. Custom map planned for M8. -NOTE-03: e_final_empire HAS NO HOLDER +[RESOLVED] NOTE-03: e_final_empire HAS NO HOLDER File: history/titles/00_mistborn_titles.txt --- -The empire title is never assigned. The Lord Ruler is mentioned in -comments but not defined as a character. The empire is vacant at -game start. Consider creating a Lord Ruler character (non-playable) -or assigning a regent. +Resolved. Lord Ruler character (900100) created and assigned as holder +of e_final_empire at game start (1020.1.1). Character is immortal +(health 10 + compounder_modifier), has trait_mistborn, trait_feruchemist, +and is_lord_ruler_trigger defined for scripted checks. -NOTE-04: TERRIS DYNASTY ASSIGNMENTS (LORE) +[RESOLVED] NOTE-04: TERRIS DYNASTY ASSIGNMENTS (LORE) File: history/characters/00_mistborn_characters.txt --- -Telden (900080) = dynasty_venture, Kwaan (900081) = dynasty_elariel, -Vedzan (900082) = dynasty_tekiel. Terris stewards served noble houses -but were not dynasty members. Consider a "Terris Stewards" dynasty -or removing dynasty assignment. +Resolved. dynasty_terris_stewards created. All Terris characters +(Telden, Vedren, Vedzan) reassigned from noble house dynasties to +dynasty_terris_stewards. Localization added. -NOTE-05: CANONICAL NAME REUSE +[RESOLVED] NOTE-05: CANONICAL NAME REUSE File: history/characters/00_mistborn_characters.txt --- -"Kwaan" is a canonical Mistborn character (historical Terris -Worldbringer). Using canonical names for original characters may -confuse players familiar with the books. Consider renaming. +Resolved. "Kwaan" (900081) renamed to "Vedren" to avoid confusion +with the canonical historical Terris Worldbringer. NOTE-06: LOCALIZATION COVERAGE --- @@ -187,10 +186,11 @@ SUMMARY (updated 2026-02-08) CRITICAL issues: 0 (all 4 resolved) WARNING issues: 3 open of 8 (WARNING-02/03/04: vanilla dependencies) 5 resolved (WARNING-01, 05, 06, 07, 08) -NOTE issues: 4 open of 6 (name lists, map, empire holder, lore) - 2 resolved/updated (NOTE-02 updated, NOTE-06 resolved) +NOTE issues: 1 open of 6 (NOTE-02: map data, planned for M8) + 5 resolved/updated (NOTE-01, NOTE-03, NOTE-04, NOTE-05 + resolved; NOTE-02 updated; NOTE-06 resolved) -All critical and most warning issues resolved. Remaining warnings are -intentional vanilla dependencies (ethoses, traits, GFX) that will be -addressed in M4/M8. Next priority: NOTE-01 (custom name lists, M3) -and NOTE-03 (Lord Ruler character, M3). +All critical issues and all M3-targeted notes resolved. Remaining +warnings are intentional vanilla dependencies (ethoses, traits, GFX) +that will be addressed in M4/M8. Only open note is NOTE-02 (custom +map data, planned for M8).