ogrechkoandClaude Sonnet 5 be53908471 Clicker: more content, hero role labels, prestige shop
More levels (30->60) and heroes (6->10) in the flagship dungeon so the
curve stays climbable at the new range. Each hero row now shows
whether it improves click damage, hits passively, or both — derived
from its existing bonus fields (heroRoleLabel), never hand-authored,
so it can't drift out of sync with what the hero actually does.

New permanent account-wide upgrade shop, funded by a currency
("crystals") earned by clearing clicker dungeons — kept deliberately
separate from the real coin wallet (wallets/coinTransactions, spent on
real-money purchases and manual save), so clicker play can never be
used to farm real-money-equivalent value. Same atomic-transaction
shape as spendCoins in src/lib/wallet/service.ts throughout:

- claimCompletionReward is idempotent per (user, game) via a unique
  index — replaying and re-winning the same dungeon can't farm
  crystals twice. Verified through the real HTTP API, not just the
  service layer: claim, claim again (no-op), confirm balance
  unchanged.
- buyPrestigeUpgrade does the same read-check-debit-increment
  atomicity check as spendCoins — verified an insufficient-crystal
  purchase leaves no partial debit.
- The two upgrades (click damage %, gold gain %) apply automatically
  in every clicker game via a new accountBonuses prop threaded through
  GameCanvas/PlaySession (same optional-passthrough shape already used
  for initialState/onProgress) down into the registry the scene reads.
- /api/games/[id]/complete correctly rejects non-clicker games (400) —
  the reward is clicker-specific.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QcXH24ky6zjk2UyK5oZUPH
2026-08-01 03:04:55 +00:00
2026-07-31 17:43:29 +00:00
2026-07-31 17:06:29 +00:00
2026-07-31 17:06:29 +00:00
2026-07-31 17:06:29 +00:00

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.

S
Description
No description provided
Readme
243 KiB
0 Stars 1 Watchers 0 Forks
Languages
TypeScript 98%
CSS 1.6%
Dockerfile 0.2%
JavaScript 0.2%