Skip to content

Uncap upgrade points with level costs, ceilings and presets - #34

Merged
Finesssee merged 3 commits into
mainfrom
feat/upgrade-points-v2
Oct 13, 2026
Merged

Finesssee merged 3 commits into
mainfrom
feat/upgrade-points-v2

Conversation

@Finesssee

Copy link
Copy Markdown
Collaborator

PR 1 of upgrade points v2 (plan agreed 2026-10-13).

What changes for viewers and mods

  • Upgrade points have no cap. Points come from wins plus check-in points, as before.
  • Levels 1-8 cost 1 point each and keep +4% each, so saved builds keep their strength. The cost doubles every 8 levels (9-16 cost 2, 17-24 cost 4). Above level 8 each level adds less and the effect closes in on a ceiling: power and guard 60%, luck 50%.
  • New mod setting maxStatLevel (Rules tab, Check-ins group, default 16, range 1-200). Levels above it stay saved but don't count on that channel.
  • Streak milestones: +1 at 3, 7, 14 and 30 as before, plus +2 at 60, +3 at 100, +5 at 200 and +10 at 365.
  • Check-in reply: "@x checked in: +2 points (7-stream streak). 18 points, 3 unspent. Spend them at ". With nothing unspent it says "all spent." and has no link.
  • Fighter page: each stat shows its next level's cost or why "+" is off, the meter follows the channel's cap, and suggested builds fill the points (the viewer still presses Save profile).

Presets to approve

12 are drafted. 4 show now; the other 8 wait for stats from PR 2 and PR 3.

Preset Weights Shows now
Balanced power 1, guard 1, luck 1 yes
Brawler power 1, guard 1 yes
Lucky striker power 1, luck 1 yes
Iron wall guard 3, power 1 yes
Glass cannon power 3, crit 2, luck 1 PR 2
Tank guard 3, vitality 3, power 1 PR 3
Counter-puncher counter 3, guard 2, dodge 1 PR 2
Duelist power 2, crit 2, dodge 1, luck 1 PR 2
Gambler luck 3, crit 3 PR 2
Ghost dodge 3, luck 2, counter 1 PR 2
Bruiser power 2, vitality 2, guard 1 PR 3
Sharpshooter crit 3, luck 2, power 1 PR 2

Calls I made

  • Pet boosts now go through the same curve. Power 8 plus a pet's +2 was 40% and is now 35.7%.
  • Stored levels are bounded at 200 (LEVEL_LIMIT) as a sanity limit.
  • The server doesn't refuse a save above maxStatLevel; those levels just don't count, so a channel can raise the cap later without losing builds.
  • Chat wording changed from "upgrade point" to "point" in the check-in line.

Checks

  • bun run check: 377 unit tests pass. New tests cover level cost, ceilings, maxStatLevel with a pet boost, presets, the 60 and 100 milestones and invalid_config_maxStatLevel.
  • bun run test:ui passes at 1280 and 390, with new asserts for the preset row and the cost line.

Points no longer cap at 20. Levels 1-8 cost 1 point and keep 4% each; the
cost doubles every 8 levels and the effect closes in on a ceiling (power and
guard 60%, luck 50%). Mods set maxStatLevel (default 16). Streak milestones
add +2 at 60, +3 at 100, +5 at 200 and +10 at 365. The check-in line shows
total and unspent points. The fighter page shows each level's cost and
suggested builds.
@coderabbitai

coderabbitai Bot commented Oct 13, 2026 •

Copy link
Copy Markdown

Important

  • 🔍 Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

⚙️ Run configuration
  • Configuration used: Repository: nesszer/pixfray/.coderabbit.yaml
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 58e6abb7-5f58-43ca-be71-529eb5e63af2
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@Finesssee
Finesssee merged commit 0f46c71 into main Oct 13, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant