maplestory-openapi 2.3.2 → 2.4.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 (32) hide show
  1. package/README.md +1 -1
  2. package/dist/index.js +1068 -469
  3. package/dist/index.min.js +1 -1
  4. package/dist/index.mjs +1061 -470
  5. package/package.json +1 -1
  6. package/types/index.d.ts +8 -0
  7. package/types/maplestory/api/dto/character/characterAbilityDto.d.ts +17 -0
  8. package/types/maplestory/api/dto/character/characterAbilityInfoDto.d.ts +9 -0
  9. package/types/maplestory/api/dto/character/characterAbilityPresetDto.d.ts +17 -0
  10. package/types/maplestory/api/dto/character/characterAndroidEquipmentDto.d.ts +33 -0
  11. package/types/maplestory/api/dto/character/characterAndroidEquipmentPresetDto.d.ts +58 -0
  12. package/types/maplestory/api/dto/character/characterCashItemEquipmentDto.d.ts +14 -6
  13. package/types/maplestory/api/dto/character/characterCashItemEquipmentPresetDto.d.ts +2 -2
  14. package/types/maplestory/api/dto/character/characterItemEquipmentDto.d.ts +17 -1
  15. package/types/maplestory/api/dto/character/characterLinkSkillDto.d.ts +25 -1
  16. package/types/maplestory/api/dto/character/characterPetEquipmentDto.d.ts +51 -21
  17. package/types/maplestory/api/dto/character/characterPetEquipmentItemDto.d.ts +9 -1
  18. package/types/maplestory/api/dto/history/potentialHistoryDto.d.ts +82 -0
  19. package/types/maplestory/api/dto/history/potentialHistoryResponseDto.d.ts +21 -0
  20. package/types/maplestory/api/dto/history/potentialResultOptionDto.d.ts +18 -0
  21. package/types/maplestory/api/dto/union/unionArtifactCrystalDto.d.ts +36 -0
  22. package/types/maplestory/api/dto/union/unionArtifactDto.d.ts +26 -0
  23. package/types/maplestory/api/dto/union/unionArtifactEffectDto.d.ts +16 -0
  24. package/types/maplestory/api/mapleStoryApi.d.ts +49 -8
  25. package/types/maplestory/api/response/character/characterAbilityDtoBody.d.ts +9 -1
  26. package/types/maplestory/api/response/character/characterAndroidEquipmentDtoBody.d.ts +23 -1
  27. package/types/maplestory/api/response/character/characterCashItemEquipmentDtoBody.d.ts +3 -1
  28. package/types/maplestory/api/response/character/characterItemEquipmentDtoBody.d.ts +4 -0
  29. package/types/maplestory/api/response/character/characterLinkSkillDtoBody.d.ts +7 -1
  30. package/types/maplestory/api/response/character/characterPetEquipmentDtoBody.d.ts +30 -22
  31. package/types/maplestory/api/response/history/potentialHistoryResponseDtoBody.d.ts +29 -0
  32. package/types/maplestory/api/response/union/unionArtifactDtoBody.d.ts +20 -0
package/dist/index.mjs CHANGED
@@ -21,80 +21,45 @@ var utc$1 = {exports: {}};
21
21
  var utc = utc$1.exports;
22
22
 
23
23
  /**
24
- * 업적 랭킹 정보
24
+ * 캐릭터 어빌리티 상세 정보
25
25
  */
