Files
elysium/vampire.md
T

257 lines
7.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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 39 all complete — tracker was not updated during implementation. All checkboxes reconciled. |