maplestory-openapi 3.2.0 → 3.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/dist/cjs/_virtual/index.js_commonjs-exports2.js +2 -2
  2. package/dist/cjs/_virtual/index.js_commonjs-exports3.js +2 -2
  3. package/dist/cjs/maplestory/api/kms/dto/character/characterImage.js +2 -2
  4. package/dist/cjs/maplestory/api/kms/dto/character/characterOtherStat.js +62 -0
  5. package/dist/cjs/maplestory/api/kms/dto/character/characterRingExchangeSkillEquipment.js +34 -0
  6. package/dist/cjs/maplestory/api/kms/dto/history/cubeHistory.js +1 -6
  7. package/dist/cjs/maplestory/api/kms/kms.js +4 -0
  8. package/dist/cjs/maplestory/api/kms/mapleStoryApi.js +65 -9
  9. package/dist/cjs/node_modules/base64-js/index.js +1 -1
  10. package/dist/cjs/node_modules/buffer/index.js +2 -2
  11. package/dist/cjs/node_modules/ieee754/index.js +1 -1
  12. package/dist/esm/_virtual/index.js_commonjs-exports2.js +2 -2
  13. package/dist/esm/_virtual/index.js_commonjs-exports3.js +2 -2
  14. package/dist/esm/maplestory/api/kms/dto/character/characterImage.js +2 -2
  15. package/dist/esm/maplestory/api/kms/dto/character/characterOtherStat.js +56 -0
  16. package/dist/esm/maplestory/api/kms/dto/character/characterRingExchangeSkillEquipment.js +30 -0
  17. package/dist/esm/maplestory/api/kms/dto/history/cubeHistory.js +1 -6
  18. package/dist/esm/maplestory/api/kms/kms.js +1 -0
  19. package/dist/esm/maplestory/api/kms/mapleStoryApi.js +65 -9
  20. package/dist/esm/node_modules/base64-js/index.js +2 -2
  21. package/dist/esm/node_modules/buffer/index.js +2 -2
  22. package/dist/esm/node_modules/ieee754/index.js +2 -2
  23. package/package.json +1 -1
  24. package/types/maplestory/api/common/mapleStoryApi.d.ts +0 -16
  25. package/types/maplestory/api/kms/dto/character/characterImage.d.ts +2 -2
  26. package/types/maplestory/api/kms/dto/character/characterOtherStat.d.ts +43 -0
  27. package/types/maplestory/api/kms/dto/character/characterRingExchangeSkillEquipment.d.ts +23 -0
  28. package/types/maplestory/api/kms/dto/history/cubeHistory.d.ts +0 -4
  29. package/types/maplestory/api/kms/index.d.ts +1 -0
  30. package/types/maplestory/api/kms/mapleStoryApi.d.ts +26 -16
  31. package/types/maplestory/api/kms/response/character/characterOtherStatBody.d.ts +12 -0
  32. package/types/maplestory/api/kms/response/character/characterRingExchangeSkillEquipmentBody.d.ts +6 -0
  33. package/types/maplestory/api/kms/response/history/cubeHistoryBody.d.ts +0 -1
@@ -2,6 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var base64Js = {};
5
+ var ieee754 = {};
6
6
 
7
- exports.__exports = base64Js;
7
+ exports.__exports = ieee754;
@@ -2,6 +2,6 @@
2
2
 
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
- var ieee754 = {};
5
+ var base64Js = {};
6
6
 
