maplestory-openapi 3.7.0 → 3.8.1

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 (84) hide show
  1. package/dist/cjs/index.js +5 -0
  2. package/dist/cjs/maplestory/api/common/dto/character/characterItemEquipment.js +3 -0
  3. package/dist/cjs/maplestory/api/common/dto/union/unionChampion.js +14 -0
  4. package/dist/cjs/maplestory/api/kms/dto/character/characterItemEquipment.js +2 -1
  5. package/dist/cjs/maplestory/api/kms/dto/union/unionChampion.js +8 -3
  6. package/dist/cjs/maplestory/api/kms/mapleStoryApi.js +26 -20
  7. package/dist/cjs/maplestory/api/msea/dto/character/characterAndroidEquipment.js +36 -3
  8. package/dist/cjs/maplestory/api/msea/dto/character/characterBasic.js +4 -10
  9. package/dist/cjs/maplestory/api/msea/dto/character/characterBeautyEquipment.js +24 -2
  10. package/dist/cjs/maplestory/api/msea/dto/character/characterCashItemEquipment.js +17 -1
  11. package/dist/cjs/maplestory/api/msea/dto/character/characterItemEquipment.js +100 -5
  12. package/dist/cjs/maplestory/api/msea/dto/union/unionChampion.js +82 -0
  13. package/dist/cjs/maplestory/api/msea/mapleStoryApi.js +32 -0
  14. package/dist/cjs/maplestory/api/msea/msea.js +5 -0
  15. package/dist/cjs/maplestory/api/tms/dto/character/characterAndroidEquipment.js +36 -3
  16. package/dist/cjs/maplestory/api/tms/dto/character/characterBasic.js +1 -1
  17. package/dist/cjs/maplestory/api/tms/dto/character/characterBeautyEquipment.js +24 -2
  18. package/dist/cjs/maplestory/api/tms/dto/character/characterCashItemEquipment.js +12 -1
  19. package/dist/cjs/maplestory/api/tms/dto/character/characterItemEquipment.js +84 -4
  20. package/dist/cjs/maplestory/api/tms/dto/union/unionChampion.js +79 -0
  21. package/dist/cjs/maplestory/api/tms/mapleStoryApi.js +32 -0
  22. package/dist/cjs/maplestory/api/tms/tms.js +5 -0
  23. package/dist/esm/index.js +2 -1
  24. package/dist/esm/maplestory/api/common/dto/character/characterItemEquipment.js +3 -1
  25. package/dist/esm/maplestory/api/common/dto/union/unionChampion.js +8 -0
  26. package/dist/esm/maplestory/api/kms/dto/character/characterItemEquipment.js +3 -2
  27. package/dist/esm/maplestory/api/kms/dto/union/unionChampion.js +8 -3
  28. package/dist/esm/maplestory/api/kms/mapleStoryApi.js +26 -20
  29. package/dist/esm/maplestory/api/msea/dto/character/characterAndroidEquipment.js +36 -3
  30. package/dist/esm/maplestory/api/msea/dto/character/characterBasic.js +4 -10
  31. package/dist/esm/maplestory/api/msea/dto/character/characterBeautyEquipment.js +24 -2
  32. package/dist/esm/maplestory/api/msea/dto/character/characterCashItemEquipment.js +17 -1
  33. package/dist/esm/maplestory/api/msea/dto/character/characterItemEquipment.js +101 -7
  34. package/dist/esm/maplestory/api/msea/dto/union/unionChampion.js +76 -0
  35. package/dist/esm/maplestory/api/msea/mapleStoryApi.js +32 -0
  36. package/dist/esm/maplestory/api/msea/msea.js +2 -1
  37. package/dist/esm/maplestory/api/tms/dto/character/characterAndroidEquipment.js +36 -3
  38. package/dist/esm/maplestory/api/tms/dto/character/characterBasic.js +1 -1
  39. package/dist/esm/maplestory/api/tms/dto/character/characterBeautyEquipment.js +24 -2
  40. package/dist/esm/maplestory/api/tms/dto/character/characterCashItemEquipment.js +12 -1
  41. package/dist/esm/maplestory/api/tms/dto/character/characterItemEquipment.js +85 -6
  42. package/dist/esm/maplestory/api/tms/dto/union/unionChampion.js +73 -0
  43. package/dist/esm/maplestory/api/tms/mapleStoryApi.js +32 -0
  44. package/dist/esm/maplestory/api/tms/tms.js +2 -1
  45. package/dist/index.min.js +1 -1
  46. package/package.json +1 -1
  47. package/types/index.d.ts +1 -0
  48. package/types/maplestory/api/common/dto/character/characterAndroidEquipment.d.ts +3 -0
  49. package/types/maplestory/api/common/dto/character/characterBasic.d.ts +1 -0
  50. package/types/maplestory/api/common/dto/character/characterBeautyEquipment.d.ts +2 -0
  51. package/types/maplestory/api/common/dto/character/characterCashItemEquipment.d.ts +2 -0
  52. package/types/maplestory/api/common/dto/character/characterItemEquipment.d.ts +15 -0
  53. package/types/maplestory/api/common/dto/union/unionChampion.d.ts +15 -0
  54. package/types/maplestory/api/common/mapleStoryApi.d.ts +2 -0
  55. package/types/maplestory/api/kms/dto/character/characterItemEquipment.d.ts +1 -1
  56. package/types/maplestory/api/kms/dto/union/unionChampion.d.ts +4 -3
  57. package/types/maplestory/api/kms/mapleStoryApi.d.ts +13 -7
  58. package/types/maplestory/api/msea/dto/character/characterAndroidEquipment.d.ts +24 -0
  59. package/types/maplestory/api/msea/dto/character/characterBasic.d.ts +2 -6
  60. package/types/maplestory/api/msea/dto/character/characterBeautyEquipment.d.ts +16 -0
  61. package/types/maplestory/api/msea/dto/character/characterCashItemEquipment.d.ts +12 -0
  62. package/types/maplestory/api/msea/dto/character/characterItemEquipment.d.ts +71 -1
  63. package/types/maplestory/api/msea/dto/union/unionChampion.d.ts +56 -0
  64. package/types/maplestory/api/msea/index.d.ts +1 -0
  65. package/types/maplestory/api/msea/mapleStoryApi.d.ts +12 -0
  66. package/types/maplestory/api/msea/response/character/characterAndroidEquipmentBody.d.ts +3 -0
  67. package/types/maplestory/api/msea/response/character/characterBasicBody.d.ts +1 -1
  68. package/types/maplestory/api/msea/response/character/characterBeautyEquipmentBody.d.ts +2 -0
  69. package/types/maplestory/api/msea/response/character/characterCashItemEquipmentBody.d.ts +2 -0
  70. package/types/maplestory/api/msea/response/character/characterItemEquipmentBody.d.ts +14 -0
  71. package/types/maplestory/api/msea/response/union/unionChampionBody.d.ts +15 -0
  72. package/types/maplestory/api/tms/dto/character/characterAndroidEquipment.d.ts +24 -0
  73. package/types/maplestory/api/tms/dto/character/characterBasic.d.ts +1 -1
  74. package/types/maplestory/api/tms/dto/character/characterBeautyEquipment.d.ts +16 -0
  75. package/types/maplestory/api/tms/dto/character/characterCashItemEquipment.d.ts +8 -0
  76. package/types/maplestory/api/tms/dto/character/characterItemEquipment.d.ts +59 -1
  77. package/types/maplestory/api/tms/dto/union/unionChampion.d.ts +53 -0
  78. package/types/maplestory/api/tms/index.d.ts +1 -0
  79. package/types/maplestory/api/tms/mapleStoryApi.d.ts +12 -0
  80. package/types/maplestory/api/tms/response/character/characterAndroidEquipmentBody.d.ts +3 -0
  81. package/types/maplestory/api/tms/response/character/characterBeautyEquipmentBody.d.ts +2 -0
  82. package/types/maplestory/api/tms/response/character/characterCashItemEquipmentBody.d.ts +1 -0
  83. package/types/maplestory/api/tms/response/character/characterItemEquipmentBody.d.ts +11 -0
  84. package/types/maplestory/api/tms/response/union/unionChampionBody.d.ts +15 -0
