maidraw 0.6.4 → 0.7.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 (215) hide show
  1. package/assets/themes/maimai/chart/common/prism/jp/background.png +0 -0
  2. package/assets/themes/maimai/chart/common/versionless/logo/cn/200.png +0 -0
  3. package/assets/themes/maimai/chart/common/versionless/logo/cn/210.png +0 -0
  4. package/assets/themes/maimai/chart/common/versionless/logo/cn/220.png +0 -0
  5. package/assets/themes/maimai/chart/common/versionless/logo/cn/230.png +0 -0
  6. package/assets/themes/maimai/chart/common/versionless/logo/cn/240.png +0 -0
  7. package/assets/themes/maimai/chart/common/versionless/logo/intl/210.png +0 -0
  8. package/assets/themes/maimai/chart/common/versionless/logo/intl/215.png +0 -0
  9. package/assets/themes/maimai/chart/common/versionless/logo/jp/100.png +0 -0
  10. package/assets/themes/maimai/chart/common/versionless/logo/jp/110.png +0 -0
  11. package/assets/themes/maimai/chart/common/versionless/logo/jp/120.png +0 -0
  12. package/assets/themes/maimai/chart/common/versionless/logo/jp/130.png +0 -0
  13. package/assets/themes/maimai/chart/common/versionless/logo/jp/140.png +0 -0
  14. package/assets/themes/maimai/chart/common/versionless/logo/jp/150.png +0 -0
  15. package/assets/themes/maimai/chart/common/versionless/logo/jp/160.png +0 -0
  16. package/assets/themes/maimai/chart/common/versionless/logo/jp/170.png +0 -0
  17. package/assets/themes/maimai/chart/common/versionless/logo/jp/180.png +0 -0
  18. package/assets/themes/maimai/chart/common/versionless/logo/jp/185.png +0 -0
  19. package/assets/themes/maimai/chart/common/versionless/logo/jp/190.png +0 -0
  20. package/assets/themes/maimai/chart/common/versionless/logo/jp/195.png +0 -0
  21. package/assets/themes/maimai/chart/common/versionless/logo/jp/199.png +0 -0
  22. package/assets/themes/maimai/chart/common/versionless/logo/jp/200.png +0 -0
  23. package/assets/themes/maimai/chart/common/versionless/logo/jp/205.png +0 -0
  24. package/assets/themes/maimai/chart/common/versionless/logo/jp/210.png +0 -0
  25. package/assets/themes/maimai/chart/common/versionless/logo/jp/215.png +0 -0
  26. package/assets/themes/maimai/chart/common/versionless/logo/jp/220.png +0 -0
  27. package/assets/themes/maimai/chart/common/versionless/logo/jp/225.png +0 -0
  28. package/assets/themes/maimai/chart/common/versionless/logo/jp/230.png +0 -0
  29. package/assets/themes/maimai/chart/common/versionless/logo/jp/235.png +0 -0
  30. package/assets/themes/maimai/chart/common/versionless/logo/jp/240.png +0 -0
  31. package/assets/themes/maimai/chart/common/versionless/logo/jp/245.png +0 -0
  32. package/assets/themes/maimai/chart/common/versionless/logo/jp/250.png +0 -0
  33. package/assets/themes/maimai/chart/common/versionless/logo/jp/255.png +0 -0
  34. package/assets/themes/maimai/chart/jp/prism/manifest.json +167 -0
  35. package/dist/chu/bests/best50.d.ts +0 -2
  36. package/dist/chu/bests/best50.js +14 -61
  37. package/dist/chu/bests/best50.js.map +1 -1
  38. package/dist/chu/bests/type.d.ts +1 -1
  39. package/dist/geki/bests/best50.d.ts +0 -2
  40. package/dist/geki/bests/best50.js +14 -61
  41. package/dist/geki/bests/best50.js.map +1 -1
  42. package/dist/geki/bests/type.d.ts +1 -1
  43. package/dist/geki/chart/database.js +0 -1
  44. package/dist/geki/chart/database.js.map +1 -1
  45. package/dist/lib/util.d.ts +32 -0
  46. package/dist/lib/util.js +119 -0
  47. package/dist/lib/util.js.map +1 -0
  48. package/dist/mai/best50/index.d.ts +231 -38
  49. package/dist/mai/best50/index.js +115 -161
  50. package/dist/mai/best50/index.js.map +1 -1
  51. package/dist/mai/chart/database.d.ts +112 -2
  52. package/dist/mai/chart/index.d.ts +224 -0
  53. package/dist/mai/chart/index.js +1152 -1
  54. package/dist/mai/chart/index.js.map +1 -1
  55. package/dist/mai/{best50/lib → lib}/divingFish/index.d.ts +14 -6
  56. package/dist/mai/{best50/lib → lib}/divingFish/index.js +48 -28
  57. package/dist/mai/lib/divingFish/index.js.map +1 -0
  58. package/dist/mai/{best50/lib → lib}/index.d.ts +12 -4
  59. package/dist/mai/{best50/lib → lib}/index.js +2 -2
  60. package/dist/mai/lib/index.js.map +1 -0
  61. package/dist/mai/{best50/lib → lib}/kamaiTachi/index.d.ts +37 -29
  62. package/dist/mai/{best50/lib → lib}/kamaiTachi/index.js +74 -21
  63. package/dist/mai/lib/kamaiTachi/index.js.map +1 -0
  64. package/dist/mai/{best50/lib → lib}/lxns/index.d.ts +14 -6
  65. package/dist/mai/{best50/lib → lib}/lxns/index.js +47 -28
  66. package/dist/mai/lib/lxns/index.js.map +1 -0
  67. package/dist/mai/type.d.ts +0 -51
  68. package/dist/mai/type.js +1 -35
  69. package/dist/mai/type.js.map +1 -1
  70. package/package.json +5 -2
  71. package/dist/mai/best50/lib/divingFish/index.js.map +0 -1
  72. package/dist/mai/best50/lib/index.js.map +0 -1
  73. package/dist/mai/best50/lib/kamaiTachi/index.js.map +0 -1
  74. package/dist/mai/best50/lib/lxns/index.js.map +0 -1
  75. package/dist/mai/best50/type.d.ts +0 -145
  76. package/dist/mai/best50/type.js +0 -3
  77. package/dist/mai/best50/type.js.map +0 -1
  78. /package/assets/themes/maimai/{cn → best50/cn}/2024Landscape/manifest.json +0 -0
  79. /package/assets/themes/maimai/{cn → best50/cn}/2024Portrait/manifest.json +0 -0
  80. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/a.png +0 -0
  81. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/aa.png +0 -0
  82. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/aaa.png +0 -0
  83. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/b.png +0 -0
  84. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/bb.png +0 -0
  85. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/bbb.png +0 -0
  86. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/c.png +0 -0
  87. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/d.png +0 -0
  88. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/s.png +0 -0
  89. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/sp.png +0 -0
  90. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/ss.png +0 -0
  91. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/ssp.png +0 -0
  92. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/sss.png +0 -0
  93. /package/assets/themes/maimai/{common → best50/common}/buddies/achievement/sssp.png +0 -0
  94. /package/assets/themes/maimai/{common → best50/common}/buddies/cn/logo.png +0 -0
  95. /package/assets/themes/maimai/{common → best50/common}/buddies/jp/background.png +0 -0
  96. /package/assets/themes/maimai/{common → best50/common}/buddies/jp/chara.png +0 -0
  97. /package/assets/themes/maimai/{common → best50/common}/buddies/jp/laundry.png +0 -0
  98. /package/assets/themes/maimai/{common → best50/common}/buddies/jp/logo.png +0 -0
  99. /package/assets/themes/maimai/{common → best50/common}/buddies/plus/chara.png +0 -0
  100. /package/assets/themes/maimai/{common → best50/common}/buddies/plus/laundry.png +0 -0
  101. /package/assets/themes/maimai/{common → best50/common}/buddies/plus/logo.png +0 -0
  102. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/a.png +0 -0
  103. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/aa.png +0 -0
  104. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/aaa.png +0 -0
  105. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/b.png +0 -0
  106. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/c.png +0 -0
  107. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/d.png +0 -0
  108. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/e.png +0 -0
  109. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/f.png +0 -0
  110. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/s.png +0 -0
  111. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/sp.png +0 -0
  112. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/ss.png +0 -0
  113. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/ssp.png +0 -0
  114. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/sss.png +0 -0
  115. /package/assets/themes/maimai/{common → best50/common}/finale/achievement/sssp.png +0 -0
  116. /package/assets/themes/maimai/{common → best50/common}/finale/background.png +0 -0
  117. /package/assets/themes/maimai/{common → best50/common}/finale/background2.png +0 -0
  118. /package/assets/themes/maimai/{common → best50/common}/finale/logo.png +0 -0
  119. /package/assets/themes/maimai/{common → best50/common}/finale/milestone/ap.png +0 -0
  120. /package/assets/themes/maimai/{common → best50/common}/finale/milestone/app.png +0 -0
  121. /package/assets/themes/maimai/{common → best50/common}/finale/milestone/fc.png +0 -0
  122. /package/assets/themes/maimai/{common → best50/common}/finale/milestone/fcp.png +0 -0
  123. /package/assets/themes/maimai/{common → best50/common}/finale/milestone/fdx.png +0 -0
  124. /package/assets/themes/maimai/{common → best50/common}/finale/milestone/fdxp.png +0 -0
  125. /package/assets/themes/maimai/{common → best50/common}/finale/milestone/fsp.png +0 -0
  126. /package/assets/themes/maimai/{common → best50/common}/finale/milestone/sync.png +0 -0
  127. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/a.png +0 -0
  128. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/aa.png +0 -0
  129. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/aaa.png +0 -0
  130. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/b.png +0 -0
  131. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/bb.png +0 -0
  132. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/bbb.png +0 -0
  133. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/c.png +0 -0
  134. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/d.png +0 -0
  135. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/s.png +0 -0
  136. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/sp.png +0 -0
  137. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/ss.png +0 -0
  138. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/ssp.png +0 -0
  139. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/sss.png +0 -0
  140. /package/assets/themes/maimai/{common → best50/common}/prism/achievement/sssp.png +0 -0
  141. /package/assets/themes/maimai/{common → best50/common}/prism/jp/background.png +0 -0
  142. /package/assets/themes/maimai/{common → best50/common}/prism/jp/chara.png +0 -0
  143. /package/assets/themes/maimai/{common → best50/common}/prism/jp/laundry.png +0 -0
  144. /package/assets/themes/maimai/{common → best50/common}/prism/jp/logo.png +0 -0
  145. /package/assets/themes/maimai/{common → best50/common}/prism/plus/chara.png +0 -0
  146. /package/assets/themes/maimai/{common → best50/common}/prism/plus/laundry.png +0 -0
  147. /package/assets/themes/maimai/{common → best50/common}/prism/plus/logo.png +0 -0
  148. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/blue.png +0 -0
  149. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/bronze.png +0 -0
  150. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/gold.png +0 -0
  151. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/green.png +0 -0
  152. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/platinum.png +0 -0
  153. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/purple.png +0 -0
  154. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/rainbow.png +0 -0
  155. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/red.png +0 -0
  156. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/silver.png +0 -0
  157. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/white.png +0 -0
  158. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/cn/yellow.png +0 -0
  159. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/blue.png +0 -0
  160. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/bronze.png +0 -0
  161. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/gold.png +0 -0
  162. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/green.png +0 -0
  163. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/platinum.png +0 -0
  164. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/purple.png +0 -0
  165. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/rainbow.png +0 -0
  166. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/red.png +0 -0
  167. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/silver.png +0 -0
  168. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/white.png +0 -0
  169. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/jp/yellow.png +0 -0
  170. /package/assets/themes/maimai/{common → best50/common}/versionless/dxRating/numberMap.png +0 -0
  171. /package/assets/themes/maimai/{common → best50/common}/versionless/icon.png +0 -0
  172. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/ap.png +0 -0
  173. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/app.png +0 -0
  174. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/fc.png +0 -0
  175. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/fcp.png +0 -0
  176. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/fdx.png +0 -0
  177. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/fdxp.png +0 -0
  178. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/fs.png +0 -0
  179. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/fsp.png +0 -0
  180. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/none.png +0 -0
  181. /package/assets/themes/maimai/{common → best50/common}/versionless/milestone/sync.png +0 -0
  182. /package/assets/themes/maimai/{common → best50/common}/versionless/mode/cn/dx.png +0 -0
  183. /package/assets/themes/maimai/{common → best50/common}/versionless/mode/cn/standard.png +0 -0
  184. /package/assets/themes/maimai/{common → best50/common}/versionless/mode/jp/dx.png +0 -0
  185. /package/assets/themes/maimai/{common → best50/common}/versionless/mode/jp/standard.png +0 -0
  186. /package/assets/themes/maimai/{common → best50/common}/versionless/nameplate.png +0 -0
  187. /package/assets/themes/maimai/{common → best50/common}/versionless/void.png +0 -0
  188. /package/assets/themes/maimai/{jp → best50/jp}/buddiesLandscape/manifest.json +0 -0
  189. /package/assets/themes/maimai/{jp → best50/jp}/buddiesPlusLandscape/manifest.json +0 -0
  190. /package/assets/themes/maimai/{jp → best50/jp}/buddiesPlusPortrait/manifest.json +0 -0
  191. /package/assets/themes/maimai/{jp → best50/jp}/buddiesPortrait/manifest.json +0 -0
  192. /package/assets/themes/maimai/{jp → best50/jp}/finaleLandscape/manifest.json +0 -0
  193. /package/assets/themes/maimai/{jp → best50/jp}/finalePortrait/manifest.json +0 -0
  194. /package/assets/themes/maimai/{jp → best50/jp}/prismLandscape/manifest.json +0 -0
  195. /package/assets/themes/maimai/{jp → best50/jp}/prismPlusLandscape/manifest.json +0 -0
  196. /package/assets/themes/maimai/{jp → best50/jp}/prismPlusPortrait/manifest.json +0 -0
  197. /package/assets/themes/maimai/{jp → best50/jp}/prismPortrait/manifest.json +0 -0
  198. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/a.png +0 -0
  199. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/aa.png +0 -0
  200. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/aaa.png +0 -0
  201. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/b.png +0 -0
  202. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/bb.png +0 -0
  203. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/bbb.png +0 -0
  204. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/c.png +0 -0
  205. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/d.png +0 -0
  206. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/s.png +0 -0
  207. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/sp.png +0 -0
  208. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/ss.png +0 -0
  209. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/ssp.png +0 -0
  210. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/sss.png +0 -0
  211. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/achievement/sssp.png +0 -0
  212. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/background.png +0 -0
  213. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/chara.png +0 -0
  214. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/image/logo.png +0 -0
  215. /package/assets/themes/maimai/{salt → best50/salt}/2026landscape/manifest.json +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mai/chart/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qDAAuC;AAEvC,IAAiB,KAAK,CAErB;AAFD,WAAiB,KAAK;IACJ,cAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;AAC/C,CAAC,EAFgB,KAAK,qBAAL,KAAK,QAErB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mai/chart/index.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- import { IChart, IScore } from "../../../type";
