maplestory-openapi 3.7.0 → 3.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (81) hide show
  1. package/dist/cjs/index.js +5 -0
  2. package/dist/cjs/maplestory/api/common/dto/character/characterItemEquipment.js +3 -0
  3. package/dist/cjs/maplestory/api/common/dto/union/unionChampion.js +14 -0
  4. package/dist/cjs/maplestory/api/kms/dto/character/characterItemEquipment.js +2 -1
  5. package/dist/cjs/maplestory/api/kms/dto/union/unionChampion.js +8 -3
  6. package/dist/cjs/maplestory/api/msea/dto/character/characterAndroidEquipment.js +36 -3
  7. package/dist/cjs/maplestory/api/msea/dto/character/characterBasic.js +4 -10
  8. package/dist/cjs/maplestory/api/msea/dto/character/characterBeautyEquipment.js +24 -2
  9. package/dist/cjs/maplestory/api/msea/dto/character/characterCashItemEquipment.js +17 -1
  10. package/dist/cjs/maplestory/api/msea/dto/character/characterItemEquipment.js +100 -5
  11. package/dist/cjs/maplestory/api/msea/dto/union/unionChampion.js +82 -0
  12. package/dist/cjs/maplestory/api/msea/mapleStoryApi.js +32 -0
  13. package/dist/cjs/maplestory/api/msea/msea.js +5 -0
  14. package/dist/cjs/maplestory/api/tms/dto/character/characterAndroidEquipment.js +36 -3
  15. package/dist/cjs/maplestory/api/tms/dto/character/characterBasic.js +1 -1
  16. package/dist/cjs/maplestory/api/tms/dto/character/characterBeautyEquipment.js +24 -2
  17. package/dist/cjs/maplestory/api/tms/dto/character/characterCashItemEquipment.js +12 -1
  18. package/dist/cjs/maplestory/api/tms/dto/character/characterItemEquipment.js +84 -4
  19. package/dist/cjs/maplestory/api/tms/dto/union/unionChampion.js +79 -0
  20. package/dist/cjs/maplestory/api/tms/mapleStoryApi.js +32 -0
  21. package/dist/cjs/maplestory/api/tms/tms.js +5 -0
  22. package/dist/esm/index.js +2 -1
  23. package/dist/esm/maplestory/api/common/dto/character/characterItemEquipment.js +3 -1
  24. package/dist/esm/maplestory/api/common/dto/union/unionChampion.js +8 -0
  25. package/dist/esm/maplestory/api/kms/dto/character/characterItemEquipment.js +3 -2
  26. package/dist/esm/maplestory/api/kms/dto/union/unionChampion.js +8 -3
  27. package/dist/esm/maplestory/api/msea/dto/character/characterAndroidEquipment.js +36 -3
  28. package/dist/esm/maplestory/api/msea/dto/character/characterBasic.js +4 -10
  29. package/dist/esm/maplestory/api/msea/dto/character/characterBeautyEquipment.js +24 -2
  30. package/dist/esm/maplestory/api/msea/dto/character/characterCashItemEquipment.js +17 -1
  31. package/dist/esm/maplestory/api/msea/dto/character/characterItemEquipment.js +101 -7
  32. package/dist/esm/maplestory/api/msea/dto/union/unionChampion.js +76 -0
  33. package/dist/esm/maplestory/api/msea/mapleStoryApi.js +32 -0
  34. package/dist/esm/maplestory/api/msea/msea.js +2 -1
  35. package/dist/esm/maplestory/api/tms/dto/character/characterAndroidEquipment.js +36 -3
  36. package/dist/esm/maplestory/api/tms/dto/character/characterBasic.js +1 -1
  37. package/dist/esm/maplestory/api/tms/dto/character/characterBeautyEquipment.js +24 -2
  38. package/dist/esm/maplestory/api/tms/dto/character/characterCashItemEquipment.js +12 -1
  39. package/dist/esm/maplestory/api/tms/dto/character/characterItemEquipment.js +85 -6
  40. package/dist/esm/maplestory/api/tms/dto/union/unionChampion.js +73 -0
  41. package/dist/esm/maplestory/api/tms/mapleStoryApi.js +32 -0
  42. package/dist/esm/maplestory/api/tms/tms.js +2 -1
  43. package/dist/index.min.js +1 -1
  44. package/package.json +1 -1
  45. package/types/index.d.ts +1 -0
  46. package/types/maplestory/api/common/dto/character/characterAndroidEquipment.d.ts +3 -0
  47. package/types/maplestory/api/common/dto/character/characterBasic.d.ts +1 -0
  48. package/types/maplestory/api/common/dto/character/characterBeautyEquipment.d.ts +2 -0
  49. package/types/maplestory/api/common/dto/character/characterCashItemEquipment.d.ts +2 -0
  50. package/types/maplestory/api/common/dto/character/characterItemEquipment.d.ts +15 -0
  51. package/types/maplestory/api/common/dto/union/unionChampion.d.ts +15 -0
  52. package/types/maplestory/api/common/mapleStoryApi.d.ts +2 -0
  53. package/types/maplestory/api/kms/dto/character/characterItemEquipment.d.ts +1 -1
  54. package/types/maplestory/api/kms/dto/union/unionChampion.d.ts +4 -3
  55. package/types/maplestory/api/msea/dto/character/characterAndroidEquipment.d.ts +24 -0
  56. package/types/maplestory/api/msea/dto/character/characterBasic.d.ts +2 -6
  57. package/types/maplestory/api/msea/dto/character/characterBeautyEquipment.d.ts +16 -0
  58. package/types/maplestory/api/msea/dto/character/characterCashItemEquipment.d.ts +12 -0
  59. package/types/maplestory/api/msea/dto/character/characterItemEquipment.d.ts +71 -1
  60. package/types/maplestory/api/msea/dto/union/unionChampion.d.ts +56 -0
  61. package/types/maplestory/api/msea/index.d.ts +1 -0
  62. package/types/maplestory/api/msea/mapleStoryApi.d.ts +12 -0
  63. package/types/maplestory/api/msea/response/character/characterAndroidEquipmentBody.d.ts +3 -0
  64. package/types/maplestory/api/msea/response/character/characterBasicBody.d.ts +1 -1
  65. package/types/maplestory/api/msea/response/character/characterBeautyEquipmentBody.d.ts +2 -0
  66. package/types/maplestory/api/msea/response/character/characterCashItemEquipmentBody.d.ts +2 -0
  67. package/types/maplestory/api/msea/response/character/characterItemEquipmentBody.d.ts +14 -0
  68. package/types/maplestory/api/msea/response/union/unionChampionBody.d.ts +15 -0
  69. package/types/maplestory/api/tms/dto/character/characterAndroidEquipment.d.ts +24 -0
  70. package/types/maplestory/api/tms/dto/character/characterBasic.d.ts +1 -1
  71. package/types/maplestory/api/tms/dto/character/characterBeautyEquipment.d.ts +16 -0
  72. package/types/maplestory/api/tms/dto/character/characterCashItemEquipment.d.ts +8 -0
  73. package/types/maplestory/api/tms/dto/character/characterItemEquipment.d.ts +59 -1
  74. package/types/maplestory/api/tms/dto/union/unionChampion.d.ts +53 -0
  75. package/types/maplestory/api/tms/index.d.ts +1 -0
  76. package/types/maplestory/api/tms/mapleStoryApi.d.ts +12 -0
  77. package/types/maplestory/api/tms/response/character/characterAndroidEquipmentBody.d.ts +3 -0
  78. package/types/maplestory/api/tms/response/character/characterBeautyEquipmentBody.d.ts +2 -0
  79. package/types/maplestory/api/tms/response/character/characterCashItemEquipmentBody.d.ts +1 -0
  80. package/types/maplestory/api/tms/response/character/characterItemEquipmentBody.d.ts +11 -0
  81. package/types/maplestory/api/tms/response/union/unionChampionBody.d.ts +15 -0
