maplestory-openapi 2.3.1 → 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 (35) hide show
  1. package/README.md +1 -1
  2. package/dist/index.js +1520 -622
  3. package/dist/index.min.js +1 -1
  4. package/dist/index.mjs +1511 -623
  5. package/package.json +1 -1
  6. package/types/index.d.ts +10 -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/characterItemEquipmentDragonInfoDto.d.ts +126 -0
  15. package/types/maplestory/api/dto/character/characterItemEquipmentDto.d.ts +22 -4
  16. package/types/maplestory/api/dto/character/characterItemEquipmentInfoDto.d.ts +4 -1
  17. package/types/maplestory/api/dto/character/characterItemEquipmentMechanicInfoDto.d.ts +126 -0
  18. package/types/maplestory/api/dto/character/characterLinkSkillDto.d.ts +25 -1
  19. package/types/maplestory/api/dto/character/characterPetEquipmentDto.d.ts +51 -21
  20. package/types/maplestory/api/dto/character/characterPetEquipmentItemDto.d.ts +9 -1
  21. package/types/maplestory/api/dto/history/potentialHistoryDto.d.ts +82 -0
  22. package/types/maplestory/api/dto/history/potentialHistoryResponseDto.d.ts +21 -0
  23. package/types/maplestory/api/dto/history/potentialResultOptionDto.d.ts +18 -0
  24. package/types/maplestory/api/dto/union/unionArtifactCrystalDto.d.ts +36 -0
  25. package/types/maplestory/api/dto/union/unionArtifactDto.d.ts +26 -0
  26. package/types/maplestory/api/dto/union/unionArtifactEffectDto.d.ts +16 -0
  27. package/types/maplestory/api/mapleStoryApi.d.ts +49 -8
  28. package/types/maplestory/api/response/character/characterAbilityDtoBody.d.ts +9 -1
  29. package/types/maplestory/api/response/character/characterAndroidEquipmentDtoBody.d.ts +23 -1
  30. package/types/maplestory/api/response/character/characterCashItemEquipmentDtoBody.d.ts +3 -1
  31. package/types/maplestory/api/response/character/characterItemEquipmentDtoBody.d.ts +40 -5
  32. package/types/maplestory/api/response/character/characterLinkSkillDtoBody.d.ts +7 -1
  33. package/types/maplestory/api/response/character/characterPetEquipmentDtoBody.d.ts +30 -22
  34. package/types/maplestory/api/response/history/potentialHistoryResponseDtoBody.d.ts +29 -0
  35. 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 =
@@ -1448,6 +1560,9 @@ class CharacterItemEquipmentTotalOptionDto {
1448
1560
  }
1449
1561
  }
1450
1562
 
