maidraw 0.10.5 → 0.11.1

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.
Files changed (81) hide show
  1. package/assets/themes/chunithm/chart/common/versionless/logo/jpn/240.png +0 -0
  2. package/assets/themes/chunithm/chart/jp/verse/manifest.json +8 -8
  3. package/assets/themes/ongeki/{jp → best/jp}/brightMemoryLandscape/classic/manifest.json +2 -2
  4. package/assets/themes/ongeki/{jp → best/jp}/brightMemoryLandscape/refresh/manifest.json +2 -2
  5. package/assets/themes/ongeki/{jp → best/jp}/refreshLandscape/classic/manifest.json +2 -2
  6. package/assets/themes/ongeki/{jp → best/jp}/refreshLandscape/refresh/manifest.json +2 -2
  7. package/assets/themes/ongeki/chart/common/versionless/logo/jpn/100.png +0 -0
  8. package/assets/themes/ongeki/chart/common/versionless/logo/jpn/105.png +0 -0
  9. package/assets/themes/ongeki/chart/common/versionless/logo/jpn/110.png +0 -0
  10. package/assets/themes/ongeki/chart/common/versionless/logo/jpn/115.png +0 -0
  11. package/assets/themes/ongeki/chart/common/versionless/logo/jpn/120.png +0 -0
  12. package/assets/themes/ongeki/chart/common/versionless/logo/jpn/125.png +0 -0
  13. package/assets/themes/ongeki/chart/common/versionless/logo/jpn/130.png +0 -0
  14. package/assets/themes/ongeki/chart/common/versionless/logo/jpn/135.png +0 -0
  15. package/assets/themes/ongeki/chart/common/versionless/logo/jpn/140.png +0 -0
  16. package/assets/themes/ongeki/chart/common/versionless/logo/jpn/145.png +0 -0
  17. package/assets/themes/ongeki/chart/common/versionless/logo/jpn/150.png +0 -0
  18. package/assets/themes/ongeki/chart/jp/refresh/manifest.json +151 -0
  19. package/dist/chu/lib/adapter/lxns/index.d.ts +18 -8
  20. package/dist/chu/lib/adapter/lxns/index.js +15 -16
  21. package/dist/chu/lib/adapter/lxns/index.js.map +1 -1
  22. package/dist/chu/painter/chart/index.d.ts +3 -39
  23. package/dist/chu/painter/index.d.ts +3 -39
  24. package/dist/chu/painter/index.js +47 -79
  25. package/dist/chu/painter/index.js.map +1 -1
  26. package/dist/geki/index.d.ts +2 -0
  27. package/dist/geki/index.js +2 -0
  28. package/dist/geki/index.js.map +1 -1
  29. package/dist/geki/lib/adapter/index.d.ts +7 -0
  30. package/dist/geki/lib/adapter/index.js.map +1 -1
  31. package/dist/geki/lib/adapter/kamaiTachi/index.d.ts +8 -0
  32. package/dist/geki/lib/adapter/kamaiTachi/index.js +109 -127
  33. package/dist/geki/lib/adapter/kamaiTachi/index.js.map +1 -1
  34. package/dist/geki/lib/database.d.ts +132 -0
  35. package/dist/geki/lib/database.js +87 -12
  36. package/dist/geki/lib/database.js.map +1 -1
  37. package/dist/geki/lib/util.d.ts +100 -0
  38. package/dist/geki/lib/util.js +265 -0
  39. package/dist/geki/lib/util.js.map +1 -0
  40. package/dist/geki/painter/best50/index.js +3 -20
  41. package/dist/geki/painter/best50/index.js.map +1 -1
  42. package/dist/geki/painter/chart/index.d.ts +156 -0
  43. package/dist/geki/painter/chart/index.js +128 -0
  44. package/dist/geki/painter/chart/index.js.map +1 -0
  45. package/dist/geki/painter/index.d.ts +92 -0
  46. package/dist/geki/painter/index.js +810 -0
  47. package/dist/geki/painter/index.js.map +1 -1
  48. package/dist/geki/type.d.ts +1 -0
  49. package/dist/lib/painter.js +2 -0
  50. package/dist/lib/painter.js.map +1 -1
  51. package/dist/mai/painter/chart/index.d.ts +4 -41
  52. package/dist/mai/painter/index.d.ts +4 -41
  53. package/dist/mai/painter/index.js +48 -81
  54. package/dist/mai/painter/index.js.map +1 -1
  55. package/package.json +1 -1
  56. /package/assets/themes/ongeki/{common → best/common}/brightmemory/background.png +0 -0
  57. /package/assets/themes/ongeki/{common → best/common}/brightmemory/logo.png +0 -0
  58. /package/assets/themes/ongeki/{common → best/common}/refresh/background.png +0 -0
  59. /package/assets/themes/ongeki/{common → best/common}/refresh/logo.png +0 -0
  60. /package/assets/themes/ongeki/{common → best/common}/versionless/achievement/a.png +0 -0
  61. /package/assets/themes/ongeki/{common → best/common}/versionless/achievement/aa.png +0 -0
  62. /package/assets/themes/ongeki/{common → best/common}/versionless/achievement/aaa.png +0 -0
  63. /package/assets/themes/ongeki/{common → best/common}/versionless/achievement/b.png +0 -0
  64. /package/assets/themes/ongeki/{common → best/common}/versionless/achievement/bb.png +0 -0
  65. /package/assets/themes/ongeki/{common → best/common}/versionless/achievement/bbb.png +0 -0
  66. /package/assets/themes/ongeki/{common → best/common}/versionless/achievement/c.png +0 -0
  67. /package/assets/themes/ongeki/{common → best/common}/versionless/achievement/d.png +0 -0
  68. /package/assets/themes/ongeki/{common → best/common}/versionless/achievement/s.png +0 -0
  69. /package/assets/themes/ongeki/{common → best/common}/versionless/achievement/ss.png +0 -0
  70. /package/assets/themes/ongeki/{common → best/common}/versionless/achievement/sss.png +0 -0
  71. /package/assets/themes/ongeki/{common → best/common}/versionless/achievement/sssp.png +0 -0
  72. /package/assets/themes/ongeki/{common → best/common}/versionless/emote.png +0 -0
  73. /package/assets/themes/ongeki/{common → best/common}/versionless/icon.png +0 -0
  74. /package/assets/themes/ongeki/{common → best/common}/versionless/milestone/ab.png +0 -0
  75. /package/assets/themes/ongeki/{common → best/common}/versionless/milestone/abp.png +0 -0
  76. /package/assets/themes/ongeki/{common → best/common}/versionless/milestone/fb.png +0 -0
  77. /package/assets/themes/ongeki/{common → best/common}/versionless/milestone/fc.png +0 -0
  78. /package/assets/themes/ongeki/{common → best/common}/versionless/numberMap.png +0 -0
  79. /package/assets/themes/ongeki/{common → best/common}/versionless/userplateAF2025.png +0 -0
  80. /package/assets/themes/ongeki/{common → best/common}/versionless/userplateIchigeki.png +0 -0
  81. /package/assets/themes/ongeki/{common → best/common}/versionless/void.png +0 -0
