koishi-plugin-noah 2.3.0 → 2.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
|
@@ -10,7 +10,7 @@ export declare class AsphyxiaSDVXService implements GameService {
|
|
|
10
10
|
private constructor();
|
|
11
11
|
static getInstance(logger: Logger, config: SDVXConfig): AsphyxiaSDVXService;
|
|
12
12
|
private getModel;
|
|
13
|
-
getRefid(ctx: Context, url: string,
|
|
13
|
+
getRefid(ctx: Context, url: string, cardId: string): Promise<string>;
|
|
14
14
|
getUserName(ctx: Context, url: string, cardId: string): Promise<string>;
|
|
15
15
|
getAllScore(ctx: Context, url: string, cardId: string, config: SDVXConfig): Promise<SDVXScore[]>;
|
|
16
16
|
private getClearType;
|
|
@@ -11,6 +11,7 @@ export declare class MaoSDVXService implements ISDVXService {
|
|
|
11
11
|
getUserName(ctx: Context, url: string, cardId: string): Promise<string>;
|
|
12
12
|
verifyPin(ctx: Context, url: string, cardId: string, pin: string): Promise<boolean>;
|
|
13
13
|
private clearTypeToNum;
|
|
14
|
+
private gradeToNum;
|
|
14
15
|
private diffNameToMusicType;
|
|
15
16
|
uploadScore(ctx: Context, url: string, cardId: string, scores: SDVXScore[]): Promise<boolean>;
|
|
16
17
|
getAllScore(ctx: Context, url: string, cardId: string, config: SDVXConfig): Promise<SDVXScore[]>;
|
|
@@ -14,7 +14,7 @@ export declare function getDiffName(diffStr: string, infVer: string | number): s
|
|
|
14
14
|
export declare function getDiffFullName(diffStr: string, infVer: string | number): string;
|
|
15
15
|
/**
|
|
16
16
|
* 根据难度缩写名称获取难度字符串和 infVer
|
|
17
|
-
* @param diffAbbr - 难度缩写名称 (例如: "NOV", "ADV", "EXH", "INF", "GRV", "HVN", "VVD", "XCD", "MXM")
|
|
17
|
+
* @param diffAbbr - 难度缩写名称 (例如: "NOV", "ADV", "EXH", "INF", "GRV", "HVN", "VVD", "XCD", "NBL", "MXM")
|
|
18
18
|
* @returns 包含难度字符串和 infVer 的对象,如果是非 infinite 难度则 infVer 为 null
|
|
19
19
|
*/
|
|
20
20
|
export declare function getDiffStringFromAbbr(diffAbbr: string): {
|
package/lib/index.cjs
CHANGED
|
@@ -2927,7 +2927,7 @@ var SDVXDrawer = class extends BaseDrawer {
|
|
|
2927
2927
|
const { loadImage } = this.ctx.skia;
|
|
2928
2928
|
const grades = ["D", "C", "B", "A", "A+", "AA", "AA+", "AAA", "AAA+", "S"];
|
|
2929
2929
|
const circles = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
|
|
2930
|
-
const diffs = ["NOV", "ADV", "EXH", "INF", "MXM", "GRV", "HVN", "VVD", "XCD", "ULT"];
|
|
2930
|
+
const diffs = ["NOV", "ADV", "EXH", "INF", "MXM", "GRV", "HVN", "VVD", "XCD", "NBL", "ULT"];
|
|
2931
2931
|
const clears = ["PUC", "SPUC", "UC", "MC", "HC", "NC", "PLAYED", "NOPLAY"];
|
|
2932
2932
|
const [gradeImages, circleImages, difficultyBadges, clearTypeBadges] = await Promise.all([
|
|
2933
2933
|
this.loadImageMap(loadImage, grades, (g) => `sdvx/vf/grade/${g}.png`),
|
|
@@ -3265,7 +3265,8 @@ var SDVXDrawer = class extends BaseDrawer {
|
|
|
3265
3265
|
3: "GRV",
|
|
3266
3266
|
4: "HVN",
|
|
3267
3267
|
5: "VVD",
|
|
3268
|
-
6: "XCD"
|
|
3268
|
+
6: "XCD",
|
|
3269
|
+
7: "NBL"
|
|
3269
3270
|
};
|
|
3270
3271
|
diffKey = infVerNum != null && infMap[infVerNum] ? infMap[infVerNum] : "INF";
|
|
3271
3272
|
}
|
|
@@ -4464,6 +4465,8 @@ function getDiffName(diffStr, infVer) {
|
|
|
4464
4465
|
return "VVD";
|
|
4465
4466
|
case "6":
|
|
4466
4467
|
return "XCD";
|
|
4468
|
+
case "7":
|
|
4469
|
+
return "NBL";
|
|
4467
4470
|
}
|
|
4468
4471
|
}
|
|
4469
4472
|
break;
|
|
@@ -4496,6 +4499,8 @@ function getDiffFullName(diffStr, infVer) {
|
|
|
4496
4499
|
return "VIVID";
|
|
4497
4500
|
case "6":
|
|
4498
4501
|
return "EXCEED";
|
|
4502
|
+
case "7":
|
|
4503
|
+
return "NABLA";
|
|
4499
4504
|
}
|
|
4500
4505
|
}
|
|
4501
4506
|
break;
|
|
@@ -4525,6 +4530,8 @@ function getDiffStringFromAbbr(diffAbbr) {
|
|
|
4525
4530
|
return { diffStr: "infinite", infVer: 5 };
|
|
4526
4531
|
case "XCD":
|
|
4527
4532
|
return { diffStr: "infinite", infVer: 6 };
|
|
4533
|
+
case "NBL":
|
|
4534
|
+
return { diffStr: "infinite", infVer: 7 };
|
|
4528
4535
|
case "MXM":
|
|
4529
4536
|
return { diffStr: "maximum", infVer: null };
|
|
4530
4537
|
case "ULT":
|
|
@@ -4556,13 +4563,12 @@ var AsphyxiaSDVXService = class _AsphyxiaSDVXService {
|
|
|
4556
4563
|
}
|
|
4557
4564
|
async getModel(ctx) {
|
|
4558
4565
|
if (this.cachedModel) return this.cachedModel;
|
|
4559
|
-
const resp = await ctx.http.get(
|
|
4560
|
-
`${this.config.sdvx_data_url}/model`
|
|
4561
|
-
);
|
|
4566
|
+
const resp = await ctx.http.get(`${this.config.sdvx_data_url}/model`);
|
|
4562
4567
|
this.cachedModel = String(resp.model);
|
|
4563
4568
|
return this.cachedModel;
|
|
4564
4569
|
}
|
|
4565
|
-
async getRefid(ctx, url,
|
|
4570
|
+
async getRefid(ctx, url, cardId) {
|
|
4571
|
+
const model = await this.getModel(ctx);
|
|
4566
4572
|
const requestUrl = `?model=KFC:J:G:A:${model}&f=message.get`;
|
|
4567
4573
|
const xmlRequestBody = `<?xml version="1.0" encoding="UTF-8"?>
|
|
4568
4574
|
<call model="KFC:J:G:A:${model}" srcid="00010203040506070809">
|
|
@@ -4577,7 +4583,7 @@ var AsphyxiaSDVXService = class _AsphyxiaSDVXService {
|
|
|
4577
4583
|
}
|
|
4578
4584
|
async getUserName(ctx, url, cardId) {
|
|
4579
4585
|
const model = await this.getModel(ctx);
|
|
4580
|
-
const refid = await this.getRefid(ctx, url,
|
|
4586
|
+
const refid = await this.getRefid(ctx, url, cardId);
|
|
4581
4587
|
const requestUrl = `?model=KFC:J:G:A:${model}&f=message.get`;
|
|
4582
4588
|
const xmlRequestBody = `<call model="KFC:J:G:A:${model}" srcid="00010203040506070809">
|
|
4583
4589
|
<game method="sv7_load" ver="0">
|
|
@@ -4596,7 +4602,7 @@ var AsphyxiaSDVXService = class _AsphyxiaSDVXService {
|
|
|
4596
4602
|
}
|
|
4597
4603
|
async getAllScore(ctx, url, cardId, config) {
|
|
4598
4604
|
const model = await this.getModel(ctx);
|
|
4599
|
-
const refid = await this.getRefid(ctx, url,
|
|
4605
|
+
const refid = await this.getRefid(ctx, url, cardId);
|
|
4600
4606
|
const requestUrl = `?model=KFC:J:G:A:${model}&f=message.get`;
|
|
4601
4607
|
const xmlRequestBody = `<call model="KFC:J:G:A:${model}" srcid="00010203040506070809">
|
|
4602
4608
|
<game method="sv7_load_m" ver="0">
|
|
@@ -4766,6 +4772,30 @@ var MaoSDVXService = class _MaoSDVXService {
|
|
|
4766
4772
|
return 0;
|
|
4767
4773
|
}
|
|
4768
4774
|
}
|
|
4775
|
+
gradeToNum(grade) {
|
|
4776
|
+
switch (grade) {
|
|
4777
|
+
case "S":
|
|
4778
|
+
return 9;
|
|
4779
|
+
case "AAA+":
|
|
4780
|
+
return 8;
|
|
4781
|
+
case "AAA":
|
|
4782
|
+
return 7;
|
|
4783
|
+
case "AA+":
|
|
4784
|
+
return 6;
|
|
4785
|
+
case "AA":
|
|
4786
|
+
return 5;
|
|
4787
|
+
case "A+":
|
|
4788
|
+
return 4;
|
|
4789
|
+
case "A":
|
|
4790
|
+
return 3;
|
|
4791
|
+
case "B":
|
|
4792
|
+
return 2;
|
|
4793
|
+
case "C":
|
|
4794
|
+
return 1;
|
|
4795
|
+
default:
|
|
4796
|
+
return 0;
|
|
4797
|
+
}
|
|
4798
|
+
}
|
|
4769
4799
|
diffNameToMusicType(diffName) {
|
|
4770
4800
|
switch (diffName.toUpperCase()) {
|
|
4771
4801
|
case "NOV":
|
|
@@ -4779,6 +4809,7 @@ var MaoSDVXService = class _MaoSDVXService {
|
|
|
4779
4809
|
case "HVN":
|
|
4780
4810
|
case "VVD":
|
|
4781
4811
|
case "XCD":
|
|
4812
|
+
case "NBL":
|
|
4782
4813
|
return 3;
|
|
4783
4814
|
case "MXM":
|
|
4784
4815
|
return 4;
|
|
@@ -4802,7 +4833,8 @@ var MaoSDVXService = class _MaoSDVXService {
|
|
|
4802
4833
|
music_type: this.diffNameToMusicType(s.music.music_diff_name),
|
|
4803
4834
|
score: s.music.score,
|
|
4804
4835
|
exscore: s.music.exscore,
|
|
4805
|
-
clear_type: this.clearTypeToNum(s.music.clear_type)
|
|
4836
|
+
clear_type: this.clearTypeToNum(s.music.clear_type),
|
|
4837
|
+
score_grade: this.gradeToNum(s.music.score_grade)
|
|
4806
4838
|
}));
|
|
4807
4839
|
if (payload.length === 0) return false;
|
|
4808
4840
|
const resp = await ctx.http.post(
|
|
@@ -5511,6 +5543,8 @@ function parseDiffAndTitle(rawTokens) {
|
|
|
5511
5543
|
vvd: "infinite",
|
|
5512
5544
|
exceed: "infinite",
|
|
5513
5545
|
xcd: "infinite",
|
|
5546
|
+
nabla: "infinite",
|
|
5547
|
+
nbl: "infinite",
|
|
5514
5548
|
maximum: "maximum",
|
|
5515
5549
|
mxm: "maximum"
|
|
5516
5550
|
};
|