80 Commits
Author SHA1 Message Date
jpmschweitzerandClaude Opus 4.6 e17c57050c 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 <noreply@anthropic.com>
2026-02-08 23:22:22 +01:00
jpmschweitzerandClaude Opus 4.6 2ccd47daaa fix(loc): remove duplicate Norren localization key
Norren appeared twice in the character names file (lines 89 and 236).
Removed the second occurrence to prevent ambiguity.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 23:22:12 +01:00
jpmschweitzerandClaude Opus 4.6 772a1fcb54 feat(artifacts): add Mistborn artifact types and definitions
Adds complete artifact system with 9 Mistborn-themed artifact types:
mistcloaks, metal vial sets, glass daggers, dueling canes, koloss
swords, obsidian axes, atium beads, copperminds, and lord's seals.
Includes type definitions, templates, visuals, features, feature
groups, and equipment slots. All artifacts have localization.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 23:22:07 +01:00
jpmschweitzerandClaude Opus 4.6 c2d7c425fd feat(effects): add artifact creation scripted effects
Adds reusable scripted effects for creating 9 Mistborn artifact
types: mistcloaks, metal vial sets, glass daggers, dueling canes,
koloss swords, obsidian axes, atium beads, copperminds, and
lord's seals. Each effect accepts a $QUALITY$ parameter.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 23:22:02 +01:00
jpmschweitzerandClaude Opus 4.6 70eb591453 feat(decisions): add Feruchemy in secret and artifact crafting decisions
Adds practice_feruchemy_in_secret_decision for Terris Worldbringer
characters to preserve Feruchemical knowledge while hiding from the
Steel Ministry. Includes yearly discovery risk mechanic and Lord Ruler
attention scaling.

Also adds artifact crafting decision stubs at end of file.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 23:21:56 +01:00
jpmschweitzerandClaude Opus 4.6 3387dd4d1f feat(bookmarks): add Kelsier and Vin, update bookmark to canonical names
Adds Kelsier (Survivor of Hathsin) and Vin (street urchin with
Mistborn potential) as bookmark characters with placeholder portraits.
Updates existing bookmark data to match canonical character names and
birth dates (Devinshae → Straff Venture, Shanvere → Shan Elariel).
Both new characters marked as "hard" difficulty with M5 playability
note.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 23:21:50 +01:00
jpmschweitzerandClaude Opus 4.6 bf1256bc2c feat(history): replace vanilla education traits with custom Mistborn tracks
Replaces all 50 vanilla education traits (education_diplomacy_*,
education_stewardship_*, etc.) across all starting characters with
the 5 custom Mistborn education tracks:

- Noble characters → education_noble_court (diplomacy/intrigue)
- Allomantic combatants → education_allomantic (martial/prowess)
- Skaa characters → education_skaa (intrigue/prowess)
- Terris Keepers → education_keeper (learning/stewardship)
- Steel Inquisitors → education_ministry (learning/stewardship)

Also fixes trait_allomantic_strength_strong → trait_allomantic_strong
on the Lord Ruler (mismatched the actual trait definition name).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 23:21:43 +01:00
jpmschweitzerandClaude Opus 4.6 8e66a75ddd feat(education): add custom education system with 5 tracks and 20 traits
Implement the full Mistborn education system replacing vanilla CK3
education. Includes:
- 5 education focuses (allomantic, noble_court, ministry, skaa, keeper)
- 20 education traits (4 tiers × 5 tracks) with stat bonuses
- 12 education events across all 5 tracks
- 5 guardian compatibility scripted triggers
- Vanilla education suppression file
- 112 localization keys for focuses, traits, events, and tooltips

