@malib/gear 0.12.1 → 0.12.3

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 $ {
1
+ class k {
2
2
  constructor() {
3
3
  this.base = 0, this.bonus = 0, this.upgrade = 0, this.enchant = 0;
4
4
  }
@@ -15,10 +15,10 @@ class $ {
15
15
  return this.bonus + this.upgrade + this.enchant;
16
16
  }
17
17
  }
18
- var o = /* @__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))(o || {}), 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 || {}), N = /* @__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))(N || {});
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 || {}), x = /* @__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))(x || {});
19
19
  class B {
20
- constructor(i) {
21
- this.enchanted = !1, this._charge = 0, this.chargeOption = /* @__PURE__ */ new Map(), this.gear = i;
20
+ constructor(o) {
21
+ this.enchanted = !1, this._charge = 0, this.chargeOption = /* @__PURE__ */ new Map(), this.gear = o;
22
22
  }
23
23
  /** 소울 충전량 */
24
24
  get charge() {
@@ -29,8 +29,8 @@ class B {
29
29
  *
30
30
  * `0`부터 `1000`까지의 값으로 설정할 수 있습니다.
31
31
  */
32
- set charge(i) {
33
- this.enchanted && (i < 0 || i > 1e3 || (this._charge = i, this.updateChargeOption()));
32
+ set charge(o) {
33
+ this.enchanted && (o < 0 || o > 1e3 || (this._charge = o, this.updateChargeOption()));
34
34
  }
35
35
  /**
36
36
  * 소울 인챈트를 적용합니다.
@@ -56,8 +56,8 @@ class B {
56
56
  * @returns 장착했을 경우 `true`; 아닐 경우 `false`.
57
57
  * 소울 인챈트 상태가 아닐 경우 `false`를 반환합니다.
58
58
  */
59
- setSoul(i) {
60
- return this.enchanted ? (this.soul = i, this.updateChargeOption(), !0) : !1;
59
+ setSoul(o) {
60
+ return this.enchanted ? (this.soul = o, this.updateChargeOption(), !0) : !1;
61
61
  }
62
62
  /**
63
63
  * 장착된 소울을 제거합니다.
@@ -72,23 +72,23 @@ class B {
72
72
  * @returns 적용했을 경우 `true`; 아닐 경우 `false`.
73
73
  */
74
74
  updateChargeOption() {
75
- const s = this.gear.option(o.incPAD).base < this.gear.option(o.incMAD).base ? o.incMAD : o.incPAD;
75
+ const s = this.gear.option(i.incPAD).base < this.gear.option(i.incMAD).base ? i.incMAD : i.incPAD;
76
76
  return this.chargeOption.clear(), this.chargeOption.set(s, this.getChargeAD()), !0;
77
77
  }
78
78
  getChargeAD() {
79
79
  if (!this.enchanted || this.charge === 0)
80
80
  return 0;
81
- const i = Math.min(Math.ceil(this.charge / 100) - 1, 5);
81
+ const o = Math.min(Math.ceil(this.charge / 100) - 1, 5);
82
82
  if (this.soul) {
83
83
  const s = this.soul.multiplier;
84
- return 10 + i * s;
84
+ return 10 + o * s;
85
85
  }
86
- return 5 + i;
86
+ return 5 + o;
87
87
  }
88
88
  }
89
- const w = class {
89
+ const C = class {
90
90
  constructor() {
91
- this.itemID = 0, this.name = "", this.desc = "", this.type = 0, this.props = /* @__PURE__ */ new Map(), this.options = /* @__PURE__ */ new Map(), this.exceptionalOptions = /* @__PURE__ */ new Map(), this.totalUpgradeCount = 0, this.upgradeCount = 0, this.upgradeFailCount = 0, this.hammerCount = 0, this.exceptionalTotalUpgradeCount = 0, this.exceptionalUpgradeCount = 0, this.maxStar = 0, this.star = 0, this.amazing = !1, this.canPotential = !1, this.grade = N.normal, this.potentials = [], this.additionalGrade = N.normal, this.additionalPotentials = [], this.soulWeapon = new B(this), this.icon = {
91
+ this.itemID = 0, this.name = "", this.desc = "", this.type = 0, this.props = /* @__PURE__ */ new Map(), this.options = /* @__PURE__ */ new Map(), this.exceptionalOptions = /* @__PURE__ */ new Map(), this.totalUpgradeCount = 0, this.upgradeCount = 0, this.upgradeFailCount = 0, this.hammerCount = 0, this.exceptionalTotalUpgradeCount = 0, this.exceptionalUpgradeCount = 0, this.maxStar = 0, this.star = 0, this.amazing = !1, this.canPotential = !1, this.grade = x.normal, this.potentials = [], this.additionalGrade = x.normal, this.additionalPotentials = [], this.soulWeapon = new B(this), this.icon = {
92
92
  id: 0,
93
93
  origin: [0, 0]
94
94
  }, this.req = {
@@ -118,8 +118,8 @@ const w = class {
118
118
  */
119
119
  get diff() {
120
120
  let t = 0;
121
- for (const [i, s] of this.options)
122
- t += Math.floor(s.diff / w.getPropTypeWeight(i));
121
+ for (const [o, s] of this.options)
122
+ t += Math.floor(s.diff / C.getPropTypeWeight(o));
123
123
  return t;
124
124
  }
125
125
  /**
@@ -130,7 +130,7 @@ const w = class {
130
130
  * 장비 아이콘 왼쪽 위의 원이 채워져있으면 `true`; 아니면 `false`입니다.
131
131
  */
132
132
  get isNewBonusType() {
133
- return !!([...this.options.values()].some((i) => i.bonus > 0) && this.getPropValue(o.tradeAvailable) !== 1);
133
+ return !!([...this.options.values()].some((o) => o.bonus > 0) && this.getPropValue(i.tradeAvailable) !== 1);
134
134
  }
135
135
  /**
136
136
  * 지정된 장비 옵션 종류과 연결된 옵션을 가져옵니다.
@@ -138,7 +138,7 @@ const w = class {
138
138
  * @returns 장비 옵션 객체. 존재하지 않을 경우 장비에 추가한 뒤 반환합니다.
139
139
  */
140
140
  option(t) {
141
- return this.options.has(t) || this.options.set(t, new $()), this.options.get(t);
141
+ return this.options.has(t) || this.options.set(t, new k()), this.options.get(t);
142
142
  }
143
143
  /**
144
144
  * 지정된 장비 속성 종류과 연결된 값을 가져옵니다.
@@ -161,8 +161,8 @@ const w = class {
161
161
  * @param icon 외형 아이콘.
162
162
  * @param name 외형 장비명.
163
163
  */
164
- setAnvil(t, i) {
165
- this.anvilIcon = t, this.anvilName = i;
164
+ setAnvil(t, o) {
165
+ this.anvilIcon = t, this.anvilName = o;
166
166
  }
167
167
  /**
168
168
  * 장비에 적용된 신비의 모루 외형을 제거합니다.
@@ -301,41 +301,41 @@ const w = class {
301
301
  * 최대 업그레이드 가능 횟수가 `0`이거나 `onlyUpgrade` 속성이 존재하거나 메카닉 장비 또는 드래곤 장비일 경우 `0`입니다.
302
302
  */
303
303
  static getMaxStar(t) {
304
- if (t.totalUpgradeCount <= 0 || t.getBooleanValue(o.onlyUpgrade) || w.isMechanicGear(t.type) || w.isDragonGear(t.type))
304
+ if (t.totalUpgradeCount <= 0 || t.getBooleanValue(i.onlyUpgrade) || C.isMechanicGear(t.type) || C.isDragonGear(t.type))
305
305
  return 0;
306
- let i;
306
+ let o;
307
307
  const s = t.req.level;
308
- for (const a of w.starData)
308
+ for (const a of C.starData)
309
309
  if (s >= a[0])
310
- i = a;
310
+ o = a;
311
311
  else
312
312
  break;
313
- return i === void 0 ? 0 : t.getBooleanValue(o.superiorEqp) ? i[2] : i[1];
313
+ return o === void 0 ? 0 : t.getBooleanValue(i.superiorEqp) ? o[2] : o[1];
314
314
  }
315
315
  static getPropTypeWeight(t) {
316
316
  if (t < 100)
317
317
  switch (t) {
318
- case o.incSTR:
319
- case o.incDEX:
320
- case o.incINT:
321
- case o.incLUK:
322
- case o.incPAD:
323
- case o.incMAD:
324
- case o.incSpeed:
325
- case o.incJump:
318
+ case i.incSTR:
319
+ case i.incDEX:
320
+ case i.incINT:
321
+ case i.incLUK:
322
+ case i.incPAD:
323
+ case i.incMAD:
324
+ case i.incSpeed:
325
+ case i.incJump:
326
326
  return 1;
327
- case o.incMHP:
328
- case o.incMMP:
327
+ case i.incMHP:
328
+ case i.incMMP:
329
329
  return 100;
330
- case o.incPDD:
330
+ case i.incPDD:
331
331
  return 10;
332
- case o.incAD:
332
+ case i.incAD:
333
333
  return 2;
334
334
  }
335
335
  return Number.MAX_VALUE;
336
336
  }
337
337
  };
338
- let A = w;
338
+ let A = C;
339
339
  A.starData = [
340
340
  [0, 5, 3],
341
341
  [95, 8, 5],
@@ -344,7 +344,7 @@ A.starData = [
344
344
  [130, 20, 12],
345
345
  [140, 25, 15]
346
346
  ];
347
- class I {
347
+ class N {
348
348
  constructor() {
349
349
  this.code = 0, this.optionType = 0, this.reqLevel = 0, this.summary = "", this.option = /* @__PURE__ */ new Map();
350
350
  }
@@ -352,12 +352,12 @@ class I {
352
352
  * 장비에 표시되는 문자열
353
353
  */
354
354
  get convertSummary() {
355
- const i = [...this.option.keys()];
356
- i.sort((a, h) => o[h].length - o[a].length);
355
+ const o = [...this.option.keys()];
356
+ o.sort((a, h) => i[h].length - i[a].length);
357
357
  let s = this.summary;
358
- for (const a of i)
358
+ for (const a of o)
359
359
  s = s.replace(
360
- `#${o[a]}`,
360
+ `#${i[a]}`,
361
361
  (this.option.get(a) ?? 0).toString()
362
362
  );
363
363
  return s;
@@ -367,8 +367,8 @@ class I {
367
367
  * @param gearReqLevel 장비의 착용 가능 레벨.
368
368
  * @returns 잠재옵션 레벨. 1부터 25까지의 값입니다.
369
369
  */
370
- static getPotentialLevel(i) {
371
- return i <= 0 ? 1 : i >= 250 ? 25 : Math.floor((i + 9) / 10);
370
+ static getPotentialLevel(o) {
371
+ return o <= 0 ? 1 : o >= 250 ? 25 : Math.floor((o + 9) / 10);
372
372
  }
373
373
  /**
374
374
  * 잠재옵션 분류와 장비 분류를 비교합니다.
@@ -376,14 +376,14 @@ class I {
376
376
  * @param gearType 장비 분류.
377
377
  * @returns 잠재옵션 분류가 장비 분류에 적용 가능한 경우 `true`; 아닌 경우 `false`.
378
378
  */
379
- static checkOptionType(i, s) {
380
- switch (i) {
379
+ static checkOptionType(o, s) {
380
+ switch (o) {
381
381
  case 0:
382
382
  return !0;
383
383
  case 10:
384
384
  return A.isWeapon(s) || A.isSubWeapon(s) || s === f.emblem;
385
385
  case 11:
386
- return !I.checkOptionType(10, s);
386
+ return !N.checkOptionType(10, s);
387
387
  case 20:
388
388
  return A.isSubWeapon(s) || s === f.cap || s === f.coat || s === f.longcoat || s === f.pants || s === f.shoes || s === f.glove || s === f.cape || s === f.belt || s === f.shoulder;
389
389
  case 40:
@@ -404,33 +404,33 @@ class I {
404
404
  }
405
405
  }
406
406
  var r = /* @__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))(r || {});
407
- function N0(t, i, s) {
408
- const a = Q(t, i, s);
407
+ function x0(t, o, s) {
408
+ const a = Q(t, o, s);
409
409
  if (a.size === 0)
410
410
  return !1;
411
411
  for (const [h, u] of a)
412
412
  t.option(h).bonus += u;
413
413
  return !0;
414
414
  }
415
- function I0(t) {
416
- for (const [, i] of t.options)
417
- i.bonus = 0;
415
+ function N0(t) {
416
+ for (const [, o] of t.options)
417
+ o.bonus = 0;
418
418
  return !0;
419
419
  }
420
- function Q(t, i, s) {
421
- const a = y(i), h = Z(t, i, s);
420
+ function Q(t, o, s) {
421
+ const a = m(o), h = Z(t, o, s);
422
422
  return h === 0 ? /* @__PURE__ */ new Map() : new Map(a.map((u) => [u, h]));
423
423
  }
424
- function Z(t, i, s) {
425
- const a = t.req.level, h = t.getBooleanValue(o.bossReward), u = t.type;
424
+ function Z(t, o, s) {
425
+ const a = t.req.level, h = t.getBooleanValue(i.bossReward), u = t.type;
426
426
  if (a < 0 || h && s < 3)
427
427
  return 0;
428
- switch (i) {
428
+ switch (o) {
429
429
  case r.STR:
430
430
  case r.DEX:
431
431
  case r.INT:
432
432
  case r.LUK:
433
- return H(a, s);
433
+ return I(a, s);
434
434
  case r.STR_DEX:
435
435
  case r.STR_INT:
436
436
  case r.STR_LUK:
@@ -439,21 +439,21 @@ function Z(t, i, s) {
439
439
  case r.INT_LUK:
440
440
  return Y(a, s);
441
441
  case r.PDD:
442
- return H(a, s);
442
+ return I(a, s);
443
443
  case r.PAD:
444
444
  case r.MAD:
445
- return l(
445
+ return P(
446
446
  a,
447
447
  s,
448
- i,
448
+ o,
449
449
  t.type,
450
450
  h,
451
- t.option(o.incPAD).base,
452
- t.option(o.incMAD).base
451
+ t.option(i.incPAD).base,
452
+ t.option(i.incMAD).base
453
453
  );
454
454
  case r.MHP:
455
455
  case r.MMP:
456
- return P(a, s);
456
+ return l(a, s);
457
457
  case r.speed:
458
458
  case r.jump:
459
459
  return A.isWeapon(u) ? 0 : s;
@@ -464,18 +464,18 @@ function Z(t, i, s) {
464
464
  case r.allStatR:
465
465
  return a < 70 && !A.isWeapon(u) ? 0 : s;
466
466
  case r.reduceReq:
467
- return m(a, s);
467
+ return y(a, s);
468
468
  default:
469
469
  return 0;
470
470
  }
471
471
  }
472
- function H(t, i) {
473
- return t >= 250 ? Math.floor(t / 20) * i : (Math.floor(t / 20) + 1) * i;
472
+ function I(t, o) {
473
+ return t >= 250 ? Math.floor(t / 20) * o : (Math.floor(t / 20) + 1) * o;
474
474
  }
475
- function Y(t, i) {
476
- return (Math.floor(t / 40) + 1) * i;
475
+ function Y(t, o) {
476
+ return (Math.floor(t / 40) + 1) * o;
477
477
  }
478
- function l(t, i, s, a, h, u, M) {
478
+ function P(t, o, s, a, h, u, M) {
479
479
  if (A.isWeapon(a)) {
480
480
  const c = 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];
481
481
  let n = u;
@@ -514,129 +514,129 @@ function l(t, i, s, a, h, u, M) {
514
514
  break;
515
515
  }
516
516
  const D = t > 180 ? 6 : t > 160 ? 5 : t > 110 ? 4 : 3;
517
- return Math.ceil(n * c[i - 1] * D / 100);
517
+ return Math.ceil(n * c[o - 1] * D / 100);
518
518
  } else if (s === r.MAD && M >= n && (n = M), h) {
519
519
  const D = t > 160 ? 18 : t > 150 ? 15 : t > 110 ? 12 : 9;
520
- return Math.ceil(n * c[i - 1] * D / 100);
520
+ return Math.ceil(n * c[o - 1] * D / 100);
521
521
  } else {
522
522
  const D = t > 110 ? 4 : 3;
523
- return Math.ceil(n * c[i - 1] * D / 100);
523
+ return Math.ceil(n * c[o - 1] * D / 100);
524
524
  }
525
525
  } else if (t < 60)
526
526
  return 0;
527
- return i;
527
+ return o;
528
528
  }
529
- function P(t, i) {
530
- return t < 10 ? 3 * i : t >= 250 ? 700 * i : Math.floor(t / 10) * 30 * i;
529
+ function l(t, o) {
530
+ return t < 10 ? 3 * o : t >= 250 ? 700 * o : Math.floor(t / 10) * 30 * o;
531
531
  }
532
- function m(t, i) {
533
- return i * 5;
532
+ function y(t, o) {
533
+ return o * 5;
534
534
  }
535
- function y(t) {
535
+ function m(t) {
536
536
  switch (t) {
537
537
  case r.STR:
538
- return [o.incSTR];
538
+ return [i.incSTR];
539
539
  case r.DEX:
540
- return [o.incDEX];
540
+ return [i.incDEX];
541
541
  case r.INT:
542
- return [o.incINT];
542
+ return [i.incINT];
543
543
  case r.LUK:
544
- return [o.incLUK];
544
+ return [i.incLUK];
545
545
  case r.STR_DEX:
546
- return [o.incSTR, o.incDEX];
546
+ return [i.incSTR, i.incDEX];
547
547
  case r.STR_INT:
548
- return [o.incSTR, o.incINT];
548
+ return [i.incSTR, i.incINT];
549
549
  case r.STR_LUK:
550
- return [o.incSTR, o.incLUK];
550
+ return [i.incSTR, i.incLUK];
551
551
  case r.DEX_INT:
552
- return [o.incDEX, o.incINT];
552
+ return [i.incDEX, i.incINT];
553
553
  case r.DEX_LUK:
554
- return [o.incDEX, o.incLUK];
554
+ return [i.incDEX, i.incLUK];
555
555
  case r.INT_LUK:
556
- return [o.incINT, o.incLUK];
556
+ return [i.incINT, i.incLUK];
557
557
  case r.PDD:
558
- return [o.incPDD];
558
+ return [i.incPDD];
559
559
  case r.PAD:
560
- return [o.incPAD];
560
+ return [i.incPAD];
561
561
  case r.MAD:
562
- return [o.incMAD];
562
+ return [i.incMAD];
563
563
  case r.MHP:
564
- return [o.incMHP];
564
+ return [i.incMHP];
565
565
  case r.MMP:
566
- return [o.incMMP];
566
+ return [i.incMMP];
567
567
  case r.speed:
568
- return [o.incSpeed];
568
+ return [i.incSpeed];
569
569
  case r.jump:
570
- return [o.incJump];
570
+ return [i.incJump];
571
571
  case r.damR:
572
- return [o.damR];
572
+ return [i.damR];
573
573
  case r.bdR:
574
- return [o.bdR];
574
+ return [i.bdR];
575
575
  case r.allStatR:
576
- return [o.statR];
576
+ return [i.statR];
577
577
  case r.reduceReq:
578
- return [o.reduceReq];
578
+ return [i.reduceReq];
579
579
  default:
580
580
  return [];
581
581
  }
582
582
  }
583
- const T = 25, K = 15;
584
- function G(t, i = !1) {
585
- if (t.getBooleanValue(o.incCHUC))
583
+ const T = 25, H = 15;
584
+ function G(t, o = !1) {
585
+ if (t.getBooleanValue(i.incCHUC))
586
586
  return !1;
587
- if (t.getBooleanValue(o.superiorEqp))
587
+ if (t.getBooleanValue(i.superiorEqp))
588
588
  return p(t);
589
- if (t.star >= t.maxStar && !i || t.star >= T)
589
+ if (t.star >= t.maxStar && !o || t.star >= T)
590
590
  return !1;
591
591
  t.star += 1;
592
- const s = t.star, a = v(t, !1, !1), h = v(t, !1, !0), u = A.isWeapon(t.type) || t.type === f.katara, M = [
593
- [o.incSTR, o.incDEX],
594
- [o.incINT, o.incLUK],
595
- [o.incDEX, o.incSTR],
596
- [o.incLUK, o.incDEX],
597
- [o.incSTR, o.incDEX]
592
+ const s = t.star, a = w(t, !1, !1), h = w(t, !1, !0), u = A.isWeapon(t.type) || t.type === f.katara, M = [
593
+ [i.incSTR, i.incDEX],
594
+ [i.incINT, i.incLUK],
595
+ [i.incDEX, i.incSTR],
596
+ [i.incLUK, i.incDEX],
597
+ [i.incSTR, i.incDEX]
598
598
  ], c = [
599
- o.incSTR,
600
- o.incDEX,
601
- o.incINT,
602
- o.incLUK
599
+ i.incSTR,
600
+ i.incDEX,
601
+ i.incINT,
602
+ i.incLUK
603
603
  ];
604
604
  let n;
605
605
  const D = t.req.job;
606
606
  if (D === 0)
607
607
  n = /* @__PURE__ */ new Set([
608
- o.incSTR,
609
- o.incDEX,
610
- o.incINT,
611
- o.incLUK
608
+ i.incSTR,
609
+ i.incDEX,
610
+ i.incINT,
611
+ i.incLUK
612
612
  ]);
613
613
  else {
614
614
  n = /* @__PURE__ */ new Set();
615
615
  for (let d = 0; d < 5; d++)
616
616
  if (D & 1 << d)
617
- for (const S of M[d])
618
- n.add(S);
617
+ for (const b of M[d])
618
+ n.add(b);
619
619
  }
620
620
  for (const d of c)
621
621
  (n.has(d) || s > 15 && (t.option(d).base > 0 || t.option(d).upgrade > 0)) && (t.option(d).enchant += a[s]);
622
622
  if (u) {
623
- const d = D === 0 || Math.floor(D / 2) % 2 === 1 || t.option(o.incMAD).upgrade > 0;
623
+ const d = D === 0 || Math.floor(D / 2) % 2 === 1 || t.option(i.incMAD).upgrade > 0;
624
624
  if (s > 15)
625
- t.option(o.incPAD).enchant += h[s], d && (t.option(o.incMAD).enchant += h[s]);
625
+ t.option(i.incPAD).enchant += h[s], d && (t.option(i.incMAD).enchant += h[s]);
626
626
  else {
627
- const S = t.option(o.incPAD).sum - t.option(o.incPAD).bonus;
628
- if (t.option(o.incPAD).enchant += Math.floor(S / 50) + 1, d) {
629
- const J = t.option(o.incMAD).sum - t.option(o.incMAD).bonus;
630
- t.option(o.incMAD).enchant += Math.floor(J / 50) + 1;
627
+ const b = t.option(i.incPAD).sum - t.option(i.incPAD).bonus;
628
+ if (t.option(i.incPAD).enchant += Math.floor(b / 50) + 1, d) {
629
+ const J = t.option(i.incMAD).sum - t.option(i.incMAD).bonus;
630
+ t.option(i.incMAD).enchant += Math.floor(J / 50) + 1;
631
631
  }
632
632
  }
633
633
  } else
634
- t.option(o.incPAD).enchant += h[s], t.option(o.incMAD).enchant += h[s], t.type === f.glove && (D === 0 ? (t.option(o.incPAD).enchant += U[s], t.option(o.incMAD).enchant += U[s]) : Math.floor(D / 2) % 2 === 1 ? t.option(o.incMAD).enchant += U[s] : t.option(o.incPAD).enchant += U[s]);
634
+ t.option(i.incPAD).enchant += h[s], t.option(i.incMAD).enchant += h[s], t.type === f.glove && (D === 0 ? (t.option(i.incPAD).enchant += U[s], t.option(i.incMAD).enchant += U[s]) : Math.floor(D / 2) % 2 === 1 ? t.option(i.incMAD).enchant += U[s] : t.option(i.incPAD).enchant += U[s]);
635
635
  if (!u && t.type !== f.machineHeart) {
636
- const d = t.option(o.incPDD).sum - t.option(o.incPDD).bonus;
637
- t.option(o.incPDD).enchant += Math.floor(d / 20) + 1;
636
+ const d = t.option(i.incPDD).sum - t.option(i.incPDD).bonus;
637
+ t.option(i.incPDD).enchant += Math.floor(d / 20) + 1;
638
638
  }
639
- const b = [
639
+ const S = [
640
640
  f.cap,
641
641
  f.coat,
642
642
  f.longcoat,
@@ -648,74 +648,74 @@ function G(t, i = !1) {
648
648
  f.shoulder,
649
649
  f.shield
650
650
  ];
651
- return u ? (t.option(o.incMHP).enchant += X[s], t.option(o.incMMP).enchant += X[s]) : b.includes(t.type) && (t.option(o.incMHP).enchant += X[s]), t.type === f.shoes && (t.option(o.incSpeed).enchant += x[s], t.option(o.incJump).enchant += x[s]), !0;
651
+ return u ? (t.option(i.incMHP).enchant += X[s], t.option(i.incMMP).enchant += X[s]) : S.includes(t.type) && (t.option(i.incMHP).enchant += X[s]), t.type === f.shoes && (t.option(i.incSpeed).enchant += K[s], t.option(i.incJump).enchant += K[s]), !0;
652
652
  }
653
653
  function p(t) {
654
654
  if (t.star >= t.maxStar)
655
655
  return !1;
656
656
  t.star += 1;
657
- const i = t.star, s = v(t, !1, !1), a = v(t, !1, !0), h = [
658
- o.incSTR,
659
- o.incDEX,
660
- o.incINT,
661
- o.incLUK
657
+ const o = t.star, s = w(t, !1, !1), a = w(t, !1, !0), h = [
658
+ i.incSTR,
659
+ i.incDEX,
660
+ i.incINT,
661
+ i.incLUK
662
662
  ];
663
663
  for (const c of h)
664
- t.option(c).base > 0 && (t.option(c).enchant += s[i]);
665
- const u = [o.incPAD, o.incMAD];
664
+ t.option(c).base > 0 && (t.option(c).enchant += s[o]);
665
+ const u = [i.incPAD, i.incMAD];
666
666
  for (const c of u)
667
- t.option(c).base > 0 && (t.option(c).enchant += a[i]);
668
- const M = t.option(o.incPDD).sum - t.option(o.incPDD).bonus;
669
- return t.option(o.incPDD).enchant += Math.floor(M / 20) + 1, !0;
667
+ t.option(c).base > 0 && (t.option(c).enchant += a[o]);
668
+ const M = t.option(i.incPDD).sum - t.option(i.incPDD).bonus;
669
+ return t.option(i.incPDD).enchant += Math.floor(M / 20) + 1, !0;
670
670
  }
671
- function L0(t, i = !1, s = !1) {
672
- if (t.getBooleanValue(o.incCHUC) || t.getBooleanValue(o.superiorEqp) || t.req.level > 150 || t.star >= t.maxStar && !s || t.star >= K)
671
+ function L0(t, o = !1, s = !1) {
672
+ if (t.getBooleanValue(i.incCHUC) || t.getBooleanValue(i.superiorEqp) || t.req.level > 150 || t.star >= t.maxStar && !s || t.star >= H)
673
673
  return !1;
674
- t.amazing || (t.amazing = !0, t.maxStar = Math.min(t.maxStar, K)), t.star += 1;
675
- const a = t.star, h = v(t, !0, !1), u = v(t, !0, !0), M = A.isWeapon(t.type) || t.type === f.katara, c = [
676
- o.incSTR,
677
- o.incDEX,
678
- o.incINT,
679
- o.incLUK
674
+ t.amazing || (t.amazing = !0, t.maxStar = Math.min(t.maxStar, H)), t.star += 1;
675
+ const a = t.star, h = w(t, !0, !1), u = w(t, !0, !0), M = A.isWeapon(t.type) || t.type === f.katara, c = [
676
+ i.incSTR,
677
+ i.incDEX,
678
+ i.incINT,
679
+ i.incLUK
680
680
  ];
681
- for (const b of c)
682
- if (t.option(b).sum > 0) {
683
- let S = h[a];
684
- i && A.isAccessory(t.type) && (S += a > 5 ? 2 : 1), t.option(b).enchant += S;
681
+ for (const S of c)
682
+ if (t.option(S).sum > 0) {
683
+ let b = h[a];
684
+ o && A.isAccessory(t.type) && (b += a > 5 ? 2 : 1), t.option(S).enchant += b;
685
685
  }
686
- const n = [o.incPAD, o.incMAD];
687
- for (const b of n) {
688
- const d = t.option(b).sum;
686
+ const n = [i.incPAD, i.incMAD];
687
+ for (const S of n) {
688
+ const d = t.option(S).sum;
689
689
  if (d > 0) {
690
- M && (t.option(b).enchant += Math.floor(d / 50) + 1);
691
- let S = u[a];
692
- i && (M || t.type === f.shield) && (S += 1), t.option(b).enchant += S;
690
+ M && (t.option(S).enchant += Math.floor(d / 50) + 1);
691
+ let b = u[a];
692
+ o && (M || t.type === f.shield) && (b += 1), t.option(S).enchant += b;
693
693
  }
694
694
  }
695
- i && A.isArmor(t.type) && (t.option(o.incMHP).enchant += 50);
696
- const D = t.option(o.incPDD).sum;
697
- return t.option(o.incPDD).enchant += Math.floor(D / 20) + 1, !0;
695
+ o && A.isArmor(t.type) && (t.option(i.incMHP).enchant += 50);
696
+ const D = t.option(i.incPDD).sum;
697
+ return t.option(i.incPDD).enchant += Math.floor(D / 20) + 1, !0;
698
698
  }
699
699
  function e(t) {
700
- if (t.getBooleanValue(o.incCHUC))
700
+ if (t.getBooleanValue(i.incCHUC))
701
701
  return !1;
702
702
  t.star = 0, t.amazing = !1, t.maxStar = A.getMaxStar(t);
703
- for (const [, i] of t.options)
704
- i.enchant = 0;
703
+ for (const [, o] of t.options)
704
+ o.enchant = 0;
705
705
  return !0;
706
706
  }
707
- function H0(t) {
708
- if (t.getBooleanValue(o.incCHUC) || t.amazing)
707
+ function I0(t) {
708
+ if (t.getBooleanValue(i.incCHUC) || t.amazing)
709
709
  return !1;
710
- const i = t.star;
710
+ const o = t.star;
711
711
  e(t);
712
- for (let s = 0; s < i; s++)
712
+ for (let s = 0; s < o; s++)
713
713
  G(t, !0);
714
714
  return !0;
715
715
  }
716
- function v(t, i, s) {
716
+ function w(t, o, s) {
717
717
  let a;
718
- t.getBooleanValue(o.superiorEqp) ? s ? a = t0 : a = n0 : i ? s ? a = s0 : a = a0 : s ? A.isWeapon(t.type) || t.type === f.katara ? a = c0 : a = i0 : a = o0;
718
+ t.getBooleanValue(i.superiorEqp) ? s ? a = t0 : a = n0 : o ? s ? a = s0 : a = a0 : s ? A.isWeapon(t.type) || t.type === f.katara ? a = c0 : a = o0 : a = i0;
719
719
  const h = t.req.level;
720
720
  for (const u of [...a].reverse())
721
721
  if (h >= u[0])
@@ -985,7 +985,7 @@ const t0 = [
985
985
  37,
986
986
  38
987
987
  ]
988
- ], i0 = [
988
+ ], o0 = [
989
989
  [
990
990
  0,
991
991
  0,
@@ -1238,7 +1238,7 @@ const t0 = [
1238
1238
  25,
1239
1239
  27
1240
1240
  ]
1241
- ], o0 = [
1241
+ ], i0 = [
1242
1242
  [
1243
1243
  0,
1244
1244
  2,
@@ -1572,7 +1572,7 @@ const t0 = [
1572
1572
  0,
1573
1573
  0,
1574
1574
  0
1575
- ], x = [
1575
+ ], K = [
1576
1576
  0,
1577
1577
  0,
1578
1578
  0,
@@ -1600,17 +1600,30 @@ const t0 = [
1600
1600
  0,
1601
1601
  0
1602
1602
  ];
1603
- function f0(t, i, s) {
1603
+ function H0(t, o) {
1604
+ if (t.exceptionalUpgradeCountLeft < 1)
1605
+ return !1;
1606
+ t.exceptionalUpgradeCount += 1;
1607
+ for (const [s, a] of o.option) {
1608
+ const h = t.exceptionalOptions.get(s) ?? 0;
1609
+ t.exceptionalOptions.set(s, h + a);
1610
+ }
1611
+ return !0;
1612
+ }
1613
+ function K0(t) {
1614
+ return t.exceptionalUpgradeCount = 0, t.exceptionalOptions.clear(), !0;
1615
+ }
1616
+ function f0(t, o, s) {
1604
1617
  if (A.isWeapon(t.type) || t.type === f.katara)
1605
- return d0(t, i, s);
1618
+ return d0(t, o, s);
1606
1619
  if (t.type === f.glove)
1607
- return A0(t, i, s);
1620
+ return A0(t, o, s);
1608
1621
  if (A.isArmor(t.type) || t.type === f.shoulder)
1609
- return D0(t, i, s);
1622
+ return D0(t, o, s);
1610
1623
  if (A.isAccessory(t.type))
1611
- return M0(t, i, s);
1624
+ return M0(t, o, s);
1612
1625
  if (t.type === f.machineHeart)
1613
- return S0(t, i, s);
1626
+ return b0(t, o, s);
1614
1627
  }
1615
1628
  const h0 = {
1616
1629
  100: [
@@ -1654,163 +1667,163 @@ const h0 = {
1654
1667
  [7, 110, 10],
1655
1668
  [10, 170, 15]
1656
1669
  ]
1657
- }, _ = {
1670
+ }, O = {
1658
1671
  30: [1, 2, 3],
1659
1672
  15: [2, 3, 4]
1660
- }, q = {
1673
+ }, _ = {
1661
1674
  30: [1, 2, 3]
1662
1675
  }, u0 = {
1663
1676
  100: [0, 1, 1],
1664
1677
  70: [1, 2, 2],
1665
1678
  30: [2, 3, 3],
1666
1679
  15: [3, 4, 4]
1667
- }, W = {
1680
+ }, q = {
1668
1681
  100: [1, 1, 2],
1669
1682
  70: [2, 2, 3],
1670
1683
  30: [3, 4, 5]
1671
- }, O = {
1684
+ }, W = {
1672
1685
  100: [1, 2, 3],
1673
1686
  70: [2, 3, 5],
1674
1687
  30: [3, 5, 7]
1675
1688
  }, L = {
1676
- [o.incSTR]: o.incPAD,
1677
- [o.incDEX]: o.incPAD,
1678
- [o.incINT]: o.incMAD,
1679
- [o.incLUK]: o.incPAD,
1680
- [o.incMHP]: o.incPAD,
1681
- [o.incAllStat]: o.incPAD
1682
- }, R = {
1683
- [o.incSTR]: "힘",
1684
- [o.incDEX]: "민첩",
1685
- [o.incINT]: "지력",
1686
- [o.incLUK]: "운",
1687
- [o.incMHP]: "체력",
1688
- [o.incAllStat]: "올스탯",
1689
- [o.incPAD]: "공격력",
1690
- [o.incMAD]: "마력"
1689
+ [i.incSTR]: i.incPAD,
1690
+ [i.incDEX]: i.incPAD,
1691
+ [i.incINT]: i.incMAD,
1692
+ [i.incLUK]: i.incPAD,
1693
+ [i.incMHP]: i.incPAD,
1694
+ [i.incAllStat]: i.incPAD
1695
+ }, g = {
1696
+ [i.incSTR]: "힘",
1697
+ [i.incDEX]: "민첩",
1698
+ [i.incINT]: "지력",
1699
+ [i.incLUK]: "운",
1700
+ [i.incMHP]: "체력",
1701
+ [i.incAllStat]: "올스탯",
1702
+ [i.incPAD]: "공격력",
1703
+ [i.incMAD]: "마력"
1691
1704
  };
1692
- function C(t) {
1705
+ function E(t) {
1693
1706
  return t.req.level > 110 ? 2 : t.req.level > 70 ? 1 : 0;
1694
1707
  }
1695
- function d0(t, i, s) {
1696
- if (i === o.incAllStat)
1708
+ function d0(t, o, s) {
1709
+ if (o === i.incAllStat)
1697
1710
  return;
1698
- const a = C(t);
1711
+ const a = E(t);
1699
1712
  let [h, u] = h0[s][a];
1700
- const M = L[i], c = R[M];
1701
- return i === o.incMHP && (u *= 50), { name: u > 0 ? `${s}% ${c}(${R[i]}) 주문서` : `${s}% ${c} 주문서`, option: /* @__PURE__ */ new Map([
1702
- [i, u],
1713
+ const M = L[o], c = g[M];
1714
+ return o === i.incMHP && (u *= 50), { name: u > 0 ? `${s}% ${c}(${g[o]}) 주문서` : `${s}% ${c} 주문서`, option: /* @__PURE__ */ new Map([
1715
+ [o, u],
1703
1716
  [M, h]
1704
1717
  ]) };
1705
1718
  }
1706
- function D0(t, i, s) {
1707
- const a = C(t), [h, u, M] = r0[s][a];
1719
+ function D0(t, o, s) {
1720
+ const a = E(t), [h, u, M] = r0[s][a];
1708
1721
  let c = [], n = [], D = [];
1709
- if (i === o.incMHP)
1710
- n = [[o.incMHP, u + h * 50]];
1711
- else if (n = [[o.incMHP, u]], i === o.incAllStat) {
1712
- if (!(s in _))
1722
+ if (o === i.incMHP)
1723
+ n = [[i.incMHP, u + h * 50]];
1724
+ else if (n = [[i.incMHP, u]], o === i.incAllStat) {
1725
+ if (!(s in O))
1713
1726
  return;
1714
- const S = _[s][a];
1727
+ const b = O[s][a];
1715
1728
  c = [
1716
- [o.incSTR, S],
1717
- [o.incDEX, S],
1718
- [o.incINT, S],
1719
- [o.incLUK, S]
1729
+ [i.incSTR, b],
1730
+ [i.incDEX, b],
1731
+ [i.incINT, b],
1732
+ [i.incLUK, b]
1720
1733
  ];
1721
1734
  } else
1722
- c = [[i, h]];
1735
+ c = [[o, h]];
1723
1736
  t.upgradeCount === 3 && (t.req.job === 0 ? D = [
1724
- [o.incPAD, 1],
1725
- [o.incMAD, 1]
1726
- ] : Math.floor(t.req.job / 2) % 2 === 1 ? D = [[o.incMAD, 1]] : D = [[o.incPAD, 1]]);
1727
- const b = `${s}% ${R[i]} 주문서`, d = new Map([
1737
+ [i.incPAD, 1],
1738
+ [i.incMAD, 1]
1739
+ ] : Math.floor(t.req.job / 2) % 2 === 1 ? D = [[i.incMAD, 1]] : D = [[i.incPAD, 1]]);
1740
+ const S = `${s}% ${g[o]} 주문서`, d = new Map([
1728
1741
  ...c,
1729
1742
  ...D,
1730
1743
  ...n,
1731
- [o.incPDD, M]
1744
+ [i.incPDD, M]
1732
1745
  ]);
1733
- return { name: b, option: d };
1746
+ return { name: S, option: d };
1734
1747
  }
1735
- function A0(t, i, s) {
1736
- const a = C(t), h = u0[s][a];
1748
+ function A0(t, o, s) {
1749
+ const a = E(t), h = u0[s][a];
1737
1750
  if (h === 0)
1738
1751
  return {
1739
1752
  name: `${s}% 방어력 주문서`,
1740
- option: /* @__PURE__ */ new Map([[o.incPDD, 3]])
1753
+ option: /* @__PURE__ */ new Map([[i.incPDD, 3]])
1741
1754
  };
1742
1755
  {
1743
- const u = L[i];
1756
+ const u = L[o];
1744
1757
  return {
1745
- name: `${s}% ${R[u]} 주문서`,
1758
+ name: `${s}% ${g[u]} 주문서`,
1746
1759
  option: /* @__PURE__ */ new Map([[u, h]])
1747
1760
  };
1748
1761
  }
1749
1762
  }
1750
- function M0(t, i, s) {
1751
- if (!(s in W))
1763
+ function M0(t, o, s) {
1764
+ if (!(s in q))
1752
1765
  return;
1753
- const a = C(t), h = W[s][a];
1766
+ const a = E(t), h = q[s][a];
1754
1767
  let u = [];
1755
- if (i === o.incMHP)
1756
- u = [[o.incMHP, h * 50]];
1757
- else if (i === o.incAllStat) {
1758
- if (!(s in q))
1768
+ if (o === i.incMHP)
1769
+ u = [[i.incMHP, h * 50]];
1770
+ else if (o === i.incAllStat) {
1771
+ if (!(s in _))
1759
1772
  return;
1760
- const n = q[s][a];
1773
+ const n = _[s][a];
1761
1774
  u = [
1762
- [o.incSTR, n],
1763
- [o.incDEX, n],
1764
- [o.incINT, n],
1765
- [o.incLUK, n]
1775
+ [i.incSTR, n],
1776
+ [i.incDEX, n],
1777
+ [i.incINT, n],
1778
+ [i.incLUK, n]
1766
1779
  ];
1767
1780
  } else
1768
- u = [[i, h]];
1769
- const M = `${s}% ${R[i]} 주문서`, c = new Map(u);
1781
+ u = [[o, h]];
1782
+ const M = `${s}% ${g[o]} 주문서`, c = new Map(u);
1770
1783
  return { name: M, option: c };
1771
1784
  }
1772
- function S0(t, i, s) {
1773
- if (!(s in O))
1785
+ function b0(t, o, s) {
1786
+ if (!(s in W))
1774
1787
  return;
1775
- const a = C(t), h = O[s][a], u = L[i];
1776
- return { name: `${s}% ${R[i]} 주문서`, option: /* @__PURE__ */ new Map([[u, h]]) };
1788
+ const a = E(t), h = W[s][a], u = L[o];
1789
+ return { name: `${s}% ${g[o]} 주문서`, option: /* @__PURE__ */ new Map([[u, h]]) };
1777
1790
  }
1778
- function K0(t) {
1779
- return t.getBooleanValue(o.blockGoldHammer) || t.getBooleanValue(o.onlyUpgrade) || t.totalUpgradeCount <= 0 || t.hammerCount > 0 ? !1 : (t.hammerCount = 1, !0);
1791
+ function O0(t) {
1792
+ return t.getBooleanValue(i.blockGoldHammer) || t.getBooleanValue(i.onlyUpgrade) || t.totalUpgradeCount <= 0 || t.hammerCount > 0 ? !1 : (t.hammerCount = 1, !0);
1780
1793
  }
1781
- function b0(t, i) {
1794
+ function S0(t, o) {
1782
1795
  if (t.upgradeCountLeft < 1)
1783
1796
  return !1;
1784
1797
  t.upgradeCount += 1;
1785
- for (const [s, a] of i.option)
1798
+ for (const [s, a] of o.option)
1786
1799
  t.option(s).upgrade += a;
1787
1800
  return !0;
1788
1801
  }
1789
- function x0(t, i, s) {
1790
- const a = f0(t, i, s);
1791
- return a ? b0(t, a) : !1;
1802
+ function _0(t, o, s) {
1803
+ const a = f0(t, o, s);
1804
+ return a ? S0(t, a) : !1;
1792
1805
  }
1793
- function _0(t) {
1806
+ function q0(t) {
1794
1807
  return t.upgradeCountLeft < 1 ? !1 : (t.upgradeFailCount += 1, !0);
1795
1808
  }
1796
- function q0(t) {
1809
+ function W0(t) {
1797
1810
  return t.upgradeFailCount < 1 ? !1 : (t.upgradeFailCount -= 1, !0);
1798
1811
  }
1799
- function W0(t) {
1812
+ function z0(t) {
1800
1813
  t.upgradeCount = 0, t.upgradeFailCount = 0, t.hammerCount = 0;
1801
- for (const [, i] of t.options)
1802
- i.upgrade = 0;
1814
+ for (const [, o] of t.options)
1815
+ o.upgrade = 0;
1803
1816
  return !0;
1804
1817
  }
1805
1818
  function v0(t) {
1806
- const i = {};
1807
- i.id = t.itemID, i.n = t.name, t.desc.length > 0 && (i.d = t.desc), i.i = t.icon, t.anvilIcon && (i.i2 = t.anvilIcon), t.anvilName && (i.n2 = t.anvilName), i.t = t.type, i.r = t.req, i.pr = g(t.props, (a) => a !== 0), i.o = g(t.options, (a) => !a.empty, R0), t.totalUpgradeCount > 0 && (i.c = t.totalUpgradeCount), t.upgradeCount > 0 && (i.up = t.upgradeCount), t.upgradeFailCount > 0 && (i.f = t.upgradeFailCount), t.hammerCount > 0 && (i.h = t.hammerCount), t.maxStar > 0 && (i.m = t.maxStar), t.star > 0 && (i.s = t.star), t.amazing && (i.a = t.amazing), t.karma !== void 0 && (i.k = t.karma), t.canPotential && (i.cp = t.canPotential), t.grade > 0 && (i.g = t.grade), t.grade > 0 && t.potentials.length > 0 && (i.p = V(t.potentials, void 0, z)), t.additionalGrade > 0 && (i.g2 = t.additionalGrade), t.additionalGrade > 0 && t.additionalPotentials.length > 0 && (i.p2 = V(
1819
+ const o = {};
1820
+ o.id = t.itemID, o.n = t.name, t.desc.length > 0 && (o.d = t.desc), o.i = t.icon, t.anvilIcon && (o.i2 = t.anvilIcon), t.anvilName && (o.n2 = t.anvilName), o.t = t.type, o.r = t.req, o.pr = v(t.props, (a) => a !== 0), o.o = v(t.options, (a) => !a.empty, R0), t.totalUpgradeCount > 0 && (o.c = t.totalUpgradeCount), t.upgradeCount > 0 && (o.up = t.upgradeCount), t.upgradeFailCount > 0 && (o.f = t.upgradeFailCount), t.hammerCount > 0 && (o.h = t.hammerCount), t.exceptionalTotalUpgradeCount > 0 && (o.ec = t.exceptionalTotalUpgradeCount), t.exceptionalUpgradeCount > 0 && (o.eu = t.exceptionalUpgradeCount), o.eo = v(t.exceptionalOptions, (a) => a !== 0), t.maxStar > 0 && (o.m = t.maxStar), t.star > 0 && (o.s = t.star), t.amazing && (o.a = t.amazing), t.karma !== void 0 && (o.k = t.karma), t.canPotential && (o.cp = t.canPotential), t.grade > 0 && (o.g = t.grade), t.grade > 0 && t.potentials.length > 0 && (o.p = V(t.potentials, void 0, z)), t.additionalGrade > 0 && (o.g2 = t.additionalGrade), t.additionalGrade > 0 && t.additionalPotentials.length > 0 && (o.p2 = V(
1808
1821
  t.additionalPotentials,
1809
1822
  void 0,
1810
1823
  z
1811
1824
  ));
1812
1825
  const s = w0(t.soulWeapon);
1813
- return s && (i.w = s), i;
1826
+ return s && (o.w = s), o;
1814
1827
  }
1815
1828
  function R0(t) {
1816
1829
  return [t.base, t.bonus, t.upgrade, t.enchant];
@@ -1821,31 +1834,33 @@ function z(t) {
1821
1834
  t: t.optionType,
1822
1835
  l: t.reqLevel,
1823
1836
  s: t.summary,
1824
- o: g(t.option, (i) => i !== 0)
1837
+ o: v(t.option, (o) => o !== 0)
1825
1838
  } : null;
1826
1839
  }
1827
1840
  function w0(t) {
1828
- const i = {};
1829
- if (t.enchanted && (i.e = t.enchanted), t.soul && (i.s = g0(t.soul)), t.charge > 0 && (i.c = t.charge), t.chargeOption.size > 0 && (i.o = g(t.chargeOption, (s) => s !== 0)), Object.keys(i).length > 0)
1830
- return i;
1841
+ const o = {};
1842
+ if (t.enchanted && (o.e = t.enchanted), t.soul && (o.s = g0(t.soul)), t.charge > 0 && (o.c = t.charge), t.chargeOption.size > 0 && (o.o = v(t.chargeOption, (s) => s !== 0)), Object.keys(o).length > 0)
1843
+ return o;
1831
1844
  }
1832
1845
  function g0(t) {
1833
1846
  return t ? {
1834
1847
  n: t.name,
1835
1848
  s: t.skill,
1836
- o: g(t.option, (i) => i !== 0),
1849
+ o: v(t.option, (o) => o !== 0),
1837
1850
  m: t.multiplier
1838
1851
  } : void 0;
1839
1852
  }
1840
- const E0 = (t) => {
1841
- const i = (c) => typeof c.id == "number" && typeof c.n == "string" && (c.d === void 0 || typeof c.d == "string") && typeof c.i == "object" && c.i !== null && s(c.i) && (c.i2 === void 0 || typeof c.i2 == "object" && c.i2 !== null && s(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(
1853
+ const C0 = (t) => {
1854
+ const o = (c) => typeof c.id == "number" && typeof c.n == "string" && (c.d === void 0 || typeof c.d == "string") && typeof c.i == "object" && c.i !== null && s(c.i) && (c.i2 === void 0 || typeof c.i2 == "object" && c.i2 !== null && s(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(
1842
1855
  (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"
1843
1856
  ) && Array.isArray(c.o) && c.o.every(
1844
1857
  (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"
1845
- ) && (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(
1846
- (n) => n === null || typeof n == "object" && n !== null && h(n)
1858
+ ) && (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.ec === void 0 || typeof c.ec == "number") && (c.eu === void 0 || typeof c.eu == "number") && (c.eo === void 0 || Array.isArray(c.eo) && c.eo.every(
1859
+ (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"
1860
+ )) && (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(
1861
+ (n) => typeof n == "object" && n !== null && h(n)
1847
1862
  )) && (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(
1848
- (n) => n === null || typeof n == "object" && n !== null && h(n)
1863
+ (n) => typeof n == "object" && n !== null && h(n)
1849
1864
  )) && (c.w === void 0 || typeof c.w == "object" && c.w !== null && Array.isArray(c.w) === !1 && u(c.w)), s = (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", h = (c) => typeof c.c == "number" && typeof c.t == "number" && typeof c.l == "number" && typeof c.s == "string" && Array.isArray(c.o) && c.o.every(
1850
1865
  (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"
1851
1866
  ), u = (c) => (c.e === void 0 || typeof c.e == "boolean") && (c.s === void 0 || typeof c.s == "object" && c.s !== null && M(c.s)) && (c.c === void 0 || typeof c.c == "number") && (c.o === void 0 || Array.isArray(c.o) && c.o.every(
@@ -1853,55 +1868,55 @@ const E0 = (t) => {
1853
1868
  )), M = (c) => typeof c.n == "string" && typeof c.s == "string" && Array.isArray(c.o) && c.o.every(
1854
1869
  (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"
1855
1870
  ) && typeof c.m == "number";
1856
- return typeof t == "object" && t !== null && i(t);
1871
+ return typeof t == "object" && t !== null && o(t);
1857
1872
  };
1858
- function O0(t) {
1873
+ function V0(t) {
1859
1874
  return JSON.stringify(v0(t));
1860
1875
  }
1861
- function z0(t) {
1876
+ function j0(t) {
1862
1877
  return F(JSON.parse(t));
1863
1878
  }
1864
- function V0(t) {
1879
+ function $0(t) {
1865
1880
  try {
1866
- const i = JSON.parse(t);
1867
- if (E0(i))
1868
- return F(i);
1881
+ const o = JSON.parse(t);
1882
+ if (C0(o))
1883
+ return F(o);
1869
1884
  } catch {
1870
1885
  }
1871
1886
  return null;
1872
1887
  }
1873
- function g(t, i, s) {
1888
+ function v(t, o, s) {
1874
1889
  let a = [...t];
1875
- return i && (a = a.filter((h) => i(h[1]))), s ? a.map((h) => [h[0], s(h[1])]) : a;
1890
+ return o && (a = a.filter((h) => o(h[1]))), s ? a.map((h) => [h[0], s(h[1])]) : a;
1876
1891
  }
1877
- function V(t, i, s) {
1892
+ function V(t, o, s) {
1878
1893
  let a = t;
1879
- return i && (a = a.filter(i)), s ? a.map(s) : a === t ? [...t] : a;
1894
+ return o && (a = a.filter(o)), s ? a.map(s) : a === t ? [...t] : a;
1880
1895
  }
1881
- function E(t, i) {
1882
- return i ? new Map(t.map((s) => [s[0], i(s[1])])) : new Map(t);
1896
+ function R(t, o) {
1897
+ return o ? new Map(t.map((s) => [s[0], o(s[1])])) : new Map(t);
1883
1898
  }
1884
- function k(t, i) {
1885
- return i ? [...t].map(i) : [...t];
1899
+ function j(t, o) {
1900
+ return o ? [...t].map(o) : [...t];
1886
1901
  }
1887
1902
  function F(t) {
1888
- const i = new A();
1889
- return i.itemID = t.id, i.name = t.n, t.d && (i.desc = t.d), i.icon = t.i, t.i2 && t.n2 && (i.anvilIcon = t.i2, i.anvilName = t.n2), i.type = t.t, i.req = t.r, i.props = E(t.pr), i.options = E(t.o, C0), t.c && (i.totalUpgradeCount = t.c), t.up && (i.upgradeCount = t.up), t.f && (i.upgradeFailCount = t.f), t.h && (i.hammerCount = t.h), t.m && (i.maxStar = t.m), t.s && (i.star = t.s), t.a && (i.amazing = t.a), t.k && (i.karma = t.k), t.cp && (i.canPotential = t.cp), t.g && (i.grade = t.g), t.p && (i.potentials = k(t.p, j)), t.g2 && (i.additionalGrade = t.g2), t.p2 && (i.additionalPotentials = k(t.p2, j)), U0(t.w, i), i;
1903
+ const o = new A();
1904
+ return o.itemID = t.id, o.name = t.n, t.d && (o.desc = t.d), o.icon = t.i, t.i2 && t.n2 && (o.anvilIcon = t.i2, o.anvilName = t.n2), o.type = t.t, o.req = t.r, o.props = R(t.pr), o.options = R(t.o, E0), t.c && (o.totalUpgradeCount = t.c), t.up && (o.upgradeCount = t.up), t.f && (o.upgradeFailCount = t.f), t.h && (o.hammerCount = t.h), t.ec && (o.exceptionalTotalUpgradeCount = t.ec), t.eu && (o.exceptionalUpgradeCount = t.eu), t.eo && (o.exceptionalOptions = R(t.eo)), t.m && (o.maxStar = t.m), t.s && (o.star = t.s), t.a && (o.amazing = t.a), t.k && (o.karma = t.k), t.cp && (o.canPotential = t.cp), t.g && (o.grade = t.g), t.p && (o.potentials = j(t.p, $)), t.g2 && (o.additionalGrade = t.g2), t.p2 && (o.additionalPotentials = j(t.p2, $)), U0(t.w, o), o;
1890
1905
  }
1891
- function C0(t) {
1892
- const i = new $();
1893
- return i.base = t[0], i.bonus = t[1], i.upgrade = t[2], i.enchant = t[3], i;
1906
+ function E0(t) {
1907
+ const o = new k();
1908
+ return o.base = t[0], o.bonus = t[1], o.upgrade = t[2], o.enchant = t[3], o;
1894
1909
  }
1895
- function j(t) {
1910
+ function $(t) {
1896
1911
  if (!t)
1897
1912
  return null;
1898
- const i = new I();
1899
- return i.code = t.c, i.optionType = t.t, i.reqLevel = t.l, i.summary = t.s, i.option = E(t.o), i;
1913
+ const o = new N();
1914
+ return o.code = t.c, o.optionType = t.t, o.reqLevel = t.l, o.summary = t.s, o.option = R(t.o), o;
1900
1915
  }
1901
- function U0(t, i) {
1916
+ function U0(t, o) {
1902
1917
  if (t) {
1903
- const s = i.soulWeapon;
1904
- t?.e && (s.enchanted = t.e), t?.s && (s.soul = X0(t.s)), t?.c && (s.charge = t.c), t?.o && (s.chargeOption = E(t.o));
1918
+ const s = o.soulWeapon;
1919
+ t?.e && (s.enchanted = t.e), t?.s && (s.soul = X0(t.s)), t?.c && (s.charge = t.c), t?.o && (s.chargeOption = R(t.o));
1905
1920
  }
1906
1921
  }
1907
1922
  function X0(t) {
@@ -1909,38 +1924,40 @@ function X0(t) {
1909
1924
  return {
1910
1925
  name: t.n,
1911
1926
  skill: t.s,
1912
- option: E(t.o),
1927
+ option: R(t.o),
1913
1928
  multiplier: t.m
1914
1929
  };
1915
1930
  }
1916
1931
  export {
1917
1932
  r as BonusStatType,
1918
1933
  A as Gear,
1919
- $ as GearOption,
1920
- o as GearPropType,
1934
+ k as GearOption,
1935
+ i as GearPropType,
1921
1936
  f as GearType,
1922
- I as Potential,
1923
- N as PotentialGrade,
1937
+ N as Potential,
1938
+ x as PotentialGrade,
1924
1939
  B as SoulWeapon,
1925
1940
  L0 as addAmazingEnhancement,
1926
- N0 as addBonusStat,
1941
+ x0 as addBonusStat,
1927
1942
  G as addStarforce,
1928
- _0 as addUpgradeFailCount,
1929
- K0 as applyGoldHammer,
1930
- b0 as applyScroll,
1931
- x0 as applySpellTrace,
1943
+ q0 as addUpgradeFailCount,
1944
+ H0 as applyExceptionalEnchant,
1945
+ O0 as applyGoldHammer,
1946
+ S0 as applyScroll,
1947
+ _0 as applySpellTrace,
1932
1948
  v0 as gearToPlain,
1933
1949
  Q as getBonusStatOption,
1934
1950
  Z as getBonusStatValue,
1935
1951
  f0 as getSpellTraceScroll,
1936
- E0 as isGearLike,
1937
- z0 as parseGear,
1952
+ C0 as isGearLike,
1953
+ j0 as parseGear,
1938
1954
  F as plainToGear,
1939
- H0 as recalculateStarforce,
1940
- I0 as resetBonusStat,
1955
+ I0 as recalculateStarforce,
1956
+ N0 as resetBonusStat,
1941
1957
  e as resetEnhancement,
1942
- W0 as resetUpgrade,
1943
- q0 as restoreUpgradeCount,
1944
- O0 as stringifyGear,
1945
- V0 as validateParseGear
1958
+ K0 as resetExceptionalEnchant,
1959
+ z0 as resetUpgrade,
1960
+ W0 as restoreUpgradeCount,
1961
+ V0 as stringifyGear,
1962
+ $0 as validateParseGear
1946
1963
  };