[TASK-010] Prestige rework — loop memories + path bonuses (Phase 5) #13

Closed
opened 2026-05-13 10:45:01 +02:00 by Anexim · 1 comment
Owner

Objective

Rework the prestige system to include two parts: (A) Loop Memories that persist across loops, and (B) Path-specific permanent upgrade trees that unlock based on the player's chosen path from TASK-009.

Part A: Loop Memories (Keep + Expand)

The Memory system is the best part of prestige. Keep it and expand:

  • Memory slots persist across loops (deep memory prestige upgrade is fine)
  • Memories can be: a skill level, a spell, a completed enchantment design, or an attunement XP chunk
  • Add "Memory Imprinting" — at loop end, player chooses which memories to keep

Work Items

  • Define Memory type in src/lib/game/types/ (issue #9 tracks the missing type — coordinate with it)
  • Implement memory imprinting UI at loop end (choose which memories to carry forward)
  • Update prestigeStore.ts to support selective memory retention
  • Write unit tests for memory imprinting logic

Part B: Path Bonuses (New)

Instead of a generic upgrade shop, each path gets its own permanent upgrade tree:

Combat Path Permanents

  • Veteran's Edge: Start each loop at floor 5 instead of 1
  • Battle-Hardened: +10% pact multipliers carry forward
  • Guardian's Boon: Guardian XP from last loop carries forward 25%

Crafting Path Permanents

  • Master Craftsman: 1 enchantment design persists across loops
  • Runework Memory: Enchanter XP carries forward 30%
  • Crafting Legacy: 1 crafted item persists per loop

Utility Path Permanents

  • Eternal Scholar: +20% starting mana per loop
  • Time Mastery: Incursion starts 2 days later
  • Insight Cascade: +15% insight per loop permanently

Universal Upgrades (Minimal)

  • Extra memory slot (+insight cost)
  • UI options (loop history, achievement display)
  • Starting equipment quality (common → uncommon after loop 5)

Data Structure Needed

interface PrestigePathBonus {
  id: string;
  path: 'combat' | 'crafting' | 'utility' | 'universal';
  name: string;
  description: string;
  cost: number; // insight cost
  effect: PrestigeEffect; // define effect type
  purchased: boolean;
}

Work Items

  • Define PrestigePathBonus data structure and all 9 path bonuses + 3 universal
  • Create path bonus data files (similar to data/achievements.ts pattern)
  • Update prestigeStore.ts to track purchased path bonuses
  • Implement path bonus effects in computeStats() or as a separate computation layer
  • Implement Memory type (coordinate with #9)
  • Implement memory imprinting at loop end
  • Add UI for path bonus selection (new tab/panel in prestige screen)
  • Write unit tests for prestige path bonuses
  • Write unit tests for memory imprinting

Blockers

  • Depends on TASK-009 (path selection and attunement expansion) for the path concept
  • Depends on issue #9 (Memory type) for the memory system

Acceptance Criteria

  • 3 path-specific upgrade trees + 3 universal upgrades available at prestige
  • Memory imprinting works at loop end
  • Prestige store tests pass
  • Path bonuses are correctly applied in stat computation
  • npx tsc --noEmit passes

Reference

  • Remediation Plan: Part 4 — Prestige System Rework
  • Store: src/lib/game/stores/prestigeStore.ts
  • Existing type: src/lib/game/types/ (needs Memory type from #9)
## Objective Rework the prestige system to include two parts: (A) Loop Memories that persist across loops, and (B) Path-specific permanent upgrade trees that unlock based on the player's chosen path from TASK-009. ## Part A: Loop Memories (Keep + Expand) The Memory system is the best part of prestige. Keep it and expand: - Memory slots persist across loops (deep memory prestige upgrade is fine) - Memories can be: a skill level, a spell, a completed enchantment design, or an attunement XP chunk - **Add "Memory Imprinting"** — at loop end, player chooses which memories to keep ### Work Items - [ ] Define `Memory` type in `src/lib/game/types/` (issue #9 tracks the missing type — coordinate with it) - [ ] Implement memory imprinting UI at loop end (choose which memories to carry forward) - [ ] Update `prestigeStore.ts` to support selective memory retention - [ ] Write unit tests for memory imprinting logic ## Part B: Path Bonuses (New) Instead of a generic upgrade shop, each path gets its own permanent upgrade tree: ### Combat Path Permanents - **Veteran's Edge**: Start each loop at floor 5 instead of 1 - **Battle-Hardened**: +10% pact multipliers carry forward - **Guardian's Boon**: Guardian XP from last loop carries forward 25% ### Crafting Path Permanents - **Master Craftsman**: 1 enchantment design persists across loops - **Runework Memory**: Enchanter XP carries forward 30% - **Crafting Legacy**: 1 crafted item persists per loop ### Utility Path Permanents - **Eternal Scholar**: +20% starting mana per loop - **Time Mastery**: Incursion starts 2 days later - **Insight Cascade**: +15% insight per loop permanently ### Universal Upgrades (Minimal) - Extra memory slot (+insight cost) - UI options (loop history, achievement display) - Starting equipment quality (common → uncommon after loop 5) ## Data Structure Needed ```typescript interface PrestigePathBonus { id: string; path: 'combat' | 'crafting' | 'utility' | 'universal'; name: string; description: string; cost: number; // insight cost effect: PrestigeEffect; // define effect type purchased: boolean; } ``` ## Work Items - [ ] Define `PrestigePathBonus` data structure and all 9 path bonuses + 3 universal - [ ] Create path bonus data files (similar to `data/achievements.ts` pattern) - [ ] Update `prestigeStore.ts` to track purchased path bonuses - [ ] Implement path bonus effects in `computeStats()` or as a separate computation layer - [ ] Implement `Memory` type (coordinate with #9) - [ ] Implement memory imprinting at loop end - [ ] Add UI for path bonus selection (new tab/panel in prestige screen) - [ ] Write unit tests for prestige path bonuses - [ ] Write unit tests for memory imprinting ## Blockers - Depends on TASK-009 (path selection and attunement expansion) for the path concept - Depends on issue #9 (Memory type) for the memory system ## Acceptance Criteria - 3 path-specific upgrade trees + 3 universal upgrades available at prestige - Memory imprinting works at loop end - Prestige store tests pass - Path bonuses are correctly applied in stat computation - `npx tsc --noEmit` passes ## Reference - Remediation Plan: Part 4 — Prestige System Rework - Store: `src/lib/game/stores/prestigeStore.ts` - Existing type: `src/lib/game/types/` (needs Memory type from #9)
Anexim added the ai:todo label 2026-05-13 10:45:01 +02:00
n8n-gitea was assigned by Anexim 2026-05-13 10:45:01 +02:00
Author
Owner

Blocked by Issue #15: migration to Active Disciplines

Blocked by Issue #15: migration to Active Disciplines
Anexim added the ai:blocked label 2026-05-16 13:34:02 +02:00
Anexim added ai:done and removed ai:todoai:blocked labels 2026-05-18 10:19:01 +02:00
Anexim removed the ai:done label 2026-05-18 10:19:28 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Anexim/Mana-Loop#13