@@ -44,6 +44,10 @@ class CharacterItemEquipmentDto extends characterItemEquipment.CharacterItemEqui
44
44
  * Title information
45
45
  */
46
46
  title;
47
+ /**
48
+ * Medal appearance information registered in the appearance settings
49
+ */
50
+ medalShape;
47
51
  /**
48
52
  * Evan Dragon equipment information (response provided if the character is Evan)
49
53
  */
@@ -54,7 +58,7 @@ class CharacterItemEquipmentDto extends characterItemEquipment.CharacterItemEqui
54
58
  mechanicEquipment;
55
59
  constructor(obj) {
56
60
  super();
57
- const { date, character_gender, character_class, preset_no, item_equipment, item_equipment_preset_1, item_equipment_preset_2, item_equipment_preset_3, title, dragon_equipment, mechanic_equipment, } = obj;
61
+ const { date, character_gender, character_class, preset_no, item_equipment, item_equipment_preset_1, item_equipment_preset_2, item_equipment_preset_3, title, medal_shape, dragon_equipment, mechanic_equipment, } = obj;
58
62
  this.date = date ? new Date(date) : null;
59
63
  this.characterGender = character_gender;
60
64
  this.characterClass = character_class;
@@ -67,6 +71,9 @@ class CharacterItemEquipmentDto extends characterItemEquipment.CharacterItemEqui
67
71
  this.itemEquipmentPreset3 =
68
72
  item_equipment_preset_3?.map((equipment) => new CharacterItemEquipmentInfoDto(equipment)) ?? [];
69
73
  this.title = title ? new CharacterItemEquipmentTitleDto(title) : null;
74
+ this.medalShape = medal_shape
75
+ ? new CharacterItemEquipmentMedalShapeDto(medal_shape)
76
+ : null;
70
77
  this.dragonEquipment = dragon_equipment.map((equipment) => new CharacterItemEquipmentDragonInfoDto(equipment));
71
78
  this.mechanicEquipment = mechanic_equipment.map((equipment) => new CharacterItemEquipmentMechanicInfoDto(equipment));
72
79
  }
