maidraw 0.6.0 → 0.6.2

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 (83) hide show
  1. package/assets/themes/maimai/salt/2026landscape/image/background.png +0 -0
  2. package/assets/themes/maimai/salt/2026landscape/image/logo.png +0 -0
  3. package/assets/themes/ongeki/common/refresh/achievement/a.png +0 -0
  4. package/assets/themes/ongeki/common/refresh/achievement/aa.png +0 -0
  5. package/assets/themes/ongeki/common/refresh/achievement/aaa.png +0 -0
  6. package/assets/themes/ongeki/common/refresh/achievement/b.png +0 -0
  7. package/assets/themes/ongeki/common/refresh/achievement/bb.png +0 -0
  8. package/assets/themes/ongeki/common/refresh/achievement/bbb.png +0 -0
  9. package/assets/themes/ongeki/common/refresh/achievement/c.png +0 -0
  10. package/assets/themes/ongeki/common/refresh/achievement/d.png +0 -0
  11. package/assets/themes/ongeki/common/refresh/achievement/s.png +0 -0
  12. package/assets/themes/ongeki/common/refresh/achievement/ss.png +0 -0
  13. package/assets/themes/ongeki/common/refresh/achievement/sss.png +0 -0
  14. package/assets/themes/ongeki/common/refresh/achievement/sssp.png +0 -0
  15. package/assets/themes/ongeki/common/refresh/jp/background.png +0 -0
  16. package/assets/themes/ongeki/common/refresh/jp/logo.png +0 -0
  17. package/assets/themes/ongeki/common/versionless/emote.png +0 -0
  18. package/assets/themes/ongeki/common/versionless/icon.png +0 -0
  19. package/assets/themes/ongeki/common/versionless/milestone/ab.png +0 -0
  20. package/assets/themes/ongeki/common/versionless/milestone/abp.png +0 -0
  21. package/assets/themes/ongeki/common/versionless/milestone/fb.png +0 -0
  22. package/assets/themes/ongeki/common/versionless/milestone/fc.png +0 -0
  23. package/assets/themes/ongeki/common/versionless/numberMap.png +0 -0
  24. package/assets/themes/ongeki/common/versionless/userplateAF2025.png +0 -0
  25. package/assets/themes/ongeki/common/versionless/userplateIchigeki.png +0 -0
  26. package/assets/themes/ongeki/common/versionless/void.png +0 -0
  27. package/assets/themes/ongeki/jp/refreshLandscape/classic/manifest.json +203 -0
  28. package/assets/themes/ongeki/jp/refreshLandscape/refresh/manifest.json +170 -0
  29. package/dist/chu/bests/best50.d.ts +4 -2
  30. package/dist/chu/bests/best50.js +27 -2
  31. package/dist/chu/bests/best50.js.map +1 -1
  32. package/dist/chu/bests/lib/index.js +12 -4
  33. package/dist/chu/bests/lib/index.js.map +1 -1
  34. package/dist/chu/chart/index.d.ts +3 -3
  35. package/dist/chu/chart/index.js +28 -5
  36. package/dist/chu/chart/index.js.map +1 -1
  37. package/dist/chu/index.d.ts +6 -4
  38. package/dist/chu/index.js +29 -4
  39. package/dist/chu/index.js.map +1 -1
  40. package/dist/geki/bests/best50.d.ts +37 -0
  41. package/dist/geki/bests/best50.js +876 -0
  42. package/dist/geki/bests/best50.js.map +1 -0
  43. package/dist/geki/bests/index.d.ts +1 -0
  44. package/dist/geki/bests/index.js +6 -0
  45. package/dist/geki/bests/index.js.map +1 -0
  46. package/dist/geki/bests/lib/index.d.ts +34 -0
  47. package/dist/geki/bests/lib/index.js +68 -0
  48. package/dist/geki/bests/lib/index.js.map +1 -0
  49. package/dist/geki/bests/lib/kamaiTachi/index.d.ts +207 -0
  50. package/dist/geki/bests/lib/kamaiTachi/index.js +508 -0
  51. package/dist/geki/bests/lib/kamaiTachi/index.js.map +1 -0
  52. package/dist/geki/bests/type.d.ts +122 -0
  53. package/dist/geki/bests/type.js +3 -0
  54. package/dist/geki/bests/type.js.map +1 -0
  55. package/dist/geki/chart/database.d.ts +9 -0
  56. package/dist/geki/chart/database.js +66 -0
  57. package/dist/geki/chart/database.js.map +1 -0
  58. package/dist/geki/chart/index.d.ts +4 -0
  59. package/dist/geki/chart/index.js +32 -0
  60. package/dist/geki/chart/index.js.map +1 -0
  61. package/dist/geki/index.d.ts +10 -0
  62. package/dist/geki/index.js +70 -0
  63. package/dist/geki/index.js.map +1 -0
  64. package/dist/geki/type.d.ts +51 -0
  65. package/dist/geki/type.js +39 -0
  66. package/dist/geki/type.js.map +1 -0
  67. package/dist/index.d.ts +7 -5
  68. package/dist/index.js +32 -7
  69. package/dist/index.js.map +1 -1
  70. package/dist/lib/cache.js +3 -2
  71. package/dist/lib/cache.js.map +1 -1
  72. package/dist/mai/best50/index.d.ts +8 -6
  73. package/dist/mai/best50/index.js +31 -6
  74. package/dist/mai/best50/index.js.map +1 -1
  75. package/dist/mai/best50/lib/index.js +12 -4
  76. package/dist/mai/best50/lib/index.js.map +1 -1
  77. package/dist/mai/chart/index.d.ts +3 -3
  78. package/dist/mai/chart/index.js +28 -5
  79. package/dist/mai/chart/index.js.map +1 -1
  80. package/dist/mai/index.d.ts +6 -4
  81. package/dist/mai/index.js +29 -4
  82. package/dist/mai/index.js.map +1 -1
  83. package/package.json +1 -1