7
- exports.__exports = ieee754;
7
+ exports.__exports = base64Js;
@@ -45,11 +45,11 @@ class CharacterImageDto extends characterImage.CharacterImageDto {
45
45
  */
46
46
  emotionFrame;
47
47
  /**
48
- * 가로 길이. 배경 크기에 해당함, 96 (default) ~ 1000
48
+ * 가로 길이. 배경 크기에 해당함
49
49
  */
50
50
  width;
51
51
  /**
52
- * 세로 길이. 배경 크기에 해당함, 96 (default) ~ 1000
52
+ * 세로 길이. 배경 크기에 해당함
53
53
  */
54
54
  height;
55
55
  /**
@@ -0,0 +1,62 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ /**
6
+ * 캐릭터 기타 능력치 영향 요소 정보
7
+ */
8
+ class CharacterOtherStatDto {
9
+ /**
10
+ * 조회 기준일 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
11
+ */
12
+ date;
13
+ /**
14
+ * 능력치에 영향을 주는 요소 및 스탯 정보
15
+ */
16
+ otherStat;
17
+ constructor(obj) {
18
+ const { date, other_stat } = obj;
19
+ this.date = date ? new Date(date) : null;
20
+ this.otherStat = other_stat?.map((stat) => new CharacterOtherStatDetailDto(stat)) ?? [];
21
+ }
22
+ }
23
+ /**
24
+ * 능력치에 영향을 주는 요소 및 스탯 정보
25
+ */
26
+ class CharacterOtherStatDetailDto {
27
+ /**
28
+ * 스탯 타입
29
+ */
30
+ otherStatType;
31
+ /**
32
+ * 스탯 정보
33
+ */
34
+ statInfo;
35
+ constructor(obj) {
36
+ const { other_stat_type, stat_info } = obj;
37
+ this.otherStatType = other_stat_type;
38
+ this.statInfo = stat_info.map((info) => new CharacterOtherStatInfoDto(info));
39
+ }
40
+ }
41
+ /**
42
+ * 스탯 정보
43
+ */
44
+ class CharacterOtherStatInfoDto {
45
+ /**
46
+ * 스탯 명
47
+ */
48
+ statName;
49
+ /**
50
+ * 스탯 값
51
+ */
52
+ statValue;
53
+ constructor(obj) {
54
+ const { stat_name, stat_value } = obj;
55
+ this.statName = stat_name;
56
+ this.statValue = stat_value;
57
+ }
58
+ }
59
+
60
+ exports.CharacterOtherStatDetailDto = CharacterOtherStatDetailDto;
61
+ exports.CharacterOtherStatDto = CharacterOtherStatDto;
62
+ exports.CharacterOtherStatInfoDto = CharacterOtherStatInfoDto;
@@ -0,0 +1,34 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ /**
6
+ * 캐릭터 링 익스체인지 스킬 등록 장비 정보
7
+ */
8
+ class CharacterRingExchangeSkillEquipmentDto {
9
+ /**
10
+ * 조회 기준일 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
11
+ */
12
+ date;
13
+ /**
14
+ * 캐릭터 직업
15
+ */
16
+ characterClass;
17
+ /**
18
+ * 링 익스체인지에 등록된 특수 반지
19
+ */
20
+ specialRingExchangeName;
21
+ /**
22
+ * 링 익스체인지에 등록된 특수 반지 레벨
23
+ */
24
+ specialRingExchangeLevel;
25
+ constructor(obj) {
26
+ const { date, character_class, special_ring_exchange_name, special_ring_exchange_level } = obj;
27
+ this.date = date ? new Date(date) : null;
28
+ this.characterClass = character_class ?? '';
29
+ this.specialRingExchangeName = special_ring_exchange_name ?? null;
30
+ this.specialRingExchangeLevel = special_ring_exchange_level ?? null;
31
+ }
32
+ }
33
+
34
+ exports.CharacterRingExchangeSkillEquipmentDto = CharacterRingExchangeSkillEquipmentDto;
@@ -16,10 +16,6 @@ class CubeHistoryDto {
16
16
  * 캐릭터 명
17
17
  */
18
18
  characterName;
19
- /**
20
- * 월드 명
21
- */
22
- worldName;
23
19
  /**
24
20
  * 사용 일시
25
21
  */
@@ -81,10 +77,9 @@ class CubeHistoryDto {
81
77
  */
82
78
  afterAdditionalPotentialOption;
83
79
  constructor(obj) {
84
- 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;
80
+ const { id, character_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;
85
81
  this.id = id;
86
82
  this.characterName = character_name;
87
- this.worldName = world_name;
88
83
  this.dateCreate = new Date(date_create);
89
84
  this.cubeType = cube_type;
90
85
  this.itemUpgradeResult = item_upgrade_result;
@@ -16,6 +16,7 @@ var characterHyperStat = require('./dto/character/characterHyperStat.js');
16
16
  var characterImage = require('./dto/character/characterImage.js');
17
17
  var characterItemEquipment = require('./dto/character/characterItemEquipment.js');
18
18
  var characterLinkSkill = require('./dto/character/characterLinkSkill.js');
19
+ var characterOtherStat = require('./dto/character/characterOtherStat.js');
19
20
  var characterPetEquipment = require('./dto/character/characterPetEquipment.js');
20
21
  var characterPopularity = require('./dto/character/characterPopularity.js');
21
22
  var characterPropensity = require('./dto/character/characterPropensity.js');
@@ -98,6 +99,9 @@ exports.CharacterItemEquipmentTitleDto = characterItemEquipment.CharacterItemEqu
98
99
  exports.CharacterItemEquipmentTotalOptionDto = characterItemEquipment.CharacterItemEquipmentTotalOptionDto;
99
100
  exports.CharacterLinkSkillDto = characterLinkSkill.CharacterLinkSkillDto;
100
101
  exports.CharacterLinkSkillInfoDto = characterLinkSkill.CharacterLinkSkillInfoDto;
102
+ exports.CharacterOtherStatDetailDto = characterOtherStat.CharacterOtherStatDetailDto;
103
+ exports.CharacterOtherStatDto = characterOtherStat.CharacterOtherStatDto;
104
+ exports.CharacterOtherStatInfoDto = characterOtherStat.CharacterOtherStatInfoDto;
101
105
  exports.CharacterPetEquipmentAutoSkillDto = characterPetEquipment.CharacterPetEquipmentAutoSkillDto;
102
106
  exports.CharacterPetEquipmentDto = characterPetEquipment.CharacterPetEquipmentDto;
103
107
  exports.CharacterPetEquipmentItemDto = characterPetEquipment.CharacterPetEquipmentItemDto;
@@ -18,9 +18,11 @@ var characterHyperStat = require('./dto/character/characterHyperStat.js');
18
18
  var characterImage$1 = require('./dto/character/characterImage.js');
19
19
  var characterItemEquipment = require('./dto/character/characterItemEquipment.js');
20
20
  var characterLinkSkill = require('./dto/character/characterLinkSkill.js');
21
+ var characterOtherStat = require('./dto/character/characterOtherStat.js');
21
22
  var characterPetEquipment = require('./dto/character/characterPetEquipment.js');
22
23
  var characterPopularity = require('./dto/character/characterPopularity.js');
23
24
  var characterPropensity = require('./dto/character/characterPropensity.js');
25
+ var characterRingExchangeSkillEquipment = require('./dto/character/characterRingExchangeSkillEquipment.js');
24
26
  var characterSetEffect = require('./dto/character/characterSetEffect.js');
25
27
  var characterSkill = require('./dto/character/characterSkill.js');
26
28
  var characterStat = require('./dto/character/characterStat.js');
@@ -96,7 +98,7 @@ class MapleStoryApi extends mapleStoryApi.MapleStoryApi {
96
98
  const { data } = await this.client.get(path);
97
99
  return new achievement.AchievementDto(data);
98
100
  }
99
- //#endregin
101
+ //#endregion
100
102
  //#region 캐릭터 정보 조회
101
103
  /**
102
104
  * 캐릭터 식별자(ocid)를 조회합니다.
@@ -165,18 +167,14 @@ class MapleStoryApi extends mapleStoryApi.MapleStoryApi {
165
167
  const wmotion = imageOptions?.wmotion ?? characterImage.CharacterImageWeaponMotion.Default;
166
168
  const actionFrame = imageOptions?.actionFrame ?? 0;
167
169
  const emotionFrame = imageOptions?.emotionFrame ?? 0;
168
- const width = 96;
169
- const height = 96;
170
- const x = imageOptions?.x ?? null;
171
- const y = imageOptions?.y ?? null;
170
+ const width = 300;
171
+ const height = 300;
172
+ const x = 150;
173
+ const y = 200;
172
174
  const query = {
173
175
  action: `${action}.${actionFrame}`,
174
176
  emotion: `${emotion}.${emotionFrame}`,
175
177
  wmotion,
176
- width,
177
- height,
178
- x,
179
- y,
180
178
  };
181
179
  const urlImageToBase64 = async (path, query) => {
182
180
  const { data, headers } = await axios__default["default"].get(path, {
@@ -731,6 +729,64 @@ class MapleStoryApi extends mapleStoryApi.MapleStoryApi {
731
729
  });
732
730
  return new characterDojang.CharacterDojangDto(data);
733
731
  }
732
+ /**
733
+ * 능력치에 영향을 주는 요소 중 다른 조회에서 능력치 확인이 어려운 정보를 조회합니다.
734
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
735
+ * - 2025년 8월 21일 데이터부터 조회할 수 있습니다.
736
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 수 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 수 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23일 00시 사이 데이터가 조회 됩니다.)
737
+ * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
738
+ * - 해당 API는 메이플스토리 한국의 데이터가 제공됩니다.
739
+ *
740
+ * @param ocid 캐릭터 식별자
741
+ * @param dateOptions 조회 기준일 (KST)
742
+ */
743
+ async getCharacterOtherStat(ocid, dateOptions) {
744
+ const path = `${this.subUrl}/v1/character/other-stat`;
745
+ const date = dateOptions
746
+ ? this.toDateString(dateOptions, {
747
+ year: 2025,
748
+ month: 8,
749
+ day: 21,
750
+ })
751
+ : undefined;
752
+ const query = {
753
+ ocid: ocid,
754
+ date: date,
755
+ };
756
+ const { data } = await this.client.get(path, {
757
+ params: query,
758
+ });
759
+ return new characterOtherStat.CharacterOtherStatDto(data);
760
+ }
761
+ /**
762
+ * 링 익스체인지 스킬 등록 장비를 조회합니다.
763
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
764
+ * - 2025년 8월 21일 데이터부터 조회할 수 있습니다.
765
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 수 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 수 있습니다. (8월 22일 데이터 조회 시, 22일 00시부터 23일 00시 사이 데이터가 조회 됩니다.)
766
+ * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
767
+ * - 해당 API는 메이플스토리 한국의 데이터가 제공됩니다.
768
+ *
769
+ * @param ocid 캐릭터 식별자
770
+ * @param dateOptions 조회 기준일 (KST)
771
+ */
772
+ async getCharacterRingExchangeSkillEquipment(ocid, dateOptions) {
773
+ const path = `${this.subUrl}/v1/character/ring-exchange-skill-equipment`;
774
+ const date = dateOptions
775
+ ? this.toDateString(dateOptions, {
776
+ year: 2025,
777
+ month: 8,
778
+ day: 21,
779
+ })
780
+ : undefined;
781
+ const query = {
782
+ ocid: ocid,
783
+ date: date,
784
+ };
785
+ const { data } = await this.client.get(path, {
786
+ params: query,
787
+ });
788
+ return new characterRingExchangeSkillEquipment.CharacterRingExchangeSkillEquipmentDto(data);
789
+ }
734
790
  //#endregion
735
791
  //#region 유니온 정보 조회
736
792
  /**
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('../../_virtual/index.js_commonjs-exports2.js');
3
+ var index = require('../../_virtual/index.js_commonjs-exports3.js');
4
4
 
5
5
  index.__exports.byteLength = byteLength;
6
6
  index.__exports.toByteArray = toByteArray;
@@ -3,8 +3,8 @@
3
3
  var index = require('../../_virtual/index.js_commonjs-exports.js');
4
4
  require('../base64-js/index.js');
5
5
  require('../ieee754/index.js');
6
- var index$1 = require('../../_virtual/index.js_commonjs-exports2.js');
7
- var index$2 = require('../../_virtual/index.js_commonjs-exports3.js');
6
+ var index$1 = require('../../_virtual/index.js_commonjs-exports3.js');
7
+ var index$2 = require('../../_virtual/index.js_commonjs-exports2.js');
8
8
 
9
9
  /*!
10
10
  * The buffer module from node.js, for the browser.
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var index = require('../../_virtual/index.js_commonjs-exports3.js');
3
+ var index = require('../../_virtual/index.js_commonjs-exports2.js');
4
4
 
5
5
  /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
6
6
 
@@ -1,3 +1,3 @@
1
- var base64Js = {};
1
+ var ieee754 = {};
2
2
 
3
- export { base64Js as __exports };
3
+ export { ieee754 as __exports };
@@ -1,3 +1,3 @@
1
- var ieee754 = {};
1
+ var base64Js = {};
2
2
 
3
- export { ieee754 as __exports };
3
+ export { base64Js as __exports };
@@ -41,11 +41,11 @@ class CharacterImageDto extends CharacterImageDto$1 {
41
41
  */
42
42
  emotionFrame;
43
43
  /**
44
- * 가로 길이. 배경 크기에 해당함, 96 (default) ~ 1000
44
+ * 가로 길이. 배경 크기에 해당함
45
45
  */
46
46
  width;
47
47
  /**
48
- * 세로 길이. 배경 크기에 해당함, 96 (default) ~ 1000
48
+ * 세로 길이. 배경 크기에 해당함
49
49
  */
50
50
  height;
51
51
  /**
@@ -0,0 +1,56 @@
1
+ /**
2
+ * 캐릭터 기타 능력치 영향 요소 정보
3
+ */
4
+ class CharacterOtherStatDto {
5
+ /**
6
+ * 조회 기준일 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
7
+ */
8
+ date;
9
+ /**
10
+ * 능력치에 영향을 주는 요소 및 스탯 정보
11
+ */
12
+ otherStat;
13
+ constructor(obj) {
14
+ const { date, other_stat } = obj;
15
+ this.date = date ? new Date(date) : null;
16
+ this.otherStat = other_stat?.map((stat) => new CharacterOtherStatDetailDto(stat)) ?? [];
17
+ }
18
+ }
19
+ /**
20
+ * 능력치에 영향을 주는 요소 및 스탯 정보
21
+ */
22
+ class CharacterOtherStatDetailDto {
23
+ /**
24
+ * 스탯 타입
25
+ */
26
+ otherStatType;
27
+ /**
28
+ * 스탯 정보
29
+ */
30
+ statInfo;
31
+ constructor(obj) {
32
+ const { other_stat_type, stat_info } = obj;
33
+ this.otherStatType = other_stat_type;
34
+ this.statInfo = stat_info.map((info) => new CharacterOtherStatInfoDto(info));
35
+ }
36
+ }
37
+ /**
38
+ * 스탯 정보
39
+ */
40
+ class CharacterOtherStatInfoDto {
41
+ /**
42
+ * 스탯 명
43
+ */
44
+ statName;
45
+ /**
46
+ * 스탯 값
47
+ */
48
+ statValue;
49
+ constructor(obj) {
50
+ const { stat_name, stat_value } = obj;
51
+ this.statName = stat_name;
52
+ this.statValue = stat_value;
53
+ }
54
+ }
55
+
56
+ export { CharacterOtherStatDetailDto, CharacterOtherStatDto, CharacterOtherStatInfoDto };
@@ -0,0 +1,30 @@
1
+ /**
2
+ * 캐릭터 링 익스체인지 스킬 등록 장비 정보
3
+ */
4
+ class CharacterRingExchangeSkillEquipmentDto {
5
+ /**
6
+ * 조회 기준일 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
7
+ */
8
+ date;
9
+ /**
10
+ * 캐릭터 직업
11
+ */
12
+ characterClass;
13
+ /**
14
+ * 링 익스체인지에 등록된 특수 반지
15
+ */
16
+ specialRingExchangeName;
17
+ /**
18
+ * 링 익스체인지에 등록된 특수 반지 레벨
19
+ */
20
+ specialRingExchangeLevel;
21
+ constructor(obj) {
22
+ const { date, character_class, special_ring_exchange_name, special_ring_exchange_level } = obj;
23
+ this.date = date ? new Date(date) : null;
24
+ this.characterClass = character_class ?? '';
25
+ this.specialRingExchangeName = special_ring_exchange_name ?? null;
26
+ this.specialRingExchangeLevel = special_ring_exchange_level ?? null;
27
+ }
28
+ }
29
+
30
+ export { CharacterRingExchangeSkillEquipmentDto };
@@ -12,10 +12,6 @@ class CubeHistoryDto {
12
12
  * 캐릭터 명
13
13
  */
14
14
  characterName;
15
- /**
16
- * 월드 명
17
- */
18
- worldName;
19
15
  /**
20
16
  * 사용 일시
21
17
  */
@@ -77,10 +73,9 @@ class CubeHistoryDto {
77
73
  */
78
74
  afterAdditionalPotentialOption;
79
75
  constructor(obj) {
80
- 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;
76
+ const { id, character_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;
81
77
  this.id = id;
82
78
  this.characterName = character_name;
83
- this.worldName = world_name;
84
79
  this.dateCreate = new Date(date_create);
85
80
  this.cubeType = cube_type;
86
81
  this.itemUpgradeResult = item_upgrade_result;
@@ -12,6 +12,7 @@ export { CharacterHyperStatDto, CharacterHyperStatPresetDto } from './dto/charac
12
12
  export { CharacterImageDto } from './dto/character/characterImage.js';
13
13
  export { CharacterItemEquipmentAddOptionDto, CharacterItemEquipmentBaseOptionDto, CharacterItemEquipmentDragonInfoDto, CharacterItemEquipmentDto, CharacterItemEquipmentEtcOptionDto, CharacterItemEquipmentExceptionalOptionDto, CharacterItemEquipmentInfoDto, CharacterItemEquipmentMechanicInfoDto, CharacterItemEquipmentMedalShapeDto, CharacterItemEquipmentStarforceOptionDto, CharacterItemEquipmentTitleDto, CharacterItemEquipmentTotalOptionDto } from './dto/character/characterItemEquipment.js';
14
14
  export { CharacterLinkSkillDto, CharacterLinkSkillInfoDto } from './dto/character/characterLinkSkill.js';
15
+ export { CharacterOtherStatDetailDto, CharacterOtherStatDto, CharacterOtherStatInfoDto } from './dto/character/characterOtherStat.js';
15
16
  export { CharacterPetEquipmentAutoSkillDto, CharacterPetEquipmentDto, CharacterPetEquipmentItemDto, CharacterPetEquipmentItemOptionDto } from './dto/character/characterPetEquipment.js';
16
17
  export { CharacterPopularityDto } from './dto/character/characterPopularity.js';
17
18
  export { CharacterPropensityDto } from './dto/character/characterPropensity.js';
@@ -14,9 +14,11 @@ import { CharacterHyperStatDto } from './dto/character/characterHyperStat.js';
14
14
  import { CharacterImageDto } from './dto/character/characterImage.js';
15
15
  import { CharacterItemEquipmentDto } from './dto/character/characterItemEquipment.js';
16
16
  import { CharacterLinkSkillDto } from './dto/character/characterLinkSkill.js';
17
+ import { CharacterOtherStatDto } from './dto/character/characterOtherStat.js';
17
18
  import { CharacterPetEquipmentDto } from './dto/character/characterPetEquipment.js';
18
19
  import { CharacterPopularityDto } from './dto/character/characterPopularity.js';
19
20
  import { CharacterPropensityDto } from './dto/character/characterPropensity.js';
21
+ import { CharacterRingExchangeSkillEquipmentDto } from './dto/character/characterRingExchangeSkillEquipment.js';
20
22
  import { CharacterSetEffectDto } from './dto/character/characterSetEffect.js';
21
23
  import { CharacterSkillDto } from './dto/character/characterSkill.js';
22
24
  import { CharacterStatDto } from './dto/character/characterStat.js';
@@ -87,7 +89,7 @@ class MapleStoryApi extends MapleStoryApi$1 {
87
89
  const { data } = await this.client.get(path);
88
90
  return new AchievementDto(data);
89
91
  }
90
- //#endregin
92
+ //#endregion
91
93
  //#region 캐릭터 정보 조회
92
94
  /**
93
95
  * 캐릭터 식별자(ocid)를 조회합니다.
@@ -156,18 +158,14 @@ class MapleStoryApi extends MapleStoryApi$1 {
156
158
  const wmotion = imageOptions?.wmotion ?? CharacterImageWeaponMotion.Default;
157
159
  const actionFrame = imageOptions?.actionFrame ?? 0;
158
160
  const emotionFrame = imageOptions?.emotionFrame ?? 0;
159
- const width = 96;
160
- const height = 96;
161
- const x = imageOptions?.x ?? null;
162
- const y = imageOptions?.y ?? null;
161
+ const width = 300;
162
+ const height = 300;
163
+ const x = 150;
164
+ const y = 200;
163
165
  const query = {
164
166
  action: `${action}.${actionFrame}`,
165
167
  emotion: `${emotion}.${emotionFrame}`,
166
168
  wmotion,
167
- width,
168
- height,
169
- x,
170
- y,
171
169
  };
172
170
  const urlImageToBase64 = async (path, query) => {
173
171
  const { data, headers } = await axios.get(path, {
@@ -722,6 +720,64 @@ class MapleStoryApi extends MapleStoryApi$1 {
722
720
  });
723
721
  return new CharacterDojangDto(data);
724
722
  }
723
+ /**
724
+ * 능력치에 영향을 주는 요소 중 다른 조회에서 능력치 확인이 어려운 정보를 조회합니다.
725
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
726
+ * - 2025년 8월 21일 데이터부터 조회할 수 있습니다.
727
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 수 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 수 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23일 00시 사이 데이터가 조회 됩니다.)
728
+ * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
729
+ * - 해당 API는 메이플스토리 한국의 데이터가 제공됩니다.
730
+ *
731
+ * @param ocid 캐릭터 식별자
732
+ * @param dateOptions 조회 기준일 (KST)
733
+ */
734
+ async getCharacterOtherStat(ocid, dateOptions) {
735
+ const path = `${this.subUrl}/v1/character/other-stat`;
736
+ const date = dateOptions
737
+ ? this.toDateString(dateOptions, {
738
+ year: 2025,
739
+ month: 8,
740
+ day: 21,
741
+ })
742
+ : undefined;
743
+ const query = {
744
+ ocid: ocid,
745
+ date: date,
746
+ };
747
+ const { data } = await this.client.get(path, {
748
+ params: query,
749
+ });
750
+ return new CharacterOtherStatDto(data);
751
+ }
752
+ /**
753
+ * 링 익스체인지 스킬 등록 장비를 조회합니다.
754
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
755
+ * - 2025년 8월 21일 데이터부터 조회할 수 있습니다.
756
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 수 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 수 있습니다. (8월 22일 데이터 조회 시, 22일 00시부터 23일 00시 사이 데이터가 조회 됩니다.)
757
+ * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
758
+ * - 해당 API는 메이플스토리 한국의 데이터가 제공됩니다.
759
+ *
760
+ * @param ocid 캐릭터 식별자
761
+ * @param dateOptions 조회 기준일 (KST)
762
+ */
763
+ async getCharacterRingExchangeSkillEquipment(ocid, dateOptions) {
764
+ const path = `${this.subUrl}/v1/character/ring-exchange-skill-equipment`;
765
+ const date = dateOptions
766
+ ? this.toDateString(dateOptions, {
767
+ year: 2025,
768
+ month: 8,
769
+ day: 21,
770
+ })
771
+ : undefined;
772
+ const query = {
773
+ ocid: ocid,
774
+ date: date,
775
+ };
776
+ const { data } = await this.client.get(path, {
777
+ params: query,
778
+ });
779
+ return new CharacterRingExchangeSkillEquipmentDto(data);
780
+ }
725
781
  //#endregion
726
782
  //#region 유니온 정보 조회
727
783
  /**
@@ -1,5 +1,5 @@
1
- import { __exports as base64Js } from '../../_virtual/index.js_commonjs-exports2.js';
2
- export { __exports as default } from '../../_virtual/index.js_commonjs-exports2.js';
1
+ import { __exports as base64Js } from '../../_virtual/index.js_commonjs-exports3.js';
2
+ export { __exports as default } from '../../_virtual/index.js_commonjs-exports3.js';
3
3
 
4
4
  base64Js.byteLength = byteLength;
5
5
  base64Js.toByteArray = toByteArray;
@@ -2,8 +2,8 @@ import { __exports as buffer } from '../../_virtual/index.js_commonjs-exports.js
2
2
  export { __exports as default } from '../../_virtual/index.js_commonjs-exports.js';
3
3
  import '../base64-js/index.js';
4
4
  import '../ieee754/index.js';
5
- import { __exports as base64Js } from '../../_virtual/index.js_commonjs-exports2.js';
6
- import { __exports as ieee754 } from '../../_virtual/index.js_commonjs-exports3.js';
5
+ import { __exports as base64Js } from '../../_virtual/index.js_commonjs-exports3.js';
6
+ import { __exports as ieee754 } from '../../_virtual/index.js_commonjs-exports2.js';
7
7
 
8
8
  /*!
9
9
  * The buffer module from node.js, for the browser.
@@ -1,5 +1,5 @@
1
- import { __exports as ieee754 } from '../../_virtual/index.js_commonjs-exports3.js';
2
- export { __exports as default } from '../../_virtual/index.js_commonjs-exports3.js';
1
+ import { __exports as ieee754 } from '../../_virtual/index.js_commonjs-exports2.js';
2
+ export { __exports as default } from '../../_virtual/index.js_commonjs-exports2.js';
3
3
 
4
4
  /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
5
5
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "maplestory-openapi",
3
- "version": "3.2.0",
3
+ "version": "3.3.0",
4
4
  "description": "This JavaScript library enables the use of the MapleStory OpenAPI of Nexon.",
5
5
  "keywords": [
6
6
  "maplestory",
@@ -120,21 +120,5 @@ type CharacterImageOptions = {
120
120
  * Character emotion frame
121
121
  */
122
122
  emotionFrame?: number;
123
- /**
124
- * Horizontal length (corresponding to the background size, 96 (default) ~ 1000)
125
- */
126
- width?: number;
127
- /**
128
- * Vertical length (corresponding to the background size, 96 (default) ~ 1000)
129
- */
130
- height?: number;
131
- /**
132
- * Horizontal coordinate of the character (coordinate range 0 < x < width, 0 is the left starting point)
133
- */
134
- x?: number;
135
- /**
136
- * Vertical coordinate of the character (coordinate range 0 < y < height, 0 is the top starting point)
137
- */
138
- y?: number;
139
123
  };
140
124
  export {};
@@ -41,11 +41,11 @@ export declare class CharacterImageDto extends base.CharacterImageDto {
41
41
  */
42
42
  emotionFrame: number | null;
43
43
  /**
44
- * 가로 길이. 배경 크기에 해당함, 96 (default) ~ 1000
44
+ * 가로 길이. 배경 크기에 해당함
45
45
  */
46
46
  width: number;
47
47
  /**
48
- * 세로 길이. 배경 크기에 해당함, 96 (default) ~ 1000
48
+ * 세로 길이. 배경 크기에 해당함
49
49
  */
50
50
  height: number;
51
51
  /**
@@ -0,0 +1,43 @@
1
+ import { CharacterOtherStatBody, CharacterOtherStatDetailBody, CharacterOtherStatInfoBody } from '../../response/character/characterOtherStatBody';
2
+ /**
3
+ * 캐릭터 기타 능력치 영향 요소 정보
4
+ */
5
+ export declare class CharacterOtherStatDto {
6
+ /**
7
+ * 조회 기준일 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
8
+ */
9
+ date: Date | null;
10
+ /**
11
+ * 능력치에 영향을 주는 요소 및 스탯 정보
12
+ */
13
+ otherStat: CharacterOtherStatDetailDto[];
14
+ constructor(obj: CharacterOtherStatBody);
15
+ }
16
+ /**
17
+ * 능력치에 영향을 주는 요소 및 스탯 정보
18
+ */
19
+ export declare class CharacterOtherStatDetailDto {
20
+ /**
21
+ * 스탯 타입
22
+ */
23
+ otherStatType: string;
24
+ /**
25
+ * 스탯 정보
26
+ */
27
+ statInfo: CharacterOtherStatInfoDto[];
28
+ constructor(obj: CharacterOtherStatDetailBody);
29
+ }
30
+ /**
31
+ * 스탯 정보
32
+ */
33
+ export declare class CharacterOtherStatInfoDto {
34
+ /**
35
+ * 스탯 명
36
+ */
37
+ statName: string;
38
+ /**
39
+ * 스탯 값
40
+ */
41
+ statValue: string;
42
+ constructor(obj: CharacterOtherStatInfoBody);
43
+ }
@@ -0,0 +1,23 @@
1
+ import { CharacterRingExchangeSkillEquipmentBody } from '../../response/character/characterRingExchangeSkillEquipmentBody';
2
+ /**
3
+ * 캐릭터 링 익스체인지 스킬 등록 장비 정보
4
+ */
5
+ export declare class CharacterRingExchangeSkillEquipmentDto {
6
+ /**
7
+ * 조회 기준일 (KST, 일 단위 데이터로 시, 분은 일괄 0으로 표기)
8
+ */
9
+ date: Date | null;
10
+ /**
11
+ * 캐릭터 직업
12
+ */
13
+ characterClass: string;
14
+ /**
15
+ * 링 익스체인지에 등록된 특수 반지
16
+ */
17
+ specialRingExchangeName: string | null;
18
+ /**
19
+ * 링 익스체인지에 등록된 특수 반지 레벨
20
+ */
21
+ specialRingExchangeLevel: number | null;
22
+ constructor(obj: CharacterRingExchangeSkillEquipmentBody);
23
+ }
@@ -12,10 +12,6 @@ export declare class CubeHistoryDto {
12
12
  * 캐릭터 명
13
13
  */
14
14
  characterName: string;
15
- /**
16
- * 월드 명
17
- */
18
- worldName: string;
19
15
  /**
20
16
  * 사용 일시
21
17
  */
@@ -12,6 +12,7 @@ export * from './dto/character/characterHyperStat';
12
12
  export * from './dto/character/characterImage';
13
13
  export * from './dto/character/characterItemEquipment';
14
14
  export * from './dto/character/characterLinkSkill';
15
+ export * from './dto/character/characterOtherStat';
15
16
  export * from './dto/character/characterPetEquipment';
16
17
  export * from './dto/character/characterPopularity';
17
18
  export * from './dto/character/characterPropensity';
@@ -11,9 +11,11 @@ import { CharacterHyperStatDto } from './dto/character/characterHyperStat';
11
11
  import { CharacterImageDto } from './dto/character/characterImage';
12
12
  import { CharacterItemEquipmentDto } from './dto/character/characterItemEquipment';
13
13
  import { CharacterLinkSkillDto } from './dto/character/characterLinkSkill';
14
+ import { CharacterOtherStatDto } from './dto/character/characterOtherStat';
14
15
  import { CharacterPetEquipmentDto } from './dto/character/characterPetEquipment';
15
16
  import { CharacterPopularityDto } from './dto/character/characterPopularity';
16
17
  import { CharacterPropensityDto } from './dto/character/characterPropensity';
18
+ import { CharacterRingExchangeSkillEquipmentDto } from './dto/character/characterRingExchangeSkillEquipment';
17
19
  import { CharacterSetEffectDto } from './dto/character/characterSetEffect';
18
20
  import { CharacterSkillDto } from './dto/character/characterSkill';
19
21
  import { CharacterStatDto } from './dto/character/characterStat';
@@ -325,6 +327,30 @@ export declare class MapleStoryApi extends base.MapleStoryApi {
325
327
  * @param dateOptions 조회 기준일 (KST)
326
328
  */
327
329
  getCharacterDojang(ocid: string, dateOptions?: DateOptions): Promise<CharacterDojangDto>;
330
+ /**
331
+ * 능력치에 영향을 주는 요소 중 다른 조회에서 능력치 확인이 어려운 정보를 조회합니다.
332
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
333
+ * - 2025년 8월 21일 데이터부터 조회할 수 있습니다.
334
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 수 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 수 있습니다. (12월 22일 데이터 조회 시, 22일 00시부터 23일 00시 사이 데이터가 조회 됩니다.)
335
+ * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
336
+ * - 해당 API는 메이플스토리 한국의 데이터가 제공됩니다.
337
+ *
338
+ * @param ocid 캐릭터 식별자
339
+ * @param dateOptions 조회 기준일 (KST)
340
+ */
341
+ getCharacterOtherStat(ocid: string, dateOptions?: DateOptions): Promise<CharacterOtherStatDto>;
342
+ /**
343
+ * 링 익스체인지 스킬 등록 장비를 조회합니다.
344
+ * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
345
+ * - 2025년 8월 21일 데이터부터 조회할 수 있습니다.
346
+ * - 과거 데이터는 원하는 일자를 입력해 조회할 수 있으며, 전일 데이터는 다음날 오전 2시부터 확인할 수 있습니다. (8월 22일 데이터 조회 시, 22일 00시부터 23일 00시 사이 데이터가 조회 됩니다.)
347
+ * - 게임 콘텐츠 변경으로 ocid가 변경될 수 있습니다. ocid 기반 서비스 갱신 시 유의해 주시길 바랍니다.
348
+ * - 해당 API는 메이플스토리 한국의 데이터가 제공됩니다.
349
+ *
350
+ * @param ocid 캐릭터 식별자
351
+ * @param dateOptions 조회 기준일 (KST)
352
+ */
353
+ getCharacterRingExchangeSkillEquipment(ocid: string, dateOptions?: DateOptions): Promise<CharacterRingExchangeSkillEquipmentDto>;
328
354
  /**
329
355
  * 유니온 정보를 조회합니다.
330
356
  * - 메이플스토리 게임 데이터는 평균 15분 후 확인 가능합니다.
@@ -623,22 +649,6 @@ type CharacterImageOptions = {
623
649
  * 캐릭터 감정표현 프레임
624
650
  */
625
651
  emotionFrame?: number;
626
- /**
627
- * 가로 길이. 배경 크기에 해당함, 96 (default) ~ 1000
628
- */
629
- width?: number;
630
- /**
631
- * 세로 길이. 배경 크기에 해당함, 96 (default) ~ 1000
632
- */
633
- height?: number;
634
- /**
635
- * 캐릭터의 가로 좌표
636
- */
637
- x?: number;
638
- /**
639
- * 캐릭터의 세로 좌표.
640
- */
641
- y?: number;
642
652
  };
643
653
  type OverallRankingApiFilterOptions = {
644
654
  /**
@@ -0,0 +1,12 @@
1
+ export interface CharacterOtherStatBody {
2
+ date: string | null;
3
+ other_stat: CharacterOtherStatDetailBody[] | null;
4
+ }
5
+ export interface CharacterOtherStatDetailBody {
6
+ other_stat_type: string;
7
+ stat_info: CharacterOtherStatInfoBody[];
8
+ }
9
+ export interface CharacterOtherStatInfoBody {
10
+ stat_name: string;
11
+ stat_value: string;
12
+ }
@@ -0,0 +1,6 @@
1
+ export interface CharacterRingExchangeSkillEquipmentBody {
2
+ date?: string;
3
+ character_class?: string;
4
+ special_ring_exchange_name?: string;
5
+ special_ring_exchange_level?: number;
6
+ }
@@ -5,7 +5,6 @@ export type CubeResultOptionBody = {
5
5
  export type CubeHistoryBody = {
6
6
  id: string;
7
7
  character_name: string;
8
- world_name: string;
9
8
  date_create: string;
10
9
  cube_type: string;
11
10
  item_upgrade_result: string;