@@ -103,12 +110,27 @@ class CharacterItemEquipmentTitleDto extends characterItemEquipment.CharacterIte
103
110
  * Whether the title option is expired
104
111
  */
105
112
  isOptionExpired = null;
113
+ /**
114
+ * Title equipment name registered in the appearance settings
115
+ */
116
+ titleShapeName;
117
+ /**
118
+ * Title icon registered in the appearance settings
119
+ */
120
+ titleShapeIcon;
121
+ /**
122
+ * Title description registered in the appearance settings
123
+ */
124
+ titleShapeDescription;
106
125
  constructor(obj) {
107
126
  super();
108
- const { title_name, title_icon, title_description, date_expire, date_option_expire, } = obj;
127
+ const { title_name, title_icon, title_description, date_expire, date_option_expire, title_shape_name, title_shape_icon, title_shape_description, } = obj;
109
128
  this.titleName = title_name;
110
129
  this.titleIcon = title_icon;
111
130
  this.titleDescription = title_description;
131
+ this.titleShapeName = title_shape_name;
132
+ this.titleShapeIcon = title_shape_icon;
133
+ this.titleShapeDescription = title_shape_description;
112
134
  if (date_expire === 'expired') {
113
135
  this.isExpired = true;
114
136
  }
@@ -125,6 +147,45 @@ class CharacterItemEquipmentTitleDto extends characterItemEquipment.CharacterIte
125
147
  }
126
148
  }
127
149
  }
150
+ /**
151
+ * Medal appearance information
152
+ */
153
+ class CharacterItemEquipmentMedalShapeDto extends characterItemEquipment.CharacterItemEquipmentMedalShapeDto {
154
+ /**
155
+ * Medal equipment name registered in the appearance settings
156
+ */
157
+ medalShapeName;
158
+ /**
159
+ * Medal icon registered in the appearance settings
160
+ */
161
+ medalShapeIcon;
162
+ /**
163
+ * Medal description registered in the appearance settings
164
+ */
165
+ medalShapeDescription;
166
+ /**
167
+ * Fusion Anvil-applied medal equipment name registered in the appearance settings
168
+ */
169
+ medalShapeChangedName;
170
+ /**
171
+ * Fusion Anvil-applied medal icon registered in the appearance settings
172
+ */
173
+ medalShapeChangedIcon;
174
+ /**
175
+ * Fusion Anvil-applied medal description registered in the appearance settings
176
+ */
177
+ medalShapeChangedDescription;
178
+ constructor(obj) {
179
+ super();
180
+ const { medal_shape_name, medal_shape_icon, medal_shape_description, medal_shape_changed_name, medal_shape_changed_icon, medal_shape_changed_description, } = obj;
181
+ this.medalShapeName = medal_shape_name;
182
+ this.medalShapeIcon = medal_shape_icon;
183
+ this.medalShapeDescription = medal_shape_description;
184
+ this.medalShapeChangedName = medal_shape_changed_name;
185
+ this.medalShapeChangedIcon = medal_shape_changed_icon;
186
+ this.medalShapeChangedDescription = medal_shape_changed_description;
187
+ }
188
+ }
128
189
  /**
129
190
  * Additional equipment options
130
191
  */
@@ -704,9 +765,13 @@ class CharacterItemEquipmentDragonInfoDto extends characterItemEquipment.Charact
704
765
  * Whether the equipment is expired
705
766
  */
706
767
  isExpired = null;
768
+ /**
769
+ * Freestyle Coupon application status (0:not applied, 1:applied)
770
+ */
771
+ freestyleFlag;
707
772
  constructor(obj) {
708
773
  super();
709
- const { item_equipment_part, item_equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, equipment_level_increase, item_exceptional_option, item_add_option, growth_exp, growth_level, scroll_upgrade, cuttable_count, golden_hammer_flag, scroll_resilience_count, scroll_upgradeable_count, soul_name, soul_option, item_etc_option, starforce, starforce_scroll_flag, item_starforce_option, special_ring_level, date_expire, } = obj;
774
+ const { item_equipment_part, item_equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, equipment_level_increase, item_exceptional_option, item_add_option, growth_exp, growth_level, scroll_upgrade, cuttable_count, golden_hammer_flag, scroll_resilience_count, scroll_upgradeable_count, soul_name, soul_option, item_etc_option, starforce, starforce_scroll_flag, item_starforce_option, special_ring_level, date_expire, freestyle_flag, } = obj;
710
775
  this.itemEquipmentPart = item_equipment_part;
711
776
  this.itemEquipmentSlot = item_equipment_slot;
712
777
  this.itemName = item_name;
@@ -734,6 +799,7 @@ class CharacterItemEquipmentDragonInfoDto extends characterItemEquipment.Charact
734
799
  this.starforceScrollFlag = starforce_scroll_flag;
735
800
  this.itemStarforceOption = new CharacterItemEquipmentStarforceOptionDto(item_starforce_option);
736
801
  this.specialRingLevel = special_ring_level;
802
+ this.freestyleFlag = freestyle_flag;
737
803
  if (date_expire === 'expired') {
738
804
  this.isExpired = true;
739
805
  }
@@ -741,6 +807,12 @@ class CharacterItemEquipmentDragonInfoDto extends characterItemEquipment.Charact
741
807
  this.dateExpire = date_expire ? new Date(date_expire) : null;
742
808
  }
