feat: v2 — queue matchmaking, procedural audio, sprite archetypes, auth

- Add queue-based matchmaking with Elo-proximity and 10s timeout
- Procedural sound engine (SFX, voice announcer, 4-track music)
- Sprite system refactored into 6 archetypes (standard, lobster, sheep, cyborg, blob, tank)
- 42+ fight choreographies with themed/generic/wild card selection
- 4 KO finish styles, super-speed mode, hyperdetail close-ups
- Auth routes, JoinBout page, bot profile with stats
- 7-tier ranking system (Baby through Legend)
- Arena and challenge system expansions

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-06 22:13:19 +00:00
co-authored by Claude Opus 4.6
parent 335c148866
commit 47d20fbe66
82 changed files with 14011 additions and 741 deletions
+12 -7
View File
@@ -265,12 +265,17 @@ export function calculateElo(
}
}
// Tier calculation based on Elo + wins
// Tier calculation based on Elo + total fights
// Tiers: 0=Baby, 1=Bronze, 2=Silver, 3=Gold, 4=Platinum, 5=Diamond, 6=Legend
export function calculateTier(elo: number, wins: number): number {
if (elo >= 1800 && wins >= 20) return 5 // Legendary
if (elo >= 1600 && wins >= 12) return 4 // Champion
if (elo >= 1400 && wins >= 7) return 3 // Contender
if (elo >= 1250 && wins >= 3) return 2 // Rising
if (wins >= 1) return 1 // Rookie
return 0 // Unranked
if (elo >= 1900 && wins >= 40) return 6 // Legend
if (elo >= 1700 && wins >= 25) return 5 // Diamond
if (elo >= 1500 && wins >= 15) return 4 // Platinum
if (elo >= 1350 && wins >= 7) return 3 // Gold
if (elo >= 1200 && wins >= 3) return 2 // Silver
if (wins >= 1) return 1 // Bronze
return 0 // Baby
}
export const TIER_NAMES = ['BABY', 'BRONZE', 'SILVER', 'GOLD', 'PLATINUM', 'DIAMOND', 'LEGEND'] as const
export const TIER_COLORS = ['#888', '#cd7f32', '#c0c0c0', '#ffd700', '#00f0ff', '#b83dff', '#ff2d7b'] as const