@ruvice/my-maple-models 1.0.0 → 1.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.
@@ -2,10 +2,14 @@ import { ItemEquipmentSlot } from "../maple/Equipment/equipmentTypes";
2
2
  import { Potential, CharacterClass, StatName, MapleServer } from "../maple/Generic/enums";
3
3
  export declare const ItemEquipmentSlotMappingSEA: Record<string, ItemEquipmentSlot>;
4
4
  export declare const ItemEquipmentSlotMappingKMS: Record<string, ItemEquipmentSlot>;
5
+ export declare const ItemEquipmentSlotMappingTMS: Record<string, ItemEquipmentSlot>;
5
6
  export declare const PotentialMappingSEA: Record<string, Potential>;
6
7
  export declare const PotentialMappingKMS: Record<string, Potential>;
8
+ export declare const PotentialMappingTMS: Record<string, Potential>;
7
9
  export declare const CharacterClassMappingSEA: Record<string, CharacterClass>;
8
10
  export declare const CharacterClassMappingKMS: Record<string, CharacterClass>;
11
+ export declare const CharacterClassMappingTMS: Record<string, CharacterClass>;
9
12
  export declare const StatMappingSEA: Record<string, StatName>;
10
13
  export declare const StatMappingKMS: Record<string, StatName>;
14
+ export declare const StatMappingTMS: Record<string, StatName>;
11
15
  export declare function toMapleServer(input: string): MapleServer | undefined;
@@ -52,6 +52,35 @@ export const ItemEquipmentSlotMappingKMS = {
52
52
  "얼굴장식": ItemEquipmentSlot.FaceAccessory,
53
53
  "눈장식": ItemEquipmentSlot.EyeAccessory
54
54
  };