743
809
  }
810
+ /**
811
+ * Freestyle Coupon application status
812
+ */
813
+ get isFreestyleFlag() {
814
+ return this.freestyleFlag === '1';
815
+ }
744
816
  }
745
817
  /**
746
818
  * Mechanic equipment information
@@ -862,9 +934,13 @@ class CharacterItemEquipmentMechanicInfoDto extends characterItemEquipment.Chara
862
934
  * Whether the equipment is expired
863
935
  */
864
936
  isExpired = null;
937
+ /**
938
+ * Freestyle Coupon application status (0:not applied, 1:applied)
939
+ */
940
+ freestyleFlag;
865
941
  constructor(obj) {
866
942
  super();
867
- const { item_equipment_part, item_equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, equipment_level_increase, item_exceptional_option, item_add_option, growth_exp, growth_level, scroll_upgrade, cuttable_count, golden_hammer_flag, scroll_resilience_count, scroll_upgradeable_count, soul_name, soul_option, item_etc_option, starforce, starforce_scroll_flag, item_starforce_option, special_ring_level, date_expire, } = obj;
943
+ const { item_equipment_part, item_equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, equipment_level_increase, item_exceptional_option, item_add_option, growth_exp, growth_level, scroll_upgrade, cuttable_count, golden_hammer_flag, scroll_resilience_count, scroll_upgradeable_count, soul_name, soul_option, item_etc_option, starforce, starforce_scroll_flag, item_starforce_option, special_ring_level, date_expire, freestyle_flag, } = obj;
868
944
  this.itemEquipmentPart = item_equipment_part;
869
945
  this.itemEquipmentSlot = item_equipment_slot;
870
946
  this.itemName = item_name;
@@ -892,6 +968,7 @@ class CharacterItemEquipmentMechanicInfoDto extends characterItemEquipment.Chara
892
968
  this.starforceScrollFlag = starforce_scroll_flag;
893
969
  this.itemStarforceOption = new CharacterItemEquipmentStarforceOptionDto(item_starforce_option);
894
970
  this.specialRingLevel = special_ring_level;
971
+ this.freestyleFlag = freestyle_flag;
895
972
  if (date_expire === 'expired') {
896
973
  this.isExpired = true;
897
974
  }
@@ -899,6 +976,12 @@ class CharacterItemEquipmentMechanicInfoDto extends characterItemEquipment.Chara
899
976
  this.dateExpire = date_expire ? new Date(date_expire) : null;
900
977
  }
901
978
  }
979
+ /**
980
+ * Freestyle Coupon application status
981
+ */
982
+ get isFreestyleFlag() {
983
+ return this.freestyleFlag === '1';
984
+ }
902
985
  }
903
986
  /**
904
987
  * Equipment information
@@ -1060,9 +1143,13 @@ class CharacterItemEquipmentInfoDto extends characterItemEquipment.CharacterItem
1060
1143
  * Whether the equipment is expired
1061
1144
  */
1062
1145
  isExpired = null;
