mirror of
https://github.com/zkldi/Tachi.git
synced 2026-10-15 02:29:28 +03:00
Fix lamp offbyone error in kai sdvx parser.
This commit is contained in:
@@ -23,7 +23,7 @@ const PR_KaiIIDXScore = {
|
||||
version_played: p.isBoundedInteger(9, 28),
|
||||
lamp: p.isBoundedInteger(0, 7),
|
||||
ex_score: p.isPositiveInteger,
|
||||
miss_count: p.or(p.isPositiveInteger, p.is(-1)),
|
||||
miss_count: p.or(p.isPositiveInteger, p.is(-1), "null"),
|
||||
fast_count: p.nullable(p.isPositiveInteger),
|
||||
slow_count: p.nullable(p.isPositiveInteger),
|
||||
timestamp: "string",
|
||||
@@ -69,7 +69,7 @@ export const ConvertAPIKaiIIDX: ConverterFunction<unknown, KaiContext> = async (
|
||||
|
||||
const version = score.version_played.toString();
|
||||
|
||||
if (!["26", "27", "28"].includes(version)) {
|
||||
if (!["20", "21", "22", "23", "24", "25", "26", "27", "28"].includes(version)) {
|
||||
throw new InvalidScoreFailure(`Unsupported version ${score.version_played}.`);
|
||||
}
|
||||
|
||||
@@ -118,7 +118,7 @@ export const ConvertAPIKaiIIDX: ConverterFunction<unknown, KaiContext> = async (
|
||||
hitMeta: {
|
||||
fast: score.fast_count,
|
||||
slow: score.slow_count,
|
||||
bp: score.miss_count === -1 ? null : score.miss_count,
|
||||
bp: score.miss_count === -1 || score.miss_count === null ? null : score.miss_count,
|
||||
},
|
||||
},
|
||||
scoreMeta: {},
|
||||
|
||||
@@ -25,9 +25,9 @@ const PR_KaiSDVXScore = {
|
||||
score: p.isBoundedInteger(0, 10_000_000),
|
||||
critical: p.isPositiveInteger,
|
||||
near: p.isPositiveInteger,
|
||||
error: p.isPositiveInteger,
|
||||
early: p.isPositiveInteger,
|
||||
late: p.isPositiveInteger,
|
||||
error: p.nullable(p.isPositiveInteger),
|
||||
early: p.nullable(p.isPositiveInteger),
|
||||
late: p.nullable(p.isPositiveInteger),
|
||||
gauge_rate: p.isBoundedInteger(0, 100),
|
||||
timestamp: "string",
|
||||
};
|
||||
@@ -135,15 +135,15 @@ export function ConvertVersion(ver: number) {
|
||||
|
||||
export function ResolveKaiLamp(clear: number): Lamps["sdvx:Single"] {
|
||||
switch (clear) {
|
||||
case 0:
|
||||
return "FAILED";
|
||||
case 1:
|
||||
return "CLEAR";
|
||||
return "FAILED";
|
||||
case 2:
|
||||
return "EXCESSIVE CLEAR";
|
||||
return "CLEAR";
|
||||
case 3:
|
||||
return "ULTIMATE CHAIN";
|
||||
return "EXCESSIVE CLEAR";
|
||||
case 4:
|
||||
return "ULTIMATE CHAIN";
|
||||
case 5:
|
||||
return "PERFECT ULTIMATE CHAIN";
|
||||
}
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ export interface KaiIIDXScore {
|
||||
version_played: integer;
|
||||
lamp: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7;
|
||||
ex_score: integer;
|
||||
miss_count: integer; // -1 => null
|
||||
miss_count: integer | null; // -1 => null
|
||||
fast_count: integer | null;
|
||||
slow_count: integer | null;
|
||||
timestamp: string;
|
||||
@@ -22,9 +22,9 @@ export interface KaiSDVXScore {
|
||||
max_chain: integer;
|
||||
critical: integer;
|
||||
near: integer;
|
||||
error: integer;
|
||||
early: integer;
|
||||
late: integer;
|
||||
error: integer | null;
|
||||
early: integer | null;
|
||||
late: integer | null;
|
||||
gauge_type: 0 | 1 | 2 | 3;
|
||||
gauge_rate: integer;
|
||||
timestamp: string;
|
||||
|
||||
Reference in New Issue
Block a user