@malib/gear 0.12.2 → 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
@@ -15,10 +15,10 @@ class k {
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
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 C = 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 / C.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 C = 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
  * 지정된 장비 옵션 종류과 연결된 옵션을 가져옵니다.
@@ -161,8 +161,8 @@ const C = 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,35 +301,35 @@ const C = class {
301
301
  * 최대 업그레이드 가능 횟수가 `0`이거나 `onlyUpgrade` 속성이 존재하거나 메카닉 장비 또는 드래곤 장비일 경우 `0`입니다.
302
302
  */
303
303
  static getMaxStar(t) {
304
- if (t.totalUpgradeCount <= 0 || t.getBooleanValue(o.onlyUpgrade) || C.isMechanicGear(t.type) || C.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
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;
@@ -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
- for (const [h, d] of a)
412
- t.option(h).bonus += d;
411
+ for (const [h, u] of a)
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 = m(i), h = Z(t, i, s);
422
- return h === 0 ? /* @__PURE__ */ new Map() : new Map(a.map((d) => [d, h]));
420
+ function Q(t, o, s) {
421
+ const a = m(o), h = Z(t, o, s);
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), d = 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 x(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,46 +439,46 @@ function Z(t, i, s) {
439
439
  case r.INT_LUK:
440
440
  return Y(a, s);
441
441
  case r.PDD:
442
- return x(a, s);
442
+ return I(a, s);
443
443
  case r.PAD:
444
444
  case r.MAD:
445
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
456
  return l(a, s);
457
457
  case r.speed:
458
458
  case r.jump:
459
- return A.isWeapon(d) ? 0 : s;
459
+ return A.isWeapon(u) ? 0 : s;
460
460
  case r.damR:
461
- return A.isWeapon(d) ? s : 0;
461
+ return A.isWeapon(u) ? s : 0;
462
462
  case r.bdR:
463
- return a < 90 || !A.isWeapon(d) ? 0 : 2 * s;
463
+ return a < 90 || !A.isWeapon(u) ? 0 : 2 * s;
464
464
  case r.allStatR:
465
- return a < 70 && !A.isWeapon(d) ? 0 : s;
465
+ return a < 70 && !A.isWeapon(u) ? 0 : s;
466
466
  case r.reduceReq:
467
467
  return y(a, s);
468
468
  default:
469
469
  return 0;
470
470
  }
471
471
  }
472
- function x(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 P(t, i, s, a, h, d, 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
- let n = d;
481
+ let n = u;
482
482
  if (a === f.heavySword || a === f.longSword) {
483
483
  if (a === f.longSword)
484
484
  switch (n) {
@@ -514,127 +514,127 @@ function P(t, i, s, a, h, d, 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 l(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 y(t, i) {
533
- return i * 5;
532
+ function y(t, o) {
533
+ return o * 5;
534
534
  }
535
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
583
  const T = 25, H = 15;
584
- function G(t, i = !1) {
585
- if (t.getBooleanValue(o.incCHUC))
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 = w(t, !1, !1), h = w(t, !1, !0), d = 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
- for (let u = 0; u < 5; u++)
616
- if (D & 1 << u)
617
- for (const b of M[u])
615
+ for (let d = 0; d < 5; d++)
616
+ if (D & 1 << d)
617
+ for (const b of M[d])
618
618
  n.add(b);
619
619
  }
620
- for (const u of c)
621
- (n.has(u) || s > 15 && (t.option(u).base > 0 || t.option(u).upgrade > 0)) && (t.option(u).enchant += a[s]);
622
- if (d) {
623
- const u = D === 0 || Math.floor(D / 2) % 2 === 1 || t.option(o.incMAD).upgrade > 0;
620
+ for (const d of c)
621
+ (n.has(d) || s > 15 && (t.option(d).base > 0 || t.option(d).upgrade > 0)) && (t.option(d).enchant += a[s]);
622
+ if (u) {
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], u && (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 b = t.option(o.incPAD).sum - t.option(o.incPAD).bonus;
628
- if (t.option(o.incPAD).enchant += Math.floor(b / 50) + 1, u) {
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]);
635
- if (!d && t.type !== f.machineHeart) {
636
- const u = t.option(o.incPDD).sum - t.option(o.incPDD).bonus;
637
- t.option(o.incPDD).enchant += Math.floor(u / 20) + 1;
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
+ if (!u && t.type !== f.machineHeart) {
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
639
  const S = [
640
640
  f.cap,
@@ -648,78 +648,78 @@ function G(t, i = !1) {
648
648
  f.shoulder,
649
649
  f.shield
650
650
  ];
651
- return d ? (t.option(o.incMHP).enchant += X[s], t.option(o.incMMP).enchant += X[s]) : S.includes(t.type) && (t.option(o.incMHP).enchant += X[s]), t.type === f.shoes && (t.option(o.incSpeed).enchant += K[s], t.option(o.incJump).enchant += K[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 = w(t, !1, !1), a = w(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 d = [o.incPAD, o.incMAD];
666
- for (const c of d)
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;
664
+ t.option(c).base > 0 && (t.option(c).enchant += s[o]);
665
+ const u = [i.incPAD, i.incMAD];
666
+ for (const c of u)
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 >= H)
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
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), d = w(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
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
681
  for (const S of c)
682
682
  if (t.option(S).sum > 0) {
683
683
  let b = h[a];
684
- i && A.isAccessory(t.type) && (b += a > 5 ? 2 : 1), t.option(S).enchant += b;
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];
686
+ const n = [i.incPAD, i.incMAD];
687
687
  for (const S of n) {
688
- const u = t.option(S).sum;
689
- if (u > 0) {
690
- M && (t.option(S).enchant += Math.floor(u / 50) + 1);
691
- let b = d[a];
692
- i && (M || t.type === f.shield) && (b += 1), t.option(S).enchant += b;
688
+ const d = t.option(S).sum;
689
+ if (d > 0) {
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 x0(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 w(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
- for (const d of [...a].reverse())
721
- if (h >= d[0])
722
- return d;
720
+ for (const u of [...a].reverse())
721
+ if (h >= u[0])
722
+ return u;
723
723
  throw Error(`Gear has invalid reqLevel.
724
724
  ` + t);
725
725
  }
@@ -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,
@@ -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 u0(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 b0(t, i, s);
1626
+ return b0(t, o, s);
1614
1627
  }
1615
1628
  const h0 = {
1616
1629
  100: [
@@ -1654,17 +1667,17 @@ 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
- }, d0 = {
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
- }, O = {
1680
+ }, q = {
1668
1681
  100: [1, 1, 2],
1669
1682
  70: [2, 2, 3],
1670
1683
  30: [3, 4, 5]
@@ -1673,144 +1686,144 @@ const h0 = {
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
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
1682
1695
  }, g = {
1683
- [o.incSTR]: "힘",
1684
- [o.incDEX]: "민첩",
1685
- [o.incINT]: "지력",
1686
- [o.incLUK]: "운",
1687
- [o.incMHP]: "체력",
1688
- [o.incAllStat]: "올스탯",
1689
- [o.incPAD]: "공격력",
1690
- [o.incMAD]: "마력"
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
1705
  function E(t) {
1693
1706
  return t.req.level > 110 ? 2 : t.req.level > 70 ? 1 : 0;
1694
1707
  }
1695
- function u0(t, i, s) {
1696
- if (i === o.incAllStat)
1708
+ function d0(t, o, s) {
1709
+ if (o === i.incAllStat)
1697
1710
  return;
1698
1711
  const a = E(t);
1699
- let [h, d] = h0[s][a];
1700
- const M = L[i], c = g[M];
1701
- return i === o.incMHP && (d *= 50), { name: d > 0 ? `${s}% ${c}(${g[i]}) 주문서` : `${s}% ${c} 주문서`, option: /* @__PURE__ */ new Map([
1702
- [i, d],
1712
+ let [h, u] = h0[s][a];
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 = E(t), [h, d, 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, d + h * 50]];
1711
- else if (n = [[o.incMHP, d]], 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 b = _[s][a];
1727
+ const b = O[s][a];
1715
1728
  c = [
1716
- [o.incSTR, b],
1717
- [o.incDEX, b],
1718
- [o.incINT, b],
1719
- [o.incLUK, b]
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 S = `${s}% ${g[i]} 주문서`, u = 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: S, option: u };
1746
+ return { name: S, option: d };
1734
1747
  }
1735
- function A0(t, i, s) {
1736
- const a = E(t), h = d0[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 d = L[i];
1756
+ const u = L[o];
1744
1757
  return {
1745
- name: `${s}% ${g[d]} 주문서`,
1746
- option: /* @__PURE__ */ new Map([[d, h]])
1758
+ name: `${s}% ${g[u]} 주문서`,
1759
+ option: /* @__PURE__ */ new Map([[u, h]])
1747
1760
  };
1748
1761
  }
1749
1762
  }
1750
- function M0(t, i, s) {
1751
- if (!(s in O))
1763
+ function M0(t, o, s) {
1764
+ if (!(s in q))
1752
1765
  return;
1753
- const a = E(t), h = O[s][a];
1754
- let d = [];
1755
- if (i === o.incMHP)
1756
- d = [[o.incMHP, h * 50]];
1757
- else if (i === o.incAllStat) {
1758
- if (!(s in q))
1766
+ const a = E(t), h = q[s][a];
1767
+ let u = [];
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];
1761
- d = [
1762
- [o.incSTR, n],
1763
- [o.incDEX, n],
1764
- [o.incINT, n],
1765
- [o.incLUK, n]
1773
+ const n = _[s][a];
1774
+ u = [
1775
+ [i.incSTR, n],
1776
+ [i.incDEX, n],
1777
+ [i.incINT, n],
1778
+ [i.incLUK, n]
1766
1779
  ];
1767
1780
  } else
1768
- d = [[i, h]];
1769
- const M = `${s}% ${g[i]} 주문서`, c = new Map(d);
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 b0(t, i, s) {
1785
+ function b0(t, o, s) {
1773
1786
  if (!(s in W))
1774
1787
  return;
1775
- const a = E(t), h = W[s][a], d = L[i];
1776
- return { name: `${s}% ${g[i]} 주문서`, option: /* @__PURE__ */ new Map([[d, 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 H0(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 S0(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 K0(t, i, s) {
1790
- const a = f0(t, i, s);
1802
+ function _0(t, o, s) {
1803
+ const a = f0(t, o, s);
1791
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 O0(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 = v(t.props, (a) => a !== 0), i.o = v(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.exceptionalTotalUpgradeCount > 0 && (i.ec = t.exceptionalTotalUpgradeCount), t.exceptionalUpgradeCount > 0 && (i.eu = t.exceptionalUpgradeCount), i.eo = v(t.exceptionalOptions, (a) => a !== 0), 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,24 +1834,24 @@ function z(t) {
1821
1834
  t: t.optionType,
1822
1835
  l: t.reqLevel,
1823
1836
  s: t.summary,
1824
- o: v(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 = v(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: v(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
1853
  const C0 = (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(
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"
@@ -1848,61 +1861,61 @@ const C0 = (t) => {
1848
1861
  (n) => typeof n == "object" && n !== null && h(n)
1849
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(
1850
1863
  (n) => typeof n == "object" && n !== null && h(n)
1851
- )) && (c.w === void 0 || typeof c.w == "object" && c.w !== null && Array.isArray(c.w) === !1 && d(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(
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(
1852
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"
1853
- ), d = (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(
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(
1854
1867
  (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
1868
  )), M = (c) => typeof c.n == "string" && typeof c.s == "string" && Array.isArray(c.o) && c.o.every(
1856
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"
1857
1870
  ) && typeof c.m == "number";
1858
- return typeof t == "object" && t !== null && i(t);
1871
+ return typeof t == "object" && t !== null && o(t);
1859
1872
  };
1860
- function W0(t) {
1873
+ function V0(t) {
1861
1874
  return JSON.stringify(v0(t));
1862
1875
  }
1863
- function z0(t) {
1876
+ function j0(t) {
1864
1877
  return F(JSON.parse(t));
1865
1878
  }
1866
- function V0(t) {
1879
+ function $0(t) {
1867
1880
  try {
1868
- const i = JSON.parse(t);
1869
- if (C0(i))
1870
- return F(i);
1881
+ const o = JSON.parse(t);
1882
+ if (C0(o))
1883
+ return F(o);
1871
1884
  } catch {
1872
1885
  }
1873
1886
  return null;
1874
1887
  }
1875
- function v(t, i, s) {
1888
+ function v(t, o, s) {
1876
1889
  let a = [...t];
1877
- 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;
1878
1891
  }
1879
- function V(t, i, s) {
1892
+ function V(t, o, s) {
1880
1893
  let a = t;
1881
- 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;
1882
1895
  }
1883
- function R(t, i) {
1884
- 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);
1885
1898
  }
1886
- function j(t, i) {
1887
- return i ? [...t].map(i) : [...t];
1899
+ function j(t, o) {
1900
+ return o ? [...t].map(o) : [...t];
1888
1901
  }
1889
1902
  function F(t) {
1890
- const i = new A();
1891
- 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 = R(t.pr), i.options = R(t.o, E0), 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.ec && (i.exceptionalTotalUpgradeCount = t.ec), t.eu && (i.exceptionalUpgradeCount = t.eu), t.eo && (i.exceptionalOptions = R(t.eo)), 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 = j(t.p, $)), t.g2 && (i.additionalGrade = t.g2), t.p2 && (i.additionalPotentials = j(t.p2, $)), 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;
1892
1905
  }
1893
1906
  function E0(t) {
1894
- const i = new k();
1895
- return i.base = t[0], i.bonus = t[1], i.upgrade = t[2], i.enchant = t[3], i;
1907
+ const o = new k();
1908
+ return o.base = t[0], o.bonus = t[1], o.upgrade = t[2], o.enchant = t[3], o;
1896
1909
  }
1897
1910
  function $(t) {
1898
1911
  if (!t)
1899
1912
  return null;
1900
- const i = new I();
1901
- return i.code = t.c, i.optionType = t.t, i.reqLevel = t.l, i.summary = t.s, i.option = R(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;
1902
1915
  }
1903
- function U0(t, i) {
1916
+ function U0(t, o) {
1904
1917
  if (t) {
1905
- const s = i.soulWeapon;
1918
+ const s = o.soulWeapon;
1906
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));
1907
1920
  }
1908
1921
  }
@@ -1919,30 +1932,32 @@ export {
1919
1932
  r as BonusStatType,
1920
1933
  A as Gear,
1921
1934
  k as GearOption,
1922
- o as GearPropType,
1935
+ i as GearPropType,
1923
1936
  f as GearType,
1924
- I as Potential,
1925
- N as PotentialGrade,
1937
+ N as Potential,
1938
+ x as PotentialGrade,
1926
1939
  B as SoulWeapon,
1927
1940
  L0 as addAmazingEnhancement,
1928
- N0 as addBonusStat,
1941
+ x0 as addBonusStat,
1929
1942
  G as addStarforce,
1930
- _0 as addUpgradeFailCount,
1931
- H0 as applyGoldHammer,
1943
+ q0 as addUpgradeFailCount,
1944
+ H0 as applyExceptionalEnchant,
1945
+ O0 as applyGoldHammer,
1932
1946
  S0 as applyScroll,
1933
- K0 as applySpellTrace,
1947
+ _0 as applySpellTrace,
1934
1948
  v0 as gearToPlain,
1935
1949
  Q as getBonusStatOption,
1936
1950
  Z as getBonusStatValue,
1937
1951
  f0 as getSpellTraceScroll,
1938
1952
  C0 as isGearLike,
1939
- z0 as parseGear,
1953
+ j0 as parseGear,
1940
1954
  F as plainToGear,
1941
- x0 as recalculateStarforce,
1942
- I0 as resetBonusStat,
1955
+ I0 as recalculateStarforce,
1956
+ N0 as resetBonusStat,
1943
1957
  e as resetEnhancement,
1944
- O0 as resetUpgrade,
1945
- q0 as restoreUpgradeCount,
1946
- W0 as stringifyGear,
1947
- V0 as validateParseGear
1958
+ K0 as resetExceptionalEnchant,
1959
+ z0 as resetUpgrade,
1960
+ W0 as restoreUpgradeCount,
1961
+ V0 as stringifyGear,
1962
+ $0 as validateParseGear
1948
1963
  };