Dev notes ·

Step 21: difficulty tiers Mortal → Heroic → Divine (built, compiled, untested)

  • Difficulty = parameters, never forks. DifficultyDefinition assets live in Data/Difficulty (DifficultyDataBuilder; menu Embers → Data → Create Difficulty Tiers). The PlayerSaveSlot registers the DifficultyTable; GameDifficulty holds the current tier.
  • Heroic:
    • enemies 2× health, 1.5× damage; packs ×1.35; elite chance +15%;
    • Keres burst on death (0.9 s telegraphed ring, then a small Umbral pop);
    • Shades fire a second bolt;
    • −20 Umbral/Divine resist (the stat sheet shows the effective value);
    • boss 1.8× health, Pull cooldown ×0.85;
    • rewards: 1.6× XP, 1.5× drachmae, Blessed ×1.5 and Heroic ×2 weights, affix tiers +1 (so T3 appears), Sheaf chance ×1.5.
  • Divine:
    • enemies 3.2× health, 2.1× damage; packs ×1.6; elite chance +30%;
    • elites roll two affixes ("Elite - Fleet, Warding");
    • the First Furrow raises faster (×0.6 interval);
    • −40 resist;
    • boss 2.8× health, Pull ×0.7;
    • rewards: 2.4× XP, 2× drachmae, Blessed ×2 and Heroic ×3 weights, affix tiers +2, Sheaf chance ×2.5 (37.5%).
  • Unlocks: finishing the act (flag.act1.complete) opens the next tier, announced "The Heroic road is open…". Saved as HighestDifficulty.
  • Title screen: Mortal · Heroic · Divine buttons under Continue; locked tiers are shut and the current tier is marked. Picking another tier asks first, then walks Act I again: level, gear, skills and drachmae are kept; quests, flags, waypoints and history reset. The save summary shows the tier.
  • Tests: unlock rule, StartActOver reset, neutral without a table, LootBoost tiers/weights.
  • Deferred (boss-polydegmon §10): Cold Exhale rotating, re-consumed adds empowering the boss, the Divine "Unfinished Rite", Skeletal Hoplite formations; enemy levels.
  • Compile: clean with dotnet (Unity was open). Unity tests not run yet.

All dev notes