generated from nhcarrigan/template
feat: add apotheosis third prestige layer and remove IDEAS.md
Apotheosis is the ultimate reset — wipes absolutely everything including prestige and transcendence — in exchange for a pure bragging-rights badge. No mechanical benefit whatsoever. Unlock condition: all 15 Transcendence echo upgrades purchased. Can be achieved multiple times; each cycle requires repurchasing all Transcendence upgrades again. What survives: Codex lore entries and lifetime profile statistics. What is wiped: resources, prestige, runestones, transcendence data (echoes, echo upgrades, multipliers), equipment, upgrades, bosses, quests, zones, adventurers, achievements. New files: Apotheosis.ts type, apotheosis service, apotheosis route, ApotheosisPanel.tsx component. Modified: GameState (apotheosis field), Api.ts, types/index.ts, prestige service (carry apotheosis), transcendence service (carry apotheosis), game.ts anti-cheat (cap apotheosis count), API client, GameContext (apotheosis() function), GameLayout (new tab), ResourceBar (gold apotheosis badge shown above transcendence and prestige badges), styles.css, AboutPanel how-to-play. Also removes IDEAS.md — all planned features are now implemented!
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
export type { ApotheosisData } from "./interfaces/Apotheosis.js";
|
||||
export type { CodexEntry, CodexState } from "./interfaces/Codex.js";
|
||||
export type {
|
||||
Achievement,
|
||||
@@ -9,6 +10,8 @@ export type { Adventurer, AdventurerClass } from "./interfaces/Adventurer.js";
|
||||
export type {
|
||||
AboutResponse,
|
||||
ApiError,
|
||||
ApotheosisRequest,
|
||||
ApotheosisResponse,
|
||||
AuthResponse,
|
||||
BossChallengeRequest,
|
||||
BossChallengeResponse,
|
||||
|
||||
@@ -150,6 +150,14 @@ export interface BuyEchoUpgradeResponse {
|
||||
echoMetaMultiplier: number;
|
||||
}
|
||||
|
||||
export interface ApotheosisRequest {
|
||||
characterName: string;
|
||||
}
|
||||
|
||||
export interface ApotheosisResponse {
|
||||
newApotheosisCount: number;
|
||||
}
|
||||
|
||||
export interface ApiError {
|
||||
error: string;
|
||||
}
|
||||
|
||||
@@ -0,0 +1,4 @@
|
||||
export interface ApotheosisData {
|
||||
/** Number of times the player has achieved Apotheosis */
|
||||
count: number;
|
||||
}
|
||||
@@ -1,6 +1,7 @@
|
||||
import type { Achievement } from "./Achievement.js";
|
||||
import type { Adventurer } from "./Adventurer.js";
|
||||
import type { Boss } from "./Boss.js";
|
||||
import type { ApotheosisData } from "./Apotheosis.js";
|
||||
import type { CodexState } from "./Codex.js";
|
||||
import type { DailyChallengeState } from "./DailyChallenge.js";
|
||||
import type { TranscendenceData } from "./Transcendence.js";
|
||||
@@ -33,4 +34,6 @@ export interface GameState {
|
||||
codex?: CodexState;
|
||||
/** Transcendence (second prestige layer) state — optional for backwards compatibility */
|
||||
transcendence?: TranscendenceData;
|
||||
/** Apotheosis (third prestige layer) state — optional for backwards compatibility */
|
||||
apotheosis?: ApotheosisData;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user