@@ -29,6 +29,7 @@ var guild = require('./dto/guild/guild.js');
29
29
  var guildBasic = require('./dto/guild/guildBasic.js');
30
30
  var union = require('./dto/union/union.js');
31
31
  var unionArtifact = require('./dto/union/unionArtifact.js');
32
+ var unionChampion = require('./dto/union/unionChampion.js');
32
33
  var unionRaider = require('./dto/union/unionRaider.js');
33
34
  var characterImage = require('../common/enum/characterImage.js');
34
35
  var mapleStoryApi = require('../common/mapleStoryApi.js');
@@ -819,6 +820,37 @@ class MapleStoryApi extends mapleStoryApi.MapleStoryApi {
819
820
  }
820
821
  return new unionArtifact.UnionArtifactDto(data);
821
822
  }
823
+ /**
824
+ * Retrieves Union Champion information.
825
+ * - MapleStory game data can be verified approximately 15 minutes after updates.
826
+ * - Data is available starting from December 18, 2025.
827
+ * - Historical data can be queried by specifying the desired date, and data from the previous day can be accessed starting at 2 AM the next day. (For example, when querying data for December 22, data from 00:00 to 24:00 on December 22 will be retrieved.)
828
+ * - Due to game content changes, the ocid may be updated. Please pay attention to this when updating services based on ocid.
829
+ * - This API provides data for MapleStory SEA.
830
+ * @param ocid Character identifier
831
+ * @param dateOptions Reference date for query (SGT)
832
+ */
833
+ async getUnionChampion(ocid, dateOptions) {
834
+ const path = `${this.subUrl}/v1/user/union-champion`;
835
+ const date = dateOptions
836
+ ? this.toDateString(dateOptions, {
837
+ year: 2025,
838
+ month: 12,
839
+ day: 18,
840
+ })
841
+ : undefined;
842
+ const query = {
843
+ ocid: ocid,
844
+ date: date,
845
+ };
846
+ const { data } = await this.client.get(path, {
847
+ params: query,
848
+ });
849
+ if (this.isEmptyResponse(data)) {
850
+ return null;
851
+ }
852
+ return new unionChampion.UnionChampionDto(data);
853
+ }
822
854
  //#endregion
823
855
  //#region Guild Information Retrieval
824
856
  /**
@@ -28,6 +28,7 @@ var guild = require('./dto/guild/guild.js');
28
28
  var guildBasic = require('./dto/guild/guildBasic.js');
29
29
  var union = require('./dto/union/union.js');
30
30
  var unionArtifact = require('./dto/union/unionArtifact.js');
31
+ var unionChampion = require('./dto/union/unionChampion.js');
31
32
  var unionRaider = require('./dto/union/unionRaider.js');
32
33
 
33
34
 
@@ -71,6 +72,7 @@ exports.CharacterItemEquipmentEtcOptionDto = characterItemEquipment.CharacterIte
71
72
  exports.CharacterItemEquipmentExceptionalOptionDto = characterItemEquipment.CharacterItemEquipmentExceptionalOptionDto;
72
73
  exports.CharacterItemEquipmentInfoDto = characterItemEquipment.CharacterItemEquipmentInfoDto;
73
74
  exports.CharacterItemEquipmentMechanicInfoDto = characterItemEquipment.CharacterItemEquipmentMechanicInfoDto;
75
+ exports.CharacterItemEquipmentMedalShapeDto = characterItemEquipment.CharacterItemEquipmentMedalShapeDto;
74
76
  exports.CharacterItemEquipmentStarforceOptionDto = characterItemEquipment.CharacterItemEquipmentStarforceOptionDto;
75
77
  exports.CharacterItemEquipmentTitleDto = characterItemEquipment.CharacterItemEquipmentTitleDto;
76
78
  exports.CharacterItemEquipmentTotalOptionDto = characterItemEquipment.CharacterItemEquipmentTotalOptionDto;
@@ -101,6 +103,9 @@ exports.UnionDto = union.UnionDto;
101
103
  exports.UnionArtifactCrystalDto = unionArtifact.UnionArtifactCrystalDto;
102
104
  exports.UnionArtifactDto = unionArtifact.UnionArtifactDto;
103
105
  exports.UnionArtifactEffectDto = unionArtifact.UnionArtifactEffectDto;
106
+ exports.UnionChampionBadgeInfoDto = unionChampion.UnionChampionBadgeInfoDto;
107
+ exports.UnionChampionDto = unionChampion.UnionChampionDto;
108
+ exports.UnionChampionInfoDto = unionChampion.UnionChampionInfoDto;
104
109
  exports.UnionRaiderBlockControlPointDto = unionRaider.UnionRaiderBlockControlPointDto;
105
110
  exports.UnionRaiderBlockDto = unionRaider.UnionRaiderBlockDto;
106
111
  exports.UnionRaiderBlockPositionDto = unionRaider.UnionRaiderBlockPositionDto;
@@ -135,13 +135,24 @@ class CharacterAndroidEquipmentFaceDto extends characterAndroidEquipment.Charact
135
135
  * 機器人臉型混染顏色比例
136
136
  */
