# 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:** ⬜ Not started Files to create in `apps/api/src/data/`: - [ ] `vampireZones.ts` (18 zones) - [ ] `vampireBosses.ts` (72 bosses) - [ ] `vampireQuests.ts` (90 quests) - [ ] `vampireThralls.ts` (32 tiers across 6 classes) - [ ] `vampireEquipment.ts` (53 pieces) - [ ] `vampireEquipmentSets.ts` (9 sets) - [ ] `vampireUpgrades.ts` (58 upgrades) - [ ] `vampireSiringUpgrades.ts` (25 upgrades) - [ ] `vampireAwakeningUpgrades.ts` (15 upgrades) - [ ] `vampireMaterials.ts` (54 materials) - [ ] `vampireCrafting.ts` (36 recipes) - [ ] `vampireExplorations.ts` (72 areas, 4 per zone) - [ ] `vampireAchievements.ts` (40 achievements) --- ### Chunk 3 — Sync / Sanitize **Status:** ⬜ Not started File to update: `apps/api/src/routes/game.ts` - [ ] `validateAndSanitize` — inject vampire state defaults for existing saves - [ ] `syncNewContent` — inject missing vampire fields - [ ] Unlock Goddess Mode once `vampire.eternalSovereignty.count >= 1` (update goddess lock logic) --- ### Chunk 4 — API Routes **Status:** ⬜ Not started Files to create in `apps/api/src/routes/`: - [ ] `vampireBoss.ts` — vampire boss fight - [ ] `siring.ts` — siring (prestige) route - [ ] `awakening.ts` — awakening (transcendence) route - [ ] `vampireUpgrade.ts` — upgrade purchase - [ ] `vampireCraft.ts` — crafting - [ ] `vampireExplore.ts` — exploration File to update: - [ ] `apps/api/src/index.ts` — register all new routes --- ### Chunk 5 — UI: Resource Bar + Mode/Tab Nav **Status:** ⬜ Not started - [ ] `resourceBar.tsx` — add Blood/Ichor/Soul Shards (greyed pre-apotheosis) - [ ] `gameLayout.tsx` — fix vampire unlock condition (`apotheosis.count >= 1`) - [ ] `gameLayout.tsx` — fix goddess unlock condition (`vampire.eternalSovereignty.count >= 1`) - [ ] `gameLayout.tsx` — add vampire tab array (11 tabs) - [ ] `gameLayout.tsx` — add `.vampire-mode` body class toggle - [ ] `gameLayout.tsx` — render vampire panels in the panel conditional chain --- ### Chunk 6 — UI: Vampire Panels **Status:** ⬜ Not started Files to create in `apps/web/src/components/game/`: - [ ] `vampireZonesPanel.tsx` - [ ] `vampireBossPanel.tsx` - [ ] `vampireQuestsPanel.tsx` - [ ] `thrallsPanel.tsx` - [ ] `vampireEquipmentPanel.tsx` - [ ] `vampireUpgradesPanel.tsx` - [ ] `siringPanel.tsx` - [ ] `awakeningPanel.tsx` - [ ] `vampireCraftingPanel.tsx` - [ ] `vampireExplorationPanel.tsx` - [ ] `vampireAchievementsPanel.tsx` --- ### Chunk 7 — Tick Engine **Status:** ⬜ Not started File to update: `apps/web/src/engine/tick.ts` - [ ] Vampire passive income (blood per tick from thralls) - [ ] Ichor per tick from thralls - [ ] Quest timers — vampire quest completion and rewards - [ ] Lock state checks — zone/quest/boss unlock logic - [ ] Achievement checks — vampire achievement conditions - [ ] Offline income covers vampire mode --- ### Chunk 8 — CSS Theme **Status:** ⬜ Not started File to update: `apps/web/src/styles.css` - [ ] `body.vampire-mode` CSS variable overrides (bg, surface, accent, gold, text) - [ ] 0.3s fade transition on all major layout elements - [ ] Vampire-specific panel and UI element styles --- ### Chunk 9 — About Page **Status:** ⬜ Not started File to update: `apps/web/src/components/game/aboutPanel.tsx` - [ ] Add Vampire Mode section to `HOW_TO_PLAY` array - [ ] 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. |