# Vampire Mode — Implementation Progress Tracking file for the Vampire Mode expansion (Issue #131). Update this file at the start and end of every chunk so we can resume safely after any crash. --- ## Unlock Chain (corrected) ``` Mortal → Apotheosis → Vampire Mode → Eternal Sovereignty → Goddess Mode → Deification ``` - **Vampire Mode** unlocks at `apotheosis.count >= 1` - **Goddess Mode** unlocks at `vampire.eternalSovereignty.count >= 1` --- ## Terminology | Base Game | Vampire Mode | |-----------------|--------------------| | Gold | Blood | | Essence | Ichor | | Crystals | Soul Shards | | Runestones | Bloodstones | | Echoes | Whispers | | Click action | Hunt | | Adventurers | Thralls | | Prestige | Siring | | Transcendence | The Awakening | | Apotheosis | Eternal Sovereignty| --- ## Tuning | Setting | Base Game | Vampire Mode | |------------------------|-----------|---------------------| | Gold income multiplier | 1× | ~0.3× | | Boss HP | Standard | Substantially higher| | Quest failure chance | 10%–40% | 20%–60% | | Prestige threshold | Standard | Higher | | Transcendence threshold| Standard | Higher | --- ## Content Scale | Content Type | Count | |---------------------------|-------| | Zones | 18 | | Bosses | 72 (~4 per zone) | | Quests | 90 (~5 per zone) | | Thrall tiers | 32 | | Equipment pieces | 53 | | Equipment sets | 9 | | Upgrades | 58 | | Siring upgrades | 25 | | Awakening upgrades | 15 | | Achievements | 40 | | Exploration areas | 72 (4 per zone) | | Crafting recipes | 36 | | Materials | 54 | --- ## Colour Palette (`.vampire-mode`) | Role | Use | Hex | |---------|--------------|-----------| | Primary | Dark blood | `#5C0A1A` | | Secondary | Rich crimson | `#C41E3A` | --- ## Zone List (18 zones — gothic/vampire theme) 1. Haunted Catacombs 2. Blood Mire 3. Obsidian Keep 4. Crimson Citadel 5. Shadow Court 6. Plague Ossuary 7. Ashen Wastes 8. The Iron Gaol 9. Veilborn Hollow 10. Moonless Moor 11. The Sunken Crypt 12. Desecrated Sanctum 13. Carrion Peaks 14. The Bloodspire 15. Shroud of Eternity 16. The Abyssal Vault 17. Court of Whispers 18. The Eternal Abyss --- ## Thrall Classes (6 classes for 32 tiers, mirroring disciple pattern) | Class | Flavour | |--------------|-------------------------------------| | Fledgling | Newly turned, weak but numerous | | Revenant | Undead soldiers, reliable fighters | | Shade | Shadow-walkers, passive blood earners| | Bloodbound | Thralls bound by blood oath | | Wraith | Semi-corporeal, ichor specialists | | Ancient | Elder thralls, peak power | --- ## Chunk Progress ### Chunk 1 — Types **Status:** ✅ Complete (2026-04-14) Files to create in `packages/types/src/interfaces/`: - [x] `vampireZone.ts` - [x] `vampireBoss.ts` - [x] `vampireQuest.ts` - [x] `vampireThrall.ts` - [x] `vampireEquipment.ts` - [x] `vampireEquipmentSet.ts` (includes `computeVampireSetBonuses`) - [x] `vampireUpgrade.ts` - [x] `vampireSiring.ts` - [x] `vampireAwakening.ts` - [x] `vampireAchievement.ts` - [x] `vampireExploration.ts` - [x] `vampireState.ts` (includes `eternalSovereignty` count for goddess unlock gate) Files to update: - [x] `resource.ts` — added `blood?`, `ichor?`, `soulShards?` optional fields - [x] `gameState.ts` — added `vampire?: VampireState` - [x] `packages/types/src/index.ts` — all new types exported Build: ✅ `pnpm --filter @elysium/types build` passes clean. --- ### Chunk 2 — Data **Status:** ✅ Complete (2026-04-15) Files to create in `apps/api/src/data/`: - [x] `vampireZones.ts` (18 zones) - [x] `vampireBosses.ts` (72 bosses) - [x] `vampireQuests.ts` (90 quests) - [x] `vampireThralls.ts` (32 tiers across 6 classes) - [x] `vampireEquipment.ts` (53 pieces) - [x] `vampireEquipmentSets.ts` (9 sets) - [x] `vampireUpgrades.ts` (58 upgrades) - [x] `vampireSiringUpgrades.ts` (25 upgrades) - [x] `vampireAwakeningUpgrades.ts` (15 upgrades) - [x] `vampireMaterials.ts` (54 materials) - [x] `vampireCrafting.ts` (36 recipes) - [x] `vampireExplorations.ts` (72 areas, 4 per zone) - [x] `vampireAchievements.ts` (40 achievements) --- ### Chunk 3 — Sync / Sanitize **Status:** ✅ Complete File to update: `apps/api/src/routes/game.ts` - [x] `validateAndSanitize` — inject vampire state defaults for existing saves - [x] `syncNewContent` — inject missing vampire fields - [x] Unlock Goddess Mode once `vampire.eternalSovereignty.count >= 1` (update goddess lock logic) --- ### Chunk 4 — API Routes **Status:** ✅ Complete Files to create in `apps/api/src/routes/`: - [x] `vampireBoss.ts` — vampire boss fight - [x] `siring.ts` — siring (prestige) route - [x] `vampireAwakening.ts` — awakening (transcendence) route - [x] `vampireUpgrade.ts` — upgrade purchase - [x] `vampireCraft.ts` — crafting - [x] `vampireExplore.ts` — exploration File to update: - [x] `apps/api/src/index.ts` — register all new routes --- ### Chunk 5 — UI: Resource Bar + Mode/Tab Nav **Status:** ✅ Complete - [x] `resourceBar.tsx` — add Blood/Ichor/Soul Shards (greyed pre-apotheosis) - [x] `gameLayout.tsx` — vampire unlock condition (`apotheosis.count >= 1`) - [x] `gameLayout.tsx` — goddess unlock condition (`vampire.eternalSovereignty.count >= 1`) - [x] `gameLayout.tsx` — vampire tab array (11 tabs) - [x] `gameLayout.tsx` — `.vampire-mode` body class toggle - [x] `gameLayout.tsx` — vampire panels rendered in the panel conditional chain --- ### Chunk 6 — UI: Vampire Panels **Status:** ✅ Complete Files to create in `apps/web/src/components/game/`: - [x] `vampireZonesPanel.tsx` - [x] `vampireBossPanel.tsx` - [x] `vampireQuestsPanel.tsx` - [x] `vampireThrallsPanel.tsx` - [x] `vampireEquipmentPanel.tsx` - [x] `vampireUpgradesPanel.tsx` - [x] `vampireSiringPanel.tsx` - [x] `vampireAwakeningPanel.tsx` - [x] `vampireCraftingPanel.tsx` - [x] `vampireExplorationPanel.tsx` - [x] `vampireAchievementsPanel.tsx` --- ### Chunk 7 — Tick Engine **Status:** ✅ Complete File to update: `apps/web/src/engine/tick.ts` - [x] Vampire passive income (blood per tick from thralls) - [x] Ichor per tick from thralls - [x] Quest timers — vampire quest completion and rewards - [x] Lock state checks — zone/quest/boss unlock logic - [x] Achievement checks — vampire achievement conditions - [x] Offline income covers vampire mode --- ### Chunk 8 — CSS Theme **Status:** ✅ Complete File to update: `apps/web/src/styles.css` - [x] `body.vampire-mode` CSS variable overrides (bg, surface, accent, gold, text) - [x] Vampire tab bar active state styling - [x] Vampire placeholder styling --- ### Chunk 9 — About Page **Status:** ✅ Complete File to update: `apps/web/src/components/game/aboutPanel.tsx` - [x] Add Vampire Mode section to `HOW_TO_PLAY` array - [x] Document: mode switching, currencies, zones, bosses, quests, thralls, equipment, upgrades, siring, awakening, crafting, exploration, achievements --- ## Session Log | Date | Work Done | |------------|-----------| | 2026-04-14 | Created this file. Audit confirmed all Goddess chunks complete. Beginning Vampire Mode. | | 2026-04-14 | Chunk 1 complete. 12 type files created, Resource + GameState + index.ts updated. Build passes clean. | | 2026-04-15 | Chunk 2 complete. All 13 data files created. vampireExplorations.ts written in 6 sub-chunks (72 areas). Build passes clean. | | 2026-05-06 | Audit confirmed Chunks 3–9 all complete — tracker was not updated during implementation. All checkboxes reconciled. |