1563
+ /**
1564
+ * 캐릭터 장비 아이템 상세 정보
1565
+ */
1451
1566
  class CharacterItemEquipmentInfoDto {
1452
1567
  /**
1453
1568
  * 장비 부위 명
@@ -1456,7 +1571,7 @@ class CharacterItemEquipmentInfoDto {
1456
1571
  /**
1457
1572
  * 장비 슬롯 위치
1458
1573
  */
1459
- equipmentSlot;
1574
+ itemEquipmentSlot;
1460
1575
  /**
1461
1576
  * 장비 명
1462
1577
  */
@@ -1594,9 +1709,9 @@ class CharacterItemEquipmentInfoDto {
1594
1709
  */
1595
1710
  dateExpire;
1596
1711
  constructor(obj) {
1597
- const { item_equipment_part, equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, 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;
1712
+ 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_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;
1598
1713
  this.itemEquipmentPart = item_equipment_part;
1599
- this.equipmentSlot = equipment_slot;
1714
+ this.itemEquipmentSlot = item_equipment_slot;
1600
1715
  this.itemName = item_name;
1601
1716
  this.itemIcon = item_icon;
1602
1717
  this.itemDescription = item_description;
@@ -1680,113 +1795,457 @@ class CharacterItemEquipmentTitleDto {
1680
1795
  }
1681
1796
 
1682
1797
  /**
1683
- * 캐릭터 장비 아이템 정보
1798
+ * 에반 드래곤 장비 정보
1684
1799
  */
1685
- class CharacterItemEquipmentDto {
1800
+ class CharacterItemEquipmentDragonInfoDto {
1686
1801
  /**
1687
- * 조회 기준일
1802
+ * 장비 부위 명
1688
1803
  */
1689
- date;
1804
+ itemEquipmentPart;
1690
1805
  /**
1691
- * 캐릭터 성별
1806
+ * 장비 슬롯 위치
1692
1807
  */
1693
- characterGender;
1808
+ itemEquipmentSlot;
1694
1809
  /**
1695
- * 캐릭터 직업
1810
+ * 장비
1696
1811
  */
1697
- characterClass;
1812
+ itemName;
1698
1813
  /**
1699
- * 장비 정보 배열
1814
+ * 장비 아이콘
1700
1815
  */
1701
- itemEquipment;
1816
+ itemIcon;
1702
1817
  /**
1703
- * 칭호 정보
1818
+ * 장비 설명
1704
1819
  */
1705
- title;
1820
+ itemDescription;
1706
1821
  /**
1707
- * 에반 드래곤 장비 정보 (에반인 경우 응답)
1822
+ * 장비 외형
1708
1823
  */
1709
- dragonEquipment;
1824
+ itemShapeName;
1710
1825
  /**
1711
- * 메카닉 장비 정보 (메카닉인 경우 응답)
1826
+ * 장비 외형 아이콘
1712
1827
  */
1713
- mechanicEquipment;
1714
- constructor(obj) {
1715
- const { date, character_gender, character_class, item_equipment, title, dragon_equipment, mechanic_equipment, } = obj;
1716
- this.date = new Date(date);
1717
- this.characterGender = character_gender;
1718
- this.characterClass = character_class;
1719
- this.itemEquipment = item_equipment.map((equipment) => new CharacterItemEquipmentInfoDto(equipment));
1720
- this.title = new CharacterItemEquipmentTitleDto(title);
1721
- this.dragonEquipment = dragon_equipment
1722
- ? dragon_equipment.map((equipment) => new CharacterItemEquipmentInfoDto(equipment))
1723
- : undefined;
1724
- this.mechanicEquipment = mechanic_equipment
1725
- ? mechanic_equipment.map((equipment) => new CharacterItemEquipmentInfoDto(equipment))
1726
- : undefined;
1727
- }
1728
- }
1729
-
1730
- /**
1731
- * 캐릭터 링크 스킬 정보
1732
- */
1733
- class CharacterLinkSkillInfoDto {
1828
+ itemShapeIcon;
1734
1829
  /**
1735
- * 스킬
1830
+ * 전용 성별
1736
1831
  */
1737
- skillName;
1832
+ itemGender;
1738
1833
  /**
1739
- * 스킬 설명
1834
+ * 장비 최종 옵션
1740
1835
  */
1741
- skillDescription;
1836
+ itemTotalOption;
1742
1837
  /**
1743
- * 스킬 레벨
1838
+ * 장비 기본 옵션
1744
1839
  */
1745
- skillLevel;
1840
+ itemBaseOption;
1746
1841
  /**
1747
- * 스킬 효과
1842
+ * 착용 레벨 증가
1748
1843
  */
1749
- skillEffect;
1844
+ equipmentLevelIncrease;
1750
1845
  /**
1751
- * 스킬 아이콘
1846
+ * 장비 특별 옵션
1752
1847
  */
1753
- skillIcon;
1754
- constructor(obj) {
1755
- const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
1756
- this.skillName = skill_name;
1757
- this.skillDescription = skill_description;
1758
- this.skillLevel = skill_level;
1759
- this.skillEffect = skill_effect;
1760
- this.skillIcon = skill_icon;
1761
- }
1762
- }
1763
-
1764
- /**
1765
- * 캐릭터 링크 스킬 정보
1766
- */
1767
- class CharacterLinkSkillDto {
1848
+ itemExceptionalOption;
1768
1849
  /**
1769
- * 조회 기준일
1850
+ * 장비 추가 옵션
1770
1851
  */
1771
- date;
1852
+ itemAddOption;
1772
1853
  /**
1773
- * 캐릭터 직업
1854
+ * 성장 경험치
1774
1855
  */
1775
- characterClass;
1856
+ growthExp;
1776
1857
  /**
1777
- * 링크 스킬 정보
1858
+ * 성장 레벨
1778
1859
  */
1779
- characterLinkSkill;
1860
+ growthLevel;
1780
1861
  /**
1781
- * 링크 스킬 정보
1862
+ * 업그레이드 횟수
1782
1863
  */
1783
- characterOwnedLinkSkill;
1784
- constructor(obj) {
1785
- const { date, character_class, character_link_skill, character_owned_link_skill, } = obj;
1864
+ scrollUpgrade;
1865
+ /**
1866
+ * 가위 사용 가능 횟수 (교환 불가 장비, 가위 횟수가 없는 교환 가능 장비는 255)
1867
+ */
1868
+ cuttableCount;
1869
+ /**
1870
+ * 황금 망치 재련 적용 (1:적용, 이외 미 적용)
1871
+ */
1872
+ goldenHammerFlag;
1873
+ /**
1874
+ * 복구 가능 횟수
1875
+ */
1876
+ scrollResilienceCount;
1877
+ /**
1878
+ * 업그레이드 가능 횟수
1879
+ */
1880
+ scrollUpgradeableCount;
1881
+ /**
1882
+ * 소울 명
1883
+ */
1884
+ soulName;
1885
+ /**
1886
+ * 소울 옵션
1887
+ */
1888
+ soulOption;
1889
+ /**
1890
+ * 장비 기타 옵션
1891
+ */
1892
+ itemEtcOption;
1893
+ /**
1894
+ * 강화 단계
1895
+ */
1896
+ starforce;
1897
+ /**
1898
+ * 놀라운 장비 강화 주문서 사용 여부 (0:미사용, 1:사용)
1899
+ */
1900
+ starforceScrollFlag;
1901
+ /**
1902
+ * 장비 스타포스 옵션
1903
+ */
1904
+ itemStarforceOption;
1905
+ /**
1906
+ * 특수 반지 레벨
1907
+ */
1908
+ specialRingLevel;
1909
+ /**
1910
+ * 장비 유효 기간
1911
+ */
1912
+ dateExpire;
1913
+ constructor(obj) {
1914
+ 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;
1915
+ this.itemEquipmentPart = item_equipment_part;
1916
+ this.itemEquipmentSlot = item_equipment_slot;
1917
+ this.itemName = item_name;
1918
+ this.itemIcon = item_icon;
1919
+ this.itemDescription = item_description;
1920
+ this.itemShapeName = item_shape_name;
1921
+ this.itemShapeIcon = item_shape_icon;
1922
+ this.itemGender = item_gender;
1923
+ this.itemTotalOption = new CharacterItemEquipmentTotalOptionDto(item_total_option);
1924
+ this.itemBaseOption = new CharacterItemEquipmentBaseOptionDto(item_base_option);
1925
+ this.equipmentLevelIncrease = equipment_level_increase;
1926
+ this.itemExceptionalOption = new CharacterItemEquipmentExceptionalOptionDto(item_exceptional_option);
1927
+ this.itemAddOption = new CharacterItemEquipmentAddOptionDto(item_add_option);
1928
+ this.growthExp = growth_exp;
1929
+ this.growthLevel = growth_level;
1930
+ this.scrollUpgrade = scroll_upgrade;
1931
+ this.cuttableCount = cuttable_count;
1932
+ this.goldenHammerFlag = golden_hammer_flag;
1933
+ this.scrollResilienceCount = scroll_resilience_count;
1934
+ this.scrollUpgradeableCount = scroll_upgradeable_count;
1935
+ this.soulName = soul_name;
1936
+ this.soulOption = soul_option;
1937
+ this.itemEtcOption = new CharacterItemEquipmentEtcOptionDto(item_etc_option);
1938
+ this.starforce = starforce;
1939
+ this.starforceScrollFlag = starforce_scroll_flag;
1940
+ this.itemStarforceOption = new CharacterItemEquipmentStarforceOptionDto(item_starforce_option);
1941
+ this.specialRingLevel = special_ring_level;
1942
+ this.dateExpire = date_expire ? new Date(date_expire) : null;
1943
+ }
1944
+ }
1945
+
1946
+ /**
1947
+ * 메카닉 장비 정보
1948
+ */
1949
+ class CharacterItemEquipmentMechanicInfoDto {
1950
+ /**
1951
+ * 장비 부위 명
1952
+ */
1953
+ itemEquipmentPart;
1954
+ /**
1955
+ * 장비 슬롯 위치
1956
+ */
1957
+ itemEquipmentSlot;
1958
+ /**
1959
+ * 장비 명
1960
+ */
1961
+ itemName;
1962
+ /**
1963
+ * 장비 아이콘
1964
+ */
1965
+ itemIcon;
1966
+ /**
1967
+ * 장비 설명
1968
+ */
1969
+ itemDescription;
1970
+ /**
1971
+ * 장비 외형
1972
+ */
1973
+ itemShapeName;
1974
+ /**
1975
+ * 장비 외형 아이콘
1976
+ */
1977
+ itemShapeIcon;
1978
+ /**
1979
+ * 전용 성별
1980
+ */
1981
+ itemGender;
1982
+ /**
1983
+ * 장비 최종 옵션
1984
+ */
1985
+ itemTotalOption;
1986
+ /**
1987
+ * 장비 기본 옵션
1988
+ */
1989
+ itemBaseOption;
1990
+ /**
1991
+ * 착용 레벨 증가
1992
+ */
1993
+ equipmentLevelIncrease;
1994
+ /**
1995
+ * 장비 특별 옵션
1996
+ */
1997
+ itemExceptionalOption;
1998
+ /**
1999
+ * 장비 추가 옵션
2000
+ */
2001
+ itemAddOption;
2002
+ /**
2003
+ * 성장 경험치
2004
+ */
2005
+ growthExp;
2006
+ /**
2007
+ * 성장 레벨
2008
+ */
2009
+ growthLevel;
2010
+ /**
2011
+ * 업그레이드 횟수
2012
+ */
2013
+ scrollUpgrade;
2014
+ /**
2015
+ * 가위 사용 가능 횟수 (교환 불가 장비, 가위 횟수가 없는 교환 가능 장비는 255)
2016
+ */
2017
+ cuttableCount;
2018
+ /**
2019
+ * 황금 망치 재련 적용 (1:적용, 이외 미 적용)
2020
+ */
2021
+ goldenHammerFlag;
2022
+ /**
2023
+ * 복구 가능 횟수
2024
+ */
2025
+ scrollResilienceCount;
2026
+ /**
2027
+ * 업그레이드 가능 횟수
2028
+ */
2029
+ scrollUpgradeableCount;
2030
+ /**
2031
+ * 소울 명
2032
+ */
2033
+ soulName;
2034
+ /**
2035
+ * 소울 옵션
2036
+ */
2037
+ soulOption;
2038
+ /**
2039
+ * 장비 기타 옵션
2040
+ */
2041
+ itemEtcOption;
2042
+ /**
2043
+ * 강화 단계
2044
+ */
2045
+ starforce;
2046
+ /**
2047
+ * 놀라운 장비 강화 주문서 사용 여부 (0:미사용, 1:사용)
2048
+ */
2049
+ starforceScrollFlag;
2050
+ /**
2051
+ * 장비 스타포스 옵션
2052
+ */
2053
+ itemStarforceOption;
2054
+ /**
2055
+ * 특수 반지 레벨
2056
+ */
2057
+ specialRingLevel;
2058
+ /**
2059
+ * 장비 유효 기간
2060
+ */
2061
+ dateExpire;
2062
+ constructor(obj) {
2063
+ 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;
2064
+ this.itemEquipmentPart = item_equipment_part;
2065
+ this.itemEquipmentSlot = item_equipment_slot;
2066
+ this.itemName = item_name;
2067
+ this.itemIcon = item_icon;
2068
+ this.itemDescription = item_description;
2069
+ this.itemShapeName = item_shape_name;
2070
+ this.itemShapeIcon = item_shape_icon;
2071
+ this.itemGender = item_gender;
2072
+ this.itemTotalOption = new CharacterItemEquipmentTotalOptionDto(item_total_option);
2073
+ this.itemBaseOption = new CharacterItemEquipmentBaseOptionDto(item_base_option);
2074
+ this.equipmentLevelIncrease = equipment_level_increase;
2075
+ this.itemExceptionalOption = new CharacterItemEquipmentExceptionalOptionDto(item_exceptional_option);
2076
+ this.itemAddOption = new CharacterItemEquipmentAddOptionDto(item_add_option);
2077
+ this.growthExp = growth_exp;
2078
+ this.growthLevel = growth_level;
2079
+ this.scrollUpgrade = scroll_upgrade;
2080
+ this.cuttableCount = cuttable_count;
2081
+ this.goldenHammerFlag = golden_hammer_flag;
2082
+ this.scrollResilienceCount = scroll_resilience_count;
2083
+ this.scrollUpgradeableCount = scroll_upgradeable_count;
2084
+ this.soulName = soul_name;
2085
+ this.soulOption = soul_option;
2086
+ this.itemEtcOption = new CharacterItemEquipmentEtcOptionDto(item_etc_option);
2087
+ this.starforce = starforce;
2088
+ this.starforceScrollFlag = starforce_scroll_flag;
2089
+ this.itemStarforceOption = new CharacterItemEquipmentStarforceOptionDto(item_starforce_option);
2090
+ this.specialRingLevel = special_ring_level;
2091
+ this.dateExpire = date_expire ? new Date(date_expire) : null;
2092
+ }
2093
+ }
2094
+
2095
+ /**
2096
+ * 캐릭터 장비 아이템 정보
2097
+ */
2098
+ class CharacterItemEquipmentDto {
2099
+ /**
2100
+ * 조회 기준일
2101
+ */
2102
+ date;
2103
+ /**
2104
+ * 캐릭터 성별
2105
+ */
2106
+ characterGender;
2107
+ /**
2108
+ * 캐릭터 직업
2109
+ */
2110
+ characterClass;
2111
+ /**
2112
+ * 적용 중인 장비 프리셋 번호
2113
+ */
2114
+ presetNo;
2115
+ /**
2116
+ * 장비 정보
2117
+ */
2118
+ itemEquipment;
2119
+ /**
2120
+ * 1번 프리셋 장비 정보
2121
+ */
2122
+ itemEquipmentPreset1;
2123
+ /**
2124
+ * 2번 프리셋 장비 정보
2125
+ */
2126
+ itemEquipmentPreset2;
2127
+ /**
2128
+ * 3번 프리셋 장비 정보
2129
+ */
2130
+ itemEquipmentPreset3;
2131
+ /**
2132
+ * 칭호 정보
2133
+ */
2134
+ title;
2135
+ /**
2136
+ * 에반 드래곤 장비 정보 (에반인 경우 응답)
2137
+ */
2138
+ dragonEquipment;
2139
+ /**
2140
+ * 메카닉 장비 정보 (메카닉인 경우 응답)
2141
+ */
2142
+ mechanicEquipment;
2143
+ constructor(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;
1786
2145
  this.date = new Date(date);
2146
+ this.characterGender = character_gender;
1787
2147
  this.characterClass = character_class;
1788
- this.characterLinkSkill = new CharacterLinkSkillInfoDto(character_link_skill);
2148
+ this.presetNo = preset_no;
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;
2153
+ this.title = title ? new CharacterItemEquipmentTitleDto(title) : null;
2154
+ this.dragonEquipment = dragon_equipment.map((equipment) => new CharacterItemEquipmentDragonInfoDto(equipment));
2155
+ this.mechanicEquipment = mechanic_equipment.map((equipment) => new CharacterItemEquipmentMechanicInfoDto(equipment));
2156
+ }
2157
+ }
2158
+
2159
+ /**
2160
+ * 캐릭터 링크 스킬 정보
2161
+ */
2162
+ class CharacterLinkSkillInfoDto {
2163
+ /**
2164
+ * 스킬 명
2165
+ */
2166
+ skillName;
2167
+ /**
2168
+ * 스킬 설명
2169
+ */
2170
+ skillDescription;
2171
+ /**
2172
+ * 스킬 레벨
2173
+ */
2174
+ skillLevel;
2175
+ /**
2176
+ * 스킬 효과
2177
+ */
2178
+ skillEffect;
2179
+ /**
2180
+ * 스킬 아이콘
2181
+ */
2182
+ skillIcon;
2183
+ constructor(obj) {
2184
+ const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
2185
+ this.skillName = skill_name;
2186
+ this.skillDescription = skill_description;
2187
+ this.skillLevel = skill_level;
2188
+ this.skillEffect = skill_effect;
2189
+ this.skillIcon = skill_icon;
2190
+ }
2191
+ }
2192
+
2193
+ /**
2194
+ * 캐릭터 링크 스킬 정보
2195
+ */
2196
+ class CharacterLinkSkillDto {
2197
+ /**
2198
+ * 조회 기준일
2199
+ */
2200
+ date;
2201
+ /**
2202
+ * 캐릭터 직업
2203
+ */
2204
+ characterClass;
2205
+ /**
2206
+ * 링크 스킬 정보
2207
+ */
2208
+ characterLinkSkill;
2209
+ /**
2210
+ * 링크 스킬 1번 프리셋 정보
2211
+ */
2212
+ characterLinkSkillPreset1;
2213
+ /**
2214
+ * 링크 스킬 2번 프리셋 정보
2215
+ */
2216
+ characterLinkSkillPreset2;
2217
+ /**
2218
+ * 링크 스킬 3번 프리셋 정보
2219
+ */
2220
+ characterLinkSkillPreset3;
2221
+ /**
2222
+ * 내 링크 스킬 정보
2223
+ */
2224
+ characterOwnedLinkSkill;
2225
+ /**
2226
+ * 내 링크 스킬 1번 프리셋 정보
2227
+ */
2228
+ characterOwnedLinkSkillPreset1;
2229
+ /**
2230
+ * 내 링크 스킬 2번 프리셋 정보
2231
+ */
2232
+ characterOwnedLinkSkillPreset2;
2233
+ /**
2234
+ * 내 링크 스킬 3번 프리셋 정보
2235
+ */
2236
+ characterOwnedLinkSkillPreset3;
2237
+ constructor(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;
2239
+ this.date = new Date(date);
2240
+ this.characterClass = character_class;
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));
1789
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;
1790
2249
  }
1791
2250
  }
1792
2251
 
@@ -1865,15 +2324,25 @@ class CharacterPetEquipmentItemDto {
1865
2324
  /**
1866
2325
  * 업그레이드 가능 횟수
1867
2326
  */
1868
- scrollUpgradeable;
2327
+ scrollUpgradable;
2328
+ /**
2329
+ * 아이템 외형
2330
+ */
2331
+ itemShape;
2332
+ /**
2333
+ * 아이템 외형 아이콘
2334
+ */
2335
+ itemShapeIcon;
1869
2336
  constructor(obj) {
1870
- 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;
1871
2338
  this.itemName = item_name;
1872
2339
  this.itemIcon = item_icon;
1873
2340
  this.itemDescription = item_description;
1874
2341
  this.itemOption = item_option.map((option) => new CharacterPetEquipmentItemOptionDto(option));
1875
2342
  this.scrollUpgrade = scroll_upgrade;
1876
- this.scrollUpgradeable = scroll_upgradeable;
2343
+ this.scrollUpgradable = scroll_upgradable;
2344
+ this.itemShape = item_shape;
2345
+ this.itemShapeIcon = item_shape_icon;
1877
2346
  }
1878
2347
  }
1879
2348
 
@@ -1921,6 +2390,14 @@ class CharacterPetEquipmentDto {
1921
2390
  * 펫1 마법의 시간 (KST, 시간 단위 데이터로 분은 일괄 0으로 표기)
1922
2391
  */
1923
2392
  pet1DateExpire;
2393
+ /**
2394
+ * 펫1 외형
2395
+ */
2396
+ pet1Appearance;
2397
+ /**
2398
+ * 펫1 외형 아이콘
2399
+ */
2400
+ pet1AppearanceIcon;
1924
2401
  /**
1925
2402
  * 펫2 명
1926
2403
  */
@@ -1953,10 +2430,18 @@ class CharacterPetEquipmentDto {
1953
2430
  * 펫2 펫 보유 스킬
1954
2431
  */
1955
2432
  pet2Skill;
1956
- /*
2433
+ /**
1957
2434
  * 펫2 마법의 시간 (KST, 시간 단위 데이터로 분은 일괄 0으로 표기)
1958
2435
  */
1959
2436
  pet2DateExpire;
2437
+ /**
2438
+ * 펫2 외형
2439
+ */
2440
+ pet2Appearance;
2441
+ /**
2442
+ * 펫2 외형 아이콘
2443
+ */
2444
+ pet2AppearanceIcon;
1960
2445
  /**
1961
2446
  * 펫3 명
1962
2447
  */
@@ -1989,40 +2474,54 @@ class CharacterPetEquipmentDto {
1989
2474
  * 펫3 펫 보유 스킬
1990
2475
  */
1991
2476
  pet3Skill;
1992
- /*
2477
+ /**
1993
2478
  * 펫3 마법의 시간 (KST, 시간 단위 데이터로 분은 일괄 0으로 표기)
1994
2479
  */
1995
2480
  pet3DateExpire;
2481
+ /**
2482
+ * 펫3 외형
2483
+ */
2484
+ pet3Appearance;
2485
+ /**
2486
+ * 펫3 외형 아이콘
2487
+ */
2488
+ pet3AppearanceIcon;
1996
2489
  constructor(obj) {
1997
- 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;
1998
2491
  this.date = new Date(date);
1999
2492
  this.pet1Name = pet_1_name;
2000
2493
  this.pet1Nickname = pet_1_nickname;
2001
2494
  this.pet1Icon = pet_1_icon;
2002
2495
  this.pet1Description = pet_1_description;
2003
- this.pet1Equipment = new CharacterPetEquipmentItemDto(pet_1_equipment);
2004
- 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;
2005
2498
  this.pet1PetType = pet_1_pet_type;
2006
2499
  this.pet1Skill = pet_1_skill;
2007
- 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;
2008
2503
  this.pet2Name = pet_2_name;
2009
2504
  this.pet2Nickname = pet_2_nickname;
2010
2505
  this.pet2Icon = pet_2_icon;
2011
2506
  this.pet2Description = pet_2_description;
2012
- this.pet2Equipment = new CharacterPetEquipmentItemDto(pet_2_equipment);
2013
- 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;
2014
2509
  this.pet2PetType = pet_2_pet_type;
2015
2510
  this.pet2Skill = pet_2_skill;
2016
- 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;
2017
2514
  this.pet3Name = pet_3_name;
2018
2515
  this.pet3Nickname = pet_3_nickname;
2019
2516
  this.pet3Icon = pet_3_icon;
2020
2517
  this.pet3Description = pet_3_description;
2021
- this.pet3Equipment = new CharacterPetEquipmentItemDto(pet_3_equipment);
2022
- 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;
2023
2520
  this.pet3PetType = pet_3_pet_type;
2024
2521
  this.pet3Skill = pet_3_skill;
2025
- 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;
2026
2525
  }
2027
2526
  }
2028
2527
 
@@ -2345,75 +2844,197 @@ class CharacterVMatrixCodeEquipmentDto {
2345
2844
  /**
2346
2845
  * 슬롯 인덱스
2347
2846
  */
2348
- slotId;
2847
+ slotId;
2848
+ /**
2849
+ * 슬롯 레벨
2850
+ */
2851
+ slotLevel;
2852
+ /**
2853
+ * 코어 명
2854
+ */
2855
+ vCoreName;
2856
+ /**
2857
+ * 코어 타입
2858
+ */
2859
+ vCoreType;
2860
+ /**
2861
+ * 코어 레벨
2862
+ */
2863
+ vCoreLevel;
2864
+ /**
2865
+ * 코어에 해당하는 스킬 명
2866
+ */
2867
+ vCoreSkill1;
2868
+ /**
2869
+ * (강화 코어인 경우) 코어에 해당하는 두 번째 스킬 명
2870
+ */
2871
+ vCoreSkill2;
2872
+ /**
2873
+ * (강화 코어인 경우) 코어에 해당하는 세 번째 스킬 명
2874
+ */
2875
+ vCoreSkill3;
2876
+ constructor(obj) {
2877
+ const { slot_id, slot_level, v_core_name, v_core_type, v_core_level, v_core_skill_1, v_core_skill_2, v_core_skill_3, } = obj;
2878
+ this.slotId = slot_id;
2879
+ this.slotLevel = slot_level;
2880
+ this.vCoreName = v_core_name;
2881
+ this.vCoreType = v_core_type;
2882
+ this.vCoreLevel = v_core_level;
2883
+ this.vCoreSkill1 = v_core_skill_1;
2884
+ this.vCoreSkill2 = v_core_skill_2;
2885
+ this.vCoreSkill3 = v_core_skill_3;
2886
+ }
2887
+ }
2888
+
2889
+ /**
2890
+ * 캐릭터 V매트릭스 정보
2891
+ */
2892
+ class CharacterVMatrixDto {
2893
+ /**
2894
+ * 조회 기준일
2895
+ */
2896
+ date;
2897
+ /**
2898
+ * 캐릭터 직업
2899
+ */
2900
+ characterClass;
2901
+ /**
2902
+ * V코어 정보
2903
+ */
2904
+ characterVCoreEquipment;
2905
+ /**
2906
+ * 캐릭터 잔여 매트릭스 강화 포인트
2907
+ */
2908
+ characterVMatrixRemainSlotUpgradePoint;
2909
+ constructor(obj) {
2910
+ const { date, character_class, character_v_core_equipment, character_v_matrix_remain_slot_upgrade_point, } = obj;
2911
+ this.date = new Date(date);
2912
+ this.characterClass = character_class;
2913
+ this.characterVCoreEquipment = character_v_core_equipment.map((equipment) => new CharacterVMatrixCodeEquipmentDto(equipment));
2914
+ this.characterVMatrixRemainSlotUpgradePoint =
2915
+ character_v_matrix_remain_slot_upgrade_point;
2916
+ }
2917
+ }
2918
+
2919
+ /**
2920
+ * 길드 스킬 정보
2921
+ */
2922
+ class GuildSkillDto {
2923
+ /**
2924
+ * 스킬 명
2925
+ */
2926
+ skillName;
2927
+ /**
2928
+ * 스킬 설명
2929
+ */
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;
2349
2965
  /**
2350
- * 슬롯 레벨
2966
+ * 길드
2351
2967
  */
2352
- slotLevel;
2968
+ guildName;
2353
2969
  /**
2354
- * 코어
2970
+ * 길드 레벨
2355
2971
  */
2356
- vCoreName;
2972
+ guildLevel;
2357
2973
  /**
2358
- * 코어 타입
2974
+ * 길드 명성치
2359
2975
  */
2360
- vCoreType;
2976
+ guildFame;
2361
2977
  /**
2362
- * 코어 레벨
2978
+ * 길드 포인트(GP)
2363
2979
  */
2364
- vCoreLevel;
2980
+ guildPoint;
2365
2981
  /**
2366
- * 코어에 해당하는 스킬
2982
+ * 길드 마스터 캐릭터
2367
2983
  */
2368
- vCoreSkill1;
2984
+ guildMasterName;
2369
2985
  /**
2370
- * (강화 코어인 경우) 코어에 해당하는 두 번째 스킬 명
2986
+ * 길드원
2371
2987
  */
2372
- vCoreSkill2;
2988
+ guildMemberCount;
2373
2989
  /**
2374
- * (강화 코어인 경우) 코어에 해당하는 세 번째 스킬 명
2990
+ * 길드원 목록
2375
2991
  */
2376
- vCoreSkill3;
2377
- constructor(obj) {
2378
- const { slot_id, slot_level, v_core_name, v_core_type, v_core_level, v_core_skill_1, v_core_skill_2, v_core_skill_3, } = obj;
2379
- this.slotId = slot_id;
2380
- this.slotLevel = slot_level;
2381
- this.vCoreName = v_core_name;
2382
- this.vCoreType = v_core_type;
2383
- this.vCoreLevel = v_core_level;
2384
- this.vCoreSkill1 = v_core_skill_1;
2385
- this.vCoreSkill2 = v_core_skill_2;
2386
- this.vCoreSkill3 = v_core_skill_3;
2387
- }
2388
- }
2389
-
2390
- /**
2391
- * 캐릭터 V매트릭스 정보
2392
- */
2393
- class CharacterVMatrixDto {
2992
+ guildMember;
2394
2993
  /**
2395
- * 조회 기준일
2994
+ * 길드 스킬 목록
2396
2995
  */
2397
- date;
2996
+ guildSkill;
2398
2997
  /**
2399
- * 캐릭터 직업
2998
+ * 노블레스 스킬 목록
2400
2999
  */
2401
- characterClass;
3000
+ guildNoblesseSkill;
2402
3001
  /**
2403
- * V코어 정보
3002
+ * 조합형 길드 마크
2404
3003
  */
2405
- characterVCoreEquipment;
3004
+ guildMark;
2406
3005
  /**
2407
- * 캐릭터 잔여 매트릭스 강화 포인트
3006
+ * 커스텀 길드 마크 (base64 인코딩 형식)
2408
3007
  */
2409
- characterVMatrixRemainSlotUpgradePoint;
3008
+ guildMarkCustom;
2410
3009
  constructor(obj) {
2411
- const { date, character_class, character_v_core_equipment, character_v_matrix_remain_slot_upgrade_point, } = 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;
2412
3011
  this.date = new Date(date);
2413
- this.characterClass = character_class;
2414
- this.characterVCoreEquipment = character_v_core_equipment.map((equipment) => new CharacterVMatrixCodeEquipmentDto(equipment));
2415
- this.characterVMatrixRemainSlotUpgradePoint =
2416
- character_v_matrix_remain_slot_upgrade_point;
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;
2417
3038
  }
2418
3039
  }
2419
3040
 
@@ -2486,131 +3107,307 @@ class CubeHistoryDto {
2486
3107
  */
2487
3108
  dateCreate;
2488
3109
  /**
2489
- * 사용 큐브
3110
+ * 사용 큐브
3111
+ */
3112
+ cubeType;
3113
+ /**
3114
+ * 사용 결과
3115
+ */
3116
+ itemUpgradeResult;
3117
+ /**
3118
+ * 미라클 타임 적용 여부
3119
+ */
3120
+ miracleTimeFlag;
3121
+ /**
3122
+ * 장비 분류
3123
+ */
3124
+ itemEquipmentPart;
3125
+ /**
3126
+ * 장비 레벨
3127
+ */
3128
+ itemLevel;
3129
+ /**
3130
+ * 큐브 사용한 장비
3131
+ */
3132
+ targetItem;
3133
+ /**
3134
+ * 잠재능력 등급
3135
+ */
3136
+ potentialOptionGrade;
3137
+ /**
3138
+ * 에디셔널 잠재능력 등급
3139
+ */
3140
+ additionalPotentialOptionGrade;
3141
+ /**
3142
+ * 천장에 도달하여 확정 등급 상승한 여부
3143
+ */
3144
+ upgradeGuarantee;
3145
+ /**
3146
+ * 현재까지 쌓은 스택
3147
+ */
3148
+ upgradeGuaranteeCount;
3149
+ /**
3150
+ * 사용 전 잠재능력 옵션
3151
+ */
3152
+ beforePotentialOption;
3153
+ /**
3154
+ * 사용 전 에디셔널 잠재능력 옵션
3155
+ */
3156
+ beforeAdditionalPotentialOption;
3157
+ /**
3158
+ * 사용 후 잠재능력 옵션
3159
+ */
3160
+ afterPotentialOption;
3161
+ /**
3162
+ * 사용 후 에디셔널 잠재능력 옵션
3163
+ */
3164
+ afterAdditionalPotentialOption;
3165
+ constructor(obj) {
3166
+ const { id, character_name, world_name, date_create, cube_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;
3167
+ this.id = id;
3168
+ this.characterName = character_name;
3169
+ this.worldName = world_name;
3170
+ this.dateCreate = new Date(date_create);
3171
+ this.cubeType = cube_type;
3172
+ this.itemUpgradeResult = item_upgrade_result;
3173
+ this.miracleTimeFlag = miracle_time_flag;
3174
+ this.itemEquipmentPart = item_equipment_part;
3175
+ this.itemLevel = item_level;
3176
+ this.targetItem = target_item;
3177
+ this.potentialOptionGrade = potential_option_grade;
3178
+ this.additionalPotentialOptionGrade = additional_potential_option_grade;
3179
+ this.upgradeGuarantee = upgrade_guarantee;
3180
+ this.upgradeGuaranteeCount = upgrade_guarantee_count;
3181
+ this.beforePotentialOption = before_potential_option.map((origin) => new CubeResultOptionDto(origin));
3182
+ this.beforeAdditionalPotentialOption =
3183
+ before_additional_potential_option.map((origin) => new CubeResultOptionDto(origin));
3184
+ this.afterPotentialOption = after_potential_option.map((origin) => new CubeResultOptionDto(origin));
3185
+ this.afterAdditionalPotentialOption = after_additional_potential_option.map((origin) => new CubeResultOptionDto(origin));
3186
+ }
3187
+ get isItemUpgrade() {
3188
+ return this.itemUpgradeResult === '성공';
3189
+ }
3190
+ get isMiracleTimeFlag() {
3191
+ return this.miracleTimeFlag !== '이벤트 적용되지 않음';
3192
+ }
3193
+ get potentialOptionGradeEnum() {
3194
+ return potentialOptionGradeFromString(this.potentialOptionGrade);
3195
+ }
3196
+ get additionalPotentialOptionGradeEnum() {
3197
+ return potentialOptionGradeFromString(this.additionalPotentialOptionGrade);
3198
+ }
3199
+ }
3200
+
3201
+ /**
3202
+ * 큐브 히스토리 응답 정보
3203
+ */
3204
+ class CubeHistoryResponseDto {
3205
+ /**
3206
+ * 결과 건 수
3207
+ */
3208
+ count;
3209
+ /**
3210
+ * 큐브 히스토리
3211
+ */
3212
+ cubeHistory;
3213
+ /**
3214
+ * 페이징 처리를 위한 cursor
3215
+ */
3216
+ nextCursor;
3217
+ constructor(obj) {
3218
+ const { count, cube_history, next_cursor } = obj;
3219
+ this.count = count;
3220
+ this.cubeHistory = cube_history.map((origin) => new CubeHistoryDto(origin));
3221
+ this.nextCursor = next_cursor;
3222
+ }
3223
+ }
3224
+
3225
+ /**
3226
+ * 스타포스 강화 이벤트 정보
3227
+ */
3228
+ class StarforceEventDto {
3229
+ /**
3230
+ * 이벤트 성공 확률
3231
+ */
3232
+ successRate;
3233
+ /**
3234
+ * 이벤트 비용 할인율
3235
+ */
3236
+ costDiscountRate;
3237
+ /**
3238
+ * 이벤트 강화 수치 가중값
3239
+ */
3240
+ plusValue;
3241
+ /**
3242
+ * 이벤트 적용 강화 시도 가능한 n성 범위
3243
+ */
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 {
3258
+ /**
3259
+ *스타포스 히스토리 식별자
3260
+ */
3261
+ id;
3262
+ /**
3263
+ *강화 시도 결과
3264
+ */
3265
+ itemUpgradeResult;
3266
+ /**
3267
+ *강화 시도 전 스타포스 수치
3268
+ */
3269
+ beforeStarforceCount;
3270
+ /**
3271
+ *강화 시도 후 스타포스 수치
2490
3272
  */
2491
- cubeType;
3273
+ afterStarforceCount;
2492
3274
  /**
2493
- * 사용 결과
3275
+ *스타 캐치
2494
3276
  */
2495
- itemUpgradeResult;
3277
+ starCatchResult;
2496
3278
  /**
2497
- * 미라클 타임 적용 여부
3279
+ *슈페리얼 장비
2498
3280
  */
2499
- miracleTimeFlag;
3281
+ superiorItemFlag;
2500
3282
  /**
2501
- * 장비 분류
3283
+ *파괴 방지
2502
3284
  */
2503
- itemEquipmentPart;
3285
+ destroyDefence;
2504
3286
  /**
2505
- * 장비 레벨
3287
+ *찬스 타임
2506
3288
  */
2507
- itemLevel;
3289
+ chanceTime;
2508
3290
  /**
2509
- * 큐브 사용한 장비
3291
+ *파괴 방지 필드 이벤트
2510
3292
  */
2511
- targetItem;
3293
+ eventFieldFlag;
2512
3294
  /**
2513
- * 잠재능력 등급
3295
+ *사용 주문서
2514
3296
  */
2515
- potentialOptionGrade;
3297
+ upgradeItem;
2516
3298
  /**
2517
- * 에디셔널 잠재능력 등급
3299
+ *프로텍트 실드
2518
3300
  */
2519
- additionalPotentialOptionGrade;
3301
+ protectShield;
2520
3302
  /**
2521
- * 천장에 도달하여 확정 등급 상승한 여부
3303
+ *보너스 스탯 부여 아이템 여부
2522
3304
  */
2523
- upgradeGuarantee;
3305
+ bonusStatUpgrade;
2524
3306
  /**
2525
- * 현재까지 쌓은 스택
3307
+ *캐릭터
2526
3308
  */
2527
- upgradeGuaranteeCount;
3309
+ characterName;
2528
3310
  /**
2529
- * 사용 전 잠재능력 옵션
3311
+ *월드
2530
3312
  */
2531
- beforePotentialOption;
3313
+ worldName;
2532
3314
  /**
2533
- * 사용 에디셔널 잠재능력 옵션
3315
+ *대상 장비 아이템
2534
3316
  */
2535
- beforeAdditionalPotentialOption;
3317
+ targetItem;
2536
3318
  /**
2537
- * 사용 후 잠재능력 옵션
3319
+ *강화 일시 (KST)
2538
3320
  */
2539
- afterPotentialOption;
3321
+ dateCreate;
2540
3322
  /**
2541
- * 사용 에디셔널 잠재능력 옵션
3323
+ * 진행 중인 스타포스 강화 이벤트 정보
2542
3324
  */
2543
- afterAdditionalPotentialOption;
3325
+ starforceEventList;
2544
3326
  constructor(obj) {
2545
- const { id, character_name, world_name, date_create, cube_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;
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;
2546
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;
2547
3340
  this.characterName = character_name;
2548
3341
  this.worldName = world_name;
2549
- this.dateCreate = new Date(date_create);
2550
- this.cubeType = cube_type;
2551
- this.itemUpgradeResult = item_upgrade_result;
2552
- this.miracleTimeFlag = miracle_time_flag;
2553
- this.itemEquipmentPart = item_equipment_part;
2554
- this.itemLevel = item_level;
2555
3342
  this.targetItem = target_item;
2556
- this.potentialOptionGrade = potential_option_grade;
2557
- this.additionalPotentialOptionGrade = additional_potential_option_grade;
2558
- this.upgradeGuarantee = upgrade_guarantee;
2559
- this.upgradeGuaranteeCount = upgrade_guarantee_count;
2560
- this.beforePotentialOption = before_potential_option.map((origin) => new CubeResultOptionDto(origin));
2561
- this.beforeAdditionalPotentialOption =
2562
- before_additional_potential_option.map((origin) => new CubeResultOptionDto(origin));
2563
- this.afterPotentialOption = after_potential_option.map((origin) => new CubeResultOptionDto(origin));
2564
- this.afterAdditionalPotentialOption = after_additional_potential_option.map((origin) => new CubeResultOptionDto(origin));
2565
- }
2566
- get isItemUpgrade() {
2567
- return this.itemUpgradeResult === '성공';
2568
- }
2569
- get isMiracleTimeFlag() {
2570
- return this.miracleTimeFlag !== '이벤트 적용되지 않음';
2571
- }
2572
- get potentialOptionGradeEnum() {
2573
- return potentialOptionGradeFromString(this.potentialOptionGrade);
2574
- }
2575
- get additionalPotentialOptionGradeEnum() {
2576
- return potentialOptionGradeFromString(this.additionalPotentialOptionGrade);
3343
+ this.dateCreate = new Date(date_create);
3344
+ this.starforceEventList = starforce_event_list.map((event) => new StarforceEventDto(event));
2577
3345
  }
2578
3346
  }
2579
3347
 
2580
3348
  /**
2581
- * 큐브 히스토리 응답 정보
3349
+ * 스타포스 히스토리 응답 정보
2582
3350
  */
2583
- class CubeHistoryResponseDto {
3351
+ class StarforceHistoryResponseDto {
2584
3352
  /**
2585
3353
  * 결과 건 수
2586
3354
  */
2587
3355
  count;
2588
3356
  /**
2589
- * 큐브 히스토리
3357
+ * 스타포스 히스토리
2590
3358
  */
2591
- cubeHistory;
3359
+ starforceHistory;
2592
3360
  /**
2593
3361
  * 페이징 처리를 위한 cursor
2594
3362
  */
2595
3363
  nextCursor;
2596
3364
  constructor(obj) {
2597
- const { count, cube_history, next_cursor } = obj;
3365
+ const { count, starforce_history, next_cursor } = obj;
2598
3366
  this.count = count;
2599
- this.cubeHistory = cube_history.map((origin) => new CubeHistoryDto(origin));
3367
+ this.starforceHistory = starforce_history.map((origin) => new StarforceHistoryDto(origin));
2600
3368
  this.nextCursor = next_cursor;
2601
3369
  }
2602
3370
  }
2603
3371
 
2604
3372
  /**
2605
- * 무릉도장 랭킹 정보
3373
+ * 서버 점검 정보
2606
3374
  */
2607
- class DojangRankingDto {
3375
+ class InspectionInfoDto {
3376
+ /**
3377
+ * 서비스 코드
3378
+ */
3379
+ serviceCode;
3380
+ /**
3381
+ * 점검 시작 시각
3382
+ */
3383
+ startDateTime;
3384
+ /**
3385
+ * 점검 종료 시각
3386
+ */
3387
+ endDateTime;
3388
+ /**
3389
+ * 점검 안내 제목
3390
+ */
3391
+ strObstacleContents;
3392
+ constructor(obj) {
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];
3398
+ }
3399
+ }
3400
+
3401
+ /**
3402
+ * 업적 랭킹 정보
3403
+ */
3404
+ class AchievementRankingDto {
2608
3405
  /**
2609
3406
  * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
2610
3407
  */
2611
3408
  date;
2612
3409
  /**
2613
- * 무릉도장 랭킹 순위
3410
+ * 업적 랭킹 순위
2614
3411
  */
2615
3412
  ranking;
2616
3413
  /**
@@ -2630,164 +3427,105 @@ class DojangRankingDto {
2630
3427
  */
2631
3428
  subClassName;
2632
3429
  /**
2633
- * 캐릭터 레벨
2634
- */
2635
- characterLevel;
2636
- /**
2637
- * 무릉도장 구간
3430
+ * 업적 등급
2638
3431
  */
2639
- dojangFloor;
3432
+ trophyGrade;
2640
3433
  /**
2641
- * 무릉도장 클리어 시간 기록 (초 단위)
3434
+ * 업적 점수
2642
3435
  */
2643
- dojangTimeRecord;
3436
+ trophyScore;
2644
3437
  constructor(obj) {
2645
- const { date, ranking, character_name, world_name, class_name, sub_class_name, character_level, dojang_floor, dojang_time_record, } = obj;
3438
+ const { date, ranking, character_name, world_name, class_name, sub_class_name, trophy_grade, trophy_score, } = obj;
2646
3439
  this.date = new Date(date);
2647
3440
  this.ranking = ranking;
2648
3441
  this.characterName = character_name;
2649
3442
  this.worldName = world_name;
2650
3443
  this.className = class_name;
2651
3444
  this.subClassName = sub_class_name;
2652
- this.characterLevel = character_level;
2653
- this.dojangFloor = dojang_floor;
2654
- this.dojangTimeRecord = dojang_time_record;
3445
+ this.trophyGrade = trophy_grade;
3446
+ this.trophyScore = trophy_score;
2655
3447
  }
2656
3448
  }
2657
3449
 
2658
3450
  /**
2659
- * 무릉도장 랭킹 응답 정보
3451
+ * 업적 랭킹 응답 정보
2660
3452
  */
2661
- class DojangRankingResponseDto {
3453
+ class AchievementRankingResponseDto {
2662
3454
  /**
2663
- * 길드 랭킹 정보
3455
+ * 업적 랭킹 정보
2664
3456
  */
2665
3457
  ranking;
2666
3458
  constructor(obj) {
2667
3459
  const { ranking } = obj;
2668
- this.ranking = ranking.map((rank) => new DojangRankingDto(rank));
3460
+ this.ranking = ranking.map((rank) => new AchievementRankingDto(rank));
2669
3461
  }
2670
3462
  }
2671
3463
 
2672
3464
  /**
2673
- * 길드 스킬 정보
3465
+ * 무릉도장 랭킹 정보
2674
3466
  */
2675
- class GuildSkillDto {
2676
- /**
2677
- * 스킬 명
2678
- */
2679
- skillName;
2680
- /**
2681
- * 스킬 설명
2682
- */
2683
- skillDescription;
2684
- /**
2685
- * 스킬 레벨
2686
- */
2687
- skillLevel;
3467
+ class DojangRankingDto {
2688
3468
  /**
2689
- * 스킬 레벨 효과
3469
+ * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
2690
3470
  */
2691
- skillEffect;
3471
+ date;
2692
3472
  /**
2693
- * 스킬 아이콘
3473
+ * 무릉도장 랭킹 순위
2694
3474
  */
2695
- skillIcon;
2696
- constructor(obj) {
2697
- const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
2698
- this.skillName = skill_name;
2699
- this.skillDescription = skill_description;
2700
- this.skillLevel = skill_level;
2701
- this.skillEffect = skill_effect;
2702
- this.skillIcon = skill_icon;
2703
- }
2704
- }
2705
-
2706
- /**
2707
- * 길드 기본 정보
2708
- */
2709
- class GuildBasicDto {
3475
+ ranking;
2710
3476
  /**
2711
- * 조회 기준일
3477
+ * 캐릭터
2712
3478
  */
2713
- date;
3479
+ characterName;
2714
3480
  /**
2715
3481
  * 월드 명
2716
3482
  */
2717
3483
  worldName;
2718
3484
  /**
2719
- * 길드
2720
- */
2721
- guildName;
2722
- /**
2723
- * 길드 레벨
2724
- */
2725
- guildLevel;
2726
- /**
2727
- * 길드 명성치
2728
- */
2729
- guildFame;
2730
- /**
2731
- * 길드 포인트(GP)
2732
- */
2733
- guildPoint;
2734
- /**
2735
- * 길드 마스터 캐릭터 명
2736
- */
2737
- guildMasterName;
2738
- /**
2739
- * 길드원 수
2740
- */
2741
- guildMemberCount;
2742
- /**
2743
- * 길드원 목록
3485
+ * 직업
2744
3486
  */
2745
- guildMember;
3487
+ className;
2746
3488
  /**
2747
- * 길드 스킬 목록
3489
+ * 전직 직업
2748
3490
  */
2749
- guildSkill;
3491
+ subClassName;
2750
3492
  /**
2751
- * 노블레스 스킬 목록
3493
+ * 캐릭터 레벨
2752
3494
  */
2753
- guildNoblesseSkill;
3495
+ characterLevel;
2754
3496
  /**
2755
- * 조합형 길드 마크
3497
+ * 무릉도장 구간
2756
3498
  */
2757
- guildMark;
3499
+ dojangFloor;
2758
3500
  /**
2759
- * 커스텀 길드 마크 (base64 인코딩 형식)
3501
+ * 무릉도장 클리어 시간 기록 ( 단위)
2760
3502
  */
2761
- guildMarkCustom;
3503
+ dojangTimeRecord;
2762
3504
  constructor(obj) {
2763
- 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;
2764
3506
  this.date = new Date(date);
3507
+ this.ranking = ranking;
3508
+ this.characterName = character_name;
2765
3509
  this.worldName = world_name;
2766
- this.guildName = guild_name;
2767
- this.guildLevel = guild_level;
2768
- this.guildFame = guild_fame;
2769
- this.guildPoint = guild_point;
2770
- this.guildMasterName = guild_master_name;
2771
- this.guildMemberCount = guild_member_count;
2772
- this.guildMember = guild_member;
2773
- this.guildSkill = guild_skill.map((skill) => new GuildSkillDto(skill));
2774
- this.guildNoblesseSkill = guild_noblesse_skill.map((skill) => new GuildSkillDto(skill));
2775
- this.guildMark = guild_mark;
2776
- 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;
2777
3515
  }
2778
3516
  }
2779
3517
 
2780
3518
  /**
2781
- * 길드 식별자 정보
3519
+ * 무릉도장 랭킹 응답 정보
2782
3520
  */
2783
- class GuildDto {
3521
+ class DojangRankingResponseDto {
2784
3522
  /**
2785
- * 길드 식별자
3523
+ * 길드 랭킹 정보
2786
3524
  */
2787
- oguildId;
3525
+ ranking;
2788
3526
  constructor(obj) {
2789
- const { oguild_id } = obj;
2790
- this.oguildId = oguild_id;
3527
+ const { ranking } = obj;
3528
+ this.ranking = ranking.map((rank) => new DojangRankingDto(rank));
2791
3529
  }
2792
3530
  }
2793
3531
 
@@ -2854,35 +3592,6 @@ class GuildRankingResponseDto {
2854
3592
  }
2855
3593
  }
2856
3594
 
2857
- /**
2858
- * 서버 점검 정보
2859
- */
2860
- class InspectionInfoDto {
2861
- /**
2862
- * 서비스 코드
2863
- */
2864
- serviceCode;
2865
- /**
2866
- * 점검 시작 시각
2867
- */
2868
- startDateTime;
2869
- /**
2870
- * 점검 종료 시각
2871
- */
2872
- endDateTime;
2873
- /**
2874
- * 점검 안내 제목
2875
- */
2876
- strObstacleContents;
2877
- constructor(obj) {
2878
- const inspectionInfoTag = obj['soap:Envelope']['soap:Body'][0]['GetInspectionInfoResponse'][0]['GetInspectionInfoResult'][0]['diffgr:diffgram'][0]['NewDataSet'][0]['InspectionInfo'][0];
2879
- this.serviceCode = Number(inspectionInfoTag.serviceCode[0]);
2880
- this.startDateTime = new Date(inspectionInfoTag.startDateTime[0]);
2881
- this.endDateTime = new Date(inspectionInfoTag.endDateTime[0]);
2882
- this.strObstacleContents = inspectionInfoTag.strObstacleContents[0];
2883
- }
2884
- }
2885
-
2886
3595
  /**
2887
3596
  * 종합 랭킹 정보
2888
3597
  */
@@ -3024,6 +3733,161 @@ class TheSeedRankingResponseDto {
3024
3733
  }
3025
3734
  }
3026
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
+
3027
3891
  /**
3028
3892
  * 유니온 정보
3029
3893
  */
@@ -3118,120 +3982,57 @@ class UnionRaiderBlockDto {
3118
3982
  this.blockControlPoint = new UnionRaiderBlockControlPointDto(block_control_point);
3119
3983
  this.blockPosition = block_position
3120
3984
  ? block_position.map((position) => new UnionRaiderBlockPositionDto(position))
3121
- : null;
3122
- }
3123
- }
3124
-
3125
- /**
3126
- * 유니온 공격대 배치 정보
3127
- */
3128
- class UnionRaiderInnerStatDto {
3129
- /**
3130
- * 공격대 배치 위치 (11시 방향부터 시계 방향 순서대로 0~7)
3131
- */
3132
- statFieldId;
3133
- /**
3134
- * 해당 지역 점령 효과
3135
- */
3136
- statFieldEffect;
3137
- constructor(obj) {
3138
- const { stat_field_id, stat_field_effect } = obj;
3139
- this.statFieldId = stat_field_id;
3140
- this.statFieldEffect = stat_field_effect;
3141
- }
3142
- }
3143
-
3144
- /**
3145
- * 유니온 공격대 정보
3146
- */
3147
- class UnionRaiderDto {
3148
- date;
3149
- /**
3150
- * 유니온 공격대원 효과
3151
- */
3152
- unionRaiderStat;
3153
- /**
3154
- * 유니온 공격대 점령 효과
3155
- */
3156
- unionOccupiedStat;
3157
- /**
3158
- * 유니온 공격대 배치
3159
- */
3160
- unionInnerStat;
3161
- /**
3162
- * 유니온 블록 정보
3163
- */
3164
- unionBlock;
3165
- constructor(obj) {
3166
- const { date, union_raider_stat, union_occupied_stat, union_inner_stat, union_block, } = obj;
3167
- this.date = new Date(date);
3168
- this.unionRaiderStat = union_raider_stat;
3169
- this.unionOccupiedStat = union_occupied_stat;
3170
- this.unionInnerStat = union_inner_stat.map((stat) => new UnionRaiderInnerStatDto(stat));
3171
- this.unionBlock = union_block.map((block) => new UnionRaiderBlockDto(block));
3172
- }
3173
- }
3174
-
3175
- /**
3176
- * 유니온 랭킹 정보
3177
- */
3178
- class UnionRankingDto {
3179
- /**
3180
- * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3181
- */
3182
- date;
3183
- /**
3184
- * 유니온 랭킹 순위
3185
- */
3186
- ranking;
3187
- /**
3188
- * 캐릭터 명
3189
- */
3190
- characterName;
3191
- /**
3192
- * 월드 명
3193
- */
3194
- worldName;
3195
- /**
3196
- * 직업 명
3197
- */
3198
- className;
3199
- /**
3200
- * 전직 직업 명
3201
- */
3202
- subClassName;
3985
+ : null;
3986
+ }
3987
+ }
3988
+
3989
+ /**
3990
+ * 유니온 공격대 배치 정보
3991
+ */
3992
+ class UnionRaiderInnerStatDto {
3203
3993
  /**
3204
- * 유니온 레벨
3994
+ * 공격대 배치 위치 (11시 방향부터 시계 방향 순서대로 0~7)
3205
3995
  */
3206
- unionLevel;
3996
+ statFieldId;
3207
3997
  /**
3208
- * 유니온 파워
3998
+ * 해당 지역 점령 효과
3209
3999
  */
3210
- unionPower;
4000
+ statFieldEffect;
3211
4001
  constructor(obj) {
3212
- const { date, ranking, character_name, world_name, class_name, sub_class_name, union_level, union_power, } = obj;
3213
- this.date = new Date(date);
3214
- this.ranking = ranking;
3215
- this.characterName = character_name;
3216
- this.worldName = world_name;
3217
- this.className = class_name;
3218
- this.subClassName = sub_class_name;
3219
- this.unionLevel = union_level;
3220
- 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;
3221
4005
  }
3222
4006
  }
3223
4007
 
3224
4008
  /**
3225
- * 유니온 랭킹 응답 정보
4009
+ * 유니온 공격대 정보
3226
4010
  */
3227
- class UnionRankingResponseDto {
4011
+ class UnionRaiderDto {
4012
+ date;
3228
4013
  /**
3229
- * 유니온 랭킹 정보
4014
+ * 유니온 공격대원 효과
3230
4015
  */
3231
- ranking;
4016
+ unionRaiderStat;
4017
+ /**
4018
+ * 유니온 공격대 점령 효과
4019
+ */
4020
+ unionOccupiedStat;
4021
+ /**
4022
+ * 유니온 공격대 배치
4023
+ */
4024
+ unionInnerStat;
4025
+ /**
4026
+ * 유니온 블록 정보
4027
+ */
4028
+ unionBlock;
3232
4029
  constructor(obj) {
3233
- const { ranking } = obj;
3234
- 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));
3235
4036
  }
3236
4037
  }
3237
4038
 
@@ -3275,148 +4076,154 @@ const errorMap = {
3275
4076
  };
3276
4077
 
3277
4078
  /**
3278
- * 스타포스 강화 이벤트 정보
4079
+ * 잠재능력 재설정 결과 옵션 정보
3279
4080
  */
3280
- class StarforceEventDto {
3281
- /**
3282
- * 이벤트 성공 확률
3283
- */
3284
- successRate;
3285
- /**
3286
- * 이벤트 비용 할인율
3287
- */
3288
- costDiscountRate;
4081
+ class PotentialResultOptionDto {
3289
4082
  /**
3290
- * 이벤트 강화 수치 가중값
4083
+ * 옵션
3291
4084
  */
3292
- plusValue;
4085
+ value;
3293
4086
  /**
3294
- * 이벤트 적용 강화 시도 가능한 n성 범위
4087
+ * 옵션 등급
3295
4088
  */
3296
- starforceEventRange;
4089
+ grade;
3297
4090
  constructor(obj) {
3298
- const { success_rate, cost_discount_rate, plus_value, starforce_event_range, } = obj;
3299
- this.successRate = success_rate;
3300
- this.costDiscountRate = cost_discount_rate;
3301
- this.plusValue = plus_value;
3302
- 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);
3303
4097
  }
3304
4098
  }
3305
4099
 
3306
4100
  /**
3307
- * 스타포스 히스토리
4101
+ * 잠재능력 재설정 히스토리
3308
4102
  */
3309
- class StarforceHistoryDto {
4103
+ class PotentialHistoryDto {
3310
4104
  /**
3311
- *스타포스 히스토리 식별자
4105
+ * 잠재능력 재설정 히스토리 식별자
3312
4106
  */
3313
4107
  id;
3314
4108
  /**
3315
- *강화 시도 결과
4109
+ * 캐릭터
3316
4110
  */
3317
- itemUpgradeResult;
4111
+ characterName;
3318
4112
  /**
3319
- *강화 시도 전 스타포스 수치
4113
+ * 사용 일시
3320
4114
  */
3321
- beforeStarforceCount;
4115
+ dateCreate;
3322
4116
  /**
3323
- *강화 시도 스타포스 수치
4117
+ * 대상 잠재능력 타입 (잠재능력, 에디셔널 잠재능력)
3324
4118
  */
3325
- afterStarforceCount;
4119
+ potentialType;
3326
4120
  /**
3327
- *스타 캐치
4121
+ * 사용 결과
3328
4122
  */
3329
- starCatchResult;
4123
+ itemUpgradeResult;
3330
4124
  /**
3331
- *슈페리얼 장비
4125
+ * 미라클 타임 적용 여부
3332
4126
  */
3333
- superiorItemFlag;
4127
+ miracleTimeFlag;
3334
4128
  /**
3335
- *파괴 방지
4129
+ * 장비 분류
3336
4130
  */
3337
- destroyDefence;
4131
+ itemEquipmentPart;
3338
4132
  /**
3339
- *찬스 타임
4133
+ * 장비 레벨
3340
4134
  */
3341
- chanceTime;
4135
+ itemLevel;
3342
4136
  /**
3343
- *파괴 방지 필드 이벤트
4137
+ * 잠재능력 재설정 장비 명
3344
4138
  */
3345
- eventFieldFlag;
4139
+ targetItem;
3346
4140
  /**
3347
- *사용 주문서
4141
+ * 잠재능력 등급
3348
4142
  */
3349
- upgradeItem;
4143
+ potentialOptionGrade;
3350
4144
  /**
3351
- *프로텍트 실드
4145
+ * 에디셔널 잠재능력 등급
3352
4146
  */
3353
- protectShield;
4147
+ additionalPotentialOptionGrade;
3354
4148
  /**
3355
- *보너스 스탯 부여 아이템 여부
4149
+ * 천장에 도달하여 확정 등급 상승한 여부
3356
4150
  */
3357
- bonusStatUpgrade;
4151
+ upgradeGuarantee;
3358
4152
  /**
3359
- *캐릭터
4153
+ * 현재까지 쌓은 스택
3360
4154
  */
3361
- characterName;
4155
+ upgradeGuaranteeCount;
3362
4156
  /**
3363
- *월드
4157
+ * 사용 전 잠재능력 옵션
3364
4158
  */
3365
- worldName;
4159
+ beforePotentialOption;
3366
4160
  /**
3367
- *대상 장비 아이템
4161
+ * 사용 에디셔널 잠재능력 옵션
3368
4162
  */
3369
- targetItem;
4163
+ beforeAdditionalPotentialOption;
3370
4164
  /**
3371
- *강화 일시 (KST)
4165
+ * 사용 후 잠재능력 옵션
3372
4166
  */
3373
- dateCreate;
4167
+ afterPotentialOption;
3374
4168
  /**
3375
- * 진행 중인 스타포스 강화 이벤트 정보
4169
+ * 사용 에디셔널 잠재능력 옵션
3376
4170
  */
3377
- starforceEventList;
4171
+ afterAdditionalPotentialOption;
3378
4172
  constructor(obj) {
3379
- 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;
3380
4174
  this.id = id;
3381
- this.itemUpgradeResult = item_upgrade_result;
3382
- this.beforeStarforceCount = before_starforce_count;
3383
- this.afterStarforceCount = after_starforce_count;
3384
- this.starCatchResult = starcatch_result;
3385
- this.superiorItemFlag = superior_item_flag;
3386
- this.destroyDefence = destroy_defence;
3387
- this.chanceTime = chance_time;
3388
- this.eventFieldFlag = event_field_flag;
3389
- this.upgradeItem = upgrade_item;
3390
- this.protectShield = protect_shield;
3391
- this.bonusStatUpgrade = bonus_stat_upgrade;
3392
4175
  this.characterName = character_name;
3393
- this.worldName = world_name;
3394
- this.targetItem = target_item;
3395
4176
  this.dateCreate = new Date(date_create);
3396
- 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);
3397
4204
  }
3398
4205
  }
3399
4206
 
3400
4207
  /**
3401
- * 스타포스 히스토리 응답 정보
4208
+ * 잠재능력 재설정 히스토리 응답 정보
3402
4209
  */
3403
- class StarforceHistoryResponseDto {
4210
+ class PotentialHistoryResponseDto {
3404
4211
  /**
3405
4212
  * 결과 건 수
3406
4213
  */
3407
4214
  count;
3408
4215
  /**
3409
- * 스타포스 히스토리
4216
+ * 잠재능력 재설정 히스토리
3410
4217
  */
3411
- starforceHistory;
4218
+ potentialHistory;
3412
4219
  /**
3413
4220
  * 페이징 처리를 위한 cursor
3414
4221
  */
3415
4222
  nextCursor;
3416
4223
  constructor(obj) {
3417
- const { count, starforce_history, next_cursor } = obj;
4224
+ const { count, potential_history, next_cursor } = obj;
3418
4225
  this.count = count;
3419
- this.starforceHistory = starforce_history.map((origin) => new StarforceHistoryDto(origin));
4226
+ this.potentialHistory = potential_history.map((origin) => new PotentialHistoryDto(origin));
3420
4227
  this.nextCursor = next_cursor;
3421
4228
  }
3422
4229
  }
@@ -3478,7 +4285,7 @@ class MapleStoryApi {
3478
4285
  async getCharacterBasic(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3479
4286
  hour: 1,
3480
4287
  minute: 0,
3481
- dateOffset: 1
4288
+ dateOffset: 1,
3482
4289
  })) {
3483
4290
  const query = {
3484
4291
  ocid: ocid,
@@ -3518,7 +4325,7 @@ class MapleStoryApi {
3518
4325
  async getCharacterPopularity(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3519
4326
  hour: 1,
3520
4327
  minute: 0,
3521
- dateOffset: 1
4328
+ dateOffset: 1,
3522
4329
  })) {
3523
4330
  const query = {
3524
4331
  ocid: ocid,
@@ -3558,7 +4365,7 @@ class MapleStoryApi {
3558
4365
  async getCharacterStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3559
4366
  hour: 1,
3560
4367
  minute: 0,
3561
- dateOffset: 1
4368
+ dateOffset: 1,
3562
4369
  })) {
3563
4370
  const query = {
3564
4371
  ocid: ocid,
@@ -3598,7 +4405,7 @@ class MapleStoryApi {
3598
4405
  async getCharacterHyperStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3599
4406
  hour: 1,
3600
4407
  minute: 0,
3601
- dateOffset: 1
4408
+ dateOffset: 1,
3602
4409
  })) {
3603
4410
  const query = {
3604
4411
  ocid: ocid,
@@ -3638,7 +4445,7 @@ class MapleStoryApi {
3638
4445
  async getCharacterPropensity(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3639
4446
  hour: 1,
3640
4447
  minute: 0,
3641
- dateOffset: 1
4448
+ dateOffset: 1,
3642
4449
  })) {
3643
4450
  const query = {
3644
4451
  ocid: ocid,
@@ -3678,7 +4485,7 @@ class MapleStoryApi {
3678
4485
  async getCharacterAbility(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3679
4486
  hour: 1,
3680
4487
  minute: 0,
3681
- dateOffset: 1
4488
+ dateOffset: 1,
3682
4489
  })) {
3683
4490
  const query = {
3684
4491
  ocid: ocid,
@@ -3718,7 +4525,7 @@ class MapleStoryApi {
3718
4525
  async getCharacterItemEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3719
4526
  hour: 1,
3720
4527
  minute: 0,
3721
- dateOffset: 1
4528
+ dateOffset: 1,
3722
4529
  })) {
3723
4530
  const query = {
3724
4531
  ocid: ocid,
@@ -3758,7 +4565,7 @@ class MapleStoryApi {
3758
4565
  async getCharacterCashItemEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3759
4566
  hour: 1,
3760
4567
  minute: 0,
3761
- dateOffset: 1
4568
+ dateOffset: 1,
3762
4569
  })) {
3763
4570
  const query = {
3764
4571
  ocid: ocid,
@@ -3798,7 +4605,7 @@ class MapleStoryApi {
3798
4605
  async getCharacterSymbolEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3799
4606
  hour: 1,
3800
4607
  minute: 0,
3801
- dateOffset: 1
4608
+ dateOffset: 1,
3802
4609
  })) {
3803
4610
  const query = {
3804
4611
  ocid: ocid,
@@ -3838,7 +4645,7 @@ class MapleStoryApi {
3838
4645
  async getCharacterSetEffect(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3839
4646
  hour: 1,
3840
4647
  minute: 0,
3841
- dateOffset: 1
4648
+ dateOffset: 1,
3842
4649
  })) {
3843
4650
  const query = {
3844
4651
  ocid: ocid,
@@ -3878,7 +4685,7 @@ class MapleStoryApi {
3878
4685
  async getCharacterBeautyEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3879
4686
  hour: 1,
3880
4687
  minute: 0,
3881
- dateOffset: 1
4688
+ dateOffset: 1,
3882
4689
  })) {
3883
4690
  const query = {
3884
4691
  ocid: ocid,
@@ -3918,7 +4725,7 @@ class MapleStoryApi {
3918
4725
  async getCharacterAndroidEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3919
4726
  hour: 1,
3920
4727
  minute: 0,
3921
- dateOffset: 1
4728
+ dateOffset: 1,
3922
4729
  })) {
3923
4730
  const query = {
3924
4731
  ocid: ocid,
@@ -3958,7 +4765,7 @@ class MapleStoryApi {
3958
4765
  async getCharacterPetEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3959
4766
  hour: 1,
3960
4767
  minute: 0,
3961
- dateOffset: 1
4768
+ dateOffset: 1,
3962
4769
  })) {
3963
4770
  const query = {
3964
4771
  ocid: ocid,
@@ -4010,7 +4817,7 @@ class MapleStoryApi {
4010
4817
  async getCharacterSkill(ocid, characterSkillGrade, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4011
4818
  hour: 1,
4012
4819
  minute: 0,
4013
- dateOffset: 1
4820
+ dateOffset: 1,
4014
4821
  })) {
4015
4822
  const query = {
4016
4823
  ocid: ocid,
@@ -4051,7 +4858,7 @@ class MapleStoryApi {
4051
4858
  async getCharacterLinkSkill(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4052
4859
  hour: 1,
4053
4860
  minute: 0,
4054
- dateOffset: 1
4861
+ dateOffset: 1,
4055
4862
  })) {
4056
4863
  const query = {
4057
4864
  ocid: ocid,
@@ -4091,7 +4898,7 @@ class MapleStoryApi {
4091
4898
  async getCharacterVMatrix(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4092
4899
  hour: 1,
4093
4900
  minute: 0,
4094
- dateOffset: 1
4901
+ dateOffset: 1,
4095
4902
  })) {
4096
4903
  const query = {
4097
4904
  ocid: ocid,
@@ -4131,7 +4938,7 @@ class MapleStoryApi {
4131
4938
  async getCharacterHexaMatrix(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4132
4939
  hour: 1,
4133
4940
  minute: 0,
4134
- dateOffset: 1
4941
+ dateOffset: 1,
4135
4942
  })) {
4136
4943
  const query = {
4137
4944
  ocid: ocid,
@@ -4171,7 +4978,7 @@ class MapleStoryApi {
4171
4978
  async getCharacterHexaMatrixStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4172
4979
  hour: 1,
4173
4980
  minute: 0,
4174
- dateOffset: 1
4981
+ dateOffset: 1,
4175
4982
  })) {
4176
4983
  const query = {
4177
4984
  ocid: ocid,
@@ -4211,7 +5018,7 @@ class MapleStoryApi {
4211
5018
  async getCharacterDojang(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4212
5019
  hour: 1,
4213
5020
  minute: 0,
4214
- dateOffset: 1
5021
+ dateOffset: 1,
4215
5022
  })) {
4216
5023
  const query = {
4217
5024
  ocid: ocid,
@@ -4250,10 +5057,10 @@ class MapleStoryApi {
4250
5057
  * @param ocid 캐릭터 식별자
4251
5058
  * @param dateOptions 조회 기준일 (KST)
4252
5059
  */
4253
- async getUnionInfo(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
5060
+ async getUnion(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4254
5061
  hour: 1,
4255
5062
  minute: 0,
4256
- dateOffset: 1
5063
+ dateOffset: 1,
4257
5064
  })) {
4258
5065
  const query = {
4259
5066
  ocid: ocid,
@@ -4290,10 +5097,10 @@ class MapleStoryApi {
4290
5097
  * @param ocid 캐릭터 식별자
4291
5098
  * @param dateOptions 조회 기준일 (KST)
4292
5099
  */
4293
- async getUnionRaiderInfo(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
5100
+ async getUnionRaider(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4294
5101
  hour: 1,
4295
5102
  minute: 0,
4296
- dateOffset: 1
5103
+ dateOffset: 1,
4297
5104
  })) {
4298
5105
  const query = {
4299
5106
  ocid: ocid,
@@ -4309,7 +5116,7 @@ class MapleStoryApi {
4309
5116
  baseURL: MapleStoryApi.BASE_URL,
4310
5117
  timeout: this.timeout,
4311
5118
  headers: this.buildHeaders(),
4312
- params: query
5119
+ params: query,
4313
5120
  });
4314
5121
  return new UnionRaiderDto(response.data);
4315
5122
  }
@@ -4321,6 +5128,46 @@ class MapleStoryApi {
4321
5128
  throw e;
4322
5129
  }
4323
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
+ }
4324
5171
  //#endregion
4325
5172
  //#region 길드 정보 조회
4326
5173
  /**
@@ -4366,7 +5213,7 @@ class MapleStoryApi {
4366
5213
  async getGuildBasic(guildId, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4367
5214
  hour: 1,
4368
5215
  minute: 0,
4369
- dateOffset: 1
5216
+ dateOffset: 1,
4370
5217
  })) {
4371
5218
  const query = {
4372
5219
  oguild_id: guildId,
@@ -4406,11 +5253,12 @@ class MapleStoryApi {
4406
5253
  year: 2023,
4407
5254
  month: 12,
4408
5255
  day: 27,
4409
- }, parameter ?? MapleStoryApi.getProperDefaultDateOptions({
4410
- hour: 0,
4411
- minute: 0,
4412
- dateOffset: 0
4413
- }));
5256
+ }, parameter ??
5257
+ MapleStoryApi.getProperDefaultDateOptions({
5258
+ hour: 0,
5259
+ minute: 0,
5260
+ dateOffset: 0,
5261
+ }));
4414
5262
  }
4415
5263
  try {
4416
5264
  const path = 'maplestory/v1/history/starforce';
@@ -4437,16 +5285,17 @@ class MapleStoryApi {
4437
5285
  if (typeof parameter === 'string') {
4438
5286
  query.cursor = parameter;
4439
5287
  }
4440
- else if (typeof parameter === 'object') {
5288
+ else if (typeof parameter === 'object' || parameter === undefined) {
4441
5289
  query.date = MapleStoryApi.toDateString({
4442
5290
  year: 2022,
4443
5291
  month: 11,
4444
5292
  day: 25,
4445
- }, parameter ?? MapleStoryApi.getProperDefaultDateOptions({
4446
- hour: 4,
4447
- minute: 0,
4448
- dateOffset: 1
4449
- }));
5293
+ }, parameter ??
5294
+ MapleStoryApi.getProperDefaultDateOptions({
5295
+ hour: 4,
5296
+ minute: 0,
5297
+ dateOffset: 1,
5298
+ }));
4450
5299
  }
4451
5300
  try {
4452
5301
  const path = 'maplestory/v1/history/cube';
@@ -4466,6 +5315,43 @@ class MapleStoryApi {
4466
5315
  throw e;
4467
5316
  }
4468
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
+ }
4469
5355
  //#endregion
4470
5356
  //#region 랭킹 정보 조회
4471
5357
  /**
@@ -4481,7 +5367,7 @@ class MapleStoryApi {
4481
5367
  async getOverallRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4482
5368
  hour: 8,
4483
5369
  minute: 30,
4484
- dateOffset: 0
5370
+ dateOffset: 0,
4485
5371
  })) {
4486
5372
  const query = {
4487
5373
  date: MapleStoryApi.toDateString({
@@ -4528,7 +5414,7 @@ class MapleStoryApi {
4528
5414
  async getUnionRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4529
5415
  hour: 8,
4530
5416
  minute: 30,
4531
- dateOffset: 0
5417
+ dateOffset: 0,
4532
5418
  })) {
4533
5419
  const query = {
4534
5420
  date: MapleStoryApi.toDateString({
@@ -4573,7 +5459,7 @@ class MapleStoryApi {
4573
5459
  async getGuildRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4574
5460
  hour: 8,
4575
5461
  minute: 30,
4576
- dateOffset: 0
5462
+ dateOffset: 0,
4577
5463
  })) {
4578
5464
  const query = {
4579
5465
  date: MapleStoryApi.toDateString({
@@ -4620,7 +5506,7 @@ class MapleStoryApi {
4620
5506
  async getDojangRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4621
5507
  hour: 8,
4622
5508
  minute: 30,
4623
- dateOffset: 0
5509
+ dateOffset: 0,
4624
5510
  })) {
4625
5511
  const query = {
4626
5512
  date: MapleStoryApi.toDateString({
@@ -4668,7 +5554,7 @@ class MapleStoryApi {
4668
5554
  async getSeedRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4669
5555
  hour: 8,
4670
5556
  minute: 30,
4671
- dateOffset: 0
5557
+ dateOffset: 0,
4672
5558
  })) {
4673
5559
  const query = {
4674
5560
  date: MapleStoryApi.toDateString({
@@ -4713,7 +5599,7 @@ class MapleStoryApi {
4713
5599
  async getAchievementRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4714
5600
  hour: 8,
4715
5601
  minute: 30,
4716
- dateOffset: 0
5602
+ dateOffset: 0,
4717
5603
  })) {
4718
5604
  const query = {
4719
5605
  date: MapleStoryApi.toDateString({
@@ -4811,7 +5697,7 @@ class MapleStoryApi {
4811
5697
  return {
4812
5698
  year: adjustedDate.year(),
4813
5699
  month: adjustedDate.month() + 1,
4814
- day: adjustedDate.date()
5700
+ day: adjustedDate.date(),
4815
5701
  };
4816
5702
  }
4817
5703
  /**
@@ -4829,8 +5715,10 @@ class MapleStoryApi {
4829
5715
  (year === minYear && month === minMonth && day < minDay)) {
4830
5716
  throw new Error(`You can only retrieve data after ${dayjs(`${minYear}-${minMonth}-${minDay}`).format('YYYY-MM-DD')}.`);
4831
5717
  }
4832
- 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');
4833
5721
  }
4834
5722
  }
4835
5723
 
4836
- 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, CharacterItemEquipmentDto, CharacterItemEquipmentEtcOptionDto, CharacterItemEquipmentExceptionalOptionDto, CharacterItemEquipmentInfoDto, 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 };