forked from PolarisPyra/daphnis
fixed rating calculation
This commit is contained in:
parent
7fa7747b62
commit
64da6391f3
@ -34,6 +34,7 @@ export async function getUserRatingBaseList() {
|
||||
songId: {
|
||||
in: baseListMusicIds,
|
||||
},
|
||||
version: supportedVersionNumber, // Ensure the version matches
|
||||
},
|
||||
select: {
|
||||
songId: true,
|
||||
@ -47,18 +48,23 @@ export async function getUserRatingBaseList() {
|
||||
},
|
||||
});
|
||||
|
||||
const staticMusic = new Map(
|
||||
staticMusicInfo.map((info) => [info.songId, info]),
|
||||
);
|
||||
// Map to join `musicId` and `difficultId` with static music info
|
||||
// i hate it
|
||||
const profileRatingToStaticMusic = new Map<
|
||||
string,
|
||||
(typeof staticMusicInfo)[0]
|
||||
>(staticMusicInfo.map((info) => [`${info.songId}-${info.chartId}`, info]));
|
||||
|
||||
const songsWithTitles = userRatingBaseList.map((ratingListSong) => {
|
||||
const staticInfo = staticMusic.get(ratingListSong.musicId);
|
||||
const MusicIdtoDiffId = `${ratingListSong.musicId}-${ratingListSong.difficultId}`;
|
||||
const songInfo = profileRatingToStaticMusic.get(MusicIdtoDiffId);
|
||||
|
||||
const level = staticInfo?.level ?? 0;
|
||||
const level = songInfo?.level ?? 0;
|
||||
const score = ratingListSong.score ?? 0;
|
||||
|
||||
// Calculate the rating
|
||||
let rating = 0;
|
||||
|
||||
if (score >= 1009000) {
|
||||
rating = level * 100 + 215;
|
||||
} else if (score >= 1007500) {
|
||||
@ -81,12 +87,12 @@ export async function getUserRatingBaseList() {
|
||||
|
||||
return {
|
||||
...ratingListSong,
|
||||
title: staticInfo?.title || "Unknown Title",
|
||||
artist: staticInfo?.artist || "Unknown Artist",
|
||||
genre: staticInfo?.genre || "Unknown Genre",
|
||||
chartId: staticInfo?.chartId || "Unknown chartId",
|
||||
level: staticInfo?.level || "Unknown Level",
|
||||
jacketPath: staticInfo?.jacketPath || "",
|
||||
title: songInfo?.title || "Unknown Title",
|
||||
artist: songInfo?.artist || "Unknown Artist",
|
||||
genre: songInfo?.genre || "Unknown Genre",
|
||||
chartId: songInfo?.chartId || "Unknown chartId",
|
||||
level: songInfo?.level || "Unknown Level",
|
||||
jacketPath: songInfo?.jacketPath || "",
|
||||
rating,
|
||||
};
|
||||
});
|
||||
|
@ -179,6 +179,7 @@ const config = {
|
||||
"db"
|
||||
],
|
||||
"activeProvider": "mysql",
|
||||
"postinstall": false,
|
||||
"inlineDatasources": {
|
||||
"db": {
|
||||
"url": {
|
||||
|
@ -180,6 +180,7 @@ const config = {
|
||||
"db"
|
||||
],
|
||||
"activeProvider": "mysql",
|
||||
"postinstall": false,
|
||||
"inlineDatasources": {
|
||||
"db": {
|
||||
"url": {
|
||||
|
Loading…
Reference in New Issue
Block a user