Files
lords-of-ash/CHANGELOG.md
T
2026-02-08 23:01:10 +01:00

210 lines
21 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
## [Unreleased]
### Added
- Custom education system: 5 Mistborn-themed education tracks (Allomantic Training, Noble Court, Ministry Indoctrination, Skaa Survival, Keeper Apprenticeship) replacing vanilla education focuses
- 20 education traits (4 tiers per track) with setting-appropriate stat bonuses and special mechanics (Allomantic Master: +10% Mistborn chance, Underground Veteran: +15% scheme resistance, Senior Obligator+: can_become_obligator, Keeper Scholar+: keeper_initiate)
- 12 education events: snapping during training, first noble ball, canton examinations, Inquisitor patrol evasion, coppermind lessons, and more
- 5 guardian compatibility triggers for education track matching
- Vanilla education suppression to prevent medieval focuses from appearing
- Steel Inquisitor holy order: hireable military order with inquisitor_squad MaA (100 soldiers, damage 150), 500 piety cost, court terror events, and yearly Canton reporting mechanic
- Keeper Network holy order: clandestine scholarly network with join/advance/teach decisions, Ministry discovery risk (10% yearly), and coppermind sharing events
- 3 Inquisitor character interactions: Investigate Heresy, Hunt Allomancers, Interrogate Prisoner — each with intrigue checks, cooldowns, and Lord Ruler attention consequences
- Inquisitor vs Keeper tension events: bronze Allomancy detection (25% heightened chance), distraction options, keeper exposure mechanics
- 5 Inquisitor/Keeper scripted triggers: is_inquisitor_trigger, is_court_inquisitor_trigger, is_keeper_trigger, is_keeper_initiate_trigger, is_keeper_or_initiate_trigger
- ~90 localization keys for holy orders, decisions, interactions, and events
- Dynasty legacies: 5 universal tracks (Allomantic Bloodline, Political Dominance, Ministry Connections, Metallurgic Wealth, Underground Network) with 5 tiers each, plus 10 house-specific tracks (one per Great House) with 3 tiers each — 55 perks total replacing vanilla legacies
- 12 custom tenets replacing vanilla placeholders: Steel Ministry (obligator_hierarchy, allomantic_oversight, imperial_mandate), Terris Worldbringers (keepers_vow, preservation_of_knowledge, worldbringer_mission), Survivorism (kelsiers_sacrifice, hope_in_ash, underground_network), Cult of Ruin (hemalurgic_rites, embrace_destruction, ruins_whispers)
- 3 custom doctrine groups: Allomantic Stance (divine/controlled/forbidden), Caste Doctrine (divine order/irrelevant/tool), Gender Doctrine (male preference/equal/irrelevant)
- 5 new holy sites with faith differentiation: Terris Homeland Peaks, Arguois Caverns, Ruin's Deposit, The Survivor's Square (conditional), Well of Ascension (conditional)
- 3 faith-specific modifiers (steel_ministry, survivorism, cult_of_ruin) applied at game start via on_action
- Cult of Ruin auto-hemalurgy: followers automatically receive trait_knows_hemalurgy at game start
- Lord Ruler character (Rashek, ID 900100): immortal god-emperor holding e_final_empire, full Mistborn + Feruchemist with compounder_modifier, health=10 for immortality
- Dynasty Rashek and House Rashek with localization
- is_lord_ruler_trigger and is_playable_scadrian_trigger scripted triggers
- Lord Ruler set as Steel Ministry religious head via d_steel_ministry_head title ("Sliver of Infinity") with doctrine_spiritual_head
- 12 custom death reasons: Allomantic combat, Inquisitor execution, mist sickness, pewter drag, hemalurgic sacrifice, atium overdose, ashfall, koloss attack, Pits of Hathsin, rebellion, Lord Ruler's wrath, smoker failure
- 15 custom nicknames: the Survivor, the Heir, Ash Lord, Sliver of Infinity, the Ascendant, Mistborn of, the Inquisitor, Keeper of Ages, the Liberator, House Destroyer, Steel Hand, the Underground, Atium King, Last Obligator, New Emperor
- Vanilla nickname suppression via replace_path (removes immersion-breaking medieval titles)
- 3 special buildings: Kredik Shaw (prestige/dread palace), Pits of Hathsin (atium mine with gold income), Conventical of Seran (Inquisitor HQ with scheme power) — all pre-built at game start
- Kelsier's crew: 10 canonical characters (Kelsier, Vin, Sazed, Breeze, Ham, Clubs, Dockson, Marsh, Yeden, OreSeur) with family relationships and lore-accurate traits
- Kandra trait (trait_kandra) with shapeshifter stats: intrigue +8, diplomacy +2, health +2, attraction_opinion -10
- Kandra-specific trigger (is_kandra_trigger) and kandra added to hemalurgic spike detection
- Kandra Contract scripted effect (assign_kandra_contract_effect) for binding kandra to a master
- 6 new noble dynasty names (Yomen, Ffnord, Getrue, Habren, Izenry, Ostlin)
- Lore-accurate names from milestone spec: noble names with -en/-ren/-nd/-sh and -enne/-ine/-ise/-ette endings, skaa lore names (Mennis, Lestibournes, Lessie), and more
### Changed
- Terris names rewritten with lore-accurate patterns (-ed/-wyl/-ek) replacing algorithmic -end/-rel/-el suffixes
- Removed misplaced names from wrong culture lists (Oreseur from noble, Sazed from skaa)
- Localization Gotchas section in CK3 modding reference: religion mapping blocks, trait double-prefix, name list loc, county adjectives, culture extra keys, province history for TCs
- Complete faith custom localization for all 4 religions: 128 deity/priest/term keys per faith with localization mapping blocks in religion definitions
- Localization for all ~200 name list names, 50 county adjectives, culture/heritage/tradition keys, double-prefix trait keys, game rule keys, and holy site keys
- Custom name lists for noble Scadrian, skaa, and Terris cultures with lore-appropriate names, dynasty names, and cadet dynasty names
- Default province history for all 2,413 unused vanilla provinces (eliminates error log flooding)
- 27 new modifier definitions: 6 base modifiers (mist_heavy, fertile_ashland, full_crew, eleventh_metal_insight, duel_veteran, atium_contract_holder) and 21 flavor event modifiers with localization
- 4 Feruchemy/savant modifier icons (60x60 DDS, hammered-metal coin style): pewter metalmind (strength), copper metalmind (memories), gold metalmind (health), savant power surge
- Character lore documentation for "The End of an Empire" bookmark: 19 character profiles (Lord Ruler, Kelsier's crew, Venture family, Shan Elariel, Kar, and 4 Great House heads) plus an index with relationship glossary and CK3 implementation notes
- 16 event scene background illustrations (1592x848 DXT1 DDS) with scene-class system: noble interiors (court, ball, private chamber) with bright marble and colored fabrics, institutional interiors (temple, dungeon, ruins), noble arena (fighting pit as Colosseum-style spectacle), skaa/underclass (streets, plantation, underground, market), and exteriors (wilderness, battlefield, mists, ashmount close-up, clear night)
- Event background scene-class overlay system in asset-gen skill: 5 overlays (Noble interior, Institutional interior, Noble arena, Skaa/underclass, Exterior) for consistent art direction
- Flavor events registry (`docs/events-registry.md`) cataloging ~112 proposed events: 17 chain extensions, 32 new arc steps across 7 multi-event chains, 63 one-shot flavor events, and 8 artifact acquisition events
- M7 task group 7.14 (Flavor Events Expansion) referencing the central events registry
- 21 flavor event modifier icons (60x60 DDS, hammered-metal coin style) for underground network, keeper advisor, pewter gate champion, mist scholar/warden/denier, ruin pact, ministry insider, combat veteran, underground contacts, house rivalry, attention aftermath trio, mist sickness, ashfall crisis, metal shortage, skaa loyalty/resentment, double agent, artifact corruption
- 21 new flavor event modifier icons planned in REQUIRED_ASSETS.md (underground network, keeper advisor, pewter gate champion, mist scholar, and more)
- 8 new event scene backgrounds planned in REQUIRED_ASSETS.md (underground hideout, fighting pit, ruins, plantation, private chamber, market, ashmount close-up, clear night)
- 21 custom modifier icons (60x60 DDS, hammered-metal coin style) covering compounding, Lord Ruler attention tiers, Steel Ministry, ash blight, koloss, metal reserves, and future M4-M8 modifiers
- Feruchemy activation event chain for Terris characters (discovery + first metalmind)
- Allomantic training system: decisions and events for mentoring family Allomancers
- Metal supply management: acquire metals, black market, wartime scarcity events
- Savant acquisition and consequences events for long-term Allomancers
- Late snapping event for characters age 17-30 (triggered by imprisonment/trauma)
- Hemalurgy expansion: Inquisitor transformation, Ruin's whispers, Ministry discovery events
- Sandbox mode decision to test for metallic arts potential (any culture)
- Men-at-arms recruitment restrictions (culture, rank, Allomancer requirements)
- Metal reserve modifiers (abundant/low/depleted) affecting Allomancer effectiveness
- Feruchemy modifiers: Keeper of Terris, first metalmind variants (pewter/copper/gold)
- Savant power surge modifier for uncontrolled metal-burning episodes
- Atium reserve and brutal repression modifiers
- Opinion modifiers for parent reactions to snapping outcomes
- has_multiple_spikes_trigger for Inquisitor transformation eligibility
- On-imprison hook for late snapping
- Game start metal supply grants for starting Allomancers
### Fixed
- Duplicate gender doctrines removed from all 4 religions (custom Scadrial gender doctrines replace vanilla ones, not coexist)
- Lore-inaccurate names corrected: "metalmic_preservation" → "preservation_of_knowledge", "Kelsier's Pyre" → "The Survivor's Square"
- Tradition can_pick conditions restricted to appropriate cultures: noble_intrigue to noble_scadrian, skaa_resilience to skaa, terris_scholarship to terris
- Dead tradition parameters removed (allomantic_potential_bonus, noble_intrigue_bonus, skaa_resilience_bonus, terris_scholarship_bonus) — never referenced by any trigger
- Holy sites differentiated per faith: Steel Ministry gets 3, Terris 3, Survivorism 3, Cult of Ruin 3 (instead of all faiths sharing the same 5)
- Modifier icon paths use bare names via `common/modifier_icons/` indirection (eliminates ~50 doubled-path warnings)
- Game start initialization event uses correct `scope = none` with `every_living_character` (matches vanilla `on_game_start` pattern)
- Negative `add_gold` replaced with `remove_short_term_gold` in hemalurgy bribe option
- Single-item OR wrapper removed from Mistborn parent check in allomancy activation
- Invalid `[ROOT.GetName]` data function removed from religious head title loc keys
- `disappointed_opinion` renamed to `disappointed_by_snapping_opinion` to avoid collision with vanilla opinion modifier
- Modifier icons and `on_game_start` scope documented in CK3 modding reference gotchas and pitfalls table
- Added localization for 37 custom character names (eliminates all untidy warnings from ck3-tiger)
- Removed deprecated `color2` field from all 78 landed titles (no longer used in CK3 1.18)
- Duplicate localization key (breeding_for_allomancy_modifier) removed from decisions loc
- Name list dynasty_names blocks added (CK3 requires both dynasty_names and cadet_dynasty_names)
- 9 modifier icon paths pointing to wrong placeholder icons (compounder.dds, lord_ruler_attention.dds) now reference dedicated DDS files
- Game crash on bookmark character select caused by cascading mod load failures
- UTF-8 BOM encoding added to all .txt files (CK3 requires BOM for reliable parsing)
- Trait groups without level field (CK3 unset the group, breaking mutual exclusivity)
- genetic + inherit_chance conflict on all Allomantic/Feruchemical traits (CK3 1.18 error)
- Doubled trait icon paths (gfx/interface/icons/traits/ prepended twice)
- on_game_start effect block overriding vanilla (moved to event-based initialization)
- Missing head_determination culture pillar on all three Scadrian cultures
- Non-existent event background references (corridor.dds, battlefield.dds)
- Missing localization keys for trait groups, trait_ prefix lookups, and Terris faith custom loc
- Invalid event themes (skulduggery, mystery, learning_skill) replaced with valid CK3 themes
- Loc key hash collision (mistborn_feruchemy.0010.c → opt_c)
- county_opinion → county_opinion_add in brutal_repression modifier
- Skaa allomancer recruitment now uses random Misting type instead of hardcoded Coinshot
- Atium events use decrease_lord_ruler_attention_effect for consistency
- Snapping effect redirected to event chain as single source of truth
- Duralumin and nicroburst added to compounding check triggers
### Changed
- Player test instructions in test protocol made more explicit for human testers
- Men-at-arms rebalanced: Koloss max reduced (300→150), costs increased; Mistborn Agent damage reduced (100→80); Hazekiller counter multiplier doubled; Skaa Levy max halved
- Narrative/Sandbox game mode toggle on the game setup screen
- 34 vanilla decision suppression files — only Mistborn decisions appear
- Bookmark group (bm_group_1020) and placeholder bookmark portraits
- Bookmark background art for "End of an Empire" scenario
- Vanilla bookmark suppression — all base-game bookmarks hidden for total conversion
- 5 custom loading screen illustrations: Vin in the Mists, Luthadel Skyline, Kredik Shaw, Ashmounts, and Kelsier Overlooking — 1024x1024 DDS
- Asset-gen skill (`.claude/skills/asset-gen/`) for AI-powered visual asset generation using Nano Banana (Gemini 2.5 Flash Image) MCP tool — includes style guide, category prompt templates, and DDS conversion reference
- 26 trait icons for the full metallic arts system: 12 Misting types, Mistborn, 3 Allomantic strength tiers, 2 Allomantic potential tiers, Feruchemist + potential, and 6 Hemalurgy variants — dark fantasy painterly style at 120x120 uncompressed ARGB DDS
- Visual asset requirements document (`docs/REQUIRED_ASSETS.md`) cataloguing all ~200+ assets needed across M1-M8: trait icons, modifier icons, decision illustrations, custom map files, loading screens, bookmark art, CoA emblems, religion icons, lifestyle assets, activity assets, event backgrounds, portraits, and workshop thumbnail — with verified specs from CK3 v1.18 game files
### Fixed
- Province history now uses correct vanilla map IDs (was 1-105, now 2030-3107)
- Scripted triggers correctly distinguish active vs dormant Allomancers/Feruchemists
- Lord Ruler attention unified on variable-based system with automatic tiered modifiers
- Language pillars now have required color property
- Vanilla bookmark suppression entries include required start_date field
- Replaced 14 invalid negative add_gold calls with remove_short_term_gold
- Synced project documentation with codebase: added missing directories to CLAUDE.md structure tree, removed resolved M1 item from MASTERPLAN, corrected stale cross-reference in REVIEW_NOTES
### Added
- Gender doctrine system planned for M3: male preference (Steel Ministry), equal (Survivorism, Terris), with full female participation in politics, council, and Allomancy
- Gender preference on government types planned for M4: male preference under Imperial rule, equal post-rebellion
- Custom education system (5 tracks mapped to lifestyles, 20 traits, snapping during Allomantic Training) planned for M3
- Dynasty legacies (5 universal × 5 tiers + 10 house-specific × 3 tiers) planned for M3
- Custom death reasons (12) and character nicknames (~15) planned for M3
- Custom government types (Imperial Appointment, Theocratic Ministry, Post-Rebellion Elective) planned for M4
- Custom factions (Skaa Rebellion, Ministry Loyalist, Noble Reform, Keeper Underground, Cult of Ruin) planned for M4
- Custom vassal contracts (6 Mistborn-specific terms including Atium Tithe and Inquisition Access) planned for M4
- Custom secret types (8) and hooks (3) planned for M4
- Custom court types (Noble Keep, Ministry Canton, Underground Hideout) planned for M4
- Portrait modifier system (10 triggers for M8 art) planned for M4
- Testing protocol document (`docs/TESTING.md`) with debug decisions, log analysis, validation scripts, and Claude Code testing workflow
- Testing protocol cross-reference added to all milestone docs (M1-M8)
- ck3-tiger static analysis via Makefile (`make setup`, `make lint`) with auto-download of platform binary
- Pre-commit lint step in commit skill
- Custom religion system planned for M3: 12 custom tenets, 2 custom doctrine groups (Allomantic Stance, Caste Doctrine), expanded and faith-differentiated holy sites with conditional activation
- Steel Inquisitor holy order and individual Inquisitor request mechanic planned for M3
- Keeper Network secret society with progression, coppermind sharing, and Ministry discovery risk planned for M3
- Full council retheme (5 positions, 10 custom tasks) and 7 court positions (Royal Court) planned for M4
- Caste law system (Strict/Relaxed/Abolished) with cross-caste consequence events planned for M4
- Cultural innovation system (Age of the Lord Ruler + Age of Liberation) planned for M4
- Band council with 7 crew roles, vacancy penalties, and role-specific events planned for M5
- Advanced council interaction events (kandra replacement, Smoker vs Seeker, Obligator betrayal, Keeper reveal) planned for M7
- Post-endgame choice: seize the Lord Ruler's throne or release the kingdoms planned for M7
- Legend system suppression added to M4 vanilla suppression pass
- Detailed milestone implementation documents (M1-M8) with tasks, acceptance criteria, and testing checkpoints
- Milestone document template for consistent structure
- Metal supply and scarcity system planned for M2
- Royal Court artifact system (9 core types) planned for M3
- 5 custom Mistborn lifestyles replacing vanilla planned for M5
- 8 Mistborn-specific activities and rethemed vanilla activities planned for M5/M7
- Orient skill (`/orient`) for lightweight context bootstrapping in new sessions
- Project README.md as a lean entry point for orientation
- "The End of an Empire" bookmark scenario with event planning
- Province history for all Scadrian provinces
- Bookmark localization
- CK3 game install skill for log analysis and vanilla comparison
- Commit skill for structured commit messages
- Project masterplan and design ideas documents
### Fixed
- Fixed decision `picture` fields, `add_opinion` syntax, and `stress` cost placement
- Used correct vanilla trait names in AI decision weights (`callous` not `cruel`, etc.)
- Renamed deprecated modifier fields across traditions, modifiers, and events (`monthly_dynasty_prestige_mult`, `county_opinion_add`, `owned_personal_scheme_success_chance_add`)
- Removed deprecated `hostile_scheme_power_mult` and `hostile_scheme_resistance_mult` modifiers
- Moved opinion modifier (`disapproves_skaa_mercy`) to `common/opinion_modifiers/`
- Fixed all doctrine keys to match CK3 1.18 (`doctrine_monogamy`, gender-split adultery, `doctrine_theocracy_lay_clergy`, etc.)
- Fixed tenet keys (`tenet_legalism`, `tenet_religious_legal_pronouncements`, `tenet_unrelenting_faith`)
- Removed invalid `reformed_icon` from non-pagan faiths
- Created missing `rf_scadrial` religion family definition
- Fixed holy site `is_active` from block to value syntax
- Fixed `has_modifier`/`add_modifier``has_character_modifier`/`add_character_modifier` in events and on_actions
- Moved bookmarks to `common/bookmarks/bookmarks/` subdirectory (CK3 1.18 path)
- Removed no-op `ai_primary_priority` block from empire title
- Moved `cultural_acceptance_gain_mult` to `culture_modifier` block in Terris tradition
- Removed invalid `index` fields from all trait files (CK3 1.18 auto-assigns indices)
- Fixed `opposite``opposites` keyword on allomantic strength traits
- Fixed decision `picture` to use `reference` block syntax
- Changed deprecated `beautiful` trait to `beauty_good_3` on characters
- Removed redundant `male = yes` from character history (CK3 defaults to male)
- Game crash on load caused by `@#` comment prefix in mod files
- Game crash caused by missing `ethnicities` block on all three cultures
- Cultures not appearing in-game due to empty pillar definitions (heritage and language missing required `type`, `is_shown`, and `ai_will_do` fields)
- Stray province errors from map cleaner due to invalid province IDs
### Changed
- Expanded MASTERPLAN scope: added education, legacies, governments, factions, vassal contracts, secrets, court types, and portrait modifiers
- Expanded MASTERPLAN scope: added council, religion, caste, innovation, and holy order systems
- Standardized post-endgame flag to `lord_ruler_fallen` across all milestone docs
- Expanded MASTERPLAN scope: added metal supply, artifacts, lifestyles, and activities across milestones
- Added Royal Court DLC as a dependency
- Bumped supported CK3 version from 1.12 to 1.18 (Crane)
- Added Roads to Power DLC as a mod dependency
- Added commit skill instructions to CLAUDE.md
- Renamed mod directory from `mistborn_final_empire` to `lords_of_ash` and mod descriptor to `lords-of-ash.mod`
- Province IDs remapped from placeholders (1-105) to vanilla CK3 provinces centered on Switzerland (Kredik Shaw = Bern)
- Updated review notes to reflect current mod status
- Added missing modifier definitions