137
137
  mixRate;
138
+ /**
139
+ * 自由造型券 使用狀態(0:未使用,1:已使用)
140
+ */
141
+ freestyleFlag;
138
142
  constructor(obj) {
139
143
  super();
140
- const { face_name, base_color, mix_color, mix_rate } = obj;
144
+ const { face_name, base_color, mix_color, mix_rate, freestyle_flag } = obj;
141
145
  this.faceName = face_name;
142
146
  this.baseColor = base_color;
143
147
  this.mixColor = mix_color;
144
148
  this.mixRate = mix_rate;
149
+ this.freestyleFlag = freestyle_flag;
150
+ }
151
+ /**
152
+ * 自由造型券 使用狀態
153
+ */
154
+ get isFreestyleFlag() {
155
+ return this.freestyleFlag === '1';
145
156
  }
146
157
  }
147
158
  /**
@@ -164,13 +175,24 @@ class CharacterAndroidEquipmentHairDto extends characterAndroidEquipment.Charact
164
175
  * 機器人髮型混染顏色比例
165
176
  */
166
177
  mixRate;
178
+ /**
179
+ * 自由造型券 使用狀態(0:未使用,1:已使用)
180
+ */
181
+ freestyleFlag;
167
182
  constructor(obj) {
168
183
  super();
169
- const { hair_name, base_color, mix_color, mix_rate } = obj;
184
+ const { hair_name, base_color, mix_color, mix_rate, freestyle_flag } = obj;
170
185
  this.hairName = hair_name;
171
186
  this.baseColor = base_color;
172
187
  this.mixColor = mix_color;
173
188
  this.mixRate = mix_rate;
189
+ this.freestyleFlag = freestyle_flag;
190
+ }
191
+ /**
192
+ * 自由造型券 使用狀態
193
+ */
194
+ get isFreestyleFlag() {
195
+ return this.freestyleFlag === '1';
174
196
  }
175
197
  }
176
198
  /**
@@ -383,9 +405,13 @@ class CharacterAndroidCashItemEquipmentDto extends characterAndroidEquipment.Cha
383
405
  * 道具可裝備性別
384
406
  */
385
407
  androidItemGender;
408
+ /**
409
+ * 自由造型券 使用狀態(0:未使用,1:已使用)
410
+ */
411
+ freestyleFlag;
386
412
  constructor(obj) {
387
413
  super();
388
- const { cash_item_equipment_part, cash_item_equipment_slot, cash_item_name, cash_item_icon, cash_item_description, cash_item_option, date_expire, date_option_expire, cash_item_label, cash_item_coloring_prism, android_item_gender, } = obj;
414
+ const { cash_item_equipment_part, cash_item_equipment_slot, cash_item_name, cash_item_icon, cash_item_description, cash_item_option, date_expire, date_option_expire, cash_item_label, cash_item_coloring_prism, android_item_gender, freestyle_flag, } = obj;
389
415
  this.cashItemEquipmentPart = cash_item_equipment_part;
390
416
  this.cashItemEquipmentSlot = cash_item_equipment_slot;
391
417
  this.cashItemName = cash_item_name;
@@ -397,6 +423,7 @@ class CharacterAndroidCashItemEquipmentDto extends characterAndroidEquipment.Cha
397
423
  ? new CharacterAndroidCashItemEquipmentColoringPrismDto(cash_item_coloring_prism)
398
424
  : null;
399
425
  this.androidItemGender = android_item_gender;
426
+ this.freestyleFlag = freestyle_flag;
400
427
  if (date_expire === 'expired') {
401
428
  this.isExpired = true;
402
429
  }
@@ -412,6 +439,12 @@ class CharacterAndroidCashItemEquipmentDto extends characterAndroidEquipment.Cha
412
439
  : null;
413
440
  }
414
441
  }
442
+ /**
443
+ * 自由造型券 使用狀態
444
+ */
445
+ get isFreestyleFlag() {
446
+ return this.freestyleFlag === '1';
447
+ }
415
448
  }
416
449
 
417
450
  exports.CharacterAndroidCashItemEquipmentColoringPrismDto = CharacterAndroidCashItemEquipmentColoringPrismDto;