@@ -7,12 +7,63 @@ exports.KamaiTachi = void 0;
7
7
  const type_1 = require("../../../type");
8
8
  const __1 = __importDefault(require(".."));
9
9
  const util_1 = require("../../../../lib/util");
10
+ const util_2 = require("../../util");
11
+ const database_1 = require("../../database");
10
12
  class KamaiTachi extends __1.default {
11
13
  CURRENT_VERSION;
12
14
  constructor({ baseURL = "https://kamai.tachi.ac/", currentVersion = KamaiTachi.EGameVersions.REFRESH, } = {}) {
13
15
  super({ baseURL });
14
16
  this.CURRENT_VERSION = currentVersion;
15
17
  }
18
+ async getPlayerScore(username, chartId) {
19
+ const rawPBs = await this.getPlayerPB(username);
20
+ if (!rawPBs?.body)
21
+ return {
22
+ basic: null,
23
+ advanced: null,
24
+ expert: null,
25
+ master: null,
26
+ lunatic: null,
27
+ };
28
+ const pbs = [];
29
+ for (const pb of rawPBs.body.pbs) {
30
+ let chart = rawPBs.body.charts.find((v) => v.chartID == pb.chartID);
31
+ let song = rawPBs.body.songs.find((v) => v.id == pb.songID);
32
+ if (chart && song) {
33
+ pbs.push({ pb, chart, song });
34
+ }
35
+ }
36
+ function difficultyCompare(payload, target) {
37
+ return payload.difficulty.toLowerCase() == target.toLowerCase();
38
+ }
39
+ const basic = pbs.find((v) => difficultyCompare(v.chart, "Basic") &&
40
+ v.chart.data.inGameID == chartId);
41
+ const advanced = pbs.find((v) => difficultyCompare(v.chart, "Advanced") &&
42
+ v.chart.data.inGameID == chartId);
43
+ const expert = pbs.find((v) => difficultyCompare(v.chart, "Expert") &&
44
+ v.chart.data.inGameID == chartId);
45
+ const master = pbs.find((v) => difficultyCompare(v.chart, "Master") &&
46
+ v.chart.data.inGameID == chartId);
47
+ const lunatic = pbs.find((v) => difficultyCompare(v.chart, "Lunatic") &&
48
+ v.chart.data.inGameID == chartId);
49
+ return {
50
+ basic: basic
51
+ ? this.toMaiDrawScore(basic.pb, basic.chart, basic.song)
52
+ : null,
53
+ advanced: advanced
54
+ ? this.toMaiDrawScore(advanced.pb, advanced.chart, advanced.song)
55
+ : null,
56
+ expert: expert
57
+ ? this.toMaiDrawScore(expert.pb, expert.chart, expert.song)
58
+ : null,
59
+ master: master
60
+ ? this.toMaiDrawScore(master.pb, master.chart, master.song)
61
+ : null,
62
+ lunatic: lunatic
63
+ ? this.toMaiDrawScore(lunatic.pb, lunatic.chart, lunatic.song)
64
+ : null,
65
+ };
66
+ }
16
67
  getPlatinumScore(score) {
17
68
  const ASSUMED_PLAT_SCORE_RATE = 0;
18
69
  if (score.scoreData.platinumScore)
@@ -42,7 +93,47 @@ class KamaiTachi extends __1.default {
42
93
  async getPlayerRecentScores(userId) {
43
94
  return this.get(`/api/v1/users/${userId}/games/ongeki/Single/scores/recent`, undefined, 60 * 1000);
44
95
  }
96
+ getDatabaseDifficulty(chart) {
97
+ switch (true) {
98
+ case chart.difficulty.toUpperCase().includes("LUNATIC"):
99
+ return type_1.EDifficulty.LUNATIC;
100
+ case chart.difficulty.toUpperCase().includes("MASTER"):
101
+ return type_1.EDifficulty.MASTER;
102
+ case chart.difficulty.toUpperCase().includes("EXPERT"):
103
+ return type_1.EDifficulty.EXPERT;
104
+ case chart.difficulty.toUpperCase().includes("ADVANCED"):
105
+ return type_1.EDifficulty.ADVANCED;
106
+ case chart.difficulty.toUpperCase().includes("BASIC"):
107
+ default:
108
+ return type_1.EDifficulty.BASIC;
109
+ }
110
+ }
45
111
  toMaiDrawScore(score, chart, song, type = "refresh") {
112
+ const localChart = database_1.Database.getLocalChart(chart.data.inGameID, this.getDatabaseDifficulty(chart));
113
+ const internalLevel = localChart?.events
114
+ .filter((v) => v.type === "existence")
115
+ .find((v) => v.version.name == this.CURRENT_VERSION)?.data
116
+ .level ?? chart.levelNum;
117
+ const combo = (() => {
118
+ switch (score.scoreData.noteLamp) {
119
+ case "FULL COMBO":
120
+ return type_1.EComboTypes.FULL_COMBO;
121
+ case "ALL BREAK":
122
+ return type_1.EComboTypes.ALL_BREAK;
123
+ case "ALL BREAK+":
124
+ return type_1.EComboTypes.ALL_BREAK_PLUS;
125
+ default:
126
+ return type_1.EComboTypes.NONE;
127
+ }
128
+ })();
129
+ const bell = (() => {
130
+ switch (score.scoreData.bellLamp) {
131
+ case "FULL BELL":
132
+ return type_1.EBellTypes.FULL_BELL;
133
+ default:
134
+ return type_1.EBellTypes.NONE;
135
+ }
136
+ })();
46
137
  return {
47
138
  chart: (() => {
48
139
  return {
@@ -63,30 +154,12 @@ class KamaiTachi extends __1.default {
63
154
  return type_1.EDifficulty.BASIC;
64
155
  }
65
156
  })(),
66
- level: chart.levelNum,
157
+ level: internalLevel,
67
158
  maxPlatinumScore: chart.data.maxPlatScore,
68
159
  };
69
160
  })(),
70
- combo: (() => {
71
- switch (score.scoreData.noteLamp) {
72
- case "FULL COMBO":
73
- return type_1.EComboTypes.FULL_COMBO;
74
- case "ALL BREAK":
75
- return type_1.EComboTypes.ALL_BREAK;
76
- case "ALL BREAK+":
77
- return type_1.EComboTypes.ALL_BREAK_PLUS;
78
- default:
79
- return type_1.EComboTypes.NONE;
80
- }
81
- })(),
82
- bell: (() => {
83
- switch (score.scoreData.bellLamp) {
84
- case "FULL BELL":
85
- return type_1.EBellTypes.FULL_BELL;
86
- default:
87
- return type_1.EBellTypes.NONE;
88
- }
89
- })(),
161
+ combo,
162
+ bell,
90
163
  score: score.scoreData.score,
91
164
  platinumScore: this.getPlatinumScore(score),
92
165
  rank: (() => {
@@ -119,86 +192,18 @@ class KamaiTachi extends __1.default {
119
192
  }
120
193
  })(),
121
194
  rating: (() => {
122
- const RANK_RATING_ADJUSTMENT = {
123
- "1010000": 2.0,
124
- "1007500": 1.75,
125
- "1000000": 1.25,
126
- "990000": 0.75,
127
- "970000": 0,
128
- "900000": -4,
129
- "800000": -6,
130
- };
131
195
  if (type == "classic")
132
- return score.calculatedData.rating;
196
+ return util_2.OngekiUtil.calculateScoreRating(internalLevel, score.scoreData.score);
133
197
  else
134
- return score.calculatedData.scoreRating;
135
- // else {
136
- // let rating = 0,
137
- // scoreNum = score.scoreData.score;
138
- // if (scoreNum > 1007500) {
139
- // rating +=
140
- // ((scoreNum - 1007500) / 2500) *
141
- // (RANK_RATING_ADJUSTMENT["1010000"] -
142
- // RANK_RATING_ADJUSTMENT["1007500"]) +
143
- // RANK_RATING_ADJUSTMENT["1007500"];
144
- // } else if (scoreNum > 1000000) {
145
- // rating +=
146
- // ((scoreNum - 1000000) / 7500) *
147
- // (RANK_RATING_ADJUSTMENT["1007500"] -
148
- // RANK_RATING_ADJUSTMENT["1000000"]) +
149
- // RANK_RATING_ADJUSTMENT["1000000"];
150
- // } else if (scoreNum > 990000) {
151
- // rating +=
152
- // ((scoreNum - 990000) / 10000) *
153
- // (RANK_RATING_ADJUSTMENT["1000000"] -
154
- // RANK_RATING_ADJUSTMENT["990000"]) +
155
- // RANK_RATING_ADJUSTMENT["990000"];
156
- // } else if (scoreNum > 970000) {
157
- // rating +=
158
- // ((scoreNum - 970000) / 20000) *
159
- // RANK_RATING_ADJUSTMENT["990000"];
160
- // } else if (scoreNum > 900000) {
161
- // rating +=
162
- // (1 - (scoreNum - 900000) / 70000) *
163
- // RANK_RATING_ADJUSTMENT["900000"];
164
- // } else if (scoreNum > 800000) {
165
- // rating +=
166
- // (1 - (scoreNum - 800000) / 100000) *
167
- // (RANK_RATING_ADJUSTMENT["800000"] -
168
- // RANK_RATING_ADJUSTMENT["900000"]) +
169
- // RANK_RATING_ADJUSTMENT["900000"];
170
- // } else if (scoreNum > 500000) {
171
- // rating *=
172
- // ((scoreNum - 500000) / 300000) *
173
- // (chart.levelNum + RANK_RATING_ADJUSTMENT["800000"]);
174
- // } else rating = 0;
175
- // switch (score.scoreData.noteLamp) {
176
- // case "FULL COMBO":
177
- // rating += 0.1;
178
- // break;
179
- // case "ALL BREAK":
180
- // rating += 0.3;
181
- // break;
182
- // case "ALL BREAK+":
183
- // rating += 0.35;
184
- // break;
185
- // }
186
- // switch (score.scoreData.bellLamp) {
187
- // case "FULL BELL":
188
- // rating += 0.05;
189
- // break;
190
- // }
191
- // switch (score.scoreData.grade) {
192
- // case "SS":
193
- // rating += 0.1;
194
- // case "SSS":
195
- // rating += 0.2;
196
- // case "SSS+":
197
- // rating += 0.3;
198
- // }
199
- // rating += chart.levelNum;
200
- // return rating;
201
- // }
198
+ return util_2.OngekiUtil.calculateReFreshScoreRating(internalLevel, score.scoreData.score, bell, combo);
199
+ // if (type == "classic") return score.calculatedData.rating;
200
+ // else return score.calculatedData.scoreRating;
201
+ })(),
202
+ starRating: (() => {
203
+ if (score.scoreData.platinumStars)
204
+ return util_2.OngekiUtil.calculateReFreshStarRating(internalLevel, score.scoreData.platinumStars);
205
+ else
206
+ return 0;
202
207
  })(),
203
208
  };
204
209
  }
@@ -233,19 +238,10 @@ class KamaiTachi extends __1.default {
233
238
  : b.score - a.score)
234
239
  .slice(0, 50),
235
240
  plat: bestScores
236
- .sort((a, b) => {
237
- return (
238
- // this.getPlatinumScoreRatio(b.chart, b.pb) -
239
- // this.getPlatinumScoreRatio(a.chart, a.pb) ||
240
- b.pb.calculatedData.starRating -
241
- a.pb.calculatedData.starRating ||
242
- b.pb.calculatedData.scoreRating -
243
- a.pb.calculatedData.scoreRating ||
244
- // b.pb.calculatedData.rating -
245
- // a.pb.calculatedData.rating ||
246
- b.pb.scoreData.score - a.pb.scoreData.score);
247
- })
248
241
  .map((v) => this.toMaiDrawScore(v.pb, v.chart, v.song))
242
+ .sort((a, b) => b.starRating - a.starRating
243
+ ? b.starRating - a.starRating
244
+ : b.score - a.score)
249
245
  .slice(0, 50),
250
246
  best: bestScores
251
247
  .map((v) => this.toMaiDrawScore(v.pb, v.chart, v.song))
@@ -379,21 +375,7 @@ class KamaiTachi extends __1.default {
379
375
  .map((v) => v.rating)
380
376
  .reduce((sum, v) => sum + v, 0);
381
377
  const platRating = scores.plat
382
- .map((v) => {
383
- const platinumScoreRatio = v.platinumScore / v.chart.maxPlatinumScore;
384
- let coefficient = 0;
385
- if (platinumScoreRatio >= 0.98)
386
- coefficient = 5;
387
- else if (platinumScoreRatio >= 0.97)
388
- coefficient = 4;
389
- else if (platinumScoreRatio >= 0.96)
390
- coefficient = 3;
391
- else if (platinumScoreRatio >= 0.95)
392
- coefficient = 2;
393
- else if (platinumScoreRatio >= 0.94)
394
- coefficient = 1;
395
- return (Math.floor(coefficient * v.chart.level * v.chart.level) / 1000);
396
- })
378
+ .map((v) => v.starRating)
397
379
  .reduce((sum, v) => sum + v, 0);
398
380
  return {
399
381
  name: profile?.body.username,
@@ -410,7 +392,7 @@ class KamaiTachi extends __1.default {
410
392
  [...scores.recent, ...scores.new, ...scores.old].forEach((v) => (rating += v.rating));
411
393
  return {
412
394
  name: profile?.body.username,
413
- rating: rating / 55,
395
+ rating: util_1.Util.truncateNumber(rating / 55, 2),
414
396
  };
415
397
  }
416
398
  else
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/geki/lib/adapter/kamaiTachi/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/geki/lib/adapter/kamaiTachi/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { Geki } from "..";
2
+ import { EDifficulty } from "../type";
1
3
  export declare class Database {
2
4
  private static localDatabasePath;
3
5
  static setLocalDatabasePath(path: string): void;
@@ -6,4 +8,134 @@ export declare class Database {
6
8
  static cacheJackets(ids: number[]): Promise<void>;
7
9
  static fetchJacket(id: number): Promise<Buffer | null>;
8
10
  static downloadJacket(id: number): Promise<Buffer | null>;
11
+ static getLocalChart(id: number, difficulty: EDifficulty): Database.IChart | null;
12
+ static getAllSongs(): Promise<Geki.Database.IChart[]>;
13
+ static findLocalChartWithNameAndLevel(name: string, level: number): Promise<Geki.Database.IChart | null>;
14
+ static getCardImage(id: number): Promise<Buffer | null>;
15
+ static getLocalCard(id: number): Database.ICard | null;
16
+ static getLocalCharacter(id: number): Database.ICharacter | null;
17
+ }
18
+ export declare namespace Database {
19
+ interface IChart {
20
+ /**
21
+ * Unique Chart ID, i.e. a 4 digit number-like string.
22
+ */
23
+ id: number;
24
+ /**
25
+ * Name of the song.
26
+ */
27
+ name: string;
28
+ /**
29
+ * Name of the artist.
30
+ */
31
+ artist: string;
32
+ /**
33
+ * BPM of the song.
34
+ */
35
+ bpms: number[];
36
+ /**
37
+ * Difficulty category of the chart.
38
+ */
39
+ difficulty: EDifficulty;
40
+ addVersion: IVersion;
41
+ /**
42
+ * Metadata of the chart.
43
+ */
44
+ meta: {
45
+ /**
46
+ * Note count of the chart.
47
+ */
48
+ notes: {
49
+ tap: number;
50
+ hold: number;
51
+ side: number;
52
+ flick: number;
53
+ bell: number;
54
+ };
55
+ boss: {
56
+ card: {
57
+ id: number;
58
+ name: string;
59
+ };
60
+ character: {
61
+ rarity: string;
62
+ name: string;
63
+ comment?: string;
64
+ };
65
+ level: number;
66
+ };
67
+ maxPlatinumScore: number;
68
+ };
69
+ /**
70
+ * Events that happened to the chart in versions.
71
+ */
72
+ events: Events[];
73
+ designer: string;
74
+ }
75
+ namespace Events {
76
+ interface Base {
77
+ type: string;
78
+ data?: any;
79
+ version: IEventVersion;
80
+ }
81
+ export interface Existence extends Base {
82
+ type: "existence";
83
+ data: {
84
+ level: number;
85
+ };
86
+ }
87
+ export interface Absence extends Base {
88
+ type: "absence";
89
+ }
90
+ export interface Removal extends Base {
91
+ type: "removal";
92
+ }
93
+ export {};
94
+ }
95
+ type Events = Events.Existence | Events.Absence | Events.Removal;
96
+ interface IVersion {
97
+ /**
98
+ * Full name of the version.
99
+ * @example "オンゲキ Re:Fresh"
100
+ */
101
+ name: string;
102
+ /**
103
+ * Version number as it is used internally.
104
+ * Formatted as `{major}.{minor}.{patch}`.
105
+ */
106
+ gameVersion: {
107
+ major: number;
108
+ minor: number;
109
+ release?: number;
110
+ };
111
+ }
112
+ interface IEventVersion extends IVersion {
113
+ gameVersion: {
114
+ major: number;
115
+ minor: number;
116
+ release: number;
117
+ };
118
+ region: "JPN";
119
+ }
120
+ enum EBloodType {
121
+ A = "A",
122
+ B = "B",
123
+ O = "O",
124
+ AB = "AB"
125
+ }
126
+ interface ICharacter {
127
+ id: number;
128
+ name: string;
129
+ voiceLines: string[];
130
+ bloodType: EBloodType;
131
+ personality?: string;
132
+ height: number;
133
+ }
134
+ interface ICard {
135
+ id: number;
136
+ name: string;
137
+ rarity: string;
138
+ characterId: number;
139
+ attribute: string;
140
+ }
9
141
  }
@@ -46,20 +46,95 @@ class Database {
46
46
  __1.Geki.logger.trace(`GET Jacket-${id}, database HIT`);
47
47
  return fs_1.default.readFileSync(localFilePath);
48
48
  }
49
- // const beginTimestamp = Date.now();
50
- // const res = await axios
51
- // .get(`https://assets2.lxns.net/chunithm/jacket/${id}.png`, {
52
- // responseType: "arraybuffer",
53
- // })
54
- // .then((res) => res.data)
55
- // .catch((e) => null);
56
- // const timeDifference = Date.now() - beginTimestamp;
57
- // Chuni.logger.trace(
58
- // `GET Jacket-${id}, database MISS, took ${timeDifference}ms`
59
- // );
60
- // return res;
49
+ return null;
50
+ }
51
+ static getLocalChart(id, difficulty) {
52
+ const localFilePath = upath_1.default.join(this.localDatabasePath, "assets", "ongeki", "charts", `${id.toString().padStart(4, "0")}`, `${difficulty}.json`);
53
+ if (fs_1.default.existsSync(localFilePath)) {
54
+ return JSON.parse(fs_1.default.readFileSync(localFilePath, "utf-8"));
55
+ }
56
+ return null;
57
+ }
58
+ static async getAllSongs() {
59
+ const cached = await this.cache.get("all-ongeki-songs");
60
+ if (cached)
61
+ return cached;
62
+ const localFolderPath = upath_1.default.join(this.localDatabasePath, "assets", "ongeki", "charts");
63
+ const chartFolders = fs_1.default.readdirSync(localFolderPath);
64
+ const songs = [];
65
+ for (const folder of chartFolders) {
66
+ const charts = fs_1.default.readdirSync(upath_1.default.join(localFolderPath, folder));
67
+ for (const chart of charts) {
68
+ const path = upath_1.default.join(localFolderPath, folder, chart);
69
+ try {
70
+ songs.push(require(path));
71
+ }
72
+ catch { }
73
+ }
74
+ }
75
+ await this.cache.put("all-ongeki-songs", songs, 1000 * 60 * 60 * 2);
76
+ return songs;
77
+ }
78
+ static async findLocalChartWithNameAndLevel(name, level) {
79
+ const allSongs = await this.getAllSongs();
80
+ const found = allSongs
81
+ .filter((v) => v.name == name)
82
+ .flatMap((v) => v.events
83
+ .filter((v) => v.type == "existence")
84
+ .map((v1) => {
85
+ return {
86
+ level: v1.data.level,
87
+ chart: v,
88
+ };
89
+ })
90
+ .sort((a, b) => Math.abs(a.level - level) -
91
+ Math.abs(b.level - level))
92
+ .map((v) => v.chart));
93
+ return found.shift() || null;
94
+ }
95
+ static async getCardImage(id) {
96
+ const cacheKey = `geki-card-${id}`;
97
+ const cached = await this.cache.get(cacheKey);
98
+ if (cached instanceof Buffer) {
99
+ __1.Geki.logger.trace(`GET Card-${id}-image, cache HIT`);
100
+ return cached;
101
+ }
102
+ else {
103
+ __1.Geki.logger.trace(`GET Card-${id}-image, cache MISS`);
104
+ const localFilePath = upath_1.default.join(this.localDatabasePath, "assets", "ongeki", "cards", "images", `${id.toString().padStart(6, "0")}.png`);
105
+ if (fs_1.default.existsSync(localFilePath)) {
106
+ __1.Geki.logger.trace(`GET Card-${id}-image, database HIT`);
107
+ const card = fs_1.default.readFileSync(localFilePath);
108
+ if (card)
109
+ this.cache.put(cacheKey, card, 5 * 60 * 60);
110
+ return card;
111
+ }
112
+ }
113
+ return null;
114
+ }
115
+ static getLocalCard(id) {
116
+ const localFilePath = upath_1.default.join(this.localDatabasePath, "assets", "ongeki", "cards", id.toString().padStart(6, "0"), `${id.toString().padStart(6, "0")}.json`);
117
+ if (fs_1.default.existsSync(localFilePath)) {
118
+ return JSON.parse(fs_1.default.readFileSync(localFilePath, "utf-8"));
119
+ }
120
+ return null;
121
+ }
122
+ static getLocalCharacter(id) {
123
+ const localFilePath = upath_1.default.join(this.localDatabasePath, "assets", "ongeki", "characters", id.toString().padStart(6, "0"), `${id.toString().padStart(6, "0")}.json`);
124
+ if (fs_1.default.existsSync(localFilePath)) {
125
+ return JSON.parse(fs_1.default.readFileSync(localFilePath, "utf-8"));
126
+ }
61
127
  return null;
62
128
  }
63
129
  }
64
130
  exports.Database = Database;
131
+ (function (Database) {
132
+ let EBloodType;
133
+ (function (EBloodType) {
134
+ EBloodType["A"] = "A";
135
+ EBloodType["B"] = "B";
136
+ EBloodType["O"] = "O";
137
+ EBloodType["AB"] = "AB";
138
+ })(EBloodType = Database.EBloodType || (Database.EBloodType = {}));
139
+ })(Database || (exports.Database = Database = {}));
65
140
  //# sourceMappingURL=database.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/geki/lib/database.ts"],"names":[],"mappings":";;;;;;AAAA,4CAAoB;AACpB,kDAA0B;AAC1B,8CAA2C;AAC3C,0BAA0B;AAE1B,MAAa,QAAQ;IACT,MAAM,CAAC,iBAAiB,GAAW,EAAE,CAAC;IAEvC,MAAM,CAAC,oBAAoB,CAAC,IAAY;QAC3C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAClC,CAAC;IAEM,MAAM,CAAC,gBAAgB;QAC1B,OAAO,YAAE,CAAC,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IACjD,CAAC;IAEO,MAAM,CAAC,KAAK,GAAG,IAAI,aAAK,EAAE,CAAC;IAC5B,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,GAAa;QAC1C,MAAM,QAAQ,GAAmB,EAAE,CAAC;QACpC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,CAAC;QACD,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,EAAU;QACtC,MAAM,QAAQ,GAAG,eAAe,EAAE,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,MAAM,YAAY,MAAM,EAAE,CAAC;YAC3B,QAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;YACjD,OAAO,MAAM,CAAC;QAClB,CAAC;aAAM,CAAC;YACJ,QAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,cAAc,CAAC,CAAC;YAClD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAC7C,IAAI,MAAM;gBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;YAC7D,OAAO,MAAM,CAAC;QAClB,CAAC;IACL,CAAC;IACM,MAAM,CAAC,KAAK,CAAC,cAAc,CAAC,EAAU;QACzC,EAAE,GAAG,EAAE,GAAG,KAAK,CAAC;QAChB,MAAM,aAAa,GAAG,eAAK,CAAC,IAAI,CAC5B,IAAI,CAAC,iBAAiB,EACtB,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,CAC1C,CAAC;QACF,IAAI,YAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC/B,QAAI,CAAC,MAAM,CAAC,KAAK,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC;YACpD,OAAO,YAAE,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;QAC1C,CAAC;QACD,qCAAqC;QACrC,0BAA0B;QAC1B,mEAAmE;QACnE,uCAAuC;QACvC,SAAS;QACT,+BAA+B;QAC/B,2BAA2B;QAC3B,sDAAsD;QACtD,sBAAsB;QACtB,kEAAkE;QAClE,KAAK;QACL,cAAc;QACd,OAAO,IAAI,CAAC;IAChB,CAAC;;AA1DL,4BA4EC"}
1
+ {"version":3,"file":"database.js","sourceRoot":"","sources":["../../../src/geki/lib/database.ts"],"names":[],"mappings":"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"}