2
1
  import ScoreTrackerAdapter from "..";
2
+ import { Best50 } from "../../best50";
3
3
  export declare namespace DivingFish {
4
4
  interface IPlayResult {
5
5
  achievements: number;
@@ -64,17 +64,25 @@ export declare class DivingFish extends ScoreTrackerAdapter {
64
64
  baseURL?: string;
65
65
  });
66
66
  getPlayerBest50(username: string): Promise<{
67
- new: IScore[];
68
- old: IScore[];
67
+ new: Best50.IScore[];
68
+ old: Best50.IScore[];
69
69
  } | null>;
70
- getMaiDrawChartList(): Promise<IChart[]>;
70
+ getMaiDrawChartList(): Promise<Best50.IChart[]>;
71
71
  getPlayerInfo(username: string): Promise<{
72
72
  name: string;
73
73
  rating: number;
74
74
  } | null>;
75
- getPlayerRawBest50(username: string): Promise<DivingFish.IBest50Response | undefined>;
76
- getSong(id: string): Promise<DivingFish.ISongData | null>;
75
+ getPlayerRawBest50(username: string): Promise<Best50.DivingFish.IBest50Response | undefined>;
76
+ getSong(id: string): Promise<Best50.DivingFish.ISongData | null>;
77
77
  getSongList(): Promise<DivingFish.ISongListResponse>;
78
78
  private toMaiDrawScore;
79
79
  getPlayerProfilePicture(username: string): Promise<Buffer | null>;
80
+ getPlayerScore(username: string, chartId: number): Promise<{
81
+ basic: null;
82
+ advanced: null;
83
+ expert: null;
84
+ master: null;
85
+ remaster: null;
86
+ utage: null;
87
+ }>;
80
88
  }