@@ -62,7 +62,7 @@ class CharacterBasicDto extends characterBasic.CharacterBasicDto {
62
62
  */
63
63
  accessFlag;
64
64
  /**
65
- * 解放任務完成狀態 (0:未完成,1:創世武器已解放)
65
+ * 解放任務完成狀態 (0:未完成,1:創世武器已解放, 2:命運武器第一階段解放)
66
66
  */
67
67
  liberationQuestClear;
68
68
  constructor(obj) {
@@ -93,13 +93,24 @@ class CharacterBeautyEquipmentFaceDto extends characterBeautyEquipment.Character
93
93
  * 臉型混染顏色比例
94
94
  */
95
95
  mixRate;
96
+ /**
97
+ * 自由造型券 使用狀態(0:未使用,1:已使用)
98
+ */
99
+ freestyleFlag;
96
100
  constructor(obj) {
97
101
  super();
98
- const { face_name, base_color, mix_color, mix_rate } = obj;
102
+ const { face_name, base_color, mix_color, mix_rate, freestyle_flag } = obj;
99
103
  this.faceName = face_name;
100
104
  this.baseColor = base_color;
101
105
  this.mixColor = mix_color;
102
106
  this.mixRate = mix_rate;
107
+ this.freestyleFlag = freestyle_flag;
108
+ }
109
+ /**
110
+ * 自由造型券 使用狀態
111
+ */
112
+ get isFreestyleFlag() {
113
+ return this.freestyleFlag === '1';
103
114
  }
104
115
  }
105
116
  /**
@@ -122,13 +133,24 @@ class CharacterBeautyEquipmentHairDto extends characterBeautyEquipment.Character
122
133
  * 髮型混染顏色比例
123
134
  */
124
135
  mixRate;
136
+ /**
137
+ * 自由造型券 使用狀態(0:未使用,1:已使用)
138
+ */
139
+ freestyleFlag;
125
140
  constructor(obj) {
126
141
  super();
127
- const { hair_name, base_color, mix_color, mix_rate } = obj;
142
+ const { hair_name, base_color, mix_color, mix_rate, freestyle_flag } = obj;
128
143
  this.hairName = hair_name;
129
144
  this.baseColor = base_color;
130
145
  this.mixColor = mix_color;
131
146
  this.mixRate = mix_rate;
147
+ this.freestyleFlag = freestyle_flag;
148
+ }
149
+ /**
150
+ * 自由造型券 使用狀態
151
+ */
152
+ get isFreestyleFlag() {
153
+ return this.freestyleFlag === '1';
132
154
  }
133
155
  }
134
156
  /**
@@ -190,9 +190,13 @@ class CharacterCashItemEquipmentPresetDto extends characterCashItemEquipment.Cha
190
190
  * 技能名稱
191
191
  */
192
192
  skills;
193
+ /**
194
+ * 自由造型券 使用狀態(0:未使用,1:已使用)
195
+ */
196
+ freestyleFlag;
193
197
  constructor(obj) {
194
198
  super();
195
- const { cash_item_equipment_part, cash_item_equipment_slot, cash_item_name, cash_item_icon, cash_item_description, cash_item_option, date_expire, date_option_expire, cash_item_label, cash_item_coloring_prism, item_gender, skills, } = obj;
199
+ const { cash_item_equipment_part, cash_item_equipment_slot, cash_item_name, cash_item_icon, cash_item_description, cash_item_option, date_expire, date_option_expire, cash_item_label, cash_item_coloring_prism, item_gender, skills, freestyle_flag, } = obj;
196
200
  this.cashItemEquipmentPart = cash_item_equipment_part;
197
201
  this.cashItemEquipmentSlot = cash_item_equipment_slot;
198
202
  this.cashItemName = cash_item_name;
@@ -205,6 +209,7 @@ class CharacterCashItemEquipmentPresetDto extends characterCashItemEquipment.Cha
205
209
  : null;
206
210
  this.itemGender = item_gender;
207
211
  this.skills = skills;
212
+ this.freestyleFlag = freestyle_flag;
208
213
  if (date_expire === 'expired') {
209
214
  this.isExpired = true;
210
215
  }
@@ -220,6 +225,12 @@ class CharacterCashItemEquipmentPresetDto extends characterCashItemEquipment.Cha
220
225
  : null;
221
226
  }
222
227
  }
228
+ /**
229
+ * 自由造型券 使用狀態
230
+ */
231
+ get isFreestyleFlag() {
232
+ return this.freestyleFlag === '1';
233
+ }
223
234
  }
224
235
 
225
236
  exports.CharacterCashItemEquipmentColoringPrismDto = CharacterCashItemEquipmentColoringPrismDto;
@@ -44,6 +44,10 @@ class CharacterItemEquipmentDto extends characterItemEquipment.CharacterItemEqui
44
44
  * 稱號資訊
45
45
  */
46
46
  title;
47
+ /**
48
+ * 外型設定中已登錄勳章的外型資訊
49
+ */
50
+ medalShape;
47
51
  /**
48
52
  * 龍魔導士的龍道具資訊 (僅在龍魔導士時回應)
49
53
  */
@@ -54,7 +58,7 @@ class CharacterItemEquipmentDto extends characterItemEquipment.CharacterItemEqui
54
58
  mechanicEquipment;
55
59
  constructor(obj) {
56
60
  super();
57
- const { date, character_gender, character_class, preset_no, item_equipment, item_equipment_preset_1, item_equipment_preset_2, item_equipment_preset_3, title, dragon_equipment, mechanic_equipment, } = obj;
61
+ const { date, character_gender, character_class, preset_no, item_equipment, item_equipment_preset_1, item_equipment_preset_2, item_equipment_preset_3, title, medal_shape, dragon_equipment, mechanic_equipment, } = obj;
58
62
  this.date = date ? new Date(date) : null;
59
63
  this.characterGender = character_gender;
60
64
  this.characterClass = character_class;
@@ -67,6 +71,9 @@ class CharacterItemEquipmentDto extends characterItemEquipment.CharacterItemEqui
67
71
  this.itemEquipmentPreset3 =
68
72
  item_equipment_preset_3?.map((equipment) => new CharacterItemEquipmentInfoDto(equipment)) ?? [];
69
73
  this.title = title ? new CharacterItemEquipmentTitleDto(title) : null;
74
+ this.medalShape = medal_shape
75
+ ? new CharacterItemEquipmentMedalShapeDto(medal_shape)
76
+ : null;
70
77
  this.dragonEquipment = dragon_equipment.map((equipment) => new CharacterItemEquipmentDragonInfoDto(equipment));
71
78
  this.mechanicEquipment = mechanic_equipment.map((equipment) => new CharacterItemEquipmentMechanicInfoDto(equipment));
72
79
  }
@@ -140,6 +147,45 @@ class CharacterItemEquipmentTitleDto extends characterItemEquipment.CharacterIte
140
147
  }
141
148
  }
142
149
  }
