feat(registry): titles earned in play and picked by the player, reward looks in the catalog (P8) #26
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "feat/registry-titles"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
DodginBalls rewards-admin P8, registry half (plan
dodginballs-rewards-admin.md): titles earned in play and reward looks as catalog items. The game half follows in unity-core-playground.POST /api/v1/awardstakestitlesper player: atitleaward on either tier (decision 3: hosted progress reaches titles), granted once while live. The achievement rules live in the game, so the game server decides when a title is reached.PUT /api/v1/accounts/me/titleshows a held title (403for one not held),""clears it.GET /api/v1/accounts/meaddstitleandtitles.{ticket, session}) also returnsstats, the account's totals across games, so the server can add its own counts and tell when a title or unlock goal is reached without a read route of its own.playgroundand earned from any game.catalog.json: the nine looks from the game'sResources/Customize/unlocks.jsonas kindreward, price 0, gameplayground.Subtract first:
handleMyStats's query moved intostatTotals, shared with verify; nothing else removed.assumed: a title's key is its display text (normalized like a name), because P7's admin title is free text and the game shows it as is.
assumed: titles are ledger awards rather than derived on the registry, because the counters behind an achievement are in the game's JSON; an admin stat edit therefore does not take a title back (revoke it on the Players page).
Tests: gofmt clean, go vet clean, go test 143 pass / 0 fail (new:
TestTitlesAreEarnedOnEitherTierAndPicked,TestSessionVerifyCarriesTheAccountsTotals,TestUnlockFindsTheRewardInAnyGame).NOT DEPLOYED: needs a registry-v* tag and the home-config image bump. The game half tolerates the deployed registry (unknown fields ignored, a 404 title route hides the picker).
Item: dbr-p8-titles
https://claude.ai/code/session_01KbJcEgZUaouuvuKJo3r6YU