1146
+ /**
1147
+ * Freestyle Coupon application status (0:not applied, 1:applied)
1148
+ */
1149
+ freestyleFlag;
1063
1150
  constructor(obj) {
1064
1151
  super();
1065
- const { item_equipment_part, item_equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, potential_option_flag, additional_potential_option_flag, potential_option_grade, additional_potential_option_grade, potential_option_1, potential_option_2, potential_option_3, additional_potential_option_1, additional_potential_option_2, additional_potential_option_3, equipment_level_increase, item_exceptional_option, item_add_option, growth_exp, growth_level, scroll_upgrade, cuttable_count, golden_hammer_flag, scroll_resilience_count, scroll_upgradeable_count, soul_name, soul_option, item_etc_option, starforce, starforce_scroll_flag, item_starforce_option, special_ring_level, date_expire, } = obj;
1152
+ const { item_equipment_part, item_equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, item_gender, item_total_option, item_base_option, potential_option_flag, additional_potential_option_flag, potential_option_grade, additional_potential_option_grade, potential_option_1, potential_option_2, potential_option_3, additional_potential_option_1, additional_potential_option_2, additional_potential_option_3, equipment_level_increase, item_exceptional_option, item_add_option, growth_exp, growth_level, scroll_upgrade, cuttable_count, golden_hammer_flag, scroll_resilience_count, scroll_upgradeable_count, soul_name, soul_option, item_etc_option, starforce, starforce_scroll_flag, item_starforce_option, special_ring_level, date_expire, freestyle_flag, } = obj;
1066
1153
  this.itemEquipmentPart = item_equipment_part;
1067
1154
  this.itemEquipmentSlot = item_equipment_slot;
1068
1155
  this.itemName = item_name;
@@ -1100,6 +1187,7 @@ class CharacterItemEquipmentInfoDto extends characterItemEquipment.CharacterItem
1100
1187
  this.starforceScrollFlag = starforce_scroll_flag;
1101
1188
  this.itemStarforceOption = new CharacterItemEquipmentStarforceOptionDto(item_starforce_option);
1102
1189
  this.specialRingLevel = special_ring_level;
1190
+ this.freestyleFlag = freestyle_flag;
1103
1191
  if (date_expire === 'expired') {
1104
1192
  this.isExpired = true;
1105
1193
  }
@@ -1107,6 +1195,12 @@ class CharacterItemEquipmentInfoDto extends characterItemEquipment.CharacterItem
1107
1195
  this.dateExpire = date_expire ? new Date(date_expire) : null;
1108
1196
  }
1109
1197
  }
1198
+ /**
1199
+ * Freestyle Coupon application status
1200
+ */
1201
+ get isFreestyleFlag() {
1202
+ return this.freestyleFlag === '1';
1203
+ }
1110
1204
  }
1111
1205
 
1112
1206
  exports.CharacterItemEquipmentAddOptionDto = CharacterItemEquipmentAddOptionDto;
@@ -1117,6 +1211,7 @@ exports.CharacterItemEquipmentEtcOptionDto = CharacterItemEquipmentEtcOptionDto;
1117
1211
  exports.CharacterItemEquipmentExceptionalOptionDto = CharacterItemEquipmentExceptionalOptionDto;
1118
1212
  exports.CharacterItemEquipmentInfoDto = CharacterItemEquipmentInfoDto;
1119
1213
  exports.CharacterItemEquipmentMechanicInfoDto = CharacterItemEquipmentMechanicInfoDto;
1214
+ exports.CharacterItemEquipmentMedalShapeDto = CharacterItemEquipmentMedalShapeDto;
1120
1215
  exports.CharacterItemEquipmentStarforceOptionDto = CharacterItemEquipmentStarforceOptionDto;
1121
1216
  exports.CharacterItemEquipmentTitleDto = CharacterItemEquipmentTitleDto;
1122
1217
  exports.CharacterItemEquipmentTotalOptionDto = CharacterItemEquipmentTotalOptionDto;
@@ -0,0 +1,82 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ var unionChampion = require('../../../common/dto/union/unionChampion.js');
6
+
7
+ /**
8
+ * Union Champion information
9
+ */
10
+ class UnionChampionDto extends unionChampion.UnionChampionDto {
11
+ /**
12
+ * Reference date for query (SGT, daily data with hours and minutes set to 0)
13
+ */
14
+ date;
15
+ /**
16
+ * Union Champion information
17
+ */
18
+ unionChampion;
19
+ /**
20
+ * Champion Insignia effects
21
+ */
22
+ championBadgeTotalInfo;
23
+ constructor(obj) {
24
+ super();
25
+ const { date, union_champion, champion_badge_total_info } = obj;
26
+ this.date = date ? new Date(date) : null;
27
+ this.unionChampion = union_champion.map((info) => new UnionChampionInfoDto(info));
28
+ this.championBadgeTotalInfo = champion_badge_total_info.map((info) => new UnionChampionBadgeInfoDto(info));
29
+ }
30
+ }
31
+ /**
32
+ * Champion Insignia effects
33
+ */
34
+ class UnionChampionBadgeInfoDto extends unionChampion.UnionChampionBadgeInfoDto {
35
+ /**
36
+ * Union Champion Insignia effects
37
+ */
38
+ stat;
39
+ constructor(obj) {
40
+ super();
41
+ const { stat } = obj;
42
+ this.stat = stat;
43
+ }
44
+ }
45
+ /**
46
+ * Union Champion information
47
+ */
48
+ class UnionChampionInfoDto extends unionChampion.UnionChampionInfoDto {
49
+ /**
50
+ * Union Champion character name
51
+ */
52
+ championName;
53
+ /**
54
+ * Union Champion slot
55
+ */
56
+ championSlot;
57
+ /**
58
+ * Union Champion level
59
+ */
60
+ championGrade;
61
+ /**
62
+ * Union Champion character's job
63
+ */
64
+ championClass;
65
+ /**
66
+ * Union Champion Insignia information
67
+ */
68
+ championBadgeInfo;
69
+ constructor(obj) {
70
+ super();
71
+ const { champion_name, champion_slot, champion_grade, champion_class, champion_badge_info, } = obj;
72
+ this.championName = champion_name;
73
+ this.championSlot = champion_slot;
74
+ this.championGrade = champion_grade;
75
+ this.championClass = champion_class;
76
+ this.championBadgeInfo = champion_badge_info.map((info) => new UnionChampionBadgeInfoDto(info));
77
+ }
78
+ }
79
+
80
+ exports.UnionChampionBadgeInfoDto = UnionChampionBadgeInfoDto;
81
+ exports.UnionChampionDto = UnionChampionDto;
82
+ exports.UnionChampionInfoDto = UnionChampionInfoDto;
@@ -29,6 +29,7 @@ var guild = require('./dto/guild/guild.js');
29
29
  var guildBasic = require('./dto/guild/guildBasic.js');