150
+ /**
151
+ * 外型設定中已登錄勳章的外型資訊
152
+ */
153
+ class CharacterItemEquipmentMedalShapeDto extends characterItemEquipment.CharacterItemEquipmentMedalShapeDto {
154
+ /**
155
+ * 外型設定中已登錄勳章的道具名稱
156
+ */
157
+ medalShapeName;
158
+ /**
159
+ * 外型設定中已登錄勳章的圖示
160
+ */
161
+ medalShapeIcon;
162
+ /**
163
+ * 外型設定中已登錄勳章的描述
164
+ */
165
+ medalShapeDescription;
166
+ /**
167
+ * 外型設定中已登錄勳章的鐵砧套用道具名稱
168
+ */
169
+ medalShapeChangedName;
170
+ /**
171
+ * 外型設定中已登錄勳章的鐵砧套用圖示
172
+ */
173
+ medalShapeChangedIcon;
174
+ /**
175
+ * 外型設定中已登錄勳章的鐵砧套用勳章說明
176
+ */
177
+ medalShapeChangedDescription;
178
+ constructor(obj) {
179
+ super();
180
+ const { medal_shape_name, medal_shape_icon, medal_shape_description, medal_shape_changed_name, medal_shape_changed_icon, medal_shape_changed_description, } = obj;
181
+ this.medalShapeName = medal_shape_name;
182
+ this.medalShapeIcon = medal_shape_icon;
183
+ this.medalShapeDescription = medal_shape_description;
184
+ this.medalShapeChangedName = medal_shape_changed_name;
185
+ this.medalShapeChangedIcon = medal_shape_changed_icon;
186
+ this.medalShapeChangedDescription = medal_shape_changed_description;
187
+ }
188
+ }
143
189
  /**
144
190
  * 附加道具選項
145
191
  */
@@ -719,9 +765,13 @@ class CharacterItemEquipmentDragonInfoDto extends characterItemEquipment.Charact
719
765
  * Whether the equipment is expired
720
766
  */
721
767
  isExpired = null;
768
+ /**
769
+ * 自由造型券 使用狀態(0:未使用,1:已使用)
770
+ */
771
+ freestyleFlag;
722
772
  constructor(obj) {
723
773
  super();
724
- const { item_equipment_part, item_equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, equipment_level_increase, item_exceptional_option, item_add_option, growth_exp, growth_level, scroll_upgrade, cuttable_count, golden_hammer_flag, scroll_resilience_count, scroll_upgradeable_count, soul_name, soul_option, item_etc_option, starforce, starforce_scroll_flag, item_starforce_option, special_ring_level, date_expire, } = obj;
774
+ const { item_equipment_part, item_equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, equipment_level_increase, item_exceptional_option, item_add_option, growth_exp, growth_level, scroll_upgrade, cuttable_count, golden_hammer_flag, scroll_resilience_count, scroll_upgradeable_count, soul_name, soul_option, item_etc_option, starforce, starforce_scroll_flag, item_starforce_option, special_ring_level, date_expire, freestyle_flag, } = obj;
725
775
  this.itemEquipmentPart = item_equipment_part;
726
776
  this.itemEquipmentSlot = item_equipment_slot;
727
777
  this.itemName = item_name;
@@ -749,6 +799,7 @@ class CharacterItemEquipmentDragonInfoDto extends characterItemEquipment.Charact
749
799
  this.starforceScrollFlag = starforce_scroll_flag;
750
800
  this.itemStarforceOption = new CharacterItemEquipmentStarforceOptionDto(item_starforce_option);
751
801
  this.specialRingLevel = special_ring_level;
802
+ this.freestyleFlag = freestyle_flag;
752
803
  if (date_expire === 'expired') {
753
804
  this.isExpired = true;
754
805
  }
@@ -756,6 +807,12 @@ class CharacterItemEquipmentDragonInfoDto extends characterItemEquipment.Charact
756
807
  this.dateExpire = date_expire ? new Date(date_expire) : null;
757
808
  }
758
809
  }
810
+ /**
811
+ * 自由造型券 使用狀態
812
+ */
813
+ get isFreestyleFlag() {
814
+ return this.freestyleFlag === '1';
815
+ }
759
816
  }
760
817
  /**
761
818
  * 機甲戰神道具資訊
@@ -877,9 +934,13 @@ class CharacterItemEquipmentMechanicInfoDto extends characterItemEquipment.Chara
877
934
  * Whether the equipment is expired
878
935
  */
879
936
  isExpired = null;
937
+ /**
938
+ * 自由造型券 使用狀態(0:未使用,1:已使用)
939
+ */
940
+ freestyleFlag;
880
941
  constructor(obj) {
881
942
  super();
882
- const { item_equipment_part, item_equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, equipment_level_increase, item_exceptional_option, item_add_option, growth_exp, growth_level, scroll_upgrade, cuttable_count, golden_hammer_flag, scroll_resilience_count, scroll_upgradeable_count, soul_name, soul_option, item_etc_option, starforce, starforce_scroll_flag, item_starforce_option, special_ring_level, date_expire, } = obj;
943
+ const { item_equipment_part, item_equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, equipment_level_increase, item_exceptional_option, item_add_option, growth_exp, growth_level, scroll_upgrade, cuttable_count, golden_hammer_flag, scroll_resilience_count, scroll_upgradeable_count, soul_name, soul_option, item_etc_option, starforce, starforce_scroll_flag, item_starforce_option, special_ring_level, date_expire, freestyle_flag, } = obj;
883
944
  this.itemEquipmentPart = item_equipment_part;
884
945
  this.itemEquipmentSlot = item_equipment_slot;
885
946
  this.itemName = item_name;
@@ -907,6 +968,7 @@ class CharacterItemEquipmentMechanicInfoDto extends characterItemEquipment.Chara
907
968
  this.starforceScrollFlag = starforce_scroll_flag;
908
969
  this.itemStarforceOption = new CharacterItemEquipmentStarforceOptionDto(item_starforce_option);
909
970
  this.specialRingLevel = special_ring_level;
971
+ this.freestyleFlag = freestyle_flag;
910
972
  if (date_expire === 'expired') {
911
973
  this.isExpired = true;
912
974
  }
@@ -914,6 +976,12 @@ class CharacterItemEquipmentMechanicInfoDto extends characterItemEquipment.Chara
914
976
  this.dateExpire = date_expire ? new Date(date_expire) : null;
915
977
  }