Special mechanics: allomantic tier 4 grants +10% Mistborn chance,
skaa tier 4 grants +15% hostile scheme resistance, ministry tier 3+
grants can_become_obligator, keeper tier 3+ grants keeper_initiate.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 23:00:55 +01:00
jpmschweitzerandClaude Opus 4.6 3684c478c8 feat(religion): add Inquisitor and Keeper scripted triggers
Add 5 new triggers for identifying Inquisitors and Keepers:
is_inquisitor_trigger, is_court_inquisitor_trigger,
is_keeper_trigger, is_keeper_initiate_trigger,
is_keeper_or_initiate_trigger. Used by holy order events
and character interactions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:47:16 +01:00
jpmschweitzerandClaude Opus 4.6 348b840d06 chore(meta): update changelog
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:46:39 +01:00
jpmschweitzerandClaude Opus 4.6 ceee092cdd feat(legacies): add 5 universal and 10 house-specific dynasty legacies
Replace vanilla legacy tracks with Mistborn-themed equivalents:
- 5 universal tracks (Allomantic Bloodline, Political Dominance,
  Ministry Connections, Metallurgic Wealth, Underground Network)
  with 5 tiers each (25 perks total)
- 10 house-specific tracks (one per Great House) with 3 tiers
  each (30 perks total)
- Full localization for all tracks, perks, and modifier names
- replace_path for vanilla dynasty_legacies suppression

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:46:24 +01:00
jpmschweitzerandClaude Opus 4.6 0a10a01703 feat(traits): add 12 custom death reasons and 15 nicknames
Add Mistborn-specific 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). Add 15 custom nicknames (the Survivor,
Ash Lord, Sliver of Infinity, the Ascendant, etc.). Suppress vanilla
nicknames via replace_path to prevent immersion-breaking medieval
titles. Full localization with lore descriptions for all entries.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:40:15 +01:00
jpmschweitzerandClaude Opus 4.6 4c7ee43e70 fix(religion): remove duplicate doctrines and apply lore naming fixes
Remove 4 duplicate gender doctrine entries flagged by QA:
- Steel Ministry: remove vanilla doctrine_gender_male_dominated
  (conflicts with custom doctrine_gender_male_preference)
- Terris: remove duplicate doctrine_gender_equal in custom block
- Survivorist: remove duplicate doctrine_gender_equal in custom block
- Cult of Ruin: remove vanilla doctrine_gender_male_dominated
  (conflicts with custom doctrine_gender_irrelevant)

Apply lore reviewer naming corrections:
- Rename tenet_metalmic_preservation → tenet_preservation_of_knowledge
  ("metalmic" is not a term from the books)
- Rename holy site "Kelsier's Pyre" → "The Survivor's Square"
  (Kelsier was killed in combat, not burned on a pyre)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:39:14 +01:00
