From c49c0481d08d816fcbbccfb25f78a0b8f2da765f Mon Sep 17 00:00:00 2001 From: chenjintang-shrimp Date: Fri, 8 Aug 2025 18:21:15 +0000 Subject: [PATCH] fix(multiplayer): fix acc bug on leaderboards --- app/database/playlist_attempts.py | 4 ++-- app/router/room.py | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/database/playlist_attempts.py b/app/database/playlist_attempts.py index d4085da..cfd8147 100644 --- a/app/database/playlist_attempts.py +++ b/app/database/playlist_attempts.py @@ -61,8 +61,7 @@ class ItemAttemptsCount(ItemAttemptsCountBase, table=True): self.pp = sum(score.score.pp for score in playlist_scores) self.completed = len(playlist_scores) self.accuracy = ( - sum(score.score.accuracy * score.attempts for score in playlist_scores) - / self.completed + sum(score.score.accuracy for score in playlist_scores) / self.completed if self.completed > 0 else 0.0 ) @@ -111,4 +110,5 @@ class ItemAttemptsResp(ItemAttemptsCountBase): ) if "position" in include: resp.position = await item_attempts.get_position(session) + # resp.accuracy *= 100 return resp diff --git a/app/router/room.py b/app/router/room.py index 3da8ca5..45d636b 100644 --- a/app/router/room.py +++ b/app/router/room.py @@ -169,6 +169,7 @@ async def get_room_leaderboard( for i, agg in enumerate(aggs): resp = await ItemAttemptsResp.from_db(agg, db) resp.position = i + 1 + # resp.accuracy *= 100 aggs_resp.append(resp) if agg.user_id == current_user.id: user_agg = resp