916
978
  }
979
+ /**
980
+ * 自由造型券 使用狀態
981
+ */
982
+ get isFreestyleFlag() {
983
+ return this.freestyleFlag === '1';
984
+ }
917
985
  }
918
986
  /**
919
987
  * 道具資訊
@@ -1075,9 +1143,13 @@ class CharacterItemEquipmentInfoDto extends characterItemEquipment.CharacterItem
1075
1143
  * Whether the equipment is expired
1076
1144
  */
1077
1145
  isExpired = null;
1146
+ /**
1147
+ * 自由造型券 使用狀態(0:未使用,1:已使用)
1148
+ */
1149
+ freestyleFlag;
1078
1150
  constructor(obj) {
1079
1151
  super();
1080
- const { item_equipment_part, item_equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, potential_option_flag, additional_potential_option_flag, potential_option_grade, additional_potential_option_grade, potential_option_1, potential_option_2, potential_option_3, additional_potential_option_1, additional_potential_option_2, additional_potential_option_3, equipment_level_increase, item_exceptional_option, item_add_option, growth_exp, growth_level, scroll_upgrade, cuttable_count, golden_hammer_flag, scroll_resilience_count, scroll_upgradeable_count, soul_name, soul_option, item_etc_option, starforce, starforce_scroll_flag, item_starforce_option, special_ring_level, date_expire, } = obj;
1152
+ const { item_equipment_part, item_equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, potential_option_flag, additional_potential_option_flag, potential_option_grade, additional_potential_option_grade, potential_option_1, potential_option_2, potential_option_3, additional_potential_option_1, additional_potential_option_2, additional_potential_option_3, equipment_level_increase, item_exceptional_option, item_add_option, growth_exp, growth_level, scroll_upgrade, cuttable_count, golden_hammer_flag, scroll_resilience_count, scroll_upgradeable_count, soul_name, soul_option, item_etc_option, starforce, starforce_scroll_flag, item_starforce_option, special_ring_level, date_expire, freestyle_flag, } = obj;
1081
1153
  this.itemEquipmentPart = item_equipment_part;
1082
1154
  this.itemEquipmentSlot = item_equipment_slot;
1083
1155
  this.itemName = item_name;
@@ -1115,6 +1187,7 @@ class CharacterItemEquipmentInfoDto extends characterItemEquipment.CharacterItem
1115
1187
  this.starforceScrollFlag = starforce_scroll_flag;
1116
1188
  this.itemStarforceOption = new CharacterItemEquipmentStarforceOptionDto(item_starforce_option);
1117
1189
  this.specialRingLevel = special_ring_level;
1190
+ this.freestyleFlag = freestyle_flag;
1118
1191
  if (date_expire === 'expired') {
1119
1192
  this.isExpired = true;
1120
1193
  }
@@ -1122,6 +1195,12 @@ class CharacterItemEquipmentInfoDto extends characterItemEquipment.CharacterItem
1122
1195
  this.dateExpire = date_expire ? new Date(date_expire) : null;
1123
1196
  }
1124
1197
  }
1198
+ /**
1199
+ * 自由造型券 使用狀態
1200
+ */
1201
+ get isFreestyleFlag() {
1202
+ return this.freestyleFlag === '1';
1203
+ }
1125
1204
  }
1126
1205
 
1127
1206
  exports.CharacterItemEquipmentAddOptionDto = CharacterItemEquipmentAddOptionDto;
@@ -1132,6 +1211,7 @@ exports.CharacterItemEquipmentEtcOptionDto = CharacterItemEquipmentEtcOptionDto;
1132
1211
  exports.CharacterItemEquipmentExceptionalOptionDto = CharacterItemEquipmentExceptionalOptionDto;
1133
1212
  exports.CharacterItemEquipmentInfoDto = CharacterItemEquipmentInfoDto;
1134
1213
  exports.CharacterItemEquipmentMechanicInfoDto = CharacterItemEquipmentMechanicInfoDto;
1214
+ exports.CharacterItemEquipmentMedalShapeDto = CharacterItemEquipmentMedalShapeDto;
1135
1215
  exports.CharacterItemEquipmentStarforceOptionDto = CharacterItemEquipmentStarforceOptionDto;
1136
1216
  exports.CharacterItemEquipmentTitleDto = CharacterItemEquipmentTitleDto;
1137
1217
  exports.CharacterItemEquipmentTotalOptionDto = CharacterItemEquipmentTotalOptionDto;