@@ -4,9 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.DivingFish = void 0;
7
- const type_1 = require("../../../type");
7
+ const type_1 = require("../../type");
8
8
  const __1 = __importDefault(require(".."));
9
- const chart_1 = require("../../../chart");
9
+ const chart_1 = require("../../chart");
10
+ const best50_1 = require("../../best50");
10
11
  class DivingFish extends __1.default {
11
12
  constructor({ auth, baseURL = "https://www.diving-fish.com/api/maimaidxprober/", }) {
12
13
  super({ baseURL });
@@ -23,7 +24,16 @@ class DivingFish extends __1.default {
23
24
  .map((chart) => {
24
25
  return chart_1.Chart.Database.getLocalChart(chart.song_id, chart.level_index);
25
26
  })
26
- .filter((v) => v !== null);
27
+ .filter((v) => v !== null)
28
+ .map((v) => {
29
+ return {
30
+ id: v.id,
31
+ name: v.name,
32
+ level: v.level,
33
+ difficulty: v.difficulty,
34
+ maxDxScore: v.meta.maxDXScore,
35
+ };
36
+ });
27
37
  }
28
38
  else {
29
39
  chartList = await this.getMaiDrawChartList();
@@ -108,64 +118,64 @@ class DivingFish extends __1.default {
108
118
  combo: (() => {
109
119
  switch (score.fc) {
110
120
  case "fc":
111
- return type_1.EComboTypes.FULL_COMBO;
121
+ return best50_1.Best50.EComboTypes.FULL_COMBO;
112
122
  case "fcp":
113
- return type_1.EComboTypes.FULL_COMBO_PLUS;
123
+ return best50_1.Best50.EComboTypes.FULL_COMBO_PLUS;
114
124
  case "ap":
115
- return type_1.EComboTypes.ALL_PERFECT;
125
+ return best50_1.Best50.EComboTypes.ALL_PERFECT;
116
126
  case "app":
117
- return type_1.EComboTypes.ALL_PERFECT_PLUS;
127
+ return best50_1.Best50.EComboTypes.ALL_PERFECT_PLUS;
118
128
  default:
119
- return type_1.EComboTypes.NONE;
129
+ return best50_1.Best50.EComboTypes.NONE;
120
130
  }
121
131
  })(),
122
132
  sync: (() => {
123
133
  switch (score.fs) {
124
134
  case "sync":
125
- return type_1.ESyncTypes.SYNC_PLAY;
135
+ return best50_1.Best50.ESyncTypes.SYNC_PLAY;
126
136
  case "fs":
127
- return type_1.ESyncTypes.FULL_SYNC;
137
+ return best50_1.Best50.ESyncTypes.FULL_SYNC;
128
138
  case "fsp":
129
- return type_1.ESyncTypes.FULL_SYNC_PLUS;
139
+ return best50_1.Best50.ESyncTypes.FULL_SYNC_PLUS;
130
140
  case "fsd":
131
- return type_1.ESyncTypes.FULL_SYNC_DX;
141
+ return best50_1.Best50.ESyncTypes.FULL_SYNC_DX;
132
142
  case "fsdp":
133
- return type_1.ESyncTypes.FULL_SYNC_DX_PLUS;
143
+ return best50_1.Best50.ESyncTypes.FULL_SYNC_DX_PLUS;
134
144
  default:
135
- return type_1.ESyncTypes.NONE;
145
+ return best50_1.Best50.ESyncTypes.NONE;
136
146
  }
137
147
  })(),
138
148
  achievement: score.achievements,
139
149
  achievementRank: (() => {
140
150
  switch (score.rate) {
141
151
  case "c":
142
- return type_1.EAchievementTypes.C;
152
+ return best50_1.Best50.EAchievementTypes.C;
143
153
  case "b":
144
- return type_1.EAchievementTypes.B;
154
+ return best50_1.Best50.EAchievementTypes.B;
145
155
  case "bb":
146
- return type_1.EAchievementTypes.BB;
156
+ return best50_1.Best50.EAchievementTypes.BB;
147
157
  case "bbb":
148
- return type_1.EAchievementTypes.BBB;
158
+ return best50_1.Best50.EAchievementTypes.BBB;
149
159
  case "a":
150
- return type_1.EAchievementTypes.A;
160
+ return best50_1.Best50.EAchievementTypes.A;
151
161
  case "aa":
152
- return type_1.EAchievementTypes.AA;
162
+ return best50_1.Best50.EAchievementTypes.AA;
153
163
  case "aaa":
154
- return type_1.EAchievementTypes.AAA;
164
+ return best50_1.Best50.EAchievementTypes.AAA;
155
165
  case "s":
156
- return type_1.EAchievementTypes.S;
166
+ return best50_1.Best50.EAchievementTypes.S;
157
167
  case "sp":
158
- return type_1.EAchievementTypes.SP;
168
+ return best50_1.Best50.EAchievementTypes.SP;
159
169
  case "ss":
160
- return type_1.EAchievementTypes.SS;
170
+ return best50_1.Best50.EAchievementTypes.SS;
161
171
  case "ssp":
162
- return type_1.EAchievementTypes.SSP;
172
+ return best50_1.Best50.EAchievementTypes.SSP;
163
173
  case "sss":
164
- return type_1.EAchievementTypes.SSS;
174
+ return best50_1.Best50.EAchievementTypes.SSS;
165
175
  case "sssp":
166
- return type_1.EAchievementTypes.SSSP;
176
+ return best50_1.Best50.EAchievementTypes.SSSP;
167
177
  default:
168
- return type_1.EAchievementTypes.D;
178
+ return best50_1.Best50.EAchievementTypes.D;
169
179
  }
170
180
  })(),
171
181
  dxRating: score.ra,
@@ -176,6 +186,16 @@ class DivingFish extends __1.default {
176
186
  async getPlayerProfilePicture(username) {
177
187
  return null;
178
188
  }
189
+ async getPlayerScore(username, chartId) {
190
+ return {
191
+ basic: null,
192
+ advanced: null,
193
+ expert: null,
194
+ master: null,
195
+ remaster: null,
196
+ utage: null,
197
+ };
198
+ }
179
199
  }
180
200
  exports.DivingFish = DivingFish;
181
201
  //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/mai/lib/divingFish/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
- import { Cache } from "../../../lib/cache";
2
- import { IScore } from "../../type";
1
+ import { Cache } from "../../lib/cache";
3
2
  import axios, { AxiosInstance } from "axios";
3
+ import { Best50 } from "../best50";
4
4
  export default abstract class ScoreTrackerAdapter {
5
5
  private static _cache;
6
6
  protected get cache(): Cache;
@@ -16,12 +16,20 @@ export default abstract class ScoreTrackerAdapter {
16
16
  cacheTTL?: number, options?: axios.AxiosRequestConfig): Promise<T | undefined>;
17
17
  protected post<T>(endpoint: string, data?: any): Promise<T | undefined>;
18
18
  abstract getPlayerBest50(username: string): Promise<{
19
- new: IScore[];
20
- old: IScore[];
19
+ new: Best50.IScore[];
20
+ old: Best50.IScore[];
21
21
  } | null>;
22
22
  abstract getPlayerInfo(username: string): Promise<{
23
23
  name: string;
24
24
  rating: number;
25
25
  } | null>;
26
26
  abstract getPlayerProfilePicture(username: string): Promise<Buffer | null>;
27
+ abstract getPlayerScore(username: string, chartId: number): Promise<{
28
+ basic: Best50.IScore | null;
29
+ advanced: Best50.IScore | null;
30
+ expert: Best50.IScore | null;
31
+ master: Best50.IScore | null;
32
+ remaster: Best50.IScore | null;
33
+ utage: Best50.IScore | null;
34
+ }>;
27
35
  }
@@ -3,8 +3,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const cache_1 = require("../../../lib/cache");
7
- const mai_1 = require("../..");
6
+ const cache_1 = require("../../lib/cache");
7
+ const mai_1 = require("..");
8
8
  const axios_1 = __importDefault(require("axios"));
9
9
  class ScoreTrackerAdapter {
10
10
  static _cache = new cache_1.Cache();
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/mai/lib/index.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
- import { IScore } from "../../../type";
2
1
  import ScoreTrackerAdapter from "..";
2
+ import { Best50 } from "../../best50";
3
3
  export declare class KamaiTachi extends ScoreTrackerAdapter {
4
4
  private readonly CURRENT_VERSION;
5
5
  constructor({ baseURL, currentVersion, }?: {
6
6
  baseURL?: string;
7
7
  currentVersion?: KamaiTachi.EGameVersions;
8
8
  });
9
- getPlayerPB(userId: string): Promise<KamaiTachi.IResponse<{
9
+ getPlayerPB(userId: string): Promise<Best50.KamaiTachi.IResponse<{
10
10
  charts: KamaiTachi.IChart[];
11
11
  pbs: KamaiTachi.IPb[];
12
12
  songs: KamaiTachi.ISong[];
@@ -17,8 +17,8 @@ export declare class KamaiTachi extends ScoreTrackerAdapter {
17
17
  omnimix?: boolean;
18
18
  use?: "AP" | "FC" | "ALL";
19
19
  }): Promise<{
20
- new: IScore[];
21
- old: IScore[];
20
+ new: Best50.IScore[];
21
+ old: Best50.IScore[];
22
22
  } | null>;
23
23
  getPlayerInfo(userId: string, options?: {
24
24
  currentVersion?: KamaiTachi.EGameVersions;
@@ -30,31 +30,39 @@ export declare class KamaiTachi extends ScoreTrackerAdapter {
30
30
  } | null>;
31
31
  private getPlayerProfileRaw;
32
32
  getPlayerProfilePicture(userId: string): Promise<Buffer | null>;
33
- maimai(): KamaiTachi;
34
- maimaiPlus(): KamaiTachi;
35
- green(): KamaiTachi;
36
- greenPlus(): KamaiTachi;
37
- orange(): KamaiTachi;
38
- orangePlus(): KamaiTachi;
39
- pink(): KamaiTachi;
40
- pinkPlus(): KamaiTachi;
41
- murasaki(): KamaiTachi;
42
- murasakiPlus(): KamaiTachi;
43
- milk(): KamaiTachi;
44
- milkPlus(): KamaiTachi;
45
- finale(): KamaiTachi;
46
- dx(): KamaiTachi;
47
- dxPlus(): KamaiTachi;
48
- splash(): KamaiTachi;
49
- splashPlus(): KamaiTachi;
50
- universe(): KamaiTachi;
51
- universePlus(): KamaiTachi;
52
- festival(): KamaiTachi;
53
- festivalPlus(): KamaiTachi;
54
- buddies(): KamaiTachi;
55
- buddiesPlus(): KamaiTachi;
56
- prism(): KamaiTachi;
57
- prismPlus(): KamaiTachi;
33
+ getPlayerScore(username: string, chartId: number): Promise<{
34
+ basic: Best50.IScore | null;
35
+ advanced: Best50.IScore | null;
36
+ expert: Best50.IScore | null;
37
+ master: Best50.IScore | null;
38
+ remaster: Best50.IScore | null;
39
+ utage: Best50.IScore | null;
40
+ }>;
41
+ maimai(): Best50.KamaiTachi;
42
+ maimaiPlus(): Best50.KamaiTachi;
43
+ green(): Best50.KamaiTachi;
44
+ greenPlus(): Best50.KamaiTachi;
45
+ orange(): Best50.KamaiTachi;
46
+ orangePlus(): Best50.KamaiTachi;
47
+ pink(): Best50.KamaiTachi;
48
+ pinkPlus(): Best50.KamaiTachi;
49
+ murasaki(): Best50.KamaiTachi;
50
+ murasakiPlus(): Best50.KamaiTachi;
51
+ milk(): Best50.KamaiTachi;
52
+ milkPlus(): Best50.KamaiTachi;
53
+ finale(): Best50.KamaiTachi;
54
+ dx(): Best50.KamaiTachi;
55
+ dxPlus(): Best50.KamaiTachi;
56
+ splash(): Best50.KamaiTachi;
57
+ splashPlus(): Best50.KamaiTachi;
58
+ universe(): Best50.KamaiTachi;
59
+ universePlus(): Best50.KamaiTachi;
60
+ festival(): Best50.KamaiTachi;
61
+ festivalPlus(): Best50.KamaiTachi;
62
+ buddies(): Best50.KamaiTachi;
63
+ buddiesPlus(): Best50.KamaiTachi;
64
+ prism(): Best50.KamaiTachi;
65
+ prismPlus(): Best50.KamaiTachi;
58
66
  }
59
67
  export declare namespace KamaiTachi {
60
68
  interface IResponse<T> {
@@ -4,8 +4,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.KamaiTachi = void 0;
7
- const type_1 = require("../../../type");
7
+ const type_1 = require("../../type");
8
8
  const __1 = __importDefault(require(".."));
9
+ const best50_1 = require("../../best50");
9
10
  class KamaiTachi extends __1.default {
10
11
  CURRENT_VERSION;
11
12
  constructor({ baseURL = "https://kamai.tachi.ac/", currentVersion = KamaiTachi.EGameVersions.PRISM, } = {}) {
@@ -55,50 +56,50 @@ class KamaiTachi extends __1.default {
55
56
  combo: (() => {
56
57
  switch (score.scoreData.lamp) {
57
58
  case "FULL COMBO":
58
- return type_1.EComboTypes.FULL_COMBO;
59
+ return best50_1.Best50.EComboTypes.FULL_COMBO;
59
60
  case "FULL COMBO+":
60
- return type_1.EComboTypes.FULL_COMBO_PLUS;
61
+ return best50_1.Best50.EComboTypes.FULL_COMBO_PLUS;
61
62
  case "ALL PERFECT":
62
- return type_1.EComboTypes.ALL_PERFECT;
63
+ return best50_1.Best50.EComboTypes.ALL_PERFECT;
63
64
  case "ALL PERFECT+":
64
- return type_1.EComboTypes.ALL_PERFECT_PLUS;
65
+ return best50_1.Best50.EComboTypes.ALL_PERFECT_PLUS;
65
66
  default:
66
- return type_1.EComboTypes.NONE;
67
+ return best50_1.Best50.EComboTypes.NONE;
67
68
  }
68
69
  })(),
69
- sync: type_1.ESyncTypes.NONE,
70
+ sync: best50_1.Best50.ESyncTypes.NONE,
70
71
  achievement: score.scoreData.percent,
71
72
  achievementRank: (() => {
72
73
  switch (score.scoreData.grade) {
73
74
  case "C":
74
- return type_1.EAchievementTypes.C;
75
+ return best50_1.Best50.EAchievementTypes.C;
75
76
  case "B":
76
- return type_1.EAchievementTypes.B;
77
+ return best50_1.Best50.EAchievementTypes.B;
77
78
  case "BB":
78
- return type_1.EAchievementTypes.BB;
79
+ return best50_1.Best50.EAchievementTypes.BB;
79
80
  case "BBB":
80
- return type_1.EAchievementTypes.BBB;
81
+ return best50_1.Best50.EAchievementTypes.BBB;
81
82
  case "A":
82
- return type_1.EAchievementTypes.A;
83
+ return best50_1.Best50.EAchievementTypes.A;
83
84
  case "AA":
84
- return type_1.EAchievementTypes.AA;
85
+ return best50_1.Best50.EAchievementTypes.AA;
85
86
  case "AAA":
86
- return type_1.EAchievementTypes.AAA;
87
+ return best50_1.Best50.EAchievementTypes.AAA;
87
88
  case "S":
88
- return type_1.EAchievementTypes.S;
89
+ return best50_1.Best50.EAchievementTypes.S;
89
90
  case "S+":
90
- return type_1.EAchievementTypes.SP;
91
+ return best50_1.Best50.EAchievementTypes.SP;
91
92
  case "SS":
92
- return type_1.EAchievementTypes.SS;
93
+ return best50_1.Best50.EAchievementTypes.SS;
93
94
  case "SS+":
94
- return type_1.EAchievementTypes.SSP;
95
+ return best50_1.Best50.EAchievementTypes.SSP;
95
96
  case "SSS":
96
- return type_1.EAchievementTypes.SSS;
97
+ return best50_1.Best50.EAchievementTypes.SSS;
97
98
  case "SSS+":
98
- return type_1.EAchievementTypes.SSSP;
99
+ return best50_1.Best50.EAchievementTypes.SSSP;
99
100
  case "D":
100
101
  default:
101
- return type_1.EAchievementTypes.D;
102
+ return best50_1.Best50.EAchievementTypes.D;
102
103
  }
103
104
  })(),
104
105
  dxRating: score.calculatedData.rate,
@@ -193,6 +194,58 @@ class KamaiTachi extends __1.default {
193
194
  async getPlayerProfilePicture(userId) {
194
195
  return ((await this.get(`/api/v1/users/${userId}/pfp`, undefined, 2 * 60 * 60 * 1000, { responseType: "arraybuffer" })) || null);
195
196
  }
197
+ async getPlayerScore(username, chartId) {
198
+ const rawPBs = await this.getPlayerPB(username);
199
+ if (!rawPBs?.body)
200
+ return {
201
+ basic: null,
202
+ advanced: null,
203
+ expert: null,
204
+ master: null,
205
+ remaster: null,
206
+ utage: null,
207
+ };
208
+ const pbs = [];
209
+ for (const pb of rawPBs.body.pbs) {
210
+ let chart = rawPBs.body.charts.find((v) => v.chartID == pb.chartID);
211
+ let song = rawPBs.body.songs.find((v) => v.id == pb.songID);
212
+ if (chart && song) {
213
+ pbs.push({ pb, chart, song });
214
+ }
215
+ }
216
+ const basic = pbs.find((v) => v.chart.difficulty.includes("Basic") &&
217
+ v.chart.data.inGameID == chartId);
218
+ const advanced = pbs.find((v) => v.chart.difficulty.includes("Advanced") &&
219
+ v.chart.data.inGameID == chartId);
220
+ const expert = pbs.find((v) => v.chart.difficulty.includes("Expert") &&
221
+ v.chart.data.inGameID == chartId);
222
+ const master = pbs.find((v) => v.chart.difficulty.includes("Master") &&
223
+ v.chart.data.inGameID == chartId);
224
+ const remaster = pbs.find((v) => v.chart.difficulty.includes("Re:Master") &&
225
+ v.chart.data.inGameID == chartId);
226
+ const utage = pbs.find((v) => v.chart.difficulty.includes("Utage") &&
227
+ v.chart.data.inGameID == chartId);
228
+ return {
229
+ basic: basic
230
+ ? this.toMaiDrawScore(basic.pb, basic.chart, basic.song)
231
+ : null,
232
+ advanced: advanced
233
+ ? this.toMaiDrawScore(advanced.pb, advanced.chart, advanced.song)
234
+ : null,
235
+ expert: expert
236
+ ? this.toMaiDrawScore(expert.pb, expert.chart, expert.song)
237
+ : null,
238
+ master: master
239
+ ? this.toMaiDrawScore(master.pb, master.chart, master.song)
240
+ : null,
241
+ remaster: remaster
242
+ ? this.toMaiDrawScore(remaster.pb, remaster.chart, remaster.song)
243
+ : null,
244
+ utage: utage
245
+ ? this.toMaiDrawScore(utage.pb, utage.chart, utage.song)
246
+ : null,
247
+ };
248
+ }
196
249
  maimai() {
197
250
  return new KamaiTachi({
198
251
  currentVersion: KamaiTachi.EGameVersions.MAIMAI,