30
30
  var union = require('./dto/union/union.js');
31
31
  var unionArtifact = require('./dto/union/unionArtifact.js');
32
+ var unionChampion = require('./dto/union/unionChampion.js');
32
33
  var unionRaider = require('./dto/union/unionRaider.js');
33
34
  var characterImage = require('../common/enum/characterImage.js');
34
35
  var mapleStoryApi = require('../common/mapleStoryApi.js');
@@ -819,6 +820,37 @@ class MapleStoryApi extends mapleStoryApi.MapleStoryApi {
819
820
  }
820
821
  return new unionArtifact.UnionArtifactDto(data);
821
822
  }
823
+ /**
824
+ * Retrieves Union Champion information.
825
+ * - MapleStory game data can be verified approximately 15 minutes after updates.
826
+ * - Data is available starting from December 18, 2025.
827
+ * - Historical data can be queried by specifying the desired date, and data from the previous day can be accessed starting at 2 AM the next day. (For example, when querying data for December 22, data from 00:00 to 24:00 on December 22 will be retrieved.)
828
+ * - Due to game content changes, the ocid may be updated. Please pay attention to this when updating services based on ocid.
829
+ * - This API provides data for MapleStory SEA.
830
+ * @param ocid Character identifier
831
+ * @param dateOptions Reference date for query (SGT)
832
+ */
833
+ async getUnionChampion(ocid, dateOptions) {
834
+ const path = `${this.subUrl}/v1/user/union-champion`;
835
+ const date = dateOptions
836
+ ? this.toDateString(dateOptions, {
837
+ year: 2025,
838
+ month: 12,
839
+ day: 18,
840
+ })
841
+ : undefined;
842
+ const query = {
843
+ ocid: ocid,
844
+ date: date,
845
+ };
846
+ const { data } = await this.client.get(path, {
847
+ params: query,
848
+ });
849
+ if (this.isEmptyResponse(data)) {
850
+ return null;
851
+ }
852
+ return new unionChampion.UnionChampionDto(data);
853
+ }
822
854
  //#endregion
823
855
  //#region Guild Information Retrieval
824
856
  /**
@@ -28,6 +28,7 @@ var guild = require('./dto/guild/guild.js');
28
28
  var guildBasic = require('./dto/guild/guildBasic.js');
29
29
  var union = require('./dto/union/union.js');
30
30
  var unionArtifact = require('./dto/union/unionArtifact.js');
31
+ var unionChampion = require('./dto/union/unionChampion.js');
31
32
  var unionRaider = require('./dto/union/unionRaider.js');
32
33
 
33
34
 
@@ -71,6 +72,7 @@ exports.CharacterItemEquipmentEtcOptionDto = characterItemEquipment.CharacterIte
71
72
  exports.CharacterItemEquipmentExceptionalOptionDto = characterItemEquipment.CharacterItemEquipmentExceptionalOptionDto;
72
73
  exports.CharacterItemEquipmentInfoDto = characterItemEquipment.CharacterItemEquipmentInfoDto;
73
74
  exports.CharacterItemEquipmentMechanicInfoDto = characterItemEquipment.CharacterItemEquipmentMechanicInfoDto;
75
+ exports.CharacterItemEquipmentMedalShapeDto = characterItemEquipment.CharacterItemEquipmentMedalShapeDto;
74
76
  exports.CharacterItemEquipmentStarforceOptionDto = characterItemEquipment.CharacterItemEquipmentStarforceOptionDto;
75
77
  exports.CharacterItemEquipmentTitleDto = characterItemEquipment.CharacterItemEquipmentTitleDto;
76
78
  exports.CharacterItemEquipmentTotalOptionDto = characterItemEquipment.CharacterItemEquipmentTotalOptionDto;
@@ -101,6 +103,9 @@ exports.UnionDto = union.UnionDto;
101
103
  exports.UnionArtifactCrystalDto = unionArtifact.UnionArtifactCrystalDto;
102
104
  exports.UnionArtifactDto = unionArtifact.UnionArtifactDto;
103
105
  exports.UnionArtifactEffectDto = unionArtifact.UnionArtifactEffectDto;
106
+ exports.UnionChampionBadgeInfoDto = unionChampion.UnionChampionBadgeInfoDto;
107
+ exports.UnionChampionDto = unionChampion.UnionChampionDto;
108
+ exports.UnionChampionInfoDto = unionChampion.UnionChampionInfoDto;
104
109
  exports.UnionRaiderBlockControlPointDto = unionRaider.UnionRaiderBlockControlPointDto;
105
110
  exports.UnionRaiderBlockDto = unionRaider.UnionRaiderBlockDto;
106
111
  exports.UnionRaiderBlockPositionDto = unionRaider.UnionRaiderBlockPositionDto;
@@ -135,13 +135,24 @@ class CharacterAndroidEquipmentFaceDto extends characterAndroidEquipment.Charact
135
135
  * 機器人臉型混染顏色比例
136
136
  */
