From 059d86d29c9c98d251eea1d287aaf95c83aac7d6 Mon Sep 17 00:00:00 2001 From: zkldi <20380519+zkldi@users.noreply.github.com> Date: Fri, 19 Nov 2021 10:17:52 +0000 Subject: [PATCH] Make FER Static honor undefined maxcmobos --- .../import-types/ir/fervidex-static/converter.ts | 11 ++++++++--- .../import-types/ir/fervidex-static/parser.ts | 2 +- .../import-types/ir/fervidex-static/types.ts | 2 +- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/server/src/lib/score-import/import-types/ir/fervidex-static/converter.ts b/server/src/lib/score-import/import-types/ir/fervidex-static/converter.ts index 53873e79a..510239944 100644 --- a/server/src/lib/score-import/import-types/ir/fervidex-static/converter.ts +++ b/server/src/lib/score-import/import-types/ir/fervidex-static/converter.ts @@ -1,4 +1,5 @@ import { Lamps } from "tachi-common"; +import { DeleteUndefinedProps } from "utils/misc"; import { FindChartOnInGameIDVersion } from "utils/queries/charts"; import { FindSongOnID } from "utils/queries/songs"; import { @@ -43,6 +44,12 @@ export const ConverterIRFervidexStatic: ConverterFunction< const { percent, grade } = GenericGetGradeAndPercent("iidx", data.ex_score, chart); + const hitMeta: { bp?: number | null } = {}; + + if (data.miss_count !== undefined) { + hitMeta.bp = data.miss_count === -1 ? null : data.miss_count; + } + const dryScore: DryScore<"iidx:SP" | "iidx:DP"> = { game: "iidx", service: "Fervidex Static", @@ -55,9 +62,7 @@ export const ConverterIRFervidexStatic: ConverterFunction< grade, lamp: FERVIDEX_LAMP_LOOKUP[data.clear_type] as Lamps["iidx:SP" | "iidx:DP"], judgements: {}, - hitMeta: { - bp: data.miss_count === -1 ? null : data.miss_count, - }, + hitMeta, }, scoreMeta: {}, }; diff --git a/server/src/lib/score-import/import-types/ir/fervidex-static/parser.ts b/server/src/lib/score-import/import-types/ir/fervidex-static/parser.ts index d370cee31..aa25dc138 100644 --- a/server/src/lib/score-import/import-types/ir/fervidex-static/parser.ts +++ b/server/src/lib/score-import/import-types/ir/fervidex-static/parser.ts @@ -10,7 +10,7 @@ import { FervidexStaticContext, FervidexStaticScore } from "./types"; const PR_FervidexStatic: PrudenceSchema = { ex_score: p.isPositiveInteger, - miss_count: p.nullable(p.or(p.isPositiveInteger, p.is(-1))), + miss_count: p.optional(p.nullable(p.or(p.isPositiveInteger, p.is(-1)))), clear_type: p.isBoundedInteger(0, 7), }; diff --git a/server/src/lib/score-import/import-types/ir/fervidex-static/types.ts b/server/src/lib/score-import/import-types/ir/fervidex-static/types.ts index 39988d369..b46715fa5 100644 --- a/server/src/lib/score-import/import-types/ir/fervidex-static/types.ts +++ b/server/src/lib/score-import/import-types/ir/fervidex-static/types.ts @@ -3,7 +3,7 @@ import { GPTSupportedVersions, integer } from "tachi-common"; export interface FervidexStaticScore { clear_type: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7; ex_score: integer; - miss_count: integer | null; // bp, not cbrk + miss_count?: integer | null; // bp, not cbrk chart: `${"sp" | "dp"}${"b" | "n" | "h" | "a" | "l"}`; song_id: integer; }