Reported after a long run left the world under one dominant culture -- the existing schism only fires for a geographically distant cluster (overseas colonies), so a single unbroken landmass had nothing to check one culture quietly absorbing the whole world via border conversion. Two new independent triggers, both refactored to share the existing schism machinery via a doSchism() helper: - Dominance schism: past cultDominanceShare (80%) of the world's living population, a per-year chance rising from cultDominanceProbMin (1%) to cultDominanceProbMax (99%) at 100% share that the culture fractures on its own -- a coin flip splits off half or a fifth of its own members, the ones farthest from its own population-weighted core. - War schism: a war between two realms sharing a culture has cultWarSchismChance (50%) odds, rolled once at declaration, that one whole side renounces the shared identity and becomes a new people. Both are pure hashes of (stable id, year, seed), so step-back replays them exactly, matching the rest of Step 8. Config is the self-describing text block, so no save-version bump. Dropped an initial validateConfig() cross-rule requiring cultDominanceProbMin <= cultDominanceProbMax after finding it would reject a very natural "disable via Max=0" edit (e.g. from the Main Menu) whenever Min was left at its default -- silently reverting a player's entire config to defaults on New World. The interpolation tolerates the reverse fine since the mechanic is already gated on Max > 0. test_cultevo.cpp gains two new scenarios (dominance split, war split) alongside the existing distant-cluster one; quietCulture() now also zeros the two new rates. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01TMfyZv91tonDnPJqbaTVJE
Description
No description provided
Languages
C++
99.6%
CMake
0.4%