55
+ export const ItemEquipmentSlotMappingTMS = {
56
+ // Standard equips
57
+ "帽子": ItemEquipmentSlot.Hat,
58
+ "上衣": ItemEquipmentSlot.Top,
59
+ "褲/裙": ItemEquipmentSlot.Bottom,
60
+ "鞋子": ItemEquipmentSlot.Shoes,
61
+ "手套": ItemEquipmentSlot.Glove,
62
+ "披風": ItemEquipmentSlot.Cape,
63
+ "耳環": ItemEquipmentSlot.Earring,
64
+ "腰帶": ItemEquipmentSlot.Belt,
65
+ "墜飾": ItemEquipmentSlot.Pendant,
66
+ "墜飾2": ItemEquipmentSlot.Pendant2,
67
+ "肩膀裝飾": ItemEquipmentSlot.ShoulderDecoration,
68
+ "臉飾": ItemEquipmentSlot.FaceAccessory,
69
+ "眼飾": ItemEquipmentSlot.EyeAccessory,
70
+ "武器": ItemEquipmentSlot.Weapon,
71
+ "輔助武器": ItemEquipmentSlot.SecondaryWeapons,
72
+ // Emblem vs Badge (TMS commonly uses these two distinct labels)
73
+ "徽章": ItemEquipmentSlot.Emblem,
74
+ "胸章": ItemEquipmentSlot.Badge,
75
+ "勳章": ItemEquipmentSlot.Medal,
76
+ "口袋道具": ItemEquipmentSlot.PocketItem,
77
+ "機器心臟": ItemEquipmentSlot.MechanicalHeart,
78
+ // Rings
79
+ "戒指1": ItemEquipmentSlot.Ring1,
80
+ "戒指2": ItemEquipmentSlot.Ring2,
81
+ "戒指3": ItemEquipmentSlot.Ring3,
82
+ "戒指4": ItemEquipmentSlot.Ring4,
83
+ };
55
84
  export const PotentialMappingSEA = {
56
85
  "Rare": Potential.Rare,
57
86
  "Epic": Potential.Epic,
@@ -64,6 +93,13 @@ export const PotentialMappingKMS = {
64
93
  "유니크": Potential.Unique,
65
94
  "레전드리": Potential.Legendary
66
95
  };
96
+ export const PotentialMappingTMS = {
97
+ // MapleStoryTW commonly: 特殊 -> 稀有 -> 罕見 -> 傳說
98
+ "特殊": Potential.Rare,
99
+ "稀有": Potential.Epic,
100
+ "罕見": Potential.Unique,
101
+ "傳說": Potential.Legendary,
102
+ };
67
103
  export const CharacterClassMappingSEA = {
68
104
  "Hero": CharacterClass.Hero,
69
105
  "Paladin": CharacterClass.Paladin,
@@ -113,7 +149,9 @@ export const CharacterClassMappingSEA = {
113
149
  "Ark": CharacterClass.Ark,
114
150
  "Hayato": CharacterClass.Hayato,
115
151
  "Kanna": CharacterClass.Kanna,
116
- "Ren": CharacterClass.Len
152
+ "Ren": CharacterClass.Len,
153
+ "Mo Xuan": CharacterClass.MoXuan,
154
+ "Lynn": CharacterClass.Lynn
117
155
  };
118
156
  export const CharacterClassMappingKMS = {
119
157
  "히어로": CharacterClass.Hero,
@@ -162,7 +200,64 @@ export const CharacterClassMappingKMS = {
162
200
  "바이퍼": CharacterClass.Viper,
163
201
  "캡틴": CharacterClass.Captain,
164
202
  "캐논슈터": CharacterClass.CannonMaster,
165
- "렌": CharacterClass.Len
203
+ "렌": CharacterClass.Len,
204
+ "묵현": CharacterClass.MoXuan,
205
+ "린": CharacterClass.Lynn,
206
+ "칸나": CharacterClass.Kanna,
207
+ "하야토": CharacterClass.Hayato
208
+ };
209
+ export const CharacterClassMappingTMS = {
210
+ "主教": CharacterClass.Bishop,
211
+ "亞克": CharacterClass.Ark,
212
+ "伊利恩": CharacterClass.Illium,
213
+ "傑諾": CharacterClass.Xenon,
214
+ "凱內西斯": CharacterClass.Kinesis,
215
+ "凱撒": CharacterClass.Kaiser,
216
+ "凱殷": CharacterClass.Kaine,
217
+ "劍豪": CharacterClass.Hayato,
218
+ "卡莉": CharacterClass.Khali,
219
+ "卡蒂娜": CharacterClass.Cadena,
220
+ "夜使者": CharacterClass.NightLord,
221
+ "夜光": CharacterClass.Luminous,
222
+ "大魔導士(冰、雷)": CharacterClass.ArchMageIL,
223
+ "大魔導士(火、毒)": CharacterClass.ArchMageFP,
224
+ "天使破壞者": CharacterClass.AngelicBuster,
225
+ "影武者": CharacterClass.BladeMaster,
226
+ "惡魔復仇者": CharacterClass.DemonAvenger,
227
+ "惡魔殺手": CharacterClass.DemonSlayer,
228
+ "烈焰巫師": CharacterClass.FlameWizard,
229
+ "狂狼勇士": CharacterClass.Aran,
230
+ "爆破者": CharacterClass.Blaster,
231
+ "班雷昂": CharacterClass.BattleMage,
232
+ "盜俠": CharacterClass.Shadower,
233
+ "神射手": CharacterClass.CrossbowMaster,
234
+ "精靈遊俠": CharacterClass.Mercedes,
235
+ "聖騎士": CharacterClass.Paladin,
236
+ "開拓者": CharacterClass.Pathfinder,
237
+ "陰陽師": CharacterClass.Kanna,
238
+ "英雄": CharacterClass.Hero,
239
+ "虎影": CharacterClass.HoYoung,
240
+ "墨玄": CharacterClass.MoXuan, // TODO: add CharacterClass.Mokhyeon (묵현) to enum, then map here
241
+ "槍神": CharacterClass.Captain,
242
+ "機甲戰神": CharacterClass.Mechanic,
243
+ "米哈逸": CharacterClass.Mihile,
244
+ "菈菈": CharacterClass.Lara,
245
+ "蓮": CharacterClass.Len,
246
+ "覺醒者": CharacterClass.Adele,
247
+ "追風者": CharacterClass.WindBreaker,
248
+ "暗夜行者": CharacterClass.NightWalker,
249
+ "狂豹獵人": CharacterClass.WildHunter,
250
+ "閃雷悍將": CharacterClass.Striker,
251
+ "幻影俠盜": CharacterClass.Phantom,
252
+ "黑騎士": CharacterClass.DarkKnight,
253
+ "劍士": CharacterClass.Viper,
254
+ "箭神": CharacterClass.Bowmaster,
255
+ "琳恩": CharacterClass.Lynn, // TODO: add CharacterClass.Lynn (린) to enum, then map here
256
+ "隱月": CharacterClass.Eunwol,
257
+ "神之子": CharacterClass.Zero,
258
+ "龍魔導士": CharacterClass.Evan,
259
+ "聖魂劍士": CharacterClass.SoulMaster,
260
+ "重砲指揮官": CharacterClass.CannonMaster,
166
261
  };
167
262
  export const StatMappingSEA = {
168
263
  "Minimum ATT Stat": StatName.MinimumAttStat,
@@ -242,6 +337,56 @@ export const StatMappingKMS = {
242
337
  "전투력": StatName.CombatPower,
243
338
  "소환수 지속시간 증가": StatName.SummonDurationIncrease
244
339
  };
340
+ export const StatMappingTMS = {
341
+ // Attack range / “stat attack”
342
+ "最低屬性攻擊力": StatName.MinimumAttStat,
343
+ "最高屬性攻擊力": StatName.MaximumAttStat,
344
+ // Damage
345
+ "傷害": StatName.Damage,
346
+ "BOSS怪物傷害": StatName.BossMonsterDamage,
347
+ "最終傷害": StatName.FinalDamage,
348
+ // Ignore / crit
349
+ "無視防禦率": StatName.IgnoreDef,
350
+ "爆擊機率": StatName.CriticalRate,
351
+ "爆擊傷害": StatName.CriticalDamage,
352
+ // Defensive / misc
353
+ "狀態異常耐性": StatName.StatusResistance,
354
+ "格擋": StatName.Stance, // TW label corresponds to “stance”
355
+ "防禦力": StatName.Def,
356
+ "移動速度": StatName.Speed,
357
+ "跳躍力": StatName.Jump,
358
+ // Forces
359
+ "星力": StatName.Starforce,
360
+ "神秘力量": StatName.ArcaneForce,
361
+ "真實之力": StatName.AuthenticForce,
362
+ // Primary stats
363
+ "STR": StatName.Str,
364
+ "DEX": StatName.Dex,
365
+ "INT": StatName.Int,
366
+ "LUK": StatName.Luk,
367
+ "HP": StatName.Hp,
368
+ "MP": StatName.Mp,
369
+ // Drop / meso / buffs
370
+ "道具掉落率": StatName.ItemDropRate,
371
+ "楓幣獲得量": StatName.MesoObtained,
372
+ "Buff持續時間": StatName.BuffDuration,
373
+ // Speed / cooldown / special
374
+ "攻擊速度": StatName.AttackSpeed,
375
+ "一般怪物傷害": StatName.NormalMonsterDamage,
376
+ "冷卻時間減少(秒)": StatName.CooldownReductionSec,
377
+ "冷卻時間減少(%)": StatName.CooldownReductionPercent,
378
+ "未套用冷卻時間": StatName.UnaffectedByCooldown,
379
+ "無視屬性耐性": StatName.IgnoreElementalResistance,
380
+ "狀態異常追加傷害": StatName.AbnormalStatusAdditionalDamage,
381
+ // EXP
382
+ "獲得額外經驗值": StatName.AdditionalExpObtained,
383
+ // Attack / power
384
+ "攻擊力": StatName.Att,
385
+ "魔法攻擊力": StatName.MAtt,
386
+ "戰鬥力": StatName.CombatPower,
387
+ // Summons
388
+ "召喚獸持續時間增加": StatName.SummonDurationIncrease,
389
+ };
245
390
  export function toMapleServer(input) {
246
391
  return Object.values(MapleServer).includes(input)
247
392
  ? input
@@ -54,11 +54,14 @@ export declare enum CharacterClass {
54
54
  Ark = "Ark",
55
55
  Hayato = "Hayato",
56
56
  Kanna = "Kanna",
57
- Len = "Len"
57
+ Len = "Len",
58
+ MoXuan = "MoXuan",
59
+ Lynn = "Lynn"
58
60
  }
59
61
  export declare enum MapleServer {
60
62
  KMS = "KMS",
61
- SEA = "SEA"
63
+ SEA = "SEA",
64
+ TMS = "TMS"
62
65
  }
63
66
  export declare enum SymbolRegion {
64
67
  Arcane = "ARC",
@@ -57,11 +57,14 @@ export var CharacterClass;
57
57
  CharacterClass["Hayato"] = "Hayato";
58
58
  CharacterClass["Kanna"] = "Kanna";
59
59
  CharacterClass["Len"] = "Len";
60
+ CharacterClass["MoXuan"] = "MoXuan";
61
+ CharacterClass["Lynn"] = "Lynn";
60
62
  })(CharacterClass || (CharacterClass = {}));
61
63
  export var MapleServer;
62
64
  (function (MapleServer) {
63
65
  MapleServer["KMS"] = "KMS";
64
66
  MapleServer["SEA"] = "SEA";
67
+ MapleServer["TMS"] = "TMS";
65
68
  })(MapleServer || (MapleServer = {}));
66
69
  export var SymbolRegion;
67
70
  (function (SymbolRegion) {
@@ -2,9 +2,11 @@ import { ItemEquipOption, SymbolEquipOption } from "../models/maple/Equipment/eq
2
2
  import { CharacterClass, StatName } from "../models/maple/Generic/enums";
3
3
  export declare const CharacterClassLocalisationSEA: Record<CharacterClass, string>;
4
4
  export declare const CharacterClassLocalisationKMS: Record<CharacterClass, string>;
5
+ export declare const CharacterClassLocalisationTMS: Record<CharacterClass, string>;
5
6
  export declare const ITEM_EQUIP_STAT_OPTIONS_SEA: Record<ItemEquipOption, string>;
6
7
  export declare const ITEM_EQUIP_STAT_OPTIONS_KMS: Record<ItemEquipOption, string>;
7
8
  export declare const SYMBOL_OPTIONS_SEA: Record<SymbolEquipOption, string>;
8
9
  export declare const SYMBOL_OPTIONS_KMS: Record<SymbolEquipOption, string>;
9
10
  export declare const STAT_SEA: Record<StatName, string>;
10
11
  export declare const STAT_KMS: Record<StatName, string>;
12
+ export declare const STAT_TMS: Record<StatName, string>;
@@ -49,7 +49,9 @@ export const CharacterClassLocalisationSEA = {
49
49
  [CharacterClass.Ark]: "Ark",
50
50
  [CharacterClass.Hayato]: "Hayato",
51
51
  [CharacterClass.Kanna]: "Kanna",
52
- [CharacterClass.Len]: "Len"
52
+ [CharacterClass.Len]: "Len",
53
+ [CharacterClass.MoXuan]: "Mo Xuan",
54
+ [CharacterClass.Lynn]: "Lynn"
53
55
  };
54
56
  export const CharacterClassLocalisationKMS = {
55
57
  [CharacterClass.Hero]: "히어로",
@@ -98,9 +100,64 @@ export const CharacterClassLocalisationKMS = {
98
100
  [CharacterClass.Viper]: "바이퍼",
99
101
  [CharacterClass.Captain]: "캡틴",
100
102
  [CharacterClass.CannonMaster]: "캐논슈터",
101
- [CharacterClass.Hayato]: "",
102
- [CharacterClass.Kanna]: "",
103
- [CharacterClass.Len]: "렌"
103
+ [CharacterClass.Hayato]: "하야토",
104
+ [CharacterClass.Kanna]: "칸나",
105
+ [CharacterClass.Len]: "렌",
106
+ [CharacterClass.Lynn]: "린",
107
+ [CharacterClass.MoXuan]: "묵현"
108
+ };
109
+ export const CharacterClassLocalisationTMS = {
110
+ [CharacterClass.Bishop]: "主教",
111
+ [CharacterClass.Ark]: "亞克",
112
+ [CharacterClass.Illium]: "伊利恩",
113
+ [CharacterClass.Xenon]: "傑諾",
114
+ [CharacterClass.Kinesis]: "凱內西斯",
115
+ [CharacterClass.Kaiser]: "凱撒",
116
+ [CharacterClass.Kaine]: "凱殷",
117
+ [CharacterClass.Hayato]: "劍豪",
118
+ [CharacterClass.Khali]: "卡莉",
119
+ [CharacterClass.Cadena]: "卡蒂娜",
120
+ [CharacterClass.NightLord]: "夜使者",
121
+ [CharacterClass.Luminous]: "夜光",
122
+ [CharacterClass.ArchMageIL]: "大魔導士(冰、雷)",
123
+ [CharacterClass.ArchMageFP]: "大魔導士(火、毒)",
124
+ [CharacterClass.AngelicBuster]: "天使破壞者",
125
+ [CharacterClass.BladeMaster]: "影武者",
126
+ [CharacterClass.DemonAvenger]: "惡魔復仇者",
127
+ [CharacterClass.DemonSlayer]: "惡魔殺手",
128
+ [CharacterClass.FlameWizard]: "烈焰巫師",
129
+ [CharacterClass.Aran]: "狂狼勇士",
130
+ [CharacterClass.Blaster]: "爆破者",
131
+ [CharacterClass.BattleMage]: "班雷昂",
132
+ [CharacterClass.Shadower]: "盜俠",
133
+ [CharacterClass.CrossbowMaster]: "神射手",
134
+ [CharacterClass.Mercedes]: "精靈遊俠",
135
+ [CharacterClass.Paladin]: "聖騎士",
136
+ [CharacterClass.Pathfinder]: "開拓者",
137
+ [CharacterClass.Kanna]: "陰陽師",
138
+ [CharacterClass.Hero]: "英雄",
139
+ [CharacterClass.HoYoung]: "虎影",
140
+ [CharacterClass.MoXuan]: "墨玄",
141
+ [CharacterClass.Captain]: "槍神",
142
+ [CharacterClass.Mechanic]: "機甲戰神",
143
+ [CharacterClass.Mihile]: "米哈逸",
144
+ [CharacterClass.Lara]: "菈菈",
145
+ [CharacterClass.Len]: "蓮",
146
+ [CharacterClass.Adele]: "覺醒者",
147
+ [CharacterClass.WindBreaker]: "追風者",
148
+ [CharacterClass.NightWalker]: "暗夜行者",
149
+ [CharacterClass.WildHunter]: "狂豹獵人",
150
+ [CharacterClass.Striker]: "閃雷悍將",
151
+ [CharacterClass.Phantom]: "幻影俠盜",
152
+ [CharacterClass.DarkKnight]: "黑騎士",
153
+ [CharacterClass.Viper]: "劍士",
154
+ [CharacterClass.Bowmaster]: "箭神",
155
+ [CharacterClass.Lynn]: "琳恩",
156
+ [CharacterClass.Eunwol]: "隱月",
157
+ [CharacterClass.SoulMaster]: "聖魂劍士",
158
+ [CharacterClass.Zero]: "神之子",
159
+ [CharacterClass.Evan]: "龍魔導士",
160
+ [CharacterClass.CannonMaster]: "重砲指揮官"
104
161
  };
105
162
  export const ITEM_EQUIP_STAT_OPTIONS_SEA = {
106
163
  [ItemEquipOption.Str]: 'STR :',
@@ -248,3 +305,44 @@ export const STAT_KMS = {
248
305
  [StatName.CooldownReductionSec]: "재사용 대기시간 감소 (초)",
249
306
  [StatName.CooldownReductionPercent]: "재사용 대기시간 감소 (%)"
250
307
  };
308
+ export const STAT_TMS = {
309
+ [StatName.MinimumAttStat]: "最低屬性攻擊力",
310
+ [StatName.MaximumAttStat]: "最高屬性攻擊力",
311
+ [StatName.Damage]: "傷害",
312
+ [StatName.BossMonsterDamage]: "BOSS怪物傷害",
313
+ [StatName.FinalDamage]: "最終傷害",
314
+ [StatName.IgnoreDef]: "無視防禦率",
315
+ [StatName.CriticalRate]: "爆擊機率",
316
+ [StatName.CriticalDamage]: "爆擊傷害",
317
+ [StatName.StatusResistance]: "狀態異常耐性",
318
+ [StatName.Stance]: "格擋",
319
+ [StatName.Def]: "防禦力",
320
+ [StatName.Speed]: "移動速度",
321
+ [StatName.Jump]: "跳躍力",
322
+ [StatName.Starforce]: "星力",
323
+ [StatName.ArcaneForce]: "神秘力量",
324
+ [StatName.AuthenticForce]: "真實之力",
325
+ [StatName.Str]: "STR",
326
+ [StatName.Dex]: "DEX",
327
+ [StatName.Int]: "INT",
328
+ [StatName.Luk]: "LUK",
329
+ [StatName.Hp]: "HP",
330
+ [StatName.Mp]: "MP",
331
+ [StatName.ItemDropRate]: "道具掉落率",
332
+ [StatName.MesoObtained]: "楓幣獲得量",
333
+ [StatName.BuffDuration]: "Buff持續時間",
334
+ [StatName.AttackSpeed]: "攻擊速度",
335
+ [StatName.NormalMonsterDamage]: "一般怪物傷害",
336
+ [StatName.CooldownReductionSec]: "冷卻時間減少(秒)",
337
+ [StatName.CooldownReductionPercent]: "冷卻時間減少(%)",
338
+ [StatName.UnaffectedByCooldown]: "未套用冷卻時間",
339
+ [StatName.IgnoreElementalResistance]: "無視屬性耐性",
340
+ [StatName.AbnormalStatusAdditionalDamage]: "狀態異常追加傷害",
341
+ [StatName.AdditionalExpObtained]: "獲得額外經驗值",
342
+ [StatName.Att]: "攻擊力",
343
+ [StatName.MAtt]: "魔法攻擊力",
344
+ [StatName.CombatPower]: "戰鬥力",
345
+ [StatName.SummonDurationIncrease]: "召喚獸持續時間增加",
346
+ [StatName.StatAtt]: "屬性攻擊力",
347
+ [StatName.CooldownReduction]: "冷卻時間減少(%)"
348
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ruvice/my-maple-models",
3
- "version": "1.0.0",
3
+ "version": "1.1.0",
4
4
  "description": "Shared models and utils for MapleStory Nexon Open API",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",