jpmschweitzerandClaude Opus 4.6 7f8a534b95 feat(buildings): add 3 special buildings for key Scadrial locations
Add Kredik Shaw (Lord Ruler's palace — prestige, piety, dread, control),
Pits of Hathsin (atium mine — gold income, tax, negative opinion), and
Conventical of Seran (Inquisitor HQ — piety, martial, dread, scheme
power). All use type=special with barony-locked can_construct triggers.
Pre-built via province history so they exist at game start.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:37:15 +01:00
jpmschweitzerandClaude Opus 4.6 32ffe7a5c4 fix(culture): restrict traditions to appropriate cultures and remove dead params
Fix tradition can_pick conditions so each is culture-specific:
- tradition_noble_intrigue: restricted to noble_scadrian
- tradition_skaa_resilience: restricted to skaa
- tradition_terris_scholarship: restricted to terris
- tradition_allomantic_heritage: kept as heritage_scadrial (all)

Remove dead parameters blocks (allomantic_potential_bonus,
noble_intrigue_bonus, skaa_resilience_bonus, terris_scholarship_bonus)
that were never referenced by any scripted triggers.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:35:50 +01:00
jpmschweitzerandClaude Opus 4.6 66dba4d9e3 feat(history): add Kelsier's crew as canonical characters
Add 12 characters for the core Mistborn cast: Kelsier (900200),
Vin (900201), Sazed (900202), Breeze (900203), Ham (900204),
Clubs (900205), Dockson (900206), Marsh (900207), Yeden (900208),
OreSeur (900209), plus deceased parents (900210-900211). Set family
relationships (Kelsier/Marsh brothers, Vin's mother with
allomantic potential). Kelsier gets pits_survivor flag and
wounded_1 trait. Traits sourced from character profile docs for
lore accuracy.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:35:31 +01:00
jpmschweitzerandClaude Opus 4.6 a2e5dc5b33 data(culture): improve name lists with lore-accurate patterns
Replace algorithmic Terris names (-end/-rel/-el) with lore-accurate
patterns (-ed/-wyl/-ek) matching canon names (Sazed, Tindwyl, Rashek).
Add milestone-spec noble names with proper endings (-en/-ren/-nd/-sh
for male, -enne/-ine/-ise/-ette for female). Add missing skaa names
from lore (Mennis, Lestibournes, Lessie). Add 6 noble dynasty names
(Yomen, Ffnord, Getrue, Habren, Izenry, Ostlin). Enable
founder_named_dynasties on noble list. Remove Oreseur (kandra) and
Sazed (Terris) from noble/skaa lists where misplaced.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:34:34 +01:00
jpmschweitzerandClaude Opus 4.6 1d0440f2df feat(religion): set Lord Ruler as Steel Ministry religious head
Change steel_ministry_religion from doctrine_no_head to
doctrine_spiritual_head. Create d_steel_ministry_head religious
title ("Sliver of Infinity") and assign Lord Ruler (900100) as
holder. Add religious_head reference in steel_ministry faith block.
Also includes custom Scadrial doctrines, updated tenets, and
revised holy sites for all four faiths (3.8 changes).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:32:47 +01:00
jpmschweitzerandClaude Opus 4.6 4666a232db feat(history): add Lord Ruler character and assign e_final_empire
Add Rashek (ID 900100) as the immortal god-emperor of the Final
Empire. Full Mistborn and Feruchemist with health=10 for
immortality, compounder_modifier applied at game start. Create
dynasty_rashek and house_rashek with localization. Assign
e_final_empire to the Lord Ruler in title history, resolving
REVIEW_NOTES NOTE-03. Add safety-net on_game_start effect for
compounder_modifier.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:30:19 +01:00
jpmschweitzerandClaude Opus 4.6 1ffc721265 feat(hemalurgy): add kandra trait and contract mechanics
Add trait_kandra (index 266) with intrigue +8, diplomacy +2, health +2,
attraction_opinion -10. Add is_kandra_trigger and update
has_hemalurgic_spike_trigger to include kandra. Create
assign_kandra_contract_effect for contract bonding. Add trait
localization with double-prefix keys.

Also includes is_lord_ruler_trigger and is_playable_scadrian_trigger
added to the triggers file by a teammate.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 22:29:31 +01:00
jpmschweitzerandClaude Opus 4.6 d4021f4522 fix(loc): remove 17 duplicate localization keys
Removed 10 dynasty name keys duplicated between cultures and dynasties
loc files, 5 character names (Conrad, Kayna, Mare, Miren, Shan) that
collide with vanilla, and dynnp_of already in vanilla. Moved b_bindal
title override to localization/english/replace/ for proper vanilla key
replacement.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 14:09:11 +01:00
jpmschweitzerandClaude Opus 4.6 7a92103a27 fix(mod): add replace_path for provinces and decisions
Province history for Luthadel showed vanilla Swabian/Catholic instead
of Noble Scadrian/Steel Ministry because vanilla province history was
merging with ours. Added replace_path for history/provinces to use
only our province data.

DLC decisions (Secure Mediterranean, Train for Tournament, Favor
Skilled Outsiders, etc.) leaked through because they live in
dlc_decisions/ subdirectories. Added replace_path for common/decisions
and all 12 DLC decision subdirectories.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 14:09:00 +01:00
jpmschweitzerandClaude Opus 4.6 ae20bdc446 fix(modifiers): fix double-encoded BOM on modifier_icons file
The file had a double-encoded BOM (C3 AF C2 BB C2 BF instead of
EF BB BF) from being written through a Latin-1 → UTF-8 path.
CK3 requires a proper 3-byte UTF-8 BOM.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 13:31:51 +01:00
jpmschweitzerandClaude Opus 4.6 0426174ed9 fix(loc): fix data function errors and opinion modifier collision
- Removed invalid [ROOT.GetName] from ReligiousHeadTitleName keys
  across all 4 faiths plus fallback (ck3-tiger: Custom/GetName cannot
  follow a Scope promote)
- Renamed disappointed_opinion to disappointed_by_snapping_opinion to
  avoid collision with vanilla opinion modifier of same name
- Added loc keys for the renamed opinion modifier and
  guilty_about_snapping_opinion

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 13:21:44 +01:00
jpmschweitzerandClaude Opus 4.6 0d8256e658 fix(events): correct scope, range, and logic warnings
- Changed mistborn_init.0001 from character_event to scope=none with
  every_living_character, matching vanilla on_game_start pattern
- Replaced negative add_gold with remove_short_term_gold in hemalurgy
  bribe option
- Removed single-item OR wrapper around any_parent Mistborn check in
  activate_allomancy_effect

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 13:21:34 +01:00
jpmschweitzerandClaude Opus 4.6 2a0e444cfc fix(modifiers): use bare icon names via modifier_icons indirection
CK3 resolves modifier icons through common/modifier_icons/ definitions.
Using full DDS paths in the icon field causes the engine to double the
path (gfx/.../gfx/.../icon.dds.dds), producing ~50 missing-file
warnings. Created modifier_icons definitions for all 45 icons and
switched all modifier icon fields to bare names.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 13:21:28 +01:00
jpmschweitzerandClaude Opus 4.6 809d95aa04 loc(loc): add game rule and misc localization keys
Add game rule keys (rule_mistborn_game_mode, narrative/sandbox
setting names and descriptions) and utility keys (easy, medium).
Add missing discover_metallic_arts_decision_confirm key.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 13:02:38 +01:00
jpmschweitzerandClaude Opus 4.6 e87faf83df loc(traits): add double-prefix trait localization keys
CK3 looks up traits with both trait_X and trait_trait_X prefixes.
Added trait_trait_* entries for all 22 metallic arts traits
(name + desc) to eliminate ck3-tiger warnings.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 13:01:55 +01:00
jpmschweitzerandClaude Opus 4.6 417059955e loc(culture): add culture, heritage, and tradition loc keys
Add missing keys: heritage/language _name, culture prefix and
collective_noun, tradition _name variants, and culture_parameter
bonus descriptions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 13:01:43 +01:00
jpmschweitzerandClaude Opus 4.6 292bf74e47 loc(religion): add complete faith custom localization
Add localization mapping blocks to all 4 religions in the
definition file — CK3 requires explicit localization = { }
blocks to map generic keys (HighGodName, PriestMale, etc.)
to faith-prefixed loc strings.

Add ~960 loc entries covering all 128 custom loc keys for
each faith (steel_ministry, survivorism, terris_worldbringers,
cult_of_ruin): deity names/pronouns, priest/bishop/devotee
titles, religious terms, afterlife, holy war names, holy site
double-prefix keys, and religion adherent names.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 13:01:20 +01:00
jpmschweitzerandClaude Opus 4.6 dcb1e6956a loc(titles): add county adjective localization
CK3 uses <county>_adj keys for demonyms. Added adjective forms
for all 50 counties across the six Dominances.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 13:00:53 +01:00
jpmschweitzerandClaude Opus 4.6 04a1d215e8 loc(culture): add localization for all name list names
Every name in the three name lists (noble_scadrian, skaa, terris)
needs a loc key for CK3 to display it. Added ~200 name entries
plus the dynnp_of dynasty prefix key.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 13:00:46 +01:00
jpmschweitzerandClaude Opus 4.6 b9fc315c07 data(history): slim default provinces to skip vanilla-defined IDs
Regenerated 99_default_provinces.txt to only cover 2,413 province
IDs that have no history in either vanilla or our mod. Previously
covered all 13,164 non-mod IDs, causing ~30K duplicate-field
warnings from ck3-tiger for provinces vanilla already defines.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 13:00:39 +01:00
jpmschweitzerandClaude Opus 4.6 a2c8f96234 loc(culture): add localization for 37 custom character names
CK3 requires a loc key for every name= value in character history.
All 37 custom names from 00_mistborn_characters.txt now have entries,
clearing the remaining untidy(missing-localization) warnings.

ck3-tiger now reports 0 fatal, 0 error, 0 untidy.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 12:19:08 +01:00
jpmschweitzerandClaude Opus 4.6 5950d7101a fix(titles): remove deprecated color2 from all landed titles
CK3 1.18 no longer uses color2 on titles. Removing 78 instances
eliminates all untidy(unneeded) warnings from ck3-tiger.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 12:12:03 +01:00
jpmschweitzerandClaude Opus 4.6 84deb30df4 data(history): add default province data for unused vanilla provinces
Provide holding=none defaults for all 13,164 vanilla province IDs
not used by the mod. Prevents ~27K "Province with no county data"
error log messages that were flooding the logs and making it hard
to spot real mod issues during testing.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 12:10:26 +01:00
jpmschweitzerandClaude Opus 4.6 4fdece1ede fix(loc): remove duplicate breeding_for_allomancy_modifier key
This key was defined in both decisions and modifiers localization
files. The authoritative definition lives in mistborn_modifiers,
so remove the stale duplicate from mistborn_decisions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 12:10:18 +01:00
jpmschweitzerandClaude Opus 4.6 dcb8a36b93 feat(culture): add name lists with dynasty names and localization
Add custom name lists for noble_scadrian, skaa, and terris cultures
with male/female names, dynasty names, and cadet dynasty names.
Add localization for all name list and dynasty name keys. Remove
stale TODO comments from culture definitions.

Fixes ck3-tiger errors for missing name_list references and game
log warnings about 0 dynasty names.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 12:10:12 +01:00
jpmschweitzerandClaude Opus 4.6 ab7b2e35e2 feat(modifiers): add missing modifier definitions, fix icon paths, generate icons
- Fix 9 modifiers pointing to wrong placeholder icons (compounder.dds,
  lord_ruler_attention.dds) — now reference their own dedicated DDS files
- Add 6 missing base modifier definitions (mist_heavy, fertile_ashland,
  full_crew, eleventh_metal_insight, duel_veteran, atium_contract_holder)
- Add 21 flavor event modifier definitions with stat blocks
- Add localization for all new modifiers (name + description)
- Generate 4 new modifier icons on the hammered-metal coin base:
  first_metalmind_strength, first_metalmind_memories,
  first_metalmind_health, savant_power_surge
- Zero modifiers now use placeholder icons (except compounder itself)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 11:29:44 +01:00
jpmschweitzerandClaude Opus 4.6 d41f4d0e7d docs(meta): update project status across all tracking documents
MASTERPLAN current state reflects M1 complete, M2 ~85% done with
full inventory of what exists and what's missing. REQUIRED_ASSETS
adds completion tracking table (92/230+ assets, ~40%). Events
registry status corrected from "none implemented" to reflect M2
events and completed modifier icons/backgrounds. REVIEW_NOTES
resolves WARNING-01 (pillars), WARNING-05 (attention unified),
WARNING-06/07 (trigger distinctions), WARNING-08 (religion family),
updates NOTE-02 (province IDs), and corrects summary counts.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 10:24:20 +01:00
jpmschweitzerandClaude Opus 4.6 59eece6015 feat(events): add 16 event scene background illustrations
16 event backgrounds at 1592x848 DXT1 DDS covering all scene
types: 3 noble interiors (court, ball, private_chamber), 3
institutional interiors (temple, dungeon, ruins), 1 noble arena
(fighting_pit), 4 skaa/underclass (streets, plantation,
underground, market), and 5 exteriors (wilderness, battlefield,
mists, ashmount_close, clear_night). Noble interiors use bright
marble and colored fabrics to contrast wealth against ash-choked
exteriors. Fighting pit designed as noble spectacle arena per
Mistborn lore.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 10:12:08 +01:00
jpmschweitzerandClaude Opus 4.6 d4dc71e123 feat(modifiers): add 21 flavor event modifier icons
Hammered-metal coin style icons for the flavor events expansion:
underground network, keeper advisor, pewter gate champion, mist
scholar/warden/denier, ruin pact, ministry insider, combat veteran,
underground contacts, house rivalry, cautious/defiant/paranoid ruler
(attention aftermath trio), mist sickness, ashfall crisis, metal
shortage, skaa loyalty/resentment, double agent, artifact corruption.

60x60 uncompressed ARGB DDS with 6 mipmap levels.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 09:48:32 +01:00
jpmschweitzerandClaude Opus 4.6 9b9de332b8 feat(modifiers): add 21 modifier icons
Painterly hammered-metal coin style, dark background, 60x60
uncompressed ARGB with 6 mipmap levels. Covers all modifiers
currently referenced in code (compounder, lord ruler attention
tiers, steel ministry, ash blight, koloss rampage, metal reserves)
plus future M4-M8 modifiers (great house status, atium supply,
breeding, ruin influence, inquisitor power, mist, fertile ashland,
full crew, eleventh metal, duel veteran, atium contract).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-08 08:30:19 +01:00
jpmschweitzerandClaude Opus 4.6 84d0a20b10 loc(traits): add missing localization keys
- Add trait group display names (allomancy, strength, potential,
  feruchemy groups)
- Add trait_trait_ prefixed keys for CK3's loc lookup convention
  (mistborn, mistborn_potential, feruchemy_potential, knows_hemalurgy)
- Add terris culture loc (collective_noun, prefix)
- Add terris_worldbringers faith custom loc (deity names, priest
  titles, afterlife, house of worship, religious text, etc.)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 22:52:26 +01:00
jpmschweitzerandClaude Opus 4.6 4dbe353ba7 fix(mod): fix culture pillar, on_game_start override, event backgrounds
- Add head_determination = head_determination_domain to all three
  Scadrian cultures (required by CK3 1.18)
- Move on_game_start initialization from effect block to
  mistborn_init.0001 event to avoid overriding vanilla's effect block
- Replace non-existent event backgrounds (corridor.dds, battlefield.dds)
  with valid vanilla keys (study, wilderness)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 22:52:15 +01:00
jpmschweitzerandClaude Opus 4.6 ddd595f71b fix(traits): fix groups, genetic inheritance, and icon paths
- Remove group from Misting/Mistborn/potential/Feruchemy traits that
  lacked a level field (CK3 unsets the group and logs errors)
- Add level = 1/2/3 to allomantic strength traits (proper progression)
- Remove inherit_chance and both_parent_has_trait_inherit_chance from
  all genetic traits (CK3 1.18 considers this an error)
- Set birth values (0.0-1.0 range) to control inheritance frequency
- Fix doubled icon paths: remove gfx/interface/icons/traits/ prefix
  that CK3 auto-prepends, causing double-pathed lookups

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 22:52:05 +01:00
jpmschweitzerandClaude Opus 4.6 e31761db68 fix(encoding): add UTF-8 BOM to all .txt files
CK3 requires UTF-8 BOM on .txt data files. Without it, every file
logs a parse warning and data loading becomes unreliable. Added BOM
(EF BB BF) to all 76 .txt files under lords_of_ash/.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 22:51:53 +01:00
jpmschweitzerandClaude Opus 4.6 6292734baf loc(events): add localization for all M2 content
Add localization for: training events (4 events, 12 options),
metal supply events (4 events, 10 options), Feruchemy events
(2 events, 5 options), hemalurgy events (3 events, 9 options),
savant events (2 events, 6 options), late snapping event, sandbox
event. Add loc for new decisions (training, metal supply, black
market, sandbox). Add modifier descriptions for metal reserves,
savant power surge, Feruchemy metalminds, keeper_of_terris,
atium_reserve, and brutal_repression.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 22:36:51 +01:00
jpmschweitzerandClaude Opus 4.6 85a46c307e feat(on_action): wire M2 events and add game start metal supplies
Add all new yearly pulse events: metal supply, Feruchemy discovery,
Inquisitor transformation, Ruin's whispers, Hemalurgy discovery,
savant acquisition/consequences. Add duralumin/nicroburst to
compounding check. Add on_imprison hook for late snapping. Grant
starting metal reserves to Allomancers at game start (abundant for
nobles, low for skaa).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 22:36:44 +01:00
jpmschweitzerandClaude Opus 4.6 18c0924427 fix(events): fix skaa allomancer recruitment and atium attention
Replace hardcoded Coinshot trait on skaa recruits with random
Misting type via activate_allomancy_effect, matching lore that
skaa Allomancers manifest varied abilities. Replace inline
lord_ruler_attention variable changes in atium events with
decrease_lord_ruler_attention_effect for consistency.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-07 22:36:37 +01:00