137
137
  mixRate;
138
+ /**
139
+ * 自由造型券 使用狀態(0:未使用,1:已使用)
140
+ */
141
+ freestyleFlag;
138
142
  constructor(obj) {
139
143
  super();
140
- const { face_name, base_color, mix_color, mix_rate } = obj;
144
+ const { face_name, base_color, mix_color, mix_rate, freestyle_flag } = obj;
141
145
  this.faceName = face_name;
142
146
  this.baseColor = base_color;
143
147
  this.mixColor = mix_color;
144
148
  this.mixRate = mix_rate;
149
+ this.freestyleFlag = freestyle_flag;
150
+ }
151
+ /**
152
+ * 自由造型券 使用狀態
153
+ */
154
+ get isFreestyleFlag() {
155
+ return this.freestyleFlag === '1';
145
156
  }
146
157
  }
147
158
  /**
@@ -164,13 +175,24 @@ class CharacterAndroidEquipmentHairDto extends characterAndroidEquipment.Charact
164
175
  * 機器人髮型混染顏色比例
165
176
  */
166
177
  mixRate;
178
+ /**
179
+ * 自由造型券 使用狀態(0:未使用,1:已使用)
180
+ */
181
+ freestyleFlag;
167
182
  constructor(obj) {
168
183
  super();
169
- const { hair_name, base_color, mix_color, mix_rate } = obj;
184
+ const { hair_name, base_color, mix_color, mix_rate, freestyle_flag } = obj;
170
185
  this.hairName = hair_name;
171
186
  this.baseColor = base_color;
172
187
  this.mixColor = mix_color;
173
188
  this.mixRate = mix_rate;
189
+ this.freestyleFlag = freestyle_flag;
190
+ }
191
+ /**
192
+ * 自由造型券 使用狀態
193
+ */
194
+ get isFreestyleFlag() {
195
+ return this.freestyleFlag === '1';
174
196
  }
175
197
  }
176
198
  /**
@@ -383,9 +405,13 @@ class CharacterAndroidCashItemEquipmentDto extends characterAndroidEquipment.Cha
383
405
  * 道具可裝備性別
384
406
  */
385
407
  androidItemGender;
408
+ /**
409
+ * 自由造型券 使用狀態(0:未使用,1:已使用)
410
+ */
411
+ freestyleFlag;
386
412
  constructor(obj) {
387
413
  super();
388
- const { cash_item_equipment_part, cash_item_equipment_slot, cash_item_name, cash_item_icon, cash_item_description, cash_item_option, date_expire, date_option_expire, cash_item_label, cash_item_coloring_prism, android_item_gender, } = obj;
414
+ const { cash_item_equipment_part, cash_item_equipment_slot, cash_item_name, cash_item_icon, cash_item_description, cash_item_option, date_expire, date_option_expire, cash_item_label, cash_item_coloring_prism, android_item_gender, freestyle_flag, } = obj;
389
415
  this.cashItemEquipmentPart = cash_item_equipment_part;
390
416
  this.cashItemEquipmentSlot = cash_item_equipment_slot;
391
417
  this.cashItemName = cash_item_name;
@@ -397,6 +423,7 @@ class CharacterAndroidCashItemEquipmentDto extends characterAndroidEquipment.Cha
397
423
  ? new CharacterAndroidCashItemEquipmentColoringPrismDto(cash_item_coloring_prism)
398
424
  : null;
399
425
  this.androidItemGender = android_item_gender;
426
+ this.freestyleFlag = freestyle_flag;
400
427
  if (date_expire === 'expired') {
401
428
  this.isExpired = true;
402
429
  }
@@ -412,6 +439,12 @@ class CharacterAndroidCashItemEquipmentDto extends characterAndroidEquipment.Cha
412
439
  : null;
413
440
  }
414
441
  }
442
+ /**
443
+ * 自由造型券 使用狀態
444
+ */
445
+ get isFreestyleFlag() {
446
+ return this.freestyleFlag === '1';
447
+ }
415
448
  }
