@malib/gear 0.0.2

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/index.js ADDED
@@ -0,0 +1,711 @@
1
+ var c = /* @__PURE__ */ ((t) => (t[t.incSTR = 1] = "incSTR", t[t.incSTRr = 2] = "incSTRr", t[t.incDEX = 3] = "incDEX", t[t.incDEXr = 4] = "incDEXr", t[t.incINT = 5] = "incINT", t[t.incINTr = 6] = "incINTr", t[t.incLUK = 7] = "incLUK", t[t.incLUKr = 8] = "incLUKr", t[t.incAllStat_incMHP25 = 9] = "incAllStat_incMHP25", t[t.incAllStat = 10] = "incAllStat", t[t.incMHP_incMMP = 11] = "incMHP_incMMP", t[t.incMHPr_incMMPr = 12] = "incMHPr_incMMPr", t[t.incMHP = 13] = "incMHP", t[t.incMMP = 14] = "incMMP", t[t.incMHPr = 15] = "incMHPr", t[t.incMMPr = 16] = "incMMPr", t[t.incMDF = 17] = "incMDF", t[t.incARC = 18] = "incARC", t[t.incAUT = 19] = "incAUT", t[t.incPAD_incMAD = 20] = "incPAD_incMAD", t[t.incPAD = 21] = "incPAD", t[t.incMAD = 22] = "incMAD", t[t.incAD = 23] = "incAD", t[t.incPDD_incMDD = 24] = "incPDD_incMDD", t[t.incPDD = 25] = "incPDD", t[t.incSpeed = 26] = "incSpeed", t[t.incJump = 27] = "incJump", t[t.knockback = 28] = "knockback", t[t.bdR = 29] = "bdR", t[t.incBDR = 30] = "incBDR", t[t.imdR = 31] = "imdR", t[t.incIMDR = 32] = "incIMDR", t[t.damR = 33] = "damR", t[t.nbdR = 34] = "nbdR", t[t.statR = 35] = "statR", t[t.incCHUC = 36] = "incCHUC", t[t.incPADr = 100] = "incPADr", t[t.incMADr = 101] = "incMADr", t[t.incPDDr = 102] = "incPDDr", t[t.incMDDr = 103] = "incMDDr", t[t.incACCr = 104] = "incACCr", t[t.incEVAr = 105] = "incEVAr", t[t.incCr = 106] = "incCr", t[t.incDAMr = 107] = "incDAMr", t[t.RecoveryHP = 108] = "RecoveryHP", t[t.RecoveryMP = 109] = "RecoveryMP", t[t.face = 110] = "face", t[t.prop = 111] = "prop", t[t.time = 112] = "time", t[t.HP = 113] = "HP", t[t.MP = 114] = "MP", t[t.attackType = 115] = "attackType", t[t.ignoreTargetDEF = 116] = "ignoreTargetDEF", t[t.ignoreDAM = 117] = "ignoreDAM", t[t.ignoreDAMr = 118] = "ignoreDAMr", t[t.DAMreflect = 119] = "DAMreflect", t[t.mpconReduce = 120] = "mpconReduce", t[t.mpRestore = 121] = "mpRestore", t[t.incMesoProp = 122] = "incMesoProp", t[t.incRewardProp = 123] = "incRewardProp", t[t.incAllskill = 124] = "incAllskill", t[t.RecoveryUP = 125] = "RecoveryUP", t[t.boss = 126] = "boss", t[t.level = 127] = "level", t[t.incTerR = 128] = "incTerR", t[t.incAsrR = 129] = "incAsrR", t[t.incEXPr = 130] = "incEXPr", t[t.reduceCooltime = 131] = "reduceCooltime", t[t.incCriticaldamageMax = 132] = "incCriticaldamageMax", t[t.incCriticaldamageMin = 133] = "incCriticaldamageMin", t[t.incSTRlv = 134] = "incSTRlv", t[t.incDEXlv = 135] = "incDEXlv", t[t.incINTlv = 136] = "incINTlv", t[t.incLUKlv = 137] = "incLUKlv", t[t.incMaxDamage = 138] = "incMaxDamage", t[t.incMHPlv = 139] = "incMHPlv", t[t.incPADlv = 140] = "incPADlv", t[t.incMADlv = 141] = "incMADlv", t[t.incCriticaldamage = 142] = "incCriticaldamage", t[t.attackSpeed = 200] = "attackSpeed", t[t.tuc = 201] = "tuc", t[t.setItemID = 202] = "setItemID", t[t.durability = 203] = "durability", t[t.reduceReq = 204] = "reduceReq", t[t.growthLevel = 205] = "growthLevel", t[t.growthExp = 206] = "growthExp", t[t.mastery = 300] = "mastery", t[t.reqLevel = 1e3] = "reqLevel", t[t.reqSTR = 1001] = "reqSTR", t[t.reqDEX = 1002] = "reqDEX", t[t.reqINT = 1003] = "reqINT", t[t.reqLUK = 1004] = "reqLUK", t[t.reqJob = 1005] = "reqJob", t[t.reqPOP = 1006] = "reqPOP", t[t.reqSpecJob = 1007] = "reqSpecJob", t[t.only = 1100] = "only", t[t.tradeBlock = 1101] = "tradeBlock", t[t.accountSharable = 1102] = "accountSharable", t[t.onlyEquip = 1103] = "onlyEquip", t[t.tradeAvailable = 1104] = "tradeAvailable", t[t.equipTradeBlock = 1105] = "equipTradeBlock", t[t.tradeOnce = 1106] = "tradeOnce", t[t.sharableOnce = 1107] = "sharableOnce", t[t.charismaEXP = 1108] = "charismaEXP", t[t.senseEXP = 1109] = "senseEXP", t[t.insightEXP = 1110] = "insightEXP", t[t.willEXP = 1111] = "willEXP", t[t.craftEXP = 1112] = "craftEXP", t[t.charmEXP = 1113] = "charmEXP", t[t.accountShareTag = 1114] = "accountShareTag", t[t.bossReward = 1115] = "bossReward", t[t.noPotential = 1116] = "noPotential", t[t.fixedPotential = 1117] = "fixedPotential", t[t.specialGrade = 1118] = "specialGrade", t[t.fixedGrade = 1119] = "fixedGrade", t[t.superiorEqp = 1120] = "superiorEqp", t[t.incPQEXPr = 1121] = "incPQEXPr", t[t.jokerToSetItem = 1122] = "jokerToSetItem", t[t.blockGoldHammer = 1123] = "blockGoldHammer", t[t.exceptUpgrade = 1124] = "exceptUpgrade", t[t.onlyUpgrade = 1125] = "onlyUpgrade", t[t.noLookChange = 1126] = "noLookChange", t[t.tucIgnoreForPotential = 1127] = "tucIgnoreForPotential", t))(c || {}), l = /* @__PURE__ */ ((t) => (t[t.cap = 100] = "cap", t[t.faceAccessory = 101] = "faceAccessory", t[t.eyeAccessory = 102] = "eyeAccessory", t[t.earrings = 103] = "earrings", t[t.coat = 104] = "coat", t[t.longcoat = 105] = "longcoat", t[t.pants = 106] = "pants", t[t.shoes = 107] = "shoes", t[t.glove = 108] = "glove", t[t.cape = 110] = "cape", t[t.ring = 111] = "ring", t[t.pendant = 112] = "pendant", t[t.belt = 113] = "belt", t[t.medal = 114] = "medal", t[t.shoulder = 115] = "shoulder", t[t.pocket = 116] = "pocket", t[t.badge = 118] = "badge", t[t.android = 166] = "android", t[t.machineHeart = 167] = "machineHeart", t[t.shield = 109] = "shield", t[t.emblem = 119] = "emblem", t[t.powerSource = 119020] = "powerSource", t[t.shiningRod = 1212] = "shiningRod", t[t.tuner = 1213] = "tuner", t[t.breathShooter = 1214] = "breathShooter", t[t.soulShooter = 122] = "soulShooter", t[t.desperado = 123] = "desperado", t[t.energySword = 124] = "energySword", t[t.espLimiter = 126] = "espLimiter", t[t.chain = 127] = "chain", t[t.magicGauntlet = 128] = "magicGauntlet", t[t.ritualFan = 129] = "ritualFan", t[t.ohSword = 130] = "ohSword", t[t.ohAxe = 131] = "ohAxe", t[t.ohBlunt = 132] = "ohBlunt", t[t.dagger = 133] = "dagger", t[t.katara = 134] = "katara", t[t.cane = 136] = "cane", t[t.wand = 137] = "wand", t[t.staff = 138] = "staff", t[t.thSword = 140] = "thSword", t[t.chakram = 1404] = "chakram", t[t.thAxe = 141] = "thAxe", t[t.thBlunt = 142] = "thBlunt", t[t.spear = 143] = "spear", t[t.polearm = 144] = "polearm", t[t.bow = 145] = "bow", t[t.crossbow = 146] = "crossbow", t[t.claw = 147] = "claw", t[t.knuckle = 148] = "knuckle", t[t.gun = 149] = "gun", t[t.shovel = 150] = "shovel", t[t.pickaxe = 151] = "pickaxe", t[t.dualBowguns = 152] = "dualBowguns", t[t.handCannon = 153] = "handCannon", t[t.heavySword = 156] = "heavySword", t[t.longSword = 157] = "longSword", t[t.gauntletRevolver = 158] = "gauntletRevolver", t[t.ancientBow = 159] = "ancientBow", t[t.soulShield = 1098] = "soulShield", t[t.demonShield = 1099] = "demonShield", t[t.magicArrow = 135200] = "magicArrow", t[t.card = 135210] = "card", t[t.medallion = 135220] = "medallion", t[t.rosary = 135221] = "rosary", t[t.ironChain = 135222] = "ironChain", t[t.magicBook1 = 135223] = "magicBook1", t[t.magicBook2 = 135224] = "magicBook2", t[t.magicBook3 = 135225] = "magicBook3", t[t.arrowFletching = 135226] = "arrowFletching", t[t.bowThimble = 135227] = "bowThimble", t[t.daggerScabbard = 135228] = "daggerScabbard", t[t.charm = 135229] = "charm", t[t.orb = 135240] = "orb", t[t.dragonEssence = 135250] = "dragonEssence", t[t.soulRing = 135260] = "soulRing", t[t.magnum = 135270] = "magnum", t[t.wristBand = 135290] = "wristBand", t[t.farSight = 135291] = "farSight", t[t.powderKeg = 135292] = "powderKeg", t[t.mass = 135293] = "mass", t[t.document = 135294] = "document", t[t.magicMarble = 135295] = "magicMarble", t[t.arrowhead = 135296] = "arrowhead", t[t.jewel = 135297] = "jewel", t[t.powderKeg2 = 135298] = "powderKeg2", t[t.controller = 135300] = "controller", t[t.foxMarble = 135310] = "foxMarble", t[t.chessPiece = 135320] = "chessPiece", t[t.transmitter = 135330] = "transmitter", t[t.charge = 135340] = "charge", t[t.magicWing = 135350] = "magicWing", t[t.pathOfAbyss = 135360] = "pathOfAbyss", t[t.relic = 135370] = "relic", t[t.fanTassel = 135380] = "fanTassel", t[t.bracelet = 135400] = "bracelet", t[t.weaponBelt = 135401] = "weaponBelt", t[t.ornament = 135402] = "ornament", t[t.hexSeeker = 135403] = "hexSeeker", t[t.petEquip = 180] = "petEquip", t[t.machineEngine = 161] = "machineEngine", t[t.machineArms = 162] = "machineArms", t[t.machineLegs = 163] = "machineLegs", t[t.machineBody = 164] = "machineBody", t[t.machineTransistors = 165] = "machineTransistors", t[t.dragonMask = 194] = "dragonMask", t[t.dragonPendant = 195] = "dragonPendant", t[t.dragonWings = 196] = "dragonWings", t[t.dragonTail = 197] = "dragonTail", t))(l || {}), S = /* @__PURE__ */ ((t) => (t[t.normal = 0] = "normal", t[t.rare = 1] = "rare", t[t.epic = 2] = "epic", t[t.unique = 3] = "unique", t[t.legendary = 4] = "legendary", t[t.special = 5] = "special", t))(S || {});
2
+ class D {
3
+ constructor() {
4
+ this.level = 0, this.str = 0, this.luk = 0, this.dex = 0, this.int = 0, this.job = 0, this.specJob = 0;
5
+ }
6
+ }
7
+ class A {
8
+ constructor() {
9
+ this.base = 0, this.bonus = 0, this.upgrade = 0, this.enchant = 0;
10
+ }
11
+ get empty() {
12
+ return this.base === 0 && this.bonus === 0 && this.upgrade === 0 && this.enchant === 0;
13
+ }
14
+ get sum() {
15
+ return Math.max(0, this.base + this.bonus + this.upgrade + this.enchant);
16
+ }
17
+ get diff() {
18
+ return this.bonus + this.upgrade + this.enchant;
19
+ }
20
+ }
21
+ const o = class {
22
+ constructor() {
23
+ this.itemID = 0, this.name = "", this.desc = "", this.icon = 0, this.origin = [0, 0], this.type = 0, this.req = new D(), this.props = /* @__PURE__ */ new Map(), this.options = /* @__PURE__ */ new Map(), this.totalUpgradeCount = 0, this.upgradeCount = 0, this.failCount = 0, this.hammerCount = 0, this.maxStar = 0, this.star = 0, this.amazing = !1, this.canPotential = !1, this.grade = S.normal, this.potentials = [], this.additionalGrade = S.normal, this.additionalPotentials = [];
24
+ }
25
+ option(t) {
26
+ return this.options.has(t) || this.options.set(t, new A()), this.options.get(t);
27
+ }
28
+ getPropValue(t) {
29
+ return this.props.get(t) ?? 0;
30
+ }
31
+ getBooleanValue(t) {
32
+ return Boolean(this.props.get(t));
33
+ }
34
+ getMaxStar() {
35
+ if (this.totalUpgradeCount <= 0 || this.getBooleanValue(c.onlyUpgrade) || o.isMechanicGear(this.type) || o.isDragonGear(this.type))
36
+ return 0;
37
+ let t;
38
+ const n = this.req.level;
39
+ for (const i of o.starData)
40
+ if (n >= i[0])
41
+ t = i;
42
+ else
43
+ break;
44
+ return t === void 0 ? 0 : this.getBooleanValue(c.superiorEqp) ? t[2] : t[1];
45
+ }
46
+ get diff() {
47
+ let t = 0;
48
+ for (const [n, i] of this.options)
49
+ t += Math.floor(i.diff / o.getPropTypeWeight(n));
50
+ return t;
51
+ }
52
+ static isWeapon(t) {
53
+ return this.isLeftWeapon(t) || this.isDoubleHandWeapon(t);
54
+ }
55
+ static isLeftWeapon(t) {
56
+ return t >= 121 && t <= 139 && t !== l.katara || Math.floor(t / 10) === 121;
57
+ }
58
+ static isDoubleHandWeapon(t) {
59
+ return t >= 140 && t <= 149 || t >= 152 && t <= 159 || Math.floor(t / 10) === 140;
60
+ }
61
+ static isSubWeapon(t) {
62
+ switch (t) {
63
+ case l.katara:
64
+ case l.shield:
65
+ case l.demonShield:
66
+ case l.soulShield:
67
+ return !0;
68
+ default:
69
+ return Math.floor(t / 1e3) === 135;
70
+ }
71
+ }
72
+ static isShield(t) {
73
+ switch (t) {
74
+ case l.shield:
75
+ case l.demonShield:
76
+ case l.soulShield:
77
+ return !0;
78
+ default:
79
+ return !1;
80
+ }
81
+ }
82
+ static isArmor(t) {
83
+ return t === 100 || t >= 104 && t <= 110;
84
+ }
85
+ static isAccessory(t) {
86
+ return t >= 101 && t <= 103 || t >= 111 && t <= 113 || t === 115;
87
+ }
88
+ static isMechanicGear(t) {
89
+ return t >= 161 && t <= 165;
90
+ }
91
+ static isDragonGear(t) {
92
+ return t >= 194 && t <= 197;
93
+ }
94
+ static specialCanPotential(t) {
95
+ switch (t) {
96
+ case l.soulShield:
97
+ case l.demonShield:
98
+ case l.katara:
99
+ case l.magicArrow:
100
+ case l.card:
101
+ case l.orb:
102
+ case l.dragonEssence:
103
+ case l.soulRing:
104
+ case l.magnum:
105
+ case l.emblem:
106
+ return !0;
107
+ default:
108
+ return !1;
109
+ }
110
+ }
111
+ static getGearType(t) {
112
+ switch (Math.floor(t / 1e3)) {
113
+ case 1098:
114
+ return l.soulShield;
115
+ case 1099:
116
+ return l.demonShield;
117
+ case 1212:
118
+ return l.shiningRod;
119
+ case 1213:
120
+ return l.tuner;
121
+ case 1214:
122
+ return l.breathShooter;
123
+ case 1404:
124
+ return l.chakram;
125
+ }
126
+ if (Math.floor(t / 1e4) === 135)
127
+ switch (Math.floor(t / 100)) {
128
+ case 13522:
129
+ case 13528:
130
+ case 13529:
131
+ case 13540:
132
+ return Math.floor(t / 10);
133
+ default:
134
+ return Math.floor(t / 100) * 10;
135
+ }
136
+ if (Math.floor(t / 1e4) === 119)
137
+ switch (Math.floor(t / 100)) {
138
+ case 11902:
139
+ return Math.floor(t / 10);
140
+ }
141
+ return Math.floor(t / 1e4);
142
+ }
143
+ static GetGender(t) {
144
+ switch (this.getGearType(t)) {
145
+ case l.emblem:
146
+ case l.powerSource:
147
+ return 2;
148
+ }
149
+ return Math.floor(t / 1e3) % 10;
150
+ }
151
+ static getPropTypeWeight(t) {
152
+ if (t < 100)
153
+ switch (t) {
154
+ case c.incSTR:
155
+ case c.incDEX:
156
+ case c.incINT:
157
+ case c.incLUK:
158
+ case c.incPAD:
159
+ case c.incMAD:
160
+ case c.incSpeed:
161
+ case c.incJump:
162
+ return 1;
163
+ case c.incMHP:
164
+ case c.incMMP:
165
+ return 100;
166
+ case c.incPDD_incMDD:
167
+ case c.incPDD:
168
+ return 10;
169
+ case c.incPAD_incMAD:
170
+ case c.incAD:
171
+ return 2;
172
+ case c.incMHP_incMMP:
173
+ return 200;
174
+ }
175
+ return Number.MAX_VALUE;
176
+ }
177
+ };
178
+ let d = o;
179
+ d.starData = [
180
+ [0, 5, 3],
181
+ [95, 8, 5],
182
+ [110, 10, 8],
183
+ [120, 15, 10],
184
+ [130, 20, 12],
185
+ [140, 25, 15]
186
+ ];
187
+ class k {
188
+ constructor() {
189
+ this.code = 0, this.optionType = 0, this.reqLevel = 0, this.summary = "", this.option = /* @__PURE__ */ new Map();
190
+ }
191
+ get convertSummary() {
192
+ const n = [...this.option.keys()];
193
+ n.sort((a, m) => c[m].length - c[a].length);
194
+ let i = this.summary;
195
+ for (const a of n)
196
+ i = i.replace(
197
+ `#${c[a]}`,
198
+ (this.option.get(a) ?? 0).toString()
199
+ );
200
+ return i;
201
+ }
202
+ static getPotentialLevel(n) {
203
+ return n <= 0 ? 1 : n >= 200 ? 20 : Math.floor((n + 9) / 10);
204
+ }
205
+ static checkOptionType(n, i) {
206
+ switch (n) {
207
+ case 0:
208
+ return !0;
209
+ case 10:
210
+ return d.isWeapon(i) || d.isSubWeapon(i) || i === l.emblem;
211
+ case 11:
212
+ return !k.checkOptionType(10, i);
213
+ case 20:
214
+ return d.isSubWeapon(i) || i === l.pants || i === l.shoes || i === l.cap || i === l.coat || i === l.longcoat || i === l.glove || i === l.cape || i === l.belt || i === l.shoulder;
215
+ case 40:
216
+ return i === l.faceAccessory || i === l.eyeAccessory || i === l.ring || i === l.earrings || i === l.pendant;
217
+ case 51:
218
+ return i === l.cap;
219
+ case 52:
220
+ return i === l.coat || i === l.longcoat;
221
+ case 53:
222
+ return i === l.pants;
223
+ case 54:
224
+ return i === l.glove;
225
+ case 55:
226
+ return i === l.shoes;
227
+ default:
228
+ return !1;
229
+ }
230
+ }
231
+ }
232
+ var s = /* @__PURE__ */ ((t) => (t.EX_PAD = "위대한 (공격력)", t.EX_MAD = "위대한 (마력)", t.EX_ALL = "위대한 (올스탯)", t.EX_MHP = "위대한 (최대 HP)", t.EX_CR = "위대한 (크리티컬 확률)", t.EX_IMD = "위대한 (몬스터 방어율 무시)", t.EX_BD = "위대한 (보스 몬스터 공격 시 데미지)", t.EX_AS = "위대한 (모든 스킬레벨)", t.STR = "기운찬", t.DEX = "날렵한", t.INT = "총명한", t.LUK = "놀라운", t.ALL = "화려한", t.PAD = "강력한", t.MAD = "빛나는", t.MHP = "강인한", t.MMP = "풍부한", t))(s || {});
233
+ class M {
234
+ constructor() {
235
+ this.charge = 0, this.mobName = "", this.soulName = "", this.skillName = "", this.optionString = "", this.option = /* @__PURE__ */ new Map();
236
+ }
237
+ isEmpty() {
238
+ return this.soulName === "";
239
+ }
240
+ get chargeAD() {
241
+ return this.isEmpty() ? Math.floor(Math.min(500, this.charge) / 100) * 2 : u.getSoulGrade(this.mobName) <= 6 ? Math.floor(Math.min(500, this.charge) / 100) * 4 : Math.floor(Math.min(500, this.charge) / 100) * 3;
242
+ }
243
+ static createFromName(n, i) {
244
+ const a = new M();
245
+ a.mobName = n, a.soulName = u.getSoulName(n, i), a.skillName = u.getSkillName(n, i);
246
+ const { option: m, optionString: g } = u.getSoulOption(
247
+ n,
248
+ i
249
+ );
250
+ return a.option = m, a.optionString = g, a;
251
+ }
252
+ }
253
+ class u {
254
+ static getSoulGrade(n) {
255
+ return h[n].grade;
256
+ }
257
+ static hasPostfix(n) {
258
+ return h[n].namePostfix;
259
+ }
260
+ static isGreatType(n) {
261
+ return n === s.EX_PAD || n === s.EX_MAD || n === s.EX_ALL || n === s.EX_MHP || n === s.EX_CR || n === s.EX_IMD || n === s.EX_BD || n === s.EX_AS;
262
+ }
263
+ static getSoulName(n, i) {
264
+ let a;
265
+ u.isGreatType(i) ? a = "위대한" : a = i;
266
+ let m;
267
+ return u.hasPostfix(n) ? m = "의" : m = "", a + " " + n + m + " 소울";
268
+ }
269
+ static getSkillName(n, i) {
270
+ return this.isGreatType(i) ? h[n].greatSkillName : h[n].normalSkillName;
271
+ }
272
+ static getSoulOption(n, i) {
273
+ const a = /* @__PURE__ */ new Map(), m = this.getSoulOptionType(n, i), g = this.getSoulOptionValue(n, i), f = this.getSoulOptionString(m, g);
274
+ return a.set(m, g), { option: a, optionString: f };
275
+ }
276
+ static getSoulOptionType(n, i) {
277
+ const a = this.getSoulGrade(n) === 1;
278
+ switch (i) {
279
+ case s.EX_PAD:
280
+ return a ? c.incPADr : c.incPAD;
281
+ case s.EX_MAD:
282
+ return a ? c.incMADr : c.incMAD;
283
+ case s.EX_ALL:
284
+ return a ? c.statR : c.incAllStat;
285
+ case s.EX_MHP:
286
+ return c.incMHP;
287
+ case s.EX_CR:
288
+ return c.incCr;
289
+ case s.EX_IMD:
290
+ return c.imdR;
291
+ case s.EX_BD:
292
+ return c.bdR;
293
+ case s.EX_AS:
294
+ return c.incAllskill;
295
+ case s.STR:
296
+ return c.incSTR;
297
+ case s.DEX:
298
+ return c.incDEX;
299
+ case s.INT:
300
+ return c.incINT;
301
+ case s.LUK:
302
+ return c.incLUK;
303
+ case s.ALL:
304
+ return c.incAllStat;
305
+ case s.PAD:
306
+ return c.incPAD;
307
+ case s.MAD:
308
+ return c.incMAD;
309
+ case s.MHP:
310
+ return c.incMHP;
311
+ case s.MMP:
312
+ return c.incMMP;
313
+ default:
314
+ throw Error();
315
+ }
316
+ }
317
+ static getSoulOptionString(n, i) {
318
+ switch (n) {
319
+ case c.incSTR:
320
+ return `STR : +${i}`;
321
+ case c.incDEX:
322
+ return `DEX : +${i}`;
323
+ case c.incINT:
324
+ return `INT : +${i}`;
325
+ case c.incLUK:
326
+ return `LUK : +${i}`;
327
+ case c.incAllStat:
328
+ return `올스탯 : +${i}`;
329
+ case c.statR:
330
+ return `올스탯 : +${i}%`;
331
+ case c.incMHP:
332
+ return `최대 HP : +${i}`;
333
+ case c.incMMP:
334
+ return `최대 MP : +${i}`;
335
+ case c.incPAD:
336
+ return `공격력 : +${i}`;
337
+ case c.incPADr:
338
+ return `공격력 : +${i}%`;
339
+ case c.incMAD:
340
+ return `마력 : +${i}`;
341
+ case c.incMADr:
342
+ return `마력 : +${i}%`;
343
+ case c.imdR:
344
+ return `몬스터 방어율 무시 : +${i}%`;
345
+ case c.bdR:
346
+ return `보스 몬스터 공격 시 데미지 : +${i}%`;
347
+ case c.incCr:
348
+ return `크리티컬 확률 : +${i}%`;
349
+ case c.incAllskill:
350
+ return `모든 스킬레벨 : +${i}(5차 제외, 스킬의 마스터 레벨까지만 증가)`;
351
+ default:
352
+ return "";
353
+ }
354
+ }
355
+ static getSoulOptionValue(n, i) {
356
+ if (this.isGreatType(i)) {
357
+ if (n === "모카딘" && i === s.EX_PAD || n === "카리아인" && i === s.EX_MAD)
358
+ return 10;
359
+ if (n === "줄라이" && i === s.EX_MHP)
360
+ return 1500;
361
+ if (n === "CQ57" && i === s.EX_CR)
362
+ return 10;
363
+ if (n === "플레드" && i === s.EX_ALL)
364
+ return 20;
365
+ let a = this.getSoulGrade(n);
366
+ a === 4 && n !== "반 레온" && (a = 3);
367
+ let m;
368
+ switch (i) {
369
+ case s.EX_PAD:
370
+ m = 0;
371
+ break;
372
+ case s.EX_MAD:
373
+ m = 0;
374
+ break;
375
+ case s.EX_ALL:
376
+ m = 1;
377
+ break;
378
+ case s.EX_MHP:
379
+ m = 2;
380
+ break;
381
+ case s.EX_CR:
382
+ m = 3;
383
+ break;
384
+ case s.EX_IMD:
385
+ m = 4;
386
+ break;
387
+ case s.EX_BD:
388
+ m = 4;
389
+ break;
390
+ case s.EX_AS:
391
+ m = 5;
392
+ break;
393
+ default:
394
+ return 0;
395
+ }
396
+ return r[a][m];
397
+ } else {
398
+ if (n === "모카딘" && i === s.STR || n === "카리아인" && i === s.INT || n === "줄라이" && i === s.DEX || n === "CQ57" && i === s.LUK)
399
+ return 20;
400
+ if (n === "플레드" && i === s.ALL)
401
+ return 12;
402
+ let a;
403
+ switch (i) {
404
+ case s.STR:
405
+ a = 0;
406
+ break;
407
+ case s.DEX:
408
+ a = 0;
409
+ break;
410
+ case s.INT:
411
+ a = 0;
412
+ break;
413
+ case s.LUK:
414
+ a = 0;
415
+ break;
416
+ case s.ALL:
417
+ a = 1;
418
+ break;
419
+ case s.PAD:
420
+ a = 2;
421
+ break;
422
+ case s.MAD:
423
+ a = 2;
424
+ break;
425
+ case s.MHP:
426
+ a = 3;
427
+ break;
428
+ case s.MMP:
429
+ a = 3;
430
+ break;
431
+ default:
432
+ return 0;
433
+ }
434
+ return N[this.getSoulGrade(n)][a];
435
+ }
436
+ }
437
+ static getSoulMobNames() {
438
+ return Object.keys(h);
439
+ }
440
+ }
441
+ const h = {
442
+ 시그너스: {
443
+ grade: 1,
444
+ namePostfix: !0,
445
+ normalSkillName: "불꽃 여제",
446
+ greatSkillName: "폭풍 여제"
447
+ },
448
+ 매그너스: {
449
+ grade: 1,
450
+ namePostfix: !0,
451
+ normalSkillName: "진격! 그게 바로 나다",
452
+ greatSkillName: "폭격! 그게 바로 나다"
453
+ },
454
+ 무르무르: {
455
+ grade: 1,
456
+ namePostfix: !0,
457
+ normalSkillName: "무르무르의 이상한 동행",
458
+ greatSkillName: "무르무르의 수상한 동행"
459
+ },
460
+ 블러디퀸: {
461
+ grade: 1,
462
+ namePostfix: !0,
463
+ normalSkillName: "여왕의 마음은 갈대",
464
+ greatSkillName: "여왕님이 함께 하셔!"
465
+ },
466
+ 벨룸: {
467
+ grade: 1,
468
+ namePostfix: !0,
469
+ normalSkillName: "기가 벨룸 레이저",
470
+ greatSkillName: "주니어 벨룸 소환!"
471
+ },
472
+ 스우: {
473
+ grade: 1,
474
+ namePostfix: !0,
475
+ normalSkillName: "때렸스우~",
476
+ greatSkillName: "화났스우~"
477
+ },
478
+ 데미안: {
479
+ grade: 1,
480
+ namePostfix: !0,
481
+ normalSkillName: "사냥 개시",
482
+ greatSkillName: "파멸의 검"
483
+ },
484
+ 루시드: {
485
+ grade: 1,
486
+ namePostfix: !0,
487
+ normalSkillName: "악몽으로의 초대",
488
+ greatSkillName: "악몽의 지배자"
489
+ },
490
+ 윌: {
491
+ grade: 1,
492
+ namePostfix: !0,
493
+ normalSkillName: "파괴의 손아귀",
494
+ greatSkillName: "거미의 왕"
495
+ },
496
+ "진 힐라": {
497
+ grade: 1,
498
+ namePostfix: !0,
499
+ normalSkillName: "영혼 찢기",
500
+ greatSkillName: "붉은 마녀"
501
+ },
502
+ 듄켈: {
503
+ grade: 1,
504
+ namePostfix: !0,
505
+ normalSkillName: "지면 절단",
506
+ greatSkillName: "지면 파쇄"
507
+ },
508
+ 칼로스: {
509
+ grade: 1,
510
+ namePostfix: !0,
511
+ normalSkillName: "감시자의 포효",
512
+ greatSkillName: "침입자 처단"
513
+ },
514
+ 핑크빈: {
515
+ grade: 2,
516
+ namePostfix: !0,
517
+ normalSkillName: "까칠한 귀여움",
518
+ greatSkillName: "치명적인 귀여움"
519
+ },
520
+ 피에르: {
521
+ grade: 2,
522
+ namePostfix: !0,
523
+ normalSkillName: "피에르의 모자선물",
524
+ greatSkillName: "깜짝 피에르!"
525
+ },
526
+ 반반: {
527
+ grade: 2,
528
+ namePostfix: !0,
529
+ normalSkillName: "불닭의 따끔한 맛",
530
+ greatSkillName: "치킨 날다!"
531
+ },
532
+ 우르스: {
533
+ grade: 2,
534
+ namePostfix: !0,
535
+ normalSkillName: "파왕의 포효",
536
+ greatSkillName: "파왕의 거친 포효"
537
+ },
538
+ 아카이럼: {
539
+ grade: 3,
540
+ namePostfix: !0,
541
+ normalSkillName: "스네이크 사우론",
542
+ greatSkillName: "메두사카이럼"
543
+ },
544
+ 모카딘: {
545
+ grade: 3,
546
+ namePostfix: !0,
547
+ normalSkillName: "검은 기사 모카딘",
548
+ greatSkillName: "어둠 기사 모카딘"
549
+ },
550
+ 카리아인: {
551
+ grade: 3,
552
+ namePostfix: !0,
553
+ normalSkillName: "미친 마법사 카리아인",
554
+ greatSkillName: "폭주 마법사 카리아인"
555
+ },
556
+ CQ57: {
557
+ grade: 3,
558
+ namePostfix: !0,
559
+ normalSkillName: "돌격형 CQ57",
560
+ greatSkillName: "상급 돌격형 CQ57"
561
+ },
562
+ 줄라이: {
563
+ grade: 3,
564
+ namePostfix: !0,
565
+ normalSkillName: "인간 사냥꾼 줄라이",
566
+ greatSkillName: "피의 사냥꾼 줄라이"
567
+ },
568
+ 플레드: {
569
+ grade: 3,
570
+ namePostfix: !0,
571
+ normalSkillName: "싸움꾼 플레드",
572
+ greatSkillName: "거친 싸움꾼 플레드"
573
+ },
574
+ "반 레온": {
575
+ grade: 4,
576
+ namePostfix: !0,
577
+ normalSkillName: "야옹이 권법 : 할퀴기 초식",
578
+ greatSkillName: "야옹이 권법 : 크로스 따귀 어택"
579
+ },
580
+ 힐라: {
581
+ grade: 4,
582
+ namePostfix: !0,
583
+ normalSkillName: "마른 하늘에 번개 어택",
584
+ greatSkillName: "마른 하늘에 벼락 어택"
585
+ },
586
+ 파풀라투스: {
587
+ grade: 4,
588
+ namePostfix: !0,
589
+ normalSkillName: "공간의 지배자",
590
+ greatSkillName: "시간의 지배자"
591
+ },
592
+ 자쿰: {
593
+ grade: 5,
594
+ namePostfix: !0,
595
+ normalSkillName: "뜨거운 토템 투하",
596
+ greatSkillName: "화끈한 토템 투하"
597
+ },
598
+ 발록: {
599
+ grade: 6,
600
+ namePostfix: !0,
601
+ normalSkillName: "지옥불 트림",
602
+ greatSkillName: "지옥불 재채기"
603
+ },
604
+ 돼지바: {
605
+ grade: 6,
606
+ namePostfix: !1,
607
+ normalSkillName: "돼지바 스윙!",
608
+ greatSkillName: "돼지바 드랍!"
609
+ },
610
+ 프리미엄PC방: {
611
+ grade: 6,
612
+ namePostfix: !1,
613
+ normalSkillName: "PC방에서 메이플을 켰다!",
614
+ greatSkillName: "프리미엄 PC방은 빵빵해"
615
+ },
616
+ 무공: {
617
+ grade: 7,
618
+ namePostfix: !0,
619
+ normalSkillName: "회춘신공",
620
+ greatSkillName: ""
621
+ },
622
+ 피아누스: {
623
+ grade: 7,
624
+ namePostfix: !0,
625
+ normalSkillName: "공포의 마빡생선",
626
+ greatSkillName: ""
627
+ },
628
+ "드래곤 라이더": {
629
+ grade: 8,
630
+ namePostfix: !0,
631
+ normalSkillName: "손바닥 장풍",
632
+ greatSkillName: ""
633
+ },
634
+ 렉스: {
635
+ grade: 8,
636
+ namePostfix: !0,
637
+ normalSkillName: "내 앞길을 막지마",
638
+ greatSkillName: ""
639
+ },
640
+ 에피네아: {
641
+ grade: 9,
642
+ namePostfix: !0,
643
+ normalSkillName: "여왕의 향기는 나빌레라",
644
+ greatSkillName: ""
645
+ },
646
+ 핑크몽: {
647
+ grade: 9,
648
+ namePostfix: !0,
649
+ normalSkillName: "해피 뉴 에브리데이!",
650
+ greatSkillName: ""
651
+ },
652
+ "락 스피릿": {
653
+ grade: 10,
654
+ namePostfix: !0,
655
+ normalSkillName: "로큰롤 베이비",
656
+ greatSkillName: ""
657
+ },
658
+ "교도관 아니": {
659
+ grade: 10,
660
+ namePostfix: !0,
661
+ normalSkillName: "난 한놈만 패",
662
+ greatSkillName: ""
663
+ },
664
+ 크세르크세스: {
665
+ grade: 10,
666
+ namePostfix: !0,
667
+ normalSkillName: "특공 염소 어택",
668
+ greatSkillName: ""
669
+ },
670
+ "블랙 슬라임": {
671
+ grade: 10,
672
+ namePostfix: !0,
673
+ normalSkillName: "핑크빛 독안개",
674
+ greatSkillName: ""
675
+ }
676
+ }, r = [
677
+ [],
678
+ [3, 5, 2e3, 12, 7, 2],
679
+ [10, 20, 1500, 10, 5, 1],
680
+ [8, 17, 1300, 8, 4, 1],
681
+ [7, 15, 1200, 7, 4, 1],
682
+ [6, 12, 1100, 6, 3, 1],
683
+ [5, 10, 1e3, 5, 3, 1]
684
+ ], N = [
685
+ [],
686
+ [24, 15, 6, 960],
687
+ [20, 12, 5, 800],
688
+ [18, 10, 4, 700],
689
+ [15, 8, 3, 600],
690
+ [12, 8, 3, 500],
691
+ [10, 7, 3, 400],
692
+ [7, 5, 0, 300],
693
+ [5, 3, 0, 200],
694
+ [4, 2, 0, 180],
695
+ [3, 2, 0, 150]
696
+ ];
697
+ function E() {
698
+ return u.getSoulMobNames();
699
+ }
700
+ export {
701
+ d as Gear,
702
+ A as GearOption,
703
+ c as GearPropType,
704
+ D as GearReq,
705
+ l as GearType,
706
+ k as Potential,
707
+ S as PotentialGrade,
708
+ M as Soul,
709
+ s as SoulType,
710
+ E as getSoulMobNames
711
+ };