diff --git a/server/src/lib/score-import/import-types/ir/beatoraja/converter.ts b/server/src/lib/score-import/import-types/ir/beatoraja/converter.ts index acefb9ca5..9e7f64054 100644 --- a/server/src/lib/score-import/import-types/ir/beatoraja/converter.ts +++ b/server/src/lib/score-import/import-types/ir/beatoraja/converter.ts @@ -2,6 +2,7 @@ import { FindChartOnSHA256 } from "utils/queries/charts"; import { FindSongOnID } from "utils/queries/songs"; import { InternalFailure, + InvalidScoreFailure, KTDataNotFoundFailure, } from "../../../framework/common/converter-failures"; import { GenericGetGradeAndPercent } from "../../../framework/common/score-utils"; @@ -36,6 +37,10 @@ export const ConverterIRBeatoraja: ConverterFunction { + if (data.lntype !== 0) { + throw new InvalidScoreFailure("CN or HCN mode is not supported by this IR."); + } + const chart = (await FindChartOnSHA256("bms", data.sha256)) as ChartDocument< "bms:7K" | "bms:14K" > | null; @@ -58,14 +63,6 @@ export const ConverterIRBeatoraja: ConverterFunction["scoreData"]["hitMeta"] = { @@ -73,37 +70,32 @@ export const ConverterIRBeatoraja: ConverterFunction["scoreData"]["judgements"] = {}; - - // if NOT CN mode we can assign judgements properly - if (data.lntype === 0) { - for (const k of [ - "ebd", - "lbd", - "egd", - "lgd", - "egr", - "lgr", - "epg", - "lpg", - "epr", - "lpr", - ] as const) { - hitMeta[k] = data[k]; - } - - hitMeta.epr! += data.ems; - hitMeta.lpr! += data.lms; - - judgements = { - pgreat: data.epg + data.lpg, - great: data.egr + data.lgr, - good: data.egd + data.lgd, - bad: data.ebd + data.lbd, - poor: data.epr + data.lpr + data.ems + data.lms, - }; + for (const k of [ + "ebd", + "lbd", + "egd", + "lgd", + "egr", + "lgr", + "epg", + "lpg", + "epr", + "lpr", + ] as const) { + hitMeta[k] = data[k]; } + hitMeta.epr! += data.ems; + hitMeta.lpr! += data.lms; + + const judgements = { + pgreat: data.epg + data.lpg, + great: data.egr + data.lgr, + good: data.egd + data.lgd, + bad: data.ebd + data.lbd, + poor: data.epr + data.lpr + data.ems + data.lms, + }; + let random = null; if (chart.playtype === "7K") {