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
+4
View File
@@ -14,6 +14,7 @@ export const DEFAULT_BOSSES: Boss[] = [
essenceReward: 25,
crystalReward: 0,
upgradeRewards: ["click_2"],
equipmentRewards: ["iron_sword", "chainmail", "mages_focus"],
prestigeRequirement: 0,
},
{
@@ -29,6 +30,7 @@ export const DEFAULT_BOSSES: Boss[] = [
essenceReward: 200,
crystalReward: 10,
upgradeRewards: ["global_2"],
equipmentRewards: ["enchanted_blade", "plate_armour", "arcane_orb"],
prestigeRequirement: 0,
},
{
@@ -44,6 +46,7 @@ export const DEFAULT_BOSSES: Boss[] = [
essenceReward: 1_000,
crystalReward: 50,
upgradeRewards: ["click_3"],
equipmentRewards: ["vorpal_sword", "dragon_scale"],
prestigeRequirement: 1,
},
{
@@ -59,6 +62,7 @@ export const DEFAULT_BOSSES: Boss[] = [
essenceReward: 5_000,
crystalReward: 200,
upgradeRewards: [],
equipmentRewards: ["philosophers_stone"],
prestigeRequirement: 3,
},
];