generated from nhcarrigan/template
0d36b255ee
Add six new goddess-mode API routes (boss fight, consecration, enlightenment, upgrade purchase, crafting, exploration) alongside matching service modules and full test suites at 100% coverage.
98 lines
5.1 KiB
Markdown
98 lines
5.1 KiB
Markdown
# Goddess Expansion — Implementation Tracker
|
|
|
|
Branch: `feat/goddess`
|
|
|
|
## Chunk 1 — Types ✅ COMPLETE
|
|
- [x] Add `GoddessZone`, `GoddessBoss`, `GoddessQuest` interfaces
|
|
- [x] Add `GoddessDisciple` (Disciples) interface
|
|
- [x] Add `GoddessEquipment`, `GoddessUpgrade` interfaces
|
|
- [x] Add `GoddessExplorationState` interface
|
|
- [x] Add `ConsecrationData` + `ConsecrationUpgrade` (Prestige) interfaces
|
|
- [x] Add `EnlightenmentData` + `EnlightenmentUpgrade` (Transcendence) interfaces
|
|
- [x] Add `GoddessAchievement` interface
|
|
- [x] Add goddess currency fields (prayers, divinity, stardust) to `Resource`
|
|
- [x] Add top-level `GoddessState` container + add `goddess?` to `GameState`
|
|
- [x] Export all new types from `packages/types`
|
|
- Lint ✅ · Build ✅ · Tests ✅ (100% coverage)
|
|
|
|
## Chunk 2 — Data ✅ COMPLETE
|
|
- [x] `goddessZones.ts` — 18 goddess zones
|
|
- [x] `goddessBosses.ts` — 72 bosses (4 per zone)
|
|
- [x] `goddessQuests.ts` — 90 quests (5 per zone)
|
|
- [x] `goddessDisciples.ts` — 32 disciple tiers (oracle/seraph/invoker/templar/herald/warden classes)
|
|
- [x] `goddessEquipment.ts` — 53 equipment pieces (18 relics, 18 vestments, 17 sigils)
|
|
- [x] `goddessEquipmentSets.ts` — 9 equipment sets (with GoddessEquipmentSet type)
|
|
- [x] `goddessUpgrades.ts` — 57 upgrades (prayers/global/combat/consecration/disciple/boss)
|
|
- [x] `goddessConsecrationUpgrades.ts` — 25 consecration upgrades
|
|
- [x] `goddessEnlightenmentUpgrades.ts` — 15 enlightenment upgrades
|
|
- [x] `goddessMaterials.ts` — 54 sacred materials (3 per zone)
|
|
- [x] `goddessCrafting.ts` — 36 crafting recipes (2 per zone)
|
|
- [x] `goddessExplorations.ts` — 72 exploration areas (4 per zone)
|
|
- [x] `goddessAchievements.ts` — 40 achievements
|
|
- [x] `GoddessEquipmentSet` + `computeGoddessSetBonuses` added to `packages/types`
|
|
- NOTE: All data files excluded from coverage until Chunk 4 routes import them
|
|
- Lint ✅ · Build ✅ · Tests ✅ (100% coverage)
|
|
|
|
## Chunk 3 — Sync / Sanitize ✅ COMPLETE
|
|
- [x] Update `validateAndSanitize` to inject goddess state defaults for existing saves
|
|
- [x] Update force-sync (`syncNewContent`) to inject missing goddess fields
|
|
- [x] Add apotheosis unlock flag handling
|
|
- Lint ✅ · Build ✅ · Tests ✅ (100% coverage)
|
|
|
|
## Chunk 4 — API Routes ✅ COMPLETE
|
|
- [x] Goddess boss fight route (`goddessBoss.ts`)
|
|
- [x] Consecration (goddess prestige) route (`consecration.ts`)
|
|
- [x] Enlightenment (goddess transcendence) route (`enlightenment.ts`)
|
|
- [x] Goddess upgrade purchase route (`goddessUpgrade.ts`)
|
|
- [x] Goddess crafting route (`goddessCraft.ts`)
|
|
- [x] Goddess exploration route (`goddessExplore.ts`)
|
|
- [x] Services: `consecration.ts`, `enlightenment.ts`
|
|
- [x] Tests for all 6 routes (100% coverage)
|
|
- Lint ✅ · Build ✅ · Tests ✅ (100% coverage)
|
|
|
|
## Chunk 5 — UI: Resource Bar + Mode/Tab Nav
|
|
- [ ] Add goddess currencies to resource bar dropdown (greyed pre-apotheosis)
|
|
- [ ] Add **Mode bar** (Row 1) — `Mortal | Goddess | Vampire` — always visible, locked modes show padlock pre-unlock
|
|
- [ ] Add **Tab bar** (Row 2) — swaps entirely based on selected mode:
|
|
- Mortal: Zones · Quests · Adventurers · Equipment · Upgrades · Prestige · Transcendence · Crafting · Exploration · Achievements · Codex · Story · Daily
|
|
- Goddess: Zones · Disciples · Quests · Equipment · Upgrades · Consecration · Enlightenment · Crafting · Exploration · Achievements
|
|
- Vampire: *(future — TBD)*
|
|
- [ ] Persist selected mode in game state (survives page reload)
|
|
- [ ] `.goddess-mode` CSS class toggle on root when Goddess mode selected
|
|
- [ ] 300ms CSS fade transition between base and goddess themes
|
|
|
|
## Chunk 6 — UI: Goddess Panels
|
|
- [ ] `GoddessZonesPanel` — zones with lock states
|
|
- [ ] `GoddessBossPanel` — boss fights
|
|
- [ ] `GoddessQuestsPanel` — quests
|
|
- [ ] `DisciplesPanel` — goddess adventurers
|
|
- [ ] `GoddessEquipmentPanel` — equipment
|
|
- [ ] `GoddessUpgradesPanel` — upgrades
|
|
- [ ] `ConsecrationPanel` — goddess prestige
|
|
- [ ] `EnlightenmentPanel` — goddess transcendence
|
|
- [ ] `GoddessCraftingPanel` — crafting
|
|
- [ ] `GoddessExplorationPanel` — exploration
|
|
- [ ] `GoddessAchievementsPanel` — achievements
|
|
|
|
## Chunk 7 — Tick Engine
|
|
- [ ] Goddess passive income (prayers, divinity accumulation)
|
|
- [ ] Disciple passive income logic
|
|
- [ ] Lock state checks (no goddess income pre-apotheosis)
|
|
- [ ] Goddess quest timer logic
|
|
|
|
## Chunk 8 — CSS Theme
|
|
- [ ] Define goddess CSS variables (soft blue primary, gold/white accents)
|
|
- [ ] Apply `.goddess-mode` overrides to all themed elements
|
|
- [ ] Verify logo stays unchanged during theme shift
|
|
- [ ] Test fade transition smoothness
|
|
|
|
## Chunk 9 — About Page
|
|
- [ ] Update `HOW_TO_PLAY` array in `aboutPanel.tsx` with Goddess expansion documentation
|
|
|
|
## Notes
|
|
- Apotheosis = the unlock gate for all goddess content (replaces original "Transcendence 20" concept — verify exact trigger)
|
|
- Goddess currencies always visible in resource bar, greyed pre-apotheosis
|
|
- All goddess tabs always visible in second row, content locked internally pre-apotheosis
|
|
- Vampire Mode will follow same pattern as third tab row (future work, not this PR)
|
|
- Sync new content must inject goddess defaults for all existing saves
|