Files
elysium/vampire.md
T

255 lines
7.6 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:** ⬜ 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. |