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.js CHANGED
@@ -29,80 +29,45 @@ var utc$1 = {exports: {}};
29
29
  var utc = utc$1.exports;
30
30
 
31
31
  /**
32
- * 업적 랭킹 정보
32
+ * 캐릭터 어빌리티 상세 정보
33
33
  */
34
- class AchievementRankingDto {
35
- /**
36
- * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
37
- */
38
- date;
39
- /**
40
- * 업적 랭킹 순위
41
- */
42
- ranking;
43
- /**
44
- * 캐릭터 명
45
- */
46
- characterName;
47
- /**
48
- * 월드 명
49
- */
50
- worldName;
51
- /**
52
- * 직업 명
53
- */
54
- className;
34
+ class CharacterAbilityInfoDto {
55
35
  /**
56
- * 전직 직업 명
36
+ * 어빌리티 번호
57
37
  */
58
- subClassName;
38
+ abilityNo;
59
39
  /**
60
- * 업적 등급
40
+ * 어빌리티 등급
61
41
  */
62
- trophyGrade;
42
+ abilityGrade;
63
43
  /**
64
- * 업적 점수
44
+ * 어빌리티 옵션 및 수치
65
45
  */
66
- trophyScore;
46
+ abilityValue;
67
47
  constructor(obj) {
68
- const { date, ranking, character_name, world_name, class_name, sub_class_name, trophy_grade, trophy_score, } = obj;
69
- this.date = new Date(date);
70
- this.ranking = ranking;
71
- this.characterName = character_name;
72
- this.worldName = world_name;
73
- this.className = class_name;
74
- this.subClassName = sub_class_name;
75
- this.trophyGrade = trophy_grade;
76
- this.trophyScore = trophy_score;
48
+ const { ability_no, ability_grade, ability_value } = obj;
49
+ this.abilityNo = ability_no;
50
+ this.abilityGrade = ability_grade;
51
+ this.abilityValue = ability_value;
77
52
  }
78
53
  }
79
54
 
80
55
  /**
81
- * 업적 랭킹 응답 정보
56
+ * 캐릭터 어빌리티 프리셋 정보
82
57
  */
83
- class AchievementRankingResponseDto {
58
+ class CharacterAbilityPresetDto {
84
59
  /**
85
- * 업적 랭킹 정보
60
+ * 프리셋의 어빌리티 등급
86
61
  */
87
- ranking;
88
- constructor(obj) {
89
- const { ranking } = obj;
90
- this.ranking = ranking.map((rank) => new AchievementRankingDto(rank));
91
- }
92
- }
93
-
94
- /**
95
- * 캐릭터 어빌리티 상세 정보
96
- */
97
- class CharacterAbilityInfoDto {
98
- abilityNo;
99
- abilityGrade;
100
- abilityValue;
62
+ abilityPresetGrade;
63
+ /**
64
+ * 프리셋의 어빌리티 정보
65
+ */
66
+ abilityInfo;
101
67
  constructor(obj) {
102
- const { ability_no, ability_grade, ability_value } = obj;
103
- this.abilityNo = ability_no;
104
- this.abilityGrade = ability_grade;
105
- this.abilityValue = ability_value;
68
+ const { ability_preset_grade, ability_info } = obj;
69
+ this.abilityPresetGrade = ability_preset_grade;
70
+ this.abilityInfo = ability_info.map((info) => new CharacterAbilityInfoDto(info));
106
71
  }
107
72
  }
108
73
 
@@ -126,13 +91,39 @@ class CharacterAbilityDto {
126
91
  * 보유 명성치
127
92
  */
128
93
  remainFame;
94
+ /**
95
+ * 적용 중인 어빌리티 프리셋 번호
96
+ */
97
+ presetNo;
98
+ /**
99
+ * 어빌리티 1번 프리셋 전체 정보
100
+ */
101
+ abilityPreset1;
102
+ /**
103
+ * 어빌리티 2번 프리셋 전체 정보
104
+ */
105
+ abilityPreset2;
106
+ /**
107
+ * 어빌리티 3번 프리셋 전체 정보
108
+ */
109
+ abilityPreset3;
129
110
  constructor(obj) {
130
- const { date, ability_grade, ability_info, remain_fame } = obj;
111
+ const { date, ability_grade, ability_info, remain_fame, preset_no, ability_preset_1, ability_preset_2, ability_preset_3, } = obj;
131
112
  // 날짜는 Date 객체로 변환
132
113
  this.date = new Date(date);
133
114
  this.abilityGrade = ability_grade;
134
115
  this.abilityInfo = ability_info.map((info) => new CharacterAbilityInfoDto(info));
135
116
  this.remainFame = remain_fame;
117
+ this.presetNo = preset_no;
118
+ this.abilityPreset1 = ability_preset_1
119
+ ? new CharacterAbilityPresetDto(ability_preset_1)
120
+ : null;
121
+ this.abilityPreset2 = ability_preset_2
122
+ ? new CharacterAbilityPresetDto(ability_preset_2)
123
+ : null;
124
+ this.abilityPreset3 = ability_preset_3
125
+ ? new CharacterAbilityPresetDto(ability_preset_3)
126
+ : null;
136
127
  }
137
128
  }
138
129
 
@@ -305,6 +296,75 @@ class CharacterAndroidEquipmentHairDto {
305
296
  }
306
297
  }
307
298
 
299
+ /**
300
+ * 캐릭터 안드로이드 프리셋 정보
301
+ */
302
+ class CharacterAndroidEquipmentPresetDto {
303
+ /**
304
+ * 안드로이드 명
305
+ */
306
+ androidName;
307
+ /**
308
+ * 안드로이드 닉네임
309
+ */
310
+ androidNickname;
311
+ /**
312
+ * 안드로이드 아이콘
313
+ */
314
+ androidIcon;
315
+ /**
316
+ * 안드로이드 아이템 설명
317
+ */
318
+ androidDescription;
319
+ /**
320
+ * 안드로이드 성별
321
+ */
322
+ androidGender;
323
+ /**
324
+ * 안드로이드 등급
325
+ */
326
+ androidGrade;
327
+ /**
328
+ * 안드로이드 피부 명
329
+ */
330
+ androidSkinName;
331
+ /**
332
+ * 안드로이드 헤어 정보
333
+ */
334
+ androidHair;
335
+ /**
336
+ * 안드로이드 성형 정보
337
+ */
338
+ androidFace;
339
+ /**
340
+ * 안드로이드 이어센서 클립 적용 여부
341
+ */
342
+ androidEarSensorClipFlag;
343
+ /**
344
+ * 비인간형 안드로이드 여부
345
+ */
346
+ androidNonHumanoidFlag;
347
+ /**
348
+ * 잡화상점 기능 이용 가능 여부
349
+ */
350
+ androidShopUsableFlag;
351
+ constructor(obj) {
352
+ 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;
353
+ this.androidName = android_name;
354
+ this.androidNickname = android_nickname;
355
+ this.androidIcon = android_icon;
356
+ this.androidDescription = android_description;
357
+ this.androidGender = android_gender;
358
+ this.androidGrade = android_grade;
359
+ this.androidSkinName = android_skin_name;
360
+ this.androidHair = new CharacterAndroidEquipmentHairDto(android_hair);
361
+ this.androidFace = new CharacterAndroidEquipmentFaceDto(android_face);
362
+ this.androidEarSensorClipFlag = android_ear_sensor_clip_flag;
363
+ this.androidNonHumanoidFlag = android_non_humanoid_flag;
364
+ this.androidShopUsableFlag = android_shop_usable_flag;
365
+ }
366
+ }
367
+
308
368
  /**
309
369
  * 캐릭터 안드로이드 장비 정보
310
370
  */
@@ -349,8 +409,40 @@ class CharacterAndroidEquipmentDto {
349
409
  * 안드로이드 이어센서 클립 적용 여부
350
410
  */
351
411
  androidEarSensorClipFlag;
412
+ /**
413
+ * 안드로이드 성별
414
+ */
415
+ androidGender;
416
+ /**
417
+ * 안드로이드 등급
418
+ */
419
+ androidGrade;
420
+ /**
421
+ * 비인간형 안드로이드 여부
422
+ */
423
+ androidNonHumanoidFlag;
424
+ /**
425
+ * 잡화상점 기능 이용 가능 여부
426
+ */
427
+ androidShopUsableFlag;
428
+ /**
429
+ * 적용 중인 장비 프리셋 번호
430
+ */
431
+ presetNo;
432
+ /**
433
+ * 1번 프리셋 안드로이드 정보
434
+ */
435
+ androidPreset1;
436
+ /**
437
+ * 2번 프리셋 안드로이드 정보
438
+ */
439
+ androidPreset2;
440
+ /**
441
+ * 3번 프리셋 안드로이드 정보
442
+ */
443
+ androidPreset3;
352
444
  constructor(obj) {
353
- 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;
445
+ 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;
354
446
  this.date = new Date(date);
355
447
  this.androidName = android_name;
356
448
  this.androidNickname = android_nickname;
@@ -361,6 +453,14 @@ class CharacterAndroidEquipmentDto {
361
453
  this.androidSkinName = android_skin_name;
362
454
  this.androidCashItemEquipment = android_cash_item_equipment.map((equipment) => new CharacterAndroidCashItemEquipmentDto(equipment));
363
455
  this.androidEarSensorClipFlag = android_ear_sensor_clip_flag ?? null;
456
+ this.androidGender = android_gender;
457
+ this.androidGrade = android_grade;
458
+ this.androidNonHumanoidFlag = android_non_humanoid_flag;
459
+ this.androidShopUsableFlag = android_shop_usable_flag;
460
+ this.presetNo = preset_no;
461
+ this.androidPreset1 = android_preset_1 ? new CharacterAndroidEquipmentPresetDto(android_preset_1) : null;
462
+ this.androidPreset2 = android_preset_2 ? new CharacterAndroidEquipmentPresetDto(android_preset_2) : null;
463
+ this.androidPreset3 = android_preset_3 ? new CharacterAndroidEquipmentPresetDto(android_preset_3) : null;
364
464
  }
365
465
  }
366
466
 
@@ -637,11 +737,11 @@ class CharacterCashItemEquipmentPresetDto {
637
737
  */
638
738
  cashItemColoringPrism;
639
739
  /**
640
- * 다른 프리셋에서 장비 추가 장착 없이 1번 프리셋의 장비 공유를 비활성화 했는지 여부
740
+ * 아이템 장착 가능 성별
641
741
  */
642
- basePresetItemDisableFlag;
742
+ itemGender;
643
743
  constructor(obj) {
644
- 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;
744
+ 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;
645
745
  this.cashItemEquipmentPart = cash_item_equipment_part;
646
746
  this.cashItemEquipmentSlot = cash_item_equipment_slot;
647
747
  this.cashItemName = cash_item_name;
@@ -654,7 +754,7 @@ class CharacterCashItemEquipmentPresetDto {
654
754
  this.cashItemColoringPrism = cash_item_coloring_prism
655
755
  ? new CharacterCashItemEquipmentColoringPrismDto(cash_item_coloring_prism)
656
756
  : null;
657
- this.basePresetItemDisableFlag = base_preset_item_disable_flag;
757
+ this.itemGender = item_gender;
658
758
  }
659
759
  }
660
760
 
@@ -679,37 +779,49 @@ class CharacterCashItemEquipmentDto {
679
779
  */
680
780
  presetNo;
681
781
  /**
682
- * 1번 프리셋 장착 캐시 장비 정보
782
+ * 장착 중인 캐시 장비
783
+ */
784
+ cashItemEquipmentBase;
785
+ /**
786
+ * 1번 코디 프리셋
683
787
  */
684
788
  cashItemEquipmentPreset1;
685
789
  /**
686
- * 2번 프리셋 장착 캐시 장비 정보
790
+ * 2번 코디 프리셋
687
791
  */
688
792
  cashItemEquipmentPreset2;
689
793
  /**
690
- * 3번 프리셋 장착 캐시 장비 정보
794
+ * 3번 코디 프리셋
691
795
  */
692
796
  cashItemEquipmentPreset3;
693
797
  /**
694
- * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드의 1번 프리셋 장착 캐시 장비 정보
798
+ * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드에서 장착 중인 캐시 장비
799
+ */
800
+ additionalCashItemEquipmentBase;
801
+ /**
802
+ * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드의 1번 코디 프리셋
695
803
  */
696
804
  additionalCashItemEquipmentPreset1;
697
805
  /**
698
- * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드의 2번 프리셋 장착 캐시 장비 정보
806
+ * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드의 2번 코디 프리셋
699
807
  */
700
808
  additionalCashItemEquipmentPreset2;
701
809
  /**
702
- * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드의 3번 프리셋 장착 캐시 장비 정보
810
+ * 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드의 3번 코디 프리셋
703
811
  */
704
812
  additionalCashItemEquipmentPreset3;
705
813
  constructor(obj) {
706
- 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;
707
- (this.date = new Date(date)), (this.characterGender = character_gender);
814
+ 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;
815
+ this.date = new Date(date);
816
+ this.characterGender = character_gender;
708
817
  this.characterClass = character_class;
709
818
  this.presetNo = preset_no;
819
+ this.cashItemEquipmentBase = cash_item_equipment_base.map((preset) => new CharacterCashItemEquipmentPresetDto(preset));
710
820
  this.cashItemEquipmentPreset1 = cash_item_equipment_preset_1.map((preset) => new CharacterCashItemEquipmentPresetDto(preset));
711
821
  this.cashItemEquipmentPreset2 = cash_item_equipment_preset_2.map((preset) => new CharacterCashItemEquipmentPresetDto(preset));
712
822
  this.cashItemEquipmentPreset3 = cash_item_equipment_preset_3.map((preset) => new CharacterCashItemEquipmentPresetDto(preset));
823
+ this.additionalCashItemEquipmentBase =
824
+ additional_cash_item_equipment_base.map((preset) => new CharacterCashItemEquipmentPresetDto(preset));
713
825
  this.additionalCashItemEquipmentPreset1 =
714
826
  additional_cash_item_equipment_preset_1.map((preset) => new CharacterCashItemEquipmentPresetDto(preset));
715
827
  this.additionalCashItemEquipmentPreset2 =
@@ -1456,6 +1568,9 @@ class CharacterItemEquipmentTotalOptionDto {
1456
1568
  }
1457
1569
  }
1458
1570
 
1571
+ /**
1572
+ * 캐릭터 장비 아이템 상세 정보
1573
+ */
1459
1574
  class CharacterItemEquipmentInfoDto {
1460
1575
  /**
1461
1576
  * 장비 부위 명
@@ -1464,7 +1579,7 @@ class CharacterItemEquipmentInfoDto {
1464
1579
  /**
1465
1580
  * 장비 슬롯 위치
1466
1581
  */
1467
- equipmentSlot;
1582
+ itemEquipmentSlot;
1468
1583
  /**
1469
1584
  * 장비 명
1470
1585
  */
@@ -1602,9 +1717,9 @@ class CharacterItemEquipmentInfoDto {
1602
1717
  */
1603
1718
  dateExpire;
1604
1719
  constructor(obj) {
1605
- 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;
1720
+ 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;
1606
1721
  this.itemEquipmentPart = item_equipment_part;
1607
- this.equipmentSlot = equipment_slot;
1722
+ this.itemEquipmentSlot = item_equipment_slot;
1608
1723
  this.itemName = item_name;
1609
1724
  this.itemIcon = item_icon;
1610
1725
  this.itemDescription = item_description;
@@ -1688,113 +1803,457 @@ class CharacterItemEquipmentTitleDto {
1688
1803
  }
1689
1804
 
1690
1805
  /**
1691
- * 캐릭터 장비 아이템 정보
1806
+ * 에반 드래곤 장비 정보
1692
1807
  */
1693
- class CharacterItemEquipmentDto {
1808
+ class CharacterItemEquipmentDragonInfoDto {
1694
1809
  /**
1695
- * 조회 기준일
1810
+ * 장비 부위 명
1696
1811
  */
1697
- date;
1812
+ itemEquipmentPart;
1698
1813
  /**
1699
- * 캐릭터 성별
1814
+ * 장비 슬롯 위치
1700
1815
  */
1701
- characterGender;
1816
+ itemEquipmentSlot;
1702
1817
  /**
1703
- * 캐릭터 직업
1818
+ * 장비
1704
1819
  */
1705
- characterClass;
1820
+ itemName;
1706
1821
  /**
1707
- * 장비 정보 배열
1822
+ * 장비 아이콘
1708
1823
  */
1709
- itemEquipment;
1824
+ itemIcon;
1710
1825
  /**
1711
- * 칭호 정보
1826
+ * 장비 설명
1712
1827
  */
1713
- title;
1828
+ itemDescription;
1714
1829
  /**
1715
- * 에반 드래곤 장비 정보 (에반인 경우 응답)
1830
+ * 장비 외형
1716
1831
  */
1717
- dragonEquipment;
1832
+ itemShapeName;
1718
1833
  /**
1719
- * 메카닉 장비 정보 (메카닉인 경우 응답)
1834
+ * 장비 외형 아이콘
1720
1835
  */
1721
- mechanicEquipment;
1722
- constructor(obj) {
1723
- const { date, character_gender, character_class, item_equipment, title, dragon_equipment, mechanic_equipment, } = obj;
1724
- this.date = new Date(date);
1725
- this.characterGender = character_gender;
1726
- this.characterClass = character_class;
1727
- this.itemEquipment = item_equipment.map((equipment) => new CharacterItemEquipmentInfoDto(equipment));
1728
- this.title = new CharacterItemEquipmentTitleDto(title);
1729
- this.dragonEquipment = dragon_equipment
1730
- ? dragon_equipment.map((equipment) => new CharacterItemEquipmentInfoDto(equipment))
1731
- : undefined;
1732
- this.mechanicEquipment = mechanic_equipment
1733
- ? mechanic_equipment.map((equipment) => new CharacterItemEquipmentInfoDto(equipment))
1734
- : undefined;
1735
- }
1736
- }
1737
-
1738
- /**
1739
- * 캐릭터 링크 스킬 정보
1740
- */
1741
- class CharacterLinkSkillInfoDto {
1836
+ itemShapeIcon;
1742
1837
  /**
1743
- * 스킬
1838
+ * 전용 성별
1744
1839
  */
1745
- skillName;
1840
+ itemGender;
1746
1841
  /**
1747
- * 스킬 설명
1842
+ * 장비 최종 옵션
1748
1843
  */
1749
- skillDescription;
1844
+ itemTotalOption;
1750
1845
  /**
1751
- * 스킬 레벨
1846
+ * 장비 기본 옵션
1752
1847
  */
1753
- skillLevel;
1848
+ itemBaseOption;
1754
1849
  /**
1755
- * 스킬 효과
1850
+ * 착용 레벨 증가
1756
1851
  */
1757
- skillEffect;
1852
+ equipmentLevelIncrease;
1758
1853
  /**
1759
- * 스킬 아이콘
1854
+ * 장비 특별 옵션
1760
1855
  */
1761
- skillIcon;
1762
- constructor(obj) {
1763
- const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
1764
- this.skillName = skill_name;
1765
- this.skillDescription = skill_description;
1766
- this.skillLevel = skill_level;
1767
- this.skillEffect = skill_effect;
1768
- this.skillIcon = skill_icon;
1769
- }
1770
- }
1771
-
1772
- /**
1773
- * 캐릭터 링크 스킬 정보
1774
- */
1775
- class CharacterLinkSkillDto {
1856
+ itemExceptionalOption;
1776
1857
  /**
1777
- * 조회 기준일
1858
+ * 장비 추가 옵션
1778
1859
  */
1779
- date;
1860
+ itemAddOption;
1780
1861
  /**
1781
- * 캐릭터 직업
1862
+ * 성장 경험치
1782
1863
  */
1783
- characterClass;
1864
+ growthExp;
1784
1865
  /**
1785
- * 링크 스킬 정보
1866
+ * 성장 레벨
1786
1867
  */
1787
- characterLinkSkill;
1868
+ growthLevel;
1788
1869
  /**
1789
- * 링크 스킬 정보
1870
+ * 업그레이드 횟수
1790
1871
  */
1791
- characterOwnedLinkSkill;
1792
- constructor(obj) {
1793
- const { date, character_class, character_link_skill, character_owned_link_skill, } = obj;
1872
+ scrollUpgrade;
1873
+ /**
1874
+ * 가위 사용 가능 횟수 (교환 불가 장비, 가위 횟수가 없는 교환 가능 장비는 255)
1875
+ */
1876
+ cuttableCount;
1877
+ /**
1878
+ * 황금 망치 재련 적용 (1:적용, 이외 미 적용)
1879
+ */
1880
+ goldenHammerFlag;
1881
+ /**
1882
+ * 복구 가능 횟수
1883
+ */
1884
+ scrollResilienceCount;
1885
+ /**
1886
+ * 업그레이드 가능 횟수
1887
+ */
1888
+ scrollUpgradeableCount;
1889
+ /**
1890
+ * 소울 명
1891
+ */
1892
+ soulName;
1893
+ /**
1894
+ * 소울 옵션
1895
+ */
1896
+ soulOption;
1897
+ /**
1898
+ * 장비 기타 옵션
1899
+ */
1900
+ itemEtcOption;
1901
+ /**
1902
+ * 강화 단계
1903
+ */
1904
+ starforce;
1905
+ /**
1906
+ * 놀라운 장비 강화 주문서 사용 여부 (0:미사용, 1:사용)
1907
+ */
1908
+ starforceScrollFlag;
1909
+ /**
1910
+ * 장비 스타포스 옵션
1911
+ */
1912
+ itemStarforceOption;
1913
+ /**
1914
+ * 특수 반지 레벨
1915
+ */
1916
+ specialRingLevel;
1917
+ /**
1918
+ * 장비 유효 기간
1919
+ */
1920
+ dateExpire;
1921
+ constructor(obj) {
1922
+ 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;
1923
+ this.itemEquipmentPart = item_equipment_part;
1924
+ this.itemEquipmentSlot = item_equipment_slot;
1925
+ this.itemName = item_name;
1926
+ this.itemIcon = item_icon;
1927
+ this.itemDescription = item_description;
1928
+ this.itemShapeName = item_shape_name;
1929
+ this.itemShapeIcon = item_shape_icon;
1930
+ this.itemGender = item_gender;
1931
+ this.itemTotalOption = new CharacterItemEquipmentTotalOptionDto(item_total_option);
1932
+ this.itemBaseOption = new CharacterItemEquipmentBaseOptionDto(item_base_option);
1933
+ this.equipmentLevelIncrease = equipment_level_increase;
1934
+ this.itemExceptionalOption = new CharacterItemEquipmentExceptionalOptionDto(item_exceptional_option);
1935
+ this.itemAddOption = new CharacterItemEquipmentAddOptionDto(item_add_option);
1936
+ this.growthExp = growth_exp;
1937
+ this.growthLevel = growth_level;
1938
+ this.scrollUpgrade = scroll_upgrade;
1939
+ this.cuttableCount = cuttable_count;
1940
+ this.goldenHammerFlag = golden_hammer_flag;
1941
+ this.scrollResilienceCount = scroll_resilience_count;
1942
+ this.scrollUpgradeableCount = scroll_upgradeable_count;
1943
+ this.soulName = soul_name;
1944
+ this.soulOption = soul_option;
1945
+ this.itemEtcOption = new CharacterItemEquipmentEtcOptionDto(item_etc_option);
1946
+ this.starforce = starforce;
1947
+ this.starforceScrollFlag = starforce_scroll_flag;
1948
+ this.itemStarforceOption = new CharacterItemEquipmentStarforceOptionDto(item_starforce_option);
1949
+ this.specialRingLevel = special_ring_level;
1950
+ this.dateExpire = date_expire ? new Date(date_expire) : null;
1951
+ }
1952
+ }
1953
+
1954
+ /**
1955
+ * 메카닉 장비 정보
1956
+ */
1957
+ class CharacterItemEquipmentMechanicInfoDto {
1958
+ /**
1959
+ * 장비 부위 명
1960
+ */
1961
+ itemEquipmentPart;
1962
+ /**
1963
+ * 장비 슬롯 위치
1964
+ */
1965
+ itemEquipmentSlot;
1966
+ /**
1967
+ * 장비 명
1968
+ */
1969
+ itemName;
1970
+ /**
1971
+ * 장비 아이콘
1972
+ */
1973
+ itemIcon;
1974
+ /**
1975
+ * 장비 설명
1976
+ */
1977
+ itemDescription;
1978
+ /**
1979
+ * 장비 외형
1980
+ */
1981
+ itemShapeName;
1982
+ /**
1983
+ * 장비 외형 아이콘
1984
+ */
1985
+ itemShapeIcon;
1986
+ /**
1987
+ * 전용 성별
1988
+ */
1989
+ itemGender;
1990
+ /**
1991
+ * 장비 최종 옵션
1992
+ */
1993
+ itemTotalOption;
1994
+ /**
1995
+ * 장비 기본 옵션
1996
+ */
1997
+ itemBaseOption;
1998
+ /**
1999
+ * 착용 레벨 증가
2000
+ */
2001
+ equipmentLevelIncrease;
2002
+ /**
2003
+ * 장비 특별 옵션
2004
+ */
2005
+ itemExceptionalOption;
2006
+ /**
2007
+ * 장비 추가 옵션
2008
+ */
2009
+ itemAddOption;
2010
+ /**
2011
+ * 성장 경험치
2012
+ */
2013
+ growthExp;
2014
+ /**
2015
+ * 성장 레벨
2016
+ */
2017
+ growthLevel;
2018
+ /**
2019
+ * 업그레이드 횟수
2020
+ */
2021
+ scrollUpgrade;
2022
+ /**
2023
+ * 가위 사용 가능 횟수 (교환 불가 장비, 가위 횟수가 없는 교환 가능 장비는 255)
2024
+ */
2025
+ cuttableCount;
2026
+ /**
2027
+ * 황금 망치 재련 적용 (1:적용, 이외 미 적용)
2028
+ */
2029
+ goldenHammerFlag;
2030
+ /**
2031
+ * 복구 가능 횟수
2032
+ */
2033
+ scrollResilienceCount;
2034
+ /**
2035
+ * 업그레이드 가능 횟수
2036
+ */
2037
+ scrollUpgradeableCount;
2038
+ /**
2039
+ * 소울 명
2040
+ */
2041
+ soulName;
2042
+ /**
2043
+ * 소울 옵션
2044
+ */
2045
+ soulOption;
2046
+ /**
2047
+ * 장비 기타 옵션
2048
+ */
2049
+ itemEtcOption;
2050
+ /**
2051
+ * 강화 단계
2052
+ */
2053
+ starforce;
2054
+ /**
2055
+ * 놀라운 장비 강화 주문서 사용 여부 (0:미사용, 1:사용)
2056
+ */
2057
+ starforceScrollFlag;
2058
+ /**
2059
+ * 장비 스타포스 옵션
2060
+ */
2061
+ itemStarforceOption;
2062
+ /**
2063
+ * 특수 반지 레벨
2064
+ */
2065
+ specialRingLevel;
2066
+ /**
2067
+ * 장비 유효 기간
2068
+ */
2069
+ dateExpire;
2070
+ constructor(obj) {
2071
+ 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;
2072
+ this.itemEquipmentPart = item_equipment_part;
2073
+ this.itemEquipmentSlot = item_equipment_slot;
2074
+ this.itemName = item_name;
2075
+ this.itemIcon = item_icon;
2076
+ this.itemDescription = item_description;
2077
+ this.itemShapeName = item_shape_name;
2078
+ this.itemShapeIcon = item_shape_icon;
2079
+ this.itemGender = item_gender;
2080
+ this.itemTotalOption = new CharacterItemEquipmentTotalOptionDto(item_total_option);
2081
+ this.itemBaseOption = new CharacterItemEquipmentBaseOptionDto(item_base_option);
2082
+ this.equipmentLevelIncrease = equipment_level_increase;
2083
+ this.itemExceptionalOption = new CharacterItemEquipmentExceptionalOptionDto(item_exceptional_option);
2084
+ this.itemAddOption = new CharacterItemEquipmentAddOptionDto(item_add_option);
2085
+ this.growthExp = growth_exp;
2086
+ this.growthLevel = growth_level;
2087
+ this.scrollUpgrade = scroll_upgrade;
2088
+ this.cuttableCount = cuttable_count;
2089
+ this.goldenHammerFlag = golden_hammer_flag;
2090
+ this.scrollResilienceCount = scroll_resilience_count;
2091
+ this.scrollUpgradeableCount = scroll_upgradeable_count;
2092
+ this.soulName = soul_name;
2093
+ this.soulOption = soul_option;
2094
+ this.itemEtcOption = new CharacterItemEquipmentEtcOptionDto(item_etc_option);
2095
+ this.starforce = starforce;
2096
+ this.starforceScrollFlag = starforce_scroll_flag;
2097
+ this.itemStarforceOption = new CharacterItemEquipmentStarforceOptionDto(item_starforce_option);
2098
+ this.specialRingLevel = special_ring_level;
2099
+ this.dateExpire = date_expire ? new Date(date_expire) : null;
2100
+ }
2101
+ }
2102
+
2103
+ /**
2104
+ * 캐릭터 장비 아이템 정보
2105
+ */
2106
+ class CharacterItemEquipmentDto {
2107
+ /**
2108
+ * 조회 기준일
2109
+ */
2110
+ date;
2111
+ /**
2112
+ * 캐릭터 성별
2113
+ */
2114
+ characterGender;
2115
+ /**
2116
+ * 캐릭터 직업
2117
+ */
2118
+ characterClass;
2119
+ /**
2120
+ * 적용 중인 장비 프리셋 번호
2121
+ */
2122
+ presetNo;
2123
+ /**
2124
+ * 장비 정보
2125
+ */
2126
+ itemEquipment;
2127
+ /**
2128
+ * 1번 프리셋 장비 정보
2129
+ */
2130
+ itemEquipmentPreset1;
2131
+ /**
2132
+ * 2번 프리셋 장비 정보
2133
+ */
2134
+ itemEquipmentPreset2;
2135
+ /**
2136
+ * 3번 프리셋 장비 정보
2137
+ */
2138
+ itemEquipmentPreset3;
2139
+ /**
2140
+ * 칭호 정보
2141
+ */
2142
+ title;
2143
+ /**
2144
+ * 에반 드래곤 장비 정보 (에반인 경우 응답)
2145
+ */
2146
+ dragonEquipment;
2147
+ /**
2148
+ * 메카닉 장비 정보 (메카닉인 경우 응답)
2149
+ */
2150
+ mechanicEquipment;
2151
+ constructor(obj) {
2152
+ 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;
1794
2153
  this.date = new Date(date);
2154
+ this.characterGender = character_gender;
1795
2155
  this.characterClass = character_class;
1796
- this.characterLinkSkill = new CharacterLinkSkillInfoDto(character_link_skill);
2156
+ this.presetNo = preset_no;
2157
+ this.itemEquipment = item_equipment.map((equipment) => new CharacterItemEquipmentInfoDto(equipment));
2158
+ this.itemEquipmentPreset1 = item_equipment_preset_1 ? item_equipment_preset_1.map((equipment) => new CharacterItemEquipmentInfoDto(equipment)) : null;
2159
+ this.itemEquipmentPreset2 = item_equipment_preset_2 ? item_equipment_preset_2.map((equipment) => new CharacterItemEquipmentInfoDto(equipment)) : null;
2160
+ this.itemEquipmentPreset3 = item_equipment_preset_3 ? item_equipment_preset_3.map((equipment) => new CharacterItemEquipmentInfoDto(equipment)) : null;
2161
+ this.title = title ? new CharacterItemEquipmentTitleDto(title) : null;
2162
+ this.dragonEquipment = dragon_equipment.map((equipment) => new CharacterItemEquipmentDragonInfoDto(equipment));
2163
+ this.mechanicEquipment = mechanic_equipment.map((equipment) => new CharacterItemEquipmentMechanicInfoDto(equipment));
2164
+ }
2165
+ }
2166
+
2167
+ /**
2168
+ * 캐릭터 링크 스킬 정보
2169
+ */
2170
+ class CharacterLinkSkillInfoDto {
2171
+ /**
2172
+ * 스킬 명
2173
+ */
2174
+ skillName;
2175
+ /**
2176
+ * 스킬 설명
2177
+ */
2178
+ skillDescription;
2179
+ /**
2180
+ * 스킬 레벨
2181
+ */
2182
+ skillLevel;
2183
+ /**
2184
+ * 스킬 효과
2185
+ */
2186
+ skillEffect;
2187
+ /**
2188
+ * 스킬 아이콘
2189
+ */
2190
+ skillIcon;
2191
+ constructor(obj) {
2192
+ const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
2193
+ this.skillName = skill_name;
2194
+ this.skillDescription = skill_description;
2195
+ this.skillLevel = skill_level;
2196
+ this.skillEffect = skill_effect;
2197
+ this.skillIcon = skill_icon;
2198
+ }
2199
+ }
2200
+
2201
+ /**
2202
+ * 캐릭터 링크 스킬 정보
2203
+ */
2204
+ class CharacterLinkSkillDto {
2205
+ /**
2206
+ * 조회 기준일
2207
+ */
2208
+ date;
2209
+ /**
2210
+ * 캐릭터 직업
2211
+ */
2212
+ characterClass;
2213
+ /**
2214
+ * 링크 스킬 정보
2215
+ */
2216
+ characterLinkSkill;
2217
+ /**
2218
+ * 링크 스킬 1번 프리셋 정보
2219
+ */
2220
+ characterLinkSkillPreset1;
2221
+ /**
2222
+ * 링크 스킬 2번 프리셋 정보
2223
+ */
2224
+ characterLinkSkillPreset2;
2225
+ /**
2226
+ * 링크 스킬 3번 프리셋 정보
2227
+ */
2228
+ characterLinkSkillPreset3;
2229
+ /**
2230
+ * 내 링크 스킬 정보
2231
+ */
2232
+ characterOwnedLinkSkill;
2233
+ /**
2234
+ * 내 링크 스킬 1번 프리셋 정보
2235
+ */
2236
+ characterOwnedLinkSkillPreset1;
2237
+ /**
2238
+ * 내 링크 스킬 2번 프리셋 정보
2239
+ */
2240
+ characterOwnedLinkSkillPreset2;
2241
+ /**
2242
+ * 내 링크 스킬 3번 프리셋 정보
2243
+ */
2244
+ characterOwnedLinkSkillPreset3;
2245
+ constructor(obj) {
2246
+ 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;
2247
+ this.date = new Date(date);
2248
+ this.characterClass = character_class;
2249
+ this.characterLinkSkill = character_link_skill.map((skill) => new CharacterLinkSkillInfoDto(skill));
2250
+ this.characterLinkSkillPreset1 = character_link_skill_preset_1.map((skill) => new CharacterLinkSkillInfoDto(skill));
2251
+ this.characterLinkSkillPreset2 = character_link_skill_preset_2.map((skill) => new CharacterLinkSkillInfoDto(skill));
2252
+ this.characterLinkSkillPreset3 = character_link_skill_preset_3.map((skill) => new CharacterLinkSkillInfoDto(skill));
1797
2253
  this.characterOwnedLinkSkill = new CharacterLinkSkillInfoDto(character_owned_link_skill);
2254
+ this.characterOwnedLinkSkillPreset1 = character_owned_link_skill_preset_1 ? new CharacterLinkSkillInfoDto(character_owned_link_skill_preset_1) : null;
2255
+ this.characterOwnedLinkSkillPreset2 = character_owned_link_skill_preset_2 ? new CharacterLinkSkillInfoDto(character_owned_link_skill_preset_2) : null;
2256
+ this.characterOwnedLinkSkillPreset3 = character_owned_link_skill_preset_3 ? new CharacterLinkSkillInfoDto(character_owned_link_skill_preset_3) : null;
1798
2257
  }
1799
2258
  }
1800
2259
 
@@ -1873,15 +2332,25 @@ class CharacterPetEquipmentItemDto {
1873
2332
  /**
1874
2333
  * 업그레이드 가능 횟수
1875
2334
  */
1876
- scrollUpgradeable;
2335
+ scrollUpgradable;
2336
+ /**
2337
+ * 아이템 외형
2338
+ */
2339
+ itemShape;
2340
+ /**
2341
+ * 아이템 외형 아이콘
2342
+ */
2343
+ itemShapeIcon;
1877
2344
  constructor(obj) {
1878
- const { item_name, item_icon, item_description, item_option, scroll_upgrade, scroll_upgradeable, } = obj;
2345
+ const { item_name, item_icon, item_description, item_option, scroll_upgrade, scroll_upgradable, item_shape, item_shape_icon } = obj;
1879
2346
  this.itemName = item_name;
1880
2347
  this.itemIcon = item_icon;
1881
2348
  this.itemDescription = item_description;
1882
2349
  this.itemOption = item_option.map((option) => new CharacterPetEquipmentItemOptionDto(option));
1883
2350
  this.scrollUpgrade = scroll_upgrade;
1884
- this.scrollUpgradeable = scroll_upgradeable;
2351
+ this.scrollUpgradable = scroll_upgradable;
2352
+ this.itemShape = item_shape;
2353
+ this.itemShapeIcon = item_shape_icon;
1885
2354
  }
1886
2355
  }
1887
2356
 
@@ -1929,6 +2398,14 @@ class CharacterPetEquipmentDto {
1929
2398
  * 펫1 마법의 시간 (KST, 시간 단위 데이터로 분은 일괄 0으로 표기)
1930
2399
  */
1931
2400
  pet1DateExpire;
2401
+ /**
2402
+ * 펫1 외형
2403
+ */
2404
+ pet1Appearance;
2405
+ /**
2406
+ * 펫1 외형 아이콘
2407
+ */
2408
+ pet1AppearanceIcon;
1932
2409
  /**
1933
2410
  * 펫2 명
1934
2411
  */
@@ -1961,10 +2438,18 @@ class CharacterPetEquipmentDto {
1961
2438
  * 펫2 펫 보유 스킬
1962
2439
  */
1963
2440
  pet2Skill;
1964
- /*
2441
+ /**
1965
2442
  * 펫2 마법의 시간 (KST, 시간 단위 데이터로 분은 일괄 0으로 표기)
1966
2443
  */
1967
2444
  pet2DateExpire;
2445
+ /**
2446
+ * 펫2 외형
2447
+ */
2448
+ pet2Appearance;
2449
+ /**
2450
+ * 펫2 외형 아이콘
2451
+ */
2452
+ pet2AppearanceIcon;
1968
2453
  /**
1969
2454
  * 펫3 명
1970
2455
  */
@@ -1997,40 +2482,54 @@ class CharacterPetEquipmentDto {
1997
2482
  * 펫3 펫 보유 스킬
1998
2483
  */
1999
2484
  pet3Skill;
2000
- /*
2485
+ /**
2001
2486
  * 펫3 마법의 시간 (KST, 시간 단위 데이터로 분은 일괄 0으로 표기)
2002
2487
  */
2003
2488
  pet3DateExpire;
2489
+ /**
2490
+ * 펫3 외형
2491
+ */
2492
+ pet3Appearance;
2493
+ /**
2494
+ * 펫3 외형 아이콘
2495
+ */
2496
+ pet3AppearanceIcon;
2004
2497
  constructor(obj) {
2005
- 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;
2498
+ 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;
2006
2499
  this.date = new Date(date);
2007
2500
  this.pet1Name = pet_1_name;
2008
2501
  this.pet1Nickname = pet_1_nickname;
2009
2502
  this.pet1Icon = pet_1_icon;
2010
2503
  this.pet1Description = pet_1_description;
2011
- this.pet1Equipment = new CharacterPetEquipmentItemDto(pet_1_equipment);
2012
- this.pet1AutoSkill = new CharacterPetEquipmentAutoSkillDto(pet_1_auto_skill);
2504
+ this.pet1Equipment = pet_1_equipment ? new CharacterPetEquipmentItemDto(pet_1_equipment) : null;
2505
+ this.pet1AutoSkill = pet_1_auto_skill ? new CharacterPetEquipmentAutoSkillDto(pet_1_auto_skill) : null;
2013
2506
  this.pet1PetType = pet_1_pet_type;
2014
2507
  this.pet1Skill = pet_1_skill;
2015
- this.pet1DateExpire = new Date(pet_1_date_expire);
2508
+ this.pet1DateExpire = pet_1_date_expire ? new Date(pet_1_date_expire) : null;
2509
+ this.pet1Appearance = pet_1_appearance;
2510
+ this.pet1AppearanceIcon = pet_1_appearance_icon;
2016
2511
  this.pet2Name = pet_2_name;
2017
2512
  this.pet2Nickname = pet_2_nickname;
2018
2513
  this.pet2Icon = pet_2_icon;
2019
2514
  this.pet2Description = pet_2_description;
2020
- this.pet2Equipment = new CharacterPetEquipmentItemDto(pet_2_equipment);
2021
- this.pet2AutoSkill = new CharacterPetEquipmentAutoSkillDto(pet_2_auto_skill);
2515
+ this.pet2Equipment = pet_2_equipment ? new CharacterPetEquipmentItemDto(pet_2_equipment) : null;
2516
+ this.pet2AutoSkill = pet_2_auto_skill ? new CharacterPetEquipmentAutoSkillDto(pet_2_auto_skill) : null;
2022
2517
  this.pet2PetType = pet_2_pet_type;
2023
2518
  this.pet2Skill = pet_2_skill;
2024
- this.pet2DateExpire = new Date(pet_2_date_expire);
2519
+ this.pet2DateExpire = pet_2_date_expire ? new Date(pet_2_date_expire) : null;
2520
+ this.pet2Appearance = pet_2_appearance;
2521
+ this.pet2AppearanceIcon = pet_2_appearance_icon;
2025
2522
  this.pet3Name = pet_3_name;
2026
2523
  this.pet3Nickname = pet_3_nickname;
2027
2524
  this.pet3Icon = pet_3_icon;
2028
2525
  this.pet3Description = pet_3_description;
2029
- this.pet3Equipment = new CharacterPetEquipmentItemDto(pet_3_equipment);
2030
- this.pet3AutoSkill = new CharacterPetEquipmentAutoSkillDto(pet_3_auto_skill);
2526
+ this.pet3Equipment = pet_3_equipment ? new CharacterPetEquipmentItemDto(pet_3_equipment) : null;
2527
+ this.pet3AutoSkill = pet_3_auto_skill ? new CharacterPetEquipmentAutoSkillDto(pet_3_auto_skill) : null;
2031
2528
  this.pet3PetType = pet_3_pet_type;
2032
2529
  this.pet3Skill = pet_3_skill;
2033
- this.pet3DateExpire = new Date(pet_3_date_expire);
2530
+ this.pet3DateExpire = pet_3_date_expire ? new Date(pet_3_date_expire) : null;
2531
+ this.pet3Appearance = pet_3_appearance;
2532
+ this.pet3AppearanceIcon = pet_3_appearance_icon;
2034
2533
  }
2035
2534
  }
2036
2535
 
@@ -2353,75 +2852,197 @@ class CharacterVMatrixCodeEquipmentDto {
2353
2852
  /**
2354
2853
  * 슬롯 인덱스
2355
2854
  */
2356
- slotId;
2855
+ slotId;
2856
+ /**
2857
+ * 슬롯 레벨
2858
+ */
2859
+ slotLevel;
2860
+ /**
2861
+ * 코어 명
2862
+ */
2863
+ vCoreName;
2864
+ /**
2865
+ * 코어 타입
2866
+ */
2867
+ vCoreType;
2868
+ /**
2869
+ * 코어 레벨
2870
+ */
2871
+ vCoreLevel;
2872
+ /**
2873
+ * 코어에 해당하는 스킬 명
2874
+ */
2875
+ vCoreSkill1;
2876
+ /**
2877
+ * (강화 코어인 경우) 코어에 해당하는 두 번째 스킬 명
2878
+ */
2879
+ vCoreSkill2;
2880
+ /**
2881
+ * (강화 코어인 경우) 코어에 해당하는 세 번째 스킬 명
2882
+ */
2883
+ vCoreSkill3;
2884
+ constructor(obj) {
2885
+ 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;
2886
+ this.slotId = slot_id;
2887
+ this.slotLevel = slot_level;
2888
+ this.vCoreName = v_core_name;
2889
+ this.vCoreType = v_core_type;
2890
+ this.vCoreLevel = v_core_level;
2891
+ this.vCoreSkill1 = v_core_skill_1;
2892
+ this.vCoreSkill2 = v_core_skill_2;
2893
+ this.vCoreSkill3 = v_core_skill_3;
2894
+ }
2895
+ }
2896
+
2897
+ /**
2898
+ * 캐릭터 V매트릭스 정보
2899
+ */
2900
+ class CharacterVMatrixDto {
2901
+ /**
2902
+ * 조회 기준일
2903
+ */
2904
+ date;
2905
+ /**
2906
+ * 캐릭터 직업
2907
+ */
2908
+ characterClass;
2909
+ /**
2910
+ * V코어 정보
2911
+ */
2912
+ characterVCoreEquipment;
2913
+ /**
2914
+ * 캐릭터 잔여 매트릭스 강화 포인트
2915
+ */
2916
+ characterVMatrixRemainSlotUpgradePoint;
2917
+ constructor(obj) {
2918
+ const { date, character_class, character_v_core_equipment, character_v_matrix_remain_slot_upgrade_point, } = obj;
2919
+ this.date = new Date(date);
2920
+ this.characterClass = character_class;
2921
+ this.characterVCoreEquipment = character_v_core_equipment.map((equipment) => new CharacterVMatrixCodeEquipmentDto(equipment));
2922
+ this.characterVMatrixRemainSlotUpgradePoint =
2923
+ character_v_matrix_remain_slot_upgrade_point;
2924
+ }
2925
+ }
2926
+
2927
+ /**
2928
+ * 길드 스킬 정보
2929
+ */
2930
+ class GuildSkillDto {
2931
+ /**
2932
+ * 스킬 명
2933
+ */
2934
+ skillName;
2935
+ /**
2936
+ * 스킬 설명
2937
+ */
2938
+ skillDescription;
2939
+ /**
2940
+ * 스킬 레벨
2941
+ */
2942
+ skillLevel;
2943
+ /**
2944
+ * 스킬 레벨 별 효과
2945
+ */
2946
+ skillEffect;
2947
+ /**
2948
+ * 스킬 아이콘
2949
+ */
2950
+ skillIcon;
2951
+ constructor(obj) {
2952
+ const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
2953
+ this.skillName = skill_name;
2954
+ this.skillDescription = skill_description;
2955
+ this.skillLevel = skill_level;
2956
+ this.skillEffect = skill_effect;
2957
+ this.skillIcon = skill_icon;
2958
+ }
2959
+ }
2960
+
2961
+ /**
2962
+ * 길드 기본 정보
2963
+ */
2964
+ class GuildBasicDto {
2965
+ /**
2966
+ * 조회 기준일
2967
+ */
2968
+ date;
2969
+ /**
2970
+ * 월드 명
2971
+ */
2972
+ worldName;
2357
2973
  /**
2358
- * 슬롯 레벨
2974
+ * 길드
2359
2975
  */
2360
- slotLevel;
2976
+ guildName;
2361
2977
  /**
2362
- * 코어
2978
+ * 길드 레벨
2363
2979
  */
2364
- vCoreName;
2980
+ guildLevel;
2365
2981
  /**
2366
- * 코어 타입
2982
+ * 길드 명성치
2367
2983
  */
2368
- vCoreType;
2984
+ guildFame;
2369
2985
  /**
2370
- * 코어 레벨
2986
+ * 길드 포인트(GP)
2371
2987
  */
2372
- vCoreLevel;
2988
+ guildPoint;
2373
2989
  /**
2374
- * 코어에 해당하는 스킬
2990
+ * 길드 마스터 캐릭터
2375
2991
  */
2376
- vCoreSkill1;
2992
+ guildMasterName;
2377
2993
  /**
2378
- * (강화 코어인 경우) 코어에 해당하는 두 번째 스킬 명
2994
+ * 길드원
2379
2995
  */
2380
- vCoreSkill2;
2996
+ guildMemberCount;
2381
2997
  /**
2382
- * (강화 코어인 경우) 코어에 해당하는 세 번째 스킬 명
2998
+ * 길드원 목록
2383
2999
  */
2384
- vCoreSkill3;
2385
- constructor(obj) {
2386
- 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;
2387
- this.slotId = slot_id;
2388
- this.slotLevel = slot_level;
2389
- this.vCoreName = v_core_name;
2390
- this.vCoreType = v_core_type;
2391
- this.vCoreLevel = v_core_level;
2392
- this.vCoreSkill1 = v_core_skill_1;
2393
- this.vCoreSkill2 = v_core_skill_2;
2394
- this.vCoreSkill3 = v_core_skill_3;
2395
- }
2396
- }
2397
-
2398
- /**
2399
- * 캐릭터 V매트릭스 정보
2400
- */
2401
- class CharacterVMatrixDto {
3000
+ guildMember;
2402
3001
  /**
2403
- * 조회 기준일
3002
+ * 길드 스킬 목록
2404
3003
  */
2405
- date;
3004
+ guildSkill;
2406
3005
  /**
2407
- * 캐릭터 직업
3006
+ * 노블레스 스킬 목록
2408
3007
  */
2409
- characterClass;
3008
+ guildNoblesseSkill;
2410
3009
  /**
2411
- * V코어 정보
3010
+ * 조합형 길드 마크
2412
3011
  */
2413
- characterVCoreEquipment;
3012
+ guildMark;
2414
3013
  /**
2415
- * 캐릭터 잔여 매트릭스 강화 포인트
3014
+ * 커스텀 길드 마크 (base64 인코딩 형식)
2416
3015
  */
2417
- characterVMatrixRemainSlotUpgradePoint;
3016
+ guildMarkCustom;
2418
3017
  constructor(obj) {
2419
- const { date, character_class, character_v_core_equipment, character_v_matrix_remain_slot_upgrade_point, } = obj;
3018
+ 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;
2420
3019
  this.date = new Date(date);
2421
- this.characterClass = character_class;
2422
- this.characterVCoreEquipment = character_v_core_equipment.map((equipment) => new CharacterVMatrixCodeEquipmentDto(equipment));
2423
- this.characterVMatrixRemainSlotUpgradePoint =
2424
- character_v_matrix_remain_slot_upgrade_point;
3020
+ this.worldName = world_name;
3021
+ this.guildName = guild_name;
3022
+ this.guildLevel = guild_level;
3023
+ this.guildFame = guild_fame;
3024
+ this.guildPoint = guild_point;
3025
+ this.guildMasterName = guild_master_name;
3026
+ this.guildMemberCount = guild_member_count;
3027
+ this.guildMember = guild_member;
3028
+ this.guildSkill = guild_skill.map((skill) => new GuildSkillDto(skill));
3029
+ this.guildNoblesseSkill = guild_noblesse_skill.map((skill) => new GuildSkillDto(skill));
3030
+ this.guildMark = guild_mark;
3031
+ this.guildMarkCustom = guild_mark_custom;
3032
+ }
3033
+ }
3034
+
3035
+ /**
3036
+ * 길드 식별자 정보
3037
+ */
3038
+ class GuildDto {
3039
+ /**
3040
+ * 길드 식별자
3041
+ */
3042
+ oguildId;
3043
+ constructor(obj) {
3044
+ const { oguild_id } = obj;
3045
+ this.oguildId = oguild_id;
2425
3046
  }
2426
3047
  }
2427
3048
 
@@ -2494,131 +3115,307 @@ class CubeHistoryDto {
2494
3115
  */
2495
3116
  dateCreate;
2496
3117
  /**
2497
- * 사용 큐브
3118
+ * 사용 큐브
3119
+ */
3120
+ cubeType;
3121
+ /**
3122
+ * 사용 결과
3123
+ */
3124
+ itemUpgradeResult;
3125
+ /**
3126
+ * 미라클 타임 적용 여부
3127
+ */
3128
+ miracleTimeFlag;
3129
+ /**
3130
+ * 장비 분류
3131
+ */
3132
+ itemEquipmentPart;
3133
+ /**
3134
+ * 장비 레벨
3135
+ */
3136
+ itemLevel;
3137
+ /**
3138
+ * 큐브 사용한 장비
3139
+ */
3140
+ targetItem;
3141
+ /**
3142
+ * 잠재능력 등급
3143
+ */
3144
+ potentialOptionGrade;
3145
+ /**
3146
+ * 에디셔널 잠재능력 등급
3147
+ */
3148
+ additionalPotentialOptionGrade;
3149
+ /**
3150
+ * 천장에 도달하여 확정 등급 상승한 여부
3151
+ */
3152
+ upgradeGuarantee;
3153
+ /**
3154
+ * 현재까지 쌓은 스택
3155
+ */
3156
+ upgradeGuaranteeCount;
3157
+ /**
3158
+ * 사용 전 잠재능력 옵션
3159
+ */
3160
+ beforePotentialOption;
3161
+ /**
3162
+ * 사용 전 에디셔널 잠재능력 옵션
3163
+ */
3164
+ beforeAdditionalPotentialOption;
3165
+ /**
3166
+ * 사용 후 잠재능력 옵션
3167
+ */
3168
+ afterPotentialOption;
3169
+ /**
3170
+ * 사용 후 에디셔널 잠재능력 옵션
3171
+ */
3172
+ afterAdditionalPotentialOption;
3173
+ constructor(obj) {
3174
+ 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;
3175
+ this.id = id;
3176
+ this.characterName = character_name;
3177
+ this.worldName = world_name;
3178
+ this.dateCreate = new Date(date_create);
3179
+ this.cubeType = cube_type;
3180
+ this.itemUpgradeResult = item_upgrade_result;
3181
+ this.miracleTimeFlag = miracle_time_flag;
3182
+ this.itemEquipmentPart = item_equipment_part;
3183
+ this.itemLevel = item_level;
3184
+ this.targetItem = target_item;
3185
+ this.potentialOptionGrade = potential_option_grade;
3186
+ this.additionalPotentialOptionGrade = additional_potential_option_grade;
3187
+ this.upgradeGuarantee = upgrade_guarantee;
3188
+ this.upgradeGuaranteeCount = upgrade_guarantee_count;
3189
+ this.beforePotentialOption = before_potential_option.map((origin) => new CubeResultOptionDto(origin));
3190
+ this.beforeAdditionalPotentialOption =
3191
+ before_additional_potential_option.map((origin) => new CubeResultOptionDto(origin));
3192
+ this.afterPotentialOption = after_potential_option.map((origin) => new CubeResultOptionDto(origin));
3193
+ this.afterAdditionalPotentialOption = after_additional_potential_option.map((origin) => new CubeResultOptionDto(origin));
3194
+ }
3195
+ get isItemUpgrade() {
3196
+ return this.itemUpgradeResult === '성공';
3197
+ }
3198
+ get isMiracleTimeFlag() {
3199
+ return this.miracleTimeFlag !== '이벤트 적용되지 않음';
3200
+ }
3201
+ get potentialOptionGradeEnum() {
3202
+ return potentialOptionGradeFromString(this.potentialOptionGrade);
3203
+ }
3204
+ get additionalPotentialOptionGradeEnum() {
3205
+ return potentialOptionGradeFromString(this.additionalPotentialOptionGrade);
3206
+ }
3207
+ }
3208
+
3209
+ /**
3210
+ * 큐브 히스토리 응답 정보
3211
+ */
3212
+ class CubeHistoryResponseDto {
3213
+ /**
3214
+ * 결과 건 수
3215
+ */
3216
+ count;
3217
+ /**
3218
+ * 큐브 히스토리
3219
+ */
3220
+ cubeHistory;
3221
+ /**
3222
+ * 페이징 처리를 위한 cursor
3223
+ */
3224
+ nextCursor;
3225
+ constructor(obj) {
3226
+ const { count, cube_history, next_cursor } = obj;
3227
+ this.count = count;
3228
+ this.cubeHistory = cube_history.map((origin) => new CubeHistoryDto(origin));
3229
+ this.nextCursor = next_cursor;
3230
+ }
3231
+ }
3232
+
3233
+ /**
3234
+ * 스타포스 강화 이벤트 정보
3235
+ */
3236
+ class StarforceEventDto {
3237
+ /**
3238
+ * 이벤트 성공 확률
3239
+ */
3240
+ successRate;
3241
+ /**
3242
+ * 이벤트 비용 할인율
3243
+ */
3244
+ costDiscountRate;
3245
+ /**
3246
+ * 이벤트 강화 수치 가중값
3247
+ */
3248
+ plusValue;
3249
+ /**
3250
+ * 이벤트 적용 강화 시도 가능한 n성 범위
3251
+ */
3252
+ starforceEventRange;
3253
+ constructor(obj) {
3254
+ const { success_rate, cost_discount_rate, plus_value, starforce_event_range, } = obj;
3255
+ this.successRate = success_rate;
3256
+ this.costDiscountRate = cost_discount_rate;
3257
+ this.plusValue = plus_value;
3258
+ this.starforceEventRange = starforce_event_range;
3259
+ }
3260
+ }
3261
+
3262
+ /**
3263
+ * 스타포스 히스토리
3264
+ */
3265
+ class StarforceHistoryDto {
3266
+ /**
3267
+ *스타포스 히스토리 식별자
3268
+ */
3269
+ id;
3270
+ /**
3271
+ *강화 시도 결과
3272
+ */
3273
+ itemUpgradeResult;
3274
+ /**
3275
+ *강화 시도 전 스타포스 수치
3276
+ */
3277
+ beforeStarforceCount;
3278
+ /**
3279
+ *강화 시도 후 스타포스 수치
2498
3280
  */
2499
- cubeType;
3281
+ afterStarforceCount;
2500
3282
  /**
2501
- * 사용 결과
3283
+ *스타 캐치
2502
3284
  */
2503
- itemUpgradeResult;
3285
+ starCatchResult;
2504
3286
  /**
2505
- * 미라클 타임 적용 여부
3287
+ *슈페리얼 장비
2506
3288
  */
2507
- miracleTimeFlag;
3289
+ superiorItemFlag;
2508
3290
  /**
2509
- * 장비 분류
3291
+ *파괴 방지
2510
3292
  */
2511
- itemEquipmentPart;
3293
+ destroyDefence;
2512
3294
  /**
2513
- * 장비 레벨
3295
+ *찬스 타임
2514
3296
  */
2515
- itemLevel;
3297
+ chanceTime;
2516
3298
  /**
2517
- * 큐브 사용한 장비
3299
+ *파괴 방지 필드 이벤트
2518
3300
  */
2519
- targetItem;
3301
+ eventFieldFlag;
2520
3302
  /**
2521
- * 잠재능력 등급
3303
+ *사용 주문서
2522
3304
  */
2523
- potentialOptionGrade;
3305
+ upgradeItem;
2524
3306
  /**
2525
- * 에디셔널 잠재능력 등급
3307
+ *프로텍트 실드
2526
3308
  */
2527
- additionalPotentialOptionGrade;
3309
+ protectShield;
2528
3310
  /**
2529
- * 천장에 도달하여 확정 등급 상승한 여부
3311
+ *보너스 스탯 부여 아이템 여부
2530
3312
  */
2531
- upgradeGuarantee;
3313
+ bonusStatUpgrade;
2532
3314
  /**
2533
- * 현재까지 쌓은 스택
3315
+ *캐릭터
2534
3316
  */
2535
- upgradeGuaranteeCount;
3317
+ characterName;
2536
3318
  /**
2537
- * 사용 전 잠재능력 옵션
3319
+ *월드
2538
3320
  */
2539
- beforePotentialOption;
3321
+ worldName;
2540
3322
  /**
2541
- * 사용 에디셔널 잠재능력 옵션
3323
+ *대상 장비 아이템
2542
3324
  */
2543
- beforeAdditionalPotentialOption;
3325
+ targetItem;
2544
3326
  /**
2545
- * 사용 후 잠재능력 옵션
3327
+ *강화 일시 (KST)
2546
3328
  */
2547
- afterPotentialOption;
3329
+ dateCreate;
2548
3330
  /**
2549
- * 사용 에디셔널 잠재능력 옵션
3331
+ * 진행 중인 스타포스 강화 이벤트 정보
2550
3332
  */
2551
- afterAdditionalPotentialOption;
3333
+ starforceEventList;
2552
3334
  constructor(obj) {
2553
- 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;
3335
+ 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;
2554
3336
  this.id = id;
3337
+ this.itemUpgradeResult = item_upgrade_result;
3338
+ this.beforeStarforceCount = before_starforce_count;
3339
+ this.afterStarforceCount = after_starforce_count;
3340
+ this.starCatchResult = starcatch_result;
3341
+ this.superiorItemFlag = superior_item_flag;
3342
+ this.destroyDefence = destroy_defence;
3343
+ this.chanceTime = chance_time;
3344
+ this.eventFieldFlag = event_field_flag;
3345
+ this.upgradeItem = upgrade_item;
3346
+ this.protectShield = protect_shield;
3347
+ this.bonusStatUpgrade = bonus_stat_upgrade;
2555
3348
  this.characterName = character_name;
2556
3349
  this.worldName = world_name;
2557
- this.dateCreate = new Date(date_create);
2558
- this.cubeType = cube_type;
2559
- this.itemUpgradeResult = item_upgrade_result;
2560
- this.miracleTimeFlag = miracle_time_flag;
2561
- this.itemEquipmentPart = item_equipment_part;
2562
- this.itemLevel = item_level;
2563
3350
  this.targetItem = target_item;
2564
- this.potentialOptionGrade = potential_option_grade;
2565
- this.additionalPotentialOptionGrade = additional_potential_option_grade;
2566
- this.upgradeGuarantee = upgrade_guarantee;
2567
- this.upgradeGuaranteeCount = upgrade_guarantee_count;
2568
- this.beforePotentialOption = before_potential_option.map((origin) => new CubeResultOptionDto(origin));
2569
- this.beforeAdditionalPotentialOption =
2570
- before_additional_potential_option.map((origin) => new CubeResultOptionDto(origin));
2571
- this.afterPotentialOption = after_potential_option.map((origin) => new CubeResultOptionDto(origin));
2572
- this.afterAdditionalPotentialOption = after_additional_potential_option.map((origin) => new CubeResultOptionDto(origin));
2573
- }
2574
- get isItemUpgrade() {
2575
- return this.itemUpgradeResult === '성공';
2576
- }
2577
- get isMiracleTimeFlag() {
2578
- return this.miracleTimeFlag !== '이벤트 적용되지 않음';
2579
- }
2580
- get potentialOptionGradeEnum() {
2581
- return potentialOptionGradeFromString(this.potentialOptionGrade);
2582
- }
2583
- get additionalPotentialOptionGradeEnum() {
2584
- return potentialOptionGradeFromString(this.additionalPotentialOptionGrade);
3351
+ this.dateCreate = new Date(date_create);
3352
+ this.starforceEventList = starforce_event_list.map((event) => new StarforceEventDto(event));
2585
3353
  }
2586
3354
  }
2587
3355
 
2588
3356
  /**
2589
- * 큐브 히스토리 응답 정보
3357
+ * 스타포스 히스토리 응답 정보
2590
3358
  */
2591
- class CubeHistoryResponseDto {
3359
+ class StarforceHistoryResponseDto {
2592
3360
  /**
2593
3361
  * 결과 건 수
2594
3362
  */
2595
3363
  count;
2596
3364
  /**
2597
- * 큐브 히스토리
3365
+ * 스타포스 히스토리
2598
3366
  */
2599
- cubeHistory;
3367
+ starforceHistory;
2600
3368
  /**
2601
3369
  * 페이징 처리를 위한 cursor
2602
3370
  */
2603
3371
  nextCursor;
2604
3372
  constructor(obj) {
2605
- const { count, cube_history, next_cursor } = obj;
3373
+ const { count, starforce_history, next_cursor } = obj;
2606
3374
  this.count = count;
2607
- this.cubeHistory = cube_history.map((origin) => new CubeHistoryDto(origin));
3375
+ this.starforceHistory = starforce_history.map((origin) => new StarforceHistoryDto(origin));
2608
3376
  this.nextCursor = next_cursor;
2609
3377
  }
2610
3378
  }
2611
3379
 
2612
3380
  /**
2613
- * 무릉도장 랭킹 정보
3381
+ * 서버 점검 정보
2614
3382
  */
2615
- class DojangRankingDto {
3383
+ class InspectionInfoDto {
3384
+ /**
3385
+ * 서비스 코드
3386
+ */
3387
+ serviceCode;
3388
+ /**
3389
+ * 점검 시작 시각
3390
+ */
3391
+ startDateTime;
3392
+ /**
3393
+ * 점검 종료 시각
3394
+ */
3395
+ endDateTime;
3396
+ /**
3397
+ * 점검 안내 제목
3398
+ */
3399
+ strObstacleContents;
3400
+ constructor(obj) {
3401
+ const inspectionInfoTag = obj['soap:Envelope']['soap:Body'][0]['GetInspectionInfoResponse'][0]['GetInspectionInfoResult'][0]['diffgr:diffgram'][0]['NewDataSet'][0]['InspectionInfo'][0];
3402
+ this.serviceCode = Number(inspectionInfoTag.serviceCode[0]);
3403
+ this.startDateTime = new Date(inspectionInfoTag.startDateTime[0]);
3404
+ this.endDateTime = new Date(inspectionInfoTag.endDateTime[0]);
3405
+ this.strObstacleContents = inspectionInfoTag.strObstacleContents[0];
3406
+ }
3407
+ }
3408
+
3409
+ /**
3410
+ * 업적 랭킹 정보
3411
+ */
3412
+ class AchievementRankingDto {
2616
3413
  /**
2617
3414
  * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
2618
3415
  */
2619
3416
  date;
2620
3417
  /**
2621
- * 무릉도장 랭킹 순위
3418
+ * 업적 랭킹 순위
2622
3419
  */
2623
3420
  ranking;
2624
3421
  /**
@@ -2638,164 +3435,105 @@ class DojangRankingDto {
2638
3435
  */
2639
3436
  subClassName;
2640
3437
  /**
2641
- * 캐릭터 레벨
2642
- */
2643
- characterLevel;
2644
- /**
2645
- * 무릉도장 구간
3438
+ * 업적 등급
2646
3439
  */
2647
- dojangFloor;
3440
+ trophyGrade;
2648
3441
  /**
2649
- * 무릉도장 클리어 시간 기록 (초 단위)
3442
+ * 업적 점수
2650
3443
  */
2651
- dojangTimeRecord;
3444
+ trophyScore;
2652
3445
  constructor(obj) {
2653
- const { date, ranking, character_name, world_name, class_name, sub_class_name, character_level, dojang_floor, dojang_time_record, } = obj;
3446
+ const { date, ranking, character_name, world_name, class_name, sub_class_name, trophy_grade, trophy_score, } = obj;
2654
3447
  this.date = new Date(date);
2655
3448
  this.ranking = ranking;
2656
3449
  this.characterName = character_name;
2657
3450
  this.worldName = world_name;
2658
3451
  this.className = class_name;
2659
3452
  this.subClassName = sub_class_name;
2660
- this.characterLevel = character_level;
2661
- this.dojangFloor = dojang_floor;
2662
- this.dojangTimeRecord = dojang_time_record;
3453
+ this.trophyGrade = trophy_grade;
3454
+ this.trophyScore = trophy_score;
2663
3455
  }
2664
3456
  }
2665
3457
 
2666
3458
  /**
2667
- * 무릉도장 랭킹 응답 정보
3459
+ * 업적 랭킹 응답 정보
2668
3460
  */
2669
- class DojangRankingResponseDto {
3461
+ class AchievementRankingResponseDto {
2670
3462
  /**
2671
- * 길드 랭킹 정보
3463
+ * 업적 랭킹 정보
2672
3464
  */
2673
3465
  ranking;
2674
3466
  constructor(obj) {
2675
3467
  const { ranking } = obj;
2676
- this.ranking = ranking.map((rank) => new DojangRankingDto(rank));
3468
+ this.ranking = ranking.map((rank) => new AchievementRankingDto(rank));
2677
3469
  }
2678
3470
  }
2679
3471
 
2680
3472
  /**
2681
- * 길드 스킬 정보
3473
+ * 무릉도장 랭킹 정보
2682
3474
  */
2683
- class GuildSkillDto {
2684
- /**
2685
- * 스킬 명
2686
- */
2687
- skillName;
2688
- /**
2689
- * 스킬 설명
2690
- */
2691
- skillDescription;
2692
- /**
2693
- * 스킬 레벨
2694
- */
2695
- skillLevel;
3475
+ class DojangRankingDto {
2696
3476
  /**
2697
- * 스킬 레벨 효과
3477
+ * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
2698
3478
  */
2699
- skillEffect;
3479
+ date;
2700
3480
  /**
2701
- * 스킬 아이콘
3481
+ * 무릉도장 랭킹 순위
2702
3482
  */
2703
- skillIcon;
2704
- constructor(obj) {
2705
- const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
2706
- this.skillName = skill_name;
2707
- this.skillDescription = skill_description;
2708
- this.skillLevel = skill_level;
2709
- this.skillEffect = skill_effect;
2710
- this.skillIcon = skill_icon;
2711
- }
2712
- }
2713
-
2714
- /**
2715
- * 길드 기본 정보
2716
- */
2717
- class GuildBasicDto {
3483
+ ranking;
2718
3484
  /**
2719
- * 조회 기준일
3485
+ * 캐릭터
2720
3486
  */
2721
- date;
3487
+ characterName;
2722
3488
  /**
2723
3489
  * 월드 명
2724
3490
  */
2725
3491
  worldName;
2726
3492
  /**
2727
- * 길드
2728
- */
2729
- guildName;
2730
- /**
2731
- * 길드 레벨
2732
- */
2733
- guildLevel;
2734
- /**
2735
- * 길드 명성치
2736
- */
2737
- guildFame;
2738
- /**
2739
- * 길드 포인트(GP)
2740
- */
2741
- guildPoint;
2742
- /**
2743
- * 길드 마스터 캐릭터 명
2744
- */
2745
- guildMasterName;
2746
- /**
2747
- * 길드원 수
2748
- */
2749
- guildMemberCount;
2750
- /**
2751
- * 길드원 목록
3493
+ * 직업
2752
3494
  */
2753
- guildMember;
3495
+ className;
2754
3496
  /**
2755
- * 길드 스킬 목록
3497
+ * 전직 직업
2756
3498
  */
2757
- guildSkill;
3499
+ subClassName;
2758
3500
  /**
2759
- * 노블레스 스킬 목록
3501
+ * 캐릭터 레벨
2760
3502
  */
2761
- guildNoblesseSkill;
3503
+ characterLevel;
2762
3504
  /**
2763
- * 조합형 길드 마크
3505
+ * 무릉도장 구간
2764
3506
  */
2765
- guildMark;
3507
+ dojangFloor;
2766
3508
  /**
2767
- * 커스텀 길드 마크 (base64 인코딩 형식)
3509
+ * 무릉도장 클리어 시간 기록 ( 단위)
2768
3510
  */
2769
- guildMarkCustom;
3511
+ dojangTimeRecord;
2770
3512
  constructor(obj) {
2771
- 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;
3513
+ const { date, ranking, character_name, world_name, class_name, sub_class_name, character_level, dojang_floor, dojang_time_record, } = obj;
2772
3514
  this.date = new Date(date);
3515
+ this.ranking = ranking;
3516
+ this.characterName = character_name;
2773
3517
  this.worldName = world_name;
2774
- this.guildName = guild_name;
2775
- this.guildLevel = guild_level;
2776
- this.guildFame = guild_fame;
2777
- this.guildPoint = guild_point;
2778
- this.guildMasterName = guild_master_name;
2779
- this.guildMemberCount = guild_member_count;
2780
- this.guildMember = guild_member;
2781
- this.guildSkill = guild_skill.map((skill) => new GuildSkillDto(skill));
2782
- this.guildNoblesseSkill = guild_noblesse_skill.map((skill) => new GuildSkillDto(skill));
2783
- this.guildMark = guild_mark;
2784
- this.guildMarkCustom = guild_mark_custom;
3518
+ this.className = class_name;
3519
+ this.subClassName = sub_class_name;
3520
+ this.characterLevel = character_level;
3521
+ this.dojangFloor = dojang_floor;
3522
+ this.dojangTimeRecord = dojang_time_record;
2785
3523
  }
2786
3524
  }
2787
3525
 
2788
3526
  /**
2789
- * 길드 식별자 정보
3527
+ * 무릉도장 랭킹 응답 정보
2790
3528
  */
2791
- class GuildDto {
3529
+ class DojangRankingResponseDto {
2792
3530
  /**
2793
- * 길드 식별자
3531
+ * 길드 랭킹 정보
2794
3532
  */
2795
- oguildId;
3533
+ ranking;
2796
3534
  constructor(obj) {
2797
- const { oguild_id } = obj;
2798
- this.oguildId = oguild_id;
3535
+ const { ranking } = obj;
3536
+ this.ranking = ranking.map((rank) => new DojangRankingDto(rank));
2799
3537
  }
2800
3538
  }
2801
3539
 
@@ -2862,35 +3600,6 @@ class GuildRankingResponseDto {
2862
3600
  }
2863
3601
  }
2864
3602
 
2865
- /**
2866
- * 서버 점검 정보
2867
- */
2868
- class InspectionInfoDto {
2869
- /**
2870
- * 서비스 코드
2871
- */
2872
- serviceCode;
2873
- /**
2874
- * 점검 시작 시각
2875
- */
2876
- startDateTime;
2877
- /**
2878
- * 점검 종료 시각
2879
- */
2880
- endDateTime;
2881
- /**
2882
- * 점검 안내 제목
2883
- */
2884
- strObstacleContents;
2885
- constructor(obj) {
2886
- const inspectionInfoTag = obj['soap:Envelope']['soap:Body'][0]['GetInspectionInfoResponse'][0]['GetInspectionInfoResult'][0]['diffgr:diffgram'][0]['NewDataSet'][0]['InspectionInfo'][0];
2887
- this.serviceCode = Number(inspectionInfoTag.serviceCode[0]);
2888
- this.startDateTime = new Date(inspectionInfoTag.startDateTime[0]);
2889
- this.endDateTime = new Date(inspectionInfoTag.endDateTime[0]);
2890
- this.strObstacleContents = inspectionInfoTag.strObstacleContents[0];
2891
- }
2892
- }
2893
-
2894
3603
  /**
2895
3604
  * 종합 랭킹 정보
2896
3605
  */
@@ -3032,6 +3741,161 @@ class TheSeedRankingResponseDto {
3032
3741
  }
3033
3742
  }
3034
3743
 
3744
+ /**
3745
+ * 유니온 랭킹 정보
3746
+ */
3747
+ class UnionRankingDto {
3748
+ /**
3749
+ * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3750
+ */
3751
+ date;
3752
+ /**
3753
+ * 유니온 랭킹 순위
3754
+ */
3755
+ ranking;
3756
+ /**
3757
+ * 캐릭터 명
3758
+ */
3759
+ characterName;
3760
+ /**
3761
+ * 월드 명
3762
+ */
3763
+ worldName;
3764
+ /**
3765
+ * 직업 명
3766
+ */
3767
+ className;
3768
+ /**
3769
+ * 전직 직업 명
3770
+ */
3771
+ subClassName;
3772
+ /**
3773
+ * 유니온 레벨
3774
+ */
3775
+ unionLevel;
3776
+ /**
3777
+ * 유니온 파워
3778
+ */
3779
+ unionPower;
3780
+ constructor(obj) {
3781
+ const { date, ranking, character_name, world_name, class_name, sub_class_name, union_level, union_power, } = obj;
3782
+ this.date = new Date(date);
3783
+ this.ranking = ranking;
3784
+ this.characterName = character_name;
3785
+ this.worldName = world_name;
3786
+ this.className = class_name;
3787
+ this.subClassName = sub_class_name;
3788
+ this.unionLevel = union_level;
3789
+ this.unionPower = union_power;
3790
+ }
3791
+ }
3792
+
3793
+ /**
3794
+ * 유니온 랭킹 응답 정보
3795
+ */
3796
+ class UnionRankingResponseDto {
3797
+ /**
3798
+ * 유니온 랭킹 정보
3799
+ */
3800
+ ranking;
3801
+ constructor(obj) {
3802
+ const { ranking } = obj;
3803
+ this.ranking = ranking.map((rank) => new UnionRankingDto(rank));
3804
+ }
3805
+ }
3806
+
3807
+ /**
3808
+ * 유니온 아티팩트 크리스탈 정보
3809
+ */
3810
+ class UnionArtifactCrystalDto {
3811
+ /**
3812
+ * 아티팩트 크리스탈 명
3813
+ */
3814
+ name;
3815
+ /**
3816
+ * 능력치 유효 여부 (0:유효, 1:유효하지 않음)
3817
+ */
3818
+ validityFlag;
3819
+ /**
3820
+ * 능력치 유효 기간(KST)
3821
+ */
3822
+ dateExpire;
3823
+ /**
3824
+ * 아티팩트 크리스탈 등급
3825
+ */
3826
+ level;
3827
+ /**
3828
+ * 아티팩트 크리스탈 첫 번째 옵션 명
3829
+ */
3830
+ crystalOptionName1;
3831
+ /**
3832
+ * 아티팩트 크리스탈 두 번째 옵션 명
3833
+ */
3834
+ crystalOptionName2;
3835
+ /**
3836
+ * 아티팩트 크리스탈 세 번째 옵션 명
3837
+ */
3838
+ crystalOptionName3;
3839
+ constructor(obj) {
3840
+ const { name, validity_flag, date_expire, level, crystal_option_name_1, crystal_option_name_2, crystal_option_name_3, } = obj;
3841
+ this.name = name;
3842
+ this.validityFlag = validity_flag;
3843
+ this.dateExpire = new Date(date_expire);
3844
+ this.level = level;
3845
+ this.crystalOptionName1 = crystal_option_name_1;
3846
+ this.crystalOptionName2 = crystal_option_name_2;
3847
+ this.crystalOptionName3 = crystal_option_name_3;
3848
+ }
3849
+ }
3850
+
3851
+ /**
3852
+ * 유니온 아티팩트 효과 정보
3853
+ */
3854
+ class UnionArtifactEffectDto {
3855
+ /**
3856
+ * 아티팩트 효과 명
3857
+ */
3858
+ name;
3859
+ /**
3860
+ * 아티팩트 효과 레벨
3861
+ */
3862
+ level;
3863
+ constructor(obj) {
3864
+ const { name, level } = obj;
3865
+ this.name = name;
3866
+ this.level = level;
3867
+ }
3868
+ }
3869
+
3870
+ /**
3871
+ * 유니온 아티팩트 정보
3872
+ */
3873
+ class UnionArtifactDto {
3874
+ /**
3875
+ * 조회 기준일
3876
+ */
3877
+ date;
3878
+ /**
3879
+ * 아티팩트 효과 정보
3880
+ */
3881
+ unionArtifactEffect;
3882
+ /**
3883
+ * 아티팩트 크리스탈 정보
3884
+ */
3885
+ unionArtifactCrystal;
3886
+ /**
3887
+ * 잔여 아티팩트 AP
3888
+ */
3889
+ unionArtifactRemainAp;
3890
+ constructor(obj) {
3891
+ const { date, union_artifact_effect, union_artifact_crystal, union_artifact_remain_ap, } = obj;
3892
+ this.date = new Date(date);
3893
+ this.unionArtifactEffect = union_artifact_effect.map((effect) => new UnionArtifactEffectDto(effect));
3894
+ this.unionArtifactCrystal = union_artifact_crystal.map((crystal) => new UnionArtifactCrystalDto(crystal));
3895
+ this.unionArtifactRemainAp = union_artifact_remain_ap;
3896
+ }
3897
+ }
3898
+
3035
3899
  /**
3036
3900
  * 유니온 정보
3037
3901
  */
@@ -3126,120 +3990,57 @@ class UnionRaiderBlockDto {
3126
3990
  this.blockControlPoint = new UnionRaiderBlockControlPointDto(block_control_point);
3127
3991
  this.blockPosition = block_position
3128
3992
  ? block_position.map((position) => new UnionRaiderBlockPositionDto(position))
3129
- : null;
3130
- }
3131
- }
3132
-
3133
- /**
3134
- * 유니온 공격대 배치 정보
3135
- */
3136
- class UnionRaiderInnerStatDto {
3137
- /**
3138
- * 공격대 배치 위치 (11시 방향부터 시계 방향 순서대로 0~7)
3139
- */
3140
- statFieldId;
3141
- /**
3142
- * 해당 지역 점령 효과
3143
- */
3144
- statFieldEffect;
3145
- constructor(obj) {
3146
- const { stat_field_id, stat_field_effect } = obj;
3147
- this.statFieldId = stat_field_id;
3148
- this.statFieldEffect = stat_field_effect;
3149
- }
3150
- }
3151
-
3152
- /**
3153
- * 유니온 공격대 정보
3154
- */
3155
- class UnionRaiderDto {
3156
- date;
3157
- /**
3158
- * 유니온 공격대원 효과
3159
- */
3160
- unionRaiderStat;
3161
- /**
3162
- * 유니온 공격대 점령 효과
3163
- */
3164
- unionOccupiedStat;
3165
- /**
3166
- * 유니온 공격대 배치
3167
- */
3168
- unionInnerStat;
3169
- /**
3170
- * 유니온 블록 정보
3171
- */
3172
- unionBlock;
3173
- constructor(obj) {
3174
- const { date, union_raider_stat, union_occupied_stat, union_inner_stat, union_block, } = obj;
3175
- this.date = new Date(date);
3176
- this.unionRaiderStat = union_raider_stat;
3177
- this.unionOccupiedStat = union_occupied_stat;
3178
- this.unionInnerStat = union_inner_stat.map((stat) => new UnionRaiderInnerStatDto(stat));
3179
- this.unionBlock = union_block.map((block) => new UnionRaiderBlockDto(block));
3180
- }
3181
- }
3182
-
3183
- /**
3184
- * 유니온 랭킹 정보
3185
- */
3186
- class UnionRankingDto {
3187
- /**
3188
- * 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
3189
- */
3190
- date;
3191
- /**
3192
- * 유니온 랭킹 순위
3193
- */
3194
- ranking;
3195
- /**
3196
- * 캐릭터 명
3197
- */
3198
- characterName;
3199
- /**
3200
- * 월드 명
3201
- */
3202
- worldName;
3203
- /**
3204
- * 직업 명
3205
- */
3206
- className;
3207
- /**
3208
- * 전직 직업 명
3209
- */
3210
- subClassName;
3993
+ : null;
3994
+ }
3995
+ }
3996
+
3997
+ /**
3998
+ * 유니온 공격대 배치 정보
3999
+ */
4000
+ class UnionRaiderInnerStatDto {
3211
4001
  /**
3212
- * 유니온 레벨
4002
+ * 공격대 배치 위치 (11시 방향부터 시계 방향 순서대로 0~7)
3213
4003
  */
3214
- unionLevel;
4004
+ statFieldId;
3215
4005
  /**
3216
- * 유니온 파워
4006
+ * 해당 지역 점령 효과
3217
4007
  */
3218
- unionPower;
4008
+ statFieldEffect;
3219
4009
  constructor(obj) {
3220
- const { date, ranking, character_name, world_name, class_name, sub_class_name, union_level, union_power, } = obj;
3221
- this.date = new Date(date);
3222
- this.ranking = ranking;
3223
- this.characterName = character_name;
3224
- this.worldName = world_name;
3225
- this.className = class_name;
3226
- this.subClassName = sub_class_name;
3227
- this.unionLevel = union_level;
3228
- this.unionPower = union_power;
4010
+ const { stat_field_id, stat_field_effect } = obj;
4011
+ this.statFieldId = stat_field_id;
4012
+ this.statFieldEffect = stat_field_effect;
3229
4013
  }
3230
4014
  }
3231
4015
 
3232
4016
  /**
3233
- * 유니온 랭킹 응답 정보
4017
+ * 유니온 공격대 정보
3234
4018
  */
3235
- class UnionRankingResponseDto {
4019
+ class UnionRaiderDto {
4020
+ date;
3236
4021
  /**
3237
- * 유니온 랭킹 정보
4022
+ * 유니온 공격대원 효과
3238
4023
  */
3239
- ranking;
4024
+ unionRaiderStat;
4025
+ /**
4026
+ * 유니온 공격대 점령 효과
4027
+ */
4028
+ unionOccupiedStat;
4029
+ /**
4030
+ * 유니온 공격대 배치
4031
+ */
4032
+ unionInnerStat;
4033
+ /**
4034
+ * 유니온 블록 정보
4035
+ */
4036
+ unionBlock;
3240
4037
  constructor(obj) {
3241
- const { ranking } = obj;
3242
- this.ranking = ranking.map((rank) => new UnionRankingDto(rank));
4038
+ const { date, union_raider_stat, union_occupied_stat, union_inner_stat, union_block, } = obj;
4039
+ this.date = new Date(date);
4040
+ this.unionRaiderStat = union_raider_stat;
4041
+ this.unionOccupiedStat = union_occupied_stat;
4042
+ this.unionInnerStat = union_inner_stat.map((stat) => new UnionRaiderInnerStatDto(stat));
4043
+ this.unionBlock = union_block.map((block) => new UnionRaiderBlockDto(block));
3243
4044
  }
3244
4045
  }
3245
4046
 
@@ -3283,148 +4084,154 @@ const errorMap = {
3283
4084
  };
3284
4085
 
3285
4086
  /**
3286
- * 스타포스 강화 이벤트 정보
4087
+ * 잠재능력 재설정 결과 옵션 정보
3287
4088
  */
3288
- class StarforceEventDto {
3289
- /**
3290
- * 이벤트 성공 확률
3291
- */
3292
- successRate;
3293
- /**
3294
- * 이벤트 비용 할인율
3295
- */
3296
- costDiscountRate;
4089
+ class PotentialResultOptionDto {
3297
4090
  /**
3298
- * 이벤트 강화 수치 가중값
4091
+ * 옵션
3299
4092
  */
3300
- plusValue;
4093
+ value;
3301
4094
  /**
3302
- * 이벤트 적용 강화 시도 가능한 n성 범위
4095
+ * 옵션 등급
3303
4096
  */
3304
- starforceEventRange;
4097
+ grade;
3305
4098
  constructor(obj) {
3306
- const { success_rate, cost_discount_rate, plus_value, starforce_event_range, } = obj;
3307
- this.successRate = success_rate;
3308
- this.costDiscountRate = cost_discount_rate;
3309
- this.plusValue = plus_value;
3310
- this.starforceEventRange = starforce_event_range;
4099
+ const { value, grade } = obj;
4100
+ this.value = value;
4101
+ this.grade = grade;
4102
+ }
4103
+ get gradeEnum() {
4104
+ return potentialOptionGradeFromString(this.grade);
3311
4105
  }
3312
4106
  }
3313
4107
 
3314
4108
  /**
3315
- * 스타포스 히스토리
4109
+ * 잠재능력 재설정 히스토리
3316
4110
  */
3317
- class StarforceHistoryDto {
4111
+ class PotentialHistoryDto {
3318
4112
  /**
3319
- *스타포스 히스토리 식별자
4113
+ * 잠재능력 재설정 히스토리 식별자
3320
4114
  */
3321
4115
  id;
3322
4116
  /**
3323
- *강화 시도 결과
4117
+ * 캐릭터
3324
4118
  */
3325
- itemUpgradeResult;
4119
+ characterName;
3326
4120
  /**
3327
- *강화 시도 전 스타포스 수치
4121
+ * 사용 일시
3328
4122
  */
3329
- beforeStarforceCount;
4123
+ dateCreate;
3330
4124
  /**
3331
- *강화 시도 스타포스 수치
4125
+ * 대상 잠재능력 타입 (잠재능력, 에디셔널 잠재능력)
3332
4126
  */
3333
- afterStarforceCount;
4127
+ potentialType;
3334
4128
  /**
3335
- *스타 캐치
4129
+ * 사용 결과
3336
4130
  */
3337
- starCatchResult;
4131
+ itemUpgradeResult;
3338
4132
  /**
3339
- *슈페리얼 장비
4133
+ * 미라클 타임 적용 여부
3340
4134
  */
3341
- superiorItemFlag;
4135
+ miracleTimeFlag;
3342
4136
  /**
3343
- *파괴 방지
4137
+ * 장비 분류
3344
4138
  */
3345
- destroyDefence;
4139
+ itemEquipmentPart;
3346
4140
  /**
3347
- *찬스 타임
4141
+ * 장비 레벨
3348
4142
  */
3349
- chanceTime;
4143
+ itemLevel;
3350
4144
  /**
3351
- *파괴 방지 필드 이벤트
4145
+ * 잠재능력 재설정 장비 명
3352
4146
  */
3353
- eventFieldFlag;
4147
+ targetItem;
3354
4148
  /**
3355
- *사용 주문서
4149
+ * 잠재능력 등급
3356
4150
  */
3357
- upgradeItem;
4151
+ potentialOptionGrade;
3358
4152
  /**
3359
- *프로텍트 실드
4153
+ * 에디셔널 잠재능력 등급
3360
4154
  */
3361
- protectShield;
4155
+ additionalPotentialOptionGrade;
3362
4156
  /**
3363
- *보너스 스탯 부여 아이템 여부
4157
+ * 천장에 도달하여 확정 등급 상승한 여부
3364
4158
  */
3365
- bonusStatUpgrade;
4159
+ upgradeGuarantee;
3366
4160
  /**
3367
- *캐릭터
4161
+ * 현재까지 쌓은 스택
3368
4162
  */
3369
- characterName;
4163
+ upgradeGuaranteeCount;
3370
4164
  /**
3371
- *월드
4165
+ * 사용 전 잠재능력 옵션
3372
4166
  */
3373
- worldName;
4167
+ beforePotentialOption;
3374
4168
  /**
3375
- *대상 장비 아이템
4169
+ * 사용 에디셔널 잠재능력 옵션
3376
4170
  */
3377
- targetItem;
4171
+ beforeAdditionalPotentialOption;
3378
4172
  /**
3379
- *강화 일시 (KST)
4173
+ * 사용 후 잠재능력 옵션
3380
4174
  */
3381
- dateCreate;
4175
+ afterPotentialOption;
3382
4176
  /**
3383
- * 진행 중인 스타포스 강화 이벤트 정보
4177
+ * 사용 에디셔널 잠재능력 옵션
3384
4178
  */
3385
- starforceEventList;
4179
+ afterAdditionalPotentialOption;
3386
4180
  constructor(obj) {
3387
- 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;
4181
+ 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;
3388
4182
  this.id = id;
3389
- this.itemUpgradeResult = item_upgrade_result;
3390
- this.beforeStarforceCount = before_starforce_count;
3391
- this.afterStarforceCount = after_starforce_count;
3392
- this.starCatchResult = starcatch_result;
3393
- this.superiorItemFlag = superior_item_flag;
3394
- this.destroyDefence = destroy_defence;
3395
- this.chanceTime = chance_time;
3396
- this.eventFieldFlag = event_field_flag;
3397
- this.upgradeItem = upgrade_item;
3398
- this.protectShield = protect_shield;
3399
- this.bonusStatUpgrade = bonus_stat_upgrade;
3400
4183
  this.characterName = character_name;
3401
- this.worldName = world_name;
3402
- this.targetItem = target_item;
3403
4184
  this.dateCreate = new Date(date_create);
3404
- this.starforceEventList = starforce_event_list.map((event) => new StarforceEventDto(event));
4185
+ this.potentialType = potential_type;
4186
+ this.itemUpgradeResult = item_upgrade_result;
4187
+ this.miracleTimeFlag = miracle_time_flag;
4188
+ this.itemEquipmentPart = item_equipment_part;
4189
+ this.itemLevel = item_level;
4190
+ this.targetItem = target_item;
4191
+ this.potentialOptionGrade = potential_option_grade;
4192
+ this.additionalPotentialOptionGrade = additional_potential_option_grade;
4193
+ this.upgradeGuarantee = upgrade_guarantee;
4194
+ this.upgradeGuaranteeCount = upgrade_guarantee_count;
4195
+ this.beforePotentialOption = before_potential_option.map((origin) => new PotentialResultOptionDto(origin));
4196
+ this.beforeAdditionalPotentialOption =
4197
+ before_additional_potential_option.map((origin) => new PotentialResultOptionDto(origin));
4198
+ this.afterPotentialOption = after_potential_option.map((origin) => new PotentialResultOptionDto(origin));
4199
+ this.afterAdditionalPotentialOption = after_additional_potential_option.map((origin) => new PotentialResultOptionDto(origin));
4200
+ }
4201
+ get isItemUpgrade() {
4202
+ return this.itemUpgradeResult === '성공';
4203
+ }
4204
+ get isMiracleTimeFlag() {
4205
+ return this.miracleTimeFlag !== '이벤트 적용되지 않음';
4206
+ }
4207
+ get potentialOptionGradeEnum() {
4208
+ return potentialOptionGradeFromString(this.potentialOptionGrade);
4209
+ }
4210
+ get additionalPotentialOptionGradeEnum() {
4211
+ return potentialOptionGradeFromString(this.additionalPotentialOptionGrade);
3405
4212
  }
3406
4213
  }
3407
4214
 
3408
4215
  /**
3409
- * 스타포스 히스토리 응답 정보
4216
+ * 잠재능력 재설정 히스토리 응답 정보
3410
4217
  */
3411
- class StarforceHistoryResponseDto {
4218
+ class PotentialHistoryResponseDto {
3412
4219
  /**
3413
4220
  * 결과 건 수
3414
4221
  */
3415
4222
  count;
3416
4223
  /**
3417
- * 스타포스 히스토리
4224
+ * 잠재능력 재설정 히스토리
3418
4225
  */
3419
- starforceHistory;
4226
+ potentialHistory;
3420
4227
  /**
3421
4228
  * 페이징 처리를 위한 cursor
3422
4229
  */
3423
4230
  nextCursor;
3424
4231
  constructor(obj) {
3425
- const { count, starforce_history, next_cursor } = obj;
4232
+ const { count, potential_history, next_cursor } = obj;
3426
4233
  this.count = count;
3427
- this.starforceHistory = starforce_history.map((origin) => new StarforceHistoryDto(origin));
4234
+ this.potentialHistory = potential_history.map((origin) => new PotentialHistoryDto(origin));
3428
4235
  this.nextCursor = next_cursor;
3429
4236
  }
3430
4237
  }
@@ -3486,7 +4293,7 @@ class MapleStoryApi {
3486
4293
  async getCharacterBasic(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3487
4294
  hour: 1,
3488
4295
  minute: 0,
3489
- dateOffset: 1
4296
+ dateOffset: 1,
3490
4297
  })) {
3491
4298
  const query = {
3492
4299
  ocid: ocid,
@@ -3526,7 +4333,7 @@ class MapleStoryApi {
3526
4333
  async getCharacterPopularity(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3527
4334
  hour: 1,
3528
4335
  minute: 0,
3529
- dateOffset: 1
4336
+ dateOffset: 1,
3530
4337
  })) {
3531
4338
  const query = {
3532
4339
  ocid: ocid,
@@ -3566,7 +4373,7 @@ class MapleStoryApi {
3566
4373
  async getCharacterStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3567
4374
  hour: 1,
3568
4375
  minute: 0,
3569
- dateOffset: 1
4376
+ dateOffset: 1,
3570
4377
  })) {
3571
4378
  const query = {
3572
4379
  ocid: ocid,
@@ -3606,7 +4413,7 @@ class MapleStoryApi {
3606
4413
  async getCharacterHyperStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3607
4414
  hour: 1,
3608
4415
  minute: 0,
3609
- dateOffset: 1
4416
+ dateOffset: 1,
3610
4417
  })) {
3611
4418
  const query = {
3612
4419
  ocid: ocid,
@@ -3646,7 +4453,7 @@ class MapleStoryApi {
3646
4453
  async getCharacterPropensity(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3647
4454
  hour: 1,
3648
4455
  minute: 0,
3649
- dateOffset: 1
4456
+ dateOffset: 1,
3650
4457
  })) {
3651
4458
  const query = {
3652
4459
  ocid: ocid,
@@ -3686,7 +4493,7 @@ class MapleStoryApi {
3686
4493
  async getCharacterAbility(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3687
4494
  hour: 1,
3688
4495
  minute: 0,
3689
- dateOffset: 1
4496
+ dateOffset: 1,
3690
4497
  })) {
3691
4498
  const query = {
3692
4499
  ocid: ocid,
@@ -3726,7 +4533,7 @@ class MapleStoryApi {
3726
4533
  async getCharacterItemEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3727
4534
  hour: 1,
3728
4535
  minute: 0,
3729
- dateOffset: 1
4536
+ dateOffset: 1,
3730
4537
  })) {
3731
4538
  const query = {
3732
4539
  ocid: ocid,
@@ -3766,7 +4573,7 @@ class MapleStoryApi {
3766
4573
  async getCharacterCashItemEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3767
4574
  hour: 1,
3768
4575
  minute: 0,
3769
- dateOffset: 1
4576
+ dateOffset: 1,
3770
4577
  })) {
3771
4578
  const query = {
3772
4579
  ocid: ocid,
@@ -3806,7 +4613,7 @@ class MapleStoryApi {
3806
4613
  async getCharacterSymbolEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3807
4614
  hour: 1,
3808
4615
  minute: 0,
3809
- dateOffset: 1
4616
+ dateOffset: 1,
3810
4617
  })) {
3811
4618
  const query = {
3812
4619
  ocid: ocid,
@@ -3846,7 +4653,7 @@ class MapleStoryApi {
3846
4653
  async getCharacterSetEffect(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3847
4654
  hour: 1,
3848
4655
  minute: 0,
3849
- dateOffset: 1
4656
+ dateOffset: 1,
3850
4657
  })) {
3851
4658
  const query = {
3852
4659
  ocid: ocid,
@@ -3886,7 +4693,7 @@ class MapleStoryApi {
3886
4693
  async getCharacterBeautyEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3887
4694
  hour: 1,
3888
4695
  minute: 0,
3889
- dateOffset: 1
4696
+ dateOffset: 1,
3890
4697
  })) {
3891
4698
  const query = {
3892
4699
  ocid: ocid,
@@ -3926,7 +4733,7 @@ class MapleStoryApi {
3926
4733
  async getCharacterAndroidEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3927
4734
  hour: 1,
3928
4735
  minute: 0,
3929
- dateOffset: 1
4736
+ dateOffset: 1,
3930
4737
  })) {
3931
4738
  const query = {
3932
4739
  ocid: ocid,
@@ -3966,7 +4773,7 @@ class MapleStoryApi {
3966
4773
  async getCharacterPetEquipment(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
3967
4774
  hour: 1,
3968
4775
  minute: 0,
3969
- dateOffset: 1
4776
+ dateOffset: 1,
3970
4777
  })) {
3971
4778
  const query = {
3972
4779
  ocid: ocid,
@@ -4018,7 +4825,7 @@ class MapleStoryApi {
4018
4825
  async getCharacterSkill(ocid, characterSkillGrade, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4019
4826
  hour: 1,
4020
4827
  minute: 0,
4021
- dateOffset: 1
4828
+ dateOffset: 1,
4022
4829
  })) {
4023
4830
  const query = {
4024
4831
  ocid: ocid,
@@ -4059,7 +4866,7 @@ class MapleStoryApi {
4059
4866
  async getCharacterLinkSkill(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4060
4867
  hour: 1,
4061
4868
  minute: 0,
4062
- dateOffset: 1
4869
+ dateOffset: 1,
4063
4870
  })) {
4064
4871
  const query = {
4065
4872
  ocid: ocid,
@@ -4099,7 +4906,7 @@ class MapleStoryApi {
4099
4906
  async getCharacterVMatrix(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4100
4907
  hour: 1,
4101
4908
  minute: 0,
4102
- dateOffset: 1
4909
+ dateOffset: 1,
4103
4910
  })) {
4104
4911
  const query = {
4105
4912
  ocid: ocid,
@@ -4139,7 +4946,7 @@ class MapleStoryApi {
4139
4946
  async getCharacterHexaMatrix(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4140
4947
  hour: 1,
4141
4948
  minute: 0,
4142
- dateOffset: 1
4949
+ dateOffset: 1,
4143
4950
  })) {
4144
4951
  const query = {
4145
4952
  ocid: ocid,
@@ -4179,7 +4986,7 @@ class MapleStoryApi {
4179
4986
  async getCharacterHexaMatrixStat(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4180
4987
  hour: 1,
4181
4988
  minute: 0,
4182
- dateOffset: 1
4989
+ dateOffset: 1,
4183
4990
  })) {
4184
4991
  const query = {
4185
4992
  ocid: ocid,
@@ -4219,7 +5026,7 @@ class MapleStoryApi {
4219
5026
  async getCharacterDojang(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4220
5027
  hour: 1,
4221
5028
  minute: 0,
4222
- dateOffset: 1
5029
+ dateOffset: 1,
4223
5030
  })) {
4224
5031
  const query = {
4225
5032
  ocid: ocid,
@@ -4258,10 +5065,10 @@ class MapleStoryApi {
4258
5065
  * @param ocid 캐릭터 식별자
4259
5066
  * @param dateOptions 조회 기준일 (KST)
4260
5067
  */
4261
- async getUnionInfo(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
5068
+ async getUnion(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4262
5069
  hour: 1,
4263
5070
  minute: 0,
4264
- dateOffset: 1
5071
+ dateOffset: 1,
4265
5072
  })) {
4266
5073
  const query = {
4267
5074
  ocid: ocid,
@@ -4298,10 +5105,10 @@ class MapleStoryApi {
4298
5105
  * @param ocid 캐릭터 식별자
4299
5106
  * @param dateOptions 조회 기준일 (KST)
4300
5107
  */
4301
- async getUnionRaiderInfo(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
5108
+ async getUnionRaider(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4302
5109
  hour: 1,
4303
5110
  minute: 0,
4304
- dateOffset: 1
5111
+ dateOffset: 1,
4305
5112
  })) {
4306
5113
  const query = {
4307
5114
  ocid: ocid,
@@ -4317,7 +5124,7 @@ class MapleStoryApi {
4317
5124
  baseURL: MapleStoryApi.BASE_URL,
4318
5125
  timeout: this.timeout,
4319
5126
  headers: this.buildHeaders(),
4320
- params: query
5127
+ params: query,
4321
5128
  });
4322
5129
  return new UnionRaiderDto(response.data);
4323
5130
  }
@@ -4329,6 +5136,46 @@ class MapleStoryApi {
4329
5136
  throw e;
4330
5137
  }
4331
5138
  }
5139
+ /**
5140
+ * 유니온 아티팩트 정보를 조회합니다.
5141
+ * - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
5142
+ * - 유니온 정보 조회 API는 일자별 데이터로 매일 오전 1시부터 전일 데이터 조회가 가능합니다. (예를 들어, 12월 22일 데이터를 조회하면 22일 00시부터 23일의 00시 사이의 데이터가 조회됩니다.)
5143
+ * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
5144
+ *
5145
+ * @param ocid 캐릭터 식별자
5146
+ * @param dateOptions 조회 기준일 (KST)
5147
+ */
5148
+ async getUnionArtifact(ocid, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
5149
+ hour: 1,
5150
+ minute: 0,
5151
+ dateOffset: 1,
5152
+ })) {
5153
+ const query = {
5154
+ ocid: ocid,
5155
+ date: MapleStoryApi.toDateString({
5156
+ year: 2023,
5157
+ month: 12,
5158
+ day: 21,
5159
+ }, dateOptions),
5160
+ };
5161
+ try {
5162
+ const path = 'maplestory/v1/user/union-artifact';
5163
+ const response = await axios__default["default"].get(path, {
5164
+ baseURL: MapleStoryApi.BASE_URL,
5165
+ timeout: this.timeout,
5166
+ headers: this.buildHeaders(),
5167
+ params: query,
5168
+ });
5169
+ return new UnionArtifactDto(response.data);
5170
+ }
5171
+ catch (e) {
5172
+ if (e instanceof axios.AxiosError) {
5173
+ const errorBody = e.response.data;
5174
+ throw new MapleStoryApiError(errorBody);
5175
+ }
5176
+ throw e;
5177
+ }
5178
+ }
4332
5179
  //#endregion
4333
5180
  //#region 길드 정보 조회
4334
5181
  /**
@@ -4374,7 +5221,7 @@ class MapleStoryApi {
4374
5221
  async getGuildBasic(guildId, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4375
5222
  hour: 1,
4376
5223
  minute: 0,
4377
- dateOffset: 1
5224
+ dateOffset: 1,
4378
5225
  })) {
4379
5226
  const query = {
4380
5227
  oguild_id: guildId,
@@ -4414,11 +5261,12 @@ class MapleStoryApi {
4414
5261
  year: 2023,
4415
5262
  month: 12,
4416
5263
  day: 27,
4417
- }, parameter ?? MapleStoryApi.getProperDefaultDateOptions({
4418
- hour: 0,
4419
- minute: 0,
4420
- dateOffset: 0
4421
- }));
5264
+ }, parameter ??
5265
+ MapleStoryApi.getProperDefaultDateOptions({
5266
+ hour: 0,
5267
+ minute: 0,
5268
+ dateOffset: 0,
5269
+ }));
4422
5270
  }
4423
5271
  try {
4424
5272
  const path = 'maplestory/v1/history/starforce';
@@ -4445,16 +5293,17 @@ class MapleStoryApi {
4445
5293
  if (typeof parameter === 'string') {
4446
5294
  query.cursor = parameter;
4447
5295
  }
4448
- else if (typeof parameter === 'object') {
5296
+ else if (typeof parameter === 'object' || parameter === undefined) {
4449
5297
  query.date = MapleStoryApi.toDateString({
4450
5298
  year: 2022,
4451
5299
  month: 11,
4452
5300
  day: 25,
4453
- }, parameter ?? MapleStoryApi.getProperDefaultDateOptions({
4454
- hour: 4,
4455
- minute: 0,
4456
- dateOffset: 1
4457
- }));
5301
+ }, parameter ??
5302
+ MapleStoryApi.getProperDefaultDateOptions({
5303
+ hour: 4,
5304
+ minute: 0,
5305
+ dateOffset: 1,
5306
+ }));
4458
5307
  }
4459
5308
  try {
4460
5309
  const path = 'maplestory/v1/history/cube';
@@ -4474,6 +5323,43 @@ class MapleStoryApi {
4474
5323
  throw e;
4475
5324
  }
4476
5325
  }
5326
+ async getPotentialHistory(count, parameter) {
5327
+ const query = {
5328
+ count,
5329
+ };
5330
+ if (typeof parameter === 'string') {
5331
+ query.cursor = parameter;
5332
+ }
5333
+ else if (typeof parameter === 'object' || parameter === undefined) {
5334
+ query.date = MapleStoryApi.toDateString({
5335
+ year: 2024,
5336
+ month: 1,
5337
+ day: 25,
5338
+ }, parameter ??
5339
+ MapleStoryApi.getProperDefaultDateOptions({
5340
+ hour: 4,
5341
+ minute: 0,
5342
+ dateOffset: 1,
5343
+ }));
5344
+ }
5345
+ try {
5346
+ const path = 'maplestory/v1/history/potential';
5347
+ const response = await axios__default["default"].get(path, {
5348
+ baseURL: MapleStoryApi.BASE_URL,
5349
+ timeout: this.timeout,
5350
+ headers: this.buildHeaders(),
5351
+ params: query,
5352
+ });
5353
+ return new PotentialHistoryResponseDto(response.data);
5354
+ }
5355
+ catch (e) {
5356
+ if (e instanceof axios.AxiosError) {
5357
+ const errorBody = e.response.data;
5358
+ throw new MapleStoryApiError(errorBody);
5359
+ }
5360
+ throw e;
5361
+ }
5362
+ }
4477
5363
  //#endregion
4478
5364
  //#region 랭킹 정보 조회
4479
5365
  /**
@@ -4489,7 +5375,7 @@ class MapleStoryApi {
4489
5375
  async getOverallRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4490
5376
  hour: 8,
4491
5377
  minute: 30,
4492
- dateOffset: 0
5378
+ dateOffset: 0,
4493
5379
  })) {
4494
5380
  const query = {
4495
5381
  date: MapleStoryApi.toDateString({
@@ -4536,7 +5422,7 @@ class MapleStoryApi {
4536
5422
  async getUnionRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4537
5423
  hour: 8,
4538
5424
  minute: 30,
4539
- dateOffset: 0
5425
+ dateOffset: 0,
4540
5426
  })) {
4541
5427
  const query = {
4542
5428
  date: MapleStoryApi.toDateString({
@@ -4581,7 +5467,7 @@ class MapleStoryApi {
4581
5467
  async getGuildRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4582
5468
  hour: 8,
4583
5469
  minute: 30,
4584
- dateOffset: 0
5470
+ dateOffset: 0,
4585
5471
  })) {
4586
5472
  const query = {
4587
5473
  date: MapleStoryApi.toDateString({
@@ -4628,7 +5514,7 @@ class MapleStoryApi {
4628
5514
  async getDojangRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4629
5515
  hour: 8,
4630
5516
  minute: 30,
4631
- dateOffset: 0
5517
+ dateOffset: 0,
4632
5518
  })) {
4633
5519
  const query = {
4634
5520
  date: MapleStoryApi.toDateString({
@@ -4676,7 +5562,7 @@ class MapleStoryApi {
4676
5562
  async getSeedRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4677
5563
  hour: 8,
4678
5564
  minute: 30,
4679
- dateOffset: 0
5565
+ dateOffset: 0,
4680
5566
  })) {
4681
5567
  const query = {
4682
5568
  date: MapleStoryApi.toDateString({
@@ -4721,7 +5607,7 @@ class MapleStoryApi {
4721
5607
  async getAchievementRanking(filterOptions, dateOptions = MapleStoryApi.getProperDefaultDateOptions({
4722
5608
  hour: 8,
4723
5609
  minute: 30,
4724
- dateOffset: 0
5610
+ dateOffset: 0,
4725
5611
  })) {
4726
5612
  const query = {
4727
5613
  date: MapleStoryApi.toDateString({
@@ -4819,7 +5705,7 @@ class MapleStoryApi {
4819
5705
  return {
4820
5706
  year: adjustedDate.year(),
4821
5707
  month: adjustedDate.month() + 1,
4822
- day: adjustedDate.date()
5708
+ day: adjustedDate.date(),
4823
5709
  };
4824
5710
  }
4825
5711
  /**
@@ -4837,7 +5723,9 @@ class MapleStoryApi {
4837
5723
  (year === minYear && month === minMonth && day < minDay)) {
4838
5724
  throw new Error(`You can only retrieve data after ${dayjs__default["default"](`${minYear}-${minMonth}-${minDay}`).format('YYYY-MM-DD')}.`);
4839
5725
  }
4840
- return dayjs__default["default"](`${year}-${month}-${day}`).utcOffset(MapleStoryApi.kstOffset).format('YYYY-MM-DD');
5726
+ return dayjs__default["default"](`${year}-${month}-${day}`)
5727
+ .utcOffset(MapleStoryApi.kstOffset)
5728
+ .format('YYYY-MM-DD');
4841
5729
  }
4842
5730
  }
4843
5731
 
@@ -4845,12 +5733,14 @@ exports.AchievementRankingDto = AchievementRankingDto;
4845
5733
  exports.AchievementRankingResponseDto = AchievementRankingResponseDto;
4846
5734
  exports.CharacterAbilityDto = CharacterAbilityDto;
4847
5735
  exports.CharacterAbilityInfoDto = CharacterAbilityInfoDto;
5736
+ exports.CharacterAbilityPresetDto = CharacterAbilityPresetDto;
4848
5737
  exports.CharacterAndroidCashItemEquipmentColoringPrismDto = CharacterAndroidCashItemEquipmentColoringPrismDto;
4849
5738
  exports.CharacterAndroidCashItemEquipmentDto = CharacterAndroidCashItemEquipmentDto;
4850
5739
  exports.CharacterAndroidCashItemEquipmentOptionDto = CharacterAndroidCashItemEquipmentOptionDto;
4851
5740
  exports.CharacterAndroidEquipmentDto = CharacterAndroidEquipmentDto;
4852
5741
  exports.CharacterAndroidEquipmentFaceDto = CharacterAndroidEquipmentFaceDto;
4853
5742
  exports.CharacterAndroidEquipmentHairDto = CharacterAndroidEquipmentHairDto;
5743
+ exports.CharacterAndroidEquipmentPresetDto = CharacterAndroidEquipmentPresetDto;
4854
5744
  exports.CharacterBasicDto = CharacterBasicDto;
4855
5745
  exports.CharacterBeautyEquipmentDto = CharacterBeautyEquipmentDto;
4856
5746
  exports.CharacterBeautyEquipmentFaceDto = CharacterBeautyEquipmentFaceDto;
@@ -4870,10 +5760,12 @@ exports.CharacterHyperStatDto = CharacterHyperStatDto;
4870
5760
  exports.CharacterHyperStatPresetDto = CharacterHyperStatPresetDto;
4871
5761
  exports.CharacterItemEquipmentAddOptionDto = CharacterItemEquipmentAddOptionDto;
4872
5762
  exports.CharacterItemEquipmentBaseOptionDto = CharacterItemEquipmentBaseOptionDto;
5763
+ exports.CharacterItemEquipmentDragonInfoDto = CharacterItemEquipmentDragonInfoDto;
4873
5764
  exports.CharacterItemEquipmentDto = CharacterItemEquipmentDto;
4874
5765
  exports.CharacterItemEquipmentEtcOptionDto = CharacterItemEquipmentEtcOptionDto;
4875
5766
  exports.CharacterItemEquipmentExceptionalOptionDto = CharacterItemEquipmentExceptionalOptionDto;
4876
5767
  exports.CharacterItemEquipmentInfoDto = CharacterItemEquipmentInfoDto;
5768
+ exports.CharacterItemEquipmentMechanicInfoDto = CharacterItemEquipmentMechanicInfoDto;
4877
5769
  exports.CharacterItemEquipmentStarforceOptionDto = CharacterItemEquipmentStarforceOptionDto;
4878
5770
  exports.CharacterItemEquipmentTitleDto = CharacterItemEquipmentTitleDto;
4879
5771
  exports.CharacterItemEquipmentTotalOptionDto = CharacterItemEquipmentTotalOptionDto;
@@ -4910,11 +5802,17 @@ exports.MapleStoryApi = MapleStoryApi;
4910
5802
  exports.MapleStoryApiError = MapleStoryApiError;
4911
5803
  exports.OverallRankingDto = OverallRankingDto;
4912
5804
  exports.OverallRankingResponseDto = OverallRankingResponseDto;
5805
+ exports.PotentialHistoryDto = PotentialHistoryDto;
5806
+ exports.PotentialHistoryResponseDto = PotentialHistoryResponseDto;
5807
+ exports.PotentialResultOptionDto = PotentialResultOptionDto;
4913
5808
  exports.StarforceEventDto = StarforceEventDto;
4914
5809
  exports.StarforceHistoryDto = StarforceHistoryDto;
4915
5810
  exports.StarforceHistoryResponseDto = StarforceHistoryResponseDto;
4916
5811
  exports.TheSeedRankingDto = TheSeedRankingDto;
4917
5812
  exports.TheSeedRankingResponseDto = TheSeedRankingResponseDto;
5813
+ exports.UnionArtifactCrystalDto = UnionArtifactCrystalDto;
5814
+ exports.UnionArtifactDto = UnionArtifactDto;
5815
+ exports.UnionArtifactEffectDto = UnionArtifactEffectDto;
4918
5816
  exports.UnionDto = UnionDto;
4919
5817
  exports.UnionRaiderBlockControlPointDto = UnionRaiderBlockControlPointDto;
4920
5818
  exports.UnionRaiderBlockDto = UnionRaiderBlockDto;