feat: add equipment, achievements, and visual polish

- Equipment system: 12 items across weapon/armour/trinket slots with
  common/rare/epic/legendary rarities; starter commons auto-equipped,
  higher tiers drop from boss victories
- Achievement system: 15 milestones with typed conditions; checked
  each tick and crystal rewards applied automatically
- Achievement toast: slide-in notification, auto-dismisses after 4s
- Floating click text: +X gold floats on each manual click
- Expanded quests (9 total) and upgrades (12 total)
- Upgrade panel now shows locked upgrades so players can see their
  progression path
- formatNumber utility (K/M/B/T) used consistently across all panels
- Backfill logic for existing saves to add new content gracefully
- types package now emits .d.ts declarations
This commit is contained in:
2026-03-06 13:27:48 -08:00
committed by Naomi Carrigan
parent a3daed1683
commit e9e0df31fd
33 changed files with 2066 additions and 133 deletions
+6 -6
View File
@@ -1,7 +1,7 @@
import type {
AuthResponse,
BossDamageRequest,
BossDamageResponse,
BossChallengeRequest,
BossChallengeResponse,
LoadResponse,
PrestigeRequest,
PrestigeResponse,
@@ -61,10 +61,10 @@ export const saveGame = async (body: SaveRequest): Promise<SaveResponse> =>
body: JSON.stringify(body),
});
export const dealBossDamage = async (
body: BossDamageRequest,
): Promise<BossDamageResponse> =>
request<BossDamageResponse>("/boss/damage", {
export const challengeBoss = async (
body: BossChallengeRequest,
): Promise<BossChallengeResponse> =>
request<BossChallengeResponse>("/boss/challenge", {
method: "POST",
body: JSON.stringify(body),
});