maplestory-openapi 1.1.0 → 2.1.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.
- package/README.md +20 -15
- package/dist/index.js +4283 -71
- package/dist/index.min.js +1 -1
- package/dist/index.mjs +4211 -72
- package/package.json +4 -3
- package/types/index.d.ts +75 -0
- package/types/maplestory/api/dto/achievementRankingDto.d.ts +40 -0
- package/types/maplestory/api/dto/achievementRankingResponseDto.d.ts +13 -0
- package/types/maplestory/api/dto/characterAbilityDto.d.ts +25 -0
- package/types/maplestory/api/dto/characterAbilityInfoDto.d.ts +11 -0
- package/types/maplestory/api/dto/characterAndroidCashItemEquipmentColoringPrismDto.d.ts +24 -0
- package/types/maplestory/api/dto/characterAndroidCashItemEquipmentDto.d.ts +50 -0
- package/types/maplestory/api/dto/characterAndroidCashItemEquipmentOptionDto.d.ts +16 -0
- package/types/maplestory/api/dto/characterAndroidEquipmentDto.d.ts +51 -0
- package/types/maplestory/api/dto/characterAndroidEquipmentFaceDto.d.ts +24 -0
- package/types/maplestory/api/dto/characterAndroidEquipmentHairDto.d.ts +24 -0
- package/types/maplestory/api/dto/characterBasicDto.d.ts +49 -0
- package/types/maplestory/api/dto/characterBeautyEquipmentDto.d.ts +49 -0
- package/types/maplestory/api/dto/characterBeautyEquipmentFaceDto.d.ts +24 -0
- package/types/maplestory/api/dto/characterBeautyEquipmentHairDto.d.ts +24 -0
- package/types/maplestory/api/dto/characterCashItemEquipmentColoringPrismDto.d.ts +24 -0
- package/types/maplestory/api/dto/characterCashItemEquipmentDto.d.ts +49 -0
- package/types/maplestory/api/dto/characterCashItemEquipmentOptionDto.d.ts +16 -0
- package/types/maplestory/api/dto/characterCashItemEquipmentPresetDto.d.ts +54 -0
- package/types/maplestory/api/dto/characterDojangDto.d.ts +32 -0
- package/types/maplestory/api/dto/characterDto.d.ts +12 -0
- package/types/maplestory/api/dto/characterHexaMatrixDto.d.ts +17 -0
- package/types/maplestory/api/dto/characterHexaMatrixEquipmentDto.d.ts +25 -0
- package/types/maplestory/api/dto/characterHexaMatrixEquipmentLinkedSkillDto.d.ts +12 -0
- package/types/maplestory/api/dto/characterHexaMatrixStatCoreDto.d.ts +40 -0
- package/types/maplestory/api/dto/characterHexaMatrixStatDto.d.ts +25 -0
- package/types/maplestory/api/dto/characterHyperStatDto.d.ts +49 -0
- package/types/maplestory/api/dto/characterHyperStatInfoDto.d.ts +24 -0
- package/types/maplestory/api/dto/characterItemEquipmentAddOptionDto.d.ts +68 -0
- package/types/maplestory/api/dto/characterItemEquipmentBaseOptionDto.d.ts +76 -0
- package/types/maplestory/api/dto/characterItemEquipmentDto.d.ts +38 -0
- package/types/maplestory/api/dto/characterItemEquipmentEtcOptionDto.d.ts +52 -0
- package/types/maplestory/api/dto/characterItemEquipmentExceptionalOptionDto.d.ts +40 -0
- package/types/maplestory/api/dto/characterItemEquipmentInfoDto.d.ts +155 -0
- package/types/maplestory/api/dto/characterItemEquipmentStarforceOptionDto.d.ts +52 -0
- package/types/maplestory/api/dto/characterItemEquipmentTitleDto.d.ts +28 -0
- package/types/maplestory/api/dto/characterItemEquipmentTotalOptionDto.d.ts +80 -0
- package/types/maplestory/api/dto/characterLinkSkillDto.d.ts +25 -0
- package/types/maplestory/api/dto/characterLinkSkillInfoDto.d.ts +28 -0
- package/types/maplestory/api/dto/characterPetEquipmentAutoSkillDto.d.ts +24 -0
- package/types/maplestory/api/dto/characterPetEquipmentDto.d.ts +116 -0
- package/types/maplestory/api/dto/characterPetEquipmentItemDto.d.ts +33 -0
- package/types/maplestory/api/dto/characterPetEquipmentItemOptionDto.d.ts +16 -0
- package/types/maplestory/api/dto/characterPopularityDto.d.ts +16 -0
- package/types/maplestory/api/dto/characterPropensityDto.d.ts +33 -0
- package/types/maplestory/api/dto/characterSetEffectDto.d.ts +17 -0
- package/types/maplestory/api/dto/characterSetEffectInfoDto.d.ts +21 -0
- package/types/maplestory/api/dto/characterSetEffectOptionInfoDto.d.ts +16 -0
- package/types/maplestory/api/dto/characterSkillDto.d.ts +25 -0
- package/types/maplestory/api/dto/characterSkillInfoDto.d.ts +28 -0
- package/types/maplestory/api/dto/characterStatDto.d.ts +27 -0
- package/types/maplestory/api/dto/characterSymbolEquipmentDto.d.ts +21 -0
- package/types/maplestory/api/dto/characterSymbolEquipmentInfoDto.d.ts +56 -0
- package/types/maplestory/api/dto/characterVMatrixCoreEquipmentDto.d.ts +40 -0
- package/types/maplestory/api/dto/characterVMatrixDto.d.ts +25 -0
- package/types/maplestory/api/dto/cubeHistoryDto.d.ts +18 -18
- package/types/maplestory/api/dto/cubeHistoryResponseDto.d.ts +2 -2
- package/types/maplestory/api/dto/cubeResultOptionDto.d.ts +1 -1
- package/types/maplestory/api/dto/dojangRankingDto.d.ts +44 -0
- package/types/maplestory/api/dto/dojangRankingResponseDto.d.ts +13 -0
- package/types/maplestory/api/dto/guildBasicDto.d.ts +61 -0
- package/types/maplestory/api/dto/guildDto.d.ts +12 -0
- package/types/maplestory/api/dto/guildRankingDto.d.ts +40 -0
- package/types/maplestory/api/dto/guildRankingResponseDto.d.ts +13 -0
- package/types/maplestory/api/dto/guildSkillDto.d.ts +28 -0
- package/types/maplestory/api/dto/overallRankingDto.d.ts +48 -0
- package/types/maplestory/api/dto/overallRankingResponseDto.d.ts +13 -0
- package/types/maplestory/api/dto/theSeedRankingDto.d.ts +44 -0
- package/types/maplestory/api/dto/theSeedRankingResponseDto.d.ts +13 -0
- package/types/maplestory/api/dto/unionDto.d.ts +20 -0
- package/types/maplestory/api/dto/unionRaiderBlockDto.d.ts +30 -0
- package/types/maplestory/api/dto/unionRaiderBlockPositionDto.d.ts +16 -0
- package/types/maplestory/api/dto/unionRaiderControlPointDto.d.ts +16 -0
- package/types/maplestory/api/dto/unionRaiderDto.d.ts +27 -0
- package/types/maplestory/api/dto/unionRaiderInnerStatDto.d.ts +16 -0
- package/types/maplestory/api/dto/unionRankingDto.d.ts +40 -0
- package/types/maplestory/api/dto/unionRankingResponseDto.d.ts +13 -0
- package/types/maplestory/api/mapleStoryApi.d.ts +760 -19
- package/types/maplestory/api/mapleStoryApiError.d.ts +18 -7
- package/types/maplestory/api/response/achievementRankingResponseDtoBody.d.ts +13 -0
- package/types/maplestory/api/response/characterAbilityDtoBody.d.ts +12 -0
- package/types/maplestory/api/response/characterAndroidEquipmentDtoBody.d.ts +47 -0
- package/types/maplestory/api/response/characterBasicDtoBody.d.ts +14 -0
- package/types/maplestory/api/response/characterBeautyEquipmentDtoBody.d.ts +24 -0
- package/types/maplestory/api/response/characterCashItemEquipmentDtoBody.d.ts +36 -0
- package/types/maplestory/api/response/characterDojangDtoBody.d.ts +9 -0
- package/types/maplestory/api/response/characterDtoBody.d.ts +4 -0
- package/types/maplestory/api/response/characterHexaMatrixDtoBody.d.ts +14 -0
- package/types/maplestory/api/response/characterHexaMatrixStatDtoBody.d.ts +17 -0
- package/types/maplestory/api/response/characterHyperStatDtoBody.d.ts +19 -0
- package/types/maplestory/api/response/characterItemEquipmentDtoBody.d.ts +155 -0
- package/types/maplestory/api/response/characterLinkSkillDtoBody.d.ts +14 -0
- package/types/maplestory/api/response/characterPetEquipmentDtoBody.d.ts +49 -0
- package/types/maplestory/api/response/characterPopularityDtoBody.d.ts +5 -0
- package/types/maplestory/api/response/characterPropensityDtoBody.d.ts +10 -0
- package/types/maplestory/api/response/characterSetEffectDtoBody.d.ts +14 -0
- package/types/maplestory/api/response/characterSkillDtoBody.d.ts +14 -0
- package/types/maplestory/api/response/characterStatDtoBody.d.ts +10 -0
- package/types/maplestory/api/response/characterSymbolEquipmentDtoBody.d.ts +20 -0
- package/types/maplestory/api/response/characterVMatrixDtoBody.d.ts +17 -0
- package/types/maplestory/api/response/cubeHistoryDtoBody.d.ts +8 -8
- package/types/maplestory/api/response/cubeHistoryResponseDtoBody.d.ts +1 -1
- package/types/maplestory/api/response/dojangRankingResponseDtoBody.d.ts +14 -0
- package/types/maplestory/api/response/guildBasicDtoBody.d.ts +23 -0
- package/types/maplestory/api/response/guildDtoBody.d.ts +4 -0
- package/types/maplestory/api/response/guildRankingResponseDtoBody.d.ts +13 -0
- package/types/maplestory/api/response/overallRankingResponseDtoBody.d.ts +15 -0
- package/types/maplestory/api/response/rankingResponseDtoBody.d.ts +7 -0
- package/types/maplestory/api/response/theSeedRankingResponseDtoBody.d.ts +15 -0
- package/types/maplestory/api/response/unionDtoBody.d.ts +6 -0
- package/types/maplestory/api/response/unionRaiderDtoBody.d.ts +27 -0
- package/types/maplestory/api/response/unionRankingResponseDtoBody.d.ts +13 -0
package/dist/index.js
CHANGED
|
@@ -41,7 +41,7 @@ const potentialOptionGradeFromString = (text) => {
|
|
|
41
41
|
*/
|
|
42
42
|
class CubeResultOptionDto {
|
|
43
43
|
/**
|
|
44
|
-
* 옵션
|
|
44
|
+
* 옵션 명
|
|
45
45
|
*/
|
|
46
46
|
value;
|
|
47
47
|
/**
|
|
@@ -59,31 +59,31 @@ class CubeResultOptionDto {
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
/**
|
|
62
|
-
*
|
|
62
|
+
* 큐브 히스토리
|
|
63
63
|
*/
|
|
64
64
|
class CubeHistoryDto {
|
|
65
65
|
/**
|
|
66
|
-
* 큐브
|
|
66
|
+
* 큐브 히스토리 식별자
|
|
67
67
|
*/
|
|
68
68
|
id;
|
|
69
69
|
/**
|
|
70
|
-
*
|
|
70
|
+
* 캐릭터 명
|
|
71
71
|
*/
|
|
72
72
|
characterName;
|
|
73
73
|
/**
|
|
74
|
-
* 월드
|
|
74
|
+
* 월드 명
|
|
75
75
|
*/
|
|
76
76
|
worldName;
|
|
77
77
|
/**
|
|
78
|
-
*
|
|
78
|
+
* 사용 일시
|
|
79
79
|
*/
|
|
80
|
-
|
|
80
|
+
dateCreate;
|
|
81
81
|
/**
|
|
82
|
-
*
|
|
82
|
+
* 사용 큐브
|
|
83
83
|
*/
|
|
84
84
|
cubeType;
|
|
85
85
|
/**
|
|
86
|
-
*
|
|
86
|
+
* 사용 결과
|
|
87
87
|
*/
|
|
88
88
|
itemUpgradeResult;
|
|
89
89
|
/**
|
|
@@ -93,13 +93,13 @@ class CubeHistoryDto {
|
|
|
93
93
|
/**
|
|
94
94
|
* 장비 분류
|
|
95
95
|
*/
|
|
96
|
-
|
|
96
|
+
itemEquipmentPart;
|
|
97
97
|
/**
|
|
98
98
|
* 장비 레벨
|
|
99
99
|
*/
|
|
100
100
|
itemLevel;
|
|
101
101
|
/**
|
|
102
|
-
*
|
|
102
|
+
* 큐브 사용한 장비
|
|
103
103
|
*/
|
|
104
104
|
targetItem;
|
|
105
105
|
/**
|
|
@@ -119,41 +119,41 @@ class CubeHistoryDto {
|
|
|
119
119
|
*/
|
|
120
120
|
upgradeGuaranteeCount;
|
|
121
121
|
/**
|
|
122
|
-
*
|
|
122
|
+
* 사용 전 잠재능력 옵션
|
|
123
123
|
*/
|
|
124
|
-
|
|
124
|
+
beforePotentialOption;
|
|
125
125
|
/**
|
|
126
|
-
*
|
|
126
|
+
* 사용 전 에디셔널 잠재능력 옵션
|
|
127
127
|
*/
|
|
128
|
-
|
|
128
|
+
beforeAdditionalPotentialOption;
|
|
129
129
|
/**
|
|
130
|
-
*
|
|
130
|
+
* 사용 후 잠재능력 옵션
|
|
131
131
|
*/
|
|
132
|
-
|
|
132
|
+
afterPotentialOption;
|
|
133
133
|
/**
|
|
134
|
-
*
|
|
134
|
+
* 사용 후 에디셔널 잠재능력 옵션
|
|
135
135
|
*/
|
|
136
|
-
|
|
136
|
+
afterAdditionalPotentialOption;
|
|
137
137
|
constructor(obj) {
|
|
138
|
-
const { id, character_name, world_name,
|
|
138
|
+
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;
|
|
139
139
|
this.id = id;
|
|
140
140
|
this.characterName = character_name;
|
|
141
141
|
this.worldName = world_name;
|
|
142
|
-
this.
|
|
142
|
+
this.dateCreate = new Date(date_create);
|
|
143
143
|
this.cubeType = cube_type;
|
|
144
144
|
this.itemUpgradeResult = item_upgrade_result;
|
|
145
145
|
this.miracleTimeFlag = miracle_time_flag;
|
|
146
|
-
this.
|
|
146
|
+
this.itemEquipmentPart = item_equipment_part;
|
|
147
147
|
this.itemLevel = item_level;
|
|
148
148
|
this.targetItem = target_item;
|
|
149
149
|
this.potentialOptionGrade = potential_option_grade;
|
|
150
150
|
this.additionalPotentialOptionGrade = additional_potential_option_grade;
|
|
151
|
-
this.upgradeGuarantee =
|
|
152
|
-
this.upgradeGuaranteeCount =
|
|
153
|
-
this.
|
|
154
|
-
this.
|
|
155
|
-
this.
|
|
156
|
-
this.
|
|
151
|
+
this.upgradeGuarantee = upgrade_guarantee;
|
|
152
|
+
this.upgradeGuaranteeCount = upgrade_guarantee_count;
|
|
153
|
+
this.beforePotentialOption = before_potential_option.map(origin => new CubeResultOptionDto(origin));
|
|
154
|
+
this.beforeAdditionalPotentialOption = before_additional_potential_option.map(origin => new CubeResultOptionDto(origin));
|
|
155
|
+
this.afterPotentialOption = after_potential_option.map(origin => new CubeResultOptionDto(origin));
|
|
156
|
+
this.afterAdditionalPotentialOption = after_additional_potential_option.map(origin => new CubeResultOptionDto(origin));
|
|
157
157
|
}
|
|
158
158
|
get isItemUpgrade() {
|
|
159
159
|
return this.itemUpgradeResult === '성공';
|
|
@@ -170,7 +170,7 @@ class CubeHistoryDto {
|
|
|
170
170
|
}
|
|
171
171
|
|
|
172
172
|
/**
|
|
173
|
-
*
|
|
173
|
+
* 큐브 히스토리 응답 정보
|
|
174
174
|
*/
|
|
175
175
|
class CubeHistoryResponseDto {
|
|
176
176
|
/**
|
|
@@ -180,15 +180,15 @@ class CubeHistoryResponseDto {
|
|
|
180
180
|
/**
|
|
181
181
|
* 큐브 히스토리
|
|
182
182
|
*/
|
|
183
|
-
|
|
183
|
+
cubeHistory;
|
|
184
184
|
/**
|
|
185
185
|
* 페이징 처리를 위한 cursor
|
|
186
186
|
*/
|
|
187
187
|
nextCursor;
|
|
188
188
|
constructor(obj) {
|
|
189
|
-
const { count,
|
|
189
|
+
const { count, cube_history, next_cursor } = obj;
|
|
190
190
|
this.count = count;
|
|
191
|
-
this.
|
|
191
|
+
this.cubeHistory = cube_history.map(origin => new CubeHistoryDto(origin));
|
|
192
192
|
this.nextCursor = next_cursor;
|
|
193
193
|
}
|
|
194
194
|
}
|
|
@@ -224,50 +224,3920 @@ class InspectionInfoDto {
|
|
|
224
224
|
|
|
225
225
|
/**
|
|
226
226
|
* MapleStory OpenAPI error.<br>
|
|
227
|
-
* Please refer to <a href="https://
|
|
227
|
+
* Please refer to <a href="https://openapi.nexon.com/guide/request-api/">MapleStory API guide</a> for the error details.
|
|
228
228
|
*/
|
|
229
229
|
class MapleStoryApiError extends Error {
|
|
230
230
|
name = 'MapleStoryApiError';
|
|
231
|
-
|
|
231
|
+
errorCode;
|
|
232
232
|
message;
|
|
233
|
-
constructor(
|
|
234
|
-
const {
|
|
233
|
+
constructor(errorBody) {
|
|
234
|
+
const { name, message } = errorBody.error;
|
|
235
235
|
super(message);
|
|
236
|
-
this.
|
|
236
|
+
this.errorCode = errorMap[name];
|
|
237
237
|
this.message = message;
|
|
238
238
|
}
|
|
239
239
|
}
|
|
240
|
+
/**
|
|
241
|
+
* MapleStory OpenAPI error codes.<br>
|
|
242
|
+
* Please refer to <a href="https://openapi.nexon.com/guide/request-api/">MapleStory API guide</a> for the error code details.
|
|
243
|
+
*/
|
|
244
|
+
exports.MapleStoryApiErrorCode = void 0;
|
|
245
|
+
(function (MapleStoryApiErrorCode) {
|
|
246
|
+
MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00001"] = 0] = "OPENAPI00001";
|
|
247
|
+
MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00002"] = 1] = "OPENAPI00002";
|
|
248
|
+
MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00003"] = 2] = "OPENAPI00003";
|
|
249
|
+
MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00004"] = 3] = "OPENAPI00004";
|
|
250
|
+
MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00005"] = 4] = "OPENAPI00005";
|
|
251
|
+
MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00006"] = 5] = "OPENAPI00006";
|
|
252
|
+
MapleStoryApiErrorCode[MapleStoryApiErrorCode["OPENAPI00007"] = 6] = "OPENAPI00007";
|
|
253
|
+
})(exports.MapleStoryApiErrorCode || (exports.MapleStoryApiErrorCode = {}));
|
|
254
|
+
const errorMap = {
|
|
255
|
+
['OPENAPI00001']: exports.MapleStoryApiErrorCode.OPENAPI00001,
|
|
256
|
+
['OPENAPI00002']: exports.MapleStoryApiErrorCode.OPENAPI00002,
|
|
257
|
+
['OPENAPI00003']: exports.MapleStoryApiErrorCode.OPENAPI00003,
|
|
258
|
+
['OPENAPI00004']: exports.MapleStoryApiErrorCode.OPENAPI00004,
|
|
259
|
+
['OPENAPI00005']: exports.MapleStoryApiErrorCode.OPENAPI00005,
|
|
260
|
+
['OPENAPI00006']: exports.MapleStoryApiErrorCode.OPENAPI00006,
|
|
261
|
+
['OPENAPI00007']: exports.MapleStoryApiErrorCode.OPENAPI00007,
|
|
262
|
+
};
|
|
240
263
|
|
|
241
|
-
|
|
264
|
+
/**
|
|
265
|
+
* 캐릭터 식별 정보
|
|
266
|
+
*/
|
|
267
|
+
class CharacterDto {
|
|
268
|
+
/**
|
|
269
|
+
* 캐릭터 식별자
|
|
270
|
+
*/
|
|
271
|
+
ocid;
|
|
272
|
+
constructor(obj) {
|
|
273
|
+
const { ocid } = obj;
|
|
274
|
+
this.ocid = ocid;
|
|
275
|
+
}
|
|
276
|
+
}
|
|
242
277
|
|
|
243
|
-
|
|
278
|
+
/**
|
|
279
|
+
* 캐릭터 기본 정보
|
|
280
|
+
*/
|
|
281
|
+
class CharacterBasicDto {
|
|
282
|
+
date;
|
|
283
|
+
/**
|
|
284
|
+
* 캐릭터 명
|
|
285
|
+
*/
|
|
286
|
+
characterName;
|
|
287
|
+
/**
|
|
288
|
+
* 월드 명
|
|
289
|
+
*/
|
|
290
|
+
worldName;
|
|
291
|
+
/**
|
|
292
|
+
* 캐릭터 성별
|
|
293
|
+
*/
|
|
294
|
+
characterGender;
|
|
295
|
+
/**
|
|
296
|
+
* 캐릭터 직업
|
|
297
|
+
*/
|
|
298
|
+
characterClass;
|
|
299
|
+
/**
|
|
300
|
+
* 캐릭터 전직 차수
|
|
301
|
+
*/
|
|
302
|
+
characterClassLevel;
|
|
303
|
+
/**
|
|
304
|
+
* 캐릭터 레벨
|
|
305
|
+
*/
|
|
306
|
+
characterLevel;
|
|
307
|
+
/**
|
|
308
|
+
* 현재 레벨에서 보유한 경험치
|
|
309
|
+
*/
|
|
310
|
+
characterExp;
|
|
311
|
+
/**
|
|
312
|
+
* 현재 레벨에서 경험치 퍼센트
|
|
313
|
+
*/
|
|
314
|
+
characterExpRate;
|
|
315
|
+
/**
|
|
316
|
+
* 캐릭터 소속 길드 명
|
|
317
|
+
*/
|
|
318
|
+
characterGuildName;
|
|
319
|
+
/**
|
|
320
|
+
* 캐릭터 외형 이미지
|
|
321
|
+
*/
|
|
322
|
+
characterImage;
|
|
323
|
+
constructor(obj) {
|
|
324
|
+
const { date, character_name, world_name, character_gender, character_class, character_class_level, character_level, character_exp, character_exp_rate, character_guild_name, character_image, } = obj;
|
|
325
|
+
this.date = new Date(date);
|
|
326
|
+
this.characterName = character_name;
|
|
327
|
+
this.worldName = world_name;
|
|
328
|
+
this.characterGender = character_gender;
|
|
329
|
+
this.characterClass = character_class;
|
|
330
|
+
this.characterClassLevel = character_class_level;
|
|
331
|
+
this.characterLevel = character_level;
|
|
332
|
+
this.characterExp = character_exp;
|
|
333
|
+
this.characterExpRate = character_exp_rate;
|
|
334
|
+
this.characterGuildName = character_guild_name;
|
|
335
|
+
this.characterImage = character_image;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
244
338
|
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
339
|
+
/**
|
|
340
|
+
* 캐릭터 인기도 정보
|
|
341
|
+
*/
|
|
342
|
+
class CharacterPopularityDto {
|
|
343
|
+
/**
|
|
344
|
+
* 조회 기준일
|
|
345
|
+
*/
|
|
346
|
+
date;
|
|
347
|
+
/**
|
|
348
|
+
* 캐릭터 인기도
|
|
349
|
+
*/
|
|
350
|
+
popularity;
|
|
351
|
+
constructor(obj) {
|
|
352
|
+
const { date, popularity } = obj;
|
|
353
|
+
this.date = new Date(date);
|
|
354
|
+
this.popularity = popularity;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
248
357
|
|
|
249
|
-
|
|
358
|
+
/**
|
|
359
|
+
* 캐릭터 스탯 정보
|
|
360
|
+
*/
|
|
361
|
+
class CharacterStatDto {
|
|
362
|
+
/**
|
|
363
|
+
* 조회 기준일
|
|
364
|
+
*/
|
|
365
|
+
date;
|
|
366
|
+
/**
|
|
367
|
+
* 캐릭터 직업
|
|
368
|
+
*/
|
|
369
|
+
characterClass;
|
|
370
|
+
/**
|
|
371
|
+
* 현재 스탯 정보
|
|
372
|
+
*/
|
|
373
|
+
finalStat;
|
|
374
|
+
/**
|
|
375
|
+
* 잔여 AP
|
|
376
|
+
*/
|
|
377
|
+
remainAP;
|
|
378
|
+
constructor(obj) {
|
|
379
|
+
const { date, character_class, final_stat, remain_ap } = obj;
|
|
380
|
+
this.date = new Date(date);
|
|
381
|
+
this.characterClass = character_class;
|
|
382
|
+
this.finalStat = final_stat.map(stat => {
|
|
383
|
+
return {
|
|
384
|
+
statName: stat.stat_name,
|
|
385
|
+
statValue: stat.stat_value
|
|
386
|
+
};
|
|
387
|
+
});
|
|
388
|
+
this.remainAP = remain_ap;
|
|
389
|
+
}
|
|
390
|
+
}
|
|
250
391
|
|
|
251
|
-
|
|
392
|
+
/**
|
|
393
|
+
* 캐릭터 하이퍼 스탯 상세 정보
|
|
394
|
+
*/
|
|
395
|
+
class CharacterHyperStatInfoDto {
|
|
396
|
+
/**
|
|
397
|
+
* 스탯 종류
|
|
398
|
+
*/
|
|
399
|
+
statType;
|
|
400
|
+
/**
|
|
401
|
+
* 스탯 투자 포인트
|
|
402
|
+
*/
|
|
403
|
+
statPoint;
|
|
404
|
+
/**
|
|
405
|
+
* 스탯 레벨
|
|
406
|
+
*/
|
|
407
|
+
statLevel;
|
|
408
|
+
/**
|
|
409
|
+
* 스탯 상승량
|
|
410
|
+
*/
|
|
411
|
+
statIncrease;
|
|
412
|
+
constructor(obj) {
|
|
413
|
+
const { stat_type, stat_point, stat_level, stat_increase, } = obj;
|
|
414
|
+
this.statType = stat_type;
|
|
415
|
+
this.statPoint = stat_point;
|
|
416
|
+
this.statLevel = stat_level;
|
|
417
|
+
this.statIncrease = stat_increase;
|
|
418
|
+
}
|
|
419
|
+
}
|
|
252
420
|
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
421
|
+
/**
|
|
422
|
+
* 캐릭터 하이퍼 스탯 정보
|
|
423
|
+
*/
|
|
424
|
+
class CharacterHyperStatDto {
|
|
425
|
+
/**
|
|
426
|
+
* 조회 기준일
|
|
427
|
+
*/
|
|
428
|
+
date;
|
|
429
|
+
/**
|
|
430
|
+
* 캐릭터 직업
|
|
431
|
+
*/
|
|
432
|
+
characterClass;
|
|
433
|
+
/**
|
|
434
|
+
* 적용 중인 프리셋 번호
|
|
435
|
+
*/
|
|
436
|
+
usePresetNo;
|
|
437
|
+
/**
|
|
438
|
+
* 사용 가능한 최대 하이퍼스탯 포인트
|
|
439
|
+
*/
|
|
440
|
+
useAvailableHyperStat;
|
|
441
|
+
/**
|
|
442
|
+
* 프리셋 1번 하이퍼 스탯 정보
|
|
443
|
+
*/
|
|
444
|
+
hyperStatPreset1;
|
|
445
|
+
/**
|
|
446
|
+
* 프리셋 1번 하이퍼 스탯 잔여 포인트
|
|
447
|
+
*/
|
|
448
|
+
hyperStatPreset1RemainPoint;
|
|
449
|
+
/**
|
|
450
|
+
* 프리셋 2번 하이퍼 스탯 정보
|
|
451
|
+
*/
|
|
452
|
+
hyperStatPreset2;
|
|
453
|
+
/**
|
|
454
|
+
* 프리셋 2번 하이퍼 스탯 잔여 포인트
|
|
455
|
+
*/
|
|
456
|
+
hyperStatPreset2RemainPoint;
|
|
457
|
+
/**
|
|
458
|
+
* 프리셋 3번 하이퍼 스탯 정보
|
|
459
|
+
*/
|
|
460
|
+
hyperStatPreset3;
|
|
461
|
+
/**
|
|
462
|
+
* 프리셋 3번 하이퍼 스탯 잔여 포인트
|
|
463
|
+
*/
|
|
464
|
+
hyperStatPreset3RemainPoint;
|
|
465
|
+
constructor(obj) {
|
|
466
|
+
const { date, character_class, use_preset_no, use_available_hyper_stat, hyper_stat_preset_1, hyper_stat_preset_1_remain_point, hyper_stat_preset_2, hyper_stat_preset_2_remain_point, hyper_stat_preset_3, hyper_stat_preset_3_remain_point, } = obj;
|
|
467
|
+
this.date = new Date(date);
|
|
468
|
+
this.characterClass = character_class;
|
|
469
|
+
this.usePresetNo = use_preset_no;
|
|
470
|
+
this.useAvailableHyperStat = use_available_hyper_stat;
|
|
471
|
+
this.hyperStatPreset1 = hyper_stat_preset_1.map(preset => new CharacterHyperStatInfoDto(preset));
|
|
472
|
+
this.hyperStatPreset1RemainPoint = hyper_stat_preset_1_remain_point;
|
|
473
|
+
this.hyperStatPreset2 = hyper_stat_preset_2.map(preset => new CharacterHyperStatInfoDto(preset));
|
|
474
|
+
this.hyperStatPreset2RemainPoint = hyper_stat_preset_2_remain_point;
|
|
475
|
+
this.hyperStatPreset3 = hyper_stat_preset_3.map(preset => new CharacterHyperStatInfoDto(preset));
|
|
476
|
+
this.hyperStatPreset3RemainPoint = hyper_stat_preset_3_remain_point;
|
|
477
|
+
}
|
|
478
|
+
}
|
|
256
479
|
|
|
257
|
-
|
|
480
|
+
/**
|
|
481
|
+
* 캐릭터 성향 정보
|
|
482
|
+
*/
|
|
483
|
+
class CharacterPropensityDto {
|
|
484
|
+
date;
|
|
485
|
+
/**
|
|
486
|
+
* 카리스마 레벨
|
|
487
|
+
*/
|
|
488
|
+
charismaLevel;
|
|
489
|
+
/**
|
|
490
|
+
* 감성 레벨
|
|
491
|
+
*/
|
|
492
|
+
sensibilityLevel;
|
|
493
|
+
/**
|
|
494
|
+
* 통찰력 레벨
|
|
495
|
+
*/
|
|
496
|
+
insightLevel;
|
|
497
|
+
/**
|
|
498
|
+
* 의지 레벨
|
|
499
|
+
*/
|
|
500
|
+
willingnessLevel;
|
|
501
|
+
/**
|
|
502
|
+
* 손재주 레벨
|
|
503
|
+
*/
|
|
504
|
+
handicraftLevel;
|
|
505
|
+
/**
|
|
506
|
+
* 매력 레벨
|
|
507
|
+
*/
|
|
508
|
+
charmLevel;
|
|
509
|
+
constructor(obj) {
|
|
510
|
+
const { date, charisma_level, sensibility_level, insight_level, willingness_level, handicraft_level, charm_level, } = obj;
|
|
511
|
+
this.date = new Date(date);
|
|
512
|
+
this.charismaLevel = charisma_level;
|
|
513
|
+
this.sensibilityLevel = sensibility_level;
|
|
514
|
+
this.insightLevel = insight_level;
|
|
515
|
+
this.willingnessLevel = willingness_level;
|
|
516
|
+
this.handicraftLevel = handicraft_level;
|
|
517
|
+
this.charmLevel = charm_level;
|
|
518
|
+
}
|
|
519
|
+
}
|
|
258
520
|
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
constructor(
|
|
267
|
-
|
|
268
|
-
this.
|
|
521
|
+
/**
|
|
522
|
+
* 캐릭터 어빌리티 상세 정보
|
|
523
|
+
*/
|
|
524
|
+
class CharacterAbilityInfoDto {
|
|
525
|
+
abilityNo;
|
|
526
|
+
abilityGrade;
|
|
527
|
+
abilityValue;
|
|
528
|
+
constructor(obj) {
|
|
529
|
+
const { ability_no, ability_grade, ability_value, } = obj;
|
|
530
|
+
this.abilityNo = ability_no;
|
|
531
|
+
this.abilityGrade = ability_grade;
|
|
532
|
+
this.abilityValue = ability_value;
|
|
533
|
+
}
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
/**
|
|
537
|
+
* 캐릭터 어빌리티 정보
|
|
538
|
+
*/
|
|
539
|
+
class CharacterAbilityDto {
|
|
540
|
+
/**
|
|
541
|
+
* 조회 기준일
|
|
542
|
+
*/
|
|
543
|
+
date;
|
|
544
|
+
/**
|
|
545
|
+
* 어빌리티 등급
|
|
546
|
+
*/
|
|
547
|
+
abilityGrade;
|
|
548
|
+
/**
|
|
549
|
+
* 어빌리티 정보
|
|
550
|
+
*/
|
|
551
|
+
abilityInfo;
|
|
552
|
+
/**
|
|
553
|
+
* 보유 명성치
|
|
554
|
+
*/
|
|
555
|
+
remainFame;
|
|
556
|
+
constructor(obj) {
|
|
557
|
+
const { date, ability_grade, ability_info, remain_fame, } = obj;
|
|
558
|
+
// 날짜는 Date 객체로 변환
|
|
559
|
+
this.date = new Date(date);
|
|
560
|
+
this.abilityGrade = ability_grade;
|
|
561
|
+
this.abilityInfo = ability_info.map(info => new CharacterAbilityInfoDto(info));
|
|
562
|
+
this.remainFame = remain_fame;
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
/**
|
|
567
|
+
* 캐릭터 칭호 아이템 정보
|
|
568
|
+
*/
|
|
569
|
+
class CharacterItemEquipmentTitleDto {
|
|
570
|
+
/**
|
|
571
|
+
* 칭호 장비 명
|
|
572
|
+
*/
|
|
573
|
+
titleName;
|
|
574
|
+
/**
|
|
575
|
+
* 칭호 아이콘
|
|
576
|
+
*/
|
|
577
|
+
titleIcon;
|
|
578
|
+
/**
|
|
579
|
+
* 칭호 설명
|
|
580
|
+
*/
|
|
581
|
+
titleDescription;
|
|
582
|
+
/**
|
|
583
|
+
* 칭호 유효 기간
|
|
584
|
+
*/
|
|
585
|
+
dateExpire;
|
|
586
|
+
/**
|
|
587
|
+
* 칭호 옵션 유효 기간
|
|
588
|
+
*/
|
|
589
|
+
dateOptionExpire;
|
|
590
|
+
constructor(obj) {
|
|
591
|
+
const { title_name, title_icon, title_description, date_expire, date_option_expire, } = obj;
|
|
592
|
+
this.titleName = title_name;
|
|
593
|
+
this.titleIcon = title_icon;
|
|
594
|
+
this.titleDescription = title_description;
|
|
595
|
+
this.dateExpire = new Date(date_expire);
|
|
596
|
+
this.dateOptionExpire = date_option_expire ? new Date(date_option_expire) : undefined;
|
|
597
|
+
}
|
|
598
|
+
}
|
|
599
|
+
|
|
600
|
+
/**
|
|
601
|
+
* 캐릭터 장비 특별 옵션 정보
|
|
602
|
+
*/
|
|
603
|
+
class CharacterItemEquipmentExceptionalOptionDto {
|
|
604
|
+
/**
|
|
605
|
+
* STR
|
|
606
|
+
*/
|
|
607
|
+
str;
|
|
608
|
+
/**
|
|
609
|
+
* DEX
|
|
610
|
+
*/
|
|
611
|
+
dex;
|
|
612
|
+
/**
|
|
613
|
+
* INT
|
|
614
|
+
*/
|
|
615
|
+
int;
|
|
616
|
+
/**
|
|
617
|
+
* LUK
|
|
618
|
+
*/
|
|
619
|
+
luk;
|
|
620
|
+
/**
|
|
621
|
+
* 최대 HP
|
|
622
|
+
*/
|
|
623
|
+
maxHp;
|
|
624
|
+
/**
|
|
625
|
+
* 최대 MP
|
|
626
|
+
*/
|
|
627
|
+
maxMp;
|
|
628
|
+
/**
|
|
629
|
+
* 공격력
|
|
630
|
+
*/
|
|
631
|
+
attackPower;
|
|
632
|
+
/**
|
|
633
|
+
* 마력
|
|
634
|
+
*/
|
|
635
|
+
magicPower;
|
|
636
|
+
constructor(obj) {
|
|
637
|
+
const { str, dex, int, luk, max_hp, max_mp, attack_power, magic_power, } = obj;
|
|
638
|
+
this.str = str;
|
|
639
|
+
this.dex = dex;
|
|
640
|
+
this.int = int;
|
|
641
|
+
this.luk = luk;
|
|
642
|
+
this.maxHp = max_hp;
|
|
643
|
+
this.maxMp = max_mp;
|
|
644
|
+
this.attackPower = attack_power;
|
|
645
|
+
this.magicPower = magic_power;
|
|
646
|
+
}
|
|
647
|
+
}
|
|
648
|
+
|
|
649
|
+
/**
|
|
650
|
+
* 캐릭터 장비 최종 옵션 정보
|
|
651
|
+
*/
|
|
652
|
+
class CharacterItemEquipmentTotalOptionDto {
|
|
653
|
+
/**
|
|
654
|
+
* STR
|
|
655
|
+
*/
|
|
656
|
+
str;
|
|
657
|
+
/**
|
|
658
|
+
* DEX
|
|
659
|
+
*/
|
|
660
|
+
dex;
|
|
661
|
+
/**
|
|
662
|
+
* INT
|
|
663
|
+
*/
|
|
664
|
+
int;
|
|
665
|
+
/**
|
|
666
|
+
* LUK
|
|
667
|
+
*/
|
|
668
|
+
luk;
|
|
669
|
+
/**
|
|
670
|
+
* 최대 HP
|
|
671
|
+
*/
|
|
672
|
+
maxHp;
|
|
673
|
+
/**
|
|
674
|
+
* 최대 MP
|
|
675
|
+
*/
|
|
676
|
+
maxMp;
|
|
677
|
+
/**
|
|
678
|
+
* 공격력
|
|
679
|
+
*/
|
|
680
|
+
attackPower;
|
|
681
|
+
/**
|
|
682
|
+
* 마력
|
|
683
|
+
*/
|
|
684
|
+
magicPower;
|
|
685
|
+
/**
|
|
686
|
+
* 방어력
|
|
687
|
+
*/
|
|
688
|
+
armor;
|
|
689
|
+
/**
|
|
690
|
+
* 이동속도
|
|
691
|
+
*/
|
|
692
|
+
speed;
|
|
693
|
+
/**
|
|
694
|
+
* 점프력
|
|
695
|
+
*/
|
|
696
|
+
jump;
|
|
697
|
+
/**
|
|
698
|
+
* 보스 공격 시 데미지 증가(%)
|
|
699
|
+
*/
|
|
700
|
+
bossDamage;
|
|
701
|
+
/**
|
|
702
|
+
* 몬스터 방어율 무시(%)
|
|
703
|
+
*/
|
|
704
|
+
ignoreMonsterArmor;
|
|
705
|
+
/**
|
|
706
|
+
* 올스탯(%)
|
|
707
|
+
*/
|
|
708
|
+
allStat;
|
|
709
|
+
/**
|
|
710
|
+
* 데미지(%)
|
|
711
|
+
*/
|
|
712
|
+
damage;
|
|
713
|
+
/**
|
|
714
|
+
* 착용 레벨 감소
|
|
715
|
+
*/
|
|
716
|
+
equipmentLevelDecrease;
|
|
717
|
+
/**
|
|
718
|
+
* 최대 HP(%)
|
|
719
|
+
*/
|
|
720
|
+
maxHpRate;
|
|
721
|
+
/**
|
|
722
|
+
* 최대 MP(%)
|
|
723
|
+
*/
|
|
724
|
+
maxMpRate;
|
|
725
|
+
constructor(obj) {
|
|
726
|
+
const { str, dex, int, luk, max_hp, max_mp, attack_power, magic_power, armor, speed, jump, boss_damage, ignore_monster_armor, all_stat, damage, equipment_level_decrease, max_hp_rate, max_mp_rate, } = obj;
|
|
727
|
+
this.str = str;
|
|
728
|
+
this.dex = dex;
|
|
729
|
+
this.int = int;
|
|
730
|
+
this.luk = luk;
|
|
731
|
+
this.maxHp = max_hp;
|
|
732
|
+
this.maxMp = max_mp;
|
|
733
|
+
this.attackPower = attack_power;
|
|
734
|
+
this.magicPower = magic_power;
|
|
735
|
+
this.armor = armor;
|
|
736
|
+
this.speed = speed;
|
|
737
|
+
this.jump = jump;
|
|
738
|
+
this.bossDamage = boss_damage;
|
|
739
|
+
this.ignoreMonsterArmor = ignore_monster_armor;
|
|
740
|
+
this.allStat = all_stat;
|
|
741
|
+
this.damage = damage;
|
|
742
|
+
this.equipmentLevelDecrease = equipment_level_decrease;
|
|
743
|
+
this.maxHpRate = max_hp_rate;
|
|
744
|
+
this.maxMpRate = max_mp_rate;
|
|
745
|
+
}
|
|
746
|
+
}
|
|
747
|
+
|
|
748
|
+
/**
|
|
749
|
+
* 캐릭터 장비 기본 옵션 정보
|
|
750
|
+
*/
|
|
751
|
+
class CharacterItemEquipmentBaseOptionDto {
|
|
752
|
+
/**
|
|
753
|
+
* STR
|
|
754
|
+
*/
|
|
755
|
+
str;
|
|
756
|
+
/**
|
|
757
|
+
* DEX
|
|
758
|
+
*/
|
|
759
|
+
dex;
|
|
760
|
+
/**
|
|
761
|
+
* INT
|
|
762
|
+
*/
|
|
763
|
+
int;
|
|
764
|
+
/**
|
|
765
|
+
* LUK
|
|
766
|
+
*/
|
|
767
|
+
luk;
|
|
768
|
+
/**
|
|
769
|
+
* 최대 HP
|
|
770
|
+
*/
|
|
771
|
+
maxHp;
|
|
772
|
+
/**
|
|
773
|
+
* 최대 MP
|
|
774
|
+
*/
|
|
775
|
+
maxMp;
|
|
776
|
+
/**
|
|
777
|
+
* 공격력
|
|
778
|
+
*/
|
|
779
|
+
attackPower;
|
|
780
|
+
/**
|
|
781
|
+
* 마력
|
|
782
|
+
*/
|
|
783
|
+
magicPower;
|
|
784
|
+
/**
|
|
785
|
+
* 방어력
|
|
786
|
+
*/
|
|
787
|
+
armor;
|
|
788
|
+
/**
|
|
789
|
+
* 이동속도
|
|
790
|
+
*/
|
|
791
|
+
speed;
|
|
792
|
+
/**
|
|
793
|
+
* 점프력
|
|
794
|
+
*/
|
|
795
|
+
jump;
|
|
796
|
+
/**
|
|
797
|
+
* 보스 공격 시 데미지 증가(%)
|
|
798
|
+
*/
|
|
799
|
+
bossDamage;
|
|
800
|
+
/**
|
|
801
|
+
* 몬스터 방어율 무시(%)
|
|
802
|
+
*/
|
|
803
|
+
ignoreMonsterArmor;
|
|
804
|
+
/**
|
|
805
|
+
* 올스탯(%)
|
|
806
|
+
*/
|
|
807
|
+
allStat;
|
|
808
|
+
/**
|
|
809
|
+
* 최대 HP(%)
|
|
810
|
+
*/
|
|
811
|
+
maxHpRate;
|
|
812
|
+
/**
|
|
813
|
+
* 최대 MP(%)
|
|
814
|
+
*/
|
|
815
|
+
maxMpRate;
|
|
816
|
+
/**
|
|
817
|
+
* 기본 착용 레벨
|
|
818
|
+
*/
|
|
819
|
+
baseEquipmentLevel;
|
|
820
|
+
constructor(obj) {
|
|
821
|
+
const { str, dex, int, luk, max_hp, max_mp, attack_power, magic_power, armor, speed, jump, boss_damage, ignore_monster_armor, all_stat, max_hp_rate, max_mp_rate, base_equipment_level, } = obj;
|
|
822
|
+
this.str = str;
|
|
823
|
+
this.dex = dex;
|
|
824
|
+
this.int = int;
|
|
825
|
+
this.luk = luk;
|
|
826
|
+
this.maxHp = max_hp;
|
|
827
|
+
this.maxMp = max_mp;
|
|
828
|
+
this.attackPower = attack_power;
|
|
829
|
+
this.magicPower = magic_power;
|
|
830
|
+
this.armor = armor;
|
|
831
|
+
this.speed = speed;
|
|
832
|
+
this.jump = jump;
|
|
833
|
+
this.bossDamage = boss_damage;
|
|
834
|
+
this.ignoreMonsterArmor = ignore_monster_armor;
|
|
835
|
+
this.allStat = all_stat;
|
|
836
|
+
this.maxHpRate = max_hp_rate;
|
|
837
|
+
this.maxMpRate = max_mp_rate;
|
|
838
|
+
this.baseEquipmentLevel = base_equipment_level;
|
|
839
|
+
}
|
|
840
|
+
}
|
|
841
|
+
|
|
842
|
+
/**
|
|
843
|
+
* 캐릭터 장비 추가 옵션 정보
|
|
844
|
+
*/
|
|
845
|
+
class CharacterItemEquipmentAddOptionDto {
|
|
846
|
+
/**
|
|
847
|
+
* STR
|
|
848
|
+
*/
|
|
849
|
+
str;
|
|
850
|
+
/**
|
|
851
|
+
* DEX
|
|
852
|
+
*/
|
|
853
|
+
dex;
|
|
854
|
+
/**
|
|
855
|
+
* INT
|
|
856
|
+
*/
|
|
857
|
+
int;
|
|
858
|
+
/**
|
|
859
|
+
* LUK
|
|
860
|
+
*/
|
|
861
|
+
luk;
|
|
862
|
+
/**
|
|
863
|
+
* 최대 HP
|
|
864
|
+
*/
|
|
865
|
+
maxHp;
|
|
866
|
+
/**
|
|
867
|
+
* 최대 MP
|
|
868
|
+
*/
|
|
869
|
+
maxMp;
|
|
870
|
+
/**
|
|
871
|
+
* 공격력
|
|
872
|
+
*/
|
|
873
|
+
attackPower;
|
|
874
|
+
/**
|
|
875
|
+
* 마력
|
|
876
|
+
*/
|
|
877
|
+
magicPower;
|
|
878
|
+
/**
|
|
879
|
+
* 방어력
|
|
880
|
+
*/
|
|
881
|
+
armor;
|
|
882
|
+
/**
|
|
883
|
+
* 이동속도
|
|
884
|
+
*/
|
|
885
|
+
speed;
|
|
886
|
+
/**
|
|
887
|
+
* 점프력
|
|
888
|
+
*/
|
|
889
|
+
jump;
|
|
890
|
+
/**
|
|
891
|
+
* 보스 공격 시 데미지 증가(%)
|
|
892
|
+
*/
|
|
893
|
+
bossDamage;
|
|
894
|
+
/**
|
|
895
|
+
* 데미지(%)
|
|
896
|
+
*/
|
|
897
|
+
damage;
|
|
898
|
+
/**
|
|
899
|
+
* 올스탯(%)
|
|
900
|
+
*/
|
|
901
|
+
allStat;
|
|
902
|
+
/**
|
|
903
|
+
* 착용 레벨 감소
|
|
904
|
+
*/
|
|
905
|
+
equipmentLevelDecrease;
|
|
906
|
+
constructor(obj) {
|
|
907
|
+
const { str, dex, int, luk, max_hp, max_mp, attack_power, magic_power, armor, speed, jump, boss_damage, damage, all_stat, equipment_level_decrease } = obj;
|
|
908
|
+
this.str = str;
|
|
909
|
+
this.dex = dex;
|
|
910
|
+
this.int = int;
|
|
911
|
+
this.luk = luk;
|
|
912
|
+
this.maxHp = max_hp;
|
|
913
|
+
this.maxMp = max_mp;
|
|
914
|
+
this.attackPower = attack_power;
|
|
915
|
+
this.magicPower = magic_power;
|
|
916
|
+
this.armor = armor;
|
|
917
|
+
this.speed = speed;
|
|
918
|
+
this.jump = jump;
|
|
919
|
+
this.bossDamage = boss_damage;
|
|
920
|
+
this.damage = damage;
|
|
921
|
+
this.allStat = all_stat;
|
|
922
|
+
this.equipmentLevelDecrease = equipment_level_decrease;
|
|
923
|
+
}
|
|
924
|
+
}
|
|
925
|
+
|
|
926
|
+
/**
|
|
927
|
+
* 캐릭터 장비 기타 옵션 정보
|
|
928
|
+
*/
|
|
929
|
+
class CharacterItemEquipmentEtcOptionDto {
|
|
930
|
+
/**
|
|
931
|
+
* STR
|
|
932
|
+
*/
|
|
933
|
+
str;
|
|
934
|
+
/**
|
|
935
|
+
* DEX
|
|
936
|
+
*/
|
|
937
|
+
dex;
|
|
938
|
+
/**
|
|
939
|
+
* INT
|
|
940
|
+
*/
|
|
941
|
+
int;
|
|
942
|
+
/**
|
|
943
|
+
* LUK
|
|
944
|
+
*/
|
|
945
|
+
luk;
|
|
946
|
+
/**
|
|
947
|
+
* 최대 HP
|
|
948
|
+
*/
|
|
949
|
+
maxHp;
|
|
950
|
+
/**
|
|
951
|
+
* 최대 MP
|
|
952
|
+
*/
|
|
953
|
+
maxMp;
|
|
954
|
+
/**
|
|
955
|
+
* 공격력
|
|
956
|
+
*/
|
|
957
|
+
attackPower;
|
|
958
|
+
/**
|
|
959
|
+
* 마력
|
|
960
|
+
*/
|
|
961
|
+
magicPower;
|
|
962
|
+
/**
|
|
963
|
+
* 방어력
|
|
964
|
+
*/
|
|
965
|
+
armor;
|
|
966
|
+
/**
|
|
967
|
+
* 이동속도
|
|
968
|
+
*/
|
|
969
|
+
speed;
|
|
970
|
+
/**
|
|
971
|
+
* 점프력
|
|
972
|
+
*/
|
|
973
|
+
jump;
|
|
974
|
+
constructor(obj) {
|
|
975
|
+
const { str, dex, int, luk, max_hp, max_mp, attack_power, magic_power, armor, speed, jump, } = obj;
|
|
976
|
+
this.str = str;
|
|
977
|
+
this.dex = dex;
|
|
978
|
+
this.int = int;
|
|
979
|
+
this.luk = luk;
|
|
980
|
+
this.maxHp = max_hp;
|
|
981
|
+
this.maxMp = max_mp;
|
|
982
|
+
this.attackPower = attack_power;
|
|
983
|
+
this.magicPower = magic_power;
|
|
984
|
+
this.armor = armor;
|
|
985
|
+
this.speed = speed;
|
|
986
|
+
this.jump = jump;
|
|
987
|
+
}
|
|
988
|
+
}
|
|
989
|
+
|
|
990
|
+
/**
|
|
991
|
+
* 캐릭터 장비 스타포스 옵션 정보
|
|
992
|
+
*/
|
|
993
|
+
class CharacterItemEquipmentStarforceOptionDto {
|
|
994
|
+
/**
|
|
995
|
+
* STR
|
|
996
|
+
*/
|
|
997
|
+
str;
|
|
998
|
+
/**
|
|
999
|
+
* DEX
|
|
1000
|
+
*/
|
|
1001
|
+
dex;
|
|
1002
|
+
/**
|
|
1003
|
+
* INT
|
|
1004
|
+
*/
|
|
1005
|
+
int;
|
|
1006
|
+
/**
|
|
1007
|
+
* LUK
|
|
1008
|
+
*/
|
|
1009
|
+
luk;
|
|
1010
|
+
/**
|
|
1011
|
+
* 최대 HP
|
|
1012
|
+
*/
|
|
1013
|
+
maxHp;
|
|
1014
|
+
/**
|
|
1015
|
+
* 최대 MP
|
|
1016
|
+
*/
|
|
1017
|
+
maxMp;
|
|
1018
|
+
/**
|
|
1019
|
+
* 공격력
|
|
1020
|
+
*/
|
|
1021
|
+
attackPower;
|
|
1022
|
+
/**
|
|
1023
|
+
* 마력
|
|
1024
|
+
*/
|
|
1025
|
+
magicPower;
|
|
1026
|
+
/**
|
|
1027
|
+
* 방어력
|
|
1028
|
+
*/
|
|
1029
|
+
armor;
|
|
1030
|
+
/**
|
|
1031
|
+
* 이동속도
|
|
1032
|
+
*/
|
|
1033
|
+
speed;
|
|
1034
|
+
/**
|
|
1035
|
+
* 점프력
|
|
1036
|
+
*/
|
|
1037
|
+
jump;
|
|
1038
|
+
constructor(obj) {
|
|
1039
|
+
const { str, dex, int, luk, max_hp, max_mp, attack_power, magic_power, armor, speed, jump, } = obj;
|
|
1040
|
+
this.str = str;
|
|
1041
|
+
this.dex = dex;
|
|
1042
|
+
this.int = int;
|
|
1043
|
+
this.luk = luk;
|
|
1044
|
+
this.maxHp = max_hp;
|
|
1045
|
+
this.maxMp = max_mp;
|
|
1046
|
+
this.attackPower = attack_power;
|
|
1047
|
+
this.magicPower = magic_power;
|
|
1048
|
+
this.armor = armor;
|
|
1049
|
+
this.speed = speed;
|
|
1050
|
+
this.jump = jump;
|
|
1051
|
+
}
|
|
1052
|
+
}
|
|
1053
|
+
|
|
1054
|
+
class CharacterItemEquipmentInfoDto {
|
|
1055
|
+
/**
|
|
1056
|
+
* 장비 부위 명
|
|
1057
|
+
*/
|
|
1058
|
+
itemEquipmentPart;
|
|
1059
|
+
/**
|
|
1060
|
+
* 장비 슬롯 위치
|
|
1061
|
+
*/
|
|
1062
|
+
equipmentSlot;
|
|
1063
|
+
/**
|
|
1064
|
+
* 장비 명
|
|
1065
|
+
*/
|
|
1066
|
+
itemName;
|
|
1067
|
+
/**
|
|
1068
|
+
* 장비 아이콘
|
|
1069
|
+
*/
|
|
1070
|
+
itemIcon;
|
|
1071
|
+
/**
|
|
1072
|
+
* 장비 설명
|
|
1073
|
+
*/
|
|
1074
|
+
itemDescription;
|
|
1075
|
+
/**
|
|
1076
|
+
* 장비 외형
|
|
1077
|
+
*/
|
|
1078
|
+
itemShapeName;
|
|
1079
|
+
/**
|
|
1080
|
+
* 장비 외형 아이콘
|
|
1081
|
+
*/
|
|
1082
|
+
itemShapeIcon;
|
|
1083
|
+
/**
|
|
1084
|
+
* 전용 성별
|
|
1085
|
+
*/
|
|
1086
|
+
gender;
|
|
1087
|
+
/**
|
|
1088
|
+
* 장비 최종 옵션
|
|
1089
|
+
*/
|
|
1090
|
+
itemTotalOption;
|
|
1091
|
+
/**
|
|
1092
|
+
* 장비 기본 옵션
|
|
1093
|
+
*/
|
|
1094
|
+
itemBaseOption;
|
|
1095
|
+
/**
|
|
1096
|
+
* 잠재능력 등급
|
|
1097
|
+
*/
|
|
1098
|
+
potentialOptionGrade;
|
|
1099
|
+
/**
|
|
1100
|
+
* 에디셔널 잠재능력 등급
|
|
1101
|
+
*/
|
|
1102
|
+
additionalPotentialOptionGrade;
|
|
1103
|
+
/**
|
|
1104
|
+
* 잠재능력 첫 번째 옵션
|
|
1105
|
+
*/
|
|
1106
|
+
potentialOption1;
|
|
1107
|
+
/**
|
|
1108
|
+
* 잠재능력 두 번째 옵션
|
|
1109
|
+
*/
|
|
1110
|
+
potentialOption2;
|
|
1111
|
+
/**
|
|
1112
|
+
* 잠재능력 세 번째 옵션
|
|
1113
|
+
*/
|
|
1114
|
+
potentialOption3;
|
|
1115
|
+
/**
|
|
1116
|
+
* 에디셔널 잠재능력 첫 번째 옵션
|
|
1117
|
+
*/
|
|
1118
|
+
additionalPotentialOption1;
|
|
1119
|
+
/**
|
|
1120
|
+
* 에디셔널 잠재능력 두 번째 옵션
|
|
1121
|
+
*/
|
|
1122
|
+
additionalPotentialOption2;
|
|
1123
|
+
/**
|
|
1124
|
+
* 에디셔널 잠재능력 세 번째 옵션
|
|
1125
|
+
*/
|
|
1126
|
+
additionalPotentialOption3;
|
|
1127
|
+
/**
|
|
1128
|
+
* 착용 레벨 증가
|
|
1129
|
+
*/
|
|
1130
|
+
equipmentLevelIncrease;
|
|
1131
|
+
/**
|
|
1132
|
+
* 장비 특별 옵션
|
|
1133
|
+
*/
|
|
1134
|
+
itemExceptionalOption;
|
|
1135
|
+
/**
|
|
1136
|
+
* 장비 추가 옵션
|
|
1137
|
+
*/
|
|
1138
|
+
itemAddOption;
|
|
1139
|
+
/**
|
|
1140
|
+
* 성장 경험치
|
|
1141
|
+
*/
|
|
1142
|
+
growthExp;
|
|
1143
|
+
/**
|
|
1144
|
+
* 성장 레벨
|
|
1145
|
+
*/
|
|
1146
|
+
growthLevel;
|
|
1147
|
+
/**
|
|
1148
|
+
* 업그레이드 횟수
|
|
1149
|
+
*/
|
|
1150
|
+
scrollUpgrade;
|
|
1151
|
+
/**
|
|
1152
|
+
* 가위 사용 가능 횟수 (교환 불가 장비, 가위 횟수가 없는 교환 가능 장비는 255)
|
|
1153
|
+
*/
|
|
1154
|
+
cuttableCount;
|
|
1155
|
+
/**
|
|
1156
|
+
* 황금 망치 재련 적용 (1:적용, 이외 미 적용)
|
|
1157
|
+
*/
|
|
1158
|
+
goldenHammerFlag;
|
|
1159
|
+
/**
|
|
1160
|
+
* 복구 가능 횟수
|
|
1161
|
+
*/
|
|
1162
|
+
scrollResilienceCount;
|
|
1163
|
+
/**
|
|
1164
|
+
* 업그레이드 가능 횟수
|
|
1165
|
+
*/
|
|
1166
|
+
scrollUpgradeableCount;
|
|
1167
|
+
/**
|
|
1168
|
+
* 소울 명
|
|
1169
|
+
*/
|
|
1170
|
+
soulName;
|
|
1171
|
+
/**
|
|
1172
|
+
* 소울 옵션
|
|
1173
|
+
*/
|
|
1174
|
+
soulOption;
|
|
1175
|
+
/**
|
|
1176
|
+
* 장비 기타 옵션
|
|
1177
|
+
*/
|
|
1178
|
+
itemEtcOption;
|
|
1179
|
+
/**
|
|
1180
|
+
* 강화 단계
|
|
1181
|
+
*/
|
|
1182
|
+
starforce;
|
|
1183
|
+
/**
|
|
1184
|
+
* 놀라운 장비 강화 주문서 사용 여부 (0:미사용, 1:사용)
|
|
1185
|
+
*/
|
|
1186
|
+
starforceScrollFlag;
|
|
1187
|
+
/**
|
|
1188
|
+
* 장비 스타포스 옵션
|
|
1189
|
+
*/
|
|
1190
|
+
itemStarforceOption;
|
|
1191
|
+
/**
|
|
1192
|
+
* 특수 반지 레벨
|
|
1193
|
+
*/
|
|
1194
|
+
specialRingLevel;
|
|
1195
|
+
/**
|
|
1196
|
+
* 장비 유효 기간
|
|
1197
|
+
*/
|
|
1198
|
+
dateExpire;
|
|
1199
|
+
constructor(obj) {
|
|
1200
|
+
const { item_equipment_part, equipment_slot, item_name, item_icon, item_description, item_shape_name, item_shape_icon, 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;
|
|
1201
|
+
this.itemEquipmentPart = item_equipment_part;
|
|
1202
|
+
this.equipmentSlot = equipment_slot;
|
|
1203
|
+
this.itemName = item_name;
|
|
1204
|
+
this.itemIcon = item_icon;
|
|
1205
|
+
this.itemDescription = item_description;
|
|
1206
|
+
this.itemShapeName = item_shape_name;
|
|
1207
|
+
this.itemShapeIcon = item_shape_icon;
|
|
1208
|
+
this.gender = gender;
|
|
1209
|
+
this.itemTotalOption = new CharacterItemEquipmentTotalOptionDto(item_total_option);
|
|
1210
|
+
this.itemBaseOption = new CharacterItemEquipmentBaseOptionDto(item_base_option);
|
|
1211
|
+
this.potentialOptionGrade = potential_option_grade;
|
|
1212
|
+
this.additionalPotentialOptionGrade = additional_potential_option_grade;
|
|
1213
|
+
this.potentialOption1 = potential_option_1;
|
|
1214
|
+
this.potentialOption2 = potential_option_2;
|
|
1215
|
+
this.potentialOption3 = potential_option_3;
|
|
1216
|
+
this.additionalPotentialOption1 = additional_potential_option_1;
|
|
1217
|
+
this.additionalPotentialOption2 = additional_potential_option_2;
|
|
1218
|
+
this.additionalPotentialOption3 = additional_potential_option_3;
|
|
1219
|
+
this.equipmentLevelIncrease = equipment_level_increase;
|
|
1220
|
+
this.itemExceptionalOption = new CharacterItemEquipmentExceptionalOptionDto(item_exceptional_option);
|
|
1221
|
+
this.itemAddOption = new CharacterItemEquipmentAddOptionDto(item_add_option);
|
|
1222
|
+
this.growthExp = growth_exp;
|
|
1223
|
+
this.growthLevel = growth_level;
|
|
1224
|
+
this.scrollUpgrade = scroll_upgrade;
|
|
1225
|
+
this.cuttableCount = cuttable_count;
|
|
1226
|
+
this.goldenHammerFlag = golden_hammer_flag;
|
|
1227
|
+
this.scrollResilienceCount = scroll_resilience_count;
|
|
1228
|
+
this.scrollUpgradeableCount = scroll_upgradeable_count;
|
|
1229
|
+
this.soulName = soul_name;
|
|
1230
|
+
this.soulOption = soul_option;
|
|
1231
|
+
this.itemEtcOption = new CharacterItemEquipmentEtcOptionDto(item_etc_option);
|
|
1232
|
+
this.starforce = starforce;
|
|
1233
|
+
this.starforceScrollFlag = starforce_scroll_flag;
|
|
1234
|
+
this.itemStarforceOption = new CharacterItemEquipmentStarforceOptionDto(item_starforce_option);
|
|
1235
|
+
this.specialRingLevel = special_ring_level;
|
|
1236
|
+
this.dateExpire = new Date(date_expire);
|
|
1237
|
+
}
|
|
1238
|
+
}
|
|
1239
|
+
|
|
1240
|
+
/**
|
|
1241
|
+
* 캐릭터 장비 아이템 정보
|
|
1242
|
+
*/
|
|
1243
|
+
class CharacterItemEquipmentDto {
|
|
1244
|
+
/**
|
|
1245
|
+
* 조회 기준일
|
|
1246
|
+
*/
|
|
1247
|
+
date;
|
|
1248
|
+
/**
|
|
1249
|
+
* 캐릭터 성별
|
|
1250
|
+
*/
|
|
1251
|
+
characterGender;
|
|
1252
|
+
/**
|
|
1253
|
+
* 캐릭터 직업
|
|
1254
|
+
*/
|
|
1255
|
+
characterClass;
|
|
1256
|
+
/**
|
|
1257
|
+
* 장비 정보 배열
|
|
1258
|
+
*/
|
|
1259
|
+
itemEquipment;
|
|
1260
|
+
/**
|
|
1261
|
+
* 칭호 정보
|
|
1262
|
+
*/
|
|
1263
|
+
title;
|
|
1264
|
+
/**
|
|
1265
|
+
* 에반 드래곤 장비 정보 (에반인 경우 응답)
|
|
1266
|
+
*/
|
|
1267
|
+
dragonEquipment;
|
|
1268
|
+
/**
|
|
1269
|
+
* 메카닉 장비 정보 (메카닉인 경우 응답)
|
|
1270
|
+
*/
|
|
1271
|
+
mechanicEquipment;
|
|
1272
|
+
constructor(obj) {
|
|
1273
|
+
const { date, character_gender, character_class, item_equipment, title, dragon_equipment, mechanic_equipment, } = obj;
|
|
1274
|
+
this.date = new Date(date);
|
|
1275
|
+
this.characterGender = character_gender;
|
|
1276
|
+
this.characterClass = character_class;
|
|
1277
|
+
this.itemEquipment = item_equipment.map(equipment => new CharacterItemEquipmentInfoDto(equipment));
|
|
1278
|
+
this.title = new CharacterItemEquipmentTitleDto(title);
|
|
1279
|
+
this.dragonEquipment = dragon_equipment ? dragon_equipment.map(equipment => new CharacterItemEquipmentInfoDto(equipment)) : undefined;
|
|
1280
|
+
this.mechanicEquipment = mechanic_equipment ? mechanic_equipment.map(equipment => new CharacterItemEquipmentInfoDto(equipment)) : undefined;
|
|
1281
|
+
}
|
|
1282
|
+
}
|
|
1283
|
+
|
|
1284
|
+
/**
|
|
1285
|
+
* 캐릭터 캐시 장비 옵션
|
|
1286
|
+
*/
|
|
1287
|
+
class CharacterCashItemEquipmentOptionDto {
|
|
1288
|
+
/**
|
|
1289
|
+
* 옵션 타입
|
|
1290
|
+
*/
|
|
1291
|
+
optionType;
|
|
1292
|
+
/**
|
|
1293
|
+
* 옵션 값
|
|
1294
|
+
*/
|
|
1295
|
+
optionValue;
|
|
1296
|
+
constructor(obj) {
|
|
1297
|
+
const { option_type, option_value } = obj;
|
|
1298
|
+
this.optionType = option_type;
|
|
1299
|
+
this.optionValue = option_value;
|
|
1300
|
+
}
|
|
1301
|
+
}
|
|
1302
|
+
|
|
1303
|
+
/**
|
|
1304
|
+
* 캐릭터 캐시 장비 컬러링프리즘
|
|
1305
|
+
*/
|
|
1306
|
+
class CharacterCashItemEquipmentColoringPrismDto {
|
|
1307
|
+
/**
|
|
1308
|
+
* 컬러링프리즘 색상 범위
|
|
1309
|
+
*/
|
|
1310
|
+
colorRange;
|
|
1311
|
+
/**
|
|
1312
|
+
* 컬러링프리즘 색조
|
|
1313
|
+
*/
|
|
1314
|
+
hue;
|
|
1315
|
+
/**
|
|
1316
|
+
* 컬러링프리즘 채도
|
|
1317
|
+
*/
|
|
1318
|
+
saturation;
|
|
1319
|
+
/**
|
|
1320
|
+
* 컬러링프리즘 명도
|
|
1321
|
+
*/
|
|
1322
|
+
value;
|
|
1323
|
+
constructor(obj) {
|
|
1324
|
+
const { color_range, hue, saturation, value, } = obj;
|
|
1325
|
+
this.colorRange = color_range;
|
|
1326
|
+
this.hue = hue;
|
|
1327
|
+
this.saturation = saturation;
|
|
1328
|
+
this.value = value;
|
|
1329
|
+
}
|
|
1330
|
+
}
|
|
1331
|
+
|
|
1332
|
+
/**
|
|
1333
|
+
* 캐릭터 프리셋 장착 캐시 장비 정보
|
|
1334
|
+
*/
|
|
1335
|
+
class CharacterCashItemEquipmentPresetDto {
|
|
1336
|
+
/**
|
|
1337
|
+
* 캐시 장비 부위 명
|
|
1338
|
+
*/
|
|
1339
|
+
cashItemEquipmentPart;
|
|
1340
|
+
/**
|
|
1341
|
+
* 캐시 장비 슬롯 위치
|
|
1342
|
+
*/
|
|
1343
|
+
cashItemEquipmentSlot;
|
|
1344
|
+
/**
|
|
1345
|
+
* 캐시 장비 명
|
|
1346
|
+
*/
|
|
1347
|
+
cashItemName;
|
|
1348
|
+
/**
|
|
1349
|
+
* 캐시 장비 아이콘
|
|
1350
|
+
*/
|
|
1351
|
+
cashItemIcon;
|
|
1352
|
+
/**
|
|
1353
|
+
* 캐시 장비 설명
|
|
1354
|
+
*/
|
|
1355
|
+
cashItemDescription;
|
|
1356
|
+
/**
|
|
1357
|
+
* 캐시 장비 옵션
|
|
1358
|
+
*/
|
|
1359
|
+
cashItemOption;
|
|
1360
|
+
/**
|
|
1361
|
+
* 캐시 장비 유효 기간 (KST)
|
|
1362
|
+
*/
|
|
1363
|
+
dateExpire;
|
|
1364
|
+
/**
|
|
1365
|
+
* 캐시 장비 옵션 유효 기간 (KST, 시간 단위 데이터로 분은 일괄 0으로 표기)
|
|
1366
|
+
*/
|
|
1367
|
+
dateOptionExpire;
|
|
1368
|
+
/**
|
|
1369
|
+
* 캐시 장비 라벨 정보
|
|
1370
|
+
*/
|
|
1371
|
+
cashItemLabel;
|
|
1372
|
+
/**
|
|
1373
|
+
* 캐시 장비 컬러링프리즘 정보
|
|
1374
|
+
*/
|
|
1375
|
+
cashItemColoringPrism;
|
|
1376
|
+
/**
|
|
1377
|
+
* 다른 프리셋에서 장비 추가 장착 없이 1번 프리셋의 장비 공유를 비활성화 했는지 여부
|
|
1378
|
+
*/
|
|
1379
|
+
basePresetItemDisableFlag;
|
|
1380
|
+
constructor(obj) {
|
|
1381
|
+
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;
|
|
1382
|
+
this.cashItemEquipmentPart = cash_item_equipment_part;
|
|
1383
|
+
this.cashItemEquipmentSlot = cash_item_equipment_slot;
|
|
1384
|
+
this.cashItemName = cash_item_name;
|
|
1385
|
+
this.cashItemIcon = cash_item_icon;
|
|
1386
|
+
this.cashItemDescription = cash_item_description;
|
|
1387
|
+
this.cashItemOption = cash_item_option.map(option => new CharacterCashItemEquipmentOptionDto(option));
|
|
1388
|
+
this.dateExpire = date_expire;
|
|
1389
|
+
this.dateOptionExpire = date_option_expire;
|
|
1390
|
+
this.cashItemLabel = cash_item_label;
|
|
1391
|
+
this.cashItemColoringPrism = new CharacterCashItemEquipmentColoringPrismDto(cash_item_coloring_prism);
|
|
1392
|
+
this.basePresetItemDisableFlag = base_preset_item_disable_flag;
|
|
1393
|
+
}
|
|
1394
|
+
}
|
|
1395
|
+
|
|
1396
|
+
/**
|
|
1397
|
+
* 캐릭터 캐시 장비 아이템 정보
|
|
1398
|
+
*/
|
|
1399
|
+
class CharacterCashItemEquipmentDto {
|
|
1400
|
+
/**
|
|
1401
|
+
* 조회 기준일
|
|
1402
|
+
*/
|
|
1403
|
+
date;
|
|
1404
|
+
/**
|
|
1405
|
+
* 캐릭터 성별
|
|
1406
|
+
*/
|
|
1407
|
+
characterGender;
|
|
1408
|
+
/**
|
|
1409
|
+
* 캐릭터 직업
|
|
1410
|
+
*/
|
|
1411
|
+
characterClass;
|
|
1412
|
+
/**
|
|
1413
|
+
* 적용 중인 캐시 장비 프리셋 번호
|
|
1414
|
+
*/
|
|
1415
|
+
presetNo;
|
|
1416
|
+
/**
|
|
1417
|
+
* 1번 프리셋 장착 캐시 장비 정보
|
|
1418
|
+
*/
|
|
1419
|
+
cashItemEquipmentPreset1;
|
|
1420
|
+
/**
|
|
1421
|
+
* 2번 프리셋 장착 캐시 장비 정보
|
|
1422
|
+
*/
|
|
1423
|
+
cashItemEquipmentPreset2;
|
|
1424
|
+
/**
|
|
1425
|
+
* 3번 프리셋 장착 캐시 장비 정보
|
|
1426
|
+
*/
|
|
1427
|
+
cashItemEquipmentPreset3;
|
|
1428
|
+
/**
|
|
1429
|
+
* 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드의 1번 프리셋 장착 캐시 장비 정보
|
|
1430
|
+
*/
|
|
1431
|
+
additionalCashItemEquipmentPreset1;
|
|
1432
|
+
/**
|
|
1433
|
+
* 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드의 2번 프리셋 장착 캐시 장비 정보
|
|
1434
|
+
*/
|
|
1435
|
+
additionalCashItemEquipmentPreset2;
|
|
1436
|
+
/**
|
|
1437
|
+
* 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드의 3번 프리셋 장착 캐시 장비 정보
|
|
1438
|
+
*/
|
|
1439
|
+
additionalCashItemEquipmentPreset3;
|
|
1440
|
+
constructor(obj) {
|
|
1441
|
+
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;
|
|
1442
|
+
this.date = new Date(date),
|
|
1443
|
+
this.characterGender = character_gender;
|
|
1444
|
+
this.characterClass = character_class;
|
|
1445
|
+
this.presetNo = preset_no;
|
|
1446
|
+
this.cashItemEquipmentPreset1 = cash_item_equipment_preset_1.map(preset => new CharacterCashItemEquipmentPresetDto(preset));
|
|
1447
|
+
this.cashItemEquipmentPreset2 = cash_item_equipment_preset_2.map(preset => new CharacterCashItemEquipmentPresetDto(preset));
|
|
1448
|
+
this.cashItemEquipmentPreset3 = cash_item_equipment_preset_3.map(preset => new CharacterCashItemEquipmentPresetDto(preset));
|
|
1449
|
+
this.additionalCashItemEquipmentPreset1 = additional_cash_item_equipment_preset_1.map(preset => new CharacterCashItemEquipmentPresetDto(preset));
|
|
1450
|
+
this.additionalCashItemEquipmentPreset2 = additional_cash_item_equipment_preset_2.map(preset => new CharacterCashItemEquipmentPresetDto(preset));
|
|
1451
|
+
this.additionalCashItemEquipmentPreset3 = additional_cash_item_equipment_preset_3.map(preset => new CharacterCashItemEquipmentPresetDto(preset));
|
|
1452
|
+
}
|
|
1453
|
+
}
|
|
1454
|
+
|
|
1455
|
+
/**
|
|
1456
|
+
* 캐릭터 심볼 상세 정보
|
|
1457
|
+
*/
|
|
1458
|
+
class CharacterSymbolEquipmentInfoDto {
|
|
1459
|
+
/**
|
|
1460
|
+
* 심볼 명
|
|
1461
|
+
*/
|
|
1462
|
+
symbolName;
|
|
1463
|
+
/**
|
|
1464
|
+
* 심볼 아이콘
|
|
1465
|
+
*/
|
|
1466
|
+
symbolIcon;
|
|
1467
|
+
/**
|
|
1468
|
+
* 심볼 설명
|
|
1469
|
+
*/
|
|
1470
|
+
symbolDescription;
|
|
1471
|
+
/**
|
|
1472
|
+
* 심볼로 인한 증가 수치
|
|
1473
|
+
*/
|
|
1474
|
+
symbolForce;
|
|
1475
|
+
/**
|
|
1476
|
+
* 심볼 레벨
|
|
1477
|
+
*/
|
|
1478
|
+
symbolLevel;
|
|
1479
|
+
/**
|
|
1480
|
+
* 심볼로 증가한 힘
|
|
1481
|
+
*/
|
|
1482
|
+
symbolStr;
|
|
1483
|
+
/**
|
|
1484
|
+
* 심볼로 증가한 민첩
|
|
1485
|
+
*/
|
|
1486
|
+
symbolDex;
|
|
1487
|
+
/**
|
|
1488
|
+
* 심볼로 증가한 지력
|
|
1489
|
+
*/
|
|
1490
|
+
symbolInt;
|
|
1491
|
+
/**
|
|
1492
|
+
* 심볼로 증가한 운
|
|
1493
|
+
*/
|
|
1494
|
+
symbolLuk;
|
|
1495
|
+
/**
|
|
1496
|
+
* 심볼로 증가한 체력
|
|
1497
|
+
*/
|
|
1498
|
+
symbolHp;
|
|
1499
|
+
/**
|
|
1500
|
+
* 현재 보유 성장치
|
|
1501
|
+
*/
|
|
1502
|
+
symbolGrowthCount;
|
|
1503
|
+
/**
|
|
1504
|
+
* 성장 시 필요한 성장치
|
|
1505
|
+
*/
|
|
1506
|
+
symbolRequireGrowthCount;
|
|
1507
|
+
constructor(obj) {
|
|
1508
|
+
const { symbol_name, symbol_icon, symbol_description, symbol_force, symbol_level, symbol_str, symbol_dex, symbol_int, symbol_luk, symbol_hp, symbol_growth_count, symbol_require_growth_count, } = obj;
|
|
1509
|
+
this.symbolName = symbol_name;
|
|
1510
|
+
this.symbolIcon = symbol_icon;
|
|
1511
|
+
this.symbolDescription = symbol_description;
|
|
1512
|
+
this.symbolForce = symbol_force;
|
|
1513
|
+
this.symbolLevel = symbol_level;
|
|
1514
|
+
this.symbolStr = symbol_str;
|
|
1515
|
+
this.symbolDex = symbol_dex;
|
|
1516
|
+
this.symbolInt = symbol_int;
|
|
1517
|
+
this.symbolLuk = symbol_luk;
|
|
1518
|
+
this.symbolHp = symbol_hp;
|
|
1519
|
+
this.symbolGrowthCount = symbol_growth_count;
|
|
1520
|
+
this.symbolRequireGrowthCount = symbol_require_growth_count;
|
|
1521
|
+
}
|
|
1522
|
+
}
|
|
1523
|
+
|
|
1524
|
+
/**
|
|
1525
|
+
* 캐릭터 심볼 정보
|
|
1526
|
+
*/
|
|
1527
|
+
class CharacterSymbolEquipmentDto {
|
|
1528
|
+
/**
|
|
1529
|
+
* 조회 기준일
|
|
1530
|
+
*/
|
|
1531
|
+
date;
|
|
1532
|
+
/**
|
|
1533
|
+
* 캐릭터 직업
|
|
1534
|
+
*/
|
|
1535
|
+
characterClass;
|
|
1536
|
+
/**
|
|
1537
|
+
* 심볼 정보
|
|
1538
|
+
*/
|
|
1539
|
+
symbol;
|
|
1540
|
+
constructor(obj) {
|
|
1541
|
+
const { date, character_class, symbol } = obj;
|
|
1542
|
+
this.date = new Date(date);
|
|
1543
|
+
this.characterClass = character_class;
|
|
1544
|
+
this.symbol = symbol.map(s => new CharacterSymbolEquipmentInfoDto(s));
|
|
1545
|
+
}
|
|
1546
|
+
}
|
|
1547
|
+
|
|
1548
|
+
/**
|
|
1549
|
+
* 캐릭터 세트 효과 옵션 정보
|
|
1550
|
+
*/
|
|
1551
|
+
class CharacterSetEffectOptionInfoDto {
|
|
1552
|
+
/**
|
|
1553
|
+
* 세트 효과 레벨 (장비 수)
|
|
1554
|
+
*/
|
|
1555
|
+
setCount;
|
|
1556
|
+
/**
|
|
1557
|
+
* 적용 중인 세트 효과
|
|
1558
|
+
*/
|
|
1559
|
+
setOption;
|
|
1560
|
+
constructor(obj) {
|
|
1561
|
+
const { set_count, set_option } = obj;
|
|
1562
|
+
this.setCount = set_count;
|
|
1563
|
+
this.setOption = set_option;
|
|
1564
|
+
}
|
|
1565
|
+
}
|
|
1566
|
+
|
|
1567
|
+
/**
|
|
1568
|
+
* 캐릭터 세트 효과 정보
|
|
1569
|
+
*/
|
|
1570
|
+
class CharacterSetEffectInfoDto {
|
|
1571
|
+
/**
|
|
1572
|
+
* 세트 효과 명
|
|
1573
|
+
*/
|
|
1574
|
+
setName;
|
|
1575
|
+
/**
|
|
1576
|
+
* 세트 개수 (럭키 아이템 포함)
|
|
1577
|
+
*/
|
|
1578
|
+
totalSetCount;
|
|
1579
|
+
/**
|
|
1580
|
+
* 세트 효과 옵션
|
|
1581
|
+
*/
|
|
1582
|
+
setEffectInfo;
|
|
1583
|
+
constructor(obj) {
|
|
1584
|
+
const { set_name, total_set_count, set_effect_info } = obj;
|
|
1585
|
+
this.setName = set_name;
|
|
1586
|
+
this.totalSetCount = total_set_count;
|
|
1587
|
+
this.setEffectInfo = set_effect_info.map(info => new CharacterSetEffectOptionInfoDto(info));
|
|
1588
|
+
}
|
|
1589
|
+
}
|
|
1590
|
+
|
|
1591
|
+
/**
|
|
1592
|
+
* 캐릭터 세트 효과 정보
|
|
1593
|
+
*/
|
|
1594
|
+
class CharacterSetEffectDto {
|
|
1595
|
+
/**
|
|
1596
|
+
* 조회 기준일
|
|
1597
|
+
*/
|
|
1598
|
+
date;
|
|
1599
|
+
/**
|
|
1600
|
+
* 세트 효과 정보
|
|
1601
|
+
*/
|
|
1602
|
+
setEffect;
|
|
1603
|
+
constructor(obj) {
|
|
1604
|
+
const { date, set_effect } = obj;
|
|
1605
|
+
this.date = new Date(date);
|
|
1606
|
+
this.setEffect = set_effect.map(effect => new CharacterSetEffectInfoDto(effect));
|
|
1607
|
+
}
|
|
1608
|
+
}
|
|
1609
|
+
|
|
1610
|
+
/**
|
|
1611
|
+
* 캐릭터 헤어 정보
|
|
1612
|
+
*/
|
|
1613
|
+
class CharacterBeautyEquipmentHairDto {
|
|
1614
|
+
/**
|
|
1615
|
+
* 헤어 명
|
|
1616
|
+
*/
|
|
1617
|
+
hairName;
|
|
1618
|
+
/**
|
|
1619
|
+
* 헤어 베이스 컬러
|
|
1620
|
+
*/
|
|
1621
|
+
baseColor;
|
|
1622
|
+
/**
|
|
1623
|
+
* 헤어 믹스 컬러
|
|
1624
|
+
*/
|
|
1625
|
+
mixColor;
|
|
1626
|
+
/**
|
|
1627
|
+
* 헤어 믹스 컬러의 염색 비율
|
|
1628
|
+
*/
|
|
1629
|
+
mixRate;
|
|
1630
|
+
constructor(obj) {
|
|
1631
|
+
const { hair_name, base_color, mix_color, mix_rate } = obj;
|
|
1632
|
+
this.hairName = hair_name;
|
|
1633
|
+
this.baseColor = base_color;
|
|
1634
|
+
this.mixColor = mix_color;
|
|
1635
|
+
this.mixRate = mix_rate;
|
|
1636
|
+
}
|
|
1637
|
+
}
|
|
1638
|
+
|
|
1639
|
+
/**
|
|
1640
|
+
* 캐릭터 성형 정보
|
|
1641
|
+
*/
|
|
1642
|
+
class CharacterBeautyEquipmentFaceDto {
|
|
1643
|
+
/**
|
|
1644
|
+
* 성형 명
|
|
1645
|
+
*/
|
|
1646
|
+
faceName;
|
|
1647
|
+
/**
|
|
1648
|
+
* 성형 베이스 컬러
|
|
1649
|
+
*/
|
|
1650
|
+
baseColor;
|
|
1651
|
+
/**
|
|
1652
|
+
* 성형 믹스 컬러
|
|
1653
|
+
*/
|
|
1654
|
+
mixColor;
|
|
1655
|
+
/**
|
|
1656
|
+
* 성형 믹스 컬러의 염색 비율
|
|
1657
|
+
*/
|
|
1658
|
+
mixRate;
|
|
1659
|
+
constructor(obj) {
|
|
1660
|
+
const { face_name, base_color, mix_color, mix_rate } = obj;
|
|
1661
|
+
this.faceName = face_name;
|
|
1662
|
+
this.baseColor = base_color;
|
|
1663
|
+
this.mixColor = mix_color;
|
|
1664
|
+
this.mixRate = mix_rate;
|
|
1665
|
+
}
|
|
1666
|
+
}
|
|
1667
|
+
|
|
1668
|
+
/**
|
|
1669
|
+
* 캐릭터 헤어, 성형, 피부 정보
|
|
1670
|
+
*/
|
|
1671
|
+
class CharacterBeautyEquipmentDto {
|
|
1672
|
+
/**
|
|
1673
|
+
* 조회 기준일
|
|
1674
|
+
*/
|
|
1675
|
+
date;
|
|
1676
|
+
/**
|
|
1677
|
+
* 캐릭터 성별
|
|
1678
|
+
*/
|
|
1679
|
+
characterGender;
|
|
1680
|
+
/**
|
|
1681
|
+
* 캐릭터 직업
|
|
1682
|
+
*/
|
|
1683
|
+
characterClass;
|
|
1684
|
+
/**
|
|
1685
|
+
* 캐릭터 헤어 정보<br>
|
|
1686
|
+
* (제로인 경우 알파, 엔젤릭버스터인 경우 일반 모드)
|
|
1687
|
+
*/
|
|
1688
|
+
characterHair;
|
|
1689
|
+
/**
|
|
1690
|
+
* 캐릭터 성형 정보<br>
|
|
1691
|
+
* (제로인 경우 알파, 엔젤릭버스터인 경우 일반 모드)
|
|
1692
|
+
*/
|
|
1693
|
+
characterFace;
|
|
1694
|
+
/**
|
|
1695
|
+
* 피부 명<br>
|
|
1696
|
+
* (제로인 경우 알파, 엔젤릭버스터인 경우 일반 모드)
|
|
1697
|
+
*/
|
|
1698
|
+
characterSkinName;
|
|
1699
|
+
/**
|
|
1700
|
+
* 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드에 적용 중인 헤어 정보
|
|
1701
|
+
*/
|
|
1702
|
+
additionalCharacterHair;
|
|
1703
|
+
/**
|
|
1704
|
+
* 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드에 적용 중인 성형 정보
|
|
1705
|
+
*/
|
|
1706
|
+
additionalCharacterFace;
|
|
1707
|
+
/**
|
|
1708
|
+
* 제로인 경우 베타, 엔젤릭버스터인 경우 드레스 업 모드에 적용 중인 피부 명
|
|
1709
|
+
*/
|
|
1710
|
+
additionalCharacterSkinName;
|
|
1711
|
+
constructor(obj) {
|
|
1712
|
+
const { date, character_gender, character_class, character_hair, character_face, character_skin_name, additional_character_hair, additional_character_face, additional_character_skin_name, } = obj;
|
|
1713
|
+
this.date = new Date(date);
|
|
1714
|
+
this.characterGender = character_gender;
|
|
1715
|
+
this.characterClass = character_class;
|
|
1716
|
+
this.characterHair = new CharacterBeautyEquipmentHairDto(character_hair);
|
|
1717
|
+
this.characterFace = new CharacterBeautyEquipmentFaceDto(character_face);
|
|
1718
|
+
this.characterSkinName = character_skin_name;
|
|
1719
|
+
this.additionalCharacterHair = new CharacterBeautyEquipmentHairDto(additional_character_hair);
|
|
1720
|
+
this.additionalCharacterFace = new CharacterBeautyEquipmentFaceDto(additional_character_face);
|
|
1721
|
+
this.additionalCharacterSkinName = additional_character_skin_name;
|
|
1722
|
+
}
|
|
1723
|
+
}
|
|
1724
|
+
|
|
1725
|
+
/**
|
|
1726
|
+
* 캐릭터 안드로이드 성형 정보
|
|
1727
|
+
*/
|
|
1728
|
+
class CharacterAndroidEquipmentFaceDto {
|
|
1729
|
+
/**
|
|
1730
|
+
* 안드로이드 성형 명
|
|
1731
|
+
*/
|
|
1732
|
+
faceName;
|
|
1733
|
+
/**
|
|
1734
|
+
* 안드로이드 성형 베이스 컬러
|
|
1735
|
+
*/
|
|
1736
|
+
baseColor;
|
|
1737
|
+
/**
|
|
1738
|
+
* 안드로이드 성형 믹스 컬러
|
|
1739
|
+
*/
|
|
1740
|
+
mixColor;
|
|
1741
|
+
/**
|
|
1742
|
+
* 안드로이드 성형 믹스 컬러의 염색 비율
|
|
1743
|
+
*/
|
|
1744
|
+
mixRate;
|
|
1745
|
+
constructor(obj) {
|
|
1746
|
+
const { face_name, base_color, mix_color, mix_rate } = obj;
|
|
1747
|
+
this.faceName = face_name;
|
|
1748
|
+
this.baseColor = base_color;
|
|
1749
|
+
this.mixColor = mix_color;
|
|
1750
|
+
this.mixRate = mix_rate;
|
|
1751
|
+
}
|
|
1752
|
+
}
|
|
1753
|
+
|
|
1754
|
+
/**
|
|
1755
|
+
* 캐릭터 안드로이드 헤어 정보
|
|
1756
|
+
*/
|
|
1757
|
+
class CharacterAndroidEquipmentHairDto {
|
|
1758
|
+
/**
|
|
1759
|
+
* 안드로이드 헤어 명
|
|
1760
|
+
*/
|
|
1761
|
+
hairName;
|
|
1762
|
+
/**
|
|
1763
|
+
* 안드로이드 헤어 베이스 컬러
|
|
1764
|
+
*/
|
|
1765
|
+
baseColor;
|
|
1766
|
+
/**
|
|
1767
|
+
* 안드로이드 헤어 믹스 컬러
|
|
1768
|
+
*/
|
|
1769
|
+
mixColor;
|
|
1770
|
+
/**
|
|
1771
|
+
* 안드로이드 헤어 믹스 컬러의 염색 비율
|
|
1772
|
+
*/
|
|
1773
|
+
mixRate;
|
|
1774
|
+
constructor(obj) {
|
|
1775
|
+
const { hair_name, base_color, mix_color, mix_rate } = obj;
|
|
1776
|
+
this.hairName = hair_name;
|
|
1777
|
+
this.baseColor = base_color;
|
|
1778
|
+
this.mixColor = mix_color;
|
|
1779
|
+
this.mixRate = mix_rate;
|
|
1780
|
+
}
|
|
1781
|
+
}
|
|
1782
|
+
|
|
1783
|
+
/**
|
|
1784
|
+
* 캐릭터 안드로이드 캐시 아이템 옵션 정보
|
|
1785
|
+
*/
|
|
1786
|
+
class CharacterAndroidCashItemEquipmentOptionDto {
|
|
1787
|
+
/**
|
|
1788
|
+
* 옵션 타입
|
|
1789
|
+
*/
|
|
1790
|
+
optionType;
|
|
1791
|
+
/**
|
|
1792
|
+
* 옵션 값
|
|
1793
|
+
*/
|
|
1794
|
+
optionValue;
|
|
1795
|
+
constructor(obj) {
|
|
1796
|
+
const { option_type, option_value } = obj;
|
|
1797
|
+
this.optionType = option_type;
|
|
1798
|
+
this.optionValue = option_value;
|
|
1799
|
+
}
|
|
1800
|
+
}
|
|
1801
|
+
|
|
1802
|
+
/**
|
|
1803
|
+
* 캐릭터 안드로이드 캐시 아이템 컬러링프리즘 정보
|
|
1804
|
+
*/
|
|
1805
|
+
class CharacterAndroidCashItemEquipmentColoringPrismDto {
|
|
1806
|
+
/**
|
|
1807
|
+
* 컬러링프리즘 색상 범위
|
|
1808
|
+
*/
|
|
1809
|
+
colorRange;
|
|
1810
|
+
/**
|
|
1811
|
+
* 컬러링프리즘 색조
|
|
1812
|
+
*/
|
|
1813
|
+
hue;
|
|
1814
|
+
/**
|
|
1815
|
+
* 컬러링프리즘 채도
|
|
1816
|
+
*/
|
|
1817
|
+
saturation;
|
|
1818
|
+
/**
|
|
1819
|
+
* 컬러링프리즘 명도
|
|
1820
|
+
*/
|
|
1821
|
+
value;
|
|
1822
|
+
constructor(obj) {
|
|
1823
|
+
const { color_range, hue, saturation, value } = obj;
|
|
1824
|
+
this.colorRange = color_range;
|
|
1825
|
+
this.hue = hue;
|
|
1826
|
+
this.saturation = saturation;
|
|
1827
|
+
this.value = value;
|
|
1828
|
+
}
|
|
1829
|
+
}
|
|
1830
|
+
|
|
1831
|
+
/**
|
|
1832
|
+
* 캐릭터 안드로이드 캐시 아이템 장착 정보
|
|
1833
|
+
*/
|
|
1834
|
+
class CharacterAndroidCashItemEquipmentDto {
|
|
1835
|
+
/**
|
|
1836
|
+
* 안드로이드 캐시 아이템 부위 명
|
|
1837
|
+
*/
|
|
1838
|
+
cashItemEquipmentPart;
|
|
1839
|
+
/**
|
|
1840
|
+
* 안드로이드 캐시 아이템 슬롯 위치
|
|
1841
|
+
*/
|
|
1842
|
+
cashItemEquipmentSlot;
|
|
1843
|
+
/**
|
|
1844
|
+
* 안드로이드 캐시 아이템 명
|
|
1845
|
+
*/
|
|
1846
|
+
cashItemName;
|
|
1847
|
+
/**
|
|
1848
|
+
* 안드로이드 캐시 아이템 아이콘
|
|
1849
|
+
*/
|
|
1850
|
+
cashItemIcon;
|
|
1851
|
+
/**
|
|
1852
|
+
* 안드로이드 캐시 아이템 설명
|
|
1853
|
+
*/
|
|
1854
|
+
cashItemDescription;
|
|
1855
|
+
/**
|
|
1856
|
+
* 안드로이드 캐시 아이템 옵션
|
|
1857
|
+
*/
|
|
1858
|
+
cashItemOption;
|
|
1859
|
+
/**
|
|
1860
|
+
* 안드로이드 캐시 아이템 유효 기간 (KST)
|
|
1861
|
+
*/
|
|
1862
|
+
dateExpire;
|
|
1863
|
+
/**
|
|
1864
|
+
* 안드로이드 캐시 아이템 옵션 유효 기간 (KST, 시간 단위 데이터로 분은 일괄 0으로 표기)
|
|
1865
|
+
*/
|
|
1866
|
+
dateOptionExpire;
|
|
1867
|
+
/**
|
|
1868
|
+
* 안드로이드 캐시 아이템 라벨 정보 (스페셜라벨, 레드라벨, 블랙라벨, 마스터라벨)
|
|
1869
|
+
*/
|
|
1870
|
+
cashItemLabel;
|
|
1871
|
+
/**
|
|
1872
|
+
* 안드로이드 캐시 아이템 컬러링프리즘 정보
|
|
1873
|
+
*/
|
|
1874
|
+
cashItemColoringPrism;
|
|
1875
|
+
constructor(obj) {
|
|
1876
|
+
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, } = obj;
|
|
1877
|
+
this.cashItemEquipmentPart = cash_item_equipment_part;
|
|
1878
|
+
this.cashItemEquipmentSlot = cash_item_equipment_slot;
|
|
1879
|
+
this.cashItemName = cash_item_name;
|
|
1880
|
+
this.cashItemIcon = cash_item_icon;
|
|
1881
|
+
this.cashItemDescription = cash_item_description;
|
|
1882
|
+
this.cashItemOption = cash_item_option.map(option => new CharacterAndroidCashItemEquipmentOptionDto(option));
|
|
1883
|
+
this.dateExpire = new Date(date_expire);
|
|
1884
|
+
this.dateOptionExpire = new Date(date_option_expire);
|
|
1885
|
+
this.cashItemLabel = cash_item_label;
|
|
1886
|
+
this.cashItemColoringPrism = new CharacterAndroidCashItemEquipmentColoringPrismDto(cash_item_coloring_prism);
|
|
1887
|
+
}
|
|
1888
|
+
}
|
|
1889
|
+
|
|
1890
|
+
/**
|
|
1891
|
+
* 캐릭터 안드로이드 장비 정보
|
|
1892
|
+
*/
|
|
1893
|
+
class CharacterAndroidEquipmentDto {
|
|
1894
|
+
/**
|
|
1895
|
+
* 조회 기준일
|
|
1896
|
+
*/
|
|
1897
|
+
date;
|
|
1898
|
+
/**
|
|
1899
|
+
* 안드로이드 명
|
|
1900
|
+
*/
|
|
1901
|
+
androidName;
|
|
1902
|
+
/**
|
|
1903
|
+
* 안드로이드 닉네임
|
|
1904
|
+
*/
|
|
1905
|
+
androidNickname;
|
|
1906
|
+
/**
|
|
1907
|
+
* 안드로이드 아이콘
|
|
1908
|
+
*/
|
|
1909
|
+
androidIcon;
|
|
1910
|
+
/**
|
|
1911
|
+
* 안드로이드 아이템 설명
|
|
1912
|
+
*/
|
|
1913
|
+
androidDescription;
|
|
1914
|
+
/**
|
|
1915
|
+
* 안드로이드 헤어 정보
|
|
1916
|
+
*/
|
|
1917
|
+
androidHair;
|
|
1918
|
+
/**
|
|
1919
|
+
* 안드로이드 성형 정보
|
|
1920
|
+
*/
|
|
1921
|
+
androidFace;
|
|
1922
|
+
/**
|
|
1923
|
+
* 안드로이드 피부 명
|
|
1924
|
+
*/
|
|
1925
|
+
androidSkinName;
|
|
1926
|
+
/**
|
|
1927
|
+
* 안드로이드 캐시 아이템 장착 정보
|
|
1928
|
+
*/
|
|
1929
|
+
androidCashItemEquipment;
|
|
1930
|
+
/**
|
|
1931
|
+
* 안드로이드 이어센서 클립 적용 여부
|
|
1932
|
+
*/
|
|
1933
|
+
androidEarSensorClipFlag;
|
|
1934
|
+
constructor(obj) {
|
|
1935
|
+
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;
|
|
1936
|
+
this.date = new Date(date);
|
|
1937
|
+
this.androidName = android_name;
|
|
1938
|
+
this.androidNickname = android_nickname;
|
|
1939
|
+
this.androidIcon = android_icon;
|
|
1940
|
+
this.androidDescription = android_description;
|
|
1941
|
+
this.androidHair = new CharacterAndroidEquipmentHairDto(android_hair);
|
|
1942
|
+
this.androidFace = new CharacterAndroidEquipmentFaceDto(android_face);
|
|
1943
|
+
this.androidSkinName = android_skin_name;
|
|
1944
|
+
this.androidCashItemEquipment = android_cash_item_equipment.map(equipment => new CharacterAndroidCashItemEquipmentDto(equipment));
|
|
1945
|
+
this.androidEarSensorClipFlag = android_ear_sensor_clip_flag;
|
|
1946
|
+
}
|
|
1947
|
+
}
|
|
1948
|
+
|
|
1949
|
+
/**
|
|
1950
|
+
* 캐릭터 펫 장비 아이템 옵션 정보
|
|
1951
|
+
*/
|
|
1952
|
+
class CharacterPetEquipmentItemOptionDto {
|
|
1953
|
+
/**
|
|
1954
|
+
* 옵션 정보
|
|
1955
|
+
*/
|
|
1956
|
+
optionType;
|
|
1957
|
+
/**
|
|
1958
|
+
* 옵션 값
|
|
1959
|
+
*/
|
|
1960
|
+
optionValue;
|
|
1961
|
+
constructor(obj) {
|
|
1962
|
+
const { option_type, option_value } = obj;
|
|
1963
|
+
this.optionType = option_type;
|
|
1964
|
+
this.optionValue = option_value;
|
|
1965
|
+
}
|
|
1966
|
+
}
|
|
1967
|
+
|
|
1968
|
+
/**
|
|
1969
|
+
* 캐릭터 펫 장비 아이템 정보
|
|
1970
|
+
*/
|
|
1971
|
+
class CharacterPetEquipmentItemDto {
|
|
1972
|
+
/**
|
|
1973
|
+
* 아이템 명
|
|
1974
|
+
*/
|
|
1975
|
+
itemName;
|
|
1976
|
+
/**
|
|
1977
|
+
* 아이템 아이콘
|
|
1978
|
+
*/
|
|
1979
|
+
itemIcon;
|
|
1980
|
+
/**
|
|
1981
|
+
* 아이템 설명
|
|
1982
|
+
*/
|
|
1983
|
+
itemDescription;
|
|
1984
|
+
/**
|
|
1985
|
+
* 아이템 표기상 옵션
|
|
1986
|
+
*/
|
|
1987
|
+
itemOption;
|
|
1988
|
+
/**
|
|
1989
|
+
* 업그레이드 횟수
|
|
1990
|
+
*/
|
|
1991
|
+
scrollUpgrade;
|
|
1992
|
+
/**
|
|
1993
|
+
* 업그레이드 가능 횟수
|
|
1994
|
+
*/
|
|
1995
|
+
scrollUpgradeable;
|
|
1996
|
+
constructor(obj) {
|
|
1997
|
+
const { item_name, item_icon, item_description, item_option, scroll_upgrade, scroll_upgradeable, } = obj;
|
|
1998
|
+
this.itemName = item_name;
|
|
1999
|
+
this.itemIcon = item_icon;
|
|
2000
|
+
this.itemDescription = item_description;
|
|
2001
|
+
this.itemOption = item_option.map(option => new CharacterPetEquipmentItemOptionDto(option));
|
|
2002
|
+
this.scrollUpgrade = scroll_upgrade;
|
|
2003
|
+
this.scrollUpgradeable = scroll_upgradeable;
|
|
2004
|
+
}
|
|
2005
|
+
}
|
|
2006
|
+
|
|
2007
|
+
/**
|
|
2008
|
+
* 캐릭터 펫 장비 자동 스킬 정보
|
|
2009
|
+
*/
|
|
2010
|
+
class CharacterPetEquipmentAutoSkillDto {
|
|
2011
|
+
/**
|
|
2012
|
+
* 첫 번째 슬롯에 등록된 자동 스킬
|
|
2013
|
+
*/
|
|
2014
|
+
skill1;
|
|
2015
|
+
/**
|
|
2016
|
+
* 첫 번째 슬롯에 등록된 자동 아이콘
|
|
2017
|
+
*/
|
|
2018
|
+
skill1Icon;
|
|
2019
|
+
/**
|
|
2020
|
+
* 두 번째 슬롯에 등록된 자동 스킬
|
|
2021
|
+
*/
|
|
2022
|
+
skill2;
|
|
2023
|
+
/**
|
|
2024
|
+
* 두 번째 슬롯에 등록된 자동 아이콘
|
|
2025
|
+
*/
|
|
2026
|
+
skill2Icon;
|
|
2027
|
+
constructor(obj) {
|
|
2028
|
+
const { skill_1, skill_1_icon, skill_2, skill_2_icon, } = obj;
|
|
2029
|
+
this.skill1 = skill_1;
|
|
2030
|
+
this.skill1Icon = skill_1_icon;
|
|
2031
|
+
this.skill2 = skill_2;
|
|
2032
|
+
this.skill2Icon = skill_2_icon;
|
|
2033
|
+
}
|
|
2034
|
+
}
|
|
2035
|
+
|
|
2036
|
+
/**
|
|
2037
|
+
* 캐릭터 펫 장비 정보
|
|
2038
|
+
*/
|
|
2039
|
+
class CharacterPetEquipmentDto {
|
|
2040
|
+
/**
|
|
2041
|
+
* 조회 기준일
|
|
2042
|
+
*/
|
|
2043
|
+
date;
|
|
2044
|
+
/**
|
|
2045
|
+
* 펫1 명
|
|
2046
|
+
*/
|
|
2047
|
+
pet1Name;
|
|
2048
|
+
/**
|
|
2049
|
+
* 펫1 닉네임
|
|
2050
|
+
*/
|
|
2051
|
+
pet1Nickname;
|
|
2052
|
+
/**
|
|
2053
|
+
* 펫1 아이콘
|
|
2054
|
+
*/
|
|
2055
|
+
pet1Icon;
|
|
2056
|
+
/**
|
|
2057
|
+
* 펫1 설명
|
|
2058
|
+
*/
|
|
2059
|
+
pet1Description;
|
|
2060
|
+
/**
|
|
2061
|
+
* 펫1 장착 정보
|
|
2062
|
+
*/
|
|
2063
|
+
pet1Equipment;
|
|
2064
|
+
/**
|
|
2065
|
+
* 펫1 펫 버프 자동스킬 정보
|
|
2066
|
+
*/
|
|
2067
|
+
pet1AutoSkill;
|
|
2068
|
+
/**
|
|
2069
|
+
* 펫1 원더 펫 종류
|
|
2070
|
+
*/
|
|
2071
|
+
pet1PetType;
|
|
2072
|
+
/**
|
|
2073
|
+
* 펫1 펫 보유 스킬
|
|
2074
|
+
*/
|
|
2075
|
+
pet1Skill;
|
|
2076
|
+
/**
|
|
2077
|
+
* 펫1 마법의 시간 (KST, 시간 단위 데이터로 분은 일괄 0으로 표기)
|
|
2078
|
+
*/
|
|
2079
|
+
pet1DateExpire;
|
|
2080
|
+
/**
|
|
2081
|
+
* 펫2 명
|
|
2082
|
+
*/
|
|
2083
|
+
pet2Name;
|
|
2084
|
+
/**
|
|
2085
|
+
* 펫2 닉네임
|
|
2086
|
+
*/
|
|
2087
|
+
pet2Nickname;
|
|
2088
|
+
/**
|
|
2089
|
+
* 펫2 아이콘
|
|
2090
|
+
*/
|
|
2091
|
+
pet2Icon;
|
|
2092
|
+
/**
|
|
2093
|
+
* 펫2 설명
|
|
2094
|
+
*/
|
|
2095
|
+
pet2Description;
|
|
2096
|
+
/**
|
|
2097
|
+
* 펫2 장착 정보
|
|
2098
|
+
*/
|
|
2099
|
+
pet2Equipment;
|
|
2100
|
+
/**
|
|
2101
|
+
* 펫2 펫 버프 자동스킬 정보
|
|
2102
|
+
*/
|
|
2103
|
+
pet2AutoSkill;
|
|
2104
|
+
/**
|
|
2105
|
+
* 펫2 원더 펫 종류
|
|
2106
|
+
*/
|
|
2107
|
+
pet2PetType;
|
|
2108
|
+
/**
|
|
2109
|
+
* 펫2 펫 보유 스킬
|
|
2110
|
+
*/
|
|
2111
|
+
pet2Skill;
|
|
2112
|
+
/*
|
|
2113
|
+
* 펫2 마법의 시간 (KST, 시간 단위 데이터로 분은 일괄 0으로 표기)
|
|
2114
|
+
*/
|
|
2115
|
+
pet2DateExpire;
|
|
2116
|
+
/**
|
|
2117
|
+
* 펫3 명
|
|
2118
|
+
*/
|
|
2119
|
+
pet3Name;
|
|
2120
|
+
/**
|
|
2121
|
+
* 펫3 닉네임
|
|
2122
|
+
*/
|
|
2123
|
+
pet3Nickname;
|
|
2124
|
+
/**
|
|
2125
|
+
* 펫3 아이콘
|
|
2126
|
+
*/
|
|
2127
|
+
pet3Icon;
|
|
2128
|
+
/**
|
|
2129
|
+
* 펫3 설명
|
|
2130
|
+
*/
|
|
2131
|
+
pet3Description;
|
|
2132
|
+
/**
|
|
2133
|
+
* 펫3 장착 정보
|
|
2134
|
+
*/
|
|
2135
|
+
pet3Equipment;
|
|
2136
|
+
/**
|
|
2137
|
+
* 펫3 펫 버프 자동스킬 정보
|
|
2138
|
+
*/
|
|
2139
|
+
pet3AutoSkill;
|
|
2140
|
+
/**
|
|
2141
|
+
* 펫3 원더 펫 종류
|
|
2142
|
+
*/
|
|
2143
|
+
pet3PetType;
|
|
2144
|
+
/**
|
|
2145
|
+
* 펫3 펫 보유 스킬
|
|
2146
|
+
*/
|
|
2147
|
+
pet3Skill;
|
|
2148
|
+
/*
|
|
2149
|
+
* 펫3 마법의 시간 (KST, 시간 단위 데이터로 분은 일괄 0으로 표기)
|
|
2150
|
+
*/
|
|
2151
|
+
pet3DateExpire;
|
|
2152
|
+
constructor(obj) {
|
|
2153
|
+
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;
|
|
2154
|
+
this.date = new Date(date);
|
|
2155
|
+
this.pet1Name = pet_1_name;
|
|
2156
|
+
this.pet1Nickname = pet_1_nickname;
|
|
2157
|
+
this.pet1Icon = pet_1_icon;
|
|
2158
|
+
this.pet1Description = pet_1_description;
|
|
2159
|
+
this.pet1Equipment = new CharacterPetEquipmentItemDto(pet_1_equipment);
|
|
2160
|
+
this.pet1AutoSkill = new CharacterPetEquipmentAutoSkillDto(pet_1_auto_skill);
|
|
2161
|
+
this.pet1PetType = pet_1_pet_type;
|
|
2162
|
+
this.pet1Skill = pet_1_skill;
|
|
2163
|
+
this.pet1DateExpire = new Date(pet_1_date_expire);
|
|
2164
|
+
this.pet2Name = pet_2_name;
|
|
2165
|
+
this.pet2Nickname = pet_2_nickname;
|
|
2166
|
+
this.pet2Icon = pet_2_icon;
|
|
2167
|
+
this.pet2Description = pet_2_description;
|
|
2168
|
+
this.pet2Equipment = new CharacterPetEquipmentItemDto(pet_2_equipment);
|
|
2169
|
+
this.pet2AutoSkill = new CharacterPetEquipmentAutoSkillDto(pet_2_auto_skill);
|
|
2170
|
+
this.pet2PetType = pet_2_pet_type;
|
|
2171
|
+
this.pet2Skill = pet_2_skill;
|
|
2172
|
+
this.pet2DateExpire = new Date(pet_2_date_expire);
|
|
2173
|
+
this.pet3Name = pet_3_name;
|
|
2174
|
+
this.pet3Nickname = pet_3_nickname;
|
|
2175
|
+
this.pet3Icon = pet_3_icon;
|
|
2176
|
+
this.pet3Description = pet_3_description;
|
|
2177
|
+
this.pet3Equipment = new CharacterPetEquipmentItemDto(pet_3_equipment);
|
|
2178
|
+
this.pet3AutoSkill = new CharacterPetEquipmentAutoSkillDto(pet_3_auto_skill);
|
|
2179
|
+
this.pet3PetType = pet_3_pet_type;
|
|
2180
|
+
this.pet3Skill = pet_3_skill;
|
|
2181
|
+
this.pet3DateExpire = new Date(pet_3_date_expire);
|
|
2182
|
+
}
|
|
2183
|
+
}
|
|
2184
|
+
|
|
2185
|
+
/**
|
|
2186
|
+
* 캐릭터 스킬 상세 정보
|
|
2187
|
+
*/
|
|
2188
|
+
class CharacterSkillInfoDto {
|
|
2189
|
+
/**
|
|
2190
|
+
* 스킬 명
|
|
2191
|
+
*/
|
|
2192
|
+
skillName;
|
|
2193
|
+
/**
|
|
2194
|
+
* 스킬 설명
|
|
2195
|
+
*/
|
|
2196
|
+
skillDescription;
|
|
2197
|
+
/**
|
|
2198
|
+
* 스킬 레벨
|
|
2199
|
+
*/
|
|
2200
|
+
skillLevel;
|
|
2201
|
+
/**
|
|
2202
|
+
* 스킬 레벨 별 효과 설명
|
|
2203
|
+
*/
|
|
2204
|
+
skillEffect;
|
|
2205
|
+
/**
|
|
2206
|
+
* 스킬 아이콘
|
|
2207
|
+
*/
|
|
2208
|
+
skillIcon;
|
|
2209
|
+
constructor(obj) {
|
|
2210
|
+
const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
|
|
2211
|
+
this.skillName = skill_name;
|
|
2212
|
+
this.skillDescription = skill_description;
|
|
2213
|
+
this.skillLevel = skill_level;
|
|
2214
|
+
this.skillEffect = skill_effect;
|
|
2215
|
+
this.skillIcon = skill_icon;
|
|
2216
|
+
}
|
|
2217
|
+
}
|
|
2218
|
+
|
|
2219
|
+
/**
|
|
2220
|
+
* 캐릭터 스킬 정보
|
|
2221
|
+
*/
|
|
2222
|
+
class CharacterSkillDto {
|
|
2223
|
+
/**
|
|
2224
|
+
* 조회 기준일
|
|
2225
|
+
*/
|
|
2226
|
+
date;
|
|
2227
|
+
/**
|
|
2228
|
+
* 캐릭터 직업
|
|
2229
|
+
*/
|
|
2230
|
+
characterClass;
|
|
2231
|
+
/**
|
|
2232
|
+
* 스킬 전직 차수
|
|
2233
|
+
*/
|
|
2234
|
+
characterSkillGrade;
|
|
2235
|
+
/**
|
|
2236
|
+
* 스킬 정보
|
|
2237
|
+
*/
|
|
2238
|
+
characterSkill;
|
|
2239
|
+
constructor(obj) {
|
|
2240
|
+
const { date, character_class, character_skill_grade, character_skill, } = obj;
|
|
2241
|
+
this.date = new Date(date);
|
|
2242
|
+
this.characterClass = character_class;
|
|
2243
|
+
this.characterSkillGrade = character_skill_grade;
|
|
2244
|
+
this.characterSkill = character_skill.map(skill => new CharacterSkillInfoDto(skill));
|
|
2245
|
+
}
|
|
2246
|
+
}
|
|
2247
|
+
|
|
2248
|
+
/**
|
|
2249
|
+
* 캐릭터 링크 스킬 정보
|
|
2250
|
+
*/
|
|
2251
|
+
class CharacterLinkSkillInfoDto {
|
|
2252
|
+
/**
|
|
2253
|
+
* 스킬 명
|
|
2254
|
+
*/
|
|
2255
|
+
skillName;
|
|
2256
|
+
/**
|
|
2257
|
+
* 스킬 설명
|
|
2258
|
+
*/
|
|
2259
|
+
skillDescription;
|
|
2260
|
+
/**
|
|
2261
|
+
* 스킬 레벨
|
|
2262
|
+
*/
|
|
2263
|
+
skillLevel;
|
|
2264
|
+
/**
|
|
2265
|
+
* 스킬 효과
|
|
2266
|
+
*/
|
|
2267
|
+
skillEffect;
|
|
2268
|
+
/**
|
|
2269
|
+
* 스킬 아이콘
|
|
2270
|
+
*/
|
|
2271
|
+
skillIcon;
|
|
2272
|
+
constructor(obj) {
|
|
2273
|
+
const { skill_name, skill_description, skill_level, skill_effect, skill_icon, } = obj;
|
|
2274
|
+
this.skillName = skill_name;
|
|
2275
|
+
this.skillDescription = skill_description;
|
|
2276
|
+
this.skillLevel = skill_level;
|
|
2277
|
+
this.skillEffect = skill_effect;
|
|
2278
|
+
this.skillIcon = skill_icon;
|
|
2279
|
+
}
|
|
2280
|
+
}
|
|
2281
|
+
|
|
2282
|
+
/**
|
|
2283
|
+
* 캐릭터 링크 스킬 정보
|
|
2284
|
+
*/
|
|
2285
|
+
class CharacterLinkSkillDto {
|
|
2286
|
+
/**
|
|
2287
|
+
* 조회 기준일
|
|
2288
|
+
*/
|
|
2289
|
+
date;
|
|
2290
|
+
/**
|
|
2291
|
+
* 캐릭터 직업
|
|
2292
|
+
*/
|
|
2293
|
+
characterClass;
|
|
2294
|
+
/**
|
|
2295
|
+
* 링크 스킬 정보
|
|
2296
|
+
*/
|
|
2297
|
+
characterLinkSkill;
|
|
2298
|
+
/**
|
|
2299
|
+
* 내 링크 스킬 정보
|
|
2300
|
+
*/
|
|
2301
|
+
characterOwnedLinkSkill;
|
|
2302
|
+
constructor(obj) {
|
|
2303
|
+
const { date, character_class, character_link_skill, character_owned_link_skill, } = obj;
|
|
2304
|
+
this.date = new Date(date);
|
|
2305
|
+
this.characterClass = character_class;
|
|
2306
|
+
this.characterLinkSkill = new CharacterLinkSkillInfoDto(character_link_skill);
|
|
2307
|
+
this.characterOwnedLinkSkill = new CharacterLinkSkillInfoDto(character_owned_link_skill);
|
|
2308
|
+
}
|
|
2309
|
+
}
|
|
2310
|
+
|
|
2311
|
+
/**
|
|
2312
|
+
* 캐릭터 V코어 정보
|
|
2313
|
+
*/
|
|
2314
|
+
class CharacterVMatrixCodeEquipmentDto {
|
|
2315
|
+
/**
|
|
2316
|
+
* 슬롯 인덱스
|
|
2317
|
+
*/
|
|
2318
|
+
slotId;
|
|
2319
|
+
/**
|
|
2320
|
+
* 슬롯 레벨
|
|
2321
|
+
*/
|
|
2322
|
+
slotLevel;
|
|
2323
|
+
/**
|
|
2324
|
+
* 코어 명
|
|
2325
|
+
*/
|
|
2326
|
+
vCoreName;
|
|
2327
|
+
/**
|
|
2328
|
+
* 코어 타입
|
|
2329
|
+
*/
|
|
2330
|
+
vCoreType;
|
|
2331
|
+
/**
|
|
2332
|
+
* 코어 레벨
|
|
2333
|
+
*/
|
|
2334
|
+
vCoreLevel;
|
|
2335
|
+
/**
|
|
2336
|
+
* 코어에 해당하는 스킬 명
|
|
2337
|
+
*/
|
|
2338
|
+
vCoreSkill1;
|
|
2339
|
+
/**
|
|
2340
|
+
* (강화 코어인 경우) 코어에 해당하는 두 번째 스킬 명
|
|
2341
|
+
*/
|
|
2342
|
+
vCoreSkill2;
|
|
2343
|
+
/**
|
|
2344
|
+
* (강화 코어인 경우) 코어에 해당하는 세 번째 스킬 명
|
|
2345
|
+
*/
|
|
2346
|
+
vCoreSkill3;
|
|
2347
|
+
constructor(obj) {
|
|
2348
|
+
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;
|
|
2349
|
+
this.slotId = slot_id;
|
|
2350
|
+
this.slotLevel = slot_level;
|
|
2351
|
+
this.vCoreName = v_core_name;
|
|
2352
|
+
this.vCoreType = v_core_type;
|
|
2353
|
+
this.vCoreLevel = v_core_level;
|
|
2354
|
+
this.vCoreSkill1 = v_core_skill_1;
|
|
2355
|
+
this.vCoreSkill2 = v_core_skill_2;
|
|
2356
|
+
this.vCoreSkill3 = v_core_skill_3;
|
|
2357
|
+
}
|
|
2358
|
+
}
|
|
2359
|
+
|
|
2360
|
+
/**
|
|
2361
|
+
* 캐릭터 V매트릭스 정보
|
|
2362
|
+
*/
|
|
2363
|
+
class CharacterVMatrixDto {
|
|
2364
|
+
/**
|
|
2365
|
+
* 조회 기준일
|
|
2366
|
+
*/
|
|
2367
|
+
date;
|
|
2368
|
+
/**
|
|
2369
|
+
* 캐릭터 직업
|
|
2370
|
+
*/
|
|
2371
|
+
characterClass;
|
|
2372
|
+
/**
|
|
2373
|
+
* V코어 정보
|
|
2374
|
+
*/
|
|
2375
|
+
characterVCoreEquipment;
|
|
2376
|
+
/**
|
|
2377
|
+
* 캐릭터 잔여 매트릭스 강화 포인트
|
|
2378
|
+
*/
|
|
2379
|
+
characterVMatrixRemainSlotUpgradePoint;
|
|
2380
|
+
constructor(obj) {
|
|
2381
|
+
const { date, character_class, character_v_core_equipment, character_v_matrix_remain_slot_upgrade_point, } = obj;
|
|
2382
|
+
this.date = new Date(date);
|
|
2383
|
+
this.characterClass = character_class;
|
|
2384
|
+
this.characterVCoreEquipment = character_v_core_equipment.map(equipment => new CharacterVMatrixCodeEquipmentDto(equipment));
|
|
2385
|
+
this.characterVMatrixRemainSlotUpgradePoint = character_v_matrix_remain_slot_upgrade_point;
|
|
2386
|
+
}
|
|
2387
|
+
}
|
|
2388
|
+
|
|
2389
|
+
/**
|
|
2390
|
+
* 연결된 HEXA 스킬 정보
|
|
2391
|
+
*/
|
|
2392
|
+
class CharacterHexaMatrixEquipmentLinkedSkillDto {
|
|
2393
|
+
/**
|
|
2394
|
+
* HEXA 스킬 명
|
|
2395
|
+
*/
|
|
2396
|
+
hexaSkillId;
|
|
2397
|
+
constructor(obj) {
|
|
2398
|
+
const { hexa_skill_id } = obj;
|
|
2399
|
+
this.hexaSkillId = hexa_skill_id;
|
|
2400
|
+
}
|
|
2401
|
+
}
|
|
2402
|
+
|
|
2403
|
+
/**
|
|
2404
|
+
* 캐릭터 HEXA 코어 정보
|
|
2405
|
+
*/
|
|
2406
|
+
class CharacterHexaMatrixEquipmentDto {
|
|
2407
|
+
/**
|
|
2408
|
+
* 코어 명
|
|
2409
|
+
*/
|
|
2410
|
+
hexaCoreName;
|
|
2411
|
+
/**
|
|
2412
|
+
* 코어 레벨
|
|
2413
|
+
*/
|
|
2414
|
+
hexaCoreLevel;
|
|
2415
|
+
/**
|
|
2416
|
+
* 코어 타입
|
|
2417
|
+
*/
|
|
2418
|
+
hexaCoreType;
|
|
2419
|
+
/**
|
|
2420
|
+
* 연결된 스킬 목록
|
|
2421
|
+
*/
|
|
2422
|
+
linkedSkill;
|
|
2423
|
+
constructor(obj) {
|
|
2424
|
+
const { hexa_core_name, hexa_core_level, hexa_core_type, linked_skill, } = obj;
|
|
2425
|
+
this.hexaCoreName = hexa_core_name;
|
|
2426
|
+
this.hexaCoreLevel = hexa_core_level;
|
|
2427
|
+
this.hexaCoreType = hexa_core_type;
|
|
2428
|
+
this.linkedSkill = linked_skill.map(skill => new CharacterHexaMatrixEquipmentLinkedSkillDto(skill));
|
|
2429
|
+
}
|
|
2430
|
+
}
|
|
2431
|
+
|
|
2432
|
+
/**
|
|
2433
|
+
* 캐릭터 HEXA 코어 정보
|
|
2434
|
+
*/
|
|
2435
|
+
class CharacterHexaMatrixDto {
|
|
2436
|
+
/**
|
|
2437
|
+
* 조회 기준일
|
|
2438
|
+
*/
|
|
2439
|
+
date;
|
|
2440
|
+
/**
|
|
2441
|
+
* HEXA 코어 정보
|
|
2442
|
+
*/
|
|
2443
|
+
characterHexaCoreEquipment;
|
|
2444
|
+
constructor(obj) {
|
|
2445
|
+
const { date, character_hexa_core_equipment } = obj;
|
|
2446
|
+
this.date = new Date(date);
|
|
2447
|
+
this.characterHexaCoreEquipment = character_hexa_core_equipment.map(equipment => new CharacterHexaMatrixEquipmentDto(equipment));
|
|
2448
|
+
}
|
|
2449
|
+
}
|
|
2450
|
+
|
|
2451
|
+
/**
|
|
2452
|
+
* 캐릭터 도장 정보
|
|
2453
|
+
*/
|
|
2454
|
+
class CharacterDojangDto {
|
|
2455
|
+
/**
|
|
2456
|
+
* 조회 기준일
|
|
2457
|
+
*/
|
|
2458
|
+
date;
|
|
2459
|
+
/**
|
|
2460
|
+
* 캐릭터 직업
|
|
2461
|
+
*/
|
|
2462
|
+
characterClass;
|
|
2463
|
+
/**
|
|
2464
|
+
* 월드 명
|
|
2465
|
+
*/
|
|
2466
|
+
worldName;
|
|
2467
|
+
/**
|
|
2468
|
+
* 무릉도장 최고 기록 층수
|
|
2469
|
+
*/
|
|
2470
|
+
dojangBestFloor;
|
|
2471
|
+
/**
|
|
2472
|
+
* 무릉도장 최고 기록 달성 일 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
|
|
2473
|
+
*/
|
|
2474
|
+
dateDojangRecord;
|
|
2475
|
+
/**
|
|
2476
|
+
* 무릉도장 최고 층수 클리어에 걸린 시간 (초)
|
|
2477
|
+
*/
|
|
2478
|
+
dojangBestTime;
|
|
2479
|
+
constructor(obj) {
|
|
2480
|
+
const { date, character_class, world_name, dojang_best_floor, date_dojang_record, dojang_best_time, } = obj;
|
|
2481
|
+
this.date = new Date(date);
|
|
2482
|
+
this.characterClass = character_class;
|
|
2483
|
+
this.worldName = world_name;
|
|
2484
|
+
this.dojangBestFloor = dojang_best_floor;
|
|
2485
|
+
this.dateDojangRecord = new Date(date_dojang_record);
|
|
2486
|
+
this.dojangBestTime = dojang_best_time;
|
|
2487
|
+
}
|
|
2488
|
+
}
|
|
2489
|
+
|
|
2490
|
+
/**
|
|
2491
|
+
* 캐릭터 HEXA 스탯 코어 정보
|
|
2492
|
+
*/
|
|
2493
|
+
class CharacterHexaMatrixStatCoreDto {
|
|
2494
|
+
/**
|
|
2495
|
+
* 슬롯 인덱스
|
|
2496
|
+
*/
|
|
2497
|
+
slotId;
|
|
2498
|
+
/**
|
|
2499
|
+
* 메인 스탯 명
|
|
2500
|
+
*/
|
|
2501
|
+
mainStatName;
|
|
2502
|
+
/**
|
|
2503
|
+
* 첫 번째 서브 명
|
|
2504
|
+
*/
|
|
2505
|
+
subStatName1;
|
|
2506
|
+
/**
|
|
2507
|
+
* 두 번째 서브 명
|
|
2508
|
+
*/
|
|
2509
|
+
subStatName2;
|
|
2510
|
+
/**
|
|
2511
|
+
* 메인 스탯 레벨
|
|
2512
|
+
*/
|
|
2513
|
+
mainStatLevel;
|
|
2514
|
+
/**
|
|
2515
|
+
* 첫 번째 서브 레벨
|
|
2516
|
+
*/
|
|
2517
|
+
subStatLevel1;
|
|
2518
|
+
/**
|
|
2519
|
+
* 두 번째 서브 레벨
|
|
2520
|
+
*/
|
|
2521
|
+
subStatLevel2;
|
|
2522
|
+
/**
|
|
2523
|
+
* 스탯 코어 등급
|
|
2524
|
+
*/
|
|
2525
|
+
statGrade;
|
|
2526
|
+
constructor(obj) {
|
|
2527
|
+
const { slot_id, main_stat_name, sub_stat_name_1, sub_stat_name_2, main_stat_level, sub_stat_level_1, sub_stat_level_2, stat_grade, } = obj;
|
|
2528
|
+
this.slotId = slot_id;
|
|
2529
|
+
this.mainStatName = main_stat_name;
|
|
2530
|
+
this.subStatName1 = sub_stat_name_1;
|
|
2531
|
+
this.subStatName2 = sub_stat_name_2;
|
|
2532
|
+
this.mainStatLevel = main_stat_level;
|
|
2533
|
+
this.subStatLevel1 = sub_stat_level_1;
|
|
2534
|
+
this.subStatLevel2 = sub_stat_level_2;
|
|
2535
|
+
this.statGrade = stat_grade;
|
|
2536
|
+
}
|
|
2537
|
+
}
|
|
2538
|
+
|
|
2539
|
+
/**
|
|
2540
|
+
* 캐릭터 HEXA 스탯 코어 정보
|
|
2541
|
+
*/
|
|
2542
|
+
class CharacterHexaMatrixStatDto {
|
|
2543
|
+
/**
|
|
2544
|
+
* 조회 기준일
|
|
2545
|
+
*/
|
|
2546
|
+
date;
|
|
2547
|
+
/**
|
|
2548
|
+
* 캐릭터 직업
|
|
2549
|
+
*/
|
|
2550
|
+
characterClass;
|
|
2551
|
+
/**
|
|
2552
|
+
* HEXA 스탯 코어 정보
|
|
2553
|
+
*/
|
|
2554
|
+
characterHexaStatCore;
|
|
2555
|
+
/**
|
|
2556
|
+
* 프리셋 HEXA 스탯 코어 정보
|
|
2557
|
+
*/
|
|
2558
|
+
presetHexaStatCore;
|
|
2559
|
+
constructor(obj) {
|
|
2560
|
+
const { date, character_class, character_hexa_stat_core, preset_hexa_stat_core, } = obj;
|
|
2561
|
+
this.date = new Date(date);
|
|
2562
|
+
this.characterClass = character_class;
|
|
2563
|
+
this.characterHexaStatCore = character_hexa_stat_core.map(core => new CharacterHexaMatrixStatCoreDto(core));
|
|
2564
|
+
this.presetHexaStatCore = preset_hexa_stat_core.map(core => new CharacterHexaMatrixStatCoreDto(core));
|
|
2565
|
+
}
|
|
2566
|
+
}
|
|
2567
|
+
|
|
2568
|
+
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
|
2569
|
+
|
|
2570
|
+
var timezone$1 = {exports: {}};
|
|
2571
|
+
|
|
2572
|
+
(function (module, exports) {
|
|
2573
|
+
!function(t,e){module.exports=e();}(commonjsGlobal,(function(){var t={year:0,month:1,day:2,hour:3,minute:4,second:5},e={};return function(n,i,o){var r,a=function(t,n,i){void 0===i&&(i={});var o=new Date(t),r=function(t,n){void 0===n&&(n={});var i=n.timeZoneName||"short",o=t+"|"+i,r=e[o];return r||(r=new Intl.DateTimeFormat("en-US",{hour12:!1,timeZone:t,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",timeZoneName:i}),e[o]=r),r}(n,i);return r.formatToParts(o)},u=function(e,n){for(var i=a(e,n),r=[],u=0;u<i.length;u+=1){var f=i[u],s=f.type,m=f.value,c=t[s];c>=0&&(r[c]=parseInt(m,10));}var d=r[3],l=24===d?0:d,h=r[0]+"-"+r[1]+"-"+r[2]+" "+l+":"+r[4]+":"+r[5]+":000",v=+e;return (o.utc(h).valueOf()-(v-=v%1e3))/6e4},f=i.prototype;f.tz=function(t,e){void 0===t&&(t=r);var n=this.utcOffset(),i=this.toDate(),a=i.toLocaleString("en-US",{timeZone:t}),u=Math.round((i-new Date(a))/1e3/60),f=o(a,{locale:this.$L}).$set("millisecond",this.$ms).utcOffset(15*-Math.round(i.getTimezoneOffset()/15)-u,!0);if(e){var s=f.utcOffset();f=f.add(n-s,"minute");}return f.$x.$timezone=t,f},f.offsetName=function(t){var e=this.$x.$timezone||o.tz.guess(),n=a(this.valueOf(),e,{timeZoneName:t}).find((function(t){return "timezonename"===t.type.toLowerCase()}));return n&&n.value};var s=f.startOf;f.startOf=function(t,e){if(!this.$x||!this.$x.$timezone)return s.call(this,t,e);var n=o(this.format("YYYY-MM-DD HH:mm:ss:SSS"),{locale:this.$L});return s.call(n,t,e).tz(this.$x.$timezone,!0)},o.tz=function(t,e,n){var i=n&&e,a=n||e||r,f=u(+o(),a);if("string"!=typeof t)return o(t).tz(a);var s=function(t,e,n){var i=t-60*e*1e3,o=u(i,n);if(e===o)return [i,e];var r=u(i-=60*(o-e)*1e3,n);return o===r?[i,o]:[t-60*Math.min(o,r)*1e3,Math.max(o,r)]}(o.utc(t,i).valueOf(),f,a),m=s[0],c=s[1],d=o(m).utcOffset(c);return d.$x.$timezone=a,d},o.tz.guess=function(){return Intl.DateTimeFormat().resolvedOptions().timeZone},o.tz.setDefault=function(t){r=t;};}}));
|
|
2574
|
+
}(timezone$1));
|
|
2575
|
+
|
|
2576
|
+
var timezone = timezone$1.exports;
|
|
2577
|
+
|
|
2578
|
+
var utc$1 = {exports: {}};
|
|
2579
|
+
|
|
2580
|
+
(function (module, exports) {
|
|
2581
|
+
!function(t,i){module.exports=i();}(commonjsGlobal,(function(){var t="minute",i=/[+-]\d\d(?::?\d\d)?/g,e=/([+-]|\d\d)/g;return function(s,f,n){var u=f.prototype;n.utc=function(t){var i={date:t,utc:!0,args:arguments};return new f(i)},u.utc=function(i){var e=n(this.toDate(),{locale:this.$L,utc:!0});return i?e.add(this.utcOffset(),t):e},u.local=function(){return n(this.toDate(),{locale:this.$L,utc:!1})};var o=u.parse;u.parse=function(t){t.utc&&(this.$u=!0),this.$utils().u(t.$offset)||(this.$offset=t.$offset),o.call(this,t);};var r=u.init;u.init=function(){if(this.$u){var t=this.$d;this.$y=t.getUTCFullYear(),this.$M=t.getUTCMonth(),this.$D=t.getUTCDate(),this.$W=t.getUTCDay(),this.$H=t.getUTCHours(),this.$m=t.getUTCMinutes(),this.$s=t.getUTCSeconds(),this.$ms=t.getUTCMilliseconds();}else r.call(this);};var a=u.utcOffset;u.utcOffset=function(s,f){var n=this.$utils().u;if(n(s))return this.$u?0:n(this.$offset)?a.call(this):this.$offset;if("string"==typeof s&&(s=function(t){void 0===t&&(t="");var s=t.match(i);if(!s)return null;var f=(""+s[0]).match(e)||["-",0,0],n=f[0],u=60*+f[1]+ +f[2];return 0===u?0:"+"===n?u:-u}(s),null===s))return this;var u=Math.abs(s)<=16?60*s:s,o=this;if(f)return o.$offset=u,o.$u=0===s,o;if(0!==s){var r=this.$u?this.toDate().getTimezoneOffset():-1*this.utcOffset();(o=this.local().add(u+r,t)).$offset=u,o.$x.$localOffset=r;}else o=this.utc();return o};var h=u.format;u.format=function(t){var i=t||(this.$u?"YYYY-MM-DDTHH:mm:ss[Z]":"");return h.call(this,i)},u.valueOf=function(){var t=this.$utils().u(this.$offset)?0:this.$offset+(this.$x.$localOffset||this.$d.getTimezoneOffset());return this.$d.valueOf()-6e4*t},u.isUTC=function(){return !!this.$u},u.toISOString=function(){return this.toDate().toISOString()},u.toString=function(){return this.toDate().toUTCString()};var l=u.toDate;u.toDate=function(t){return "s"===t&&this.$offset?n(this.format("YYYY-MM-DD HH:mm:ss:SSS")).toDate():l.call(this)};var c=u.diff;u.diff=function(t,i,e){if(t&&this.$u===t.$u)return c.call(this,t,i,e);var s=this.local(),f=n(t).local();return c.call(s,f,i,e)};}}));
|
|
2582
|
+
}(utc$1));
|
|
2583
|
+
|
|
2584
|
+
var utc = utc$1.exports;
|
|
2585
|
+
|
|
2586
|
+
/**
|
|
2587
|
+
* 유니온 정보
|
|
2588
|
+
*/
|
|
2589
|
+
class UnionDto {
|
|
2590
|
+
/**
|
|
2591
|
+
* 조회 기준일
|
|
2592
|
+
*/
|
|
2593
|
+
date;
|
|
2594
|
+
/**
|
|
2595
|
+
* 유니온 레벨
|
|
2596
|
+
*/
|
|
2597
|
+
unionLevel;
|
|
2598
|
+
/**
|
|
2599
|
+
* 유니온 등급
|
|
2600
|
+
*/
|
|
2601
|
+
unionGrade;
|
|
2602
|
+
constructor(obj) {
|
|
2603
|
+
const { date, union_level, union_grade, } = obj;
|
|
2604
|
+
this.date = new Date(date);
|
|
2605
|
+
this.unionLevel = union_level;
|
|
2606
|
+
this.unionGrade = union_grade;
|
|
2607
|
+
}
|
|
2608
|
+
}
|
|
2609
|
+
|
|
2610
|
+
/**
|
|
2611
|
+
* 유니온 공격대 배치 정보
|
|
2612
|
+
*/
|
|
2613
|
+
class UnionRaiderInnerStatDto {
|
|
2614
|
+
/**
|
|
2615
|
+
* 공격대 배치 위치 (11시 방향부터 시계 방향 순서대로 0~7)
|
|
2616
|
+
*/
|
|
2617
|
+
statFieldId;
|
|
2618
|
+
/**
|
|
2619
|
+
* 해당 지역 점령 효과
|
|
2620
|
+
*/
|
|
2621
|
+
statFieldEffect;
|
|
2622
|
+
constructor(obj) {
|
|
2623
|
+
const { stat_field_id, stat_field_effect } = obj;
|
|
2624
|
+
this.statFieldId = stat_field_id;
|
|
2625
|
+
this.statFieldEffect = stat_field_effect;
|
|
2626
|
+
}
|
|
2627
|
+
}
|
|
2628
|
+
|
|
2629
|
+
/**
|
|
2630
|
+
* 유니온 블록이 차지하고 있는 영역 좌표들
|
|
2631
|
+
*/
|
|
2632
|
+
class UnionRaiderBlockPositionDto {
|
|
2633
|
+
/**
|
|
2634
|
+
* 블록 X좌표
|
|
2635
|
+
*/
|
|
2636
|
+
x;
|
|
2637
|
+
/**
|
|
2638
|
+
* 블록 Y좌표
|
|
2639
|
+
*/
|
|
2640
|
+
y;
|
|
2641
|
+
constructor(obj) {
|
|
2642
|
+
const { x, y } = obj;
|
|
2643
|
+
this.x = x;
|
|
2644
|
+
this.y = y;
|
|
2645
|
+
}
|
|
2646
|
+
}
|
|
2647
|
+
|
|
2648
|
+
/**
|
|
2649
|
+
* 유니온 블록 기준점 좌표 정보
|
|
2650
|
+
*/
|
|
2651
|
+
class UnionRaiderBlockControlPointDto {
|
|
2652
|
+
/**
|
|
2653
|
+
* 블록 기준점 X좌표
|
|
2654
|
+
*/
|
|
2655
|
+
x;
|
|
2656
|
+
/**
|
|
2657
|
+
* 블록 기준점 Y좌표
|
|
2658
|
+
*/
|
|
2659
|
+
y;
|
|
2660
|
+
constructor(obj) {
|
|
2661
|
+
const { x, y } = obj;
|
|
2662
|
+
this.x = x;
|
|
2663
|
+
this.y = y;
|
|
2664
|
+
}
|
|
2665
|
+
}
|
|
2666
|
+
|
|
2667
|
+
/**
|
|
2668
|
+
* 유니온 블록 정보
|
|
2669
|
+
*/
|
|
2670
|
+
class UnionRaiderBlockDto {
|
|
2671
|
+
/**
|
|
2672
|
+
* 블록 모양 (전사, 마법사, 궁수, 도적, 해적, 메이플m, 하이브리드)
|
|
2673
|
+
*/
|
|
2674
|
+
blockType;
|
|
2675
|
+
/**
|
|
2676
|
+
* 블록 해당 캐릭터 직업
|
|
2677
|
+
*/
|
|
2678
|
+
blockClass;
|
|
2679
|
+
/**
|
|
2680
|
+
* 블록 해당 캐릭터 레벨
|
|
2681
|
+
*/
|
|
2682
|
+
blockLevel;
|
|
2683
|
+
/**
|
|
2684
|
+
* 블록 기준점 좌표
|
|
2685
|
+
*/
|
|
2686
|
+
blockControlPoint;
|
|
2687
|
+
/**
|
|
2688
|
+
* 블록이 차지하고 있는 영역 좌표들 (null:미 배치 시)
|
|
2689
|
+
*/
|
|
2690
|
+
blockPosition;
|
|
2691
|
+
constructor(obj) {
|
|
2692
|
+
const { block_type, block_class, block_level, block_control_point, block_position, } = obj;
|
|
2693
|
+
this.blockType = block_type;
|
|
2694
|
+
this.blockClass = block_class;
|
|
2695
|
+
this.blockLevel = block_level;
|
|
2696
|
+
this.blockControlPoint = new UnionRaiderBlockControlPointDto(block_control_point);
|
|
2697
|
+
this.blockPosition = block_position.map(position => new UnionRaiderBlockPositionDto(position));
|
|
2698
|
+
}
|
|
2699
|
+
}
|
|
2700
|
+
|
|
2701
|
+
/**
|
|
2702
|
+
* 유니온 공격대 정보
|
|
2703
|
+
*/
|
|
2704
|
+
class UnionRaiderDto {
|
|
2705
|
+
date;
|
|
2706
|
+
/**
|
|
2707
|
+
* 유니온 공격대원 효과
|
|
2708
|
+
*/
|
|
2709
|
+
unionRaiderStat;
|
|
2710
|
+
/**
|
|
2711
|
+
* 유니온 공격대 점령 효과
|
|
2712
|
+
*/
|
|
2713
|
+
unionOccupiedStat;
|
|
2714
|
+
/**
|
|
2715
|
+
* 유니온 공격대 배치
|
|
2716
|
+
*/
|
|
2717
|
+
unionInnerStat;
|
|
2718
|
+
/**
|
|
2719
|
+
* 유니온 블록 정보
|
|
2720
|
+
*/
|
|
2721
|
+
unionBlock;
|
|
2722
|
+
constructor(obj) {
|
|
2723
|
+
const { date, union_raider_stat, union_occupied_stat, union_inner_stat, union_block, } = obj;
|
|
2724
|
+
this.date = new Date(date);
|
|
2725
|
+
this.unionRaiderStat = union_raider_stat;
|
|
2726
|
+
this.unionOccupiedStat = union_occupied_stat;
|
|
2727
|
+
this.unionInnerStat = union_inner_stat.map(stat => new UnionRaiderInnerStatDto(stat));
|
|
2728
|
+
this.unionBlock = union_block.map(block => new UnionRaiderBlockDto(block));
|
|
2729
|
+
}
|
|
2730
|
+
}
|
|
2731
|
+
|
|
2732
|
+
/**
|
|
2733
|
+
* 길드 식별자 정보
|
|
2734
|
+
*/
|
|
2735
|
+
class GuildDto {
|
|
2736
|
+
/**
|
|
2737
|
+
* 길드 식별자
|
|
2738
|
+
*/
|
|
2739
|
+
oguildId;
|
|
2740
|
+
constructor(obj) {
|
|
2741
|
+
const { oguild_id } = obj;
|
|
2742
|
+
this.oguildId = oguild_id;
|
|
2743
|
+
}
|
|
2744
|
+
}
|
|
2745
|
+
|
|
2746
|
+
/**
|
|
2747
|
+
* 길드 스킬 정보
|
|
2748
|
+
*/
|
|
2749
|
+
class GuildSkillDto {
|
|
2750
|
+
/**
|
|
2751
|
+
* 스킬 명
|
|
2752
|
+
*/
|
|
2753
|
+
skillName;
|
|
2754
|
+
/**
|
|
2755
|
+
* 스킬 설명
|
|
2756
|
+
*/
|
|
2757
|
+
skillDescription;
|
|
2758
|
+
/**
|
|
2759
|
+
* 스킬 레벨
|
|
2760
|
+
*/
|
|
2761
|
+
skillLevel;
|
|
2762
|
+
/**
|
|
2763
|
+
* 스킬 레벨 별 효과
|
|
2764
|
+
*/
|
|
2765
|
+
skillEffect;
|
|
2766
|
+
/**
|
|
2767
|
+
* 스킬 아이콘
|
|
2768
|
+
*/
|
|
2769
|
+
skillIcon;
|
|
2770
|
+
constructor(obj) {
|
|
2771
|
+
const { skill_name, skill_description, skill_level, skill_effect, skill_icon } = obj;
|
|
2772
|
+
this.skillName = skill_name;
|
|
2773
|
+
this.skillDescription = skill_description;
|
|
2774
|
+
this.skillLevel = skill_level;
|
|
2775
|
+
this.skillEffect = skill_effect;
|
|
2776
|
+
this.skillIcon = skill_icon;
|
|
2777
|
+
}
|
|
2778
|
+
}
|
|
2779
|
+
|
|
2780
|
+
/**
|
|
2781
|
+
* 길드 기본 정보
|
|
2782
|
+
*/
|
|
2783
|
+
class GuildBasicDto {
|
|
2784
|
+
/**
|
|
2785
|
+
* 조회 기준일
|
|
2786
|
+
*/
|
|
2787
|
+
date;
|
|
2788
|
+
/**
|
|
2789
|
+
* 월드 명
|
|
2790
|
+
*/
|
|
2791
|
+
worldName;
|
|
2792
|
+
/**
|
|
2793
|
+
* 길드 명
|
|
2794
|
+
*/
|
|
2795
|
+
guildName;
|
|
2796
|
+
/**
|
|
2797
|
+
* 길드 레벨
|
|
2798
|
+
*/
|
|
2799
|
+
guildLevel;
|
|
2800
|
+
/**
|
|
2801
|
+
* 길드 명성치
|
|
2802
|
+
*/
|
|
2803
|
+
guildFame;
|
|
2804
|
+
/**
|
|
2805
|
+
* 길드 포인트(GP)
|
|
2806
|
+
*/
|
|
2807
|
+
guildPoint;
|
|
2808
|
+
/**
|
|
2809
|
+
* 길드 마스터 캐릭터 명
|
|
2810
|
+
*/
|
|
2811
|
+
guildMasterName;
|
|
2812
|
+
/**
|
|
2813
|
+
* 길드원 수
|
|
2814
|
+
*/
|
|
2815
|
+
guildMemberCount;
|
|
2816
|
+
/**
|
|
2817
|
+
* 길드원 목록
|
|
2818
|
+
*/
|
|
2819
|
+
guildMember;
|
|
2820
|
+
/**
|
|
2821
|
+
* 길드 스킬 목록
|
|
2822
|
+
*/
|
|
2823
|
+
guildSkill;
|
|
2824
|
+
/**
|
|
2825
|
+
* 노블레스 스킬 목록
|
|
2826
|
+
*/
|
|
2827
|
+
guildNoblessSkill;
|
|
2828
|
+
/**
|
|
2829
|
+
* 조합형 길드 마크
|
|
2830
|
+
*/
|
|
2831
|
+
guildMark;
|
|
2832
|
+
/**
|
|
2833
|
+
* 커스텀 길드 마크 (base64 인코딩 형식)
|
|
2834
|
+
*/
|
|
2835
|
+
guildMarkCustom;
|
|
2836
|
+
constructor(obj) {
|
|
2837
|
+
const { date, world_name, guild_name, guild_level, guild_fame, guild_point, guild_master_name, guild_member_count, guild_member, guild_skill, guild_nobless_skill, guild_mark, guild_mark_custom, } = obj;
|
|
2838
|
+
this.date = new Date(date);
|
|
2839
|
+
this.worldName = world_name;
|
|
2840
|
+
this.guildName = guild_name;
|
|
2841
|
+
this.guildLevel = guild_level;
|
|
2842
|
+
this.guildFame = guild_fame;
|
|
2843
|
+
this.guildPoint = guild_point;
|
|
2844
|
+
this.guildMasterName = guild_master_name;
|
|
2845
|
+
this.guildMemberCount = guild_member_count;
|
|
2846
|
+
this.guildMember = guild_member;
|
|
2847
|
+
this.guildSkill = guild_skill.map((skill) => new GuildSkillDto(skill));
|
|
2848
|
+
this.guildNoblessSkill = guild_nobless_skill.map((skill) => new GuildSkillDto(skill));
|
|
2849
|
+
this.guildMark = guild_mark;
|
|
2850
|
+
this.guildMarkCustom = guild_mark_custom;
|
|
2851
|
+
}
|
|
2852
|
+
}
|
|
2853
|
+
|
|
2854
|
+
/**
|
|
2855
|
+
* 종합 랭킹 정보
|
|
2856
|
+
*/
|
|
2857
|
+
class OverallRankingDto {
|
|
2858
|
+
/**
|
|
2859
|
+
* 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
|
|
2860
|
+
*/
|
|
2861
|
+
date;
|
|
2862
|
+
/**
|
|
2863
|
+
* 종합 랭킹 순위
|
|
2864
|
+
*/
|
|
2865
|
+
ranking;
|
|
2866
|
+
/**
|
|
2867
|
+
* 캐릭터 명
|
|
2868
|
+
*/
|
|
2869
|
+
characterName;
|
|
2870
|
+
/**
|
|
2871
|
+
* 월드 명
|
|
2872
|
+
*/
|
|
2873
|
+
worldName;
|
|
2874
|
+
/**
|
|
2875
|
+
* 직업 명
|
|
2876
|
+
*/
|
|
2877
|
+
className;
|
|
2878
|
+
/**
|
|
2879
|
+
* 전직 직업 명
|
|
2880
|
+
*/
|
|
2881
|
+
subClassName;
|
|
2882
|
+
/**
|
|
2883
|
+
* 캐릭터 레벨
|
|
2884
|
+
*/
|
|
2885
|
+
characterLevel;
|
|
2886
|
+
/**
|
|
2887
|
+
* 캐릭터 경험치
|
|
2888
|
+
*/
|
|
2889
|
+
characterExp;
|
|
2890
|
+
/**
|
|
2891
|
+
* 캐릭터 인기도
|
|
2892
|
+
*/
|
|
2893
|
+
characterPopularity;
|
|
2894
|
+
/**
|
|
2895
|
+
* 길드 명
|
|
2896
|
+
*/
|
|
2897
|
+
characterGuildName;
|
|
2898
|
+
constructor(obj) {
|
|
2899
|
+
const { date, ranking, character_name, world_name, class_name, sub_class_name, character_level, character_exp, character_popularity, character_guildname } = obj;
|
|
2900
|
+
this.date = new Date(date);
|
|
2901
|
+
this.ranking = ranking;
|
|
2902
|
+
this.characterName = character_name;
|
|
2903
|
+
this.worldName = world_name;
|
|
2904
|
+
this.className = class_name;
|
|
2905
|
+
this.subClassName = sub_class_name;
|
|
2906
|
+
this.characterLevel = character_level;
|
|
2907
|
+
this.characterExp = character_exp;
|
|
2908
|
+
this.characterPopularity = character_popularity;
|
|
2909
|
+
this.characterGuildName = character_guildname;
|
|
2910
|
+
}
|
|
2911
|
+
}
|
|
2912
|
+
|
|
2913
|
+
/**
|
|
2914
|
+
* 종합 랭킹 응답 정보
|
|
2915
|
+
*/
|
|
2916
|
+
class OverallRankingResponseDto {
|
|
2917
|
+
/**
|
|
2918
|
+
* 종합 랭킹 정보
|
|
2919
|
+
*/
|
|
2920
|
+
ranking;
|
|
2921
|
+
constructor(obj) {
|
|
2922
|
+
const { ranking } = obj;
|
|
2923
|
+
this.ranking = ranking.map(rank => new OverallRankingDto(rank));
|
|
2924
|
+
}
|
|
2925
|
+
}
|
|
2926
|
+
|
|
2927
|
+
/**
|
|
2928
|
+
* 유니온 랭킹 정보
|
|
2929
|
+
*/
|
|
2930
|
+
class UnionRankingDto {
|
|
2931
|
+
/**
|
|
2932
|
+
* 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
|
|
2933
|
+
*/
|
|
2934
|
+
date;
|
|
2935
|
+
/**
|
|
2936
|
+
* 유니온 랭킹 순위
|
|
2937
|
+
*/
|
|
2938
|
+
ranking;
|
|
2939
|
+
/**
|
|
2940
|
+
* 캐릭터 명
|
|
2941
|
+
*/
|
|
2942
|
+
characterName;
|
|
2943
|
+
/**
|
|
2944
|
+
* 월드 명
|
|
2945
|
+
*/
|
|
2946
|
+
worldName;
|
|
2947
|
+
/**
|
|
2948
|
+
* 직업 명
|
|
2949
|
+
*/
|
|
2950
|
+
className;
|
|
2951
|
+
/**
|
|
2952
|
+
* 전직 직업 명
|
|
2953
|
+
*/
|
|
2954
|
+
subClassName;
|
|
2955
|
+
/**
|
|
2956
|
+
* 유니온 레벨
|
|
2957
|
+
*/
|
|
2958
|
+
unionLevel;
|
|
2959
|
+
/**
|
|
2960
|
+
* 유니온 파워
|
|
2961
|
+
*/
|
|
2962
|
+
unionPower;
|
|
2963
|
+
constructor(obj) {
|
|
2964
|
+
const { date, ranking, character_name, world_name, class_name, sub_class_name, union_level, union_power, } = obj;
|
|
2965
|
+
this.date = new Date(date);
|
|
2966
|
+
this.ranking = ranking;
|
|
2967
|
+
this.characterName = character_name;
|
|
2968
|
+
this.worldName = world_name;
|
|
2969
|
+
this.className = class_name;
|
|
2970
|
+
this.subClassName = sub_class_name;
|
|
2971
|
+
this.unionLevel = union_level;
|
|
2972
|
+
this.unionPower = union_power;
|
|
2973
|
+
}
|
|
2974
|
+
}
|
|
2975
|
+
|
|
2976
|
+
/**
|
|
2977
|
+
* 유니온 랭킹 응답 정보
|
|
2978
|
+
*/
|
|
2979
|
+
class UnionRankingResponseDto {
|
|
2980
|
+
/**
|
|
2981
|
+
* 유니온 랭킹 정보
|
|
2982
|
+
*/
|
|
2983
|
+
ranking;
|
|
2984
|
+
constructor(obj) {
|
|
2985
|
+
const { ranking } = obj;
|
|
2986
|
+
this.ranking = ranking.map(rank => new UnionRankingDto(rank));
|
|
2987
|
+
}
|
|
2988
|
+
}
|
|
2989
|
+
|
|
2990
|
+
/**
|
|
2991
|
+
* 길드 랭킹 정보
|
|
2992
|
+
*/
|
|
2993
|
+
class GuildRankingDto {
|
|
2994
|
+
/**
|
|
2995
|
+
* 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
|
|
2996
|
+
*/
|
|
2997
|
+
date;
|
|
2998
|
+
/**
|
|
2999
|
+
* 길드 랭킹 순위
|
|
3000
|
+
*/
|
|
3001
|
+
ranking;
|
|
3002
|
+
/**
|
|
3003
|
+
* 길드 명
|
|
3004
|
+
*/
|
|
3005
|
+
guildName;
|
|
3006
|
+
/**
|
|
3007
|
+
* 월드 명
|
|
3008
|
+
*/
|
|
3009
|
+
worldName;
|
|
3010
|
+
/**
|
|
3011
|
+
* 길드 레벨
|
|
3012
|
+
*/
|
|
3013
|
+
guildLevel;
|
|
3014
|
+
/**
|
|
3015
|
+
* 길드 마스터 캐릭터 명
|
|
3016
|
+
*/
|
|
3017
|
+
guildMasterName;
|
|
3018
|
+
/**
|
|
3019
|
+
* 길드 마크
|
|
3020
|
+
*/
|
|
3021
|
+
guildMark;
|
|
3022
|
+
/**
|
|
3023
|
+
* 길드 포인트
|
|
3024
|
+
*/
|
|
3025
|
+
guildPoint;
|
|
3026
|
+
constructor(obj) {
|
|
3027
|
+
const { date, ranking, guild_name, world_name, guild_level, guild_master_name, guild_mark, guild_point } = obj;
|
|
3028
|
+
this.date = new Date(date);
|
|
3029
|
+
this.ranking = ranking;
|
|
3030
|
+
this.guildName = guild_name;
|
|
3031
|
+
this.worldName = world_name;
|
|
3032
|
+
this.guildLevel = guild_level;
|
|
3033
|
+
this.guildMasterName = guild_master_name;
|
|
3034
|
+
this.guildMark = guild_mark;
|
|
3035
|
+
this.guildPoint = guild_point;
|
|
3036
|
+
}
|
|
3037
|
+
}
|
|
3038
|
+
|
|
3039
|
+
/**
|
|
3040
|
+
* 길드 랭킹 응답 정보
|
|
3041
|
+
*/
|
|
3042
|
+
class GuildRankingResponseDto {
|
|
3043
|
+
/**
|
|
3044
|
+
* 길드 랭킹 정보
|
|
3045
|
+
*/
|
|
3046
|
+
ranking;
|
|
3047
|
+
constructor(obj) {
|
|
3048
|
+
const { ranking } = obj;
|
|
3049
|
+
this.ranking = ranking.map(rank => new GuildRankingDto(rank));
|
|
3050
|
+
}
|
|
3051
|
+
}
|
|
3052
|
+
|
|
3053
|
+
/**
|
|
3054
|
+
* 무릉도장 랭킹 정보
|
|
3055
|
+
*/
|
|
3056
|
+
class DojangRankingDto {
|
|
3057
|
+
/**
|
|
3058
|
+
* 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
|
|
3059
|
+
*/
|
|
3060
|
+
date;
|
|
3061
|
+
/**
|
|
3062
|
+
* 무릉도장 랭킹 순위
|
|
3063
|
+
*/
|
|
3064
|
+
ranking;
|
|
3065
|
+
/**
|
|
3066
|
+
* 캐릭터 명
|
|
3067
|
+
*/
|
|
3068
|
+
characterName;
|
|
3069
|
+
/**
|
|
3070
|
+
* 월드 명
|
|
3071
|
+
*/
|
|
3072
|
+
worldName;
|
|
3073
|
+
/**
|
|
3074
|
+
* 직업 명
|
|
3075
|
+
*/
|
|
3076
|
+
className;
|
|
3077
|
+
/**
|
|
3078
|
+
* 전직 직업 명
|
|
3079
|
+
*/
|
|
3080
|
+
subClassName;
|
|
3081
|
+
/**
|
|
3082
|
+
* 캐릭터 레벨
|
|
3083
|
+
*/
|
|
3084
|
+
characterLevel;
|
|
3085
|
+
/**
|
|
3086
|
+
* 무릉도장 구간
|
|
3087
|
+
*/
|
|
3088
|
+
dojangFloor;
|
|
3089
|
+
/**
|
|
3090
|
+
* 무릉도장 클리어 시간 기록 (초 단위)
|
|
3091
|
+
*/
|
|
3092
|
+
dojangTimeRecord;
|
|
3093
|
+
constructor(obj) {
|
|
3094
|
+
const { date, ranking, character_name, world_name, class_name, sub_class_name, character_level, dojang_floor, dojang_time_record } = obj;
|
|
3095
|
+
this.date = new Date(date);
|
|
3096
|
+
this.ranking = ranking;
|
|
3097
|
+
this.characterName = character_name;
|
|
3098
|
+
this.worldName = world_name;
|
|
3099
|
+
this.className = class_name;
|
|
3100
|
+
this.subClassName = sub_class_name;
|
|
3101
|
+
this.characterLevel = character_level;
|
|
3102
|
+
this.dojangFloor = dojang_floor;
|
|
3103
|
+
this.dojangTimeRecord = dojang_time_record;
|
|
3104
|
+
}
|
|
3105
|
+
}
|
|
3106
|
+
|
|
3107
|
+
/**
|
|
3108
|
+
* 무릉도장 랭킹 응답 정보
|
|
3109
|
+
*/
|
|
3110
|
+
class DojangRankingResponseDto {
|
|
3111
|
+
/**
|
|
3112
|
+
* 길드 랭킹 정보
|
|
3113
|
+
*/
|
|
3114
|
+
ranking;
|
|
3115
|
+
constructor(obj) {
|
|
3116
|
+
const { ranking } = obj;
|
|
3117
|
+
this.ranking = ranking.map(rank => new DojangRankingDto(rank));
|
|
3118
|
+
}
|
|
3119
|
+
}
|
|
3120
|
+
|
|
3121
|
+
/**
|
|
3122
|
+
* 더 시드 랭킹 정보
|
|
3123
|
+
*/
|
|
3124
|
+
class TheSeedRankingDto {
|
|
3125
|
+
/**
|
|
3126
|
+
* 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
|
|
3127
|
+
*/
|
|
3128
|
+
date;
|
|
3129
|
+
/**
|
|
3130
|
+
* 더 시드 랭킹 순위
|
|
3131
|
+
*/
|
|
3132
|
+
ranking;
|
|
3133
|
+
/**
|
|
3134
|
+
* 캐릭터 명
|
|
3135
|
+
*/
|
|
3136
|
+
characterName;
|
|
3137
|
+
/**
|
|
3138
|
+
* 월드 명
|
|
3139
|
+
*/
|
|
3140
|
+
worldName;
|
|
3141
|
+
/**
|
|
3142
|
+
* 직업 명
|
|
3143
|
+
*/
|
|
3144
|
+
className;
|
|
3145
|
+
/**
|
|
3146
|
+
* 전직 직업 명
|
|
3147
|
+
*/
|
|
3148
|
+
subClassName;
|
|
3149
|
+
/**
|
|
3150
|
+
* 캐릭터 레벨
|
|
3151
|
+
*/
|
|
3152
|
+
characterLevel;
|
|
3153
|
+
/**
|
|
3154
|
+
* 더 시드 도달 층
|
|
3155
|
+
*/
|
|
3156
|
+
theSeedFloor;
|
|
3157
|
+
/**
|
|
3158
|
+
* 더 시드 클리어 시간 기록 (초 단위)
|
|
3159
|
+
*/
|
|
3160
|
+
theSeedTimeRecord;
|
|
3161
|
+
constructor(obj) {
|
|
3162
|
+
const { date, ranking, character_name, world_name, class_name, sub_class_name, character_level, theseed_floor, theseed_time_record } = obj;
|
|
3163
|
+
this.date = new Date(date);
|
|
3164
|
+
this.ranking = ranking;
|
|
3165
|
+
this.characterName = character_name;
|
|
3166
|
+
this.worldName = world_name;
|
|
3167
|
+
this.className = class_name;
|
|
3168
|
+
this.subClassName = sub_class_name;
|
|
3169
|
+
this.characterLevel = character_level;
|
|
3170
|
+
this.theSeedFloor = theseed_floor;
|
|
3171
|
+
this.theSeedTimeRecord = theseed_time_record;
|
|
3172
|
+
}
|
|
3173
|
+
}
|
|
3174
|
+
|
|
3175
|
+
/**
|
|
3176
|
+
* 더 시드 랭킹 응답 정보
|
|
3177
|
+
*/
|
|
3178
|
+
class TheSeedRankingResponseDto {
|
|
3179
|
+
/**
|
|
3180
|
+
* 더 시드 랭킹 정보
|
|
3181
|
+
*/
|
|
3182
|
+
ranking;
|
|
3183
|
+
constructor(obj) {
|
|
3184
|
+
const { ranking } = obj;
|
|
3185
|
+
this.ranking = ranking.map(rank => new TheSeedRankingDto(rank));
|
|
3186
|
+
}
|
|
3187
|
+
}
|
|
3188
|
+
|
|
3189
|
+
/**
|
|
3190
|
+
* 업적 랭킹 정보
|
|
3191
|
+
*/
|
|
3192
|
+
class AchievementRankingDto {
|
|
3193
|
+
/**
|
|
3194
|
+
* 랭킹 업데이트 일자 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
|
|
3195
|
+
*/
|
|
3196
|
+
date;
|
|
3197
|
+
/**
|
|
3198
|
+
* 업적 랭킹 순위
|
|
3199
|
+
*/
|
|
3200
|
+
ranking;
|
|
3201
|
+
/**
|
|
3202
|
+
* 캐릭터 명
|
|
3203
|
+
*/
|
|
3204
|
+
characterName;
|
|
3205
|
+
/**
|
|
3206
|
+
* 월드 명
|
|
3207
|
+
*/
|
|
3208
|
+
worldName;
|
|
3209
|
+
/**
|
|
3210
|
+
* 직업 명
|
|
3211
|
+
*/
|
|
3212
|
+
className;
|
|
3213
|
+
/**
|
|
3214
|
+
* 전직 직업 명
|
|
3215
|
+
*/
|
|
3216
|
+
subClassName;
|
|
3217
|
+
/**
|
|
3218
|
+
* 업적 등급
|
|
3219
|
+
*/
|
|
3220
|
+
trophyGrade;
|
|
3221
|
+
/**
|
|
3222
|
+
* 업적 점수
|
|
3223
|
+
*/
|
|
3224
|
+
trophyScore;
|
|
3225
|
+
constructor(obj) {
|
|
3226
|
+
const { date, ranking, character_name, world_name, class_name, sub_class_name, trophy_grade, trophy_score } = obj;
|
|
3227
|
+
this.date = new Date(date);
|
|
3228
|
+
this.ranking = ranking;
|
|
3229
|
+
this.characterName = character_name;
|
|
3230
|
+
this.worldName = world_name;
|
|
3231
|
+
this.className = class_name;
|
|
3232
|
+
this.subClassName = sub_class_name;
|
|
3233
|
+
this.trophyGrade = trophy_grade;
|
|
3234
|
+
this.trophyScore = trophy_score;
|
|
3235
|
+
}
|
|
3236
|
+
}
|
|
3237
|
+
|
|
3238
|
+
/**
|
|
3239
|
+
* 업적 랭킹 응답 정보
|
|
3240
|
+
*/
|
|
3241
|
+
class AchievementRankingResponseDto {
|
|
3242
|
+
/**
|
|
3243
|
+
* 업적 랭킹 정보
|
|
3244
|
+
*/
|
|
3245
|
+
ranking;
|
|
3246
|
+
constructor(obj) {
|
|
3247
|
+
const { ranking } = obj;
|
|
3248
|
+
this.ranking = ranking.map(rank => new AchievementRankingDto(rank));
|
|
3249
|
+
}
|
|
3250
|
+
}
|
|
3251
|
+
|
|
3252
|
+
dayjs__default["default"].extend(timezone);
|
|
3253
|
+
dayjs__default["default"].extend(utc);
|
|
3254
|
+
/**
|
|
3255
|
+
* MapleStory OpenAPI client.<br>
|
|
3256
|
+
* This is an implementation of <a href="https://openapi.nexon.com/game/maplestory">MapleStory API</a>
|
|
3257
|
+
*/
|
|
3258
|
+
class MapleStoryApi {
|
|
3259
|
+
apiKey;
|
|
3260
|
+
static BASE_URL = 'https://open.api.nexon.com/';
|
|
3261
|
+
static kstOffset = 540;
|
|
3262
|
+
timeout;
|
|
3263
|
+
constructor(apiKey) {
|
|
3264
|
+
this.apiKey = apiKey;
|
|
3265
|
+
this.timeout = 5000;
|
|
3266
|
+
}
|
|
3267
|
+
//#region 캐릭터 정보 조회
|
|
3268
|
+
/**
|
|
3269
|
+
* 캐릭터 식별자(ocid)를 조회합니다.
|
|
3270
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3271
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3272
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3273
|
+
*
|
|
3274
|
+
* @param characterName 캐릭터 명
|
|
3275
|
+
*/
|
|
3276
|
+
async getCharacter(characterName) {
|
|
3277
|
+
try {
|
|
3278
|
+
const path = 'maplestory/v1/id';
|
|
3279
|
+
const response = await axios__default["default"].get(path, {
|
|
3280
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3281
|
+
timeout: this.timeout,
|
|
3282
|
+
headers: this.buildHeaders(),
|
|
3283
|
+
params: {
|
|
3284
|
+
character_name: characterName
|
|
3285
|
+
}
|
|
3286
|
+
});
|
|
3287
|
+
return new CharacterDto(response.data);
|
|
3288
|
+
}
|
|
3289
|
+
catch (e) {
|
|
3290
|
+
if (e instanceof axios.AxiosError) {
|
|
3291
|
+
const errorBody = e.response.data;
|
|
3292
|
+
throw new MapleStoryApiError(errorBody);
|
|
3293
|
+
}
|
|
3294
|
+
throw e;
|
|
3295
|
+
}
|
|
3296
|
+
}
|
|
3297
|
+
/**
|
|
3298
|
+
* 기본 정보를 조회합니다.
|
|
3299
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3300
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3301
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3302
|
+
*
|
|
3303
|
+
* @param ocid 캐릭터 식별자
|
|
3304
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3305
|
+
*/
|
|
3306
|
+
async getCharacterBasicInfo(ocid, dateOptions) {
|
|
3307
|
+
const query = {
|
|
3308
|
+
ocid: ocid,
|
|
3309
|
+
date: MapleStoryApi.toDateString({
|
|
3310
|
+
year: 2023,
|
|
3311
|
+
month: 12,
|
|
3312
|
+
day: 21
|
|
3313
|
+
}, dateOptions)
|
|
3314
|
+
};
|
|
3315
|
+
try {
|
|
3316
|
+
const path = 'maplestory/v1/character/basic';
|
|
3317
|
+
const response = await axios__default["default"].get(path, {
|
|
3318
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3319
|
+
timeout: this.timeout,
|
|
3320
|
+
headers: this.buildHeaders(),
|
|
3321
|
+
params: query
|
|
3322
|
+
});
|
|
3323
|
+
return new CharacterBasicDto(response.data);
|
|
3324
|
+
}
|
|
3325
|
+
catch (e) {
|
|
3326
|
+
if (e instanceof axios.AxiosError) {
|
|
3327
|
+
const errorBody = e.response.data;
|
|
3328
|
+
throw new MapleStoryApiError(errorBody);
|
|
3329
|
+
}
|
|
3330
|
+
throw e;
|
|
3331
|
+
}
|
|
3332
|
+
}
|
|
3333
|
+
/**
|
|
3334
|
+
* 인기도 정보를 조회합니다.
|
|
3335
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3336
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3337
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3338
|
+
*
|
|
3339
|
+
* @param ocid 캐릭터 식별자
|
|
3340
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3341
|
+
*/
|
|
3342
|
+
async getCharacterPopularity(ocid, dateOptions) {
|
|
3343
|
+
const query = {
|
|
3344
|
+
ocid: ocid,
|
|
3345
|
+
date: MapleStoryApi.toDateString({
|
|
3346
|
+
year: 2023,
|
|
3347
|
+
month: 12,
|
|
3348
|
+
day: 21
|
|
3349
|
+
}, dateOptions)
|
|
3350
|
+
};
|
|
3351
|
+
try {
|
|
3352
|
+
const path = 'maplestory/v1/character/popularity';
|
|
3353
|
+
const response = await axios__default["default"].get(path, {
|
|
3354
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3355
|
+
timeout: this.timeout,
|
|
3356
|
+
headers: this.buildHeaders(),
|
|
3357
|
+
params: query
|
|
3358
|
+
});
|
|
3359
|
+
return new CharacterPopularityDto(response.data);
|
|
3360
|
+
}
|
|
3361
|
+
catch (e) {
|
|
3362
|
+
if (e instanceof axios.AxiosError) {
|
|
3363
|
+
const errorBody = e.response.data;
|
|
3364
|
+
throw new MapleStoryApiError(errorBody);
|
|
3365
|
+
}
|
|
3366
|
+
throw e;
|
|
3367
|
+
}
|
|
3368
|
+
}
|
|
3369
|
+
/**
|
|
3370
|
+
* 종합 능력치 정보를 조회합니다.
|
|
3371
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3372
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3373
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3374
|
+
*
|
|
3375
|
+
* @param ocid 캐릭터 식별자
|
|
3376
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3377
|
+
*/
|
|
3378
|
+
async getCharacterStat(ocid, dateOptions) {
|
|
3379
|
+
const query = {
|
|
3380
|
+
ocid: ocid,
|
|
3381
|
+
date: MapleStoryApi.toDateString({
|
|
3382
|
+
year: 2023,
|
|
3383
|
+
month: 12,
|
|
3384
|
+
day: 21
|
|
3385
|
+
}, dateOptions)
|
|
3386
|
+
};
|
|
3387
|
+
try {
|
|
3388
|
+
const path = 'maplestory/v1/character/stat';
|
|
3389
|
+
const response = await axios__default["default"].get(path, {
|
|
3390
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3391
|
+
timeout: this.timeout,
|
|
3392
|
+
headers: this.buildHeaders(),
|
|
3393
|
+
params: query
|
|
3394
|
+
});
|
|
3395
|
+
return new CharacterStatDto(response.data);
|
|
3396
|
+
}
|
|
3397
|
+
catch (e) {
|
|
3398
|
+
if (e instanceof axios.AxiosError) {
|
|
3399
|
+
const errorBody = e.response.data;
|
|
3400
|
+
throw new MapleStoryApiError(errorBody);
|
|
3401
|
+
}
|
|
3402
|
+
throw e;
|
|
3403
|
+
}
|
|
3404
|
+
}
|
|
3405
|
+
/**
|
|
3406
|
+
* 하이퍼스탯 정보를 조회합니다.
|
|
3407
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3408
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3409
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3410
|
+
*
|
|
3411
|
+
* @param ocid 캐릭터 식별자
|
|
3412
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3413
|
+
*/
|
|
3414
|
+
async getCharacterHyperStat(ocid, dateOptions) {
|
|
3415
|
+
const query = {
|
|
3416
|
+
ocid: ocid,
|
|
3417
|
+
date: MapleStoryApi.toDateString({
|
|
3418
|
+
year: 2023,
|
|
3419
|
+
month: 12,
|
|
3420
|
+
day: 21
|
|
3421
|
+
}, dateOptions)
|
|
3422
|
+
};
|
|
3423
|
+
try {
|
|
3424
|
+
const path = 'maplestory/v1/character/hyper-stat';
|
|
3425
|
+
const response = await axios__default["default"].get(path, {
|
|
3426
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3427
|
+
timeout: this.timeout,
|
|
3428
|
+
headers: this.buildHeaders(),
|
|
3429
|
+
params: query
|
|
3430
|
+
});
|
|
3431
|
+
return new CharacterHyperStatDto(response.data);
|
|
3432
|
+
}
|
|
3433
|
+
catch (e) {
|
|
3434
|
+
if (e instanceof axios.AxiosError) {
|
|
3435
|
+
const errorBody = e.response.data;
|
|
3436
|
+
throw new MapleStoryApiError(errorBody);
|
|
3437
|
+
}
|
|
3438
|
+
throw e;
|
|
3439
|
+
}
|
|
3440
|
+
}
|
|
3441
|
+
/**
|
|
3442
|
+
* 성향 정보를 조회합니다.
|
|
3443
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3444
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3445
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3446
|
+
*
|
|
3447
|
+
* @param ocid 캐릭터 식별자
|
|
3448
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3449
|
+
*/
|
|
3450
|
+
async getCharacterPropensity(ocid, dateOptions) {
|
|
3451
|
+
const query = {
|
|
3452
|
+
ocid: ocid,
|
|
3453
|
+
date: MapleStoryApi.toDateString({
|
|
3454
|
+
year: 2023,
|
|
3455
|
+
month: 12,
|
|
3456
|
+
day: 21
|
|
3457
|
+
}, dateOptions)
|
|
3458
|
+
};
|
|
3459
|
+
try {
|
|
3460
|
+
const path = 'maplestory/v1/character/propensity';
|
|
3461
|
+
const response = await axios__default["default"].get(path, {
|
|
3462
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3463
|
+
timeout: this.timeout,
|
|
3464
|
+
headers: this.buildHeaders(),
|
|
3465
|
+
params: query
|
|
3466
|
+
});
|
|
3467
|
+
return new CharacterPropensityDto(response.data);
|
|
3468
|
+
}
|
|
3469
|
+
catch (e) {
|
|
3470
|
+
if (e instanceof axios.AxiosError) {
|
|
3471
|
+
const errorBody = e.response.data;
|
|
3472
|
+
throw new MapleStoryApiError(errorBody);
|
|
3473
|
+
}
|
|
3474
|
+
throw e;
|
|
3475
|
+
}
|
|
3476
|
+
}
|
|
3477
|
+
/**
|
|
3478
|
+
* 어빌리티 정보를 조회합니다.
|
|
3479
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3480
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3481
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3482
|
+
*
|
|
3483
|
+
* @param ocid 캐릭터 식별자
|
|
3484
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3485
|
+
*/
|
|
3486
|
+
async getCharacterAbility(ocid, dateOptions) {
|
|
3487
|
+
const query = {
|
|
3488
|
+
ocid: ocid,
|
|
3489
|
+
date: MapleStoryApi.toDateString({
|
|
3490
|
+
year: 2023,
|
|
3491
|
+
month: 12,
|
|
3492
|
+
day: 21
|
|
3493
|
+
}, dateOptions)
|
|
3494
|
+
};
|
|
3495
|
+
try {
|
|
3496
|
+
const path = 'maplestory/v1/character/ability';
|
|
3497
|
+
const response = await axios__default["default"].get(path, {
|
|
3498
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3499
|
+
timeout: this.timeout,
|
|
3500
|
+
headers: this.buildHeaders(),
|
|
3501
|
+
params: query
|
|
3502
|
+
});
|
|
3503
|
+
return new CharacterAbilityDto(response.data);
|
|
3504
|
+
}
|
|
3505
|
+
catch (e) {
|
|
3506
|
+
if (e instanceof axios.AxiosError) {
|
|
3507
|
+
const errorBody = e.response.data;
|
|
3508
|
+
throw new MapleStoryApiError(errorBody);
|
|
3509
|
+
}
|
|
3510
|
+
throw e;
|
|
3511
|
+
}
|
|
3512
|
+
}
|
|
3513
|
+
/**
|
|
3514
|
+
* 장착한 장비 중 캐시 장비를 제외한 나머지 장비 정보를 조회합니다.
|
|
3515
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3516
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3517
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3518
|
+
*
|
|
3519
|
+
* @param ocid 캐릭터 식별자
|
|
3520
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3521
|
+
*/
|
|
3522
|
+
async getCharacterItemEquipment(ocid, dateOptions) {
|
|
3523
|
+
const query = {
|
|
3524
|
+
ocid: ocid,
|
|
3525
|
+
date: MapleStoryApi.toDateString({
|
|
3526
|
+
year: 2023,
|
|
3527
|
+
month: 12,
|
|
3528
|
+
day: 21
|
|
3529
|
+
}, dateOptions)
|
|
3530
|
+
};
|
|
3531
|
+
try {
|
|
3532
|
+
const path = 'maplestory/v1/character/item-equipment';
|
|
3533
|
+
const response = await axios__default["default"].get(path, {
|
|
3534
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3535
|
+
timeout: this.timeout,
|
|
3536
|
+
headers: this.buildHeaders(),
|
|
3537
|
+
params: query
|
|
3538
|
+
});
|
|
3539
|
+
return new CharacterItemEquipmentDto(response.data);
|
|
3540
|
+
}
|
|
3541
|
+
catch (e) {
|
|
3542
|
+
if (e instanceof axios.AxiosError) {
|
|
3543
|
+
const errorBody = e.response.data;
|
|
3544
|
+
throw new MapleStoryApiError(errorBody);
|
|
3545
|
+
}
|
|
3546
|
+
throw e;
|
|
3547
|
+
}
|
|
3548
|
+
}
|
|
3549
|
+
/**
|
|
3550
|
+
* 장착한 캐시 장비 정보를 조회합니다.
|
|
3551
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3552
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3553
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3554
|
+
*
|
|
3555
|
+
* @param ocid 캐릭터 식별자
|
|
3556
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3557
|
+
*/
|
|
3558
|
+
async getCharacterCashItemEquipment(ocid, dateOptions) {
|
|
3559
|
+
const query = {
|
|
3560
|
+
ocid: ocid,
|
|
3561
|
+
date: MapleStoryApi.toDateString({
|
|
3562
|
+
year: 2023,
|
|
3563
|
+
month: 12,
|
|
3564
|
+
day: 21
|
|
3565
|
+
}, dateOptions)
|
|
3566
|
+
};
|
|
3567
|
+
try {
|
|
3568
|
+
const path = 'maplestory/v1/character/cashitem-equipment';
|
|
3569
|
+
const response = await axios__default["default"].get(path, {
|
|
3570
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3571
|
+
timeout: this.timeout,
|
|
3572
|
+
headers: this.buildHeaders(),
|
|
3573
|
+
params: query
|
|
3574
|
+
});
|
|
3575
|
+
return new CharacterCashItemEquipmentDto(response.data);
|
|
3576
|
+
}
|
|
3577
|
+
catch (e) {
|
|
3578
|
+
if (e instanceof axios.AxiosError) {
|
|
3579
|
+
const errorBody = e.response.data;
|
|
3580
|
+
throw new MapleStoryApiError(errorBody);
|
|
3581
|
+
}
|
|
3582
|
+
throw e;
|
|
3583
|
+
}
|
|
3584
|
+
}
|
|
3585
|
+
/**
|
|
3586
|
+
* 장착한 심볼 정보를 조회합니다.
|
|
3587
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3588
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3589
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3590
|
+
*
|
|
3591
|
+
* @param ocid 캐릭터 식별자
|
|
3592
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3593
|
+
*/
|
|
3594
|
+
async getCharacterSymbolEquipment(ocid, dateOptions) {
|
|
3595
|
+
const query = {
|
|
3596
|
+
ocid: ocid,
|
|
3597
|
+
date: MapleStoryApi.toDateString({
|
|
3598
|
+
year: 2023,
|
|
3599
|
+
month: 12,
|
|
3600
|
+
day: 21
|
|
3601
|
+
}, dateOptions)
|
|
3602
|
+
};
|
|
3603
|
+
try {
|
|
3604
|
+
const path = 'maplestory/v1/character/symbol-equipment';
|
|
3605
|
+
const response = await axios__default["default"].get(path, {
|
|
3606
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3607
|
+
timeout: this.timeout,
|
|
3608
|
+
headers: this.buildHeaders(),
|
|
3609
|
+
params: query
|
|
3610
|
+
});
|
|
3611
|
+
return new CharacterSymbolEquipmentDto(response.data);
|
|
3612
|
+
}
|
|
3613
|
+
catch (e) {
|
|
3614
|
+
if (e instanceof axios.AxiosError) {
|
|
3615
|
+
const errorBody = e.response.data;
|
|
3616
|
+
throw new MapleStoryApiError(errorBody);
|
|
3617
|
+
}
|
|
3618
|
+
throw e;
|
|
3619
|
+
}
|
|
3620
|
+
}
|
|
3621
|
+
/**
|
|
3622
|
+
* 적용받고 있는 세트 효과 정보를 조회합니다.
|
|
3623
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3624
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3625
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3626
|
+
*
|
|
3627
|
+
* @param ocid 캐릭터 식별자
|
|
3628
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3629
|
+
*/
|
|
3630
|
+
async getCharacterSetEffect(ocid, dateOptions) {
|
|
3631
|
+
const query = {
|
|
3632
|
+
ocid: ocid,
|
|
3633
|
+
date: MapleStoryApi.toDateString({
|
|
3634
|
+
year: 2023,
|
|
3635
|
+
month: 12,
|
|
3636
|
+
day: 21
|
|
3637
|
+
}, dateOptions)
|
|
3638
|
+
};
|
|
3639
|
+
try {
|
|
3640
|
+
const path = 'maplestory/v1/character/set-effect';
|
|
3641
|
+
const response = await axios__default["default"].get(path, {
|
|
3642
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3643
|
+
timeout: this.timeout,
|
|
3644
|
+
headers: this.buildHeaders(),
|
|
3645
|
+
params: query
|
|
3646
|
+
});
|
|
3647
|
+
return new CharacterSetEffectDto(response.data);
|
|
3648
|
+
}
|
|
3649
|
+
catch (e) {
|
|
3650
|
+
if (e instanceof axios.AxiosError) {
|
|
3651
|
+
const errorBody = e.response.data;
|
|
3652
|
+
throw new MapleStoryApiError(errorBody);
|
|
3653
|
+
}
|
|
3654
|
+
throw e;
|
|
3655
|
+
}
|
|
3656
|
+
}
|
|
3657
|
+
/**
|
|
3658
|
+
* 장착 중인 헤어, 성형, 피부 정보를 조회합니다.
|
|
3659
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3660
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3661
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3662
|
+
*
|
|
3663
|
+
* @param ocid 캐릭터 식별자
|
|
3664
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3665
|
+
*/
|
|
3666
|
+
async getCharacterBeautyEquipment(ocid, dateOptions) {
|
|
3667
|
+
const query = {
|
|
3668
|
+
ocid: ocid,
|
|
3669
|
+
date: MapleStoryApi.toDateString({
|
|
3670
|
+
year: 2023,
|
|
3671
|
+
month: 12,
|
|
3672
|
+
day: 21
|
|
3673
|
+
}, dateOptions)
|
|
3674
|
+
};
|
|
3675
|
+
try {
|
|
3676
|
+
const path = 'maplestory/v1/character/beauty-equipment';
|
|
3677
|
+
const response = await axios__default["default"].get(path, {
|
|
3678
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3679
|
+
timeout: this.timeout,
|
|
3680
|
+
headers: this.buildHeaders(),
|
|
3681
|
+
params: query
|
|
3682
|
+
});
|
|
3683
|
+
return new CharacterBeautyEquipmentDto(response.data);
|
|
3684
|
+
}
|
|
3685
|
+
catch (e) {
|
|
3686
|
+
if (e instanceof axios.AxiosError) {
|
|
3687
|
+
const errorBody = e.response.data;
|
|
3688
|
+
throw new MapleStoryApiError(errorBody);
|
|
3689
|
+
}
|
|
3690
|
+
throw e;
|
|
3691
|
+
}
|
|
3692
|
+
}
|
|
3693
|
+
/**
|
|
3694
|
+
* 장착한 안드로이드 정보를 조회합니다.
|
|
3695
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3696
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3697
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3698
|
+
*
|
|
3699
|
+
* @param ocid 캐릭터 식별자
|
|
3700
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3701
|
+
*/
|
|
3702
|
+
async getCharacterAndroidEquipment(ocid, dateOptions) {
|
|
3703
|
+
const query = {
|
|
3704
|
+
ocid: ocid,
|
|
3705
|
+
date: MapleStoryApi.toDateString({
|
|
3706
|
+
year: 2023,
|
|
3707
|
+
month: 12,
|
|
3708
|
+
day: 21
|
|
3709
|
+
}, dateOptions)
|
|
3710
|
+
};
|
|
3711
|
+
try {
|
|
3712
|
+
const path = 'maplestory/v1/character/android-equipment';
|
|
3713
|
+
const response = await axios__default["default"].get(path, {
|
|
3714
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3715
|
+
timeout: this.timeout,
|
|
3716
|
+
headers: this.buildHeaders(),
|
|
3717
|
+
params: query
|
|
3718
|
+
});
|
|
3719
|
+
return new CharacterAndroidEquipmentDto(response.data);
|
|
3720
|
+
}
|
|
3721
|
+
catch (e) {
|
|
3722
|
+
if (e instanceof axios.AxiosError) {
|
|
3723
|
+
const errorBody = e.response.data;
|
|
3724
|
+
throw new MapleStoryApiError(errorBody);
|
|
3725
|
+
}
|
|
3726
|
+
throw e;
|
|
3727
|
+
}
|
|
3728
|
+
}
|
|
3729
|
+
/**
|
|
3730
|
+
* 장착한 펫 및 펫 스킬, 장비 정보를 조회합니다.
|
|
3731
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3732
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3733
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3734
|
+
*
|
|
3735
|
+
* @param ocid 캐릭터 식별자
|
|
3736
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3737
|
+
*/
|
|
3738
|
+
async getCharacterPetEquipment(ocid, dateOptions) {
|
|
3739
|
+
const query = {
|
|
3740
|
+
ocid: ocid,
|
|
3741
|
+
date: MapleStoryApi.toDateString({
|
|
3742
|
+
year: 2023,
|
|
3743
|
+
month: 12,
|
|
3744
|
+
day: 21
|
|
3745
|
+
}, dateOptions)
|
|
3746
|
+
};
|
|
3747
|
+
try {
|
|
3748
|
+
const path = 'maplestory/v1/character/pet-equipment';
|
|
3749
|
+
const response = await axios__default["default"].get(path, {
|
|
3750
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3751
|
+
timeout: this.timeout,
|
|
3752
|
+
headers: this.buildHeaders(),
|
|
3753
|
+
params: query
|
|
3754
|
+
});
|
|
3755
|
+
return new CharacterPetEquipmentDto(response.data);
|
|
3756
|
+
}
|
|
3757
|
+
catch (e) {
|
|
3758
|
+
if (e instanceof axios.AxiosError) {
|
|
3759
|
+
const errorBody = e.response.data;
|
|
3760
|
+
throw new MapleStoryApiError(errorBody);
|
|
3761
|
+
}
|
|
3762
|
+
throw e;
|
|
3763
|
+
}
|
|
3764
|
+
}
|
|
3765
|
+
/**
|
|
3766
|
+
* 캐릭터 스킬과 하이퍼 스킬 정보를 조회합니다.
|
|
3767
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3768
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3769
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3770
|
+
*
|
|
3771
|
+
* @param ocid 캐릭터 식별자
|
|
3772
|
+
* @param characterSkillGrade 조회하고자 하는 전직 차수
|
|
3773
|
+
* - 0: 0차 스킬 및 제로 공용스킬
|
|
3774
|
+
* - 1: 1차 스킬
|
|
3775
|
+
* - 1.5: 1.5차 스킬
|
|
3776
|
+
* - 2: 2차 스킬
|
|
3777
|
+
* - 2.5: 2.5차 스킬
|
|
3778
|
+
* - 3: 3차 스킬
|
|
3779
|
+
* - 4: 4차 스킬 및 제로 알파/베타 스킬
|
|
3780
|
+
* - hyperpassive: 하이퍼 패시브 스킬
|
|
3781
|
+
* - hyperactive: 하이퍼 액티브 스킬
|
|
3782
|
+
* - 5: 5차 스킬
|
|
3783
|
+
* - 6: 6차 스킬
|
|
3784
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3785
|
+
*/
|
|
3786
|
+
async getCharacterSkill(ocid, characterSkillGrade, dateOptions) {
|
|
3787
|
+
const query = {
|
|
3788
|
+
ocid: ocid,
|
|
3789
|
+
character_skill_grade: '0',
|
|
3790
|
+
date: MapleStoryApi.toDateString({
|
|
3791
|
+
year: 2023,
|
|
3792
|
+
month: 12,
|
|
3793
|
+
day: 21
|
|
3794
|
+
}, dateOptions)
|
|
3795
|
+
};
|
|
3796
|
+
try {
|
|
3797
|
+
const path = 'maplestory/v1/character/skill';
|
|
3798
|
+
const response = await axios__default["default"].get(path, {
|
|
3799
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3800
|
+
timeout: this.timeout,
|
|
3801
|
+
headers: this.buildHeaders(),
|
|
3802
|
+
params: query
|
|
3803
|
+
});
|
|
3804
|
+
return new CharacterSkillDto(response.data);
|
|
3805
|
+
}
|
|
3806
|
+
catch (e) {
|
|
3807
|
+
if (e instanceof axios.AxiosError) {
|
|
3808
|
+
const errorBody = e.response.data;
|
|
3809
|
+
throw new MapleStoryApiError(errorBody);
|
|
3810
|
+
}
|
|
3811
|
+
throw e;
|
|
3812
|
+
}
|
|
3813
|
+
}
|
|
3814
|
+
/**
|
|
3815
|
+
* 장착 링크 스킬 정보를 조회합니다.
|
|
3816
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3817
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3818
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3819
|
+
*
|
|
3820
|
+
* @param ocid 캐릭터 식별자
|
|
3821
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3822
|
+
*/
|
|
3823
|
+
async getCharacterLinkSkill(ocid, dateOptions) {
|
|
3824
|
+
const query = {
|
|
3825
|
+
ocid: ocid,
|
|
3826
|
+
date: MapleStoryApi.toDateString({
|
|
3827
|
+
year: 2023,
|
|
3828
|
+
month: 12,
|
|
3829
|
+
day: 21
|
|
3830
|
+
}, dateOptions)
|
|
3831
|
+
};
|
|
3832
|
+
try {
|
|
3833
|
+
const path = 'maplestory/v1/character/link-skill';
|
|
3834
|
+
const response = await axios__default["default"].get(path, {
|
|
3835
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3836
|
+
timeout: this.timeout,
|
|
3837
|
+
headers: this.buildHeaders(),
|
|
3838
|
+
params: query
|
|
3839
|
+
});
|
|
3840
|
+
return new CharacterLinkSkillDto(response.data);
|
|
3841
|
+
}
|
|
3842
|
+
catch (e) {
|
|
3843
|
+
if (e instanceof axios.AxiosError) {
|
|
3844
|
+
const errorBody = e.response.data;
|
|
3845
|
+
throw new MapleStoryApiError(errorBody);
|
|
3846
|
+
}
|
|
3847
|
+
throw e;
|
|
3848
|
+
}
|
|
3849
|
+
}
|
|
3850
|
+
/**
|
|
3851
|
+
* V매트릭스 슬롯 정보와 장착한 V코어 정보를 조회합니다.
|
|
3852
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3853
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3854
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3855
|
+
*
|
|
3856
|
+
* @param ocid 캐릭터 식별자
|
|
3857
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3858
|
+
*/
|
|
3859
|
+
async getCharacterVMatrix(ocid, dateOptions) {
|
|
3860
|
+
const query = {
|
|
3861
|
+
ocid: ocid,
|
|
3862
|
+
date: MapleStoryApi.toDateString({
|
|
3863
|
+
year: 2023,
|
|
3864
|
+
month: 12,
|
|
3865
|
+
day: 21
|
|
3866
|
+
}, dateOptions)
|
|
3867
|
+
};
|
|
3868
|
+
try {
|
|
3869
|
+
const path = 'maplestory/v1/character/vmatrix';
|
|
3870
|
+
const response = await axios__default["default"].get(path, {
|
|
3871
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3872
|
+
timeout: this.timeout,
|
|
3873
|
+
headers: this.buildHeaders(),
|
|
3874
|
+
params: query
|
|
3875
|
+
});
|
|
3876
|
+
return new CharacterVMatrixDto(response.data);
|
|
3877
|
+
}
|
|
3878
|
+
catch (e) {
|
|
3879
|
+
if (e instanceof axios.AxiosError) {
|
|
3880
|
+
const errorBody = e.response.data;
|
|
3881
|
+
throw new MapleStoryApiError(errorBody);
|
|
3882
|
+
}
|
|
3883
|
+
throw e;
|
|
3884
|
+
}
|
|
3885
|
+
}
|
|
3886
|
+
/**
|
|
3887
|
+
* HEXA 매트릭스에 장착한 HEXA 코어 정보를 조회합니다.
|
|
3888
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3889
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3890
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3891
|
+
*
|
|
3892
|
+
* @param ocid 캐릭터 식별자
|
|
3893
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3894
|
+
*/
|
|
3895
|
+
async getCharacterHexaMatrix(ocid, dateOptions) {
|
|
3896
|
+
const query = {
|
|
3897
|
+
ocid: ocid,
|
|
3898
|
+
date: MapleStoryApi.toDateString({
|
|
3899
|
+
year: 2023,
|
|
3900
|
+
month: 12,
|
|
3901
|
+
day: 21
|
|
3902
|
+
}, dateOptions)
|
|
3903
|
+
};
|
|
3904
|
+
try {
|
|
3905
|
+
const path = 'maplestory/v1/character/hexamatrix';
|
|
3906
|
+
const response = await axios__default["default"].get(path, {
|
|
3907
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3908
|
+
timeout: this.timeout,
|
|
3909
|
+
headers: this.buildHeaders(),
|
|
3910
|
+
params: query
|
|
3911
|
+
});
|
|
3912
|
+
return new CharacterHexaMatrixDto(response.data);
|
|
3913
|
+
}
|
|
3914
|
+
catch (e) {
|
|
3915
|
+
if (e instanceof axios.AxiosError) {
|
|
3916
|
+
const errorBody = e.response.data;
|
|
3917
|
+
throw new MapleStoryApiError(errorBody);
|
|
3918
|
+
}
|
|
3919
|
+
throw e;
|
|
3920
|
+
}
|
|
3921
|
+
}
|
|
3922
|
+
/**
|
|
3923
|
+
* HEXA 매트릭스에 설정한 HEXA 스탯 정보를 조회합니다.
|
|
3924
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3925
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3926
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3927
|
+
*
|
|
3928
|
+
* @param ocid 캐릭터 식별자
|
|
3929
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3930
|
+
*/
|
|
3931
|
+
async getCharacterHexaMatrixStat(ocid, dateOptions) {
|
|
3932
|
+
const query = {
|
|
3933
|
+
ocid: ocid,
|
|
3934
|
+
date: MapleStoryApi.toDateString({
|
|
3935
|
+
year: 2023,
|
|
3936
|
+
month: 12,
|
|
3937
|
+
day: 21
|
|
3938
|
+
}, dateOptions)
|
|
3939
|
+
};
|
|
3940
|
+
try {
|
|
3941
|
+
const path = 'maplestory/v1/character/hexamatrix-stat';
|
|
3942
|
+
const response = await axios__default["default"].get(path, {
|
|
3943
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3944
|
+
timeout: this.timeout,
|
|
3945
|
+
headers: this.buildHeaders(),
|
|
3946
|
+
params: query
|
|
3947
|
+
});
|
|
3948
|
+
return new CharacterHexaMatrixStatDto(response.data);
|
|
3949
|
+
}
|
|
3950
|
+
catch (e) {
|
|
3951
|
+
if (e instanceof axios.AxiosError) {
|
|
3952
|
+
const errorBody = e.response.data;
|
|
3953
|
+
throw new MapleStoryApiError(errorBody);
|
|
3954
|
+
}
|
|
3955
|
+
throw e;
|
|
3956
|
+
}
|
|
3957
|
+
}
|
|
3958
|
+
/**
|
|
3959
|
+
* 캐릭터 무릉도장 최고 기록 정보를 조회합니다.
|
|
3960
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3961
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
3962
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
3963
|
+
*
|
|
3964
|
+
* @param ocid 캐릭터 식별자
|
|
3965
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
3966
|
+
*/
|
|
3967
|
+
async getCharacterDojang(ocid, dateOptions) {
|
|
3968
|
+
const query = {
|
|
3969
|
+
ocid: ocid,
|
|
3970
|
+
date: MapleStoryApi.toDateString({
|
|
3971
|
+
year: 2023,
|
|
3972
|
+
month: 12,
|
|
3973
|
+
day: 21
|
|
3974
|
+
}, dateOptions)
|
|
3975
|
+
};
|
|
3976
|
+
try {
|
|
3977
|
+
const path = 'maplestory/v1/character/dojang';
|
|
3978
|
+
const response = await axios__default["default"].get(path, {
|
|
3979
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
3980
|
+
timeout: this.timeout,
|
|
3981
|
+
headers: this.buildHeaders(),
|
|
3982
|
+
params: query
|
|
3983
|
+
});
|
|
3984
|
+
return new CharacterDojangDto(response.data);
|
|
3985
|
+
}
|
|
3986
|
+
catch (e) {
|
|
3987
|
+
if (e instanceof axios.AxiosError) {
|
|
3988
|
+
const errorBody = e.response.data;
|
|
3989
|
+
throw new MapleStoryApiError(errorBody);
|
|
3990
|
+
}
|
|
3991
|
+
throw e;
|
|
3992
|
+
}
|
|
3993
|
+
}
|
|
3994
|
+
//#endregion
|
|
3995
|
+
//#region 유니온 정보 조회
|
|
3996
|
+
/**
|
|
3997
|
+
* 유니온 정보를 조회합니다.
|
|
3998
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
3999
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
4000
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
4001
|
+
*
|
|
4002
|
+
* @param ocid 캐릭터 식별자
|
|
4003
|
+
* @param dateOption 조회 기준일 (KST)
|
|
4004
|
+
*/
|
|
4005
|
+
async getUnionInfo(ocid, dateOption) {
|
|
4006
|
+
const query = {
|
|
4007
|
+
ocid: ocid,
|
|
4008
|
+
date: MapleStoryApi.toDateString({
|
|
4009
|
+
year: 2023,
|
|
4010
|
+
month: 12,
|
|
4011
|
+
day: 21
|
|
4012
|
+
}, dateOption)
|
|
4013
|
+
};
|
|
4014
|
+
try {
|
|
4015
|
+
const path = 'maplestory/v1/user/union';
|
|
4016
|
+
const response = await axios__default["default"].get(path, {
|
|
4017
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
4018
|
+
timeout: this.timeout,
|
|
4019
|
+
headers: this.buildHeaders(),
|
|
4020
|
+
params: query
|
|
4021
|
+
});
|
|
4022
|
+
return new UnionDto(response.data);
|
|
4023
|
+
}
|
|
4024
|
+
catch (e) {
|
|
4025
|
+
if (e instanceof axios.AxiosError) {
|
|
4026
|
+
const errorBody = e.response.data;
|
|
4027
|
+
throw new MapleStoryApiError(errorBody);
|
|
4028
|
+
}
|
|
4029
|
+
throw e;
|
|
4030
|
+
}
|
|
4031
|
+
}
|
|
4032
|
+
/**
|
|
4033
|
+
* 유니온 공격대 정보를 조회합니다.
|
|
4034
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
4035
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다
|
|
4036
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
4037
|
+
*
|
|
4038
|
+
* @param ocid 캐릭터 식별자
|
|
4039
|
+
* @param dateOption 조회 기준일 (KST)
|
|
4040
|
+
*/
|
|
4041
|
+
async getUnionRaiderInfo(ocid, dateOption) {
|
|
4042
|
+
({
|
|
4043
|
+
ocid: ocid,
|
|
4044
|
+
date: MapleStoryApi.toDateString({
|
|
4045
|
+
year: 2023,
|
|
4046
|
+
month: 12,
|
|
4047
|
+
day: 21
|
|
4048
|
+
}, dateOption)
|
|
4049
|
+
});
|
|
4050
|
+
try {
|
|
4051
|
+
const path = 'maplestory/v1/user/union-raider';
|
|
4052
|
+
const response = await axios__default["default"].get(path, {
|
|
4053
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
4054
|
+
timeout: this.timeout,
|
|
4055
|
+
headers: this.buildHeaders(),
|
|
4056
|
+
params: {
|
|
4057
|
+
ocid,
|
|
4058
|
+
date: dateOption,
|
|
4059
|
+
}
|
|
4060
|
+
});
|
|
4061
|
+
return new UnionRaiderDto(response.data);
|
|
4062
|
+
}
|
|
4063
|
+
catch (e) {
|
|
4064
|
+
if (e instanceof axios.AxiosError) {
|
|
4065
|
+
const errorBody = e.response.data;
|
|
4066
|
+
throw new MapleStoryApiError(errorBody);
|
|
4067
|
+
}
|
|
4068
|
+
throw e;
|
|
4069
|
+
}
|
|
4070
|
+
}
|
|
4071
|
+
//#endregion
|
|
4072
|
+
//#region 길드 정보 조회
|
|
4073
|
+
/**
|
|
4074
|
+
* 길드 식별자(oguild_id) 정보를 조회합니다.
|
|
4075
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
4076
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다.
|
|
4077
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
4078
|
+
*
|
|
4079
|
+
* @param guildName 길드 명
|
|
4080
|
+
* @param worldName 월드 명
|
|
4081
|
+
*/
|
|
4082
|
+
async getGuild(guildName, worldName) {
|
|
4083
|
+
try {
|
|
4084
|
+
const path = 'maplestory/v1/guild/id';
|
|
4085
|
+
const response = await axios__default["default"].get(path, {
|
|
4086
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
4087
|
+
timeout: this.timeout,
|
|
4088
|
+
headers: this.buildHeaders(),
|
|
4089
|
+
params: {
|
|
4090
|
+
guild_name: guildName,
|
|
4091
|
+
world_name: worldName,
|
|
4092
|
+
},
|
|
4093
|
+
});
|
|
4094
|
+
return new GuildDto(response.data);
|
|
4095
|
+
}
|
|
4096
|
+
catch (e) {
|
|
4097
|
+
if (e instanceof axios.AxiosError) {
|
|
4098
|
+
const errorBody = e.response.data;
|
|
4099
|
+
throw new MapleStoryApiError(errorBody);
|
|
4100
|
+
}
|
|
4101
|
+
throw e;
|
|
4102
|
+
}
|
|
4103
|
+
}
|
|
4104
|
+
/**
|
|
4105
|
+
* 길드 기본 정보를 조회합니다.
|
|
4106
|
+
* - 2023년 12월 21일 데이터부터 조회할 수 있습니다.
|
|
4107
|
+
* - 오전 1시부터 전일 데이터 조회가 가능합니다.
|
|
4108
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
4109
|
+
*
|
|
4110
|
+
* @param guildId 길드 식별자
|
|
4111
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
4112
|
+
*/
|
|
4113
|
+
async getGuildBasic(guildId, dateOptions) {
|
|
4114
|
+
const query = {
|
|
4115
|
+
oguild_id: guildId,
|
|
4116
|
+
date: MapleStoryApi.toDateString({
|
|
4117
|
+
year: 2023,
|
|
4118
|
+
month: 12,
|
|
4119
|
+
day: 21,
|
|
4120
|
+
}, dateOptions),
|
|
4121
|
+
};
|
|
4122
|
+
try {
|
|
4123
|
+
const path = 'maplestory/v1/guild/basic';
|
|
4124
|
+
const response = await axios__default["default"].get(path, {
|
|
4125
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
4126
|
+
timeout: this.timeout,
|
|
4127
|
+
headers: this.buildHeaders(),
|
|
4128
|
+
params: query,
|
|
4129
|
+
});
|
|
4130
|
+
return new GuildBasicDto(response.data);
|
|
4131
|
+
}
|
|
4132
|
+
catch (e) {
|
|
4133
|
+
if (e instanceof axios.AxiosError) {
|
|
4134
|
+
const errorBody = e.response.data;
|
|
4135
|
+
throw new MapleStoryApiError(errorBody);
|
|
4136
|
+
}
|
|
4137
|
+
throw e;
|
|
4138
|
+
}
|
|
269
4139
|
}
|
|
270
|
-
async
|
|
4140
|
+
async getCubeHistory(count, parameter) {
|
|
271
4141
|
const query = {
|
|
272
4142
|
count,
|
|
273
4143
|
};
|
|
@@ -275,26 +4145,151 @@ class MapleStoryApi {
|
|
|
275
4145
|
query.cursor = parameter;
|
|
276
4146
|
}
|
|
277
4147
|
else if (typeof parameter === 'object') {
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
4148
|
+
query.date = MapleStoryApi.toDateString({
|
|
4149
|
+
year: 2022,
|
|
4150
|
+
month: 11,
|
|
4151
|
+
day: 25
|
|
4152
|
+
}, parameter);
|
|
4153
|
+
}
|
|
4154
|
+
try {
|
|
4155
|
+
const path = 'maplestory/v1/history/cube';
|
|
4156
|
+
const response = await axios__default["default"].get(path, {
|
|
4157
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
4158
|
+
timeout: this.timeout,
|
|
4159
|
+
headers: this.buildHeaders(),
|
|
4160
|
+
params: query
|
|
4161
|
+
});
|
|
4162
|
+
return new CubeHistoryResponseDto(response.data);
|
|
4163
|
+
}
|
|
4164
|
+
catch (e) {
|
|
4165
|
+
if (e instanceof axios.AxiosError) {
|
|
4166
|
+
const errorBody = e.response.data;
|
|
4167
|
+
throw new MapleStoryApiError(errorBody);
|
|
281
4168
|
}
|
|
282
|
-
|
|
283
|
-
query.date = date.format('YYYY-MM-DD');
|
|
4169
|
+
throw e;
|
|
284
4170
|
}
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
4171
|
+
}
|
|
4172
|
+
//#endregion
|
|
4173
|
+
//#region 랭킹 정보 조회
|
|
4174
|
+
/**
|
|
4175
|
+
* 종합 랭킹 정보를 조회합니다.
|
|
4176
|
+
* - 2023년 12월 22일 데이터부터 조회할 수 있습니다.
|
|
4177
|
+
* - 오전 8시 30분부터 오늘의 랭킹 정보를 조회할 수 있습니다.
|
|
4178
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
4179
|
+
*
|
|
4180
|
+
* @param filterOptions 검색 기준
|
|
4181
|
+
* @param dateOptions 조회 기준일 (KST).
|
|
4182
|
+
*
|
|
4183
|
+
*/
|
|
4184
|
+
async getOverallRanking(filterOptions, dateOptions) {
|
|
4185
|
+
const query = {
|
|
4186
|
+
date: MapleStoryApi.toDateString({
|
|
4187
|
+
year: 2023,
|
|
4188
|
+
month: 12,
|
|
4189
|
+
day: 22,
|
|
4190
|
+
}, dateOptions),
|
|
4191
|
+
};
|
|
4192
|
+
if (filterOptions) {
|
|
4193
|
+
const { worldName, worldType, characterClass, ocid, page } = filterOptions;
|
|
4194
|
+
query.world_name = worldName;
|
|
4195
|
+
query.world_type = worldType;
|
|
4196
|
+
query.class = characterClass;
|
|
4197
|
+
query.ocid = ocid;
|
|
4198
|
+
query.page = page;
|
|
288
4199
|
}
|
|
289
4200
|
try {
|
|
290
|
-
const path = '
|
|
4201
|
+
const path = 'maplestory/v1/ranking/overall';
|
|
291
4202
|
const response = await axios__default["default"].get(path, {
|
|
292
|
-
baseURL: MapleStoryApi.
|
|
4203
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
293
4204
|
timeout: this.timeout,
|
|
294
4205
|
headers: this.buildHeaders(),
|
|
295
4206
|
params: query
|
|
296
4207
|
});
|
|
297
|
-
return new
|
|
4208
|
+
return new OverallRankingResponseDto(response.data);
|
|
4209
|
+
}
|
|
4210
|
+
catch (e) {
|
|
4211
|
+
if (e instanceof axios.AxiosError) {
|
|
4212
|
+
const errorBody = e.response.data;
|
|
4213
|
+
throw new MapleStoryApiError(errorBody);
|
|
4214
|
+
}
|
|
4215
|
+
throw e;
|
|
4216
|
+
}
|
|
4217
|
+
}
|
|
4218
|
+
/**
|
|
4219
|
+
* 유니온 랭킹 정보를 조회합니다.
|
|
4220
|
+
* - 2023년 12월 22일 데이터부터 조회할 수 있습니다.
|
|
4221
|
+
* - 오전 8시 30분부터 오늘의 랭킹 정보를 조회할 수 있습니다.
|
|
4222
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
4223
|
+
*
|
|
4224
|
+
* @param filterOptions 검색 기준
|
|
4225
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
4226
|
+
*/
|
|
4227
|
+
async getUnionRanking(filterOptions, dateOptions) {
|
|
4228
|
+
const query = {
|
|
4229
|
+
date: MapleStoryApi.toDateString({
|
|
4230
|
+
year: 2023,
|
|
4231
|
+
month: 12,
|
|
4232
|
+
day: 22
|
|
4233
|
+
}, dateOptions)
|
|
4234
|
+
};
|
|
4235
|
+
if (filterOptions) {
|
|
4236
|
+
const { worldName, ocid, page } = filterOptions;
|
|
4237
|
+
query.world_name = worldName;
|
|
4238
|
+
query.ocid = ocid;
|
|
4239
|
+
query.page = page;
|
|
4240
|
+
}
|
|
4241
|
+
try {
|
|
4242
|
+
const path = 'maplestory/v1/ranking/union';
|
|
4243
|
+
const response = await axios__default["default"].get(path, {
|
|
4244
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
4245
|
+
timeout: this.timeout,
|
|
4246
|
+
headers: this.buildHeaders(),
|
|
4247
|
+
params: query,
|
|
4248
|
+
});
|
|
4249
|
+
return new UnionRankingResponseDto(response.data);
|
|
4250
|
+
}
|
|
4251
|
+
catch (e) {
|
|
4252
|
+
if (e instanceof axios.AxiosError) {
|
|
4253
|
+
const errorBody = e.response.data;
|
|
4254
|
+
throw new MapleStoryApiError(errorBody);
|
|
4255
|
+
}
|
|
4256
|
+
throw e;
|
|
4257
|
+
}
|
|
4258
|
+
}
|
|
4259
|
+
/**
|
|
4260
|
+
* 길드 랭킹 정보를 조회합니다.
|
|
4261
|
+
* - 2023년 12월 22일 데이터부터 조회할 수 있습니다.
|
|
4262
|
+
* - 오전 8시 30분부터 오늘의 랭킹 정보를 조회할 수 있습니다.
|
|
4263
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
4264
|
+
*
|
|
4265
|
+
* @param filterOptions 검색 기준
|
|
4266
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
4267
|
+
*/
|
|
4268
|
+
async getGuildRanking(filterOptions, dateOptions) {
|
|
4269
|
+
const query = {
|
|
4270
|
+
date: MapleStoryApi.toDateString({
|
|
4271
|
+
year: 2023,
|
|
4272
|
+
month: 12,
|
|
4273
|
+
day: 22
|
|
4274
|
+
}, dateOptions),
|
|
4275
|
+
ranking_type: 0,
|
|
4276
|
+
};
|
|
4277
|
+
if (filterOptions) {
|
|
4278
|
+
const { worldName, rankingType, ocid, page } = filterOptions;
|
|
4279
|
+
query.world_name = worldName;
|
|
4280
|
+
query.ranking_type = rankingType;
|
|
4281
|
+
query.ocid = ocid;
|
|
4282
|
+
query.page = page;
|
|
4283
|
+
}
|
|
4284
|
+
try {
|
|
4285
|
+
const path = 'maplestory/v1/ranking/guild';
|
|
4286
|
+
const response = await axios__default["default"].get(path, {
|
|
4287
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
4288
|
+
timeout: this.timeout,
|
|
4289
|
+
headers: this.buildHeaders(),
|
|
4290
|
+
params: query,
|
|
4291
|
+
});
|
|
4292
|
+
return new GuildRankingResponseDto(response.data);
|
|
298
4293
|
}
|
|
299
4294
|
catch (e) {
|
|
300
4295
|
if (e instanceof axios.AxiosError) {
|
|
@@ -304,8 +4299,137 @@ class MapleStoryApi {
|
|
|
304
4299
|
throw e;
|
|
305
4300
|
}
|
|
306
4301
|
}
|
|
4302
|
+
/**
|
|
4303
|
+
* 무릉도장 랭킹 정보를 조회합니다.
|
|
4304
|
+
* - 2023년 12월 22일 데이터부터 조회할 수 있습니다.
|
|
4305
|
+
* - 오전 8시 30분부터 오늘의 랭킹 정보를 조회할 수 있습니다.
|
|
4306
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
4307
|
+
*
|
|
4308
|
+
* @param filterOptions 검색 기준
|
|
4309
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
4310
|
+
*/
|
|
4311
|
+
async getDojangRanking(filterOptions, dateOptions) {
|
|
4312
|
+
const query = {
|
|
4313
|
+
date: MapleStoryApi.toDateString({
|
|
4314
|
+
year: 2023,
|
|
4315
|
+
month: 12,
|
|
4316
|
+
day: 22
|
|
4317
|
+
}, dateOptions),
|
|
4318
|
+
difficulty: 0,
|
|
4319
|
+
};
|
|
4320
|
+
if (filterOptions) {
|
|
4321
|
+
const { worldName, difficulty, characterClass, ocid, page } = filterOptions;
|
|
4322
|
+
query.world_name = worldName;
|
|
4323
|
+
query.difficulty = difficulty;
|
|
4324
|
+
query.class = characterClass;
|
|
4325
|
+
query.ocid = ocid;
|
|
4326
|
+
query.page = page;
|
|
4327
|
+
}
|
|
4328
|
+
try {
|
|
4329
|
+
const path = 'maplestory/v1/ranking/dojang';
|
|
4330
|
+
const response = await axios__default["default"].get(path, {
|
|
4331
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
4332
|
+
timeout: this.timeout,
|
|
4333
|
+
headers: this.buildHeaders(),
|
|
4334
|
+
params: query
|
|
4335
|
+
});
|
|
4336
|
+
return new DojangRankingResponseDto(response.data);
|
|
4337
|
+
}
|
|
4338
|
+
catch (e) {
|
|
4339
|
+
if (e instanceof axios.AxiosError) {
|
|
4340
|
+
const errorBody = e.response.data;
|
|
4341
|
+
throw new MapleStoryApiError(errorBody);
|
|
4342
|
+
}
|
|
4343
|
+
throw e;
|
|
4344
|
+
}
|
|
4345
|
+
}
|
|
4346
|
+
/**
|
|
4347
|
+
* 더 시드 랭킹 정보를 조회합니다.
|
|
4348
|
+
* - 2023년 12월 22일 데이터부터 조회할 수 있습니다.
|
|
4349
|
+
* - 오전 8시 30분부터 오늘의 랭킹 정보를 조회할 수 있습니다.
|
|
4350
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
4351
|
+
*
|
|
4352
|
+
* @param filterOptions 검색 기준
|
|
4353
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
4354
|
+
*/
|
|
4355
|
+
async getSeedRanking(filterOptions, dateOptions) {
|
|
4356
|
+
const query = {
|
|
4357
|
+
date: MapleStoryApi.toDateString({
|
|
4358
|
+
year: 2023,
|
|
4359
|
+
month: 12,
|
|
4360
|
+
day: 22
|
|
4361
|
+
}, dateOptions),
|
|
4362
|
+
};
|
|
4363
|
+
if (filterOptions) {
|
|
4364
|
+
const { worldName, ocid, page } = filterOptions;
|
|
4365
|
+
query.world_name = worldName;
|
|
4366
|
+
query.ocid = ocid;
|
|
4367
|
+
query.page = page;
|
|
4368
|
+
}
|
|
4369
|
+
try {
|
|
4370
|
+
const path = 'maplestory/v1/ranking/theseed';
|
|
4371
|
+
const response = await axios__default["default"].get(path, {
|
|
4372
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
4373
|
+
timeout: this.timeout,
|
|
4374
|
+
headers: this.buildHeaders(),
|
|
4375
|
+
params: query,
|
|
4376
|
+
});
|
|
4377
|
+
return new TheSeedRankingResponseDto(response.data);
|
|
4378
|
+
}
|
|
4379
|
+
catch (e) {
|
|
4380
|
+
if (e instanceof axios.AxiosError) {
|
|
4381
|
+
const errorBody = e.response.data;
|
|
4382
|
+
throw new MapleStoryApiError(errorBody);
|
|
4383
|
+
}
|
|
4384
|
+
throw e;
|
|
4385
|
+
}
|
|
4386
|
+
}
|
|
4387
|
+
/**
|
|
4388
|
+
* 업적 랭킹 정보를 조회합니다.
|
|
4389
|
+
* - 2023년 12월 22일 데이터부터 조회할 수 있습니다.
|
|
4390
|
+
* - 오전 8시 30분부터 오늘의 랭킹 정보를 조회할 수 있습니다.
|
|
4391
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
4392
|
+
*
|
|
4393
|
+
* @param filterOptions 검색 기준
|
|
4394
|
+
* @param dateOptions 조회 기준일 (KST)
|
|
4395
|
+
*/
|
|
4396
|
+
async getAchievementRanking(filterOptions, dateOptions) {
|
|
4397
|
+
const query = {
|
|
4398
|
+
date: MapleStoryApi.toDateString({
|
|
4399
|
+
year: 2023,
|
|
4400
|
+
month: 12,
|
|
4401
|
+
day: 22
|
|
4402
|
+
}, dateOptions),
|
|
4403
|
+
};
|
|
4404
|
+
if (filterOptions) {
|
|
4405
|
+
const { ocid, page } = filterOptions;
|
|
4406
|
+
query.ocid = ocid;
|
|
4407
|
+
query.page = page;
|
|
4408
|
+
}
|
|
4409
|
+
try {
|
|
4410
|
+
const path = 'maplestory/v1/ranking/achievement';
|
|
4411
|
+
const response = await axios__default["default"].get(path, {
|
|
4412
|
+
baseURL: MapleStoryApi.BASE_URL,
|
|
4413
|
+
timeout: this.timeout,
|
|
4414
|
+
headers: this.buildHeaders(),
|
|
4415
|
+
params: query
|
|
4416
|
+
});
|
|
4417
|
+
return new AchievementRankingResponseDto(response.data);
|
|
4418
|
+
}
|
|
4419
|
+
catch (e) {
|
|
4420
|
+
if (e instanceof axios.AxiosError) {
|
|
4421
|
+
const errorBody = e.response.data;
|
|
4422
|
+
throw new MapleStoryApiError(errorBody);
|
|
4423
|
+
}
|
|
4424
|
+
throw e;
|
|
4425
|
+
}
|
|
4426
|
+
}
|
|
4427
|
+
//#endregion
|
|
307
4428
|
/**
|
|
308
4429
|
* 서버 점검 정보를 조회합니다.
|
|
4430
|
+
* - 2023년 12월 22일 데이터부터 조회할 수 있습니다.
|
|
4431
|
+
* - 오전 8시 30분부터 오늘의 랭킹 정보를 조회할 수 있습니다.
|
|
4432
|
+
* - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
|
|
309
4433
|
*/
|
|
310
4434
|
async getInspectionInfo() {
|
|
311
4435
|
const xmlBuilder = new xml2js__default["default"].Builder();
|
|
@@ -342,15 +4466,103 @@ class MapleStoryApi {
|
|
|
342
4466
|
}
|
|
343
4467
|
buildHeaders() {
|
|
344
4468
|
return {
|
|
345
|
-
'
|
|
4469
|
+
'x-nxopen-api-key': this.apiKey
|
|
346
4470
|
};
|
|
347
4471
|
}
|
|
4472
|
+
static toDateString(minDateOptions, dateOptions) {
|
|
4473
|
+
let date;
|
|
4474
|
+
if (dateOptions) {
|
|
4475
|
+
const { year: minYear, month: minMonth, day: minDay } = minDateOptions;
|
|
4476
|
+
const { year, month, day } = dateOptions;
|
|
4477
|
+
if (year < minYear || (year === minYear && month < minMonth) || (year === minYear && month === minMonth && day < minDay)) {
|
|
4478
|
+
throw new Error(`You can only retrieve data after ${minYear}-${minMonth}-${minDay}.`);
|
|
4479
|
+
}
|
|
4480
|
+
date = dayjs__default["default"](`${year}-${month}-${day}`).utcOffset(MapleStoryApi.kstOffset);
|
|
4481
|
+
}
|
|
4482
|
+
else {
|
|
4483
|
+
date = dayjs__default["default"]().utcOffset(MapleStoryApi.kstOffset);
|
|
4484
|
+
}
|
|
4485
|
+
return date.format('YYYY-MM-DD');
|
|
4486
|
+
}
|
|
348
4487
|
}
|
|
349
4488
|
|
|
4489
|
+
exports.AchievementRankingDto = AchievementRankingDto;
|
|
4490
|
+
exports.AchievementRankingResponseDto = AchievementRankingResponseDto;
|
|
4491
|
+
exports.CharacterAbilityDto = CharacterAbilityDto;
|
|
4492
|
+
exports.CharacterAbilityInfoDto = CharacterAbilityInfoDto;
|
|
4493
|
+
exports.CharacterAndroidCashItemEquipmentColoringPrismDto = CharacterAndroidCashItemEquipmentColoringPrismDto;
|
|
4494
|
+
exports.CharacterAndroidCashItemEquipmentDto = CharacterAndroidCashItemEquipmentDto;
|
|
4495
|
+
exports.CharacterAndroidCashItemEquipmentOptionDto = CharacterAndroidCashItemEquipmentOptionDto;
|
|
4496
|
+
exports.CharacterAndroidEquipmentDto = CharacterAndroidEquipmentDto;
|
|
4497
|
+
exports.CharacterAndroidEquipmentFaceDto = CharacterAndroidEquipmentFaceDto;
|
|
4498
|
+
exports.CharacterAndroidEquipmentHairDto = CharacterAndroidEquipmentHairDto;
|
|
4499
|
+
exports.CharacterBasicDto = CharacterBasicDto;
|
|
4500
|
+
exports.CharacterBeautyEquipmentDto = CharacterBeautyEquipmentDto;
|
|
4501
|
+
exports.CharacterBeautyEquipmentFaceDto = CharacterBeautyEquipmentFaceDto;
|
|
4502
|
+
exports.CharacterBeautyEquipmentHairDto = CharacterBeautyEquipmentHairDto;
|
|
4503
|
+
exports.CharacterCashItemEquipmentColoringPrismDto = CharacterCashItemEquipmentColoringPrismDto;
|
|
4504
|
+
exports.CharacterCashItemEquipmentDto = CharacterCashItemEquipmentDto;
|
|
4505
|
+
exports.CharacterCashItemEquipmentOptionDto = CharacterCashItemEquipmentOptionDto;
|
|
4506
|
+
exports.CharacterCashItemEquipmentPresetDto = CharacterCashItemEquipmentPresetDto;
|
|
4507
|
+
exports.CharacterDojangDto = CharacterDojangDto;
|
|
4508
|
+
exports.CharacterDto = CharacterDto;
|
|
4509
|
+
exports.CharacterHexaMatrixDto = CharacterHexaMatrixDto;
|
|
4510
|
+
exports.CharacterHexaMatrixEquipmentDto = CharacterHexaMatrixEquipmentDto;
|
|
4511
|
+
exports.CharacterHexaMatrixEquipmentLinkedSkillDto = CharacterHexaMatrixEquipmentLinkedSkillDto;
|
|
4512
|
+
exports.CharacterHexaMatrixStatCoreDto = CharacterHexaMatrixStatCoreDto;
|
|
4513
|
+
exports.CharacterHexaMatrixStatDto = CharacterHexaMatrixStatDto;
|
|
4514
|
+
exports.CharacterHyperStatDto = CharacterHyperStatDto;
|
|
4515
|
+
exports.CharacterHyperStatInfoDto = CharacterHyperStatInfoDto;
|
|
4516
|
+
exports.CharacterItemEquipmentAddOptionDto = CharacterItemEquipmentAddOptionDto;
|
|
4517
|
+
exports.CharacterItemEquipmentBaseOptionDto = CharacterItemEquipmentBaseOptionDto;
|
|
4518
|
+
exports.CharacterItemEquipmentDto = CharacterItemEquipmentDto;
|
|
4519
|
+
exports.CharacterItemEquipmentEtcOptionDto = CharacterItemEquipmentEtcOptionDto;
|
|
4520
|
+
exports.CharacterItemEquipmentExceptionalOptionDto = CharacterItemEquipmentExceptionalOptionDto;
|
|
4521
|
+
exports.CharacterItemEquipmentInfoDto = CharacterItemEquipmentInfoDto;
|
|
4522
|
+
exports.CharacterItemEquipmentStarforceOptionDto = CharacterItemEquipmentStarforceOptionDto;
|
|
4523
|
+
exports.CharacterItemEquipmentTitleDto = CharacterItemEquipmentTitleDto;
|
|
4524
|
+
exports.CharacterItemEquipmentTotalOptionDto = CharacterItemEquipmentTotalOptionDto;
|
|
4525
|
+
exports.CharacterLinkSkillDto = CharacterLinkSkillDto;
|
|
4526
|
+
exports.CharacterLinkSkillInfoDto = CharacterLinkSkillInfoDto;
|
|
4527
|
+
exports.CharacterPetEquipmentAutoSkillDto = CharacterPetEquipmentAutoSkillDto;
|
|
4528
|
+
exports.CharacterPetEquipmentDto = CharacterPetEquipmentDto;
|
|
4529
|
+
exports.CharacterPetEquipmentItemDto = CharacterPetEquipmentItemDto;
|
|
4530
|
+
exports.CharacterPetEquipmentItemOptionDto = CharacterPetEquipmentItemOptionDto;
|
|
4531
|
+
exports.CharacterPopularityDto = CharacterPopularityDto;
|
|
4532
|
+
exports.CharacterPropensityDto = CharacterPropensityDto;
|
|
4533
|
+
exports.CharacterSetEffectDto = CharacterSetEffectDto;
|
|
4534
|
+
exports.CharacterSetEffectInfoDto = CharacterSetEffectInfoDto;
|
|
4535
|
+
exports.CharacterSetEffectOptionInfoDto = CharacterSetEffectOptionInfoDto;
|
|
4536
|
+
exports.CharacterSkillDto = CharacterSkillDto;
|
|
4537
|
+
exports.CharacterSkillInfoDto = CharacterSkillInfoDto;
|
|
4538
|
+
exports.CharacterStatDto = CharacterStatDto;
|
|
4539
|
+
exports.CharacterSymbolEquipmentDto = CharacterSymbolEquipmentDto;
|
|
4540
|
+
exports.CharacterSymbolEquipmentInfoDto = CharacterSymbolEquipmentInfoDto;
|
|
4541
|
+
exports.CharacterVMatrixCodeEquipmentDto = CharacterVMatrixCodeEquipmentDto;
|
|
4542
|
+
exports.CharacterVMatrixDto = CharacterVMatrixDto;
|
|
350
4543
|
exports.CubeHistoryDto = CubeHistoryDto;
|
|
351
4544
|
exports.CubeHistoryResponseDto = CubeHistoryResponseDto;
|
|
352
4545
|
exports.CubeResultOptionDto = CubeResultOptionDto;
|
|
4546
|
+
exports.DojangRankingDto = DojangRankingDto;
|
|
4547
|
+
exports.DojangRankingResponseDto = DojangRankingResponseDto;
|
|
4548
|
+
exports.GuildBasicDto = GuildBasicDto;
|
|
4549
|
+
exports.GuildDto = GuildDto;
|
|
4550
|
+
exports.GuildRankingDto = GuildRankingDto;
|
|
4551
|
+
exports.GuildRankingResponseDto = GuildRankingResponseDto;
|
|
4552
|
+
exports.GuildSkillDto = GuildSkillDto;
|
|
353
4553
|
exports.InspectionInfoDto = InspectionInfoDto;
|
|
354
4554
|
exports.MapleStoryApi = MapleStoryApi;
|
|
355
4555
|
exports.MapleStoryApiError = MapleStoryApiError;
|
|
4556
|
+
exports.OverallRankingDto = OverallRankingDto;
|
|
4557
|
+
exports.OverallRankingResponseDto = OverallRankingResponseDto;
|
|
4558
|
+
exports.TheSeedRankingDto = TheSeedRankingDto;
|
|
4559
|
+
exports.TheSeedRankingResponseDto = TheSeedRankingResponseDto;
|
|
4560
|
+
exports.UnionDto = UnionDto;
|
|
4561
|
+
exports.UnionRaiderBlockControlPointDto = UnionRaiderBlockControlPointDto;
|
|
4562
|
+
exports.UnionRaiderBlockDto = UnionRaiderBlockDto;
|
|
4563
|
+
exports.UnionRaiderBlockPositionDto = UnionRaiderBlockPositionDto;
|
|
4564
|
+
exports.UnionRaiderDto = UnionRaiderDto;
|
|
4565
|
+
exports.UnionRaiderInnerStatDto = UnionRaiderInnerStatDto;
|
|
4566
|
+
exports.UnionRankingDto = UnionRankingDto;
|
|
4567
|
+
exports.UnionRankingResponseDto = UnionRankingResponseDto;
|
|
356
4568
|
exports.potentialOptionGradeFromString = potentialOptionGradeFromString;
|