@malib/gear 0.8.0 → 0.10.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/index.js CHANGED
@@ -1,4 +1,4 @@
1
- class H {
1
+ class W {
2
2
  constructor() {
3
3
  this.base = 0, this.bonus = 0, this.upgrade = 0, this.enchant = 0;
4
4
  }
@@ -15,10 +15,10 @@ class H {
15
15
  return this.bonus + this.upgrade + this.enchant;
16
16
  }
17
17
  }
18
- var t = /* @__PURE__ */ ((n) => (n[n.incSTR = 1] = "incSTR", n[n.incSTRr = 2] = "incSTRr", n[n.incDEX = 3] = "incDEX", n[n.incDEXr = 4] = "incDEXr", n[n.incINT = 5] = "incINT", n[n.incINTr = 6] = "incINTr", n[n.incLUK = 7] = "incLUK", n[n.incLUKr = 8] = "incLUKr", n[n.incAllStat = 9] = "incAllStat", n[n.incMHP = 10] = "incMHP", n[n.incMMP = 11] = "incMMP", n[n.incMHPr = 12] = "incMHPr", n[n.incMMPr = 13] = "incMMPr", n[n.incMDF = 14] = "incMDF", n[n.incARC = 15] = "incARC", n[n.incAUT = 16] = "incAUT", n[n.incPAD = 17] = "incPAD", n[n.incMAD = 18] = "incMAD", n[n.incAD = 19] = "incAD", n[n.incPDD = 20] = "incPDD", n[n.incSpeed = 21] = "incSpeed", n[n.incJump = 22] = "incJump", n[n.knockback = 23] = "knockback", n[n.bdR = 24] = "bdR", n[n.incBDR = 25] = "incBDR", n[n.imdR = 26] = "imdR", n[n.incIMDR = 27] = "incIMDR", n[n.damR = 28] = "damR", n[n.nbdR = 29] = "nbdR", n[n.statR = 30] = "statR", n[n.incCHUC = 31] = "incCHUC", n[n.incPADr = 100] = "incPADr", n[n.incMADr = 101] = "incMADr", n[n.incPDDr = 102] = "incPDDr", n[n.incCr = 103] = "incCr", n[n.incDAMr = 104] = "incDAMr", n[n.RecoveryHP = 105] = "RecoveryHP", n[n.RecoveryMP = 106] = "RecoveryMP", n[n.face = 107] = "face", n[n.prop = 108] = "prop", n[n.time = 109] = "time", n[n.HP = 110] = "HP", n[n.MP = 111] = "MP", n[n.attackType = 112] = "attackType", n[n.ignoreTargetDEF = 113] = "ignoreTargetDEF", n[n.ignoreDAM = 114] = "ignoreDAM", n[n.ignoreDAMr = 115] = "ignoreDAMr", n[n.DAMreflect = 116] = "DAMreflect", n[n.mpconReduce = 117] = "mpconReduce", n[n.incMesoProp = 118] = "incMesoProp", n[n.incRewardProp = 119] = "incRewardProp", n[n.incAllskill = 120] = "incAllskill", n[n.RecoveryUP = 121] = "RecoveryUP", n[n.boss = 122] = "boss", n[n.level = 123] = "level", n[n.incTerR = 124] = "incTerR", n[n.incAsrR = 125] = "incAsrR", n[n.incEXPr = 126] = "incEXPr", n[n.reduceCooltime = 127] = "reduceCooltime", n[n.incSTRlv = 128] = "incSTRlv", n[n.incDEXlv = 129] = "incDEXlv", n[n.incINTlv = 130] = "incINTlv", n[n.incLUKlv = 131] = "incLUKlv", n[n.incMHPlv = 132] = "incMHPlv", n[n.incPADlv = 133] = "incPADlv", n[n.incMADlv = 134] = "incMADlv", n[n.incCriticaldamage = 135] = "incCriticaldamage", n[n.attackSpeed = 200] = "attackSpeed", n[n.setItemID = 201] = "setItemID", n[n.durability = 202] = "durability", n[n.reduceReq = 203] = "reduceReq", n[n.only = 1100] = "only", n[n.tradeBlock = 1101] = "tradeBlock", n[n.accountSharable = 1102] = "accountSharable", n[n.onlyEquip = 1103] = "onlyEquip", n[n.tradeAvailable = 1104] = "tradeAvailable", n[n.equipTradeBlock = 1105] = "equipTradeBlock", n[n.sharableOnce = 1106] = "sharableOnce", n[n.charismaEXP = 1107] = "charismaEXP", n[n.senseEXP = 1108] = "senseEXP", n[n.insightEXP = 1109] = "insightEXP", n[n.willEXP = 1110] = "willEXP", n[n.craftEXP = 1111] = "craftEXP", n[n.charmEXP = 1112] = "charmEXP", n[n.accountShareTag = 1113] = "accountShareTag", n[n.bossReward = 1114] = "bossReward", n[n.noPotential = 1115] = "noPotential", n[n.fixedPotential = 1116] = "fixedPotential", n[n.specialGrade = 1117] = "specialGrade", n[n.fixedGrade = 1118] = "fixedGrade", n[n.superiorEqp = 1119] = "superiorEqp", n[n.incPQEXPr = 1120] = "incPQEXPr", n[n.jokerToSetItem = 1121] = "jokerToSetItem", n[n.blockGoldHammer = 1122] = "blockGoldHammer", n[n.exceptUpgrade = 1123] = "exceptUpgrade", n[n.onlyUpgrade = 1124] = "onlyUpgrade", n[n.noLookChange = 1125] = "noLookChange", n[n.tucIgnoreForPotential = 1126] = "tucIgnoreForPotential", n))(t || {}), s = /* @__PURE__ */ ((n) => (n[n.cap = 100] = "cap", n[n.faceAccessory = 101] = "faceAccessory", n[n.eyeAccessory = 102] = "eyeAccessory", n[n.earrings = 103] = "earrings", n[n.coat = 104] = "coat", n[n.longcoat = 105] = "longcoat", n[n.pants = 106] = "pants", n[n.shoes = 107] = "shoes", n[n.glove = 108] = "glove", n[n.cape = 110] = "cape", n[n.ring = 111] = "ring", n[n.pendant = 112] = "pendant", n[n.belt = 113] = "belt", n[n.medal = 114] = "medal", n[n.shoulder = 115] = "shoulder", n[n.pocket = 116] = "pocket", n[n.badge = 118] = "badge", n[n.android = 166] = "android", n[n.machineHeart = 167] = "machineHeart", n[n.shield = 109] = "shield", n[n.emblem = 119] = "emblem", n[n.powerSource = 119020] = "powerSource", n[n.shiningRod = 1212] = "shiningRod", n[n.tuner = 1213] = "tuner", n[n.breathShooter = 1214] = "breathShooter", n[n.soulShooter = 122] = "soulShooter", n[n.desperado = 123] = "desperado", n[n.energySword = 124] = "energySword", n[n.espLimiter = 126] = "espLimiter", n[n.chain = 127] = "chain", n[n.magicGauntlet = 128] = "magicGauntlet", n[n.ritualFan = 129] = "ritualFan", n[n.ohSword = 130] = "ohSword", n[n.ohAxe = 131] = "ohAxe", n[n.ohBlunt = 132] = "ohBlunt", n[n.dagger = 133] = "dagger", n[n.katara = 134] = "katara", n[n.cane = 136] = "cane", n[n.wand = 137] = "wand", n[n.staff = 138] = "staff", n[n.thSword = 140] = "thSword", n[n.chakram = 1404] = "chakram", n[n.thAxe = 141] = "thAxe", n[n.thBlunt = 142] = "thBlunt", n[n.spear = 143] = "spear", n[n.polearm = 144] = "polearm", n[n.bow = 145] = "bow", n[n.crossbow = 146] = "crossbow", n[n.claw = 147] = "claw", n[n.knuckle = 148] = "knuckle", n[n.gun = 149] = "gun", n[n.shovel = 150] = "shovel", n[n.pickaxe = 151] = "pickaxe", n[n.dualBowguns = 152] = "dualBowguns", n[n.handCannon = 153] = "handCannon", n[n.heavySword = 156] = "heavySword", n[n.longSword = 157] = "longSword", n[n.gauntletRevolver = 158] = "gauntletRevolver", n[n.ancientBow = 159] = "ancientBow", n[n.soulShield = 1098] = "soulShield", n[n.demonShield = 1099] = "demonShield", n[n.magicArrow = 135200] = "magicArrow", n[n.card = 135210] = "card", n[n.medallion = 135220] = "medallion", n[n.rosary = 135221] = "rosary", n[n.ironChain = 135222] = "ironChain", n[n.magicBook1 = 135223] = "magicBook1", n[n.magicBook2 = 135224] = "magicBook2", n[n.magicBook3 = 135225] = "magicBook3", n[n.arrowFletching = 135226] = "arrowFletching", n[n.bowThimble = 135227] = "bowThimble", n[n.daggerScabbard = 135228] = "daggerScabbard", n[n.charm = 135229] = "charm", n[n.orb = 135240] = "orb", n[n.dragonEssence = 135250] = "dragonEssence", n[n.soulRing = 135260] = "soulRing", n[n.magnum = 135270] = "magnum", n[n.wristBand = 135290] = "wristBand", n[n.farSight = 135291] = "farSight", n[n.powderKeg = 135292] = "powderKeg", n[n.mass = 135293] = "mass", n[n.document = 135294] = "document", n[n.magicMarble = 135295] = "magicMarble", n[n.arrowhead = 135296] = "arrowhead", n[n.jewel = 135297] = "jewel", n[n.powderKeg2 = 135298] = "powderKeg2", n[n.controller = 135300] = "controller", n[n.foxMarble = 135310] = "foxMarble", n[n.chessPiece = 135320] = "chessPiece", n[n.transmitter = 135330] = "transmitter", n[n.charge = 135340] = "charge", n[n.magicWing = 135350] = "magicWing", n[n.pathOfAbyss = 135360] = "pathOfAbyss", n[n.relic = 135370] = "relic", n[n.fanTassel = 135380] = "fanTassel", n[n.bracelet = 135400] = "bracelet", n[n.weaponBelt = 135401] = "weaponBelt", n[n.ornament = 135402] = "ornament", n[n.hexSeeker = 135403] = "hexSeeker", n[n.petEquip = 180] = "petEquip", n[n.machineEngine = 161] = "machineEngine", n[n.machineArms = 162] = "machineArms", n[n.machineLegs = 163] = "machineLegs", n[n.machineBody = 164] = "machineBody", n[n.machineTransistors = 165] = "machineTransistors", n[n.dragonMask = 194] = "dragonMask", n[n.dragonPendant = 195] = "dragonPendant", n[n.dragonWings = 196] = "dragonWings", n[n.dragonTail = 197] = "dragonTail", n))(s || {}), E = /* @__PURE__ */ ((n) => (n[n.normal = 0] = "normal", n[n.rare = 1] = "rare", n[n.epic = 2] = "epic", n[n.unique = 3] = "unique", n[n.legendary = 4] = "legendary", n[n.special = 5] = "special", n))(E || {});
19
- class I {
20
- constructor(c) {
21
- this.enchanted = !1, this.charge = 0, this.chargeOption = /* @__PURE__ */ new Map(), this.gear = c;
18
+ var i = /* @__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 = 9] = "incAllStat", t[t.incMHP = 10] = "incMHP", t[t.incMMP = 11] = "incMMP", t[t.incMHPr = 12] = "incMHPr", t[t.incMMPr = 13] = "incMMPr", t[t.incMDF = 14] = "incMDF", t[t.incARC = 15] = "incARC", t[t.incAUT = 16] = "incAUT", t[t.incPAD = 17] = "incPAD", t[t.incMAD = 18] = "incMAD", t[t.incAD = 19] = "incAD", t[t.incPDD = 20] = "incPDD", t[t.incSpeed = 21] = "incSpeed", t[t.incJump = 22] = "incJump", t[t.knockback = 23] = "knockback", t[t.bdR = 24] = "bdR", t[t.incBDR = 25] = "incBDR", t[t.imdR = 26] = "imdR", t[t.incIMDR = 27] = "incIMDR", t[t.damR = 28] = "damR", t[t.nbdR = 29] = "nbdR", t[t.statR = 30] = "statR", t[t.incCHUC = 31] = "incCHUC", t[t.incPADr = 100] = "incPADr", t[t.incMADr = 101] = "incMADr", t[t.incPDDr = 102] = "incPDDr", t[t.incCr = 103] = "incCr", t[t.incDAMr = 104] = "incDAMr", t[t.RecoveryHP = 105] = "RecoveryHP", t[t.RecoveryMP = 106] = "RecoveryMP", t[t.face = 107] = "face", t[t.prop = 108] = "prop", t[t.time = 109] = "time", t[t.HP = 110] = "HP", t[t.MP = 111] = "MP", t[t.attackType = 112] = "attackType", t[t.ignoreTargetDEF = 113] = "ignoreTargetDEF", t[t.ignoreDAM = 114] = "ignoreDAM", t[t.ignoreDAMr = 115] = "ignoreDAMr", t[t.DAMreflect = 116] = "DAMreflect", t[t.mpconReduce = 117] = "mpconReduce", t[t.incMesoProp = 118] = "incMesoProp", t[t.incRewardProp = 119] = "incRewardProp", t[t.incAllskill = 120] = "incAllskill", t[t.RecoveryUP = 121] = "RecoveryUP", t[t.boss = 122] = "boss", t[t.level = 123] = "level", t[t.incTerR = 124] = "incTerR", t[t.incAsrR = 125] = "incAsrR", t[t.incEXPr = 126] = "incEXPr", t[t.reduceCooltime = 127] = "reduceCooltime", t[t.incSTRlv = 128] = "incSTRlv", t[t.incDEXlv = 129] = "incDEXlv", t[t.incINTlv = 130] = "incINTlv", t[t.incLUKlv = 131] = "incLUKlv", t[t.incMHPlv = 132] = "incMHPlv", t[t.incPADlv = 133] = "incPADlv", t[t.incMADlv = 134] = "incMADlv", t[t.incCriticaldamage = 135] = "incCriticaldamage", t[t.attackSpeed = 200] = "attackSpeed", t[t.setItemID = 201] = "setItemID", t[t.durability = 202] = "durability", t[t.reduceReq = 203] = "reduceReq", 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.sharableOnce = 1106] = "sharableOnce", t[t.charismaEXP = 1107] = "charismaEXP", t[t.senseEXP = 1108] = "senseEXP", t[t.insightEXP = 1109] = "insightEXP", t[t.willEXP = 1110] = "willEXP", t[t.craftEXP = 1111] = "craftEXP", t[t.charmEXP = 1112] = "charmEXP", t[t.accountShareTag = 1113] = "accountShareTag", t[t.bossReward = 1114] = "bossReward", t[t.noPotential = 1115] = "noPotential", t[t.fixedPotential = 1116] = "fixedPotential", t[t.specialGrade = 1117] = "specialGrade", t[t.fixedGrade = 1118] = "fixedGrade", t[t.superiorEqp = 1119] = "superiorEqp", t[t.incPQEXPr = 1120] = "incPQEXPr", t[t.jokerToSetItem = 1121] = "jokerToSetItem", t[t.blockGoldHammer = 1122] = "blockGoldHammer", t[t.exceptUpgrade = 1123] = "exceptUpgrade", t[t.onlyUpgrade = 1124] = "onlyUpgrade", t[t.noLookChange = 1125] = "noLookChange", t[t.tucIgnoreForPotential = 1126] = "tucIgnoreForPotential", t))(i || {}), f = /* @__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))(f || {}), k = /* @__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))(k || {});
19
+ class O {
20
+ constructor(s) {
21
+ this.enchanted = !1, this.charge = 0, this.chargeOption = /* @__PURE__ */ new Map(), this.gear = s;
22
22
  }
23
23
  /**
24
24
  * 소울 인챈트를 적용합니다.
@@ -26,7 +26,7 @@ class I {
26
26
  * 이미 소울 인챈트 상태이거나 장비 분류가 무기가 아닐 경우 `false`를 반환합니다.
27
27
  */
28
28
  enchant() {
29
- return this.enchanted || !D.isWeapon(this.gear.type) ? !1 : (this.enchanted = !0, this.soul = void 0, this.charge = 0, this.chargeOption.clear(), !0);
29
+ return this.enchanted || !A.isWeapon(this.gear.type) ? !1 : (this.enchanted = !0, this.soul = void 0, this.charge = 0, this.chargeOption.clear(), !0);
30
30
  }
31
31
  /**
32
32
  * 소울 인챈트를 해제합니다.
@@ -44,8 +44,8 @@ class I {
44
44
  * @returns 장착했을 경우 `true`; 아닐 경우 `false`.
45
45
  * 소울 인챈트 상태가 아닐 경우 `false`를 반환합니다.
46
46
  */
47
- setSoul(c) {
48
- return this.enchanted ? (this.soul = c, this.setCharge(this.charge), !0) : !1;
47
+ setSoul(s) {
48
+ return this.enchanted ? (this.soul = s, this.setCharge(this.charge), !0) : !1;
49
49
  }
50
50
  /**
51
51
  * 장착된 소울을 제거합니다.
@@ -63,27 +63,27 @@ class I {
63
63
  * @returns 적용했을 경우 `true`; 아닐 경우 `false`.
64
64
  * 소울 인챈트 상태가 아니거나 설정할 소울 충전량이 0과 1000 사이의 값이 아닐 경우 `false`를 반환합니다.
65
65
  */
66
- setCharge(c) {
67
- if (!this.enchanted || c < 0 || c > 1e3)
66
+ setCharge(s) {
67
+ if (!this.enchanted || s < 0 || s > 1e3)
68
68
  return !1;
69
- this.charge = c;
70
- const o = this.gear.option(t.incPAD).base < this.gear.option(t.incMAD).base ? t.incMAD : t.incPAD;
71
- return this.chargeOption.clear(), this.chargeOption.set(o, this.getChargeAD()), !0;
69
+ this.charge = s;
70
+ const a = this.gear.option(i.incPAD).base < this.gear.option(i.incMAD).base ? i.incMAD : i.incPAD;
71
+ return this.chargeOption.clear(), this.chargeOption.set(a, this.getChargeAD()), !0;
72
72
  }
73
73
  getChargeAD() {
74
74
  if (!this.enchanted || this.charge === 0)
75
75
  return 0;
76
- const c = Math.min(Math.ceil(this.charge / 100) - 1, 5);
76
+ const s = Math.min(Math.ceil(this.charge / 100) - 1, 5);
77
77
  if (this.soul) {
78
- const i = this.soul.multiplier;
79
- return 10 + c * i;
78
+ const o = this.soul.multiplier;
79
+ return 10 + s * o;
80
80
  }
81
- return 5 + c;
81
+ return 5 + s;
82
82
  }
83
83
  }
84
- const k = class {
84
+ const g = class {
85
85
  constructor() {
86
- this.itemID = 0, this.name = "", this.desc = "", this.type = 0, this.props = /* @__PURE__ */ new Map(), this.options = /* @__PURE__ */ new Map(), this.totalUpgradeCount = 0, this.upgradeCount = 0, this.upgradeFailCount = 0, this.hammerCount = 0, this.maxStar = 0, this.star = 0, this.amazing = !1, this.canPotential = !1, this.grade = E.normal, this.potentials = [], this.additionalGrade = E.normal, this.additionalPotentials = [], this.soulWeapon = new I(this), this.icon = {
86
+ this.itemID = 0, this.name = "", this.desc = "", this.type = 0, this.props = /* @__PURE__ */ new Map(), this.options = /* @__PURE__ */ new Map(), this.totalUpgradeCount = 0, this.upgradeCount = 0, this.upgradeFailCount = 0, this.hammerCount = 0, this.maxStar = 0, this.star = 0, this.amazing = !1, this.canPotential = !1, this.grade = k.normal, this.potentials = [], this.additionalGrade = k.normal, this.additionalPotentials = [], this.soulWeapon = new O(this), this.icon = {
87
87
  id: 0,
88
88
  origin: [0, 0]
89
89
  }, this.req = {
@@ -106,10 +106,10 @@ const k = class {
106
106
  * 가중치를 포함하여 계산한 현재 옵션과 기본 옵션의 차이
107
107
  */
108
108
  get diff() {
109
- let n = 0;
110
- for (const [c, i] of this.options)
111
- n += Math.floor(i.diff / k.getPropTypeWeight(c));
112
- return n;
109
+ let t = 0;
110
+ for (const [s, o] of this.options)
111
+ t += Math.floor(o.diff / g.getPropTypeWeight(s));
112
+ return t;
113
113
  }
114
114
  /**
115
115
  * 장비를 처음 획득했을 때 추가옵션이 존재했는지 여부
@@ -119,39 +119,39 @@ const k = class {
119
119
  * 장비 아이콘 왼쪽 위의 원이 채워져있으면 `true`; 아니면 `false`입니다.
120
120
  */
121
121
  get isNewBonusType() {
122
- return !!([...this.options.values()].some((c) => c.bonus > 0) && this.getPropValue(t.tradeAvailable) !== 1);
122
+ return !!([...this.options.values()].some((s) => s.bonus > 0) && this.getPropValue(i.tradeAvailable) !== 1);
123
123
  }
124
124
  /**
125
125
  * 지정된 장비 옵션 종류과 연결된 옵션을 가져옵니다.
126
126
  * @param type 장비 옵션 종류.
127
127
  * @returns 장비 옵션 객체. 존재하지 않을 경우 장비에 추가한 뒤 반환합니다.
128
128
  */
129
- option(n) {
130
- return this.options.has(n) || this.options.set(n, new H()), this.options.get(n);
129
+ option(t) {
130
+ return this.options.has(t) || this.options.set(t, new W()), this.options.get(t);
131
131
  }
132
132
  /**
133
133
  * 지정된 장비 속성 종류과 연결된 값을 가져옵니다.
134
134
  * @param type 장비 속성 종류.
135
135
  * @returns 속성의 값. 장비에 존재하지 않을 경우 추가하지 않고 `0`을 반환합니다.
136
136
  */
137
- getPropValue(n) {
138
- return this.props.get(n) ?? 0;
137
+ getPropValue(t) {
138
+ return this.props.get(t) ?? 0;
139
139
  }
140
140
  /**
141
141
  * 지정된 장비 속성 종류과 연결된 `boolean` 값을 가져옵니다.
142
142
  * @param type 장비 속성 종류.
143
143
  * @returns 속성이 존재하고 값이 `0` 이상일 경우 `true`; 아닐 경우 `false`.
144
144
  */
145
- getBooleanValue(n) {
146
- return (this.props.get(n) ?? 0) > 0;
145
+ getBooleanValue(t) {
146
+ return (this.props.get(t) ?? 0) > 0;
147
147
  }
148
148
  /**
149
149
  * 장비에 신비의 모루 외형을 적용합니다.
150
- * @param icon 외형 아이콘
151
- * @param name 외형 장비명
150
+ * @param icon 외형 아이콘.
151
+ * @param name 외형 장비명.
152
152
  */
153
- setAnvil(n, c) {
154
- this.anvilIcon = n, this.anvilName = c;
153
+ setAnvil(t, s) {
154
+ this.anvilIcon = t, this.anvilName = s;
155
155
  }
156
156
  /**
157
157
  * 장비에 적용된 신비의 모루 외형을 제거합니다.
@@ -164,39 +164,39 @@ const k = class {
164
164
  * @param type 장비 분류.
165
165
  * @returns 주무기일 경우 `true`; 아닐 경우 `false`.
166
166
  */
167
- static isWeapon(n) {
168
- return this.isLeftWeapon(n) || this.isDoubleHandWeapon(n);
167
+ static isWeapon(t) {
168
+ return this.isLeftWeapon(t) || this.isDoubleHandWeapon(t);
169
169
  }
170
170
  /**
171
171
  * 장비 분류가 한손무기인지 여부를 확인합니다. 블레이드(`katara`)는 포함되지 않습니다.
172
172
  * @param type 장비 분류.
173
173
  * @returns 한손무기일 경우 `true`; 아닐 경우 `false`.
174
174
  */
175
- static isLeftWeapon(n) {
176
- return n >= 121 && n <= 139 && n !== s.katara || Math.floor(n / 10) === 121;
175
+ static isLeftWeapon(t) {
176
+ return t >= 121 && t <= 139 && t !== f.katara || Math.floor(t / 10) === 121;
177
177
  }
178
178
  /**
179
179
  * 장비 분류가 두손무기인지 여부를 확인합니다.
180
180
  * @param type 장비 분류.
181
181
  * @returns 두손무기일 경우 `true`; 아닐 경우 `false`.
182
182
  */
183
- static isDoubleHandWeapon(n) {
184
- return n >= 140 && n <= 149 || n >= 152 && n <= 159 || Math.floor(n / 10) === 140;
183
+ static isDoubleHandWeapon(t) {
184
+ return t >= 140 && t <= 149 || t >= 152 && t <= 159 || Math.floor(t / 10) === 140;
185
185
  }
186
186
  /**
187
187
  * 장비 분류가 보조무기인지 여부를 확인합니다. 블레이드(`katara`), 방패류가 포함됩니다.
188
188
  * @param type 장비 분류.
189
189
  * @returns 보조무기일 경우 `true`; 아닐 경우 `false`.
190
190
  */
191
- static isSubWeapon(n) {
192
- switch (n) {
193
- case s.katara:
194
- case s.shield:
195
- case s.demonShield:
196
- case s.soulShield:
191
+ static isSubWeapon(t) {
192
+ switch (t) {
193
+ case f.katara:
194
+ case f.shield:
195
+ case f.demonShield:
196
+ case f.soulShield:
197
197
  return !0;
198
198
  default:
199
- return Math.floor(n / 1e3) === 135;
199
+ return Math.floor(t / 1e3) === 135;
200
200
  }
201
201
  }
202
202
  /**
@@ -204,11 +204,11 @@ const k = class {
204
204
  * @param type 장비 분류.
205
205
  * @returns 방패일 경우 `true`; 아닐 경우 `false`.
206
206
  */
207
- static isShield(n) {
208
- switch (n) {
209
- case s.shield:
210
- case s.demonShield:
211
- case s.soulShield:
207
+ static isShield(t) {
208
+ switch (t) {
209
+ case f.shield:
210
+ case f.demonShield:
211
+ case f.soulShield:
212
212
  return !0;
213
213
  default:
214
214
  return !1;
@@ -219,69 +219,69 @@ const k = class {
219
219
  * @param type 장비 분류.
220
220
  * @returns 방어구일 경우 `true`; 아닐 경우 `false`.
221
221
  */
222
- static isArmor(n) {
223
- return n === 100 || n >= 104 && n <= 110 || n === s.soulShield || n === s.demonShield;
222
+ static isArmor(t) {
223
+ return t === 100 || t >= 104 && t <= 110 || t === f.soulShield || t === f.demonShield;
224
224
  }
225
225
  /**
226
226
  * 장비 분류가 장신구인지 여부를 확인합니다. 어깨장식이 포함됩니다.
227
227
  * @param type 장비 분류.
228
228
  * @returns 장신구일 경우 `true`; 아닐 경우 `false`.
229
229
  */
230
- static isAccessory(n) {
231
- return n >= 101 && n <= 103 || n >= 111 && n <= 113 || n === 115;
230
+ static isAccessory(t) {
231
+ return t >= 101 && t <= 103 || t >= 111 && t <= 113 || t === 115;
232
232
  }
233
233
  /**
234
234
  * 장비 분류가 메카닉 장비인지 여부를 확인합니다.
235
235
  * @param type 장비 분류.
236
236
  * @returns 메카닉 장비일 경우 `true`; 아닐 경우 `false`.
237
237
  */
238
- static isMechanicGear(n) {
239
- return n >= 161 && n <= 165;
238
+ static isMechanicGear(t) {
239
+ return t >= 161 && t <= 165;
240
240
  }
241
241
  /**
242
242
  * 장비 분류가 에반 드래곤 장비인지 여부를 확인합니다.
243
243
  * @param type 장비 분류.
244
244
  * @returns 에반 드래곤 장비일 경우 `true`; 아닐 경우 `false`.
245
245
  */
246
- static isDragonGear(n) {
247
- return n >= 194 && n <= 197;
246
+ static isDragonGear(t) {
247
+ return t >= 194 && t <= 197;
248
248
  }
249
249
  /**
250
250
  * 장비 ID로부터 장비 분류를 계산합니다.
251
251
  * @param gearID 장비 ID.
252
252
  * @returns 장비 분류.
253
253
  */
254
- static getGearType(n) {
255
- switch (Math.floor(n / 1e3)) {
254
+ static getGearType(t) {
255
+ switch (Math.floor(t / 1e3)) {
256
256
  case 1098:
257
- return s.soulShield;
257
+ return f.soulShield;
258
258
  case 1099:
259
- return s.demonShield;
259
+ return f.demonShield;
260
260
  case 1212:
261
- return s.shiningRod;
261
+ return f.shiningRod;
262
262
  case 1213:
263
- return s.tuner;
263
+ return f.tuner;
264
264
  case 1214:
265
- return s.breathShooter;
265
+ return f.breathShooter;
266
266
  case 1404:
267
- return s.chakram;
267
+ return f.chakram;
268
268
  }
269
- if (Math.floor(n / 1e4) === 135)
270
- switch (Math.floor(n / 100)) {
269
+ if (Math.floor(t / 1e4) === 135)
270
+ switch (Math.floor(t / 100)) {
271
271
  case 13522:
272
272
  case 13528:
273
273
  case 13529:
274
274
  case 13540:
275
- return Math.floor(n / 10);
275
+ return Math.floor(t / 10);
276
276
  default:
277
- return Math.floor(n / 100) * 10;
277
+ return Math.floor(t / 100) * 10;
278
278
  }
279
- if (Math.floor(n / 1e4) === 119)
280
- switch (Math.floor(n / 100)) {
279
+ if (Math.floor(t / 1e4) === 119)
280
+ switch (Math.floor(t / 100)) {
281
281
  case 11902:
282
- return Math.floor(n / 10);
282
+ return Math.floor(t / 10);
283
283
  }
284
- return Math.floor(n / 1e4);
284
+ return Math.floor(t / 1e4);
285
285
  }
286
286
  /**
287
287
  * 장비의 최대 강화 수치를 계산합니다.
@@ -289,43 +289,43 @@ const k = class {
289
289
  * @returns 장비의 최대 강화 수치.
290
290
  * 최대 업그레이드 가능 횟수가 `0`이거나 `onlyUpgrade` 속성이 존재하거나 메카닉 장비 또는 드래곤 장비일 경우 `0`입니다.
291
291
  */
292
- static getMaxStar(n) {
293
- if (n.totalUpgradeCount <= 0 || n.getBooleanValue(t.onlyUpgrade) || k.isMechanicGear(n.type) || k.isDragonGear(n.type))
292
+ static getMaxStar(t) {
293
+ if (t.totalUpgradeCount <= 0 || t.getBooleanValue(i.onlyUpgrade) || g.isMechanicGear(t.type) || g.isDragonGear(t.type))
294
294
  return 0;
295
- let c;
296
- const i = n.req.level;
297
- for (const o of k.starData)
298
- if (i >= o[0])
299
- c = o;
295
+ let s;
296
+ const o = t.req.level;
297
+ for (const a of g.starData)
298
+ if (o >= a[0])
299
+ s = a;
300
300
  else
301
301
  break;
302
- return c === void 0 ? 0 : n.getBooleanValue(t.superiorEqp) ? c[2] : c[1];
302
+ return s === void 0 ? 0 : t.getBooleanValue(i.superiorEqp) ? s[2] : s[1];
303
303
  }
304
- static getPropTypeWeight(n) {
305
- if (n < 100)
306
- switch (n) {
307
- case t.incSTR:
308
- case t.incDEX:
309
- case t.incINT:
310
- case t.incLUK:
311
- case t.incPAD:
312
- case t.incMAD:
313
- case t.incSpeed:
314
- case t.incJump:
304
+ static getPropTypeWeight(t) {
305
+ if (t < 100)
306
+ switch (t) {
307
+ case i.incSTR:
308
+ case i.incDEX:
309
+ case i.incINT:
310
+ case i.incLUK:
311
+ case i.incPAD:
312
+ case i.incMAD:
313
+ case i.incSpeed:
314
+ case i.incJump:
315
315
  return 1;
316
- case t.incMHP:
317
- case t.incMMP:
316
+ case i.incMHP:
317
+ case i.incMMP:
318
318
  return 100;
319
- case t.incPDD:
319
+ case i.incPDD:
320
320
  return 10;
321
- case t.incAD:
321
+ case i.incAD:
322
322
  return 2;
323
323
  }
324
324
  return Number.MAX_VALUE;
325
325
  }
326
326
  };
327
- let D = k;
328
- D.starData = [
327
+ let A = g;
328
+ A.starData = [
329
329
  [0, 5, 3],
330
330
  [95, 8, 5],
331
331
  [110, 10, 8],
@@ -333,7 +333,7 @@ D.starData = [
333
333
  [130, 20, 12],
334
334
  [140, 25, 15]
335
335
  ];
336
- class X {
336
+ class N {
337
337
  constructor() {
338
338
  this.code = 0, this.optionType = 0, this.reqLevel = 0, this.summary = "", this.option = /* @__PURE__ */ new Map();
339
339
  }
@@ -341,23 +341,23 @@ class X {
341
341
  * 장비에 표시되는 문자열
342
342
  */
343
343
  get convertSummary() {
344
- const c = [...this.option.keys()];
345
- c.sort((o, h) => t[h].length - t[o].length);
346
- let i = this.summary;
347
- for (const o of c)
348
- i = i.replace(
349
- `#${t[o]}`,
350
- (this.option.get(o) ?? 0).toString()
344
+ const s = [...this.option.keys()];
345
+ s.sort((a, d) => i[d].length - i[a].length);
346
+ let o = this.summary;
347
+ for (const a of s)
348
+ o = o.replace(
349
+ `#${i[a]}`,
350
+ (this.option.get(a) ?? 0).toString()
351
351
  );
352
- return i;
352
+ return o;
353
353
  }
354
354
  /**
355
355
  * 장비의 착용 가능 레벨로부터 잠재옵션의 레벨을 계산합니다.
356
356
  * @param gearReqLevel 장비의 착용 가능 레벨.
357
357
  * @returns 잠재옵션 레벨. 1부터 25까지의 값입니다.
358
358
  */
359
- static getPotentialLevel(c) {
360
- return c <= 0 ? 1 : c >= 250 ? 25 : Math.floor((c + 9) / 10);
359
+ static getPotentialLevel(s) {
360
+ return s <= 0 ? 1 : s >= 250 ? 25 : Math.floor((s + 9) / 10);
361
361
  }
362
362
  /**
363
363
  * 잠재옵션 분류와 장비 분류를 비교합니다.
@@ -365,343 +365,343 @@ class X {
365
365
  * @param gearType 장비 분류.
366
366
  * @returns 잠재옵션 분류가 장비 분류에 적용 가능한 경우 `true`; 아닌 경우 `false`.
367
367
  */
368
- static checkOptionType(c, i) {
369
- switch (c) {
368
+ static checkOptionType(s, o) {
369
+ switch (s) {
370
370
  case 0:
371
371
  return !0;
372
372
  case 10:
373
- return D.isWeapon(i) || D.isSubWeapon(i) || i === s.emblem;
373
+ return A.isWeapon(o) || A.isSubWeapon(o) || o === f.emblem;
374
374
  case 11:
375
- return !X.checkOptionType(10, i);
375
+ return !N.checkOptionType(10, o);
376
376
  case 20:
377
- return D.isSubWeapon(i) || i === s.cap || i === s.coat || i === s.longcoat || i === s.pants || i === s.shoes || i === s.glove || i === s.cape || i === s.belt || i === s.shoulder;
377
+ return A.isSubWeapon(o) || o === f.cap || o === f.coat || o === f.longcoat || o === f.pants || o === f.shoes || o === f.glove || o === f.cape || o === f.belt || o === f.shoulder;
378
378
  case 40:
379
- return i === s.faceAccessory || i === s.eyeAccessory || i === s.earrings || i === s.ring || i === s.pendant;
379
+ return o === f.faceAccessory || o === f.eyeAccessory || o === f.earrings || o === f.ring || o === f.pendant;
380
380
  case 51:
381
- return i === s.cap;
381
+ return o === f.cap;
382
382
  case 52:
383
- return i === s.coat || i === s.longcoat;
383
+ return o === f.coat || o === f.longcoat;
384
384
  case 53:
385
- return i === s.pants;
385
+ return o === f.pants;
386
386
  case 54:
387
- return i === s.glove;
387
+ return o === f.glove;
388
388
  case 55:
389
- return i === s.shoes;
389
+ return o === f.shoes;
390
390
  default:
391
391
  return !1;
392
392
  }
393
393
  }
394
394
  }
395
- var u = /* @__PURE__ */ ((n) => (n[n.STR = 0] = "STR", n[n.DEX = 1] = "DEX", n[n.INT = 2] = "INT", n[n.LUK = 3] = "LUK", n[n.STR_DEX = 4] = "STR_DEX", n[n.STR_INT = 5] = "STR_INT", n[n.STR_LUK = 6] = "STR_LUK", n[n.DEX_INT = 7] = "DEX_INT", n[n.DEX_LUK = 8] = "DEX_LUK", n[n.INT_LUK = 9] = "INT_LUK", n[n.MHP = 10] = "MHP", n[n.MMP = 11] = "MMP", n[n.PAD = 12] = "PAD", n[n.MAD = 13] = "MAD", n[n.PDD = 14] = "PDD", n[n.speed = 15] = "speed", n[n.jump = 16] = "jump", n[n.damR = 17] = "damR", n[n.bdR = 18] = "bdR", n[n.allStatR = 19] = "allStatR", n[n.reduceReq = 20] = "reduceReq", n))(u || {});
396
- function P(n, c, i) {
397
- const o = K(n, c, i);
398
- if (o.size === 0)
395
+ var h = /* @__PURE__ */ ((t) => (t[t.STR = 0] = "STR", t[t.DEX = 1] = "DEX", t[t.INT = 2] = "INT", t[t.LUK = 3] = "LUK", t[t.STR_DEX = 4] = "STR_DEX", t[t.STR_INT = 5] = "STR_INT", t[t.STR_LUK = 6] = "STR_LUK", t[t.DEX_INT = 7] = "DEX_INT", t[t.DEX_LUK = 8] = "DEX_LUK", t[t.INT_LUK = 9] = "INT_LUK", t[t.MHP = 10] = "MHP", t[t.MMP = 11] = "MMP", t[t.PAD = 12] = "PAD", t[t.MAD = 13] = "MAD", t[t.PDD = 14] = "PDD", t[t.speed = 15] = "speed", t[t.jump = 16] = "jump", t[t.damR = 17] = "damR", t[t.bdR = 18] = "bdR", t[t.allStatR = 19] = "allStatR", t[t.reduceReq = 20] = "reduceReq", t))(h || {});
396
+ function h0(t, s, o) {
397
+ const a = F(t, s, o);
398
+ if (a.size === 0)
399
399
  return !1;
400
- for (const [h, a] of o)
401
- n.option(h).bonus += a;
400
+ for (const [d, u] of a)
401
+ t.option(d).bonus += u;
402
402
  return !0;
403
403
  }
404
- function T(n) {
405
- for (const [, c] of n.options)
406
- c.bonus = 0;
404
+ function d0(t) {
405
+ for (const [, s] of t.options)
406
+ s.bonus = 0;
407
407
  return !0;
408
408
  }
409
- function K(n, c, i) {
410
- const o = W(c), h = q(n, c, i);
411
- return h === 0 ? /* @__PURE__ */ new Map() : new Map(o.map((a) => [a, h]));
409
+ function F(t, s, o) {
410
+ const a = B(s), d = J(t, s, o);
411
+ return d === 0 ? /* @__PURE__ */ new Map() : new Map(a.map((u) => [u, d]));
412
412
  }
413
- function q(n, c, i) {
414
- const o = n.req.level, h = n.getBooleanValue(t.bossReward), a = n.type;
415
- if (o < 0 || h && i < 3)
413
+ function J(t, s, o) {
414
+ const a = t.req.level, d = t.getBooleanValue(i.bossReward), u = t.type;
415
+ if (a < 0 || d && o < 3)
416
416
  return 0;
417
- switch (c) {
418
- case u.STR:
419
- case u.DEX:
420
- case u.INT:
421
- case u.LUK:
422
- return (Math.floor(o / 20) + 1) * i;
423
- case u.STR_DEX:
424
- case u.STR_INT:
425
- case u.STR_LUK:
426
- case u.DEX_INT:
427
- case u.DEX_LUK:
428
- case u.INT_LUK:
429
- return (Math.floor(o / 40) + 1) * i;
430
- case u.PDD:
431
- return (Math.floor(o / 20) + 1) * i;
432
- case u.PAD:
433
- case u.MAD:
434
- if (D.isWeapon(a)) {
435
- const r = h ? [0, 0, 1, 1.4666, 2.0166, 2.663, 3.4166] : [1, 2.222, 3.63, 5.325, 7.32, 8.777, 10.25];
436
- let l = n.option(t.incPAD).base;
437
- if (a === s.heavySword || a === s.longSword) {
438
- if (a === s.longSword)
439
- switch (l) {
417
+ switch (s) {
418
+ case h.STR:
419
+ case h.DEX:
420
+ case h.INT:
421
+ case h.LUK:
422
+ return (Math.floor(a / 20) + 1) * o;
423
+ case h.STR_DEX:
424
+ case h.STR_INT:
425
+ case h.STR_LUK:
426
+ case h.DEX_INT:
427
+ case h.DEX_LUK:
428
+ case h.INT_LUK:
429
+ return (Math.floor(a / 40) + 1) * o;
430
+ case h.PDD:
431
+ return (Math.floor(a / 20) + 1) * o;
432
+ case h.PAD:
433
+ case h.MAD:
434
+ if (A.isWeapon(u)) {
435
+ const v = d ? [0, 0, 1, 1.4666, 2.0166, 2.663, 3.4166] : [1, 2.222, 3.63, 5.325, 7.32, 8.777, 10.25];
436
+ let c = t.option(i.incPAD).base;
437
+ if (u === f.heavySword || u === f.longSword) {
438
+ if (u === f.longSword)
439
+ switch (c) {
440
440
  case 100:
441
- l = 102;
441
+ c = 102;
442
442
  break;
443
443
  case 103:
444
- l = 105;
444
+ c = 105;
445
445
  break;
446
446
  case 105:
447
- l = 107;
447
+ c = 107;
448
448
  break;
449
449
  case 112:
450
- l = 114;
450
+ c = 114;
451
451
  break;
452
452
  case 117:
453
- l = 121;
453
+ c = 121;
454
454
  break;
455
455
  case 135:
456
- l = 139;
456
+ c = 139;
457
457
  break;
458
458
  case 169:
459
- l = 173;
459
+ c = 173;
460
460
  break;
461
461
  case 203:
462
- l = 207;
462
+ c = 207;
463
463
  break;
464
464
  case 293:
465
- l = 297;
465
+ c = 297;
466
466
  break;
467
467
  case 337:
468
- l = 342;
468
+ c = 342;
469
469
  break;
470
470
  }
471
- const f = o > 180 ? 6 : o > 160 ? 5 : o > 110 ? 4 : 3;
472
- return Math.ceil(l * r[i - 1] * f / 100);
471
+ const n = a > 180 ? 6 : a > 160 ? 5 : a > 110 ? 4 : 3;
472
+ return Math.ceil(c * v[o - 1] * n / 100);
473
473
  } else {
474
- const f = n.option(t.incMAD).base;
475
- if (c === u.MAD && f >= l && (l = f), h) {
476
- const d = o > 160 ? 18 : o > 150 ? 15 : o > 110 ? 12 : 9;
477
- return Math.ceil(l * r[i - 1] * d / 100);
474
+ const n = t.option(i.incMAD).base;
475
+ if (s === h.MAD && n >= c && (c = n), d) {
476
+ const r = a > 160 ? 18 : a > 150 ? 15 : a > 110 ? 12 : 9;
477
+ return Math.ceil(c * v[o - 1] * r / 100);
478
478
  } else {
479
- const d = o > 110 ? 4 : 3;
480
- return Math.ceil(l * r[i - 1] * d / 100);
479
+ const r = a > 110 ? 4 : 3;
480
+ return Math.ceil(c * v[o - 1] * r / 100);
481
481
  }
482
482
  }
483
- } else if (o < 60)
483
+ } else if (a < 60)
484
484
  return 0;
485
- return i;
486
- case u.MHP:
487
- case u.MMP:
488
- return o < 10 ? 3 * i : Math.floor(o / 10) * 30 * i;
489
- case u.speed:
490
- case u.jump:
491
- return D.isWeapon(a) ? 0 : i;
492
- case u.damR:
493
- return D.isWeapon(a) ? i : 0;
494
- case u.bdR:
495
- return o < 90 || !D.isWeapon(a) ? 0 : 2 * i;
496
- case u.allStatR:
497
- return o < 70 && !D.isWeapon(a) ? 0 : i;
498
- case u.reduceReq:
499
- return 5 * i;
485
+ return o;
486
+ case h.MHP:
487
+ case h.MMP:
488
+ return a < 10 ? 3 * o : Math.floor(a / 10) * 30 * o;
489
+ case h.speed:
490
+ case h.jump:
491
+ return A.isWeapon(u) ? 0 : o;
492
+ case h.damR:
493
+ return A.isWeapon(u) ? o : 0;
494
+ case h.bdR:
495
+ return a < 90 || !A.isWeapon(u) ? 0 : 2 * o;
496
+ case h.allStatR:
497
+ return a < 70 && !A.isWeapon(u) ? 0 : o;
498
+ case h.reduceReq:
499
+ return 5 * o;
500
500
  default:
501
501
  return 0;
502
502
  }
503
503
  }
504
- function W(n) {
505
- switch (n) {
506
- case u.STR:
507
- return [t.incSTR];
508
- case u.DEX:
509
- return [t.incDEX];
510
- case u.INT:
511
- return [t.incINT];
512
- case u.LUK:
513
- return [t.incLUK];
514
- case u.STR_DEX:
515
- return [t.incSTR, t.incDEX];
516
- case u.STR_INT:
517
- return [t.incSTR, t.incINT];
518
- case u.STR_LUK:
519
- return [t.incSTR, t.incLUK];
520
- case u.DEX_INT:
521
- return [t.incDEX, t.incINT];
522
- case u.DEX_LUK:
523
- return [t.incDEX, t.incLUK];
524
- case u.INT_LUK:
525
- return [t.incINT, t.incLUK];
526
- case u.PDD:
527
- return [t.incPDD];
528
- case u.PAD:
529
- return [t.incPAD];
530
- case u.MAD:
531
- return [t.incMAD];
532
- case u.MHP:
533
- return [t.incMHP];
534
- case u.MMP:
535
- return [t.incMMP];
536
- case u.speed:
537
- return [t.incSpeed];
538
- case u.jump:
539
- return [t.incJump];
540
- case u.damR:
541
- return [t.damR];
542
- case u.bdR:
543
- return [t.bdR];
544
- case u.allStatR:
545
- return [t.statR];
546
- case u.reduceReq:
547
- return [t.reduceReq];
504
+ function B(t) {
505
+ switch (t) {
506
+ case h.STR:
507
+ return [i.incSTR];
508
+ case h.DEX:
509
+ return [i.incDEX];
510
+ case h.INT:
511
+ return [i.incINT];
512
+ case h.LUK:
513
+ return [i.incLUK];
514
+ case h.STR_DEX:
515
+ return [i.incSTR, i.incDEX];
516
+ case h.STR_INT:
517
+ return [i.incSTR, i.incINT];
518
+ case h.STR_LUK:
519
+ return [i.incSTR, i.incLUK];
520
+ case h.DEX_INT:
521
+ return [i.incDEX, i.incINT];
522
+ case h.DEX_LUK:
523
+ return [i.incDEX, i.incLUK];
524
+ case h.INT_LUK:
525
+ return [i.incINT, i.incLUK];
526
+ case h.PDD:
527
+ return [i.incPDD];
528
+ case h.PAD:
529
+ return [i.incPAD];
530
+ case h.MAD:
531
+ return [i.incMAD];
532
+ case h.MHP:
533
+ return [i.incMHP];
534
+ case h.MMP:
535
+ return [i.incMMP];
536
+ case h.speed:
537
+ return [i.incSpeed];
538
+ case h.jump:
539
+ return [i.incJump];
540
+ case h.damR:
541
+ return [i.damR];
542
+ case h.bdR:
543
+ return [i.bdR];
544
+ case h.allStatR:
545
+ return [i.statR];
546
+ case h.reduceReq:
547
+ return [i.reduceReq];
548
548
  default:
549
549
  return [];
550
550
  }
551
551
  }
552
- const V = 25, U = 15;
553
- function x(n, c = !1) {
554
- if (n.getBooleanValue(t.incCHUC))
552
+ const Q = 25, I = 15;
553
+ function Z(t, s = !1) {
554
+ if (t.getBooleanValue(i.incCHUC))
555
555
  return !1;
556
- if (n.getBooleanValue(t.superiorEqp))
557
- return _(n);
558
- if (n.star >= n.maxStar && !c || n.star >= V)
556
+ if (t.getBooleanValue(i.superiorEqp))
557
+ return Y(t);
558
+ if (t.star >= t.maxStar && !s || t.star >= Q)
559
559
  return !1;
560
- n.star += 1;
561
- const i = n.star, o = b(n, !1, !1), h = b(n, !1, !0), a = D.isWeapon(n.type) || n.type === s.katara, r = [
562
- [t.incSTR, t.incDEX],
563
- [t.incINT, t.incLUK],
564
- [t.incDEX, t.incSTR],
565
- [t.incLUK, t.incDEX],
566
- [t.incSTR, t.incDEX]
567
- ], l = [
568
- t.incSTR,
569
- t.incDEX,
570
- t.incINT,
571
- t.incLUK
560
+ t.star += 1;
561
+ const o = t.star, a = R(t, !1, !1), d = R(t, !1, !0), u = A.isWeapon(t.type) || t.type === f.katara, v = [
562
+ [i.incSTR, i.incDEX],
563
+ [i.incINT, i.incLUK],
564
+ [i.incDEX, i.incSTR],
565
+ [i.incLUK, i.incDEX],
566
+ [i.incSTR, i.incDEX]
567
+ ], c = [
568
+ i.incSTR,
569
+ i.incDEX,
570
+ i.incINT,
571
+ i.incLUK
572
572
  ];
573
- let f;
574
- const d = n.req.job;
575
- if (d === 0)
576
- f = /* @__PURE__ */ new Set([
577
- t.incSTR,
578
- t.incDEX,
579
- t.incINT,
580
- t.incLUK
573
+ let n;
574
+ const r = t.req.job;
575
+ if (r === 0)
576
+ n = /* @__PURE__ */ new Set([
577
+ i.incSTR,
578
+ i.incDEX,
579
+ i.incINT,
580
+ i.incLUK
581
581
  ]);
582
582
  else {
583
- f = /* @__PURE__ */ new Set();
584
- for (let e = 0; e < 5; e++)
585
- if (d & 1 << e)
586
- for (const m of r[e])
587
- f.add(m);
583
+ n = /* @__PURE__ */ new Set();
584
+ for (let D = 0; D < 5; D++)
585
+ if (r & 1 << D)
586
+ for (const M of v[D])
587
+ n.add(M);
588
588
  }
589
- for (const e of l)
590
- (f.has(e) || i > 15 && (n.option(e).base > 0 || n.option(e).upgrade > 0)) && (n.option(e).enchant += o[i]);
591
- if (a) {
592
- const e = d === 0 || Math.floor(d / 2) % 2 === 1 || n.option(t.incMAD).upgrade > 0;
593
- if (i > 15)
594
- n.option(t.incPAD).enchant += h[i], e && (n.option(t.incMAD).enchant += h[i]);
589
+ for (const D of c)
590
+ (n.has(D) || o > 15 && (t.option(D).base > 0 || t.option(D).upgrade > 0)) && (t.option(D).enchant += a[o]);
591
+ if (u) {
592
+ const D = r === 0 || Math.floor(r / 2) % 2 === 1 || t.option(i.incMAD).upgrade > 0;
593
+ if (o > 15)
594
+ t.option(i.incPAD).enchant += d[o], D && (t.option(i.incMAD).enchant += d[o]);
595
595
  else {
596
- const m = n.option(t.incPAD).sum - n.option(t.incPAD).bonus;
597
- if (n.option(t.incPAD).enchant += Math.floor(m / 50) + 1, e) {
598
- const A = n.option(t.incMAD).sum - n.option(t.incMAD).bonus;
599
- n.option(t.incMAD).enchant += Math.floor(A / 50) + 1;
596
+ const M = t.option(i.incPAD).sum - t.option(i.incPAD).bonus;
597
+ if (t.option(i.incPAD).enchant += Math.floor(M / 50) + 1, D) {
598
+ const S = t.option(i.incMAD).sum - t.option(i.incMAD).bonus;
599
+ t.option(i.incMAD).enchant += Math.floor(S / 50) + 1;
600
600
  }
601
601
  }
602
602
  } else
603
- n.option(t.incPAD).enchant += h[i], n.option(t.incMAD).enchant += h[i], n.type === s.glove && (d === 0 ? (n.option(t.incPAD).enchant += w[i], n.option(t.incMAD).enchant += w[i]) : Math.floor(d / 2) % 2 === 1 ? n.option(t.incMAD).enchant += w[i] : n.option(t.incPAD).enchant += w[i]);
604
- if (!a && n.type !== s.machineHeart) {
605
- const e = n.option(t.incPDD).sum - n.option(t.incPDD).bonus;
606
- n.option(t.incPDD).enchant += Math.floor(e / 20) + 1;
603
+ t.option(i.incPAD).enchant += d[o], t.option(i.incMAD).enchant += d[o], t.type === f.glove && (r === 0 ? (t.option(i.incPAD).enchant += C[o], t.option(i.incMAD).enchant += C[o]) : Math.floor(r / 2) % 2 === 1 ? t.option(i.incMAD).enchant += C[o] : t.option(i.incPAD).enchant += C[o]);
604
+ if (!u && t.type !== f.machineHeart) {
605
+ const D = t.option(i.incPDD).sum - t.option(i.incPDD).bonus;
606
+ t.option(i.incPDD).enchant += Math.floor(D / 20) + 1;
607
607
  }
608
- const M = [
609
- s.cap,
610
- s.coat,
611
- s.longcoat,
612
- s.pants,
613
- s.cape,
614
- s.ring,
615
- s.pendant,
616
- s.belt,
617
- s.shoulder,
618
- s.shield
608
+ const b = [
609
+ f.cap,
610
+ f.coat,
611
+ f.longcoat,
612
+ f.pants,
613
+ f.cape,
614
+ f.ring,
615
+ f.pendant,
616
+ f.belt,
617
+ f.shoulder,
618
+ f.shield
619
619
  ];
620
- return a ? (n.option(t.incMHP).enchant += v[i], n.option(t.incMMP).enchant += v[i]) : M.includes(n.type) && (n.option(t.incMHP).enchant += v[i]), n.type === s.shoes && (n.option(t.incSpeed).enchant += C[i], n.option(t.incJump).enchant += C[i]), !0;
620
+ return u ? (t.option(i.incMHP).enchant += L[o], t.option(i.incMMP).enchant += L[o]) : b.includes(t.type) && (t.option(i.incMHP).enchant += L[o]), t.type === f.shoes && (t.option(i.incSpeed).enchant += H[o], t.option(i.incJump).enchant += H[o]), !0;
621
621
  }
622
- function _(n) {
623
- if (n.star >= n.maxStar)
622
+ function Y(t) {
623
+ if (t.star >= t.maxStar)
624
624
  return !1;
625
- n.star += 1;
626
- const c = n.star, i = b(n, !1, !1), o = b(n, !1, !0), h = [
627
- t.incSTR,
628
- t.incDEX,
629
- t.incINT,
630
- t.incLUK
625
+ t.star += 1;
626
+ const s = t.star, o = R(t, !1, !1), a = R(t, !1, !0), d = [
627
+ i.incSTR,
628
+ i.incDEX,
629
+ i.incINT,
630
+ i.incLUK
631
631
  ];
632
- for (const l of h)
633
- n.option(l).base > 0 && (n.option(l).enchant += i[c]);
634
- const a = [t.incPAD, t.incMAD];
635
- for (const l of a)
636
- n.option(l).base > 0 && (n.option(l).enchant += o[c]);
637
- const r = n.option(t.incPDD).sum - n.option(t.incPDD).bonus;
638
- return n.option(t.incPDD).enchant += Math.floor(r / 20) + 1, !0;
632
+ for (const c of d)
633
+ t.option(c).base > 0 && (t.option(c).enchant += o[s]);
634
+ const u = [i.incPAD, i.incMAD];
635
+ for (const c of u)
636
+ t.option(c).base > 0 && (t.option(c).enchant += a[s]);
637
+ const v = t.option(i.incPDD).sum - t.option(i.incPDD).bonus;
638
+ return t.option(i.incPDD).enchant += Math.floor(v / 20) + 1, !0;
639
639
  }
640
- function p(n, c = !1, i = !1) {
641
- if (n.getBooleanValue(t.incCHUC) || n.getBooleanValue(t.superiorEqp) || n.req.level > 150 || n.star >= n.maxStar && !i || n.star >= U)
640
+ function u0(t, s = !1, o = !1) {
641
+ if (t.getBooleanValue(i.incCHUC) || t.getBooleanValue(i.superiorEqp) || t.req.level > 150 || t.star >= t.maxStar && !o || t.star >= I)
642
642
  return !1;
643
- n.amazing || (n.amazing = !0, n.maxStar = Math.min(n.maxStar, U)), n.star += 1;
644
- const o = n.star, h = b(n, !0, !1), a = b(n, !0, !0), r = D.isWeapon(n.type) || n.type === s.katara, l = [
645
- t.incSTR,
646
- t.incDEX,
647
- t.incINT,
648
- t.incLUK
643
+ t.amazing || (t.amazing = !0, t.maxStar = Math.min(t.maxStar, I)), t.star += 1;
644
+ const a = t.star, d = R(t, !0, !1), u = R(t, !0, !0), v = A.isWeapon(t.type) || t.type === f.katara, c = [
645
+ i.incSTR,
646
+ i.incDEX,
647
+ i.incINT,
648
+ i.incLUK
649
649
  ];
650
- for (const M of l)
651
- if (n.option(M).sum > 0) {
652
- let m = h[o];
653
- c && D.isAccessory(n.type) && (m += o > 5 ? 2 : 1), n.option(M).enchant += m;
650
+ for (const b of c)
651
+ if (t.option(b).sum > 0) {
652
+ let M = d[a];
653
+ s && A.isAccessory(t.type) && (M += a > 5 ? 2 : 1), t.option(b).enchant += M;
654
654
  }
655
- const f = [t.incPAD, t.incMAD];
656
- for (const M of f) {
657
- const e = n.option(M).sum;
658
- if (e > 0) {
659
- r && (n.option(M).enchant += Math.floor(e / 50) + 1);
660
- let m = a[o];
661
- c && (r || n.type === s.shield) && (m += 1), n.option(M).enchant += m;
655
+ const n = [i.incPAD, i.incMAD];
656
+ for (const b of n) {
657
+ const D = t.option(b).sum;
658
+ if (D > 0) {
659
+ v && (t.option(b).enchant += Math.floor(D / 50) + 1);
660
+ let M = u[a];
661
+ s && (v || t.type === f.shield) && (M += 1), t.option(b).enchant += M;
662
662
  }
663
663
  }
664
- c && D.isArmor(n.type) && (n.option(t.incMHP).enchant += 50);
665
- const d = n.option(t.incPDD).sum;
666
- return n.option(t.incPDD).enchant += Math.floor(d / 20) + 1, !0;
664
+ s && A.isArmor(t.type) && (t.option(i.incMHP).enchant += 50);
665
+ const r = t.option(i.incPDD).sum;
666
+ return t.option(i.incPDD).enchant += Math.floor(r / 20) + 1, !0;
667
667
  }
668
- function $(n) {
669
- if (n.getBooleanValue(t.incCHUC))
668
+ function l(t) {
669
+ if (t.getBooleanValue(i.incCHUC))
670
670
  return !1;
671
- n.star = 0, n.amazing = !1, n.maxStar = D.getMaxStar(n);
672
- for (const [, c] of n.options)
673
- c.enchant = 0;
671
+ t.star = 0, t.amazing = !1, t.maxStar = A.getMaxStar(t);
672
+ for (const [, s] of t.options)
673
+ s.enchant = 0;
674
674
  return !0;
675
675
  }
676
- function G(n) {
677
- if (n.getBooleanValue(t.incCHUC) || n.amazing)
676
+ function r0(t) {
677
+ if (t.getBooleanValue(i.incCHUC) || t.amazing)
678
678
  return !1;
679
- const c = n.star;
680
- $(n);
681
- for (let i = 0; i < c; i++)
682
- x(n, !0);
679
+ const s = t.star;
680
+ l(t);
681
+ for (let o = 0; o < s; o++)
682
+ Z(t, !0);
683
683
  return !0;
684
684
  }
685
- function b(n, c, i) {
686
- let o;
687
- n.getBooleanValue(t.superiorEqp) ? i ? o = F : o = j : c ? i ? o = B : o = Q : i ? D.isWeapon(n.type) || n.type === s.katara ? o = O : o = z : o = J;
688
- const h = n.req.level;
689
- for (const a of [...o].reverse())
690
- if (h >= a[0])
691
- return a;
685
+ function R(t, s, o) {
686
+ let a;
687
+ t.getBooleanValue(i.superiorEqp) ? o ? a = P : a = m : s ? o ? a = p : a = e : o ? A.isWeapon(t.type) || t.type === f.katara ? a = y : a = T : a = G;
688
+ const d = t.req.level;
689
+ for (const u of [...a].reverse())
690
+ if (d >= u[0])
691
+ return u;
692
692
  throw Error(`Gear has invalid reqLevel.
693
- ` + n);
693
+ ` + t);
694
694
  }
695
- const F = [
695
+ const P = [
696
696
  [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
697
697
  [110, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0],
698
698
  [150, 0, 0, 0, 0, 0, 9, 10, 11, 12, 13, 15, 17, 19, 21, 23]
699
- ], j = [
699
+ ], m = [
700
700
  [0, 1, 2, 4, 7, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
701
701
  [80, 2, 3, 5, 8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
702
702
  [110, 9, 10, 12, 15, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
703
703
  [150, 19, 20, 22, 25, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
704
- ], O = [
704
+ ], y = [
705
705
  [
706
706
  0,
707
707
  0,
@@ -954,7 +954,7 @@ const F = [
954
954
  37,
955
955
  38
956
956
  ]
957
- ], z = [
957
+ ], T = [
958
958
  [
959
959
  0,
960
960
  0,
@@ -1207,7 +1207,7 @@ const F = [
1207
1207
  25,
1208
1208
  27
1209
1209
  ]
1210
- ], J = [
1210
+ ], G = [
1211
1211
  [
1212
1212
  0,
1213
1213
  2,
@@ -1460,7 +1460,7 @@ const F = [
1460
1460
  0,
1461
1461
  0
1462
1462
  ]
1463
- ], B = [
1463
+ ], p = [
1464
1464
  [0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 8, 10, 12, 14],
1465
1465
  [80, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 9, 11, 13, 15],
1466
1466
  [90, 0, 0, 0, 0, 0, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16],
@@ -1470,7 +1470,7 @@ const F = [
1470
1470
  [130, 0, 0, 0, 0, 0, 7, 8, 9, 10, 11, 12, 14, 16, 18, 20],
1471
1471
  [140, 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 15, 17, 19, 21],
1472
1472
  [150, 0, 0, 0, 0, 0, 9, 10, 11, 12, 13, 14, 16, 18, 20, 22]
1473
- ], Q = [
1473
+ ], e = [
1474
1474
  [0, 1, 2, 4, 7, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1475
1475
  [80, 2, 3, 5, 8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1476
1476
  [85, 3, 4, 6, 9, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
@@ -1487,7 +1487,7 @@ const F = [
1487
1487
  [140, 17, 18, 20, 23, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1488
1488
  [145, 18, 19, 21, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1489
1489
  [150, 19, 20, 22, 25, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
1490
- ], w = [
1490
+ ], C = [
1491
1491
  0,
1492
1492
  0,
1493
1493
  0,
@@ -1514,7 +1514,7 @@ const F = [
1514
1514
  0,
1515
1515
  0,
1516
1516
  0
1517
- ], v = [
1517
+ ], L = [
1518
1518
  0,
1519
1519
  5,
1520
1520
  5,
@@ -1541,7 +1541,7 @@ const F = [
1541
1541
  0,
1542
1542
  0,
1543
1543
  0
1544
- ], C = [
1544
+ ], H = [
1545
1545
  0,
1546
1546
  0,
1547
1547
  0,
@@ -1569,233 +1569,328 @@ const F = [
1569
1569
  0,
1570
1570
  0
1571
1571
  ];
1572
- function Z(n, c, i) {
1573
- const o = c === t.incINT ? t.incMAD : t.incPAD, h = n.req.level >= 115 ? 2 : n.req.level >= 75 ? 1 : 0;
1574
- let a;
1575
- const r = o === t.incMAD ? "마력" : "공격력";
1576
- switch (c) {
1577
- case t.incSTR:
1578
- a = "힘";
1572
+ function t0(t, s, o) {
1573
+ const a = s === i.incINT ? i.incMAD : i.incPAD, d = t.req.level >= 115 ? 2 : t.req.level >= 75 ? 1 : 0;
1574
+ let u;
1575
+ const v = a === i.incMAD ? "마력" : "공격력";
1576
+ switch (s) {
1577
+ case i.incSTR:
1578
+ u = "힘";
1579
1579
  break;
1580
- case t.incDEX:
1581
- a = "민첩";
1580
+ case i.incDEX:
1581
+ u = "민첩";
1582
1582
  break;
1583
- case t.incINT:
1584
- a = "지력";
1583
+ case i.incINT:
1584
+ u = "지력";
1585
1585
  break;
1586
- case t.incLUK:
1587
- a = "운";
1586
+ case i.incLUK:
1587
+ u = "운";
1588
1588
  break;
1589
- case t.incAllStat:
1590
- a = "올스탯";
1589
+ case i.incAllStat:
1590
+ u = "올스탯";
1591
1591
  break;
1592
- case t.incMHP:
1593
- a = "체력";
1592
+ case i.incMHP:
1593
+ u = "체력";
1594
1594
  break;
1595
1595
  }
1596
- if (D.isWeapon(n.type) || n.type === s.katara) {
1597
- if (c === t.incAllStat)
1596
+ if (A.isWeapon(t.type) || t.type === f.katara) {
1597
+ if (s === i.incAllStat)
1598
1598
  return;
1599
- let l;
1600
- switch (i) {
1599
+ let c;
1600
+ switch (o) {
1601
1601
  case 100:
1602
- l = [
1602
+ c = [
1603
1603
  [1, 0],
1604
1604
  [2, 0],
1605
1605
  [3, 1]
1606
1606
  ];
1607
1607
  break;
1608
1608
  case 70:
1609
- l = [
1609
+ c = [
1610
1610
  [2, 0],
1611
1611
  [3, 1],
1612
1612
  [5, 2]
1613
1613
  ];
1614
1614
  break;
1615
1615
  case 30:
1616
- l = [
1616
+ c = [
1617
1617
  [3, 1],
1618
1618
  [5, 2],
1619
1619
  [7, 3]
1620
1620
  ];
1621
1621
  break;
1622
1622
  case 15:
1623
- l = [
1623
+ c = [
1624
1624
  [5, 2],
1625
1625
  [7, 3],
1626
1626
  [9, 4]
1627
1627
  ];
1628
1628
  break;
1629
1629
  }
1630
- const f = l[h][0], d = l[h][1] * (c === t.incMHP ? 50 : 1);
1631
- return { name: d > 0 ? `${i}% ${r}(${a}) 주문서` : `${i}% ${r} 주문서`, stat: /* @__PURE__ */ new Map([
1632
- [c, d],
1633
- [o, f]
1630
+ const n = c[d][0], r = c[d][1] * (s === i.incMHP ? 50 : 1);
1631
+ return { name: r > 0 ? `${o}% ${v}(${u}) 주문서` : `${o}% ${v} 주문서`, stat: /* @__PURE__ */ new Map([
1632
+ [s, r],
1633
+ [a, n]
1634
1634
  ]) };
1635
- } else if (i === 15)
1635
+ } else if (o === 15)
1636
1636
  return;
1637
- if (n.type === s.glove) {
1638
- let l;
1639
- switch (i) {
1637
+ if (t.type === f.glove) {
1638
+ let c;
1639
+ switch (o) {
1640
1640
  case 100:
1641
- l = [0, 1, 1];
1641
+ c = [0, 1, 1];
1642
1642
  break;
1643
1643
  case 70:
1644
- l = [1, 2, 2];
1644
+ c = [1, 2, 2];
1645
1645
  break;
1646
1646
  case 30:
1647
- l = [2, 3, 3];
1647
+ c = [2, 3, 3];
1648
1648
  break;
1649
1649
  }
1650
- const f = l[h];
1651
- let d, M;
1652
- return f === 0 ? (d = `${i}% 방어력 주문서`, M = /* @__PURE__ */ new Map([[t.incPDD, 3]])) : (d = `${i}% ${r} 주문서`, M = /* @__PURE__ */ new Map([[o, f]])), { name: d, stat: M };
1650
+ const n = c[d];
1651
+ let r, b;
1652
+ return n === 0 ? (r = `${o}% 방어력 주문서`, b = /* @__PURE__ */ new Map([[i.incPDD, 3]])) : (r = `${o}% ${v} 주문서`, b = /* @__PURE__ */ new Map([[a, n]])), { name: r, stat: b };
1653
1653
  }
1654
- if (D.isArmor(n.type) || n.type === s.shoulder) {
1655
- if (c === t.incAllStat) {
1656
- if (i !== 30)
1654
+ if (A.isArmor(t.type) || t.type === f.shoulder) {
1655
+ if (s === i.incAllStat) {
1656
+ if (o !== 30)
1657
1657
  return;
1658
- const A = [
1658
+ const S = [
1659
1659
  [1, 30, 4],
1660
1660
  [2, 70, 7],
1661
1661
  [3, 120, 10]
1662
- ], R = A[h][0], L = A[h][1], g = A[h][2], N = `${i}% ${a} 주문서`, S = /* @__PURE__ */ new Map([
1663
- [t.incSTR, R],
1664
- [t.incDEX, R],
1665
- [t.incINT, R],
1666
- [t.incLUK, R],
1667
- [t.incMHP, L],
1668
- [t.incPDD, g]
1662
+ ], w = S[d][0], j = S[d][1], $ = S[d][2], z = `${o}% ${u} 주문서`, E = /* @__PURE__ */ new Map([
1663
+ [i.incSTR, w],
1664
+ [i.incDEX, w],
1665
+ [i.incINT, w],
1666
+ [i.incLUK, w],
1667
+ [i.incMHP, j],
1668
+ [i.incPDD, $]
1669
1669
  ]);
1670
- return n.upgradeCount === 3 && (n.req.job === 0 ? (S.set(t.incMAD, 1), S.set(t.incPAD, 1)) : Math.floor(n.req.job / 2) % 2 === 1 ? S.set(t.incMAD, 1) : S.set(t.incPAD, 1)), { name: N, stat: S };
1670
+ return t.upgradeCount === 3 && (t.req.job === 0 ? (E.set(i.incMAD, 1), E.set(i.incPAD, 1)) : Math.floor(t.req.job / 2) % 2 === 1 ? E.set(i.incMAD, 1) : E.set(i.incPAD, 1)), { name: z, stat: E };
1671
1671
  }
1672
- let l;
1673
- switch (i) {
1672
+ let c;
1673
+ switch (o) {
1674
1674
  case 100:
1675
- l = [
1675
+ c = [
1676
1676
  [1, 5, 1],
1677
1677
  [2, 20, 2],
1678
1678
  [3, 30, 3]
1679
1679
  ];
1680
1680
  break;
1681
1681
  case 70:
1682
- l = [
1682
+ c = [
1683
1683
  [2, 15, 2],
1684
1684
  [3, 40, 4],
1685
1685
  [4, 70, 5]
1686
1686
  ];
1687
1687
  break;
1688
1688
  case 30:
1689
- l = [
1689
+ c = [
1690
1690
  [3, 30, 4],
1691
1691
  [5, 70, 7],
1692
1692
  [7, 120, 10]
1693
1693
  ];
1694
1694
  break;
1695
1695
  }
1696
- const f = c !== t.incMHP ? l[h][0] : 0, d = l[h][1] + (c === t.incMHP ? l[h][0] * 50 : 0), M = l[h][2], e = `${i}% ${a} 주문서`, m = /* @__PURE__ */ new Map([
1697
- [t.incMHP, d],
1698
- [t.incPDD, M]
1696
+ const n = s !== i.incMHP ? c[d][0] : 0, r = c[d][1] + (s === i.incMHP ? c[d][0] * 50 : 0), b = c[d][2], D = `${o}% ${u} 주문서`, M = /* @__PURE__ */ new Map([
1697
+ [i.incMHP, r],
1698
+ [i.incPDD, b]
1699
1699
  ]);
1700
- return f > 0 && m.set(c, f), n.upgradeCount === 3 && (n.req.job === 0 ? (m.set(t.incMAD, 1), m.set(t.incPAD, 1)) : Math.floor(n.req.job / 2) % 2 === 1 ? m.set(t.incMAD, 1) : m.set(t.incPAD, 1)), { name: e, stat: m };
1700
+ return n > 0 && M.set(s, n), t.upgradeCount === 3 && (t.req.job === 0 ? (M.set(i.incMAD, 1), M.set(i.incPAD, 1)) : Math.floor(t.req.job / 2) % 2 === 1 ? M.set(i.incMAD, 1) : M.set(i.incPAD, 1)), { name: D, stat: M };
1701
1701
  }
1702
- if (D.isAccessory(n.type)) {
1703
- if (c === t.incAllStat) {
1704
- if (i !== 30)
1702
+ if (A.isAccessory(t.type)) {
1703
+ if (s === i.incAllStat) {
1704
+ if (o !== 30)
1705
1705
  return;
1706
- const m = [
1706
+ const M = [
1707
1707
  [1, 30, 4],
1708
1708
  [2, 70, 7],
1709
1709
  [3, 120, 10]
1710
- ][h][0], A = `${i}% ${a} 주문서`, R = /* @__PURE__ */ new Map([
1711
- [t.incSTR, m],
1712
- [t.incDEX, m],
1713
- [t.incINT, m],
1714
- [t.incLUK, m]
1710
+ ][d][0], S = `${o}% ${u} 주문서`, w = /* @__PURE__ */ new Map([
1711
+ [i.incSTR, M],
1712
+ [i.incDEX, M],
1713
+ [i.incINT, M],
1714
+ [i.incLUK, M]
1715
1715
  ]);
1716
- return { name: A, stat: R };
1716
+ return { name: S, stat: w };
1717
1717
  }
1718
- let l;
1719
- switch (i) {
1718
+ let c;
1719
+ switch (o) {
1720
1720
  case 100:
1721
- l = [1, 1, 2];
1721
+ c = [1, 1, 2];
1722
1722
  break;
1723
1723
  case 70:
1724
- l = [2, 2, 3];
1724
+ c = [2, 2, 3];
1725
1725
  break;
1726
1726
  case 30:
1727
- l = [3, 4, 5];
1727
+ c = [3, 4, 5];
1728
1728
  break;
1729
1729
  }
1730
- const f = l[h] * (c === t.incMHP ? 50 : 1);
1731
- return { name: `${i}% ${a} 주문서`, stat: /* @__PURE__ */ new Map([[c, f]]) };
1730
+ const n = c[d] * (s === i.incMHP ? 50 : 1);
1731
+ return { name: `${o}% ${u} 주문서`, stat: /* @__PURE__ */ new Map([[s, n]]) };
1732
1732
  }
1733
- if (n.type === s.machineHeart) {
1734
- let l;
1735
- switch (i) {
1733
+ if (t.type === f.machineHeart) {
1734
+ let c;
1735
+ switch (o) {
1736
1736
  case 100:
1737
- l = [1, 2, 3];
1737
+ c = [1, 2, 3];
1738
1738
  break;
1739
1739
  case 70:
1740
- l = [2, 3, 5];
1740
+ c = [2, 3, 5];
1741
1741
  break;
1742
1742
  case 30:
1743
- l = [3, 5, 7];
1743
+ c = [3, 5, 7];
1744
1744
  break;
1745
1745
  }
1746
- const f = l[h];
1747
- return { name: `${i}% ${a} 주문서`, stat: /* @__PURE__ */ new Map([[o, f]]) };
1746
+ const n = c[d];
1747
+ return { name: `${o}% ${u} 주문서`, stat: /* @__PURE__ */ new Map([[a, n]]) };
1748
1748
  }
1749
1749
  }
1750
- function y(n) {
1751
- return n.getBooleanValue(t.blockGoldHammer) || n.getBooleanValue(t.onlyUpgrade) || n.totalUpgradeCount <= 0 || n.hammerCount > 0 ? !1 : (n.hammerCount = 1, !0);
1750
+ function D0(t) {
1751
+ return t.getBooleanValue(i.blockGoldHammer) || t.getBooleanValue(i.onlyUpgrade) || t.totalUpgradeCount <= 0 || t.hammerCount > 0 ? !1 : (t.hammerCount = 1, !0);
1752
1752
  }
1753
- function Y(n, c) {
1754
- if (n.upgradeCountLeft < 1)
1753
+ function n0(t, s) {
1754
+ if (t.upgradeCountLeft < 1)
1755
1755
  return !1;
1756
- n.upgradeCount += 1;
1757
- for (const [i, o] of c.stat)
1758
- n.option(i).upgrade += o;
1756
+ t.upgradeCount += 1;
1757
+ for (const [o, a] of s.stat)
1758
+ t.option(o).upgrade += a;
1759
1759
  return !0;
1760
1760
  }
1761
- function n0(n, c, i) {
1762
- const o = Z(n, c, i);
1763
- return o ? Y(n, o) : !1;
1761
+ function M0(t, s, o) {
1762
+ const a = t0(t, s, o);
1763
+ return a ? n0(t, a) : !1;
1764
1764
  }
1765
- function t0(n) {
1766
- return n.upgradeCountLeft < 1 ? !1 : (n.upgradeFailCount += 1, !0);
1765
+ function A0(t) {
1766
+ return t.upgradeCountLeft < 1 ? !1 : (t.upgradeFailCount += 1, !0);
1767
1767
  }
1768
- function i0(n) {
1769
- return n.upgradeFailCount < 1 ? !1 : (n.upgradeFailCount -= 1, !0);
1768
+ function b0(t) {
1769
+ return t.upgradeFailCount < 1 ? !1 : (t.upgradeFailCount -= 1, !0);
1770
1770
  }
1771
- function c0(n) {
1772
- n.upgradeCount = 0, n.upgradeFailCount = 0, n.hammerCount = 0;
1773
- for (const [, c] of n.options)
1774
- c.upgrade = 0;
1771
+ function v0(t) {
1772
+ t.upgradeCount = 0, t.upgradeFailCount = 0, t.hammerCount = 0;
1773
+ for (const [, s] of t.options)
1774
+ s.upgrade = 0;
1775
1775
  return !0;
1776
1776
  }
1777
+ function c0(t) {
1778
+ const s = {};
1779
+ s.id = t.itemID, s.n = t.name, t.desc.length > 0 && (s.d = t.desc), s.i = t.icon, t.anvilIcon && (s.i2 = t.anvilIcon), t.anvilName && (s.n2 = t.anvilName), s.t = t.type, s.r = t.req, s.pr = U(t.props, (a) => a !== 0), s.o = U(t.options, (a) => !a.empty, s0), t.totalUpgradeCount > 0 && (s.c = t.totalUpgradeCount), t.upgradeCount > 0 && (s.up = t.upgradeCount), t.upgradeFailCount > 0 && (s.f = t.upgradeFailCount), t.hammerCount > 0 && (s.h = t.hammerCount), t.maxStar > 0 && (s.m = t.maxStar), t.star > 0 && (s.s = t.star), t.amazing && (s.a = t.amazing), t.karma !== void 0 && (s.k = t.karma), t.canPotential && (s.cp = t.canPotential), t.grade > 0 && (s.g = t.grade), t.grade > 0 && t.potentials.length > 0 && (s.p = K(t.potentials, void 0, q)), t.additionalGrade > 0 && (s.g2 = t.additionalGrade), t.additionalGrade > 0 && t.additionalPotentials.length > 0 && (s.p2 = K(
1780
+ t.additionalPotentials,
1781
+ void 0,
1782
+ q
1783
+ ));
1784
+ const o = i0(t.soulWeapon);
1785
+ return o && (s.w = o), s;
1786
+ }
1787
+ function s0(t) {
1788
+ return [t.base, t.bonus, t.upgrade, t.enchant];
1789
+ }
1790
+ function q(t) {
1791
+ return t ? {
1792
+ c: t.code,
1793
+ t: t.optionType,
1794
+ l: t.reqLevel,
1795
+ s: t.summary,
1796
+ o: U(t.option, (s) => s !== 0)
1797
+ } : null;
1798
+ }
1799
+ function i0(t) {
1800
+ const s = {};
1801
+ if (t.enchanted && (s.e = t.enchanted), t.soul && (s.s = t.soul), t.charge > 0 && (s.c = t.charge), t.chargeOption.size > 0 && (s.o = U(t.chargeOption, (o) => o !== 0)), Object.keys(s).length > 0)
1802
+ return s;
1803
+ }
1804
+ const o0 = (t) => {
1805
+ const s = (c) => typeof c.id == "number" && typeof c.n == "string" && (c.d === void 0 || typeof c.d == "string") && typeof c.i == "object" && c.i !== null && o(c.i) && (c.i2 === void 0 || typeof c.i2 == "object" && c.i2 !== null && o(c.i2)) && (c.n2 === void 0 || typeof c.n2 == "string") && (c.t === 100 || c.t === 101 || c.t === 102 || c.t === 103 || c.t === 104 || c.t === 105 || c.t === 106 || c.t === 107 || c.t === 108 || c.t === 110 || c.t === 111 || c.t === 112 || c.t === 113 || c.t === 114 || c.t === 115 || c.t === 116 || c.t === 118 || c.t === 166 || c.t === 167 || c.t === 109 || c.t === 119 || c.t === 119020 || c.t === 1212 || c.t === 1213 || c.t === 1214 || c.t === 122 || c.t === 123 || c.t === 124 || c.t === 126 || c.t === 127 || c.t === 128 || c.t === 129 || c.t === 130 || c.t === 131 || c.t === 132 || c.t === 133 || c.t === 134 || c.t === 136 || c.t === 137 || c.t === 138 || c.t === 140 || c.t === 1404 || c.t === 141 || c.t === 142 || c.t === 143 || c.t === 144 || c.t === 145 || c.t === 146 || c.t === 147 || c.t === 148 || c.t === 149 || c.t === 150 || c.t === 151 || c.t === 152 || c.t === 153 || c.t === 156 || c.t === 157 || c.t === 158 || c.t === 159 || c.t === 1098 || c.t === 1099 || c.t === 135200 || c.t === 135210 || c.t === 135220 || c.t === 135221 || c.t === 135222 || c.t === 135223 || c.t === 135224 || c.t === 135225 || c.t === 135226 || c.t === 135227 || c.t === 135228 || c.t === 135229 || c.t === 135240 || c.t === 135250 || c.t === 135260 || c.t === 135270 || c.t === 135290 || c.t === 135291 || c.t === 135292 || c.t === 135293 || c.t === 135294 || c.t === 135295 || c.t === 135296 || c.t === 135297 || c.t === 135298 || c.t === 135300 || c.t === 135310 || c.t === 135320 || c.t === 135330 || c.t === 135340 || c.t === 135350 || c.t === 135360 || c.t === 135370 || c.t === 135380 || c.t === 135400 || c.t === 135401 || c.t === 135402 || c.t === 135403 || c.t === 180 || c.t === 161 || c.t === 162 || c.t === 163 || c.t === 164 || c.t === 165 || c.t === 194 || c.t === 195 || c.t === 196 || c.t === 197) && typeof c.r == "object" && c.r !== null && a(c.r) && Array.isArray(c.pr) && c.pr.every(
1806
+ (n) => Array.isArray(n) && n.length === 2 && (n[0] === 1 || n[0] === 2 || n[0] === 3 || n[0] === 4 || n[0] === 5 || n[0] === 6 || n[0] === 7 || n[0] === 8 || n[0] === 9 || n[0] === 10 || n[0] === 11 || n[0] === 12 || n[0] === 13 || n[0] === 14 || n[0] === 15 || n[0] === 16 || n[0] === 17 || n[0] === 18 || n[0] === 19 || n[0] === 20 || n[0] === 21 || n[0] === 22 || n[0] === 23 || n[0] === 24 || n[0] === 25 || n[0] === 26 || n[0] === 27 || n[0] === 28 || n[0] === 29 || n[0] === 30 || n[0] === 31 || n[0] === 100 || n[0] === 101 || n[0] === 102 || n[0] === 103 || n[0] === 104 || n[0] === 105 || n[0] === 106 || n[0] === 107 || n[0] === 108 || n[0] === 109 || n[0] === 110 || n[0] === 111 || n[0] === 112 || n[0] === 113 || n[0] === 114 || n[0] === 115 || n[0] === 116 || n[0] === 117 || n[0] === 118 || n[0] === 119 || n[0] === 120 || n[0] === 121 || n[0] === 122 || n[0] === 123 || n[0] === 124 || n[0] === 125 || n[0] === 126 || n[0] === 127 || n[0] === 128 || n[0] === 129 || n[0] === 130 || n[0] === 131 || n[0] === 132 || n[0] === 133 || n[0] === 134 || n[0] === 135 || n[0] === 200 || n[0] === 201 || n[0] === 202 || n[0] === 203 || n[0] === 1100 || n[0] === 1101 || n[0] === 1102 || n[0] === 1103 || n[0] === 1104 || n[0] === 1105 || n[0] === 1106 || n[0] === 1107 || n[0] === 1108 || n[0] === 1109 || n[0] === 1110 || n[0] === 1111 || n[0] === 1112 || n[0] === 1113 || n[0] === 1114 || n[0] === 1115 || n[0] === 1116 || n[0] === 1117 || n[0] === 1118 || n[0] === 1119 || n[0] === 1120 || n[0] === 1121 || n[0] === 1122 || n[0] === 1123 || n[0] === 1124 || n[0] === 1125 || n[0] === 1126) && typeof n[1] == "number"
1807
+ ) && Array.isArray(c.o) && c.o.every(
1808
+ (n) => Array.isArray(n) && n.length === 2 && (n[0] === 1 || n[0] === 2 || n[0] === 3 || n[0] === 4 || n[0] === 5 || n[0] === 6 || n[0] === 7 || n[0] === 8 || n[0] === 9 || n[0] === 10 || n[0] === 11 || n[0] === 12 || n[0] === 13 || n[0] === 14 || n[0] === 15 || n[0] === 16 || n[0] === 17 || n[0] === 18 || n[0] === 19 || n[0] === 20 || n[0] === 21 || n[0] === 22 || n[0] === 23 || n[0] === 24 || n[0] === 25 || n[0] === 26 || n[0] === 27 || n[0] === 28 || n[0] === 29 || n[0] === 30 || n[0] === 31 || n[0] === 100 || n[0] === 101 || n[0] === 102 || n[0] === 103 || n[0] === 104 || n[0] === 105 || n[0] === 106 || n[0] === 107 || n[0] === 108 || n[0] === 109 || n[0] === 110 || n[0] === 111 || n[0] === 112 || n[0] === 113 || n[0] === 114 || n[0] === 115 || n[0] === 116 || n[0] === 117 || n[0] === 118 || n[0] === 119 || n[0] === 120 || n[0] === 121 || n[0] === 122 || n[0] === 123 || n[0] === 124 || n[0] === 125 || n[0] === 126 || n[0] === 127 || n[0] === 128 || n[0] === 129 || n[0] === 130 || n[0] === 131 || n[0] === 132 || n[0] === 133 || n[0] === 134 || n[0] === 135 || n[0] === 200 || n[0] === 201 || n[0] === 202 || n[0] === 203 || n[0] === 1100 || n[0] === 1101 || n[0] === 1102 || n[0] === 1103 || n[0] === 1104 || n[0] === 1105 || n[0] === 1106 || n[0] === 1107 || n[0] === 1108 || n[0] === 1109 || n[0] === 1110 || n[0] === 1111 || n[0] === 1112 || n[0] === 1113 || n[0] === 1114 || n[0] === 1115 || n[0] === 1116 || n[0] === 1117 || n[0] === 1118 || n[0] === 1119 || n[0] === 1120 || n[0] === 1121 || n[0] === 1122 || n[0] === 1123 || n[0] === 1124 || n[0] === 1125 || n[0] === 1126) && Array.isArray(n[1]) && n[1].length === 4 && typeof n[1][0] == "number" && typeof n[1][1] == "number" && typeof n[1][2] == "number" && typeof n[1][3] == "number"
1809
+ ) && (c.c === void 0 || typeof c.c == "number") && (c.up === void 0 || typeof c.up == "number") && (c.f === void 0 || typeof c.f == "number") && (c.h === void 0 || typeof c.h == "number") && (c.m === void 0 || typeof c.m == "number") && (c.s === void 0 || typeof c.s == "number") && (c.a === void 0 || typeof c.a == "boolean") && (c.k === void 0 || typeof c.k == "number") && (c.cp === void 0 || typeof c.cp == "boolean") && (c.g === void 0 || c.g === 0 || c.g === 1 || c.g === 2 || c.g === 3 || c.g === 4 || c.g === 5) && (c.p === void 0 || Array.isArray(c.p) && c.p.every(
1810
+ (n) => n === null || typeof n == "object" && n !== null && d(n)
1811
+ )) && (c.g2 === void 0 || c.g2 === 0 || c.g2 === 1 || c.g2 === 2 || c.g2 === 3 || c.g2 === 4 || c.g2 === 5) && (c.p2 === void 0 || Array.isArray(c.p2) && c.p2.every(
1812
+ (n) => n === null || typeof n == "object" && n !== null && d(n)
1813
+ )) && typeof c.w == "object" && c.w !== null && Array.isArray(c.w) === !1 && u(c.w), o = (c) => typeof c.id == "number" && Array.isArray(c.origin) && c.origin.length === 2 && typeof c.origin[0] == "number" && typeof c.origin[1] == "number", a = (c) => typeof c.level == "number" && typeof c.str == "number" && typeof c.luk == "number" && typeof c.dex == "number" && typeof c.int == "number" && typeof c.job == "number" && typeof c.specJob == "number", d = (c) => typeof c.c == "number" && typeof c.t == "number" && typeof c.l == "number" && typeof c.s == "string" && Array.isArray(c.o) && c.o.every(
1814
+ (n) => Array.isArray(n) && n.length === 2 && (n[0] === 1 || n[0] === 2 || n[0] === 3 || n[0] === 4 || n[0] === 5 || n[0] === 6 || n[0] === 7 || n[0] === 8 || n[0] === 9 || n[0] === 10 || n[0] === 11 || n[0] === 12 || n[0] === 13 || n[0] === 14 || n[0] === 15 || n[0] === 16 || n[0] === 17 || n[0] === 18 || n[0] === 19 || n[0] === 20 || n[0] === 21 || n[0] === 22 || n[0] === 23 || n[0] === 24 || n[0] === 25 || n[0] === 26 || n[0] === 27 || n[0] === 28 || n[0] === 29 || n[0] === 30 || n[0] === 31 || n[0] === 100 || n[0] === 101 || n[0] === 102 || n[0] === 103 || n[0] === 104 || n[0] === 105 || n[0] === 106 || n[0] === 107 || n[0] === 108 || n[0] === 109 || n[0] === 110 || n[0] === 111 || n[0] === 112 || n[0] === 113 || n[0] === 114 || n[0] === 115 || n[0] === 116 || n[0] === 117 || n[0] === 118 || n[0] === 119 || n[0] === 120 || n[0] === 121 || n[0] === 122 || n[0] === 123 || n[0] === 124 || n[0] === 125 || n[0] === 126 || n[0] === 127 || n[0] === 128 || n[0] === 129 || n[0] === 130 || n[0] === 131 || n[0] === 132 || n[0] === 133 || n[0] === 134 || n[0] === 135 || n[0] === 200 || n[0] === 201 || n[0] === 202 || n[0] === 203 || n[0] === 1100 || n[0] === 1101 || n[0] === 1102 || n[0] === 1103 || n[0] === 1104 || n[0] === 1105 || n[0] === 1106 || n[0] === 1107 || n[0] === 1108 || n[0] === 1109 || n[0] === 1110 || n[0] === 1111 || n[0] === 1112 || n[0] === 1113 || n[0] === 1114 || n[0] === 1115 || n[0] === 1116 || n[0] === 1117 || n[0] === 1118 || n[0] === 1119 || n[0] === 1120 || n[0] === 1121 || n[0] === 1122 || n[0] === 1123 || n[0] === 1124 || n[0] === 1125 || n[0] === 1126) && typeof n[1] == "number"
1815
+ ), u = (c) => (c.e === void 0 || typeof c.e == "boolean") && (c.s === void 0 || typeof c.s == "object" && c.s !== null && v(c.s)) && (c.c === void 0 || typeof c.c == "number") && (c.o === void 0 || Array.isArray(c.o) && c.o.every(
1816
+ (n) => Array.isArray(n) && n.length === 2 && (n[0] === 1 || n[0] === 2 || n[0] === 3 || n[0] === 4 || n[0] === 5 || n[0] === 6 || n[0] === 7 || n[0] === 8 || n[0] === 9 || n[0] === 10 || n[0] === 11 || n[0] === 12 || n[0] === 13 || n[0] === 14 || n[0] === 15 || n[0] === 16 || n[0] === 17 || n[0] === 18 || n[0] === 19 || n[0] === 20 || n[0] === 21 || n[0] === 22 || n[0] === 23 || n[0] === 24 || n[0] === 25 || n[0] === 26 || n[0] === 27 || n[0] === 28 || n[0] === 29 || n[0] === 30 || n[0] === 31 || n[0] === 100 || n[0] === 101 || n[0] === 102 || n[0] === 103 || n[0] === 104 || n[0] === 105 || n[0] === 106 || n[0] === 107 || n[0] === 108 || n[0] === 109 || n[0] === 110 || n[0] === 111 || n[0] === 112 || n[0] === 113 || n[0] === 114 || n[0] === 115 || n[0] === 116 || n[0] === 117 || n[0] === 118 || n[0] === 119 || n[0] === 120 || n[0] === 121 || n[0] === 122 || n[0] === 123 || n[0] === 124 || n[0] === 125 || n[0] === 126 || n[0] === 127 || n[0] === 128 || n[0] === 129 || n[0] === 130 || n[0] === 131 || n[0] === 132 || n[0] === 133 || n[0] === 134 || n[0] === 135 || n[0] === 200 || n[0] === 201 || n[0] === 202 || n[0] === 203 || n[0] === 1100 || n[0] === 1101 || n[0] === 1102 || n[0] === 1103 || n[0] === 1104 || n[0] === 1105 || n[0] === 1106 || n[0] === 1107 || n[0] === 1108 || n[0] === 1109 || n[0] === 1110 || n[0] === 1111 || n[0] === 1112 || n[0] === 1113 || n[0] === 1114 || n[0] === 1115 || n[0] === 1116 || n[0] === 1117 || n[0] === 1118 || n[0] === 1119 || n[0] === 1120 || n[0] === 1121 || n[0] === 1122 || n[0] === 1123 || n[0] === 1124 || n[0] === 1125 || n[0] === 1126) && typeof n[1] == "number"
1817
+ )), v = (c) => typeof c.name == "string" && typeof c.skill == "string" && c.option instanceof Map && [...c.option].every(
1818
+ (n) => Array.isArray(n) && n.length === 2 && (n[0] === 1 || n[0] === 2 || n[0] === 3 || n[0] === 4 || n[0] === 5 || n[0] === 6 || n[0] === 7 || n[0] === 8 || n[0] === 9 || n[0] === 10 || n[0] === 11 || n[0] === 12 || n[0] === 13 || n[0] === 14 || n[0] === 15 || n[0] === 16 || n[0] === 17 || n[0] === 18 || n[0] === 19 || n[0] === 20 || n[0] === 21 || n[0] === 22 || n[0] === 23 || n[0] === 24 || n[0] === 25 || n[0] === 26 || n[0] === 27 || n[0] === 28 || n[0] === 29 || n[0] === 30 || n[0] === 31 || n[0] === 100 || n[0] === 101 || n[0] === 102 || n[0] === 103 || n[0] === 104 || n[0] === 105 || n[0] === 106 || n[0] === 107 || n[0] === 108 || n[0] === 109 || n[0] === 110 || n[0] === 111 || n[0] === 112 || n[0] === 113 || n[0] === 114 || n[0] === 115 || n[0] === 116 || n[0] === 117 || n[0] === 118 || n[0] === 119 || n[0] === 120 || n[0] === 121 || n[0] === 122 || n[0] === 123 || n[0] === 124 || n[0] === 125 || n[0] === 126 || n[0] === 127 || n[0] === 128 || n[0] === 129 || n[0] === 130 || n[0] === 131 || n[0] === 132 || n[0] === 133 || n[0] === 134 || n[0] === 135 || n[0] === 200 || n[0] === 201 || n[0] === 202 || n[0] === 203 || n[0] === 1100 || n[0] === 1101 || n[0] === 1102 || n[0] === 1103 || n[0] === 1104 || n[0] === 1105 || n[0] === 1106 || n[0] === 1107 || n[0] === 1108 || n[0] === 1109 || n[0] === 1110 || n[0] === 1111 || n[0] === 1112 || n[0] === 1113 || n[0] === 1114 || n[0] === 1115 || n[0] === 1116 || n[0] === 1117 || n[0] === 1118 || n[0] === 1119 || n[0] === 1120 || n[0] === 1121 || n[0] === 1122 || n[0] === 1123 || n[0] === 1124 || n[0] === 1125 || n[0] === 1126) && typeof n[1] == "number"
1819
+ ) && typeof c.multiplier == "number";
1820
+ return typeof t == "object" && t !== null && s(t);
1821
+ };
1822
+ function S0(t) {
1823
+ return JSON.stringify(c0(t));
1824
+ }
1825
+ function w0(t) {
1826
+ return _(JSON.parse(t));
1827
+ }
1828
+ function R0(t) {
1829
+ const s = JSON.parse(t);
1830
+ return o0(s) ? _(s) : null;
1831
+ }
1832
+ function U(t, s, o) {
1833
+ let a = [...t];
1834
+ return s && (a = a.filter((d) => s(d[1]))), o ? a.map((d) => [d[0], o(d[1])]) : a;
1835
+ }
1836
+ function K(t, s, o) {
1837
+ let a = t;
1838
+ return s && (a = a.filter(s)), o ? a.map(o) : a === t ? [...t] : a;
1839
+ }
1840
+ function X(t, s) {
1841
+ return s ? new Map(t.map((o) => [o[0], s(o[1])])) : new Map(t);
1842
+ }
1843
+ function x(t, s) {
1844
+ return s ? [...t].map(s) : [...t];
1845
+ }
1846
+ function _(t) {
1847
+ const s = new A();
1848
+ return s.itemID = t.id, s.name = t.n, t.d && (s.desc = t.d), s.icon = t.i, t.i2 && t.n2 && (s.anvilIcon = t.i2, s.anvilName = t.n2), s.type = t.t, s.req = t.r, s.props = X(t.pr), s.options = X(t.o, a0), t.c && (s.totalUpgradeCount = t.c), t.up && (s.upgradeCount = t.up), t.f && (s.upgradeFailCount = t.f), t.h && (s.hammerCount = t.h), t.m && (s.maxStar = t.m), t.s && (s.star = t.s), t.a && (s.amazing = t.a), t.k && (s.karma = t.k), t.cp && (s.canPotential = t.cp), t.g && (s.grade = t.g), t.p && (s.potentials = x(t.p, V)), t.g2 && (s.additionalGrade = t.g2), t.p2 && (s.additionalPotentials = x(t.p2, V)), f0(t.w, s), s;
1849
+ }
1850
+ function a0(t) {
1851
+ const s = new W();
1852
+ return s.base = t[0], s.bonus = t[1], s.upgrade = t[2], s.enchant = t[3], s;
1853
+ }
1854
+ function V(t) {
1855
+ if (!t)
1856
+ return null;
1857
+ const s = new N();
1858
+ return s.code = t.c, s.optionType = t.t, s.reqLevel = t.l, s.summary = t.s, s.option = X(t.o), s;
1859
+ }
1860
+ function f0(t, s) {
1861
+ if (t) {
1862
+ const o = s.soulWeapon;
1863
+ t?.e && (o.enchanted = t.e), t?.s && (o.soul = t.s), t?.c && (o.charge = t.c), t?.o && (o.chargeOption = X(t.o));
1864
+ }
1865
+ }
1777
1866
  export {
1778
- u as BonusStatType,
1779
- D as Gear,
1780
- H as GearOption,
1781
- t as GearPropType,
1782
- s as GearType,
1783
- X as Potential,
1784
- E as PotentialGrade,
1785
- I as SoulWeapon,
1786
- p as addAmazingEnhancement,
1787
- P as addBonusStat,
1788
- x as addStarforce,
1789
- t0 as addUpgradeFailCount,
1790
- y as applyGoldHammer,
1791
- Y as applyScroll,
1792
- n0 as applySpellTrace,
1793
- K as getBonusStatOption,
1794
- q as getBonusStatValue,
1795
- Z as getSpellTraceScroll,
1796
- G as recalculateStarforce,
1797
- T as resetBonusStat,
1798
- $ as resetEnhancement,
1799
- c0 as resetUpgrade,
1800
- i0 as restoreUpgradeCount
1867
+ h as BonusStatType,
1868
+ A as Gear,
1869
+ W as GearOption,
1870
+ i as GearPropType,
1871
+ f as GearType,
1872
+ N as Potential,
1873
+ k as PotentialGrade,
1874
+ O as SoulWeapon,
1875
+ u0 as addAmazingEnhancement,
1876
+ h0 as addBonusStat,
1877
+ Z as addStarforce,
1878
+ A0 as addUpgradeFailCount,
1879
+ D0 as applyGoldHammer,
1880
+ n0 as applyScroll,
1881
+ M0 as applySpellTrace,
1882
+ c0 as gearToPlain,
1883
+ F as getBonusStatOption,
1884
+ J as getBonusStatValue,
1885
+ t0 as getSpellTraceScroll,
1886
+ o0 as isGearLike,
1887
+ w0 as parseGear,
1888
+ _ as plainToGear,
1889
+ r0 as recalculateStarforce,
1890
+ d0 as resetBonusStat,
1891
+ l as resetEnhancement,
1892
+ v0 as resetUpgrade,
1893
+ b0 as restoreUpgradeCount,
1894
+ S0 as stringifyGear,
1895
+ R0 as validateParseGear
1801
1896
  };