diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..4281682 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,11 @@ +{ + "trailingComma": "es5", + "tabWidth": 2, + "useTabs": false, + "endOfLine": "lf", + "semi": true, + "singleQuote": true, + "bracketSpacing": true, + "arrowParens": "avoid", + "quoteProps": "consistent" +} diff --git a/sdvx@asphyxia/README.md b/sdvx@asphyxia/README.md index 44ef67e..59c0d48 100644 --- a/sdvx@asphyxia/README.md +++ b/sdvx@asphyxia/README.md @@ -1,5 +1,3 @@ # SOUND VOLTEX -Supported Versions: - * HEAVENLY HAVEN - * VIVID WAVE +(WORK IN PROGRESS) diff --git a/sdvx@asphyxia/data/hvn.ts b/sdvx@asphyxia/data/hvn.ts new file mode 100644 index 0000000..aa2ba53 --- /dev/null +++ b/sdvx@asphyxia/data/hvn.ts @@ -0,0 +1,4521 @@ +export const EVENT4 = [ + 'ICON_POLICY_BREAK', + 'ICON_FLOOR_INFECTION', + 'TENKAICHI_MODE', + 'DEMOGAME_PLAY', + 'MATCHING_MODE', + 'MATCHING_MODE_FREE_IP', + 'LEVEL_LIMIT_EASING', + 'EVENT_IDS_SERIALCODE_TOHO_02', + 'ACHIEVEMENT_ENABLE', + 'APICAGACHADRAW\t30', + 'VOLFORCE_ENABLE', + 'AKANAME_ENABLE', + 'FACTORY\t10', + 'EXTRACK_ENABLE', + 'CONTINUATION', + 'APPEAL_CARD_GEN_NEW_PRICE', + 'FAVORITE_APPEALCARD_MAX\t100', + 'FAVORITE_MUSIC_MAX\t500', + 'EVENTDATE_APRILFOOL', + 'OMEGA_ENABLE', + 'OMEGA_02_ENABLE', + 'OMEGA_03_ENABLE', + 'OMEGA_04_ENABLE', + 'OMEGA_05_ENABLE', + 'OMEGA_06_ENABLE', + 'KONAMI_50TH_LOGO', + 'OMEGA_ARS_ENABLE', + 'KAC8TH_FINISH', + 'KAC7TH_FINISH', + 'KAC6TH_FINISH', + 'KAC5TH_FINISH', + 'DISABLE_MONITOR_ID_CHECK', + 'STANDARD_UNLOCK_ENABLE', + 'EVENTDATE_ONIGO', + 'EVENTDATE_GOTT', +]; + +export const COURSES4 = [ + { + id: 1, + name: 'SKILL ANALYZER 第1回 Aコース', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 653, + mty: 0, + }, + { + no: 1, + mid: 846, + mty: 1, + }, + { + no: 2, + mid: 23, + mty: 1, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 22, + mty: 1, + }, + { + no: 1, + mid: 40, + mty: 1, + }, + { + no: 2, + mid: 275, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 775, + mty: 1, + }, + { + no: 1, + mid: 684, + mty: 1, + }, + { + no: 2, + mid: 778, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 757, + mty: 1, + }, + { + no: 1, + mid: 480, + mty: 2, + }, + { + no: 2, + mid: 758, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 871, + mty: 1, + }, + { + no: 1, + mid: 327, + mty: 2, + }, + { + no: 2, + mid: 66, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 713, + mty: 2, + }, + { + no: 1, + mid: 40, + mty: 2, + }, + { + no: 2, + mid: 33, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 349, + mty: 2, + }, + { + no: 1, + mid: 896, + mty: 2, + }, + { + no: 2, + mid: 246, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 690, + mty: 2, + }, + { + no: 1, + mid: 380, + mty: 2, + }, + { + no: 2, + mid: 492, + mty: 3, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 833, + mty: 2, + }, + { + no: 1, + mid: 858, + mty: 2, + }, + { + no: 2, + mid: 229, + mty: 2, + }, + ], + }, + ], + }, + { + id: 2, + name: 'SKILL ANALYZER 第1回 Bコース', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 60, + mty: 0, + }, + { + no: 1, + mid: 770, + mty: 1, + }, + { + no: 2, + mid: 16, + mty: 1, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 566, + mty: 1, + }, + { + no: 1, + mid: 748, + mty: 1, + }, + { + no: 2, + mid: 19, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 523, + mty: 1, + }, + { + no: 1, + mid: 921, + mty: 1, + }, + { + no: 2, + mid: 218, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 467, + mty: 1, + }, + { + no: 1, + mid: 456, + mty: 1, + }, + { + no: 2, + mid: 107, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 435, + mty: 2, + }, + { + no: 1, + mid: 750, + mty: 2, + }, + { + no: 2, + mid: 700, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 230, + mty: 2, + }, + { + no: 1, + mid: 827, + mty: 2, + }, + { + no: 2, + mid: 146, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 210, + mty: 2, + }, + { + no: 1, + mid: 558, + mty: 2, + }, + { + no: 2, + mid: 368, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 603, + mty: 2, + }, + { + no: 1, + mid: 278, + mty: 3, + }, + { + no: 2, + mid: 557, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 295, + mty: 2, + }, + { + no: 1, + mid: 742, + mty: 2, + }, + { + no: 2, + mid: 302, + mty: 2, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 333, + mty: 2, + }, + { + no: 1, + mid: 871, + mty: 2, + }, + { + no: 2, + mid: 259, + mty: 2, + }, + ], + }, + ], + }, + { + id: 3, + name: 'SKILL ANALYZER 第1回 Cコース', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 17, + mty: 1, + }, + { + no: 1, + mid: 922, + mty: 0, + }, + { + no: 2, + mid: 76, + mty: 1, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 6, + mty: 1, + }, + { + no: 1, + mid: 222, + mty: 1, + }, + { + no: 2, + mid: 48, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 67, + mty: 1, + }, + { + no: 1, + mid: 544, + mty: 1, + }, + { + no: 2, + mid: 9, + mty: 2, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 318, + mty: 2, + }, + { + no: 1, + mid: 157, + mty: 2, + }, + { + no: 2, + mid: 567, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 239, + mty: 2, + }, + { + no: 1, + mid: 375, + mty: 2, + }, + { + no: 2, + mid: 94, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 769, + mty: 2, + }, + { + no: 1, + mid: 710, + mty: 2, + }, + { + no: 2, + mid: 609, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 357, + mty: 2, + }, + { + no: 1, + mid: 562, + mty: 2, + }, + { + no: 2, + mid: 612, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 322, + mty: 2, + }, + { + no: 1, + mid: 759, + mty: 2, + }, + { + no: 2, + mid: 607, + mty: 2, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 779, + mty: 2, + }, + { + no: 1, + mid: 817, + mty: 2, + }, + { + no: 2, + mid: 362, + mty: 2, + }, + ], + }, + ], + }, + { + id: 4, + name: 'KAC コース', + isNew: 0, + courses: [ + { + id: 13, + type: 0, + name: 'KAC練習コース【体】', + level: 0, + nameID: 13, + assist: 0, + tracks: [ + { + no: 0, + mid: 806, + mty: 1, + }, + { + no: 1, + mid: 971, + mty: 1, + }, + { + no: 2, + mid: 913, + mty: 1, + }, + ], + }, + { + id: 14, + type: 0, + name: 'KAC練習コース【技】', + level: 0, + nameID: 14, + assist: 0, + tracks: [ + { + no: 0, + mid: 758, + mty: 1, + }, + { + no: 1, + mid: 965, + mty: 1, + }, + { + no: 2, + mid: 914, + mty: 1, + }, + ], + }, + { + id: 15, + type: 0, + name: 'KAC練習コース【心】', + level: 0, + nameID: 15, + assist: 0, + tracks: [ + { + no: 0, + mid: 814, + mty: 1, + }, + { + no: 1, + mid: 964, + mty: 1, + }, + { + no: 2, + mid: 915, + mty: 1, + }, + ], + }, + { + id: 16, + type: 0, + name: 'KAC挑戦コース【体】', + level: 0, + nameID: 13, + assist: 0, + tracks: [ + { + no: 0, + mid: 806, + mty: 2, + }, + { + no: 1, + mid: 971, + mty: 4, + }, + { + no: 2, + mid: 913, + mty: 3, + }, + ], + }, + { + id: 17, + type: 0, + name: 'KAC挑戦コース【技】', + level: 0, + nameID: 14, + assist: 0, + tracks: [ + { + no: 0, + mid: 758, + mty: 2, + }, + { + no: 1, + mid: 965, + mty: 4, + }, + { + no: 2, + mid: 914, + mty: 3, + }, + ], + }, + { + id: 18, + type: 0, + name: 'KAC挑戦コース【心】', + level: 0, + nameID: 15, + assist: 0, + tracks: [ + { + no: 0, + mid: 814, + mty: 2, + }, + { + no: 1, + mid: 964, + mty: 4, + }, + { + no: 2, + mid: 915, + mty: 3, + }, + ], + }, + ], + }, + { + id: 5, + name: '天下一コース', + isNew: 0, + courses: [ + { + id: 19, + type: 0, + name: '天下一 (梅)', + level: 0, + nameID: 16, + assist: 0, + tracks: [ + { + no: 0, + mid: 625, + mty: 0, + }, + { + no: 1, + mid: 697, + mty: 0, + }, + { + no: 2, + mid: 708, + mty: 0, + }, + ], + }, + { + id: 20, + type: 0, + name: '天下一 (竹)', + level: 0, + nameID: 16, + assist: 0, + tracks: [ + { + no: 0, + mid: 625, + mty: 1, + }, + { + no: 1, + mid: 697, + mty: 1, + }, + { + no: 2, + mid: 708, + mty: 1, + }, + ], + }, + { + id: 21, + type: 0, + name: '天下一 (松)', + level: 0, + nameID: 16, + assist: 0, + tracks: [ + { + no: 0, + mid: 625, + mty: 3, + }, + { + no: 1, + mid: 697, + mty: 2, + }, + { + no: 2, + mid: 708, + mty: 2, + }, + ], + }, + { + id: 22, + type: 0, + name: '天下一 (梅)', + level: 0, + nameID: 17, + assist: 0, + tracks: [ + { + no: 0, + mid: 362, + mty: 0, + }, + { + no: 1, + mid: 360, + mty: 0, + }, + { + no: 2, + mid: 927, + mty: 0, + }, + ], + }, + { + id: 23, + type: 0, + name: '天下一 (竹)', + level: 0, + nameID: 17, + assist: 0, + tracks: [ + { + no: 0, + mid: 362, + mty: 1, + }, + { + no: 1, + mid: 360, + mty: 1, + }, + { + no: 2, + mid: 927, + mty: 1, + }, + ], + }, + { + id: 24, + type: 0, + name: '天下一 (松)', + level: 0, + nameID: 17, + assist: 0, + tracks: [ + { + no: 0, + mid: 362, + mty: 2, + }, + { + no: 1, + mid: 360, + mty: 2, + }, + { + no: 2, + mid: 927, + mty: 2, + }, + ], + }, + ], + }, + { + id: 6, + name: 'SKILL ANALYZER 第2回 Aコース', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 201, + mty: 1, + }, + { + no: 1, + mid: 182, + mty: 1, + }, + { + no: 2, + mid: 766, + mty: 1, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 171, + mty: 1, + }, + { + no: 1, + mid: 950, + mty: 1, + }, + { + no: 2, + mid: 513, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 90, + mty: 1, + }, + { + no: 1, + mid: 557, + mty: 1, + }, + { + no: 2, + mid: 843, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 449, + mty: 1, + }, + { + no: 1, + mid: 506, + mty: 1, + }, + { + no: 2, + mid: 962, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 760, + mty: 1, + }, + { + no: 1, + mid: 1020, + mty: 2, + }, + { + no: 2, + mid: 923, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 80, + mty: 2, + }, + { + no: 1, + mid: 678, + mty: 2, + }, + { + no: 2, + mid: 928, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 967, + mty: 2, + }, + { + no: 1, + mid: 711, + mty: 2, + }, + { + no: 2, + mid: 594, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 26, + mty: 3, + }, + { + no: 1, + mid: 22, + mty: 3, + }, + { + no: 2, + mid: 503, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 599, + mty: 2, + }, + { + no: 1, + mid: 122, + mty: 2, + }, + { + no: 2, + mid: 946, + mty: 4, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 961, + mty: 4, + }, + { + no: 1, + mid: 967, + mty: 4, + }, + { + no: 2, + mid: 993, + mty: 4, + }, + ], + }, + { + id: 11, + type: 0, + name: 'SKILL ANALYZER Level.11', + level: 11, + nameID: 11, + assist: 0, + tracks: [ + { + no: 0, + mid: 941, + mty: 4, + }, + { + no: 1, + mid: 718, + mty: 2, + }, + { + no: 2, + mid: 816, + mty: 2, + }, + ], + }, + { + id: 12, + type: 0, + name: 'SKILL ANALYZER Level.∞', + level: 12, + nameID: 12, + assist: 0, + tracks: [ + { + no: 0, + mid: 654, + mty: 2, + }, + { + no: 1, + mid: 360, + mty: 3, + }, + { + no: 2, + mid: 1028, + mty: 4, + }, + ], + }, + ], + }, + { + id: 7, + name: 'SKILL ANALYZER 第2回 Bコース', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 106, + mty: 1, + }, + { + no: 1, + mid: 568, + mty: 1, + }, + { + no: 2, + mid: 768, + mty: 1, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 185, + mty: 1, + }, + { + no: 1, + mid: 700, + mty: 1, + }, + { + no: 2, + mid: 923, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 317, + mty: 1, + }, + { + no: 1, + mid: 882, + mty: 1, + }, + { + no: 2, + mid: 531, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 136, + mty: 1, + }, + { + no: 1, + mid: 534, + mty: 1, + }, + { + no: 2, + mid: 640, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 65, + mty: 2, + }, + { + no: 1, + mid: 966, + mty: 2, + }, + { + no: 2, + mid: 874, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 856, + mty: 2, + }, + { + no: 1, + mid: 488, + mty: 2, + }, + { + no: 2, + mid: 968, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 738, + mty: 2, + }, + { + no: 1, + mid: 264, + mty: 2, + }, + { + no: 2, + mid: 834, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 945, + mty: 4, + }, + { + no: 1, + mid: 639, + mty: 2, + }, + { + no: 2, + mid: 644, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 394, + mty: 2, + }, + { + no: 1, + mid: 228, + mty: 2, + }, + { + no: 2, + mid: 124, + mty: 2, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 625, + mty: 3, + }, + { + no: 1, + mid: 214, + mty: 2, + }, + { + no: 2, + mid: 365, + mty: 2, + }, + ], + }, + { + id: 11, + type: 0, + name: 'SKILL ANALYZER Level.11', + level: 11, + nameID: 11, + assist: 0, + tracks: [ + { + no: 0, + mid: 30, + mty: 3, + }, + { + no: 1, + mid: 2, + mty: 3, + }, + { + no: 2, + mid: 540, + mty: 3, + }, + ], + }, + ], + }, + { + id: 9, + name: 'SKILL ANALYZER 第3回', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 795, + mty: 0, + }, + { + no: 1, + mid: 110, + mty: 1, + }, + { + no: 2, + mid: 51, + mty: 2, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 219, + mty: 1, + }, + { + no: 1, + mid: 528, + mty: 1, + }, + { + no: 2, + mid: 996, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 161, + mty: 1, + }, + { + no: 1, + mid: 291, + mty: 1, + }, + { + no: 2, + mid: 970, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 630, + mty: 1, + }, + { + no: 1, + mid: 647, + mty: 1, + }, + { + no: 2, + mid: 785, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 645, + mty: 1, + }, + { + no: 1, + mid: 335, + mty: 2, + }, + { + no: 2, + mid: 961, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 172, + mty: 2, + }, + { + no: 1, + mid: 262, + mty: 2, + }, + { + no: 2, + mid: 781, + mty: 4, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 762, + mty: 2, + }, + { + no: 1, + mid: 544, + mty: 2, + }, + { + no: 2, + mid: 898, + mty: 4, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 521, + mty: 2, + }, + { + no: 1, + mid: 572, + mty: 2, + }, + { + no: 2, + mid: 173, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 456, + mty: 2, + }, + { + no: 1, + mid: 852, + mty: 4, + }, + { + no: 2, + mid: 252, + mty: 2, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 966, + mty: 4, + }, + { + no: 1, + mid: 876, + mty: 2, + }, + { + no: 2, + mid: 506, + mty: 2, + }, + ], + }, + { + id: 11, + type: 0, + name: 'SKILL ANALYZER Level.11', + level: 11, + nameID: 11, + assist: 0, + tracks: [ + { + no: 0, + mid: 931, + mty: 4, + }, + { + no: 1, + mid: 818, + mty: 2, + }, + { + no: 2, + mid: 810, + mty: 2, + }, + ], + }, + { + id: 12, + type: 0, + name: 'SKILL ANALYZER Level.∞', + level: 12, + nameID: 12, + assist: 0, + tracks: [ + { + no: 0, + mid: 709, + mty: 3, + }, + { + no: 1, + mid: 374, + mty: 3, + }, + { + no: 2, + mid: 1036, + mty: 4, + }, + ], + }, + ], + }, + { + id: 10, + name: 'SKILL ANALYZER 第4回 Aコース', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 258, + mty: 0, + }, + { + no: 1, + mid: 913, + mty: 0, + }, + { + no: 2, + mid: 189, + mty: 1, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 87, + mty: 1, + }, + { + no: 1, + mid: 486, + mty: 1, + }, + { + no: 2, + mid: 66, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 674, + mty: 1, + }, + { + no: 1, + mid: 216, + mty: 1, + }, + { + no: 2, + mid: 434, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 781, + mty: 2, + }, + { + no: 1, + mid: 623, + mty: 1, + }, + { + no: 2, + mid: 540, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 695, + mty: 1, + }, + { + no: 1, + mid: 276, + mty: 2, + }, + { + no: 2, + mid: 870, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 998, + mty: 2, + }, + { + no: 1, + mid: 885, + mty: 2, + }, + { + no: 2, + mid: 400, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 211, + mty: 2, + }, + { + no: 1, + mid: 14, + mty: 2, + }, + { + no: 2, + mid: 183, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 659, + mty: 2, + }, + { + no: 1, + mid: 749, + mty: 2, + }, + { + no: 2, + mid: 251, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 918, + mty: 2, + }, + { + no: 1, + mid: 63, + mty: 2, + }, + { + no: 2, + mid: 47, + mty: 2, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 641, + mty: 2, + }, + { + no: 1, + mid: 463, + mty: 2, + }, + { + no: 2, + mid: 712, + mty: 2, + }, + ], + }, + { + id: 11, + type: 0, + name: 'SKILL ANALYZER Level.11', + level: 11, + nameID: 11, + assist: 0, + tracks: [ + { + no: 0, + mid: 789, + mty: 2, + }, + { + no: 1, + mid: 634, + mty: 2, + }, + { + no: 2, + mid: 532, + mty: 2, + }, + ], + }, + { + id: 12, + type: 0, + name: 'SKILL ANALYZER Level.∞', + level: 12, + nameID: 12, + assist: 0, + tracks: [ + { + no: 0, + mid: 551, + mty: 2, + }, + { + no: 1, + mid: 1032, + mty: 4, + }, + { + no: 2, + mid: 1099, + mty: 4, + }, + ], + }, + ], + }, + { + id: 11, + name: 'SKILL ANALYZER 第4回 Bコース', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 1025, + mty: 0, + }, + { + no: 1, + mid: 914, + mty: 0, + }, + { + no: 2, + mid: 186, + mty: 1, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 93, + mty: 1, + }, + { + no: 1, + mid: 664, + mty: 1, + }, + { + no: 2, + mid: 3, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 590, + mty: 1, + }, + { + no: 1, + mid: 898, + mty: 1, + }, + { + no: 2, + mid: 152, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 104, + mty: 1, + }, + { + no: 1, + mid: 521, + mty: 1, + }, + { + no: 2, + mid: 342, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 743, + mty: 1, + }, + { + no: 1, + mid: 958, + mty: 2, + }, + { + no: 2, + mid: 441, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 301, + mty: 2, + }, + { + no: 1, + mid: 879, + mty: 2, + }, + { + no: 2, + mid: 62, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 666, + mty: 2, + }, + { + no: 1, + mid: 54, + mty: 2, + }, + { + no: 2, + mid: 763, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 361, + mty: 2, + }, + { + no: 1, + mid: 744, + mty: 2, + }, + { + no: 2, + mid: 831, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 917, + mty: 2, + }, + { + no: 1, + mid: 959, + mty: 4, + }, + { + no: 2, + mid: 912, + mty: 2, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 390, + mty: 2, + }, + { + no: 1, + mid: 655, + mty: 2, + }, + { + no: 2, + mid: 707, + mty: 2, + }, + ], + }, + { + id: 11, + type: 0, + name: 'SKILL ANALYZER Level.11', + level: 11, + nameID: 11, + assist: 0, + tracks: [ + { + no: 0, + mid: 808, + mty: 2, + }, + { + no: 1, + mid: 965, + mty: 4, + }, + { + no: 2, + mid: 909, + mty: 3, + }, + ], + }, + { + id: 12, + type: 0, + name: 'SKILL ANALYZER Level.∞', + level: 12, + nameID: 12, + assist: 0, + tracks: [ + { + no: 0, + mid: 927, + mty: 3, + }, + { + no: 1, + mid: 525, + mty: 3, + }, + { + no: 2, + mid: 1100, + mty: 4, + }, + ], + }, + ], + }, + { + id: 12, + name: 'SKILL ANALYZER 第4回 Cコース', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 600, + mty: 0, + }, + { + no: 1, + mid: 915, + mty: 0, + }, + { + no: 2, + mid: 671, + mty: 1, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 191, + mty: 1, + }, + { + no: 1, + mid: 771, + mty: 1, + }, + { + no: 2, + mid: 8, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 353, + mty: 1, + }, + { + no: 1, + mid: 896, + mty: 1, + }, + { + no: 2, + mid: 39, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 485, + mty: 1, + }, + { + no: 1, + mid: 359, + mty: 1, + }, + { + no: 2, + mid: 834, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 790, + mty: 1, + }, + { + no: 1, + mid: 277, + mty: 2, + }, + { + no: 2, + mid: 944, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 897, + mty: 2, + }, + { + no: 1, + mid: 2, + mty: 2, + }, + { + no: 2, + mid: 986, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 145, + mty: 2, + }, + { + no: 1, + mid: 99, + mty: 2, + }, + { + no: 2, + mid: 90, + mty: 3, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 372, + mty: 2, + }, + { + no: 1, + mid: 747, + mty: 2, + }, + { + no: 2, + mid: 872, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 576, + mty: 2, + }, + { + no: 1, + mid: 943, + mty: 4, + }, + { + no: 2, + mid: 359, + mty: 2, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 922, + mty: 2, + }, + { + no: 1, + mid: 166, + mty: 2, + }, + { + no: 2, + mid: 670, + mty: 2, + }, + ], + }, + ], + }, + { + id: 14, + name: 'BEMANI MASTER KOREA 2017', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'BEMANI MASTER KOREA', + level: 0, + nameID: 19, + assist: 0, + tracks: [ + { + no: 0, + mid: 954, + mty: 4, + }, + { + no: 1, + mid: 960, + mty: 4, + }, + { + no: 2, + mid: 961, + mty: 4, + }, + ], + }, + { + id: 29, + type: 0, + name: 'The 7th KACエンジョイコース【猛虎】', + level: 0, + nameID: 20, + assist: 0, + tracks: [ + { + no: 0, + mid: 1149, + mty: 1, + }, + { + no: 1, + mid: 367, + mty: 1, + }, + { + no: 2, + mid: 1102, + mty: 1, + }, + ], + }, + { + id: 30, + type: 0, + name: 'The 7th KACエンジョイコース【餓狼】', + level: 0, + nameID: 21, + assist: 0, + tracks: [ + { + no: 0, + mid: 1042, + mty: 1, + }, + { + no: 1, + mid: 126, + mty: 1, + }, + { + no: 2, + mid: 1101, + mty: 1, + }, + ], + }, + { + id: 31, + type: 0, + name: 'The 7th KACチャレンジコース【猛虎】', + level: 0, + nameID: 20, + assist: 0, + tracks: [ + { + no: 0, + mid: 1149, + mty: 4, + }, + { + no: 1, + mid: 367, + mty: 2, + }, + { + no: 2, + mid: 1102, + mty: 4, + }, + ], + }, + { + id: 32, + type: 0, + name: 'The 7th KACチャレンジコース【餓狼】', + level: 0, + nameID: 21, + assist: 0, + tracks: [ + { + no: 0, + mid: 1042, + mty: 4, + }, + { + no: 1, + mid: 126, + mty: 3, + }, + { + no: 2, + mid: 1101, + mty: 4, + }, + ], + }, + ], + }, + { + id: 16, + name: 'SKILL ANALYZER 第5回', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 1035, + mty: 0, + }, + { + no: 1, + mid: 1014, + mty: 1, + }, + { + no: 2, + mid: 1033, + mty: 0, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 405, + mty: 1, + }, + { + no: 1, + mid: 451, + mty: 1, + }, + { + no: 2, + mid: 173, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 1008, + mty: 1, + }, + { + no: 1, + mid: 608, + mty: 1, + }, + { + no: 2, + mid: 815, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 966, + mty: 1, + }, + { + no: 1, + mid: 983, + mty: 1, + }, + { + no: 2, + mid: 967, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 964, + mty: 1, + }, + { + no: 1, + mid: 58, + mty: 2, + }, + { + no: 2, + mid: 1025, + mty: 1, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 898, + mty: 2, + }, + { + no: 1, + mid: 962, + mty: 2, + }, + { + no: 2, + mid: 1032, + mty: 1, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 490, + mty: 2, + }, + { + no: 1, + mid: 889, + mty: 2, + }, + { + no: 2, + mid: 1042, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 971, + mty: 2, + }, + { + no: 1, + mid: 752, + mty: 2, + }, + { + no: 2, + mid: 1062, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 497, + mty: 2, + }, + { + no: 1, + mid: 948, + mty: 4, + }, + { + no: 2, + mid: 954, + mty: 4, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 1126, + mty: 4, + }, + { + no: 1, + mid: 1034, + mty: 4, + }, + { + no: 2, + mid: 834, + mty: 4, + }, + ], + }, + { + id: 11, + type: 0, + name: 'SKILL ANALYZER Level.11', + level: 11, + nameID: 11, + assist: 0, + tracks: [ + { + no: 0, + mid: 1013, + mty: 4, + }, + { + no: 1, + mid: 1035, + mty: 4, + }, + { + no: 2, + mid: 1107, + mty: 4, + }, + ], + }, + { + id: 12, + type: 0, + name: 'SKILL ANALYZER Level.∞', + level: 12, + nameID: 12, + assist: 0, + tracks: [ + { + no: 0, + mid: 1102, + mty: 4, + }, + { + no: 1, + mid: 1148, + mty: 4, + }, + { + no: 2, + mid: 1185, + mty: 4, + }, + ], + }, + ], + }, + { + id: 17, + name: 'SKILL ANALYZER 第5回 Bコース', + isNew: 0, + courses: [ + { + id: 12, + type: 0, + name: 'SKILL ANALYZER Level.∞', + level: 12, + nameID: 12, + assist: 0, + tracks: [ + { + no: 0, + mid: 661, + mty: 3, + }, + { + no: 1, + mid: 258, + mty: 3, + }, + { + no: 2, + mid: 791, + mty: 3, + }, + ], + }, + ], + }, + { + id: 19, + name: 'SKILL ANALYZER 第6回 Aコース', + isNew: 1, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 1044, + mty: 0, + }, + { + no: 1, + mid: 1176, + mty: 0, + }, + { + no: 2, + mid: 1083, + mty: 1, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 1074, + mty: 1, + }, + { + no: 1, + mid: 1095, + mty: 1, + }, + { + no: 2, + mid: 930, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 1086, + mty: 1, + }, + { + no: 1, + mid: 1122, + mty: 1, + }, + { + no: 2, + mid: 1026, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 1070, + mty: 1, + }, + { + no: 1, + mid: 1073, + mty: 1, + }, + { + no: 2, + mid: 1022, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 1040, + mty: 1, + }, + { + no: 1, + mid: 1200, + mty: 1, + }, + { + no: 2, + mid: 895, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 1115, + mty: 2, + }, + { + no: 1, + mid: 1184, + mty: 2, + }, + { + no: 2, + mid: 1230, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 1156, + mty: 2, + }, + { + no: 1, + mid: 1138, + mty: 2, + }, + { + no: 2, + mid: 1091, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 336, + mty: 2, + }, + { + no: 1, + mid: 1199, + mty: 2, + }, + { + no: 2, + mid: 1197, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 841, + mty: 2, + }, + { + no: 1, + mid: 1087, + mty: 4, + }, + { + no: 2, + mid: 1112, + mty: 4, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 1217, + mty: 4, + }, + { + no: 1, + mid: 1041, + mty: 4, + }, + { + no: 2, + mid: 1078, + mty: 4, + }, + ], + }, + { + id: 11, + type: 0, + name: 'SKILL ANALYZER Level.11', + level: 11, + nameID: 11, + assist: 0, + tracks: [ + { + no: 0, + mid: 173, + mty: 3, + }, + { + no: 1, + mid: 151, + mty: 3, + }, + { + no: 2, + mid: 362, + mty: 3, + }, + ], + }, + { + id: 12, + type: 0, + name: 'SKILL ANALYZER Level.∞', + level: 12, + nameID: 12, + assist: 0, + tracks: [ + { + no: 0, + mid: 679, + mty: 2, + }, + { + no: 1, + mid: 1178, + mty: 4, + }, + { + no: 2, + mid: 1270, + mty: 4, + }, + ], + }, + ], + }, + { + id: 20, + name: 'SKILL ANALYZER 第6回 Bコース', + isNew: 1, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 1049, + mty: 0, + }, + { + no: 1, + mid: 367, + mty: 0, + }, + { + no: 2, + mid: 1005, + mty: 1, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 1057, + mty: 1, + }, + { + no: 1, + mid: 1081, + mty: 1, + }, + { + no: 2, + mid: 868, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 1001, + mty: 1, + }, + { + no: 1, + mid: 1092, + mty: 1, + }, + { + no: 2, + mid: 1113, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 1075, + mty: 1, + }, + { + no: 1, + mid: 1123, + mty: 1, + }, + { + no: 2, + mid: 1029, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 1024, + mty: 1, + }, + { + no: 1, + mid: 1201, + mty: 1, + }, + { + no: 2, + mid: 1124, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 1154, + mty: 2, + }, + { + no: 1, + mid: 1114, + mty: 2, + }, + { + no: 2, + mid: 891, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 1012, + mty: 2, + }, + { + no: 1, + mid: 1248, + mty: 2, + }, + { + no: 2, + mid: 926, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 955, + mty: 4, + }, + { + no: 1, + mid: 1037, + mty: 2, + }, + { + no: 2, + mid: 812, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 761, + mty: 2, + }, + { + no: 1, + mid: 765, + mty: 4, + }, + { + no: 2, + mid: 1006, + mty: 4, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 1237, + mty: 4, + }, + { + no: 1, + mid: 1157, + mty: 4, + }, + { + no: 2, + mid: 907, + mty: 2, + }, + ], + }, + { + id: 11, + type: 0, + name: 'SKILL ANALYZER Level.11', + level: 11, + nameID: 11, + assist: 0, + tracks: [ + { + no: 0, + mid: 1060, + mty: 4, + }, + { + no: 1, + mid: 1062, + mty: 4, + }, + { + no: 2, + mid: 1222, + mty: 4, + }, + ], + }, + ], + }, + { + id: 21, + name: 'SKILL ANALYZER 第6回 Cコース', + isNew: 1, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 1190, + mty: 0, + }, + { + no: 1, + mid: 636, + mty: 0, + }, + { + no: 2, + mid: 1054, + mty: 1, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 1076, + mty: 1, + }, + { + no: 1, + mid: 1002, + mty: 1, + }, + { + no: 2, + mid: 916, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 1004, + mty: 1, + }, + { + no: 1, + mid: 1111, + mty: 1, + }, + { + no: 2, + mid: 1090, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 1094, + mty: 1, + }, + { + no: 1, + mid: 1128, + mty: 1, + }, + { + no: 2, + mid: 1027, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 1007, + mty: 1, + }, + { + no: 1, + mid: 1220, + mty: 1, + }, + { + no: 2, + mid: 1067, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 1139, + mty: 2, + }, + { + no: 1, + mid: 864, + mty: 2, + }, + { + no: 2, + mid: 1010, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 1134, + mty: 2, + }, + { + no: 1, + mid: 919, + mty: 2, + }, + { + no: 2, + mid: 1250, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 596, + mty: 2, + }, + { + no: 1, + mid: 902, + mty: 2, + }, + { + no: 2, + mid: 844, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 737, + mty: 2, + }, + { + no: 1, + mid: 887, + mty: 4, + }, + { + no: 2, + mid: 933, + mty: 4, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 1228, + mty: 4, + }, + { + no: 1, + mid: 881, + mty: 4, + }, + { + no: 2, + mid: 1135, + mty: 4, + }, + ], + }, + ], + }, + { + id: 22, + name: 'The 8th KAC コース', + isNew: 0, + courses: [ + { + id: 39, + type: 0, + name: 'The 8th KACエンジョイコース【阿修羅】', + level: 0, + nameID: 23, + assist: 0, + tracks: [ + { + no: 0, + mid: 1334, + mty: 1, + }, + { + no: 1, + mid: 610, + mty: 1, + }, + { + no: 2, + mid: 1033, + mty: 1, + }, + ], + }, + { + id: 40, + type: 0, + name: 'The 8th KACチャレンジコース【阿修羅】', + level: 0, + nameID: 23, + assist: 0, + tracks: [ + { + no: 0, + mid: 1334, + mty: 4, + }, + { + no: 1, + mid: 610, + mty: 2, + }, + { + no: 2, + mid: 1033, + mty: 4, + }, + ], + }, + ], + }, + { + id: 23, + name: '4月1日限定ツアー', + isNew: 0, + courses: [ + { + id: 41, + type: 0, + name: '春季居住者大募集【つまぶきハイツ】', + level: 0, + nameID: 18, + assist: 0, + tracks: [ + { + no: 0, + mid: 338, + mty: 0, + }, + { + no: 1, + mid: 398, + mty: 0, + }, + { + no: 2, + mid: 527, + mty: 0, + }, + ], + }, + { + id: 42, + type: 0, + name: '春季居住者大募集【ボルテパレス】', + level: 0, + nameID: 18, + assist: 0, + tracks: [ + { + no: 0, + mid: 338, + mty: 1, + }, + { + no: 1, + mid: 398, + mty: 1, + }, + { + no: 2, + mid: 617, + mty: 1, + }, + ], + }, + { + id: 43, + type: 0, + name: '春季居住者大募集【暴龍邸】', + level: 0, + nameID: 18, + assist: 0, + tracks: [ + { + no: 0, + mid: 338, + mty: 2, + }, + { + no: 1, + mid: 398, + mty: 2, + }, + { + no: 2, + mid: 840, + mty: 3, + }, + ], + }, + ], + }, + { + id: 24, + name: '六周年記念コース', + isNew: 0, + courses: [ + { + id: 44, + type: 0, + name: '六周年記念コース(初等部)', + level: 0, + nameID: 22, + assist: 0, + tracks: [ + { + no: 0, + mid: 80, + mty: 0, + }, + { + no: 1, + mid: 350, + mty: 0, + }, + { + no: 2, + mid: 592, + mty: 0, + }, + ], + }, + { + id: 45, + type: 0, + name: '六周年記念コース(中等部)', + level: 0, + nameID: 22, + assist: 0, + tracks: [ + { + no: 0, + mid: 80, + mty: 1, + }, + { + no: 1, + mid: 350, + mty: 1, + }, + { + no: 2, + mid: 592, + mty: 1, + }, + ], + }, + { + id: 46, + type: 0, + name: '六周年記念コース(高等部)', + level: 0, + nameID: 22, + assist: 0, + tracks: [ + { + no: 0, + mid: 350, + mty: 2, + }, + { + no: 1, + mid: 80, + mty: 3, + }, + { + no: 2, + mid: 592, + mty: 2, + }, + ], + }, + ], + }, + { + id: 25, + name: 'マキシマ先生の春季講習', + isNew: 0, + courses: [ + { + id: 47, + type: 0, + name: 'マキシマ先生の春季講習【開花】', + level: 0, + nameID: 18, + assist: 0, + tracks: [ + { + no: 0, + mid: 947, + mty: 0, + }, + { + no: 1, + mid: 533, + mty: 0, + }, + { + no: 2, + mid: 524, + mty: 0, + }, + ], + }, + { + id: 48, + type: 0, + name: 'マキシマ先生の春季講習【五分咲】', + level: 0, + nameID: 18, + assist: 0, + tracks: [ + { + no: 0, + mid: 947, + mty: 1, + }, + { + no: 1, + mid: 533, + mty: 1, + }, + { + no: 2, + mid: 525, + mty: 1, + }, + ], + }, + { + id: 49, + type: 0, + name: 'マキシマ先生の春季講習【満開】', + level: 0, + nameID: 18, + assist: 0, + tracks: [ + { + no: 0, + mid: 947, + mty: 4, + }, + { + no: 1, + mid: 694, + mty: 2, + }, + { + no: 2, + mid: 1219, + mty: 3, + }, + ], + }, + ], + }, + { + id: 26, + name: '削除課題', + isNew: 0, + courses: [ + { + id: 50, + type: 0, + name: '【削除】SKILL ANALYZER Level.03', + level: 0, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 813, + mty: 1, + }, + { + no: 1, + mid: 410, + mty: 1, + }, + { + no: 2, + mid: 53, + mty: 1, + }, + ], + }, + { + id: 51, + type: 0, + name: '【削除】SKILL ANALYZER Level.09', + level: 0, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 396, + mty: 2, + }, + { + no: 1, + mid: 244, + mty: 2, + }, + { + no: 2, + mid: 359, + mty: 2, + }, + ], + }, + ], + }, +]; + +export const EXTENDS4 = []; diff --git a/sdvx@asphyxia/data/vvw.ts b/sdvx@asphyxia/data/vvw.ts new file mode 100644 index 0000000..e6b6fc7 --- /dev/null +++ b/sdvx@asphyxia/data/vvw.ts @@ -0,0 +1,2594 @@ +export const EVENT5 = [ + 'ICON_POLICY_BREAK', + 'ICON_FLOOR_INFECTION', + 'DEMOGAME_PLAY', + 'MATCHING_MODE', + 'MATCHING_MODE_FREE_IP', + 'LEVEL_LIMIT_EASING', + 'EVENT_IDS_SERIALCODE_TOHO_02', + 'ACHIEVEMENT_ENABLE', + 'APICAGACHADRAW\t30', + 'VOLFORCE_ENABLE', + 'AKANAME_ENABLE', + 'FACTORY\t10', + 'CONTINUATION', + 'APPEAL_CARD_GEN_NEW_PRICE', + 'FAVORITE_APPEALCARD_MAX\t100', + 'FAVORITE_MUSIC_MAX\t500', + 'EVENTDATE_APRILFOOL', + 'KONAMI_50TH_LOGO', + 'OMEGA_ARS_ENABLE', + 'DISABLE_MONITOR_ID_CHECK', + 'SKILL_ANALYZER_ABLE', + 'BLASTER_ABLE', + 'STANDARD_UNLOCK_ENABLE', + 'PLAYERJUDGEADJ_ENABLE', + 'MIXID_INPUT_ENABLE', + 'EVENTDATE_ONIGO', + 'EVENTDATE_GOTT', + 'GENERATOR_ABLE', + 'CREW_SELECT_ABLE', + 'PREMIUM_TIME_ENABLE', + 'OMEGA_ENABLE\t1,2,3,4,5,6,7,8,9', +]; + +export const COURSES5 = [ + { + id: 1, + name: 'SKILL ANALYZER 第1回 Aコース', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 135, + mty: 0, + }, + { + no: 1, + mid: 951, + mty: 1, + }, + { + no: 2, + mid: 774, + mty: 1, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 1036, + mty: 0, + }, + { + no: 1, + mid: 1081, + mty: 1, + }, + { + no: 2, + mid: 563, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 1019, + mty: 1, + }, + { + no: 1, + mid: 866, + mty: 1, + }, + { + no: 2, + mid: 1116, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 574, + mty: 1, + }, + { + no: 1, + mid: 1194, + mty: 1, + }, + { + no: 2, + mid: 838, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 1042, + mty: 1, + }, + { + no: 1, + mid: 1211, + mty: 1, + }, + { + no: 2, + mid: 588, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 978, + mty: 2, + }, + { + no: 1, + mid: 1204, + mty: 2, + }, + { + no: 2, + mid: 880, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 1224, + mty: 2, + }, + { + no: 1, + mid: 989, + mty: 2, + }, + { + no: 2, + mid: 688, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 1201, + mty: 2, + }, + { + no: 1, + mid: 980, + mty: 2, + }, + { + no: 2, + mid: 900, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 1155, + mty: 4, + }, + { + no: 1, + mid: 937, + mty: 4, + }, + { + no: 2, + mid: 1243, + mty: 4, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 1158, + mty: 4, + }, + { + no: 1, + mid: 1341, + mty: 4, + }, + { + no: 2, + mid: 1238, + mty: 4, + }, + ], + }, + { + id: 11, + type: 0, + name: 'SKILL ANALYZER Level.11', + level: 11, + nameID: 11, + assist: 0, + tracks: [ + { + no: 0, + mid: 374, + mty: 2, + }, + { + no: 1, + mid: 1277, + mty: 4, + }, + { + no: 2, + mid: 73, + mty: 3, + }, + ], + }, + { + id: 12, + type: 0, + name: 'SKILL ANALYZER Level.∞', + level: 12, + nameID: 12, + assist: 0, + tracks: [ + { + no: 0, + mid: 1101, + mty: 4, + }, + { + no: 1, + mid: 1189, + mty: 4, + }, + { + no: 2, + mid: 1362, + mty: 4, + }, + ], + }, + ], + }, + { + id: 2, + name: 'SKILL ANALYZER 第1回 Bコース', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 1218, + mty: 0, + }, + { + no: 1, + mid: 987, + mty: 1, + }, + { + no: 2, + mid: 1087, + mty: 1, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 1028, + mty: 0, + }, + { + no: 1, + mid: 1093, + mty: 1, + }, + { + no: 2, + mid: 589, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 1065, + mty: 1, + }, + { + no: 1, + mid: 990, + mty: 1, + }, + { + no: 2, + mid: 719, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 427, + mty: 1, + }, + { + no: 1, + mid: 835, + mty: 1, + }, + { + no: 2, + mid: 609, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 682, + mty: 1, + }, + { + no: 1, + mid: 1192, + mty: 1, + }, + { + no: 2, + mid: 921, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 892, + mty: 2, + }, + { + no: 1, + mid: 1235, + mty: 2, + }, + { + no: 2, + mid: 1071, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 1060, + mty: 2, + }, + { + no: 1, + mid: 1094, + mty: 2, + }, + { + no: 2, + mid: 1301, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 1007, + mty: 2, + }, + { + no: 1, + mid: 859, + mty: 2, + }, + { + no: 2, + mid: 901, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 974, + mty: 4, + }, + { + no: 1, + mid: 1002, + mty: 4, + }, + { + no: 2, + mid: 1203, + mty: 4, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 1046, + mty: 4, + }, + { + no: 1, + mid: 885, + mty: 4, + }, + { + no: 2, + mid: 1250, + mty: 4, + }, + ], + }, + { + id: 11, + type: 0, + name: 'SKILL ANALYZER Level.11', + level: 11, + nameID: 11, + assist: 0, + tracks: [ + { + no: 0, + mid: 1280, + mty: 4, + }, + { + no: 1, + mid: 1117, + mty: 4, + }, + { + no: 2, + mid: 214, + mty: 3, + }, + ], + }, + { + id: 12, + type: 0, + name: 'SKILL ANALYZER Level.∞', + level: 12, + nameID: 12, + assist: 0, + tracks: [ + { + no: 0, + mid: 1033, + mty: 4, + }, + { + no: 1, + mid: 1273, + mty: 4, + }, + { + no: 2, + mid: 1361, + mty: 4, + }, + ], + }, + ], + }, + { + id: 3, + name: 'SKILL ANALYZER 第1回 Cコース', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 593, + mty: 0, + }, + { + no: 1, + mid: 1005, + mty: 1, + }, + { + no: 2, + mid: 781, + mty: 1, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 1136, + mty: 0, + }, + { + no: 1, + mid: 996, + mty: 1, + }, + { + no: 2, + mid: 586, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 734, + mty: 1, + }, + { + no: 1, + mid: 888, + mty: 1, + }, + { + no: 2, + mid: 976, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 855, + mty: 1, + }, + { + no: 1, + mid: 837, + mty: 1, + }, + { + no: 2, + mid: 798, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 1193, + mty: 1, + }, + { + no: 1, + mid: 1138, + mty: 1, + }, + { + no: 2, + mid: 755, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 1123, + mty: 2, + }, + { + no: 1, + mid: 981, + mty: 2, + }, + { + no: 2, + mid: 1008, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 1011, + mty: 2, + }, + { + no: 1, + mid: 1208, + mty: 2, + }, + { + no: 2, + mid: 825, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 1052, + mty: 2, + }, + { + no: 1, + mid: 830, + mty: 2, + }, + { + no: 2, + mid: 821, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 1056, + mty: 4, + }, + { + no: 1, + mid: 1080, + mty: 4, + }, + { + no: 2, + mid: 1090, + mty: 4, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 963, + mty: 4, + }, + { + no: 1, + mid: 967, + mty: 4, + }, + { + no: 2, + mid: 229, + mty: 2, + }, + ], + }, + ], + }, + { + id: 4, + name: 'SKILL ANALYZER 第2回 Aコース', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 653, + mty: 0, + }, + { + no: 1, + mid: 846, + mty: 1, + }, + { + no: 2, + mid: 1054, + mty: 1, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 566, + mty: 1, + }, + { + no: 1, + mid: 748, + mty: 1, + }, + { + no: 2, + mid: 19, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 775, + mty: 1, + }, + { + no: 1, + mid: 684, + mty: 1, + }, + { + no: 2, + mid: 778, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 467, + mty: 1, + }, + { + no: 1, + mid: 456, + mty: 1, + }, + { + no: 2, + mid: 107, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 871, + mty: 1, + }, + { + no: 1, + mid: 327, + mty: 2, + }, + { + no: 2, + mid: 66, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 713, + mty: 2, + }, + { + no: 1, + mid: 40, + mty: 2, + }, + { + no: 2, + mid: 33, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 349, + mty: 2, + }, + { + no: 1, + mid: 896, + mty: 2, + }, + { + no: 2, + mid: 246, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 603, + mty: 2, + }, + { + no: 1, + mid: 278, + mty: 3, + }, + { + no: 2, + mid: 557, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 599, + mty: 2, + }, + { + no: 1, + mid: 122, + mty: 2, + }, + { + no: 2, + mid: 946, + mty: 4, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 333, + mty: 2, + }, + { + no: 1, + mid: 871, + mty: 2, + }, + { + no: 2, + mid: 259, + mty: 2, + }, + ], + }, + { + id: 11, + type: 0, + name: 'SKILL ANALYZER Level.11', + level: 11, + nameID: 11, + assist: 0, + tracks: [ + { + no: 0, + mid: 789, + mty: 2, + }, + { + no: 1, + mid: 634, + mty: 2, + }, + { + no: 2, + mid: 532, + mty: 2, + }, + ], + }, + { + id: 12, + type: 0, + name: 'SKILL ANALYZER Level.∞', + level: 12, + nameID: 12, + assist: 0, + tracks: [ + { + no: 0, + mid: 913, + mty: 3, + }, + { + no: 1, + mid: 360, + mty: 3, + }, + { + no: 2, + mid: 1028, + mty: 4, + }, + ], + }, + ], + }, + { + id: 5, + name: 'SKILL ANALYZER 第2回 Bコース', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 60, + mty: 0, + }, + { + no: 1, + mid: 770, + mty: 1, + }, + { + no: 2, + mid: 16, + mty: 1, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 6, + mty: 1, + }, + { + no: 1, + mid: 222, + mty: 1, + }, + { + no: 2, + mid: 48, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 523, + mty: 1, + }, + { + no: 1, + mid: 921, + mty: 1, + }, + { + no: 2, + mid: 218, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 67, + mty: 1, + }, + { + no: 1, + mid: 544, + mty: 1, + }, + { + no: 2, + mid: 9, + mty: 2, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 318, + mty: 2, + }, + { + no: 1, + mid: 157, + mty: 2, + }, + { + no: 2, + mid: 567, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 239, + mty: 2, + }, + { + no: 1, + mid: 375, + mty: 2, + }, + { + no: 2, + mid: 94, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 210, + mty: 2, + }, + { + no: 1, + mid: 558, + mty: 2, + }, + { + no: 2, + mid: 368, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 521, + mty: 2, + }, + { + no: 1, + mid: 572, + mty: 2, + }, + { + no: 2, + mid: 173, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 497, + mty: 2, + }, + { + no: 1, + mid: 948, + mty: 4, + }, + { + no: 2, + mid: 954, + mty: 4, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 922, + mty: 2, + }, + { + no: 1, + mid: 166, + mty: 2, + }, + { + no: 2, + mid: 670, + mty: 2, + }, + ], + }, + { + id: 11, + type: 0, + name: 'SKILL ANALYZER Level.11', + level: 11, + nameID: 11, + assist: 0, + tracks: [ + { + no: 0, + mid: 808, + mty: 2, + }, + { + no: 1, + mid: 965, + mty: 4, + }, + { + no: 2, + mid: 909, + mty: 3, + }, + ], + }, + { + id: 12, + type: 0, + name: 'SKILL ANALYZER Level.∞', + level: 12, + nameID: 12, + assist: 0, + tracks: [ + { + no: 0, + mid: 709, + mty: 3, + }, + { + no: 1, + mid: 374, + mty: 3, + }, + { + no: 2, + mid: 1036, + mty: 4, + }, + ], + }, + ], + }, + { + id: 6, + name: 'SKILL ANALYZER 第3回', + isNew: 1, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 1190, + mty: 0, + }, + { + no: 1, + mid: 914, + mty: 0, + }, + { + no: 2, + mid: 1369, + mty: 0, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 922, + mty: 0, + }, + { + no: 1, + mid: 767, + mty: 1, + }, + { + no: 2, + mid: 1350, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 1359, + mty: 1, + }, + { + no: 1, + mid: 1352, + mty: 1, + }, + { + no: 2, + mid: 1358, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 608, + mty: 1, + }, + { + no: 1, + mid: 1339, + mty: 1, + }, + { + no: 2, + mid: 1423, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 1246, + mty: 1, + }, + { + no: 1, + mid: 642, + mty: 1, + }, + { + no: 2, + mid: 1443, + mty: 2, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 1371, + mty: 2, + }, + { + no: 1, + mid: 1170, + mty: 2, + }, + { + no: 2, + mid: 1297, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 1394, + mty: 2, + }, + { + no: 1, + mid: 1388, + mty: 2, + }, + { + no: 2, + mid: 1225, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 850, + mty: 2, + }, + { + no: 1, + mid: 1370, + mty: 2, + }, + { + no: 2, + mid: 1302, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 1411, + mty: 4, + }, + { + no: 1, + mid: 1386, + mty: 2, + }, + { + no: 2, + mid: 951, + mty: 3, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 1416, + mty: 4, + }, + { + no: 1, + mid: 1441, + mty: 4, + }, + { + no: 2, + mid: 1410, + mty: 4, + }, + ], + }, + { + id: 11, + type: 0, + name: 'SKILL ANALYZER Level.11', + level: 11, + nameID: 11, + assist: 0, + tracks: [ + { + no: 0, + mid: 211, + mty: 3, + }, + { + no: 1, + mid: 1220, + mty: 3, + }, + { + no: 2, + mid: 221, + mty: 3, + }, + ], + }, + { + id: 12, + type: 0, + name: 'SKILL ANALYZER Level.∞', + level: 12, + nameID: 12, + assist: 0, + tracks: [ + { + no: 0, + mid: 1329, + mty: 4, + }, + { + no: 1, + mid: 1369, + mty: 4, + }, + { + no: 2, + mid: 1462, + mty: 4, + }, + ], + }, + ], + }, + { + id: 7, + name: 'BEMANI MASTER KOREA', + isNew: 0, + courses: [ + { + id: 1, + type: 0, + name: 'BEMANI MASTER KOREA 2019', + level: 0, + nameID: 14, + assist: 0, + tracks: [ + { + no: 0, + mid: 980, + mty: 4, + }, + { + no: 1, + mid: 1308, + mty: 4, + }, + { + no: 2, + mid: 1136, + mty: 4, + }, + ], + }, + ], + }, + { + id: 8, + name: 'お花見コース2019', + isNew: 0, + courses: [ + { + id: 2, + type: 0, + name: 'お花見コース2019【梅】', + level: 0, + nameID: 13, + assist: 0, + tracks: [ + { + no: 0, + mid: 718, + mty: 0, + }, + { + no: 1, + mid: 1072, + mty: 0, + }, + { + no: 2, + mid: 459, + mty: 0, + }, + ], + }, + { + id: 3, + type: 0, + name: 'お花見コース2019【竹】', + level: 0, + nameID: 13, + assist: 0, + tracks: [ + { + no: 0, + mid: 718, + mty: 1, + }, + { + no: 1, + mid: 1072, + mty: 1, + }, + { + no: 2, + mid: 459, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'お花見コース2019【松】', + level: 0, + nameID: 13, + assist: 0, + tracks: [ + { + no: 0, + mid: 718, + mty: 2, + }, + { + no: 1, + mid: 1072, + mty: 4, + }, + { + no: 2, + mid: 459, + mty: 3, + }, + ], + }, + ], + }, + { + id: 9, + name: 'The 9th KAC予選コース チャレンジ', + isNew: 0, + courses: [ + { + id: 5, + type: 0, + name: 'The 9th KACチャレンジコース【蘭華】', + level: 0, + nameID: 15, + assist: 0, + tracks: [ + { + no: 0, + mid: 1505, + mty: 4, + }, + { + no: 1, + mid: 1364, + mty: 4, + }, + { + no: 2, + mid: 1177, + mty: 4, + }, + ], + }, + { + id: 6, + type: 0, + name: 'The 9th KACチャレンジコース【綺羅】', + level: 0, + nameID: 16, + assist: 0, + tracks: [ + { + no: 0, + mid: 1379, + mty: 4, + }, + { + no: 1, + mid: 1363, + mty: 4, + }, + { + no: 2, + mid: 1178, + mty: 4, + }, + ], + }, + ], + }, + { + id: 10, + name: 'The 9th KAC予選コース エンジョイ', + isNew: 0, + courses: [ + { + id: 7, + type: 0, + name: 'The 9th KACエンジョイコース【蘭華】', + level: 0, + nameID: 15, + assist: 0, + tracks: [ + { + no: 0, + mid: 1505, + mty: 1, + }, + { + no: 1, + mid: 1364, + mty: 1, + }, + { + no: 2, + mid: 1177, + mty: 1, + }, + ], + }, + { + id: 8, + type: 0, + name: 'The 9th KACエンジョイコース【綺羅】', + level: 0, + nameID: 16, + assist: 0, + tracks: [ + { + no: 0, + mid: 1379, + mty: 1, + }, + { + no: 1, + mid: 1363, + mty: 1, + }, + { + no: 2, + mid: 1178, + mty: 1, + }, + ], + }, + ], + }, + { + id: 11, + name: '八周年記念コース', + isNew: 0, + courses: [ + { + id: 9, + type: 0, + name: '八周年記念コース(NOV)', + level: 0, + nameID: 17, + assist: 0, + tracks: [ + { + no: 0, + mid: 1215, + mty: 0, + }, + { + no: 1, + mid: 1407, + mty: 0, + }, + { + no: 2, + mid: 1389, + mty: 0, + }, + ], + }, + { + id: 10, + type: 0, + name: '八周年記念コース(ADV)', + level: 0, + nameID: 17, + assist: 0, + tracks: [ + { + no: 0, + mid: 1215, + mty: 1, + }, + { + no: 1, + mid: 1407, + mty: 1, + }, + { + no: 2, + mid: 1389, + mty: 1, + }, + ], + }, + { + id: 11, + type: 0, + name: '八周年記念コース(EXH)', + level: 0, + nameID: 17, + assist: 0, + tracks: [ + { + no: 0, + mid: 1215, + mty: 2, + }, + { + no: 1, + mid: 1407, + mty: 2, + }, + { + no: 2, + mid: 1389, + mty: 2, + }, + ], + }, + { + id: 12, + type: 0, + name: '八周年記念コース(MXM)', + level: 0, + nameID: 17, + assist: 0, + tracks: [ + { + no: 0, + mid: 1215, + mty: 4, + }, + { + no: 1, + mid: 1407, + mty: 4, + }, + { + no: 2, + mid: 1389, + mty: 4, + }, + ], + }, + ], + }, + { + id: 12, + name: 'SKILL ANALYZER 第4回', + isNew: 1, + courses: [ + { + id: 1, + type: 0, + name: 'SKILL ANALYZER Level.01', + level: 1, + nameID: 1, + assist: 0, + tracks: [ + { + no: 0, + mid: 1393, + mty: 0, + }, + { + no: 1, + mid: 1260, + mty: 0, + }, + { + no: 2, + mid: 1329, + mty: 0, + }, + ], + }, + { + id: 2, + type: 0, + name: 'SKILL ANALYZER Level.02', + level: 2, + nameID: 2, + assist: 0, + tracks: [ + { + no: 0, + mid: 1055, + mty: 0, + }, + { + no: 1, + mid: 930, + mty: 1, + }, + { + no: 2, + mid: 1125, + mty: 1, + }, + ], + }, + { + id: 3, + type: 0, + name: 'SKILL ANALYZER Level.03', + level: 3, + nameID: 3, + assist: 0, + tracks: [ + { + no: 0, + mid: 1356, + mty: 1, + }, + { + no: 1, + mid: 1408, + mty: 1, + }, + { + no: 2, + mid: 1387, + mty: 1, + }, + ], + }, + { + id: 4, + type: 0, + name: 'SKILL ANALYZER Level.04', + level: 4, + nameID: 4, + assist: 0, + tracks: [ + { + no: 0, + mid: 1354, + mty: 1, + }, + { + no: 1, + mid: 1378, + mty: 1, + }, + { + no: 2, + mid: 1304, + mty: 1, + }, + ], + }, + { + id: 5, + type: 0, + name: 'SKILL ANALYZER Level.05', + level: 5, + nameID: 5, + assist: 0, + tracks: [ + { + no: 0, + mid: 1426, + mty: 1, + }, + { + no: 1, + mid: 1389, + mty: 1, + }, + { + no: 2, + mid: 1298, + mty: 1, + }, + ], + }, + { + id: 6, + type: 0, + name: 'SKILL ANALYZER Level.06', + level: 6, + nameID: 6, + assist: 0, + tracks: [ + { + no: 0, + mid: 1130, + mty: 2, + }, + { + no: 1, + mid: 1402, + mty: 2, + }, + { + no: 2, + mid: 1473, + mty: 2, + }, + ], + }, + { + id: 7, + type: 0, + name: 'SKILL ANALYZER Level.07', + level: 7, + nameID: 7, + assist: 0, + tracks: [ + { + no: 0, + mid: 1156, + mty: 2, + }, + { + no: 1, + mid: 1012, + mty: 2, + }, + { + no: 2, + mid: 926, + mty: 2, + }, + ], + }, + { + id: 8, + type: 0, + name: 'SKILL ANALYZER Level.08', + level: 8, + nameID: 8, + assist: 0, + tracks: [ + { + no: 0, + mid: 1405, + mty: 2, + }, + { + no: 1, + mid: 1407, + mty: 2, + }, + { + no: 2, + mid: 1289, + mty: 2, + }, + ], + }, + { + id: 9, + type: 0, + name: 'SKILL ANALYZER Level.09', + level: 9, + nameID: 9, + assist: 0, + tracks: [ + { + no: 0, + mid: 1376, + mty: 2, + }, + { + no: 1, + mid: 1294, + mty: 4, + }, + { + no: 2, + mid: 1017, + mty: 4, + }, + ], + }, + { + id: 10, + type: 0, + name: 'SKILL ANALYZER Level.10', + level: 10, + nameID: 10, + assist: 0, + tracks: [ + { + no: 0, + mid: 1371, + mty: 4, + }, + { + no: 1, + mid: 1388, + mty: 4, + }, + { + no: 2, + mid: 680, + mty: 2, + }, + ], + }, + { + id: 11, + type: 0, + name: 'SKILL ANALYZER Level.11', + level: 11, + nameID: 11, + assist: 0, + tracks: [ + { + no: 0, + mid: 1382, + mty: 4, + }, + { + no: 1, + mid: 1500, + mty: 4, + }, + { + no: 2, + mid: 1186, + mty: 4, + }, + ], + }, + // { + // id: 12, + // type: 0, + // name: 'SKILL ANALYZER Level.∞', + // level: 12, + // nameID: 12, + // assist: 0, + // tracks: [ + // { + // no: 0, + // mid: 1542, + // mty: 4, + // }, + // { + // no: 1, + // mid: 1498, + // mty: 4, + // }, + // { + // no: 2, + // mid: 1462, // 666 + // mty: 4, + // }, + // ], + // }, + ], + }, +]; + +export const SDVX_AUTOMATION_SONGS = [ + 1, + 2, + 7, + 8, + 19, + 24, + 25, + 31, + 42, + 47, + 54, + 55, + 59, + 60, + 63, + 64, + 69, + 86, + 87, + 88, + 96, + 101, + 103, + 117, + 120, + 125, + 126, + 127, + 128, + 134, + 135, + 180, + 182, + 192, + 212, + 216, + 224, + 225, + 230, + 241, + 246, + 251, + 252, + 256, + 258, + 259, + 267, + 268, + 269, + 271, + 272, + 286, + 298, + 299, + 304, + 312, + 316, + 324, + 330, + 344, + 349, + 359, + 364, + 365, + 374, + 381, + 422, + 471, + 479, + 519, + 538, + 539, + 540, + 541, + 542, + 543, + 546, + 551, + 552, + 553, + 606, + 611, + 616, + 623, + 626, + 633, + 634, + 669, + 673, + 678, + 684, + 698, + 699, + 704, + 718, + 743, + 788, + 816, + 831, + 855, + 866, + 903, + 939, + 978, + 1072, + 1225, + 1260, + 1261, + 1297, + 1331, + 1333, + 1422, + 1423, +]; + +export const EXTENDS5 = [ + { + id: 91, + type: 14, + params: [0, 1, 0, 0, 1, SDVX_AUTOMATION_SONGS.join(','), '', '', '', ''], + }, +]; diff --git a/sdvx@asphyxia/handlers/common.ts b/sdvx@asphyxia/handlers/common.ts new file mode 100644 index 0000000..b371a5c --- /dev/null +++ b/sdvx@asphyxia/handlers/common.ts @@ -0,0 +1,90 @@ +import { EVENT4, COURSES4, EXTENDS4 } from '../data/hvn'; +import { EVENT5, COURSES5, EXTENDS5 } from '../data/vvw'; +export const common: EPR = async (info, data, send) => { + let events = []; + let courses = []; + let extend = []; + + switch (info.method) { + case 'sv4_common': { + events = EVENT4; + courses = COURSES4; + extend = EXTENDS4; + break; + } + case 'sv5_common': { + events = EVENT5; + courses = COURSES5; + extend = EXTENDS5; + break; + } + } + + let songs = []; + + if (U.GetConfig('unlock_all_songs')) { + for (let i = 1; i < 1600; ++i) { + for (let j = 0; j < 5; ++j) { + songs.push({ + music_id: K.ITEM('s32', i), + music_type: K.ITEM('u8', j), + limited: K.ITEM('u8', 3), + }); + } + } + } + + send.object( + { + event: { + info: events.map(e => ({ + event_id: K.ITEM('str', e), + })), + }, + extend: { + info: extend.map(e => ({ + extend_id: K.ITEM('u32', e.id), + extend_type: K.ITEM('u32', e.type), + param_num_1: K.ITEM('s32', e.params[0]), + param_num_2: K.ITEM('s32', e.params[1]), + param_num_3: K.ITEM('s32', e.params[2]), + param_num_4: K.ITEM('s32', e.params[3]), + param_num_5: K.ITEM('s32', e.params[4]), + param_str_1: K.ITEM('str', e.params[5]), + param_str_2: K.ITEM('str', e.params[6]), + param_str_3: K.ITEM('str', e.params[7]), + param_str_4: K.ITEM('str', e.params[8]), + param_str_5: K.ITEM('str', e.params[9]), + })), + }, + music_limited: { info: songs }, + skill_course: { + info: courses.reduce( + (acc, s) => + acc.concat( + s.courses.map(c => ({ + season_id: K.ITEM('s32', s.id), + season_name: K.ITEM('str', s.name), + season_new_flg: K.ITEM('bool', s.isNew), + course_type: K.ITEM('s16', 0), + course_id: K.ITEM('s16', c.id), + course_name: K.ITEM('str', c.name), + skill_level: K.ITEM('s16', c.level), + skill_name_id: K.ITEM('s16', c.nameID), + matching_assist: K.ITEM('bool', c.assist), + clear_rate: K.ITEM('s32', 5000), + avg_score: K.ITEM('u32', 15000000), + track: c.tracks.map(t => ({ + track_no: K.ITEM('s16', t.no), + music_id: K.ITEM('s32', t.mid), + music_type: K.ITEM('s8', t.mty), + })), + })) + ), + [] + ), + }, + }, + { encoding: 'utf8' } + ); +}; diff --git a/sdvx@asphyxia/handlers/example.ts b/sdvx@asphyxia/handlers/example.ts deleted file mode 100644 index 31b3813..0000000 --- a/sdvx@asphyxia/handlers/example.ts +++ /dev/null @@ -1,53 +0,0 @@ -/* -EamusePluginRoute. Handle your game message like this - -You can send a plain XML request to test this route: - - - -*/ -export const example: EPR = async (info, data, send) => { - /* [Check documentation for the entire API] */ - - /* - Access data from request like this - NOTE: all card number will be automatically converted to refid. - This is to support older game that doesn't use cardmng, - yet still allow them to register with internal profile manager. - And they can show up in WebUI as a profile, along with card binding feature. - */ - const refid = $(data).attr().card; - - /* Access config like this */ - const event = U.GetConfig('event'); - - /* - Create user data in profile space if not exists - WebUI will try to find a "name" field in profile documents and display them. - If you are using a collection of data for each profile, - make sure to avoid using name field in supplementary documents. - If you have multiple documents per refid, it is recommended to provide a field to - simulate collections in NoSQL database (e.g. MongoDB) - */ - await DB.Upsert( - refid, - { - collection: 'profile', - name: 'PLAYER', - }, - { $inc: { login_count: 1 } } - ); - - /* - Send your response like this - There are more methods for sending request. - */ - send.pugFile('templates/example.pug', { refid, event }); - - /* Or you can send ejs template (plain xml works as well) */ - // send.xmlFile('templates/example.xml', { refid, event }); -}; - -export const changeName = async (data: any) => { - await DB.Update(data.refid, { collection: 'profile' }, { $set: { name: data.name } }); -}; diff --git a/sdvx@asphyxia/models/song_record.ts b/sdvx@asphyxia/handlers/features.ts similarity index 100% rename from sdvx@asphyxia/models/song_record.ts rename to sdvx@asphyxia/handlers/features.ts diff --git a/sdvx@asphyxia/handlers/profile.ts b/sdvx@asphyxia/handlers/profile.ts new file mode 100644 index 0000000..cb6f38d --- /dev/null +++ b/sdvx@asphyxia/handlers/profile.ts @@ -0,0 +1,97 @@ +import { Profile } from '../models/profile'; +import { VersionData } from '../models/version_data'; + +export const loadScores: EPR = async (info, data, send) => { + const refid = $(data).str('refid'); + const records = await DB.Find(refid, { collection: 'music' }); + + send.pugFile('templates/load_m.pug', { records }); +}; + +export const load: EPR = async (info, data, send) => { + const refid = $(data).str('refid'); + + let version = 0; + switch (info.method) { + case 'sv4_load': + version = 4; + break; + case 'sv5_load': + version = 5; + break; + } + + const profile = await DB.FindOne(refid, { collection: 'profile' }); + let versionData: VersionData = await DB.FindOne(refid, { + collection: 'version', + }); + + if (!versionData) { + versionData = { + collection: 'version', + version, + items: {}, + params: {}, + skill: { + base: 0, + level: 0, + name: 0, + }, + }; + await DB.Insert(refid, versionData); + } + + if (!profile) { + send.object({ result: K.ITEM('u8', 1) }); + return; + } + + const courses = await DB.Find(refid, { collection: 'course' }); + + send.pugFile('templates/load.pug', { + courses, + ...profile, + ...versionData, + }); +}; + +export const create: EPR = async (info, data, send) => { + const refid = $(data).str('refid'); + const name = $(data).str('name', 'GUEST'); + + const profile: Profile = { + pluginVer: 1, + + collection: 'profile', + name, + appeal: 0, + akaname: 0, + currency: { + blocks: 0, + packets: 0, + }, + settings: { + arsOption: 0, + drawAdjust: 0, + earlyLateDisp: 0, + effCLeft: 0, + effCRight: 1, + gaugeOption: 0, + hiSpeed: 0, + laneSpeed: 0, + narrowDown: 0, + notesOption: 0, + }, + state: { + blasterCount: 0, + blasterEnergy: 0, + headphone: 0, + lastMusicID: 0, + lastMusicType: 0, + sortType: 0, + }, + }; + + await DB.Upsert(refid, { collection: 'profile' }, profile); + send.object({ result: K.ITEM('u8', 0) }); +}; diff --git a/sdvx@asphyxia/index.ts b/sdvx@asphyxia/index.ts index 64f9c02..3e2513a 100644 --- a/sdvx@asphyxia/index.ts +++ b/sdvx@asphyxia/index.ts @@ -1,7 +1,17 @@ -import { example, changeName } from './handlers/example'; - +import { common } from './handlers/common'; +import { load, create, loadScores } from './handlers/profile'; export function register() { R.GameCode('KFC'); - - R.Route('example.method', example); + + R.Config('unlock_all_songs', { type: 'boolean', default: false }); + R.Config('unlock_all_navigators', { type: 'boolean', default: false }); + + R.Route('game.sv4_common', common); + R.Route('game.sv4_load', load); + R.Route('game.sv4_load_m', loadScores); + R.Route('game.sv4_new', create); + R.Route('game.sv4_frozen', true); + R.Route('game.sv4_load_r', true); + + R.Route('game.sv5_common', common); } diff --git a/sdvx@asphyxia/models/course_record.ts b/sdvx@asphyxia/models/course_record.ts index e69de29..d896b91 100644 --- a/sdvx@asphyxia/models/course_record.ts +++ b/sdvx@asphyxia/models/course_record.ts @@ -0,0 +1,11 @@ +export interface CourseRecord { + collection: 'course'; + + sid: number; + cid: number; + score: number; + clearType: number; + grade: number; + achieveRate: number; + playCount: number; +} diff --git a/sdvx@asphyxia/models/music_record.ts b/sdvx@asphyxia/models/music_record.ts new file mode 100644 index 0000000..7f67bb3 --- /dev/null +++ b/sdvx@asphyxia/models/music_record.ts @@ -0,0 +1,12 @@ +export interface MusicRecord { + collection: 'music'; + + mid: number; + type: number; + score: number; + clear: number; + grade: number; + buttonRate: number; + longRate: number; + volRate: number; +} diff --git a/sdvx@asphyxia/models/profile.ts b/sdvx@asphyxia/models/profile.ts index 48aabe3..aa52f37 100644 --- a/sdvx@asphyxia/models/profile.ts +++ b/sdvx@asphyxia/models/profile.ts @@ -1,5 +1,7 @@ export interface Profile { - modelVer: string; + collection: 'profile'; + + pluginVer: number; name: string; appeal: number; @@ -9,7 +11,7 @@ export interface Profile { packets: number; blocks: number; }; - + state: { lastMusicID: number; lastMusicType: number; @@ -17,7 +19,7 @@ export interface Profile { headphone: number; blasterEnergy: number; blasterCount: number; - } + }; settings: { hiSpeed: number; @@ -30,5 +32,5 @@ export interface Profile { effCLeft: number; effCRight: number; narrowDown: number; - } -} \ No newline at end of file + }; +} diff --git a/sdvx@asphyxia/models/version_data.ts b/sdvx@asphyxia/models/version_data.ts index 4dbc4f0..8ccd185 100644 --- a/sdvx@asphyxia/models/version_data.ts +++ b/sdvx@asphyxia/models/version_data.ts @@ -1,13 +1,17 @@ // Version specific data (e.g. skills level) export interface VersionData { + collection: 'version'; + version: number; - skillLevel: number; - skillBaseID: number; - skillNameID: number; + skill: { + level: number; + base: number; + name: number; + }; items: { [key: string]: number; }; params: { [key: string]: number[]; }; -} \ No newline at end of file +} diff --git a/sdvx@asphyxia/templates/example.pug b/sdvx@asphyxia/templates/example.pug deleted file mode 100644 index 38dfe19..0000000 --- a/sdvx@asphyxia/templates/example.pug +++ /dev/null @@ -1,5 +0,0 @@ -//- - Learn pug here: https://pugjs.org/api/getting-started.html -example(status="0") - refid(__type="str") #{refid} - event(__type="str") #{event} \ No newline at end of file diff --git a/sdvx@asphyxia/templates/example.xml b/sdvx@asphyxia/templates/example.xml deleted file mode 100644 index 264249c..0000000 --- a/sdvx@asphyxia/templates/example.xml +++ /dev/null @@ -1,7 +0,0 @@ - - - <%= refid %> - <%= event %> - \ No newline at end of file diff --git a/sdvx@asphyxia/templates/load.pug b/sdvx@asphyxia/templates/load.pug new file mode 100644 index 0000000..f04f9c2 --- /dev/null +++ b/sdvx@asphyxia/templates/load.pug @@ -0,0 +1,98 @@ +game + result(__type="u8") 0 + name(__type="str") #{name} + code(__type="str") 1337-6666 + sdvx_id(__type="str") 1337-6666 + gamecoin_packet(__type="u32") #{currency.packets} + gamecoin_block(__type="u32") #{currency.blocks} + appeal_id(__type="u16") #{appeal} + + last_music_id(__type="s32") #{state.lastMusicID} + last_music_type(__type="u8") #{state.lastMusicType} + sort_type(__type="u8") #{state.sortType} + headphone(__type="u8") #{state.headphone} + blaster_energy(__type="u32") #{state.blasterEnergy} + blaster_count(__type="u32") #{state.blasterCount} + + hispeed(__type="s32") #{settings.hiSpeed} + lanespeed(__type="u32") #{settings.laneSpeed} + gauge_option(__type="u8") #{settings.gaugeOption} + ars_option(__type="u8") #{settings.arsOption} + notes_option(__type="u8") #{settings.notesOption} + early_late_disp(__type="u8") #{settings.earlyLateDisp} + draw_adjust(__type="s32") #{settings.drawAdjust} + eff_c_left(__type="u8") #{settings.effCLeft} + eff_c_right(__type="u8") #{settings.effCRight} + narrow_down(__type="u8") #{settings.narrowDown} + + kac_id(__type="str") #{name} + skill_level(__type="s16") #{skill.level} + skill_base_id(__type="s16") #{skill.base} + skill_name_id(__type="s16") #{skill.name} + + ea_shop + packet_booster(__type="s32") 1 + if version != 5 + block_booster(__type="s32") 1 + + eaappli + relation(__type="s8") 1 + cloud + relation(__type="s8") 1 + block_no(__type="s32") 0 + + skill + each course in courses + course + ssnid(__type="s16") #{course.sid} + crsid(__type="s16") #{course.cid} + sc(__type="s32") #{course.score} + ct(__type="s16") #{course.clearType} + gr(__type="s16") #{course.grade} + ar(__type="s16") #{course.achieveRate} + cnt(__type="s16") #{course.playCount} + + item + each item in items + info + type(__type="u8") #{item.type} + id(__type="u32") #{item.id} + param(__type="u32") #{item.param} + + param + each param in params + info + type(__type="u8") #{param.type} + id(__type="u32") #{param.id} + param(__type="u32" __count=param.param.length) #{param.param.join(" ")} + + //- Akaname + each id in [0, 1, 2] + info + type(__type="u8") 6 + id(__type="u32") #{id} + param(__type="u32" __count="1") #{akaname} + + play_count(__type="u32") 1001 + day_count(__type="u32") 301 + today_count(__type="u32") 21 + play_chain(__type="u32") 31 + max_play_chain(__type="u32") 31 + week_count(__type="u32") 9 + week_play_count(__type="u32") 101 + week_chain(__type="u32") 31 + max_week_chain(__type="u32") 31 + + if mixes + each mix in mixes + automation + mix_id(__type="s32") #{mix.id} + mix_code(__type="str") #{mix.code} + seq(__type="str") + mix_name(__type="str") #{mix.name} + player_name(__type="str") #{mix.creator} + generate_param(__type="str") #{mix.param} + distribution_date(__type="u32") 19990101 + jacket_id(__type="s32") #{mix.jacketID} + tag_bit(__type="s32") #{mix.tag} + like_flg(__type="u8") 0 \ No newline at end of file diff --git a/sdvx@asphyxia/templates/load_m.pug b/sdvx@asphyxia/templates/load_m.pug new file mode 100644 index 0000000..9abf807 --- /dev/null +++ b/sdvx@asphyxia/templates/load_m.pug @@ -0,0 +1,15 @@ +game + music + for record in records + info + param(__type="u32" __count="16") + | #{record.mid} + | #{record.type} + | #{record.score} + | #{record.type} + | #{record.grade} + | 0 0 + | #{record.buttonRate} + | #{record.longRate} + | #{record.volRate} + | 0 0 0 0 0 0 \ No newline at end of file