diff --git a/server/package.json b/server/package.json index 76316afad..c7b91aba5 100644 --- a/server/package.json +++ b/server/package.json @@ -83,7 +83,7 @@ "rimraf": "3.0.2", "safe-json-stringify": "1.2.0", "seq-logging": "^1.1.1", - "tachi-common": "0.3.11", + "tachi-common": "0.3.12", "ts-node": "10.0.0", "typescript": "4.3.4", "winston": "3.3.3", diff --git a/server/pnpm-lock.yaml b/server/pnpm-lock.yaml index 7ccbe02a7..8c0f9dc6d 100644 --- a/server/pnpm-lock.yaml +++ b/server/pnpm-lock.yaml @@ -63,7 +63,7 @@ specifiers: safe-json-stringify: 1.2.0 seq-logging: ^1.1.1 supertest: 6.1.3 - tachi-common: 0.3.11 + tachi-common: 0.3.12 tap: 15.0.9 ts-node: 10.0.0 tsconfig-paths: 3.10.1 @@ -107,7 +107,7 @@ dependencies: rimraf: 3.0.2 safe-json-stringify: 1.2.0 seq-logging: 1.1.1 - tachi-common: 0.3.11 + tachi-common: 0.3.12 ts-node: 10.0.0_83f53b0a0c5616d3fa00ed4e30b9ce1b typescript: 4.3.4 winston: 3.3.3 @@ -5387,8 +5387,8 @@ packages: strip-ansi: 6.0.0 dev: true - /tachi-common/0.3.11: - resolution: {integrity: sha512-GLfNGtxq1lukxOyu2dW7pCAYJPwhgCmt0w9YpJHfYUEsDHJBnoQeu53dAUcd0eJXPiXCNjgKrYAdP9MbAaLWjA==} + /tachi-common/0.3.12: + resolution: {integrity: sha512-7A2MsDfzjwI4YeZ/61kd41QGxVQxsrXWyoeSHjD27CXTZJexF9PKPAU0wq8mkcLsm6EwAB7NY4P6/0N+Avap3g==} dependencies: monk: 7.3.4 transitivePeerDependencies: diff --git a/server/src/external/mongo/schemas.ts b/server/src/external/mongo/schemas.ts index dfbf27036..1ef08da18 100644 --- a/server/src/external/mongo/schemas.ts +++ b/server/src/external/mongo/schemas.ts @@ -209,7 +209,7 @@ const GetScoreMeta = (game: Game, playtype: Playtypes[Game]): PrudenceSchema => } else if (game === "usc") { return { noteMod: optNull(p.isIn("NORMAL", "MIRROR", "RANDOM", "MIR-RAN")), - gaugeMod: optNull(p.isIn("NORMAL", "HARD")), + gaugeMod: optNull(p.isIn("NORMAL", "HARD", "PERMISSIVE")), }; } else if (game === "bms" && playtype === "7K") { return { diff --git a/server/src/lib/score-import/import-types/common/batch-manual/parser.ts b/server/src/lib/score-import/import-types/common/batch-manual/parser.ts index 90e8fdb5a..9be2d4a36 100644 --- a/server/src/lib/score-import/import-types/common/batch-manual/parser.ts +++ b/server/src/lib/score-import/import-types/common/batch-manual/parser.ts @@ -65,7 +65,7 @@ const PR_ScoreMeta = (game: Game, playtype: Playtypes[Game]): PrudenceSchema => } else if (game === "usc") { return { noteMod: optNull(p.isIn("NORMAL", "MIRROR", "RANDOM", "MIR-RAN")), - gaugeMod: optNull(p.isIn("NORMAL", "HARD")), + gaugeMod: optNull(p.isIn("NORMAL", "HARD", "PERMISSIVE")), }; } else if (game === "sdvx") { return { diff --git a/server/src/lib/score-import/import-types/ir/usc/converter.ts b/server/src/lib/score-import/import-types/ir/usc/converter.ts index c93e3ca6a..74f8d7094 100644 --- a/server/src/lib/score-import/import-types/ir/usc/converter.ts +++ b/server/src/lib/score-import/import-types/ir/usc/converter.ts @@ -128,7 +128,12 @@ export const ConverterIRUSC: ConverterFunction = a }, }, scoreMeta: { - gaugeMod: data.options.gaugeType === 0 ? "NORMAL" : "HARD", + gaugeMod: + data.options.gaugeType === 0 + ? "NORMAL" + : data.options.gaugeType === 1 + ? "HARD" + : "PERMISSIVE", noteMod: DeriveNoteMod(data), }, }; diff --git a/server/src/server/router/ir/usc/_playtype/types.ts b/server/src/server/router/ir/usc/_playtype/types.ts index ca4852d97..861c67df0 100644 --- a/server/src/server/router/ir/usc/_playtype/types.ts +++ b/server/src/server/router/ir/usc/_playtype/types.ts @@ -8,7 +8,7 @@ export interface USCServerScore { near: integer; error: integer; ranking: integer; - gaugeMod: "NORMAL" | "HARD"; + gaugeMod: "NORMAL" | "HARD" | "PERMISSIVE"; noteMod: "NORMAL" | "MIRROR" | "RANDOM" | "MIR-RAN"; username: string; }