26
- class AchievementRankingDto {
27
- /**
28
- * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
29
- */
30
- date;
31
- /**
32
- * 업적 랭킹 순위
33
- */
34
- ranking;
35
- /**
36
- * 캐릭터 명
37
- */
38
- characterName;
39
- /**
40
- * 월드 명
41
- */
42
- worldName;
43
- /**
44
- * 직업 명
45
- */
46
- className;
26
+ class CharacterAbilityInfoDto {
47
27
  /**
48
- * 전직 직업 명
28
+ * 어빌리티 번호
49
29
  */
50
- subClassName;
30
+ abilityNo;
51
31
  /**
52
- * 업적 등급
32
+ * 어빌리티 등급
53
33
  */
54
- trophyGrade;
34
+ abilityGrade;
55
35
  /**
56
- * 업적 점수
36
+ * 어빌리티 옵션 및 수치
57
37
  */
58
- trophyScore;
38
+ abilityValue;
59
39
  constructor(obj) {
60
- const { date, ranking, character_name, world_name, class_name, sub_class_name, trophy_grade, trophy_score, } = obj;
61
- this.date = new Date(date);
62
- this.ranking = ranking;
63
- this.characterName = character_name;
64
- this.worldName = world_name;
65
- this.className = class_name;
66
- this.subClassName = sub_class_name;
67
- this.trophyGrade = trophy_grade;
68
- this.trophyScore = trophy_score;
40
+ const { ability_no, ability_grade, ability_value } = obj;
41
+ this.abilityNo = ability_no;
42
+ this.abilityGrade = ability_grade;
43
+ this.abilityValue = ability_value;
69
44
  }
70
45
  }
71
46
 
72
47
  /**
73
- * 업적 랭킹 응답 정보
48
+ * 캐릭터 어빌리티 프리셋 정보
74
49
  */
75
- class AchievementRankingResponseDto {
50
+ class CharacterAbilityPresetDto {
76
51
  /**
77
- * 업적 랭킹 정보
52
+ * 프리셋의 어빌리티 등급
78
53
  */
79
- ranking;
80
- constructor(obj) {
81
- const { ranking } = obj;
82
- this.ranking = ranking.map((rank) => new AchievementRankingDto(rank));
83
- }
84
- }
85
-
86
- /**
87
- * 캐릭터 어빌리티 상세 정보
88
- */
89
- class CharacterAbilityInfoDto {
90
- abilityNo;
91
- abilityGrade;
92
- abilityValue;
54
+ abilityPresetGrade;
55
+ /**
56
+ * 프리셋의 어빌리티 정보
57
+ */
58
+ abilityInfo;
93
59
  constructor(obj) {
94
- const { ability_no, ability_grade, ability_value } = obj;
95
- this.abilityNo = ability_no;
96
- this.abilityGrade = ability_grade;
97
- this.abilityValue = ability_value;
60
+ const { ability_preset_grade, ability_info } = obj;
61
+ this.abilityPresetGrade = ability_preset_grade;
62
+ this.abilityInfo = ability_info.map((info) => new CharacterAbilityInfoDto(info));
98
63
  }
99
64
  }
100
65
 
@@ -118,13 +83,39 @@ class CharacterAbilityDto {
118
83
  * 보유 명성치
119
84
  */
120
85
  remainFame;
86
+ /**
87
+ * 적용 중인 어빌리티 프리셋 번호
88
+ */
89
+ presetNo;
90
+ /**
91
+ * 어빌리티 1번 프리셋 전체 정보
92
+ */
93
+ abilityPreset1;
94
+ /**
95
+ * 어빌리티 2번 프리셋 전체 정보
96
+ */
97
+ abilityPreset2;
98
+ /**
99
+ * 어빌리티 3번 프리셋 전체 정보
100
+ */
101
+ abilityPreset3;
121
102
  constructor(obj) {
122
- const { date, ability_grade, ability_info, remain_fame } = obj;
103
+ const { date, ability_grade, ability_info, remain_fame, preset_no, ability_preset_1, ability_preset_2, ability_preset_3, } = obj;
123
104
  // 날짜는 Date 객체로 변환
124
105
  this.date = new Date(date);
125
106
  this.abilityGrade = ability_grade;
126
107
  this.abilityInfo = ability_info.map((info) => new CharacterAbilityInfoDto(info));
127
108
  this.remainFame = remain_fame;
109
+ this.presetNo = preset_no;
110
+ this.abilityPreset1 = ability_preset_1
111
+ ? new CharacterAbilityPresetDto(ability_preset_1)
112
+ : null;
113
+ this.abilityPreset2 = ability_preset_2
114
+ ? new CharacterAbilityPresetDto(ability_preset_2)
115
+ : null;
116
+ this.abilityPreset3 = ability_preset_3
117
+ ? new CharacterAbilityPresetDto(ability_preset_3)
118
+ : null;
128
119
  }
129
120
  }
130
121
 
@@ -297,6 +288,75 @@ class CharacterAndroidEquipmentHairDto {
297
288
  }
298
289
  }
299
290
 
291
+ /**
292
+ * 캐릭터 안드로이드 프리셋 정보
293
+ */
294
+ class CharacterAndroidEquipmentPresetDto {
295
+ /**
296
+ * 안드로이드 명
297
+ */
298
+ androidName;
299
+ /**
300
+ * 안드로이드 닉네임
301
+ */
302
+ androidNickname;
303
+ /**
304
+ * 안드로이드 아이콘
305
+ */
306
+ androidIcon;
307
+ /**
308
+ * 안드로이드 아이템 설명
309
+ */
310
+ androidDescription;
311
+ /**
312
+ * 안드로이드 성별
313
+ */
314
+ androidGender;
315
+ /**
316
+ * 안드로이드 등급
317
+ */
318
+ androidGrade;
319
+ /**
320
+ * 안드로이드 피부 명
321
+ */
322
+ androidSkinName;
323
+ /**
324
+ * 안드로이드 헤어 정보
325
+ */
326
+ androidHair;
327
+ /**
328
+ * 안드로이드 성형 정보
329
+ */
330
+ androidFace;
331
+ /**
332
+ * 안드로이드 이어센서 클립 적용 여부
333
+ */
334
+ androidEarSensorClipFlag;
335
+ /**
336
+ * 비인간형 안드로이드 여부
337
+ */
338
+ androidNonHumanoidFlag;
339
+ /**
340
+ * 잡화상점 기능 이용 가능 여부
341
+ */
342
+ androidShopUsableFlag;
343
+ constructor(obj) {
344
+ const { android_name, android_nickname, android_icon, android_description, android_gender, android_grade, android_skin_name, android_hair, android_face, android_ear_sensor_clip_flag, android_non_humanoid_flag, android_shop_usable_flag, } = obj;
345
+ this.androidName = android_name;
346
+ this.androidNickname = android_nickname;
347
+ this.androidIcon = android_icon;
348
+ this.androidDescription = android_description;
349
+ this.androidGender = android_gender;
350
+ this.androidGrade = android_grade;
351
+ this.androidSkinName = android_skin_name;
352
+ this.androidHair = new CharacterAndroidEquipmentHairDto(android_hair);
353
+ this.androidFace = new CharacterAndroidEquipmentFaceDto(android_face);
354
+ this.androidEarSensorClipFlag = android_ear_sensor_clip_flag;
355
+ this.androidNonHumanoidFlag = android_non_humanoid_flag;
356
+ this.androidShopUsableFlag = android_shop_usable_flag;
357
+ }
358
+ }
359
+
300
360
  /**
301
361
  * 캐릭터 안드로이드 장비 정보
302
362
  */
@@ -341,8 +401,40 @@ class CharacterAndroidEquipmentDto {
341
401
  * 안드로이드 이어센서 클립 적용 여부
342
402
  */
343
403
  androidEarSensorClipFlag;
404
+ /**
405
+ * 안드로이드 성별
406
+ */
407
+ androidGender;
408
+ /**
409
+ * 안드로이드 등급
410
+ */
411
+ androidGrade;
412
+ /**
413
+ * 비인간형 안드로이드 여부
414
+ */
415
+ androidNonHumanoidFlag;
416
+ /**
417
+ * 잡화상점 기능 이용 가능 여부
418
+ */
419
+ androidShopUsableFlag;
420
+ /**
421
+ * 적용 중인 장비 프리셋 번호
422
+ */
423
+ presetNo;
424
+ /**
425
+ * 1번 프리셋 안드로이드 정보
426
+ */
427
+ androidPreset1;
428
+ /**
429
+ * 2번 프리셋 안드로이드 정보
430
+ */
431
+ androidPreset2;
432
+ /**
433
+ * 3번 프리셋 안드로이드 정보
434
+ */
435
+ androidPreset3;
344
436
  constructor(obj) {
345
- const { date, android_name, android_nickname, android_icon, android_description, android_hair, android_face, android_skin_name, android_cash_item_equipment, android_ear_sensor_clip_flag, } = obj;
437
+ const { date, android_name, android_nickname, android_icon, android_description, android_hair, android_face, android_skin_name, android_cash_item_equipment, android_ear_sensor_clip_flag, android_gender, android_grade, android_non_humanoid_flag, android_shop_usable_flag, preset_no, android_preset_1, android_preset_2, android_preset_3, } = obj;
346
438
  this.date = new Date(date);
347
439
  this.androidName = android_name;
348
440
  this.androidNickname = android_nickname;
@@ -353,6 +445,14 @@ class CharacterAndroidEquipmentDto {
353
445
  this.androidSkinName = android_skin_name;
354
446
  this.androidCashItemEquipment = android_cash_item_equipment.map((equipment) => new CharacterAndroidCashItemEquipmentDto(equipment));
355
447
  this.androidEarSensorClipFlag = android_ear_sensor_clip_flag ?? null;
448
+ this.androidGender = android_gender;
449
+ this.androidGrade = android_grade;
450
+ this.androidNonHumanoidFlag = android_non_humanoid_flag;
451
+ this.androidShopUsableFlag = android_shop_usable_flag;
452
+ this.presetNo = preset_no;
453
+ this.androidPreset1 = android_preset_1 ? new CharacterAndroidEquipmentPresetDto(android_preset_1) : null;
454
+ this.androidPreset2 = android_preset_2 ? new CharacterAndroidEquipmentPresetDto(android_preset_2) : null;
455
+ this.androidPreset3 = android_preset_3 ? new CharacterAndroidEquipmentPresetDto(android_preset_3) : null;
356
456
  }
357
457
  }
358
458
 
@@ -629,11 +729,11 @@ class CharacterCashItemEquipmentPresetDto {
629
729
  */
630
730
  cashItemColoringPrism;
631
731
  /**
632
- * 다른 프리셋에서 장비 추가 장착 없이 1번 프리셋의 장비 공유를 비활성화 했는지 여부
732
+ * 아이템 장착 가능 성별
633
733
  */
634
- basePresetItemDisableFlag;
734
+ itemGender;
635
735
  constructor(obj) {
636
- 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, base_preset_item_disable_flag, } = obj;
736
+ 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, } = obj;
637
737
  this.cashItemEquipmentPart = cash_item_equipment_part;
638
738
  this.cashItemEquipmentSlot = cash_item_equipment_slot;
639
739
  this.cashItemName = cash_item_name;
@@ -646,7 +746,7 @@ class CharacterCashItemEquipmentPresetDto {
646
746
  this.cashItemColoringPrism = cash_item_coloring_prism
647
747
  ? new CharacterCashItemEquipmentColoringPrismDto(cash_item_coloring_prism)
648
748
  : null;
649
- this.basePresetItemDisableFlag = base_preset_item_disable_flag;
749
+ this.itemGender = item_gender;
650
750
  }
651
751
  }
652
752
 
@@ -671,37 +771,49 @@ class CharacterCashItemEquipmentDto {
671
771
  */
672
772
  presetNo;
673
773
  /**
674
- * 1번 프리셋 장착 캐시 장비 정보
774
+ * 장착 중인 캐시 장비
775
+ */
776
+ cashItemEquipmentBase;
777
+ /**
778
+ * 1번 코디 프리셋
675
779
  */
676
780
  cashItemEquipmentPreset1;
677
781
  /**
678
- * 2번 프리셋 장착 캐시 장비 정보
782
+ * 2번 코디 프리셋
679
783
  */
680
784
  cashItemEquipmentPreset2;
681
785
  /**
682
- * 3번 프리셋 장착 캐시 장비 정보
786
+ * 3번 코디 프리셋
683
787
  */
684
788
  cashItemEquipmentPreset3;
685
789
  /**
686
- * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드의 1번 프리셋 장착 캐시 장비 정보
790
+ * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드에서 장착 중인 캐시 장비
791
+ */
792
+ additionalCashItemEquipmentBase;
793
+ /**
794
+ * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드의 1번 코디 프리셋
687
795
  */
688
796
  additionalCashItemEquipmentPreset1;
689
797
  /**
690
- * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드의 2번 프리셋 장착 캐시 장비 정보
798
+ * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드의 2번 코디 프리셋
691
799
  */
692
800
  additionalCashItemEquipmentPreset2;
693
801
  /**
694
- * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드의 3번 프리셋 장착 캐시 장비 정보
802
+ * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드의 3번 코디 프리셋
695
803
  */
696
804
  additionalCashItemEquipmentPreset3;
697
805
  constructor(obj) {
698
- const { date, character_gender, character_class, preset_no, cash_item_equipment_preset_1, cash_item_equipment_preset_2, cash_item_equipment_preset_3, additional_cash_item_equipment_preset_1, additional_cash_item_equipment_preset_2, additional_cash_item_equipment_preset_3, } = obj;
699
- (this.date = new Date(date)), (this.characterGender = character_gender);
806
+ const { date, character_gender, character_class, preset_no, cash_item_equipment_base, cash_item_equipment_preset_1, cash_item_equipment_preset_2, cash_item_equipment_preset_3, additional_cash_item_equipment_base, additional_cash_item_equipment_preset_1, additional_cash_item_equipment_preset_2, additional_cash_item_equipment_preset_3, } = obj;
807
+ this.date = new Date(date);
808
+ this.characterGender = character_gender;
700
809
  this.characterClass = character_class;
701
810
  this.presetNo = preset_no;
811
+ this.cashItemEquipmentBase = cash_item_equipment_base.map((preset) => new CharacterCashItemEquipmentPresetDto(preset));
702
812
  this.cashItemEquipmentPreset1 = cash_item_equipment_preset_1.map((preset) => new CharacterCashItemEquipmentPresetDto(preset));
703
813
  this.cashItemEquipmentPreset2 = cash_item_equipment_preset_2.map((preset) => new CharacterCashItemEquipmentPresetDto(preset));
704
814
  this.cashItemEquipmentPreset3 = cash_item_equipment_preset_3.map((preset) => new CharacterCashItemEquipmentPresetDto(preset));
815
+ this.additionalCashItemEquipmentBase =
816
+ additional_cash_item_equipment_base.map((preset) => new CharacterCashItemEquipmentPresetDto(preset));
705
817
  this.additionalCashItemEquipmentPreset1 =
706
818
  additional_cash_item_equipment_preset_1.map((preset) => new CharacterCashItemEquipmentPresetDto(preset));
707
819
  this.additionalCashItemEquipmentPreset2 =
@@ -1997,9 +2109,25 @@ class CharacterItemEquipmentDto {
1997
2109
  */
1998
2110
  characterClass;
1999
2111
  /**
2000
- * 장비 정보 배열
2112
+ * 적용 중인 장비 프리셋 번호
2113
+ */
2114
+ presetNo;
2115
+ /**
2116
+ * 장비 정보
2001
2117
  */
2002
2118
  itemEquipment;
2119
+ /**
2120
+ * 1번 프리셋 장비 정보
2121
+ */
2122
+ itemEquipmentPreset1;
2123
+ /**
2124
+ * 2번 프리셋 장비 정보
2125
+ */
2126
+ itemEquipmentPreset2;
2127
+ /**
2128
+ * 3번 프리셋 장비 정보
2129
+ */
2130
+ itemEquipmentPreset3;
2003
2131
  /**
2004
2132
  * 칭호 정보
2005
2133
  */
@@ -2013,11 +2141,15 @@ class CharacterItemEquipmentDto {
2013
2141
  */
2014
2142
  mechanicEquipment;
2015
2143
  constructor(obj) {
2016
- const { date, character_gender, character_class, item_equipment, title, dragon_equipment, mechanic_equipment, } = obj;
2144
+ 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;
2017
2145
  this.date = new Date(date);
2018
2146
  this.characterGender = character_gender;
2019
2147
  this.characterClass = character_class;
2148
+ this.presetNo = preset_no;
2020
2149
  this.itemEquipment = item_equipment.map((equipment) => new CharacterItemEquipmentInfoDto(equipment));
2150
+ this.itemEquipmentPreset1 = item_equipment_preset_1 ? item_equipment_preset_1.map((equipment) => new CharacterItemEquipmentInfoDto(equipment)) : null;
2151
+ this.itemEquipmentPreset2 = item_equipment_preset_2 ? item_equipment_preset_2.map((equipment) => new CharacterItemEquipmentInfoDto(equipment)) : null;
2152
+ this.itemEquipmentPreset3 = item_equipment_preset_3 ? item_equipment_preset_3.map((equipment) => new CharacterItemEquipmentInfoDto(equipment)) : null;
2021
2153
  this.title = title ? new CharacterItemEquipmentTitleDto(title) : null;
2022
2154
  this.dragonEquipment = dragon_equipment.map((equipment) => new CharacterItemEquipmentDragonInfoDto(equipment));
2023
2155
  this.mechanicEquipment = mechanic_equipment.map((equipment) => new CharacterItemEquipmentMechanicInfoDto(equipment));
@@ -2074,16 +2206,46 @@ class CharacterLinkSkillDto {
2074
2206
  * 링크 스킬 정보
2075
2207
  */
2076
2208
  characterLinkSkill;
2209
+ /**
2210
+ * 링크 스킬 1번 프리셋 정보
2211
+ */
2212
+ characterLinkSkillPreset1;
2213
+ /**
2214
+ * 링크 스킬 2번 프리셋 정보
2215
+ */
2216
+ characterLinkSkillPreset2;
2217
+ /**
2218
+ * 링크 스킬 3번 프리셋 정보
2219
+ */
2220
+ characterLinkSkillPreset3;
2077
2221
  /**
2078
2222
  * 내 링크 스킬 정보
2079
2223
  */
2080
2224
  characterOwnedLinkSkill;
2225
+ /**
2226
+ * 내 링크 스킬 1번 프리셋 정보
2227
+ */
2228
+ characterOwnedLinkSkillPreset1;
2229
+ /**
2230
+ * 내 링크 스킬 2번 프리셋 정보
2231
+ */
2232
+ characterOwnedLinkSkillPreset2;
2233
+ /**
2234
+ * 내 링크 스킬 3번 프리셋 정보
2235
+ */
2236
+ characterOwnedLinkSkillPreset3;
2081
2237
  constructor(obj) {
2082
- const { date, character_class, character_link_skill, character_owned_link_skill, } = obj;
2238
+ const { date, character_class, character_link_skill, character_link_skill_preset_1, character_link_skill_preset_2, character_link_skill_preset_3, character_owned_link_skill, character_owned_link_skill_preset_1, character_owned_link_skill_preset_2, character_owned_link_skill_preset_3, } = obj;
2083
2239
  this.date = new Date(date);
2084
2240
  this.characterClass = character_class;
2085
- this.characterLinkSkill = new CharacterLinkSkillInfoDto(character_link_skill);
2241
+ this.characterLinkSkill = character_link_skill.map((skill) => new CharacterLinkSkillInfoDto(skill));
2242
+ this.characterLinkSkillPreset1 = character_link_skill_preset_1.map((skill) => new CharacterLinkSkillInfoDto(skill));
2243
+ this.characterLinkSkillPreset2 = character_link_skill_preset_2.map((skill) => new CharacterLinkSkillInfoDto(skill));
2244
+ this.characterLinkSkillPreset3 = character_link_skill_preset_3.map((skill) => new CharacterLinkSkillInfoDto(skill));
2086
2245
  this.characterOwnedLinkSkill = new CharacterLinkSkillInfoDto(character_owned_link_skill);
2246
+ this.characterOwnedLinkSkillPreset1 = character_owned_link_skill_preset_1 ? new CharacterLinkSkillInfoDto(character_owned_link_skill_preset_1) : null;
2247
+ this.characterOwnedLinkSkillPreset2 = character_owned_link_skill_preset_2 ? new CharacterLinkSkillInfoDto(character_owned_link_skill_preset_2) : null;
2248
+ this.characterOwnedLinkSkillPreset3 = character_owned_link_skill_preset_3 ? new CharacterLinkSkillInfoDto(character_owned_link_skill_preset_3) : null;
2087
2249
  }
2088
2250
  }
2089
2251
 
@@ -2162,15 +2324,25 @@ class CharacterPetEquipmentItemDto {
2162
2324
  /**
2163
2325
  * 업그레이드 가능 횟수
2164
2326
  */
2165
- scrollUpgradeable;
2327
+ scrollUpgradable;
2328
+ /**
2329
+ * 아이템 외형
2330
+ */
2331
+ itemShape;
2332
+ /**
2333
+ * 아이템 외형 아이콘
2334
+ */
2335
+ itemShapeIcon;
2166
2336
  constructor(obj) {
2167
- const { item_name, item_icon, item_description, item_option, scroll_upgrade, scroll_upgradeable, } = obj;
2337
+ const { item_name, item_icon, item_description, item_option, scroll_upgrade, scroll_upgradable, item_shape, item_shape_icon } = obj;
2168
2338
  this.itemName = item_name;
2169
2339
  this.itemIcon = item_icon;
2170
2340
  this.itemDescription = item_description;
2171
2341
  this.itemOption = item_option.map((option) => new CharacterPetEquipmentItemOptionDto(option));
2172
2342
  this.scrollUpgrade = scroll_upgrade;
2173
- this.scrollUpgradeable = scroll_upgradeable;
2343
+ this.scrollUpgradable = scroll_upgradable;
2344
+ this.itemShape = item_shape;
2345
+ this.itemShapeIcon = item_shape_icon;
2174
2346
  }
2175
2347
  }
2176
2348
 
@@ -2218,6 +2390,14 @@ class CharacterPetEquipmentDto {
2218
2390
  * 펫1 마법의 시간 (KST, 시간 단위 데이터로 분은 일괄 0으로 표기)
2219
2391
  */
2220
2392
  pet1DateExpire;
2393
+ /**
2394
+ * 펫1 외형
2395
+ */
2396
+ pet1Appearance;
2397
+ /**
2398
+ * 펫1 외형 아이콘
2399
+ */
2400
+ pet1AppearanceIcon;
2221
2401
  /**
2222
2402
  * 펫2 명
2223
2403
  */
@@ -2250,10 +2430,18 @@ class CharacterPetEquipmentDto {
2250
2430
  * 펫2 펫 보유 스킬
2251
2431
  */
2252
2432
  pet2Skill;
2253
- /*
2433
+ /**
2254
2434
  * 펫2 마법의 시간 (KST, 시간 단위 데이터로 분은 일괄 0으로 표기)
2255
2435
  */
2256
2436
  pet2DateExpire;
2437
+ /**
2438
+ * 펫2 외형
2439
+ */
2440
+ pet2Appearance;
2441
+ /**
2442
+ * 펫2 외형 아이콘
2443
+ */
2444
+ pet2AppearanceIcon;
2257
2445
  /**
2258
2446
  * 펫3 명
2259
2447
  */
@@ -2286,40 +2474,54 @@ class CharacterPetEquipmentDto {
2286
2474
  * 펫3 펫 보유 스킬
2287
2475
  */
2288
2476
  pet3Skill;
2289
- /*
2477
+ /**
2290
2478
  * 펫3 마법의 시간 (KST, 시간 단위 데이터로 분은 일괄 0으로 표기)
2291
2479
  */
2292
2480
  pet3DateExpire;
2481
+ /**
2482
+ * 펫3 외형
2483
+ */
2484
+ pet3Appearance;
2485
+ /**
2486
+ * 펫3 외형 아이콘
2487
+ */
2488
+ pet3AppearanceIcon;
2293
2489
  constructor(obj) {
2294
- const { date, pet_1_name, pet_1_nickname, pet_1_icon, pet_1_description, pet_1_equipment, pet_1_auto_skill, pet_1_pet_type, pet_1_skill, pet_1_date_expire, pet_2_name, pet_2_nickname, pet_2_icon, pet_2_description, pet_2_equipment, pet_2_auto_skill, pet_2_pet_type, pet_2_skill, pet_2_date_expire, pet_3_name, pet_3_nickname, pet_3_icon, pet_3_description, pet_3_equipment, pet_3_auto_skill, pet_3_pet_type, pet_3_skill, pet_3_date_expire, } = obj;
2490
+ const { date, pet_1_name, pet_1_nickname, pet_1_icon, pet_1_description, pet_1_equipment, pet_1_auto_skill, pet_1_pet_type, pet_1_skill, pet_1_date_expire, pet_1_appearance, pet_1_appearance_icon, pet_2_name, pet_2_nickname, pet_2_icon, pet_2_description, pet_2_equipment, pet_2_auto_skill, pet_2_pet_type, pet_2_skill, pet_2_date_expire, pet_2_appearance, pet_2_appearance_icon, pet_3_name, pet_3_nickname, pet_3_icon, pet_3_description, pet_3_equipment, pet_3_auto_skill, pet_3_pet_type, pet_3_skill, pet_3_date_expire, pet_3_appearance, pet_3_appearance_icon, } = obj;
2295
2491
  this.date = new Date(date);
2296
2492
  this.pet1Name = pet_1_name;
2297
2493
  this.pet1Nickname = pet_1_nickname;
2298
2494
  this.pet1Icon = pet_1_icon;
2299
2495
  this.pet1Description = pet_1_description;
2300
- this.pet1Equipment = new CharacterPetEquipmentItemDto(pet_1_equipment);
2301
- this.pet1AutoSkill = new CharacterPetEquipmentAutoSkillDto(pet_1_auto_skill);
2496
+ this.pet1Equipment = pet_1_equipment ? new CharacterPetEquipmentItemDto(pet_1_equipment) : null;
2497
+ this.pet1AutoSkill = pet_1_auto_skill ? new CharacterPetEquipmentAutoSkillDto(pet_1_auto_skill) : null;
2302
2498
  this.pet1PetType = pet_1_pet_type;
2303
2499
  this.pet1Skill = pet_1_skill;
2304
- this.pet1DateExpire = new Date(pet_1_date_expire);
2500
+ this.pet1DateExpire = pet_1_date_expire ? new Date(pet_1_date_expire) : null;
2501
+ this.pet1Appearance = pet_1_appearance;
2502
+ this.pet1AppearanceIcon = pet_1_appearance_icon;
2305
2503
  this.pet2Name = pet_2_name;
2306
2504
  this.pet2Nickname = pet_2_nickname;
2307
2505
  this.pet2Icon = pet_2_icon;
2308
2506
  this.pet2Description = pet_2_description;
2309
- this.pet2Equipment = new CharacterPetEquipmentItemDto(pet_2_equipment);
2310
- this.pet2AutoSkill = new CharacterPetEquipmentAutoSkillDto(pet_2_auto_skill);
2507
+ this.pet2Equipment = pet_2_equipment ? new CharacterPetEquipmentItemDto(pet_2_equipment) : null;
2508
+ this.pet2AutoSkill = pet_2_auto_skill ? new CharacterPetEquipmentAutoSkillDto(pet_2_auto_skill) : null;
2311
2509
  this.pet2PetType = pet_2_pet_type;
2312
2510
  this.pet2Skill = pet_2_skill;
2313
- this.pet2DateExpire = new Date(pet_2_date_expire);
2511
+ this.pet2DateExpire = pet_2_date_expire ? new Date(pet_2_date_expire) : null;
2512
+ this.pet2Appearance = pet_2_appearance;
2513
+ this.pet2AppearanceIcon = pet_2_appearance_icon;
2314
2514
  this.pet3Name = pet_3_name;
2315
2515
  this.pet3Nickname = pet_3_nickname;
2316
2516
  this.pet3Icon = pet_3_icon;
2317
2517
  this.pet3Description = pet_3_description;
2318
- this.pet3Equipment = new CharacterPetEquipmentItemDto(pet_3_equipment);
2319
- this.pet3AutoSkill = new CharacterPetEquipmentAutoSkillDto(pet_3_auto_skill);
2518
+ this.pet3Equipment = pet_3_equipment ? new CharacterPetEquipmentItemDto(pet_3_equipment) : null;
2519
+ this.pet3AutoSkill = pet_3_auto_skill ? new CharacterPetEquipmentAutoSkillDto(pet_3_auto_skill) : null;
2320
2520
  this.pet3PetType = pet_3_pet_type;
2321
2521
  this.pet3Skill = pet_3_skill;
2322
- this.pet3DateExpire = new Date(pet_3_date_expire);
2522
+ this.pet3DateExpire = pet_3_date_expire ? new Date(pet_3_date_expire) : null;
2523
+ this.pet3Appearance = pet_3_appearance;
2524
+ this.pet3AppearanceIcon = pet_3_appearance_icon;
2323
2525
  }
2324
2526
  }
2325
2527
 
@@ -2714,44 +2916,166 @@ class CharacterVMatrixDto {
2714
2916
  }
2715
2917
  }
2716
2918
 
2717
- var PotentialOptionGrade;
2718
- (function (PotentialOptionGrade) {
2719
- PotentialOptionGrade[PotentialOptionGrade["RARE"] = 0] = "RARE";
2720
- PotentialOptionGrade[PotentialOptionGrade["EPIC"] = 1] = "EPIC";
2721
- PotentialOptionGrade[PotentialOptionGrade["UNIQUE"] = 2] = "UNIQUE";
2722
- PotentialOptionGrade[PotentialOptionGrade["LEGENDARY"] = 3] = "LEGENDARY";
2723
- })(PotentialOptionGrade || (PotentialOptionGrade = {}));
2724
- /**
2725
- * 한글로 정의된 잠재옵션 등급을 PotentialOptionGrade으로 변환합니다.
2726
- *
2727
- * @param text support only "레어", "에픽", "유니크", "레전드리"
2728
- */
2729
- const potentialOptionGradeFromString = (text) => {
2730
- const potentialOptionGradeMap = {
2731
- 레어: PotentialOptionGrade.RARE,
2732
- 에픽: PotentialOptionGrade.EPIC,
2733
- 유니크: PotentialOptionGrade.UNIQUE,
2734
- 레전드리: PotentialOptionGrade.LEGENDARY,
2735
- };
2736
- const grade = potentialOptionGradeMap[text];
2737
- if (!grade) {
2738
- throw new TypeError('No enum constant for string: ' + text);
2739
- }
2740
- return grade;
2741
- };
2742
-
2743
2919
  /**
2744
- * 큐브 결과 옵션 정보
2920
+ * 길드 스킬 정보
2745
2921
  */
2746
- class CubeResultOptionDto {
2922
+ class GuildSkillDto {
2747
2923
  /**
2748
- * 옵션
2924
+ * 스킬
2749
2925
  */
2750
- value;
2926
+ skillName;
2751
2927
  /**
2752
- * 옵션 등급
2928
+ * 스킬 설명
2753
2929
  */
2754
- grade;
2930
+ skillDescription;
2931
+ /**
2932
+ * 스킬 레벨
2933
+ */
2934
+ skillLevel;
2935
+ /**
2936
+ * 스킬 레벨 별 효과
2937
+ */
2938
+ skillEffect;
2939
+ /**
2940
+ * 스킬 아이콘
2941
+ */
2942
+ skillIcon;
2943
+ constructor(obj) {
2944
+ const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
2945
+ this.skillName = skill_name;
2946
+ this.skillDescription = skill_description;
2947
+ this.skillLevel = skill_level;
2948
+ this.skillEffect = skill_effect;
2949
+ this.skillIcon = skill_icon;
2950
+ }
2951
+ }
2952
+
2953
+ /**
2954
+ * 길드 기본 정보
2955
+ */
2956
+ class GuildBasicDto {
2957
+ /**
2958
+ * 조회 기준일
2959
+ */
2960
+ date;
2961
+ /**
2962
+ * 월드 명
2963
+ */
2964
+ worldName;
2965
+ /**
2966
+ * 길드 명
2967
+ */
2968
+ guildName;
2969
+ /**
2970
+ * 길드 레벨
2971
+ */
2972
+ guildLevel;
2973
+ /**
2974
+ * 길드 명성치
2975
+ */
2976
+ guildFame;
2977
+ /**
2978
+ * 길드 포인트(GP)
2979
+ */
2980
+ guildPoint;
2981
+ /**
2982
+ * 길드 마스터 캐릭터 명
2983
+ */
2984
+ guildMasterName;
2985
+ /**
2986
+ * 길드원 수
2987
+ */
2988
+ guildMemberCount;
2989
+ /**
2990
+ * 길드원 목록
2991
+ */
2992
+ guildMember;
2993
+ /**
2994
+ * 길드 스킬 목록
2995
+ */
2996
+ guildSkill;
2997
+ /**
2998
+ * 노블레스 스킬 목록
2999
+ */
3000
+ guildNoblesseSkill;
3001
+ /**
3002
+ * 조합형 길드 마크
3003
+ */
3004
+ guildMark;
3005
+ /**
3006
+ * 커스텀 길드 마크 (base64 인코딩 형식)
3007
+ */
3008
+ guildMarkCustom;
3009
+ constructor(obj) {
3010
+ const { date, world_name, guild_name, guild_level, guild_fame, guild_point, guild_master_name, guild_member_count, guild_member, guild_skill, guild_noblesse_skill, guild_mark, guild_mark_custom, } = obj;
3011
+ this.date = new Date(date);
3012
+ this.worldName = world_name;
3013
+ this.guildName = guild_name;
3014
+ this.guildLevel = guild_level;
3015
+ this.guildFame = guild_fame;
3016
+ this.guildPoint = guild_point;
3017
+ this.guildMasterName = guild_master_name;
3018
+ this.guildMemberCount = guild_member_count;
3019
+ this.guildMember = guild_member;
3020
+ this.guildSkill = guild_skill.map((skill) => new GuildSkillDto(skill));
3021
+ this.guildNoblesseSkill = guild_noblesse_skill.map((skill) => new GuildSkillDto(skill));
3022
+ this.guildMark = guild_mark;
3023
+ this.guildMarkCustom = guild_mark_custom;
3024
+ }
3025
+ }
3026
+
3027
+ /**
3028
+ * 길드 식별자 정보
3029
+ */
3030
+ class GuildDto {
3031
+ /**
3032
+ * 길드 식별자
3033
+ */
3034
+ oguildId;
3035
+ constructor(obj) {
3036
+ const { oguild_id } = obj;
3037
+ this.oguildId = oguild_id;
3038
+ }
3039
+ }
3040
+
3041
+ var PotentialOptionGrade;
3042
+ (function (PotentialOptionGrade) {
3043
+ PotentialOptionGrade[PotentialOptionGrade["RARE"] = 0] = "RARE";
3044
+ PotentialOptionGrade[PotentialOptionGrade["EPIC"] = 1] = "EPIC";
3045
+ PotentialOptionGrade[PotentialOptionGrade["UNIQUE"] = 2] = "UNIQUE";
3046
+ PotentialOptionGrade[PotentialOptionGrade["LEGENDARY"] = 3] = "LEGENDARY";
3047
+ })(PotentialOptionGrade || (PotentialOptionGrade = {}));
3048
+ /**
3049
+ * 한글로 정의된 잠재옵션 등급을 PotentialOptionGrade으로 변환합니다.
3050
+ *
3051
+ * @param text support only "레어", "에픽", "유니크", "레전드리"
3052
+ */
3053
+ const potentialOptionGradeFromString = (text) => {
3054
+ const potentialOptionGradeMap = {
3055
+ 레어: PotentialOptionGrade.RARE,
3056
+ 에픽: PotentialOptionGrade.EPIC,
3057
+ 유니크: PotentialOptionGrade.UNIQUE,
3058
+ 레전드리: PotentialOptionGrade.LEGENDARY,
3059
+ };
3060
+ const grade = potentialOptionGradeMap[text];
3061
+ if (!grade) {
3062
+ throw new TypeError('No enum constant for string: ' + text);
3063
+ }
3064
+ return grade;
3065
+ };
3066
+
3067
+ /**
3068
+ * 큐브 결과 옵션 정보
3069
+ */
3070
+ class CubeResultOptionDto {
3071
+ /**
3072
+ * 옵션 명
3073
+ */
3074
+ value;
3075
+ /**
3076
+ * 옵션 등급
3077
+ */
3078
+ grade;
2755
3079
  constructor(obj) {
2756
3080
  const { value, grade } = obj;
2757
3081
  this.value = value;
@@ -2899,192 +3223,309 @@ class CubeHistoryResponseDto {
2899
3223
  }
2900
3224
 
2901
3225
  /**
2902
- * 무릉도장 랭킹 정보
3226
+ * 스타포스 강화 이벤트 정보
2903
3227
  */
2904
- class DojangRankingDto {
3228
+ class StarforceEventDto {
2905
3229
  /**
2906
- * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3230
+ * 이벤트 성공 확률
2907
3231
  */
2908
- date;
3232
+ successRate;
2909
3233
  /**
2910
- * 무릉도장 랭킹 순위
3234
+ * 이벤트 비용 할인율
2911
3235
  */
2912
- ranking;
3236
+ costDiscountRate;
2913
3237
  /**
2914
- * 캐릭터
3238
+ * 이벤트 강화 수치 가중값
2915
3239
  */
2916
- characterName;
3240
+ plusValue;
2917
3241
  /**
2918
- * 월드
3242
+ * 이벤트 적용 강화 시도 가능한 n성 범위
2919
3243
  */
2920
- worldName;
3244
+ starforceEventRange;
3245
+ constructor(obj) {
3246
+ const { success_rate, cost_discount_rate, plus_value, starforce_event_range, } = obj;
3247
+ this.successRate = success_rate;
3248
+ this.costDiscountRate = cost_discount_rate;
3249
+ this.plusValue = plus_value;
3250
+ this.starforceEventRange = starforce_event_range;
3251
+ }
3252
+ }
3253
+
3254
+ /**
3255
+ * 스타포스 히스토리
3256
+ */
3257
+ class StarforceHistoryDto {
2921
3258
  /**
2922
- * 직업
3259
+ *스타포스 히스토리 식별자
2923
3260
  */
2924
- className;
3261
+ id;
2925
3262
  /**
2926
- * 전직 직업 명
3263
+ *강화 시도 결과
2927
3264
  */
2928
- subClassName;
3265
+ itemUpgradeResult;
2929
3266
  /**
2930
- * 캐릭터 레벨
3267
+ *강화 시도 전 스타포스 수치
2931
3268
  */
2932
- characterLevel;
3269
+ beforeStarforceCount;
2933
3270
  /**
2934
- * 무릉도장 구간
3271
+ *강화 시도 후 스타포스 수치
2935
3272
  */
2936
- dojangFloor;
3273
+ afterStarforceCount;
2937
3274
  /**
2938
- * 무릉도장 클리어 시간 기록 (초 단위)
3275
+ *스타 캐치
2939
3276
  */
2940
- dojangTimeRecord;
3277
+ starCatchResult;
3278
+ /**
3279
+ *슈페리얼 장비
3280
+ */
3281
+ superiorItemFlag;
3282
+ /**
3283
+ *파괴 방지
3284
+ */
3285
+ destroyDefence;
3286
+ /**
3287
+ *찬스 타임
3288
+ */
3289
+ chanceTime;
3290
+ /**
3291
+ *파괴 방지 필드 이벤트
3292
+ */
3293
+ eventFieldFlag;
3294
+ /**
3295
+ *사용 주문서 명
3296
+ */
3297
+ upgradeItem;
3298
+ /**
3299
+ *프로텍트 실드
3300
+ */
3301
+ protectShield;
3302
+ /**
3303
+ *보너스 스탯 부여 아이템 여부
3304
+ */
3305
+ bonusStatUpgrade;
3306
+ /**
3307
+ *캐릭터 명
3308
+ */
3309
+ characterName;
3310
+ /**
3311
+ *월드 명
3312
+ */
3313
+ worldName;
3314
+ /**
3315
+ *대상 장비 아이템 명
3316
+ */
3317
+ targetItem;
3318
+ /**
3319
+ *강화 일시 (KST)
3320
+ */
3321
+ dateCreate;
3322
+ /**
3323
+ * 진행 중인 스타포스 강화 이벤트 정보
3324
+ */
3325
+ starforceEventList;
2941
3326
  constructor(obj) {
2942
- const { date, ranking, character_name, world_name, class_name, sub_class_name, character_level, dojang_floor, dojang_time_record, } = obj;
2943
- this.date = new Date(date);
2944
- this.ranking = ranking;
3327
+ const { id, item_upgrade_result, before_starforce_count, after_starforce_count, starcatch_result, superior_item_flag, destroy_defence, chance_time, event_field_flag, upgrade_item, protect_shield, bonus_stat_upgrade, character_name, world_name, target_item, date_create, starforce_event_list, } = obj;
3328
+ this.id = id;
3329
+ this.itemUpgradeResult = item_upgrade_result;
3330
+ this.beforeStarforceCount = before_starforce_count;
3331
+ this.afterStarforceCount = after_starforce_count;
3332
+ this.starCatchResult = starcatch_result;
3333
+ this.superiorItemFlag = superior_item_flag;
3334
+ this.destroyDefence = destroy_defence;
3335
+ this.chanceTime = chance_time;
3336
+ this.eventFieldFlag = event_field_flag;
3337
+ this.upgradeItem = upgrade_item;
3338
+ this.protectShield = protect_shield;
3339
+ this.bonusStatUpgrade = bonus_stat_upgrade;
2945
3340
  this.characterName = character_name;
2946
3341
  this.worldName = world_name;
2947
- this.className = class_name;
2948
- this.subClassName = sub_class_name;
2949
- this.characterLevel = character_level;
2950
- this.dojangFloor = dojang_floor;
2951
- this.dojangTimeRecord = dojang_time_record;
3342
+ this.targetItem = target_item;
3343
+ this.dateCreate = new Date(date_create);
3344
+ this.starforceEventList = starforce_event_list.map((event) => new StarforceEventDto(event));
2952
3345
  }
2953
3346
  }
2954
3347
 
2955
3348
  /**
2956
- * 무릉도장 랭킹 응답 정보
3349
+ * 스타포스 히스토리 응답 정보
2957
3350
  */
2958
- class DojangRankingResponseDto {
3351
+ class StarforceHistoryResponseDto {
2959
3352
  /**
2960
- * 길드 랭킹 정보
3353
+ * 결과
2961
3354
  */
2962
- ranking;
3355
+ count;
3356
+ /**
3357
+ * 스타포스 히스토리
3358
+ */
3359
+ starforceHistory;
3360
+ /**
3361
+ * 페이징 처리를 위한 cursor
3362
+ */
3363
+ nextCursor;
2963
3364
  constructor(obj) {
2964
- const { ranking } = obj;
2965
- this.ranking = ranking.map((rank) => new DojangRankingDto(rank));
3365
+ const { count, starforce_history, next_cursor } = obj;
3366
+ this.count = count;
3367
+ this.starforceHistory = starforce_history.map((origin) => new StarforceHistoryDto(origin));
3368
+ this.nextCursor = next_cursor;
2966
3369
  }
2967
3370
  }
2968
3371
 
2969
3372
  /**
2970
- * 길드 스킬 정보
3373
+ * 서버 점검 정보
2971
3374
  */
2972
- class GuildSkillDto {
2973
- /**
2974
- * 스킬 명
2975
- */
2976
- skillName;
3375
+ class InspectionInfoDto {
2977
3376
  /**
2978
- * 스킬 설명
3377
+ * 서비스 코드
2979
3378
  */
2980
- skillDescription;
3379
+ serviceCode;
2981
3380
  /**
2982
- * 스킬 레벨
3381
+ * 점검 시작 시각
2983
3382
  */
2984
- skillLevel;
3383
+ startDateTime;
2985
3384
  /**
2986
- * 스킬 레벨 별 효과
3385
+ * 점검 종료 시각
2987
3386
  */
2988
- skillEffect;
3387
+ endDateTime;
2989
3388
  /**
2990
- * 스킬 아이콘
3389
+ * 점검 안내 제목
2991
3390
  */
2992
- skillIcon;
3391
+ strObstacleContents;
2993
3392
  constructor(obj) {
2994
- const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
2995
- this.skillName = skill_name;
2996
- this.skillDescription = skill_description;
2997
- this.skillLevel = skill_level;
2998
- this.skillEffect = skill_effect;
2999
- this.skillIcon = skill_icon;
3393
+ const inspectionInfoTag = obj['soap:Envelope']['soap:Body'][0]['GetInspectionInfoResponse'][0]['GetInspectionInfoResult'][0]['diffgr:diffgram'][0]['NewDataSet'][0]['InspectionInfo'][0];
3394
+ this.serviceCode = Number(inspectionInfoTag.serviceCode[0]);
3395
+ this.startDateTime = new Date(inspectionInfoTag.startDateTime[0]);
3396
+ this.endDateTime = new Date(inspectionInfoTag.endDateTime[0]);
3397
+ this.strObstacleContents = inspectionInfoTag.strObstacleContents[0];
3000
3398
  }
3001
3399
  }
3002
3400
 
3003
3401
  /**
3004
- * 길드 기본 정보
3402
+ * 업적 랭킹 정보
3005
3403
  */
3006
- class GuildBasicDto {
3404
+ class AchievementRankingDto {
3007
3405
  /**
3008
- * 조회 기준일
3406
+ * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3009
3407
  */
3010
3408
  date;
3409
+ /**
3410
+ * 업적 랭킹 순위
3411
+ */
3412
+ ranking;
3413
+ /**
3414
+ * 캐릭터 명
3415
+ */
3416
+ characterName;
3011
3417
  /**
3012
3418
  * 월드 명
3013
3419
  */
3014
3420
  worldName;
3015
3421
  /**
3016
- * 길드
3422
+ * 직업
3017
3423
  */
3018
- guildName;
3424
+ className;
3019
3425
  /**
3020
- * 길드 레벨
3426
+ * 전직 직업 명
3021
3427
  */
3022
- guildLevel;
3428
+ subClassName;
3023
3429
  /**
3024
- * 길드 명성치
3430
+ * 업적 등급
3025
3431
  */
3026
- guildFame;
3432
+ trophyGrade;
3027
3433
  /**
3028
- * 길드 포인트(GP)
3434
+ * 업적 점수
3029
3435
  */
3030
- guildPoint;
3436
+ trophyScore;
3437
+ constructor(obj) {
3438
+ const { date, ranking, character_name, world_name, class_name, sub_class_name, trophy_grade, trophy_score, } = obj;
3439
+ this.date = new Date(date);
3440
+ this.ranking = ranking;
3441
+ this.characterName = character_name;
3442
+ this.worldName = world_name;
3443
+ this.className = class_name;
3444
+ this.subClassName = sub_class_name;
3445
+ this.trophyGrade = trophy_grade;
3446
+ this.trophyScore = trophy_score;
3447
+ }
3448
+ }
3449
+
3450
+ /**
3451
+ * 업적 랭킹 응답 정보
3452
+ */
3453
+ class AchievementRankingResponseDto {
3031
3454
  /**
3032
- * 길드 마스터 캐릭터 명
3455
+ * 업적 랭킹 정보
3033
3456
  */
3034
- guildMasterName;
3457
+ ranking;
3458
+ constructor(obj) {
3459
+ const { ranking } = obj;
3460
+ this.ranking = ranking.map((rank) => new AchievementRankingDto(rank));
3461
+ }
3462
+ }
3463
+
3464
+ /**
3465
+ * 무릉도장 랭킹 정보
3466
+ */
3467
+ class DojangRankingDto {
3035
3468
  /**
3036
- * 길드원
3469
+ * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3037
3470
  */
3038
- guildMemberCount;
3471
+ date;
3039
3472
  /**
3040
- * 길드원 목록
3473
+ * 무릉도장 랭킹 순위
3041
3474
  */
3042
- guildMember;
3475
+ ranking;
3043
3476
  /**
3044
- * 길드 스킬 목록
3477
+ * 캐릭터
3045
3478
  */
3046
- guildSkill;
3479
+ characterName;
3047
3480
  /**
3048
- * 노블레스 스킬 목록
3481
+ * 월드
3049
3482
  */
3050
- guildNoblesseSkill;
3483
+ worldName;
3051
3484
  /**
3052
- * 조합형 길드 마크
3485
+ * 직업
3053
3486
  */
3054
- guildMark;
3487
+ className;
3055
3488
  /**
3056
- * 커스텀 길드 마크 (base64 인코딩 형식)
3489
+ * 전직 직업
3490
+ */
3491
+ subClassName;
3492
+ /**
3493
+ * 캐릭터 레벨
3494
+ */
3495
+ characterLevel;
3496
+ /**
3497
+ * 무릉도장 구간
3498
+ */
3499
+ dojangFloor;
3500
+ /**
3501
+ * 무릉도장 클리어 시간 기록 (초 단위)
3057
3502
  */
3058
- guildMarkCustom;
3503
+ dojangTimeRecord;
3059
3504
  constructor(obj) {
3060
- const { date, world_name, guild_name, guild_level, guild_fame, guild_point, guild_master_name, guild_member_count, guild_member, guild_skill, guild_noblesse_skill, guild_mark, guild_mark_custom, } = obj;
3505
+ const { date, ranking, character_name, world_name, class_name, sub_class_name, character_level, dojang_floor, dojang_time_record, } = obj;
3061
3506
  this.date = new Date(date);
3507
+ this.ranking = ranking;
3508
+ this.characterName = character_name;
3062
3509
  this.worldName = world_name;
3063
- this.guildName = guild_name;
3064
- this.guildLevel = guild_level;
3065
- this.guildFame = guild_fame;
3066
- this.guildPoint = guild_point;
3067
- this.guildMasterName = guild_master_name;
3068
- this.guildMemberCount = guild_member_count;
3069
- this.guildMember = guild_member;
3070
- this.guildSkill = guild_skill.map((skill) => new GuildSkillDto(skill));
3071
- this.guildNoblesseSkill = guild_noblesse_skill.map((skill) => new GuildSkillDto(skill));
3072
- this.guildMark = guild_mark;
3073
- this.guildMarkCustom = guild_mark_custom;
3510
+ this.className = class_name;
3511
+ this.subClassName = sub_class_name;
3512
+ this.characterLevel = character_level;
3513
+ this.dojangFloor = dojang_floor;
3514
+ this.dojangTimeRecord = dojang_time_record;
3074
3515
  }
3075
3516
  }
3076
3517
 
3077
3518
  /**
3078
- * 길드 식별자 정보
3519
+ * 무릉도장 랭킹 응답 정보
3079
3520
  */
3080
- class GuildDto {
3521
+ class DojangRankingResponseDto {
3081
3522
  /**
3082
- * 길드 식별자
3523
+ * 길드 랭킹 정보
3083
3524
  */
3084
- oguildId;
3525
+ ranking;
3085
3526
  constructor(obj) {
3086
- const { oguild_id } = obj;
3087
- this.oguildId = oguild_id;
3527
+ const { ranking } = obj;
3528
+ this.ranking = ranking.map((rank) => new DojangRankingDto(rank));
3088
3529
  }
3089
3530
  }
3090
3531
 
@@ -3151,35 +3592,6 @@ class GuildRankingResponseDto {
3151
3592
  }
3152
3593
  }
3153
3594
 
3154
- /**
3155
- * 서버 점검 정보
3156
- */
3157
- class InspectionInfoDto {
3158
- /**
3159
- * 서비스 코드
3160
- */
3161
- serviceCode;
3162
- /**
3163
- * 점검 시작 시각
3164
- */
3165
- startDateTime;
3166
- /**
3167
- * 점검 종료 시각
3168
- */
3169
- endDateTime;
3170
- /**
3171
- * 점검 안내 제목
3172
- */
3173
- strObstacleContents;
3174
- constructor(obj) {
3175
- const inspectionInfoTag = obj['soap:Envelope']['soap:Body'][0]['GetInspectionInfoResponse'][0]['GetInspectionInfoResult'][0]['diffgr:diffgram'][0]['NewDataSet'][0]['InspectionInfo'][0];
3176
- this.serviceCode = Number(inspectionInfoTag.serviceCode[0]);
3177
- this.startDateTime = new Date(inspectionInfoTag.startDateTime[0]);
3178
- this.endDateTime = new Date(inspectionInfoTag.endDateTime[0]);
3179
- this.strObstacleContents = inspectionInfoTag.strObstacleContents[0];
3180
- }
3181
- }
3182
-
3183
3595
  /**
3184
3596
  * 종합 랭킹 정보
3185
3597
  */
@@ -3321,6 +3733,161 @@ class TheSeedRankingResponseDto {
3321
3733
  }
3322
3734
  }
3323
3735
 
3736
+ /**
3737
+ * 유니온 랭킹 정보
3738
+ */
3739
+ class UnionRankingDto {
3740
+ /**
3741
+ * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3742
+ */
3743
+ date;
3744
+ /**
3745
+ * 유니온 랭킹 순위
3746
+ */
3747
+ ranking;
3748
+ /**
3749
+ * 캐릭터 명
3750
+ */
3751
+ characterName;
3752
+ /**
3753
+ * 월드 명
3754
+ */
3755
+ worldName;
3756
+ /**
3757
+ * 직업 명
3758
+ */
3759
+ className;
3760
+ /**
3761
+ * 전직 직업 명
3762
+ */
3763
+ subClassName;
3764
+ /**
3765
+ * 유니온 레벨
3766
+ */
3767
+ unionLevel;
3768
+ /**
3769
+ * 유니온 파워
3770
+ */
3771
+ unionPower;
3772
+ constructor(obj) {
3773
+ const { date, ranking, character_name, world_name, class_name, sub_class_name, union_level, union_power, } = obj;
3774
+ this.date = new Date(date);
3775
+ this.ranking = ranking;
3776
+ this.characterName = character_name;
3777
+ this.worldName = world_name;
3778
+ this.className = class_name;
3779
+ this.subClassName = sub_class_name;
3780
+ this.unionLevel = union_level;
3781
+ this.unionPower = union_power;
3782
+ }
3783
+ }
3784
+
3785
+ /**
3786
+ * 유니온 랭킹 응답 정보
3787
+ */
3788
+ class UnionRankingResponseDto {
3789
+ /**
3790
+ * 유니온 랭킹 정보
3791
+ */
3792
+ ranking;
3793
+ constructor(obj) {
3794
+ const { ranking } = obj;
3795
+ this.ranking = ranking.map((rank) => new UnionRankingDto(rank));
3796
+ }
3797
+ }
3798
+
3799
+ /**
3800
+ * 유니온 아티팩트 크리스탈 정보
3801
+ */
3802
+ class UnionArtifactCrystalDto {
3803
+ /**
3804
+ * 아티팩트 크리스탈 명
3805
+ */
3806
+ name;
3807
+ /**
3808
+ * 능력치 유효 여부 (0:유효, 1:유효하지 않음)
3809
+ */
3810
+ validityFlag;
3811
+ /**
3812
+ * 능력치 유효 기간(KST)
3813
+ */
3814
+ dateExpire;
3815
+ /**
3816
+ * 아티팩트 크리스탈 등급
3817
+ */
3818
+ level;
3819
+ /**
3820
+ * 아티팩트 크리스탈 첫 번째 옵션 명
3821
+ */
3822
+ crystalOptionName1;
3823
+ /**
3824
+ * 아티팩트 크리스탈 두 번째 옵션 명
3825
+ */
3826
+ crystalOptionName2;
3827
+ /**
3828
+ * 아티팩트 크리스탈 세 번째 옵션 명
3829
+ */
3830
+ crystalOptionName3;
3831
+ constructor(obj) {
3832
+ const { name, validity_flag, date_expire, level, crystal_option_name_1, crystal_option_name_2, crystal_option_name_3, } = obj;
3833
+ this.name = name;
3834
+ this.validityFlag = validity_flag;
3835
+ this.dateExpire = new Date(date_expire);
3836
+ this.level = level;
3837
+ this.crystalOptionName1 = crystal_option_name_1;
3838
+ this.crystalOptionName2 = crystal_option_name_2;
3839
+ this.crystalOptionName3 = crystal_option_name_3;
3840
+ }
3841
+ }
3842
+
3843
+ /**
3844
+ * 유니온 아티팩트 효과 정보
3845
+ */
3846
+ class UnionArtifactEffectDto {
3847
+ /**
3848
+ * 아티팩트 효과 명
3849
+ */
3850
+ name;
3851
+ /**
3852
+ * 아티팩트 효과 레벨
3853
+ */
3854
+ level;
3855
+ constructor(obj) {
3856
+ const { name, level } = obj;
3857
+ this.name = name;
3858
+ this.level = level;
3859
+ }
3860
+ }
3861
+
3862
+ /**
3863
+ * 유니온 아티팩트 정보
3864
+ */
3865
+ class UnionArtifactDto {
3866
+ /**
3867
+ * 조회 기준일
3868
+ */
3869
+ date;
3870
+ /**
3871
+ * 아티팩트 효과 정보
3872
+ */
3873
+ unionArtifactEffect;
3874
+ /**
3875
+ * 아티팩트 크리스탈 정보
3876
+ */
3877
+ unionArtifactCrystal;
3878
+ /**
3879
+ * 잔여 아티팩트 AP
3880
+ */
3881
+ unionArtifactRemainAp;
3882
+ constructor(obj) {
3883
+ const { date, union_artifact_effect, union_artifact_crystal, union_artifact_remain_ap, } = obj;
3884
+ this.date = new Date(date);
3885
+ this.unionArtifactEffect = union_artifact_effect.map((effect) => new UnionArtifactEffectDto(effect));
3886
+ this.unionArtifactCrystal = union_artifact_crystal.map((crystal) => new UnionArtifactCrystalDto(crystal));
3887
+ this.unionArtifactRemainAp = union_artifact_remain_ap;
3888
+ }
3889
+ }
3890
+
3324
3891
  /**
3325
3892
  * 유니온 정보
3326
3893
  */
@@ -3415,120 +3982,57 @@ class UnionRaiderBlockDto {
3415
3982
  this.blockControlPoint = new UnionRaiderBlockControlPointDto(block_control_point);
3416
3983
  this.blockPosition = block_position
3417
3984
  ? block_position.map((position) => new UnionRaiderBlockPositionDto(position))
3418
- : null;
3419
- }
3420
- }
3421
-
3422
- /**
3423
- * 유니온 공격대 배치 정보
3424
- */
3425
- class UnionRaiderInnerStatDto {
3426
- /**
3427
- * 공격대 배치 위치 (11시 방향부터 시계 방향 순서대로 0~7)
3428
- */
3429
- statFieldId;
3430
- /**
3431
- * 해당 지역 점령 효과
3432
- */
3433
- statFieldEffect;
3434
- constructor(obj) {
3435
- const { stat_field_id, stat_field_effect } = obj;
3436
- this.statFieldId = stat_field_id;
3437
- this.statFieldEffect = stat_field_effect;
3438
- }
3439
- }
3440
-
3441
- /**
3442
- * 유니온 공격대 정보
3443
- */
3444
- class UnionRaiderDto {
3445
- date;
3446
- /**
3447
- * 유니온 공격대원 효과
3448
- */
3449
- unionRaiderStat;
3450
- /**
3451
- * 유니온 공격대 점령 효과
3452
- */
3453
- unionOccupiedStat;
3454
- /**
3455
- * 유니온 공격대 배치
3456
- */
3457
- unionInnerStat;
3458
- /**
3459
- * 유니온 블록 정보
3460
- */
3461
- unionBlock;
3462
- constructor(obj) {
3463
- const { date, union_raider_stat, union_occupied_stat, union_inner_stat, union_block, } = obj;
3464
- this.date = new Date(date);
3465
- this.unionRaiderStat = union_raider_stat;
3466
- this.unionOccupiedStat = union_occupied_stat;
3467
- this.unionInnerStat = union_inner_stat.map((stat) => new UnionRaiderInnerStatDto(stat));
3468
- this.unionBlock = union_block.map((block) => new UnionRaiderBlockDto(block));
3469
- }
3470
- }
3471
-
3472
- /**
3473
- * 유니온 랭킹 정보
3474
- */
3475
- class UnionRankingDto {
3476
- /**
3477
- * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3478
- */
3479
- date;
3480
- /**
3481
- * 유니온 랭킹 순위
3482
- */
3483
- ranking;
3484
- /**
3485
- * 캐릭터 명
3486
- */
3487
- characterName;
3488
- /**
3489
- * 월드 명
3490
- */
3491
- worldName;
3492
- /**
3493
- * 직업 명
3494
- */
3495
- className;
3496
- /**
3497
- * 전직 직업 명
3498
- */
3499
- subClassName;
3985
+ : null;
3986
+ }
3987
+ }
3988
+
3989
+ /**
3990
+ * 유니온 공격대 배치 정보
3991
+ */
3992
+ class UnionRaiderInnerStatDto {
3500
3993
  /**
3501
- * 유니온 레벨
3994
+ * 공격대 배치 위치 (11시 방향부터 시계 방향 순서대로 0~7)
3502
3995
  */
3503
- unionLevel;
3996
+ statFieldId;
3504
3997
  /**
3505
- * 유니온 파워
3998
+ * 해당 지역 점령 효과
3506
3999
  */
3507
- unionPower;
4000
+ statFieldEffect;
3508
4001
  constructor(obj) {
3509
- const { date, ranking, character_name, world_name, class_name, sub_class_name, union_level, union_power, } = obj;
3510
- this.date = new Date(date);
3511
- this.ranking = ranking;
3512
- this.characterName = character_name;
3513
- this.worldName = world_name;
3514
- this.className = class_name;
3515
- this.subClassName = sub_class_name;
3516
- this.unionLevel = union_level;
3517
- this.unionPower = union_power;
4002
+ const { stat_field_id, stat_field_effect } = obj;
4003
+ this.statFieldId = stat_field_id;
4004
+ this.statFieldEffect = stat_field_effect;
3518
4005
  }
3519
4006
  }
3520
4007
 
3521
4008
  /**
3522
- * 유니온 랭킹 응답 정보
4009
+ * 유니온 공격대 정보
3523
4010
  */
3524
- class UnionRankingResponseDto {
4011
+ class UnionRaiderDto {
4012
+ date;
3525
4013
  /**
3526
- * 유니온 랭킹 정보
4014
+ * 유니온 공격대원 효과
3527
4015
  */
3528
- ranking;
4016
+ unionRaiderStat;
4017
+ /**
4018
+ * 유니온 공격대 점령 효과
4019
+ */
4020
+ unionOccupiedStat;
4021
+ /**
4022
+ * 유니온 공격대 배치
4023
+ */
4024
+ unionInnerStat;
4025
+ /**
4026
+ * 유니온 블록 정보
4027
+ */
4028
+ unionBlock;
3529
4029
  constructor(obj) {
3530
- const { ranking } = obj;
3531
- this.ranking = ranking.map((rank) => new UnionRankingDto(rank));
4030
+ const { date, union_raider_stat, union_occupied_stat, union_inner_stat, union_block, } = obj;
4031
+ this.date = new Date(date);
4032
+ this.unionRaiderStat = union_raider_stat;
4033
+ this.unionOccupiedStat = union_occupied_stat;
4034
+ this.unionInnerStat = union_inner_stat.map((stat) => new UnionRaiderInnerStatDto(stat));
4035
+ this.unionBlock = union_block.map((block) => new UnionRaiderBlockDto(block));
3532
4036
  }
3533
4037
  }
3534
4038
 
@@ -3572,148 +4076,154 @@ const errorMap = {
3572
4076
  };
3573
4077
 
3574
4078
  /**
3575
- * 스타포스 강화 이벤트 정보
4079
+ * 잠재능력 재설정 결과 옵션 정보
3576
4080
  */
3577
- class StarforceEventDto {
3578
- /**
3579
- * 이벤트 성공 확률
3580
- */
3581
- successRate;
3582
- /**
3583
- * 이벤트 비용 할인율
3584
- */
3585
- costDiscountRate;
4081
+ class PotentialResultOptionDto {
3586
4082
  /**
3587
- * 이벤트 강화 수치 가중값
4083
+ * 옵션
3588
4084
  */
3589
- plusValue;
4085
+ value;
3590
4086
  /**
3591
- * 이벤트 적용 강화 시도 가능한 n성 범위
4087
+ * 옵션 등급
3592
4088
  */
3593
- starforceEventRange;
4089
+ grade;
3594
4090
  constructor(obj) {
3595
- const { success_rate, cost_discount_rate, plus_value, starforce_event_range, } = obj;
3596
- this.successRate = success_rate;
3597
- this.costDiscountRate = cost_discount_rate;
3598
- this.plusValue = plus_value;
3599
- this.starforceEventRange = starforce_event_range;
4091
+ const { value, grade } = obj;
4092
+ this.value = value;
4093
+ this.grade = grade;
4094
+ }
4095
+ get gradeEnum() {
4096
+ return potentialOptionGradeFromString(this.grade);
3600
4097
  }
3601
4098
  }
3602
4099
 
3603
4100
  /**
3604
- * 스타포스 히스토리
4101
+ * 잠재능력 재설정 히스토리
3605
4102
  */
3606
- class StarforceHistoryDto {
4103
+ class PotentialHistoryDto {
3607
4104
  /**
3608
- *스타포스 히스토리 식별자
4105
+ * 잠재능력 재설정 히스토리 식별자
3609
4106
  */
3610
4107
  id;
3611
4108
  /**
3612
- *강화 시도 결과
4109
+ * 캐릭터
3613
4110
  */
3614
- itemUpgradeResult;
4111
+ characterName;
3615
4112
  /**
3616
- *강화 시도 전 스타포스 수치
4113
+ * 사용 일시
3617
4114
  */
3618
- beforeStarforceCount;
4115
+ dateCreate;
3619
4116
  /**
3620
- *강화 시도 스타포스 수치
4117
+ * 대상 잠재능력 타입 (잠재능력, 에디셔널 잠재능력)
3621
4118
  */
3622
- afterStarforceCount;
4119
+ potentialType;
3623
4120
  /**
3624
- *스타 캐치
4121
+ * 사용 결과
3625
4122
  */
3626
- starCatchResult;
4123
+ itemUpgradeResult;
3627
4124
  /**
3628
- *슈페리얼 장비
4125
+ * 미라클 타임 적용 여부
3629
4126
  */
3630
- superiorItemFlag;
4127
+ miracleTimeFlag;
3631
4128
  /**
3632
- *파괴 방지
4129
+ * 장비 분류
3633
4130
  */
3634
- destroyDefence;
4131
+ itemEquipmentPart;
3635
4132
  /**
3636
- *찬스 타임
4133
+ * 장비 레벨
3637
4134
  */
3638
- chanceTime;
4135
+ itemLevel;
3639
4136
  /**
3640
- *파괴 방지 필드 이벤트
4137
+ * 잠재능력 재설정 장비 명
3641
4138
  */
3642
- eventFieldFlag;
4139
+ targetItem;
3643
4140
  /**
3644
- *사용 주문서
4141
+ * 잠재능력 등급
3645
4142
  */
3646
- upgradeItem;
4143
+ potentialOptionGrade;
3647
4144
  /**
3648
- *프로텍트 실드
4145
+ * 에디셔널 잠재능력 등급
3649
4146
  */
3650
- protectShield;
4147
+ additionalPotentialOptionGrade;
3651
4148
  /**
3652
- *보너스 스탯 부여 아이템 여부
4149
+ * 천장에 도달하여 확정 등급 상승한 여부
3653
4150
  */
3654
- bonusStatUpgrade;
4151
+ upgradeGuarantee;
3655
4152
  /**
3656
- *캐릭터
4153
+ * 현재까지 쌓은 스택
3657
4154
  */
3658
- characterName;
4155
+ upgradeGuaranteeCount;
3659
4156
  /**
3660
- *월드
4157
+ * 사용 전 잠재능력 옵션
3661
4158
  */
3662
- worldName;
4159
+ beforePotentialOption;
3663
4160
  /**
3664
- *대상 장비 아이템
4161
+ * 사용 에디셔널 잠재능력 옵션
3665
4162
  */
3666
- targetItem;
4163
+ beforeAdditionalPotentialOption;
3667
4164
  /**
3668
- *강화 일시 (KST)
4165
+ * 사용 후 잠재능력 옵션
3669
4166
  */
3670
- dateCreate;
4167
+ afterPotentialOption;
3671
4168
  /**
3672
- * 진행 중인 스타포스 강화 이벤트 정보
4169
+ * 사용 에디셔널 잠재능력 옵션
3673
4170
  */
3674
- starforceEventList;
4171
+ afterAdditionalPotentialOption;
3675
4172
  constructor(obj) {
3676
- const { id, item_upgrade_result, before_starforce_count, after_starforce_count, starcatch_result, superior_item_flag, destroy_defence, chance_time, event_field_flag, upgrade_item, protect_shield, bonus_stat_upgrade, character_name, world_name, target_item, date_create, starforce_event_list, } = obj;
4173
+ const { id, character_name, date_create, potential_type, item_upgrade_result, miracle_time_flag, item_equipment_part, item_level, target_item, potential_option_grade, additional_potential_option_grade, upgrade_guarantee, upgrade_guarantee_count, before_potential_option, before_additional_potential_option, after_potential_option, after_additional_potential_option, } = obj;
3677
4174
  this.id = id;
3678
- this.itemUpgradeResult = item_upgrade_result;
3679
- this.beforeStarforceCount = before_starforce_count;
3680
- this.afterStarforceCount = after_starforce_count;
3681
- this.starCatchResult = starcatch_result;
3682
- this.superiorItemFlag = superior_item_flag;
3683
- this.destroyDefence = destroy_defence;
3684
- this.chanceTime = chance_time;
3685
- this.eventFieldFlag = event_field_flag;
3686
- this.upgradeItem = upgrade_item;
3687
- this.protectShield = protect_shield;
3688
- this.bonusStatUpgrade = bonus_stat_upgrade;
3689
4175
  this.characterName = character_name;
3690
- this.worldName = world_name;
3691
- this.targetItem = target_item;
3692
4176
  this.dateCreate = new Date(date_create);
3693
- this.starforceEventList = starforce_event_list.map((event) => new StarforceEventDto(event));
4177
+ this.potentialType = potential_type;
4178
+ this.itemUpgradeResult = item_upgrade_result;
4179
+ this.miracleTimeFlag = miracle_time_flag;
4180
+ this.itemEquipmentPart = item_equipment_part;
4181
+ this.itemLevel = item_level;
4182
+ this.targetItem = target_item;
4183
+ this.potentialOptionGrade = potential_option_grade;
4184
+ this.additionalPotentialOptionGrade = additional_potential_option_grade;
4185
+ this.upgradeGuarantee = upgrade_guarantee;
4186
+ this.upgradeGuaranteeCount = upgrade_guarantee_count;
4187
+ this.beforePotentialOption = before_potential_option.map((origin) => new PotentialResultOptionDto(origin));
4188
+ this.beforeAdditionalPotentialOption =
4189
+ before_additional_potential_option.map((origin) => new PotentialResultOptionDto(origin));
4190
+ this.afterPotentialOption = after_potential_option.map((origin) => new PotentialResultOptionDto(origin));
4191
+ this.afterAdditionalPotentialOption = after_additional_potential_option.map((origin) => new PotentialResultOptionDto(origin));
4192
+ }
4193
+ get isItemUpgrade() {
4194
+ return this.itemUpgradeResult === '성공';
4195
+ }
4196
+ get isMiracleTimeFlag() {
4197
+ return this.miracleTimeFlag !== '이벤트 적용되지 않음';
4198
+ }
4199
+ get potentialOptionGradeEnum() {
4200
+ return potentialOptionGradeFromString(this.potentialOptionGrade);
4201
+ }
4202
+ get additionalPotentialOptionGradeEnum() {
4203
+ return potentialOptionGradeFromString(this.additionalPotentialOptionGrade);
3694
4204
  }
3695
4205
  }
3696
4206
 
3697
4207
  /**
3698
- * 스타포스 히스토리 응답 정보
4208
+ * 잠재능력 재설정 히스토리 응답 정보
3699
4209
  */
3700
- class StarforceHistoryResponseDto {
4210
+ class PotentialHistoryResponseDto {
3701
4211
  /**
3702
4212
  * 결과 건 수
3703
4213
  */
3704
4214
  count;
3705
4215
  /**
3706
- * 스타포스 히스토리
4216
+ * 잠재능력 재설정 히스토리
3707
4217
  */
3708
- starforceHistory;
4218
+ potentialHistory;
3709
4219
  /**
3710
4220
  * 페이징 처리를 위한 cursor
3711
4221
  */
3712
4222
  nextCursor;
3713
4223
  constructor(obj) {
3714
- const { count, starforce_history, next_cursor } = obj;
4224
+ const { count, potential_history, next_cursor } = obj;
3715
4225
  this.count = count;
3716
- this.starforceHistory = starforce_history.map((origin) => new StarforceHistoryDto(origin));
4226
+ this.potentialHistory = potential_history.map((origin) => new PotentialHistoryDto(origin));
3717
4227
  this.nextCursor = next_cursor;
3718
4228
  }
3719
4229
  }
@@ -3775,7 +4285,7 @@ class MapleStoryApi {
3775
4285
  async getCharacterBasic(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3776
4286
  hour: 1,
3777
4287
  minute: 0,
3778
- dateOffset: 1
4288
+ dateOffset: 1,
3779
4289
  })) {
3780
4290
  const query = {
3781
4291
  ocid: ocid,
@@ -3815,7 +4325,7 @@ class MapleStoryApi {
3815
4325
  async getCharacterPopularity(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3816
4326
  hour: 1,
3817
4327
  minute: 0,
3818
- dateOffset: 1
4328
+ dateOffset: 1,
3819
4329
  })) {
3820
4330
  const query = {
3821
4331
  ocid: ocid,
@@ -3855,7 +4365,7 @@ class MapleStoryApi {
3855
4365
  async getCharacterStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3856
4366
  hour: 1,
3857
4367
  minute: 0,
3858
- dateOffset: 1
4368
+ dateOffset: 1,
3859
4369
  })) {
3860
4370
  const query = {
3861
4371
  ocid: ocid,
@@ -3895,7 +4405,7 @@ class MapleStoryApi {
3895
4405
  async getCharacterHyperStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3896
4406
  hour: 1,
3897
4407
  minute: 0,
3898
- dateOffset: 1
4408
+ dateOffset: 1,
3899
4409
  })) {
3900
4410
  const query = {
3901
4411
  ocid: ocid,
@@ -3935,7 +4445,7 @@ class MapleStoryApi {
3935
4445
  async getCharacterPropensity(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3936
4446
  hour: 1,
3937
4447
  minute: 0,
3938
- dateOffset: 1
4448
+ dateOffset: 1,
3939
4449
  })) {
3940
4450
  const query = {
3941
4451
  ocid: ocid,
@@ -3975,7 +4485,7 @@ class MapleStoryApi {
3975
4485
  async getCharacterAbility(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3976
4486
  hour: 1,
3977
4487
  minute: 0,
3978
- dateOffset: 1
4488
+ dateOffset: 1,
3979
4489
  })) {
3980
4490
  const query = {
3981
4491
  ocid: ocid,
@@ -4015,7 +4525,7 @@ class MapleStoryApi {
4015
4525
  async getCharacterItemEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4016
4526
  hour: 1,
4017
4527
  minute: 0,
4018
- dateOffset: 1
4528
+ dateOffset: 1,
4019
4529
  })) {
4020
4530
  const query = {
4021
4531
  ocid: ocid,
@@ -4055,7 +4565,7 @@ class MapleStoryApi {
4055
4565
  async getCharacterCashItemEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4056
4566
  hour: 1,
4057
4567
  minute: 0,
4058
- dateOffset: 1
4568
+ dateOffset: 1,
4059
4569
  })) {
4060
4570
  const query = {
4061
4571
  ocid: ocid,
@@ -4095,7 +4605,7 @@ class MapleStoryApi {
4095
4605
  async getCharacterSymbolEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4096
4606
  hour: 1,
4097
4607
  minute: 0,
4098
- dateOffset: 1
4608
+ dateOffset: 1,
4099
4609
  })) {
4100
4610
  const query = {
4101
4611
  ocid: ocid,
@@ -4135,7 +4645,7 @@ class MapleStoryApi {
4135
4645
  async getCharacterSetEffect(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4136
4646
  hour: 1,
4137
4647
  minute: 0,
4138
- dateOffset: 1
4648
+ dateOffset: 1,
4139
4649
  })) {
4140
4650
  const query = {
4141
4651
  ocid: ocid,
@@ -4175,7 +4685,7 @@ class MapleStoryApi {
4175
4685
  async getCharacterBeautyEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4176
4686
  hour: 1,
4177
4687
  minute: 0,
4178
- dateOffset: 1
4688
+ dateOffset: 1,
4179
4689
  })) {
4180
4690
  const query = {
4181
4691
  ocid: ocid,
@@ -4215,7 +4725,7 @@ class MapleStoryApi {
4215
4725
  async getCharacterAndroidEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4216
4726
  hour: 1,
4217
4727
  minute: 0,
4218
- dateOffset: 1
4728
+ dateOffset: 1,
4219
4729
  })) {
4220
4730
  const query = {
4221
4731
  ocid: ocid,
@@ -4255,7 +4765,7 @@ class MapleStoryApi {
4255
4765
  async getCharacterPetEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4256
4766
  hour: 1,
4257
4767
  minute: 0,
4258
- dateOffset: 1
4768
+ dateOffset: 1,
4259
4769
  })) {
4260
4770
  const query = {
4261
4771
  ocid: ocid,
@@ -4307,7 +4817,7 @@ class MapleStoryApi {
4307
4817
  async getCharacterSkill(ocid, characterSkillGrade, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4308
4818
  hour: 1,
4309
4819
  minute: 0,
4310
- dateOffset: 1
4820
+ dateOffset: 1,
4311
4821
  })) {
4312
4822
  const query = {
4313
4823
  ocid: ocid,
@@ -4348,7 +4858,7 @@ class MapleStoryApi {
4348
4858
  async getCharacterLinkSkill(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4349
4859
  hour: 1,
4350
4860
  minute: 0,
4351
- dateOffset: 1
4861
+ dateOffset: 1,
4352
4862
  })) {
4353
4863
  const query = {
4354
4864
  ocid: ocid,
@@ -4388,7 +4898,7 @@ class MapleStoryApi {
4388
4898
  async getCharacterVMatrix(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4389
4899
  hour: 1,
4390
4900
  minute: 0,
4391
- dateOffset: 1
4901
+ dateOffset: 1,
4392
4902
  })) {
4393
4903
  const query = {
4394
4904
  ocid: ocid,
@@ -4428,7 +4938,7 @@ class MapleStoryApi {
4428
4938
  async getCharacterHexaMatrix(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4429
4939
  hour: 1,
4430
4940
  minute: 0,
4431
- dateOffset: 1
4941
+ dateOffset: 1,
4432
4942
  })) {
4433
4943
  const query = {
4434
4944
  ocid: ocid,
@@ -4468,7 +4978,7 @@ class MapleStoryApi {
4468
4978
  async getCharacterHexaMatrixStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4469
4979
  hour: 1,
4470
4980
  minute: 0,
4471
- dateOffset: 1
4981
+ dateOffset: 1,
4472
4982
  })) {
4473
4983
  const query = {
4474
4984
  ocid: ocid,
@@ -4508,7 +5018,7 @@ class MapleStoryApi {
4508
5018
  async getCharacterDojang(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4509
5019
  hour: 1,
4510
5020
  minute: 0,
4511
- dateOffset: 1
5021
+ dateOffset: 1,
4512
5022
  })) {
4513
5023
  const query = {
4514
5024
  ocid: ocid,
@@ -4547,10 +5057,10 @@ class MapleStoryApi {
4547
5057
  * @param ocid 캐릭터 식별자
4548
5058
  * @param dateOptions 조회 기준일 (KST)
4549
5059
  */
4550
- async getUnionInfo(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
5060
+ async getUnion(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4551
5061
  hour: 1,
4552
5062
  minute: 0,
4553
- dateOffset: 1
5063
+ dateOffset: 1,
4554
5064
  })) {
4555
5065
  const query = {
4556
5066
  ocid: ocid,
@@ -4587,10 +5097,10 @@ class MapleStoryApi {
4587
5097
  * @param ocid 캐릭터 식별자
4588
5098
  * @param dateOptions 조회 기준일 (KST)
4589
5099
  */
4590
- async getUnionRaiderInfo(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
5100
+ async getUnionRaider(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4591
5101
  hour: 1,
4592
5102
  minute: 0,
4593
- dateOffset: 1
5103
+ dateOffset: 1,
4594
5104
  })) {
4595
5105
  const query = {
4596
5106
  ocid: ocid,
@@ -4606,7 +5116,7 @@ class MapleStoryApi {
4606
5116
  baseURL: MapleStoryApi.BASE_URL,
4607
5117
  timeout: this.timeout,
4608
5118
  headers: this.buildHeaders(),
4609
- params: query
5119
+ params: query,
4610
5120
  });
4611
5121
  return new UnionRaiderDto(response.data);
4612
5122
  }
@@ -4618,6 +5128,46 @@ class MapleStoryApi {
4618
5128
  throw e;
4619
5129
  }
4620
5130
  }
5131
+ /**
5132
+ * 유니온 아티팩트 정보를 조회합니다.
5133
+ * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
5134
+ * - 유니온 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5135
+ * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
5136
+ *
5137
+ * @param ocid 캐릭터 식별자
5138
+ * @param dateOptions 조회 기준일 (KST)
5139
+ */
5140
+ async getUnionArtifact(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
5141
+ hour: 1,
5142
+ minute: 0,
5143
+ dateOffset: 1,
5144
+ })) {
5145
+ const query = {
5146
+ ocid: ocid,
5147
+ date: MapleStoryApi.toDateString({
5148
+ year: 2023,
5149
+ month: 12,
5150
+ day: 21,
5151
+ }, dateOptions),
5152
+ };
5153
+ try {
5154
+ const path = 'maplestory/v1/user/union-artifact';
5155
+ const response = await axios.get(path, {
5156
+ baseURL: MapleStoryApi.BASE_URL,
5157
+ timeout: this.timeout,
5158
+ headers: this.buildHeaders(),
5159
+ params: query,
5160
+ });
5161
+ return new UnionArtifactDto(response.data);
5162
+ }
5163
+ catch (e) {
5164
+ if (e instanceof AxiosError) {
5165
+ const errorBody = e.response.data;
5166
+ throw new MapleStoryApiError(errorBody);
5167
+ }
5168
+ throw e;
5169
+ }
5170
+ }
4621
5171
  //#endregion
4622
5172
  //#region 길드 정보 조회
4623
5173
  /**
@@ -4663,7 +5213,7 @@ class MapleStoryApi {
4663
5213
  async getGuildBasic(guildId, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4664
5214
  hour: 1,
4665
5215
  minute: 0,
4666
- dateOffset: 1
5216
+ dateOffset: 1,
4667
5217
  })) {
4668
5218
  const query = {
4669
5219
  oguild_id: guildId,
@@ -4703,11 +5253,12 @@ class MapleStoryApi {
4703
5253
  year: 2023,
4704
5254
  month: 12,
4705
5255
  day: 27,
4706
- }, parameter ?? MapleStoryApi.getProperDefaultDateOptions({
4707
- hour: 0,
4708
- minute: 0,
4709
- dateOffset: 0
4710
- }));
5256
+ }, parameter ??
5257
+ MapleStoryApi.getProperDefaultDateOptions({
5258
+ hour: 0,
5259
+ minute: 0,
5260
+ dateOffset: 0,
5261
+ }));
4711
5262
  }
4712
5263
  try {
4713
5264
  const path = 'maplestory/v1/history/starforce';
@@ -4734,16 +5285,17 @@ class MapleStoryApi {
4734
5285
  if (typeof parameter === 'string') {
4735
5286
  query.cursor = parameter;
4736
5287
  }
4737
- else if (typeof parameter === 'object') {
5288
+ else if (typeof parameter === 'object' || parameter === undefined) {
4738
5289
  query.date = MapleStoryApi.toDateString({
4739
5290
  year: 2022,
4740
5291
  month: 11,
4741
5292
  day: 25,
4742
- }, parameter ?? MapleStoryApi.getProperDefaultDateOptions({
4743
- hour: 4,
4744
- minute: 0,
4745
- dateOffset: 1
4746
- }));
5293
+ }, parameter ??
5294
+ MapleStoryApi.getProperDefaultDateOptions({
5295
+ hour: 4,
5296
+ minute: 0,
5297
+ dateOffset: 1,
5298
+ }));
4747
5299
  }
4748
5300
  try {
4749
5301
  const path = 'maplestory/v1/history/cube';
@@ -4763,6 +5315,43 @@ class MapleStoryApi {
4763
5315
  throw e;
4764
5316
  }
4765
5317
  }
5318
+ async getPotentialHistory(count, parameter) {
5319
+ const query = {
5320
+ count,
5321
+ };
5322
+ if (typeof parameter === 'string') {
5323
+ query.cursor = parameter;
5324
+ }
5325
+ else if (typeof parameter === 'object' || parameter === undefined) {
5326
+ query.date = MapleStoryApi.toDateString({
5327
+ year: 2024,
5328
+ month: 1,
5329
+ day: 25,
5330
+ }, parameter ??
5331
+ MapleStoryApi.getProperDefaultDateOptions({
5332
+ hour: 4,
5333
+ minute: 0,
5334
+ dateOffset: 1,
5335
+ }));
5336
+ }
5337
+ try {
5338
+ const path = 'maplestory/v1/history/potential';
5339
+ const response = await axios.get(path, {
5340
+ baseURL: MapleStoryApi.BASE_URL,
5341
+ timeout: this.timeout,
5342
+ headers: this.buildHeaders(),
5343
+ params: query,
5344
+ });
5345
+ return new PotentialHistoryResponseDto(response.data);
5346
+ }
5347
+ catch (e) {
5348
+ if (e instanceof AxiosError) {
5349
+ const errorBody = e.response.data;
5350
+ throw new MapleStoryApiError(errorBody);
5351
+ }
5352
+ throw e;
5353
+ }
5354
+ }
4766
5355
  //#endregion
4767
5356
  //#region 랭킹 정보 조회
4768
5357
  /**
@@ -4778,7 +5367,7 @@ class MapleStoryApi {
4778
5367
  async getOverallRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4779
5368
  hour: 8,
4780
5369
  minute: 30,
4781
- dateOffset: 0
5370
+ dateOffset: 0,
4782
5371
  })) {
4783
5372
  const query = {
4784
5373
  date: MapleStoryApi.toDateString({
@@ -4825,7 +5414,7 @@ class MapleStoryApi {
4825
5414
  async getUnionRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4826
5415
  hour: 8,
4827
5416
  minute: 30,
4828
- dateOffset: 0
5417
+ dateOffset: 0,
4829
5418
  })) {
4830
5419
  const query = {
4831
5420
  date: MapleStoryApi.toDateString({
@@ -4870,7 +5459,7 @@ class MapleStoryApi {
4870
5459
  async getGuildRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4871
5460
  hour: 8,
4872
5461
  minute: 30,
4873
- dateOffset: 0
5462
+ dateOffset: 0,
4874
5463
  })) {
4875
5464
  const query = {
4876
5465
  date: MapleStoryApi.toDateString({
@@ -4917,7 +5506,7 @@ class MapleStoryApi {
4917
5506
  async getDojangRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4918
5507
  hour: 8,
4919
5508
  minute: 30,
4920
- dateOffset: 0
5509
+ dateOffset: 0,
4921
5510
  })) {
4922
5511
  const query = {
4923
5512
  date: MapleStoryApi.toDateString({
@@ -4965,7 +5554,7 @@ class MapleStoryApi {
4965
5554
  async getSeedRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4966
5555
  hour: 8,
4967
5556
  minute: 30,
4968
- dateOffset: 0
5557
+ dateOffset: 0,
4969
5558
  })) {
4970
5559
  const query = {
4971
5560
  date: MapleStoryApi.toDateString({
@@ -5010,7 +5599,7 @@ class MapleStoryApi {
5010
5599
  async getAchievementRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
5011
5600
  hour: 8,
5012
5601
  minute: 30,
5013
- dateOffset: 0
5602
+ dateOffset: 0,
5014
5603
  })) {
5015
5604
  const query = {
5016
5605
  date: MapleStoryApi.toDateString({
@@ -5108,7 +5697,7 @@ class MapleStoryApi {
5108
5697
  return {
5109
5698
  year: adjustedDate.year(),
5110
5699
  month: adjustedDate.month() + 1,
5111
- day: adjustedDate.date()
5700
+ day: adjustedDate.date(),
5112
5701
  };
5113
5702
  }
5114
5703
  /**
@@ -5126,8 +5715,10 @@ class MapleStoryApi {
5126
5715
  (year === minYear && month === minMonth && day < minDay)) {
5127
5716
  throw new Error(`You can only retrieve data after ${dayjs(`${minYear}-${minMonth}-${minDay}`).format('YYYY-MM-DD')}.`);
5128
5717
  }
5129
- return dayjs(`${year}-${month}-${day}`).utcOffset(MapleStoryApi.kstOffset).format('YYYY-MM-DD');
5718
+ return dayjs(`${year}-${month}-${day}`)
5719
+ .utcOffset(MapleStoryApi.kstOffset)
5720
+ .format('YYYY-MM-DD');
5130
5721
  }
5131
5722
  }
5132
5723
 
5133
- export { AchievementRankingDto, AchievementRankingResponseDto, CharacterAbilityDto, CharacterAbilityInfoDto, CharacterAndroidCashItemEquipmentColoringPrismDto, CharacterAndroidCashItemEquipmentDto, CharacterAndroidCashItemEquipmentOptionDto, CharacterAndroidEquipmentDto, CharacterAndroidEquipmentFaceDto, CharacterAndroidEquipmentHairDto, CharacterBasicDto, CharacterBeautyEquipmentDto, CharacterBeautyEquipmentFaceDto, CharacterBeautyEquipmentHairDto, CharacterCashItemEquipmentColoringPrismDto, CharacterCashItemEquipmentDto, CharacterCashItemEquipmentOptionDto, CharacterCashItemEquipmentPresetDto, CharacterDojangDto, CharacterDto, CharacterHexaMatrixDto, CharacterHexaMatrixEquipmentDto, CharacterHexaMatrixEquipmentLinkedSkillDto, CharacterHexaMatrixStatCoreDto, CharacterHexaMatrixStatDto, CharacterHyperStatDto, CharacterHyperStatPresetDto, CharacterItemEquipmentAddOptionDto, CharacterItemEquipmentBaseOptionDto, CharacterItemEquipmentDragonInfoDto, CharacterItemEquipmentDto, CharacterItemEquipmentEtcOptionDto, CharacterItemEquipmentExceptionalOptionDto, CharacterItemEquipmentInfoDto, CharacterItemEquipmentMechanicInfoDto, CharacterItemEquipmentStarforceOptionDto, CharacterItemEquipmentTitleDto, CharacterItemEquipmentTotalOptionDto, CharacterLinkSkillDto, CharacterLinkSkillInfoDto, CharacterPetEquipmentAutoSkillDto, CharacterPetEquipmentDto, CharacterPetEquipmentItemDto, CharacterPetEquipmentItemOptionDto, CharacterPopularityDto, CharacterPropensityDto, CharacterSetEffectDto, CharacterSetEffectInfoDto, CharacterSetEffectOptionInfoDto, CharacterSkillDto, CharacterSkillInfoDto, CharacterStatDto, CharacterSymbolEquipmentDto, CharacterSymbolEquipmentInfoDto, CharacterVMatrixCodeEquipmentDto, CharacterVMatrixDto, CubeHistoryDto, CubeHistoryResponseDto, CubeResultOptionDto, DojangRankingDto, DojangRankingResponseDto, GuildBasicDto, GuildDto, GuildRankingDto, GuildRankingResponseDto, GuildSkillDto, InspectionInfoDto, MapleStoryApi, MapleStoryApiError, MapleStoryApiErrorCode, OverallRankingDto, OverallRankingResponseDto, PotentialOptionGrade, StarforceEventDto, StarforceHistoryDto, StarforceHistoryResponseDto, TheSeedRankingDto, TheSeedRankingResponseDto, UnionDto, UnionRaiderBlockControlPointDto, UnionRaiderBlockDto, UnionRaiderBlockPositionDto, UnionRaiderDto, UnionRaiderInnerStatDto, UnionRankingDto, UnionRankingResponseDto, potentialOptionGradeFromString };
5724
+ export { AchievementRankingDto, AchievementRankingResponseDto, CharacterAbilityDto, CharacterAbilityInfoDto, CharacterAbilityPresetDto, CharacterAndroidCashItemEquipmentColoringPrismDto, CharacterAndroidCashItemEquipmentDto, CharacterAndroidCashItemEquipmentOptionDto, CharacterAndroidEquipmentDto, CharacterAndroidEquipmentFaceDto, CharacterAndroidEquipmentHairDto, CharacterAndroidEquipmentPresetDto, CharacterBasicDto, CharacterBeautyEquipmentDto, CharacterBeautyEquipmentFaceDto, CharacterBeautyEquipmentHairDto, CharacterCashItemEquipmentColoringPrismDto, CharacterCashItemEquipmentDto, CharacterCashItemEquipmentOptionDto, CharacterCashItemEquipmentPresetDto, CharacterDojangDto, CharacterDto, CharacterHexaMatrixDto, CharacterHexaMatrixEquipmentDto, CharacterHexaMatrixEquipmentLinkedSkillDto, CharacterHexaMatrixStatCoreDto, CharacterHexaMatrixStatDto, CharacterHyperStatDto, CharacterHyperStatPresetDto, CharacterItemEquipmentAddOptionDto, CharacterItemEquipmentBaseOptionDto, CharacterItemEquipmentDragonInfoDto, CharacterItemEquipmentDto, CharacterItemEquipmentEtcOptionDto, CharacterItemEquipmentExceptionalOptionDto, CharacterItemEquipmentInfoDto, CharacterItemEquipmentMechanicInfoDto, CharacterItemEquipmentStarforceOptionDto, CharacterItemEquipmentTitleDto, CharacterItemEquipmentTotalOptionDto, CharacterLinkSkillDto, CharacterLinkSkillInfoDto, CharacterPetEquipmentAutoSkillDto, CharacterPetEquipmentDto, CharacterPetEquipmentItemDto, CharacterPetEquipmentItemOptionDto, CharacterPopularityDto, CharacterPropensityDto, CharacterSetEffectDto, CharacterSetEffectInfoDto, CharacterSetEffectOptionInfoDto, CharacterSkillDto, CharacterSkillInfoDto, CharacterStatDto, CharacterSymbolEquipmentDto, CharacterSymbolEquipmentInfoDto, CharacterVMatrixCodeEquipmentDto, CharacterVMatrixDto, CubeHistoryDto, CubeHistoryResponseDto, CubeResultOptionDto, DojangRankingDto, DojangRankingResponseDto, GuildBasicDto, GuildDto, GuildRankingDto, GuildRankingResponseDto, GuildSkillDto, InspectionInfoDto, MapleStoryApi, MapleStoryApiError, MapleStoryApiErrorCode, OverallRankingDto, OverallRankingResponseDto, PotentialHistoryDto, PotentialHistoryResponseDto, PotentialOptionGrade, PotentialResultOptionDto, StarforceEventDto, StarforceHistoryDto, StarforceHistoryResponseDto, TheSeedRankingDto, TheSeedRankingResponseDto, UnionArtifactCrystalDto, UnionArtifactDto, UnionArtifactEffectDto, UnionDto, UnionRaiderBlockControlPointDto, UnionRaiderBlockDto, UnionRaiderBlockPositionDto, UnionRaiderDto, UnionRaiderInnerStatDto, UnionRankingDto, UnionRankingResponseDto, potentialOptionGradeFromString };