@@ -0,0 +1,79 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var unionChampion = require('../../../common/dto/union/unionChampion.js');
6
+
7
+ /**
8
+ * 聯盟冠軍資訊
9
+ */
10
+ class UnionChampionDto extends unionChampion.UnionChampionDto {
11
+ date;
12
+ /**
13
+ * 聯盟冠軍資訊
14
+ */
15
+ unionChampion;
16
+ /**
17
+ * 冠軍徽章效果
18
+ */
19
+ championBadgeTotalInfo;
20
+ constructor(obj) {
21
+ super();
22
+ const { date, union_champion, champion_badge_total_info } = obj;
23
+ this.date = date ? new Date(date) : null;
24
+ this.unionChampion = union_champion.map((info) => new UnionChampionInfoDto(info));
25
+ this.championBadgeTotalInfo = champion_badge_total_info.map((info) => new UnionChampionBadgeInfoDto(info));
26
+ }
27
+ }
28
+ /**
29
+ * 聯盟冠軍徽章資訊
30
+ */
31
+ class UnionChampionBadgeInfoDto extends unionChampion.UnionChampionBadgeInfoDto {
32
+ /**
33
+ * 聯盟冠軍徽章資訊
34
+ */
35
+ stat;
36
+ constructor(obj) {
37
+ super();
38
+ const { stat } = obj;
39
+ this.stat = stat;
40
+ }
41
+ }
42
+ /**
43
+ * 聯盟冠軍資訊
44
+ */
45
+ class UnionChampionInfoDto extends unionChampion.UnionChampionInfoDto {
46
+ /**
47
+ * 聯盟冠軍角色名稱
48
+ */
49
+ championName;
50
+ /**
51
+ * 聯盟冠軍欄位
52
+ */
53
+ championSlot;
54
+ /**
55
+ * 聯盟冠軍等級
56
+ */
57
+ championGrade;
58
+ /**
59
+ * 聯盟冠軍角色職業
60
+ */
61
+ championClass;
62
+ /**
63
+ * 聯盟冠軍徽章資訊
64
+ */
65
+ championBadgeInfo;
66
+ constructor(obj) {
67
+ super();
68
+ const { champion_name, champion_slot, champion_grade, champion_class, champion_badge_info, } = obj;
69
+ this.championName = champion_name;
70
+ this.championSlot = champion_slot;
71
+ this.championGrade = champion_grade;
72
+ this.championClass = champion_class;
73
+ this.championBadgeInfo = champion_badge_info.map((info) => new UnionChampionBadgeInfoDto(info));
74
+ }
75
+ }
76
+
77
+ exports.UnionChampionBadgeInfoDto = UnionChampionBadgeInfoDto;
78
+ exports.UnionChampionDto = UnionChampionDto;
79
+ exports.UnionChampionInfoDto = UnionChampionInfoDto;
@@ -29,6 +29,7 @@ var guild = require('./dto/guild/guild.js');
29
29
  var guildBasic = require('./dto/guild/guildBasic.js');
30
30
  var union = require('./dto/union/union.js');
31
31
  var unionArtifact = require('./dto/union/unionArtifact.js');
32
+ var unionChampion = require('./dto/union/unionChampion.js');
32
33
  var unionRaider = require('./dto/union/unionRaider.js');
33
34
  var characterImage = require('../common/enum/characterImage.js');
34
35
  var mapleStoryApi = require('../common/mapleStoryApi.js');
@@ -819,6 +820,37 @@ class MapleStoryApi extends mapleStoryApi.MapleStoryApi {
819
820
  }
820
821
  return new unionArtifact.UnionArtifactDto(data);
821
822
  }
823
+ /**
824
+ * 查詢聯盟冠軍資訊。
825
+ * - 楓之谷遊戲資料平均在 15 分鐘後即可使用。
826
+ * - 您可以從 2025 年 12 月 18 日起搜尋資料。
827
+ * - 您可以輸入所需日期以搜尋過往資料。前一日的資料將於翌日凌晨 2:00 起提供。(當您搜尋 10 月 15 日的資料時,將會擷取從 15 日 00:00 到 16 日 00:00 的資料。)
828
+ * - 由於遊戲內容變動,OCID 可能會有所變更。在更新以 OCID 為基礎的服務時,請務必留意。
829
+ * - 此 API 提供來自楓之谷台灣的資料。
830
+ * @param ocid 角色辨識器
831
+ * @param dateOptions 要搜尋的日期 (TST)
832
+ */
833
+ async getUnionChampion(ocid, dateOptions) {
834
+ const path = `${this.subUrl}/v1/user/union-champion`;
835
+ const date = dateOptions
836
+ ? this.toDateString(dateOptions, {
837
+ year: 2025,
838
+ month: 12,
839
+ day: 18,
840
+ })
841
+ : undefined;
842
+ const query = {
843
+ ocid: ocid,
844
+ date: date,
845
+ };
846
+ const { data } = await this.client.get(path, {
847
+ params: query,
848
+ });
849
+ if (this.isEmptyResponse(data)) {
850
+ return null;
851
+ }
852
+ return new unionChampion.UnionChampionDto(data);
853
+ }
822
854
  //#endregion
823
855
  //#region 檢視公會資訊