416
449
 
417
450
  exports.CharacterAndroidCashItemEquipmentColoringPrismDto = CharacterAndroidCashItemEquipmentColoringPrismDto;
@@ -62,7 +62,7 @@ class CharacterBasicDto extends characterBasic.CharacterBasicDto {
62
62
  */
63
63
  accessFlag;
64
64
  /**
65
- * 解放任務完成狀態 (0:未完成,1:創世武器已解放)
65
+ * 解放任務完成狀態 (0:未完成,1:創世武器已解放, 2:命運武器第一階段解放)
66
66
  */
67
67
  liberationQuestClear;
68
68
  constructor(obj) {
@@ -93,13 +93,24 @@ class CharacterBeautyEquipmentFaceDto extends characterBeautyEquipment.Character
93
93
  * 臉型混染顏色比例
94
94
  */
95
95
  mixRate;
96
+ /**
97
+ * 自由造型券 使用狀態(0:未使用,1:已使用)
98
+ */
99
+ freestyleFlag;
96
100
  constructor(obj) {
97
101
  super();
98
- const { face_name, base_color, mix_color, mix_rate } = obj;
102
+ const { face_name, base_color, mix_color, mix_rate, freestyle_flag } = obj;
99
103
  this.faceName = face_name;
100
104
  this.baseColor = base_color;
101
105
  this.mixColor = mix_color;
102
106
  this.mixRate = mix_rate;
107
+ this.freestyleFlag = freestyle_flag;
108
+ }
109
+ /**
110
+ * 自由造型券 使用狀態
111
+ */
112
+ get isFreestyleFlag() {
113
+ return this.freestyleFlag === '1';
103
114
  }
104
115
  }
105
116
  /**
@@ -122,13 +133,24 @@ class CharacterBeautyEquipmentHairDto extends characterBeautyEquipment.Character
122
133
  * 髮型混染顏色比例
123
134
  */
124
135
  mixRate;
136
+ /**
137
+ * 自由造型券 使用狀態(0:未使用,1:已使用)
138
+ */
139
+ freestyleFlag;
125
140
  constructor(obj) {
126
141
  super();
127
- const { hair_name, base_color, mix_color, mix_rate } = obj;
142
+ const { hair_name, base_color, mix_color, mix_rate, freestyle_flag } = obj;
128
143
  this.hairName = hair_name;
129
144
  this.baseColor = base_color;
130
145
  this.mixColor = mix_color;
131
146
  this.mixRate = mix_rate;
147
+ this.freestyleFlag = freestyle_flag;
148
+ }
149
+ /**
150
+ * 自由造型券 使用狀態
151
+ */
152
+ get isFreestyleFlag() {
153
+ return this.freestyleFlag === '1';
132
154
  }
133
155
  }
134
156
  /**
@@ -190,9 +190,13 @@ class CharacterCashItemEquipmentPresetDto extends characterCashItemEquipment.Cha
190
190
  * 技能名稱
191
191
  */
192
192
  skills;
193
+ /**
194
+ * 自由造型券 使用狀態(0:未使用,1:已使用)
195
+ */
196
+ freestyleFlag;
193
197
  constructor(obj) {
194
198
  super();
195
- const { cash_item_equipment_part, cash_item_equipment_slot, cash_item_name, cash_item_icon, cash_item_description, cash_item_option, date_expire, date_option_expire, cash_item_label, cash_item_coloring_prism, item_gender, skills, } = obj;
199
+ const { cash_item_equipment_part, cash_item_equipment_slot, cash_item_name, cash_item_icon, cash_item_description, cash_item_option, date_expire, date_option_expire, cash_item_label, cash_item_coloring_prism, item_gender, skills, freestyle_flag, } = obj;
196
200
  this.cashItemEquipmentPart = cash_item_equipment_part;
197
201
  this.cashItemEquipmentSlot = cash_item_equipment_slot;
198
202
  this.cashItemName = cash_item_name;
@@ -205,6 +209,7 @@ class CharacterCashItemEquipmentPresetDto extends characterCashItemEquipment.Cha
205
209
  : null;
206
210
  this.itemGender = item_gender;
207
211
  this.skills = skills;
212
+ this.freestyleFlag = freestyle_flag;
208
213
  if (date_expire === 'expired') {
209
214
  this.isExpired = true;
210
215
  }
@@ -220,6 +225,12 @@ class CharacterCashItemEquipmentPresetDto extends characterCashItemEquipment.Cha
220
225
  : null;
221
226
  }
222
227
  }
228
+ /**
229
+ * 自由造型券 使用狀態
230
+ */
231
+ get isFreestyleFlag() {
232
+ return this.freestyleFlag === '1';
233
+ }
223
234
  }
224
235
 
225
236
  exports.CharacterCashItemEquipmentColoringPrismDto = CharacterCashItemEquipmentColoringPrismDto;