@@ -0,0 +1,508 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.KamaiTachi = void 0;
7
+ const type_1 = require("../../../type");
8
+ const __1 = __importDefault(require(".."));
9
+ class KamaiTachi extends __1.default {
10
+ CURRENT_VERSION;
11
+ constructor({ baseURL = "https://kamai.tachi.ac/", currentVersion = KamaiTachi.EGameVersions.REFRESH, } = {}) {
12
+ super({ baseURL });
13
+ this.CURRENT_VERSION = currentVersion;
14
+ }
15
+ getPlatinumScore(score) {
16
+ const ASSUMED_PLAT_SCORE_RATE = 0;
17
+ let platScore = 0;
18
+ if (score.scoreData.optional.platScore)
19
+ platScore = score.scoreData.optional.platScore;
20
+ else {
21
+ platScore =
22
+ (1 + ASSUMED_PLAT_SCORE_RATE) *
23
+ score.scoreData.judgements.cbreak;
24
+ if (score.scoreData.optional.damage)
25
+ platScore -= 2 * score.scoreData.optional.damage;
26
+ if (score.scoreData.optional.totalBellCount &&
27
+ score.scoreData.optional.bellCount)
28
+ platScore -=
29
+ 2 *
30
+ (score.scoreData.optional.totalBellCount -
31
+ score.scoreData.optional.bellCount);
32
+ }
33
+ return platScore;
34
+ }
35
+ getPlatinumScoreRatio(chart, score) {
36
+ return this.getPlatinumScore(score) / chart.data.maxPlatScore;
37
+ }
38
+ async getPlayerPB(userId) {
39
+ return this.get(`/api/v1/users/${userId}/games/ongeki/Single/pbs/all`, undefined, 60 * 1000);
40
+ }
41
+ async getPlayerRecentScores(userId) {
42
+ return this.get(`/api/v1/users/${userId}/games/ongeki/Single/scores/recent`, undefined, 60 * 1000);
43
+ }
44
+ toMaiDrawScore(score, chart, song, type = "refresh") {
45
+ return {
46
+ chart: (() => {
47
+ return {
48
+ id: chart.data.inGameID,
49
+ name: song.title,
50
+ difficulty: (() => {
51
+ switch (chart.difficulty) {
52
+ case "LUNATIC":
53
+ return type_1.EDifficulty.LUNATIC;
54
+ case "MASTER":
55
+ return type_1.EDifficulty.MASTER;
56
+ case "EXPERT":
57
+ return type_1.EDifficulty.EXPERT;
58
+ case "ADVANCED":
59
+ return type_1.EDifficulty.ADVANCED;
60
+ case "BASIC":
61
+ default:
62
+ return type_1.EDifficulty.BASIC;
63
+ }
64
+ })(),
65
+ level: chart.levelNum,
66
+ maxPlatinumScore: chart.data.maxPlatScore,
67
+ };
68
+ })(),
69
+ combo: (() => {
70
+ switch (score.scoreData.noteLamp) {
71
+ case "FULL COMBO":
72
+ return type_1.EComboTypes.FULL_COMBO;
73
+ case "ALL BREAK":
74
+ return type_1.EComboTypes.ALL_BREAK;
75
+ case "ALL BREAK+":
76
+ return type_1.EComboTypes.ALL_BREAK_PLUS;
77
+ default:
78
+ return type_1.EComboTypes.NONE;
79
+ }
80
+ })(),
81
+ bell: (() => {
82
+ switch (score.scoreData.bellLamp) {
83
+ case "FULL BELL":
84
+ return type_1.EBellTypes.FULL_BELL;
85
+ default:
86
+ return type_1.EBellTypes.NONE;
87
+ }
88
+ })(),
89
+ score: score.scoreData.score,
90
+ platinumScore: this.getPlatinumScore(score),
91
+ rank: (() => {
92
+ switch (score.scoreData.grade) {
93
+ case "C":
94
+ return type_1.EAchievementTypes.C;
95
+ case "B":
96
+ return type_1.EAchievementTypes.B;
97
+ case "BB":
98
+ return type_1.EAchievementTypes.BB;
99
+ case "BBB":
100
+ return type_1.EAchievementTypes.BBB;
101
+ case "A":
102
+ return type_1.EAchievementTypes.A;
103
+ case "AA":
104
+ return type_1.EAchievementTypes.AA;
105
+ case "AAA":
106
+ return type_1.EAchievementTypes.AAA;
107
+ case "S":
108
+ return type_1.EAchievementTypes.S;
109
+ case "SS":
110
+ return type_1.EAchievementTypes.SS;
111
+ case "SSS":
112
+ return type_1.EAchievementTypes.SSS;
113
+ case "SSS+":
114
+ return type_1.EAchievementTypes.SSSP;
115
+ case "D":
116
+ default:
117
+ return type_1.EAchievementTypes.D;
118
+ }
119
+ })(),
120
+ rating: (() => {
121
+ const RANK_RATING_ADJUSTMENT = {
122
+ "1010000": 2.0,
123
+ "1007500": 1.75,
124
+ "1000000": 1.25,
125
+ "990000": 0.75,
126
+ "970000": 0,
127
+ "900000": -4,
128
+ "800000": -6,
129
+ };
130
+ if (type == "classic")
131
+ return score.calculatedData.rating;
132
+ else {
133
+ let rating = 0, scoreNum = score.scoreData.score;
134
+ if (scoreNum > 1007500) {
135
+ rating +=
136
+ ((scoreNum - 1007500) / 2500) *
137
+ RANK_RATING_ADJUSTMENT["1010000"];
138
+ }
139
+ else if (scoreNum > 1000000) {
140
+ rating +=
141
+ ((scoreNum - 1000000) / 7500) *
142
+ RANK_RATING_ADJUSTMENT["1007500"];
143
+ }
144
+ else if (scoreNum > 990000) {
145
+ rating +=
146
+ ((scoreNum - 990000) / 10000) *
147
+ RANK_RATING_ADJUSTMENT["1000000"];
148
+ }
149
+ else if (scoreNum > 970000) {
150
+ rating +=
151
+ ((scoreNum - 970000) / 20000) *
152
+ RANK_RATING_ADJUSTMENT["990000"];
153
+ }
154
+ else if (scoreNum > 900000) {
155
+ rating +=
156
+ (1 - (scoreNum - 900000) / 70000) *
157
+ RANK_RATING_ADJUSTMENT["900000"];
158
+ }
159
+ else if (scoreNum > 800000) {
160
+ rating +=
161
+ (1 - (scoreNum - 800000) / 100000) *
162
+ RANK_RATING_ADJUSTMENT["800000"];
163
+ }
164
+ else if (scoreNum > 500000) {
165
+ rating *= 1 - (500000 - scoreNum) / 300000;
166
+ }
167
+ else
168
+ rating = 0;
169
+ switch (score.scoreData.noteLamp) {
170
+ case "FULL COMBO":
171
+ rating += 0.1;
172
+ break;
173
+ case "ALL BREAK":
174
+ rating += 0.3;
175
+ break;
176
+ case "ALL BREAK+":
177
+ rating += 0.35;
178
+ break;
179
+ }
180
+ switch (score.scoreData.bellLamp) {
181
+ case "FULL BELL":
182
+ rating += 0.05;
183
+ break;
184
+ }
185
+ switch (score.scoreData.grade) {
186
+ case "SS":
187
+ rating += 0.1;
188
+ case "SSS":
189
+ rating += 0.2;
190
+ case "SSS+":
191
+ rating += 0.3;
192
+ }
193
+ rating += chart.levelNum;
194
+ return rating;
195
+ }
196
+ })(),
197
+ };
198
+ }
199
+ async getPlayerBest60(userId, currentVersion = this.CURRENT_VERSION) {
200
+ const rawPBs = await this.getPlayerPB(userId);
201
+ if (!rawPBs?.body)
202
+ return null;
203
+ const pbs = [];
204
+ for (const pb of rawPBs.body.pbs) {
205
+ let chart = rawPBs.body.charts.find((v) => v.chartID == pb.chartID);
206
+ let song = rawPBs.body.songs.find((v) => v.id == pb.songID);
207
+ if (chart && song && chart.levelNum > 0) {
208
+ pbs.push({ pb, chart, song });
209
+ }
210
+ }
211
+ const newScores = pbs.filter((v) => v.chart.data.displayVersion == currentVersion);
212
+ const oldScores = pbs.filter((v) => v.chart &&
213
+ KamaiTachi.compareGameVersions(currentVersion, v.chart.data.displayVersion) > 0);
214
+ const bestScores = pbs.filter((v) => v.chart &&
215
+ KamaiTachi.compareGameVersions(currentVersion, v.chart.data.displayVersion) >= 0);
216
+ return {
217
+ new: newScores
218
+ .map((v) => this.toMaiDrawScore(v.pb, v.chart, v.song))
219
+ .sort((a, b) => b.rating - a.rating
220
+ ? b.rating - a.rating
221
+ : b.score - a.score)
222
+ .slice(0, 10),
223
+ old: oldScores
224
+ .map((v) => this.toMaiDrawScore(v.pb, v.chart, v.song))
225
+ .sort((a, b) => b.rating - a.rating
226
+ ? b.rating - a.rating
227
+ : b.score - a.score)
228
+ .slice(0, 50),
229
+ plat: bestScores
230
+ .sort((a, b) => {
231
+ return (this.getPlatinumScoreRatio(b.chart, b.pb) -
232
+ this.getPlatinumScoreRatio(a.chart, a.pb) ||
233
+ b.pb.calculatedData.rating -
234
+ a.pb.calculatedData.rating ||
235
+ b.pb.scoreData.score - a.pb.scoreData.score);
236
+ })
237
+ .map((v) => this.toMaiDrawScore(v.pb, v.chart, v.song))
238
+ .slice(0, 50),
239
+ best: bestScores
240
+ .map((v) => this.toMaiDrawScore(v.pb, v.chart, v.song))
241
+ .sort((a, b) => b.rating - a.rating
242
+ ? b.rating - a.rating
243
+ : b.score - a.score)
244
+ .slice(0, 45),
245
+ };
246
+ }
247
+ async getPlayerBest55(userId, currentVersion = this.CURRENT_VERSION) {
248
+ const rawPBs = await this.getPlayerPB(userId);
249
+ const rawRecents = await this.getPlayerRecentScores(userId);
250
+ if (!rawPBs?.body || !rawRecents?.body)
251
+ return null;
252
+ const pbs = [];
253
+ const recents = [];
254
+ for (const pb of rawPBs.body.pbs) {
255
+ let chart = rawPBs.body.charts.find((v) => v.chartID == pb.chartID);
256
+ let song = rawPBs.body.songs.find((v) => v.id == pb.songID);
257
+ if (chart && song && chart.levelNum > 0) {
258
+ pbs.push({ pb, chart, song });
259
+ }
260
+ }
261
+ for (const recent of rawRecents.body.scores) {
262
+ let chart = rawRecents.body.charts.find((v) => v.chartID == recent.chartID);
263
+ let song = rawRecents.body.songs.find((v) => v.id == recent.songID);
264
+ if (chart && song) {
265
+ recents.push({ scores: recent, chart, song });
266
+ }
267
+ }
268
+ const newScores = pbs.filter((v) => v.chart.data.displayVersion == currentVersion);
269
+ const oldScores = pbs.filter((v) => v.chart &&
270
+ KamaiTachi.compareGameVersions(currentVersion, v.chart.data.displayVersion) > 0);
271
+ const recentScores = recents.filter((v) => v.chart &&
272
+ KamaiTachi.compareGameVersions(currentVersion, v.chart.data.displayVersion) >= 0);
273
+ function ratingGuardSimulation(scores) {
274
+ let r30 = [];
275
+ for (let i = 0; i < scores.length; i++) {
276
+ r30 = r30.sort((a, b) => a.order - b.order);
277
+ const score = scores[i];
278
+ // console.log(`#${i} ${score.chart.name} Rating: ${score.rating}`);
279
+ if (r30.length < 30) {
280
+ // console.log(`Recents is not full, adding directly to recents.`);
281
+ r30.push({ score, order: i });
282
+ }
283
+ else {
284
+ switch (score.rank) {
285
+ case type_1.EAchievementTypes.SSS:
286
+ case type_1.EAchievementTypes.SSSP:
287
+ while (r30.length > 30) {
288
+ r30.shift();
289
+ }
290
+ // console.log(`SSS rating guard triggered.`);
291
+ if (r30.length >= 30) {
292
+ const best10 = r30
293
+ .sort((a, b) => a.score.rating == b.score.rating
294
+ ? b.score.score - a.score.score
295
+ : b.score.rating - a.score.rating)
296
+ .slice(0, 10);
297
+ for (let j = 0; j < r30.length; ++j) {
298
+ if (!best10.includes(r30[j])) {
299
+ // console.log(`This score will replace: ${r30[j].score.chart.name}, rating: ${r30[j].score.rating}`);
300
+ r30[j] = { score, order: i };
301
+ break;
302
+ }
303
+ }
304
+ break;
305
+ }
306
+ default:
307
+ // console.log(`Pushing to the end of recents.`);
308
+ r30.push({ score, order: i });
309
+ while (r30.length > 30) {
310
+ // console.log(`Removing the oldest score.`);
311
+ r30.shift();
312
+ }
313
+ }
314
+ // console.log("Current recents:");
315
+ // console.log(
316
+ // r30.map(
317
+ // (v) =>
318
+ // `#${v.order} ${v.score.chart.name.slice(0, 4)} ${v.score.rating}`
319
+ // )
320
+ // );
321
+ }
322
+ }
323
+ return r30
324
+ .sort((a, b) => a.score.rating == b.score.rating
325
+ ? b.score.score - a.score.score
326
+ : b.score.rating - a.score.rating)
327
+ .slice(0, 10)
328
+ .map((v) => v.score);
329
+ }
330
+ return {
331
+ recent: ratingGuardSimulation(recentScores
332
+ .reverse()
333
+ .map((v) => this.toMaiDrawScore(v.scores, v.chart, v.song, "classic"))),
334
+ new: newScores
335
+ .sort((a, b) => b.pb.calculatedData.rating - a.pb.calculatedData.rating
336
+ ? b.pb.calculatedData.rating -
337
+ a.pb.calculatedData.rating
338
+ : b.pb.scoreData.score - a.pb.scoreData.score)
339
+ .slice(0, 15)
340
+ .map((v) => this.toMaiDrawScore(v.pb, v.chart, v.song, "classic")),
341
+ old: oldScores
342
+ .sort((a, b) => b.pb.calculatedData.rating - a.pb.calculatedData.rating
343
+ ? b.pb.calculatedData.rating -
344
+ a.pb.calculatedData.rating
345
+ : b.pb.scoreData.score - a.pb.scoreData.score)
346
+ .slice(0, 30)
347
+ .map((v) => this.toMaiDrawScore(v.pb, v.chart, v.song, "classic")),
348
+ best: pbs
349
+ .sort((a, b) => b.pb.calculatedData.rating - a.pb.calculatedData.rating
350
+ ? b.pb.calculatedData.rating -
351
+ a.pb.calculatedData.rating
352
+ : b.pb.scoreData.score - a.pb.scoreData.score)
353
+ .slice(0, 45)
354
+ .map((v) => this.toMaiDrawScore(v.pb, v.chart, v.song, "classic")),
355
+ };
356
+ }
357
+ async getPlayerInfo(userId, type) {
358
+ const profile = await this.getPlayerProfileRaw(userId);
359
+ if (type == "refresh") {
360
+ const scores = await this.getPlayerBest60(userId);
361
+ if (!profile?.body || !scores)
362
+ return null;
363
+ let rating = 0;
364
+ [...scores.new, ...scores.old].forEach((v) => (rating += v.rating));
365
+ scores.plat.forEach((v) => {
366
+ const platinumScoreRatio = v.platinumScore / v.chart.maxPlatinumScore;
367
+ let coefficient = 0;
368
+ if (platinumScoreRatio >= 0.98)
369
+ coefficient = 5;
370
+ else if (platinumScoreRatio >= 0.97)
371
+ coefficient = 4;
372
+ else if (platinumScoreRatio >= 0.96)
373
+ coefficient = 3;
374
+ else if (platinumScoreRatio >= 0.95)
375
+ coefficient = 2;
376
+ else if (platinumScoreRatio >= 0.94)
377
+ coefficient = 1;
378
+ rating += (coefficient * v.chart.level * v.chart.level) / 1000;
379
+ });
380
+ return {
381
+ name: profile?.body.username,
382
+ rating: rating / 50,
383
+ };
384
+ }
385
+ else if (type == "classic") {
386
+ const scores = await this.getPlayerBest55(userId);
387
+ if (!profile?.body || !scores)
388
+ return null;
389
+ let rating = 0;
390
+ [...scores.recent, ...scores.new, ...scores.old].forEach((v) => (rating += v.rating));
391
+ return {
392
+ name: profile?.body.username,
393
+ rating: rating / 55,
394
+ };
395
+ }
396
+ else
397
+ return null;
398
+ }
399
+ async getPlayerProfileRaw(userId) {
400
+ return this.get(`/api/v1/users/${userId}`);
401
+ }
402
+ async getPlayerProfilePicture(userId) {
403
+ return ((await this.get(`/api/v1/users/${userId}/pfp`, undefined, 2 * 60 * 60 * 1000, { responseType: "arraybuffer" })) || null);
404
+ }
405
+ ongeki() {
406
+ return new KamaiTachi({
407
+ currentVersion: KamaiTachi.EGameVersions.ONGEKI,
408
+ });
409
+ }
410
+ plus() {
411
+ return new KamaiTachi({
412
+ currentVersion: KamaiTachi.EGameVersions.ONGEKI_PLUS,
413
+ });
414
+ }
415
+ summer() {
416
+ return new KamaiTachi({
417
+ currentVersion: KamaiTachi.EGameVersions.SUMMER,
418
+ });
419
+ }
420
+ summerPlus() {
421
+ return new KamaiTachi({
422
+ currentVersion: KamaiTachi.EGameVersions.SUMMER_PLUS,
423
+ });
424
+ }
425
+ red() {
426
+ return new KamaiTachi({
427
+ currentVersion: KamaiTachi.EGameVersions.RED,
428
+ });
429
+ }
430
+ redPlus() {
431
+ return new KamaiTachi({
432
+ currentVersion: KamaiTachi.EGameVersions.RED_PLUS,
433
+ });
434
+ }
435
+ bright() {
436
+ return new KamaiTachi({
437
+ currentVersion: KamaiTachi.EGameVersions.BRIGHT,
438
+ });
439
+ }
440
+ brightMemoryAct1() {
441
+ return new KamaiTachi({
442
+ currentVersion: KamaiTachi.EGameVersions.BRIGHT_MEMORY_ACT_1,
443
+ });
444
+ }
445
+ brightMemoryAct2() {
446
+ return new KamaiTachi({
447
+ currentVersion: KamaiTachi.EGameVersions.BRIGHT_MEMORY_ACT_2,
448
+ });
449
+ }
450
+ brightMemoryAct3() {
451
+ return new KamaiTachi({
452
+ currentVersion: KamaiTachi.EGameVersions.BRIGHT_MEMORY_ACT_3,
453
+ });
454
+ }
455
+ refresh() {
456
+ return new KamaiTachi({
457
+ currentVersion: KamaiTachi.EGameVersions.REFRESH,
458
+ });
459
+ }
460
+ }
461
+ exports.KamaiTachi = KamaiTachi;
462
+ (function (KamaiTachi) {
463
+ let EGameVersions;
464
+ (function (EGameVersions) {
465
+ EGameVersions["REFRESH"] = "\u30AA\u30F3\u30B2\u30AD Re:Fresh";
466
+ EGameVersions["BRIGHT_MEMORY_ACT_3"] = "\u30AA\u30F3\u30B2\u30AD bright MEMORY Act.3";
467
+ EGameVersions["BRIGHT_MEMORY_ACT_2"] = "\u30AA\u30F3\u30B2\u30AD bright MEMORY Act.2";
468
+ EGameVersions["BRIGHT_MEMORY_ACT_1"] = "\u30AA\u30F3\u30B2\u30AD bright MEMORY Act.1";
469
+ EGameVersions["BRIGHT"] = "\u30AA\u30F3\u30B2\u30AD bright";
470
+ EGameVersions["RED_PLUS"] = "\u30AA\u30F3\u30B2\u30AD R.E.D. PLUS";
471
+ EGameVersions["RED"] = "\u30AA\u30F3\u30B2\u30AD R.E.D.";
472
+ EGameVersions["SUMMER_PLUS"] = "\u30AA\u30F3\u30B2\u30AD SUMMER PLUS";
473
+ EGameVersions["SUMMER"] = "\u30AA\u30F3\u30B2\u30AD SUMMER";
474
+ EGameVersions["ONGEKI_PLUS"] = "\u30AA\u30F3\u30B2\u30AD PLUS";
475
+ EGameVersions["ONGEKI"] = "\u30AA\u30F3\u30B2\u30AD";
476
+ })(EGameVersions = KamaiTachi.EGameVersions || (KamaiTachi.EGameVersions = {}));
477
+ const GameVersions = [
478
+ EGameVersions.REFRESH,
479
+ EGameVersions.BRIGHT_MEMORY_ACT_3,
480
+ EGameVersions.BRIGHT_MEMORY_ACT_2,
481
+ EGameVersions.BRIGHT_MEMORY_ACT_1,
482
+ EGameVersions.BRIGHT,
483
+ EGameVersions.RED_PLUS,
484
+ EGameVersions.RED,
485
+ EGameVersions.SUMMER_PLUS,
486
+ EGameVersions.SUMMER,
487
+ EGameVersions.ONGEKI_PLUS,
488
+ EGameVersions.ONGEKI,
489
+ ];
490
+ /**
491
+ * Compare two game versions and calculate which is newer.
492
+ *
493
+ * @param a Game version.
494
+ * @param b Game version.
495
+ * @returns positive if a is newer, negative if b is newer, 0 if they are the same.
496
+ */
497
+ function compareGameVersions(a, b) {
498
+ if (!GameVersions.includes(a))
499
+ return -1;
500
+ if (!GameVersions.includes(b))
501
+ return 1;
502
+ if (a == b)
503
+ return 0;
504
+ return GameVersions.indexOf(b) - GameVersions.indexOf(a);
505
+ }
506
+ KamaiTachi.compareGameVersions = compareGameVersions;
507
+ })(KamaiTachi || (exports.KamaiTachi = KamaiTachi = {}));
508
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/geki/bests/lib/kamaiTachi/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,122 @@
1
+ import { IScore } from "../../mai/type";
2
+ export interface IThemeManifest {
3
+ displayName: string;
4
+ name: string;
5
+ width: number;
6
+ height: number;
7
+ sprites: IThemeSprites;
8
+ elements: IThemeElements[];
9
+ }
10
+ export interface IThemeSprites {
11
+ achievement: {
12
+ d: string;
13
+ c: string;
14
+ b: string;
15
+ bb: string;
16
+ bbb: string;
17
+ a: string;
18
+ aa: string;
19
+ aaa: string;
20
+ s: string;
21
+ ss: string;
22
+ sss: string;
23
+ sssp: string;
24
+ };
25
+ milestone: {
26
+ ab: string;
27
+ abp: string;
28
+ fc: string;
29
+ fb: string;
30
+ none: string;
31
+ };
32
+ ratingNumberMap: string;
33
+ profile: {
34
+ icon: string;
35
+ userplate: string;
36
+ };
37
+ }
38
+ export type IThemeElements = IThemeProfileElement | IThemeScoreElement | IThemeImageElement | IThemeTextElement;
39
+ export interface IThemeElement {
40
+ type: string;
41
+ x: number;
42
+ y: number;
43
+ }
44
+ export interface IThemeProfileElement extends IThemeElement {
45
+ type: "profile";
46
+ }
47
+ export interface IThemeScoreElement extends IThemeElement {
48
+ type: "score-grid";
49
+ horizontalSize: number;
50
+ verticalSize: number;
51
+ region: "new" | "old" | "recent";
52
+ index: number;
53
+ scoreBubble: {
54
+ width: number;
55
+ height: number;
56
+ margin: number;
57
+ gap: number | {
58
+ x: number;
59
+ y: number;
60
+ };
61
+ color: {
62
+ basic: string;
63
+ advanced: string;
64
+ expert: string;
65
+ master: string;
66
+ lunatic: string;
67
+ };
68
+ };
69
+ }
70
+ export interface IThemeImageElement extends IThemeElement {
71
+ type: "image";
72
+ width: number;
73
+ height: number;
74
+ /**
75
+ * Relative path from the manifest file to the element file.
76
+ */
77
+ path: string;
78
+ }
79
+ export interface IThemeTextElement extends IThemeElement {
80
+ type: "text";
81
+ size: number;
82
+ content: string;
83
+ /**
84
+ * If width is provied and the text is too long, it will be cut off.
85
+ */
86
+ width?: number;
87
+ /**
88
+ * If height is provied and the text is too big, it will be cut off.
89
+ */
90
+ height?: number;
91
+ /**
92
+ * If true, instead of cutting off the text, it will change to a new line.
93
+ * Height restrictions will still apply.
94
+ */
95
+ linebreak?: boolean;
96
+ /**
97
+ * Text alignment.
98
+ * Defaults to left.
99
+ */
100
+ align?: "left" | "center" | "right";
101
+ /**
102
+ * Text color.
103
+ * Defaults to white (#FFFFFF).
104
+ */
105
+ color?: string;
106
+ /**
107
+ * Text border color.
108
+ * Defaults a darker variant of `color`.
109
+ */
110
+ borderColor?: string;
111
+ /**
112
+ * Text font. Please make sure the font is available in the environment.
113
+ * Defaults to a preconfigured font macro. Check source code for more info.
114
+ */
115
+ font?: string;
116
+ }
117
+ export interface IBest50 {
118
+ new: IScore[];
119
+ old: IScore[];
120
+ username: string;
121
+ rating: number;
122
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"type.js","sourceRoot":"","sources":["../../../src/geki/bests/type.ts"],"names":[],"mappings":""}