824
856
  /**
@@ -28,6 +28,7 @@ var guild = require('./dto/guild/guild.js');
28
28
  var guildBasic = require('./dto/guild/guildBasic.js');
29
29
  var union = require('./dto/union/union.js');
30
30
  var unionArtifact = require('./dto/union/unionArtifact.js');
31
+ var unionChampion = require('./dto/union/unionChampion.js');
31
32
  var unionRaider = require('./dto/union/unionRaider.js');
32
33
 
33
34
 
@@ -71,6 +72,7 @@ exports.CharacterItemEquipmentEtcOptionDto = characterItemEquipment.CharacterIte
71
72
  exports.CharacterItemEquipmentExceptionalOptionDto = characterItemEquipment.CharacterItemEquipmentExceptionalOptionDto;
72
73
  exports.CharacterItemEquipmentInfoDto = characterItemEquipment.CharacterItemEquipmentInfoDto;
73
74
  exports.CharacterItemEquipmentMechanicInfoDto = characterItemEquipment.CharacterItemEquipmentMechanicInfoDto;
75
+ exports.CharacterItemEquipmentMedalShapeDto = characterItemEquipment.CharacterItemEquipmentMedalShapeDto;
74
76
  exports.CharacterItemEquipmentStarforceOptionDto = characterItemEquipment.CharacterItemEquipmentStarforceOptionDto;
75
77
  exports.CharacterItemEquipmentTitleDto = characterItemEquipment.CharacterItemEquipmentTitleDto;
76
78
  exports.CharacterItemEquipmentTotalOptionDto = characterItemEquipment.CharacterItemEquipmentTotalOptionDto;
@@ -101,6 +103,9 @@ exports.UnionDto = union.UnionDto;
101
103
  exports.UnionArtifactCrystalDto = unionArtifact.UnionArtifactCrystalDto;
102
104
  exports.UnionArtifactDto = unionArtifact.UnionArtifactDto;
103
105
  exports.UnionArtifactEffectDto = unionArtifact.UnionArtifactEffectDto;
106
+ exports.UnionChampionBadgeInfoDto = unionChampion.UnionChampionBadgeInfoDto;
107
+ exports.UnionChampionDto = unionChampion.UnionChampionDto;
108
+ exports.UnionChampionInfoDto = unionChampion.UnionChampionInfoDto;
104
109
  exports.UnionRaiderBlockControlPointDto = unionRaider.UnionRaiderBlockControlPointDto;
105
110
  exports.UnionRaiderBlockDto = unionRaider.UnionRaiderBlockDto;
106
111
  exports.UnionRaiderBlockPositionDto = unionRaider.UnionRaiderBlockPositionDto;
package/dist/esm/index.js CHANGED
@@ -13,7 +13,7 @@ export { CharacterHexaMatrixDto, CharacterHexaMatrixEquipmentDto, CharacterHexaM
13
13
  export { CharacterHexaMatrixStatCoreDto, CharacterHexaMatrixStatDto } from './maplestory/api/common/dto/character/characterHexaMatrixStat.js';
14
14
  export { CharacterHyperStatDto, CharacterHyperStatPresetDto } from './maplestory/api/common/dto/character/characterHyperStat.js';
15
15
  export { CharacterImageDto } from './maplestory/api/common/dto/character/characterImage.js';
16
- export { CharacterItemEquipmentAddOptionDto, CharacterItemEquipmentBaseOptionDto, CharacterItemEquipmentDragonInfoDto, CharacterItemEquipmentDto, CharacterItemEquipmentEtcOptionDto, CharacterItemEquipmentExceptionalOptionDto, CharacterItemEquipmentInfoDto, CharacterItemEquipmentMechanicInfoDto, CharacterItemEquipmentStarforceOptionDto, CharacterItemEquipmentTitleDto, CharacterItemEquipmentTotalOptionDto } from './maplestory/api/common/dto/character/characterItemEquipment.js';
16
+ export { CharacterItemEquipmentAddOptionDto, CharacterItemEquipmentBaseOptionDto, CharacterItemEquipmentDragonInfoDto, CharacterItemEquipmentDto, CharacterItemEquipmentEtcOptionDto, CharacterItemEquipmentExceptionalOptionDto, CharacterItemEquipmentInfoDto, CharacterItemEquipmentMechanicInfoDto, CharacterItemEquipmentMedalShapeDto, CharacterItemEquipmentStarforceOptionDto, CharacterItemEquipmentTitleDto, CharacterItemEquipmentTotalOptionDto } from './maplestory/api/common/dto/character/characterItemEquipment.js';
17
17
  export { CharacterLinkSkillDto, CharacterLinkSkillInfoDto } from './maplestory/api/common/dto/character/characterLinkSkill.js';
18
18
  export { CharacterPetEquipmentAutoSkillDto, CharacterPetEquipmentDto, CharacterPetEquipmentItemDto, CharacterPetEquipmentItemOptionDto } from './maplestory/api/common/dto/character/characterPetEquipment.js';
19
19
  export { CharacterPopularityDto } from './maplestory/api/common/dto/character/characterPopularity.js';
@@ -27,4 +27,5 @@ export { GuildDto } from './maplestory/api/common/dto/guild/guild.js';
27
27
  export { GuildBasicDto, GuildSkillDto } from './maplestory/api/common/dto/guild/guildBasic.js';
28
28
  export { UnionDto } from './maplestory/api/common/dto/union/union.js';
29
29
  export { UnionArtifactCrystalDto, UnionArtifactDto, UnionArtifactEffectDto } from './maplestory/api/common/dto/union/unionArtifact.js';
30
+ export { UnionChampionBadgeInfoDto, UnionChampionDto, UnionChampionInfoDto } from './maplestory/api/common/dto/union/unionChampion.js';
30
31
  export { UnionRaiderBlockControlPointDto, UnionRaiderBlockDto, UnionRaiderBlockPositionDto, UnionRaiderDto, UnionRaiderInnerStatDto, UnionRaiderPresetDto } from './maplestory/api/common/dto/union/unionRaider.js';
@@ -14,6 +14,8 @@ class CharacterItemEquipmentStarforceOptionDto {
14
14
  }
15
15
  class CharacterItemEquipmentTotalOptionDto {
16
16
  }
17
+ class CharacterItemEquipmentMedalShapeDto {
18
+ }
17
19
  class CharacterItemEquipmentDragonInfoDto {
18
20
  }
19
21
  class CharacterItemEquipmentMechanicInfoDto {
@@ -21,4 +23,4 @@ class CharacterItemEquipmentMechanicInfoDto {
21
23
  class CharacterItemEquipmentInfoDto {
22
24
  }
23
25
 
24
- export { CharacterItemEquipmentAddOptionDto, CharacterItemEquipmentBaseOptionDto, CharacterItemEquipmentDragonInfoDto, CharacterItemEquipmentDto, CharacterItemEquipmentEtcOptionDto, CharacterItemEquipmentExceptionalOptionDto, CharacterItemEquipmentInfoDto, CharacterItemEquipmentMechanicInfoDto, CharacterItemEquipmentStarforceOptionDto, CharacterItemEquipmentTitleDto, CharacterItemEquipmentTotalOptionDto };
26
+ export { CharacterItemEquipmentAddOptionDto, CharacterItemEquipmentBaseOptionDto, CharacterItemEquipmentDragonInfoDto, CharacterItemEquipmentDto, CharacterItemEquipmentEtcOptionDto, CharacterItemEquipmentExceptionalOptionDto, CharacterItemEquipmentInfoDto, CharacterItemEquipmentMechanicInfoDto, CharacterItemEquipmentMedalShapeDto, CharacterItemEquipmentStarforceOptionDto, CharacterItemEquipmentTitleDto, CharacterItemEquipmentTotalOptionDto };
@@ -0,0 +1,8 @@
1
+ class UnionChampionDto {
2
+ }
3
+ class UnionChampionBadgeInfoDto {
4
+ }
5
+ class UnionChampionInfoDto {
6
+ }
7
+
8
+ export { UnionChampionBadgeInfoDto, UnionChampionDto, UnionChampionInfoDto };