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:
@@ -2441,3 +2441,84 @@ body {
|
||||
cursor: not-allowed;
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
/* ── Apotheosis ─────────────────────────────────────────────────────────── */
|
||||
|
||||
.apotheosis-badge {
|
||||
background: linear-gradient(135deg, #78350f, #d97706, #fbbf24);
|
||||
border-radius: 999px;
|
||||
color: #1c1917;
|
||||
font-size: 0.85rem;
|
||||
font-weight: 700;
|
||||
padding: 0.25rem 0.75rem;
|
||||
}
|
||||
|
||||
.apotheosis-panel .apotheosis-intro {
|
||||
color: var(--colour-text-muted);
|
||||
font-size: 0.95rem;
|
||||
margin-bottom: 0.75rem;
|
||||
}
|
||||
|
||||
.apotheosis-reward {
|
||||
background: linear-gradient(135deg, rgba(120, 53, 15, 0.2), rgba(217, 119, 6, 0.2));
|
||||
border: 1px solid #d97706;
|
||||
border-radius: var(--radius);
|
||||
font-size: 1rem;
|
||||
margin: 1rem 0;
|
||||
padding: 0.75rem 1rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.apotheosis-count {
|
||||
background: var(--colour-surface);
|
||||
border: 1px solid #d97706;
|
||||
border-radius: var(--radius);
|
||||
margin: 0.75rem 0;
|
||||
padding: 0.75rem 1rem;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.apotheosis-status {
|
||||
background: var(--colour-surface);
|
||||
border: 1px solid #d97706;
|
||||
border-radius: var(--radius);
|
||||
margin: 1rem 0;
|
||||
padding: 1rem;
|
||||
}
|
||||
|
||||
.apotheosis-status p {
|
||||
margin: 0.25rem 0;
|
||||
}
|
||||
|
||||
.apotheosis-missing {
|
||||
color: var(--colour-text-muted);
|
||||
font-size: 0.9rem;
|
||||
}
|
||||
|
||||
.apotheosis-ready {
|
||||
color: #fbbf24;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.apotheosis-button {
|
||||
background: linear-gradient(135deg, #78350f, #d97706);
|
||||
border: none;
|
||||
border-radius: var(--radius);
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
font-size: 1rem;
|
||||
font-weight: 700;
|
||||
margin-top: 0.5rem;
|
||||
padding: 0.75rem 2rem;
|
||||
transition: opacity 0.2s;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.apotheosis-button:hover:not(:disabled) {
|
||||
opacity: 0.85;
|
||||
}
|
||||
|
||||
.apotheosis-button:disabled {
|
||||
cursor: not-allowed;
|
||||
opacity: 0.4;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user