@malib/gear 0.13.0 → 0.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -1,4 +1,4 @@
1
- class k {
1
+ class _ {
2
2
  constructor() {
3
3
  this.base = 0, this.bonus = 0, this.upgrade = 0, this.enchant = 0;
4
4
  }
@@ -15,22 +15,16 @@ class k {
15
15
  return this.bonus + this.upgrade + this.enchant;
16
16
  }
17
17
  }
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
- class B {
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 || {}), r = /* @__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))(r || {}), S = /* @__PURE__ */ ((t) => (t[t.normal = 0] = "normal", t[t.rare = 1] = "rare", t[t.epic = 2] = "epic", t[t.unique = 3] = "unique", t[t.legendary = 4] = "legendary", t[t.special = 5] = "special", t))(S || {});
19
+ class Q {
20
20
  constructor(o) {
21
- this.enchanted = !1, this._charge = 0, this.chargeOption = /* @__PURE__ */ new Map(), this.gear = o;
21
+ this.enchanted = !1, this.charge = 0, this.chargeOption = /* @__PURE__ */ new Map(), this.gear = o;
22
22
  }
23
- /** 소울 충전량 */
24
- get charge() {
25
- return this._charge;
23
+ get can() {
24
+ return D.isWeapon(this.gear.type);
26
25
  }
27
- /**
28
- * 소울 충전량
29
- *
30
- * `0`부터 `1000`까지의 값으로 설정할 수 있습니다.
31
- */
32
- set charge(o) {
33
- this.enchanted && (o < 0 || o > 1e3 || (this._charge = o, this.updateChargeOption()));
26
+ get type() {
27
+ return this.gear.option(i.incPAD).base >= this.gear.option(i.incMAD).base ? i.incPAD : i.incMAD;
34
28
  }
35
29
  /**
36
30
  * 소울 인챈트를 적용합니다.
@@ -38,7 +32,7 @@ class B {
38
32
  * 이미 소울 인챈트 상태이거나 장비 분류가 무기가 아닐 경우 `false`를 반환합니다.
39
33
  */
40
34
  enchant() {
41
- return this.enchanted || !A.isWeapon(this.gear.type) ? !1 : (this.enchanted = !0, this.soul = void 0, this.charge = 0, this.chargeOption.clear(), !0);
35
+ return this.enchanted || !this.can ? !1 : (this.enchanted = !0, this.soul = void 0, this.charge = 0, this.chargeOption.clear(), !0);
42
36
  }
43
37
  /**
44
38
  * 소울 인챈트를 해제합니다.
@@ -48,6 +42,17 @@ class B {
48
42
  disenchant() {
49
43
  return this.enchanted ? (this.enchanted = !1, this.soul = void 0, this.charge = 0, this.chargeOption.clear(), !0) : !1;
50
44
  }
45
+ /**
46
+ * 소울 충전량을 설정합니다.
47
+ * 소울 충전량으로 증가하는 옵션을 다시 계산합니다.
48
+ * `0`부터 `1000`까지의 값으로 설정할 수 있습니다.
49
+ * @param charge 소울 충전량.
50
+ * @returns 설정했을 경우 `true`; 아닐 경우 `false`.
51
+ * 소울 인챈트 상태가 아닐 경우 `false`를 반환합니다.
52
+ */
53
+ setCharge(o) {
54
+ return !this.enchanted || o < 0 || o > 1e3 ? !1 : (this.charge = o, this.updateChargeOption(), !0);
55
+ }
51
56
  /**
52
57
  * 소울을 장착합니다.
53
58
  * 소울 충전량으로 증가하는 옵션을 다시 계산합니다.
@@ -72,8 +77,7 @@ class B {
72
77
  * @returns 적용했을 경우 `true`; 아닐 경우 `false`.
73
78
  */
74
79
  updateChargeOption() {
75
- const s = this.gear.option(i.incPAD).base < this.gear.option(i.incMAD).base ? i.incMAD : i.incPAD;
76
- return this.chargeOption.clear(), this.chargeOption.set(s, this.getChargeAD()), !0;
80
+ return this.chargeOption.clear(), this.chargeOption.set(this.type, this.getChargeAD()), !0;
77
81
  }
78
82
  getChargeAD() {
79
83
  if (!this.enchanted || this.charge === 0)
@@ -86,9 +90,9 @@ class B {
86
90
  return 5 + o;
87
91
  }
88
92
  }
89
- const C = class {
93
+ const E = class {
90
94
  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 = x.normal, this.potentials = [], this.additionalGrade = x.normal, this.additionalPotentials = [], this.soulWeapon = new B(this), this.icon = {
95
+ 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 = S.normal, this.potentials = [], this.additionalGrade = S.normal, this.additionalPotentials = [], this.soulWeapon = new Q(this), this.icon = {
92
96
  id: 0
93
97
  }, this.req = {
94
98
  level: 0,
@@ -118,7 +122,7 @@ const C = class {
118
122
  get diff() {
119
123
  let t = 0;
120
124
  for (const [o, s] of this.options)
121
- t += Math.floor(s.diff / C.getPropTypeWeight(o));
125
+ t += Math.floor(s.diff / E.getPropTypeWeight(o));
122
126
  return t;
123
127
  }
124
128
  /**
@@ -137,7 +141,7 @@ const C = class {
137
141
  * @returns 장비 옵션 객체. 존재하지 않을 경우 장비에 추가한 뒤 반환합니다.
138
142
  */
139
143
  option(t) {
140
- return this.options.has(t) || this.options.set(t, new k()), this.options.get(t);
144
+ return this.options.has(t) || this.options.set(t, new _()), this.options.get(t);
141
145
  }
142
146
  /**
143
147
  * 지정된 장비 속성 종류과 연결된 값을 가져옵니다.
@@ -183,7 +187,7 @@ const C = class {
183
187
  * @returns 한손무기일 경우 `true`; 아닐 경우 `false`.
184
188
  */
185
189
  static isLeftWeapon(t) {
186
- return t >= 121 && t <= 139 && t !== f.katara || Math.floor(t / 10) === 121;
190
+ return t >= 121 && t <= 139 && t !== r.katara || Math.floor(t / 10) === 121;
187
191
  }
188
192
  /**
189
193
  * 장비 분류가 두손무기인지 여부를 확인합니다.
@@ -200,10 +204,10 @@ const C = class {
200
204
  */
201
205
  static isSubWeapon(t) {
202
206
  switch (t) {
203
- case f.katara:
204
- case f.shield:
205
- case f.demonShield:
206
- case f.soulShield:
207
+ case r.katara:
208
+ case r.shield:
209
+ case r.demonShield:
210
+ case r.soulShield:
207
211
  return !0;
208
212
  default:
209
213
  return Math.floor(t / 1e3) === 135;
@@ -216,9 +220,9 @@ const C = class {
216
220
  */
217
221
  static isShield(t) {
218
222
  switch (t) {
219
- case f.shield:
220
- case f.demonShield:
221
- case f.soulShield:
223
+ case r.shield:
224
+ case r.demonShield:
225
+ case r.soulShield:
222
226
  return !0;
223
227
  default:
224
228
  return !1;
@@ -230,7 +234,7 @@ const C = class {
230
234
  * @returns 방어구일 경우 `true`; 아닐 경우 `false`.
231
235
  */
232
236
  static isArmor(t) {
233
- return t === 100 || t >= 104 && t <= 110 || t === f.soulShield || t === f.demonShield;
237
+ return t === 100 || t >= 104 && t <= 110 || t === r.soulShield || t === r.demonShield;
234
238
  }
235
239
  /**
236
240
  * 장비 분류가 장신구인지 여부를 확인합니다. 어깨장식이 포함됩니다.
@@ -264,17 +268,17 @@ const C = class {
264
268
  static getGearType(t) {
265
269
  switch (Math.floor(t / 1e3)) {
266
270
  case 1098:
267
- return f.soulShield;
271
+ return r.soulShield;
268
272
  case 1099:
269
- return f.demonShield;
273
+ return r.demonShield;
270
274
  case 1212:
271
- return f.shiningRod;
275
+ return r.shiningRod;
272
276
  case 1213:
273
- return f.tuner;
277
+ return r.tuner;
274
278
  case 1214:
275
- return f.breathShooter;
279
+ return r.breathShooter;
276
280
  case 1404:
277
- return f.chakram;
281
+ return r.chakram;
278
282
  }
279
283
  if (Math.floor(t / 1e4) === 135)
280
284
  switch (Math.floor(t / 100)) {
@@ -300,11 +304,11 @@ const C = class {
300
304
  * 최대 업그레이드 가능 횟수가 `0`이거나 `onlyUpgrade` 속성이 존재하거나 메카닉 장비 또는 드래곤 장비일 경우 `0`입니다.
301
305
  */
302
306
  static getMaxStar(t) {
303
- if (t.totalUpgradeCount <= 0 || t.getBooleanValue(i.onlyUpgrade) || C.isMechanicGear(t.type) || C.isDragonGear(t.type))
307
+ if (t.totalUpgradeCount <= 0 || t.getBooleanValue(i.onlyUpgrade) || E.isMechanicGear(t.type) || E.isDragonGear(t.type))
304
308
  return 0;
305
309
  let o;
306
310
  const s = t.req.level;
307
- for (const a of C.starData)
311
+ for (const a of E.starData)
308
312
  if (s >= a[0])
309
313
  o = a;
310
314
  else
@@ -334,8 +338,8 @@ const C = class {
334
338
  return Number.MAX_VALUE;
335
339
  }
336
340
  };
337
- let A = C;
338
- A.starData = [
341
+ let D = E;
342
+ D.starData = [
339
343
  [0, 5, 3],
340
344
  [95, 8, 5],
341
345
  [110, 10, 8],
@@ -343,7 +347,7 @@ A.starData = [
343
347
  [130, 20, 12],
344
348
  [140, 25, 15]
345
349
  ];
346
- class L {
350
+ class w {
347
351
  constructor() {
348
352
  this.code = 0, this.optionType = 0, this.reqLevel = 0, this.summary = "", this.option = /* @__PURE__ */ new Map();
349
353
  }
@@ -352,7 +356,7 @@ class L {
352
356
  */
353
357
  get convertSummary() {
354
358
  const o = [...this.option.keys()];
355
- o.sort((a, h) => i[h].length - i[a].length);
359
+ o.sort((a, f) => i[f].length - i[a].length);
356
360
  let s = this.summary;
357
361
  for (const a of o)
358
362
  s = s.replace(
@@ -380,106 +384,106 @@ class L {
380
384
  case 0:
381
385
  return !0;
382
386
  case 10:
383
- return A.isWeapon(s) || A.isSubWeapon(s) || s === f.emblem;
387
+ return D.isWeapon(s) || D.isSubWeapon(s) || s === r.emblem;
384
388
  case 11:
385
- return !L.checkOptionType(10, s);
389
+ return !w.checkOptionType(10, s);
386
390
  case 20:
387
- 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;
391
+ return D.isSubWeapon(s) || s === r.cap || s === r.coat || s === r.longcoat || s === r.pants || s === r.shoes || s === r.glove || s === r.cape || s === r.belt || s === r.shoulder;
388
392
  case 40:
389
- return s === f.faceAccessory || s === f.eyeAccessory || s === f.earrings || s === f.ring || s === f.pendant;
393
+ return s === r.faceAccessory || s === r.eyeAccessory || s === r.earrings || s === r.ring || s === r.pendant;
390
394
  case 51:
391
- return s === f.cap;
395
+ return s === r.cap;
392
396
  case 52:
393
- return s === f.coat || s === f.longcoat;
397
+ return s === r.coat || s === r.longcoat;
394
398
  case 53:
395
- return s === f.pants;
399
+ return s === r.pants;
396
400
  case 54:
397
- return s === f.glove;
401
+ return s === r.glove;
398
402
  case 55:
399
- return s === f.shoes;
403
+ return s === r.shoes;
400
404
  default:
401
405
  return !1;
402
406
  }
403
407
  }
404
408
  }
405
- var u = /* @__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))(u || {});
406
- function x0(t, o, s) {
407
- const a = Q(t, o, s);
409
+ var d = /* @__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))(d || {});
410
+ function l0(t, o, s) {
411
+ const a = Y(t, o, s);
408
412
  if (a.size === 0)
409
413
  return !1;
410
- for (const [h, r] of a)
411
- t.option(h).bonus += r;
414
+ for (const [f, u] of a)
415
+ t.option(f).bonus += u;
412
416
  return !0;
413
417
  }
414
- function L0(t) {
418
+ function Z(t) {
415
419
  for (const [, o] of t.options)
416
420
  o.bonus = 0;
417
421
  return !0;
418
422
  }
419
- function Q(t, o, s) {
420
- const a = T(o), h = Z(t, o, s);
421
- return h === 0 ? /* @__PURE__ */ new Map() : new Map(a.map((r) => [r, h]));
423
+ function Y(t, o, s) {
424
+ const a = G(o), f = P(t, o, s);
425
+ return f === 0 ? /* @__PURE__ */ new Map() : new Map(a.map((u) => [u, f]));
422
426
  }
423
- function Z(t, o, s) {
424
- const a = t.req.level, h = t.getBooleanValue(i.bossReward), r = t.type;
425
- if (a < 0 || h && s < 3)
427
+ function P(t, o, s) {
428
+ const a = t.req.level, f = t.getBooleanValue(i.bossReward), u = t.type;
429
+ if (a < 0 || f && s < 3)
426
430
  return 0;
427
431
  switch (o) {
428
- case u.STR:
429
- case u.DEX:
430
- case u.INT:
431
- case u.LUK:
432
- return N(a, s);
433
- case u.STR_DEX:
434
- case u.STR_INT:
435
- case u.STR_LUK:
436
- case u.DEX_INT:
437
- case u.DEX_LUK:
438
- case u.INT_LUK:
439
- return Y(a, s);
440
- case u.PDD:
441
- return N(a, s);
442
- case u.PAD:
443
- case u.MAD:
444
- return P(
432
+ case d.STR:
433
+ case d.DEX:
434
+ case d.INT:
435
+ case d.LUK:
436
+ return I(a, s);
437
+ case d.STR_DEX:
438
+ case d.STR_INT:
439
+ case d.STR_LUK:
440
+ case d.DEX_INT:
441
+ case d.DEX_LUK:
442
+ case d.INT_LUK:
443
+ return p(a, s);
444
+ case d.PDD:
445
+ return I(a, s);
446
+ case d.PAD:
447
+ case d.MAD:
448
+ return m(
445
449
  a,
446
450
  s,
447
451
  o,
448
452
  t.type,
449
- h,
453
+ f,
450
454
  t.option(i.incPAD).base,
451
455
  t.option(i.incMAD).base
452
456
  );
453
- case u.MHP:
454
- case u.MMP:
455
- return l(a, s);
456
- case u.speed:
457
- case u.jump:
458
- return A.isWeapon(r) ? 0 : s;
459
- case u.damR:
460
- return A.isWeapon(r) ? s : 0;
461
- case u.bdR:
462
- return a < 90 || !A.isWeapon(r) ? 0 : 2 * s;
463
- case u.allStatR:
464
- return a < 70 && !A.isWeapon(r) ? 0 : s;
465
- case u.reduceReq:
457
+ case d.MHP:
458
+ case d.MMP:
466
459
  return y(a, s);
460
+ case d.speed:
461
+ case d.jump:
462
+ return D.isWeapon(u) ? 0 : s;
463
+ case d.damR:
464
+ return D.isWeapon(u) ? s : 0;
465
+ case d.bdR:
466
+ return a < 90 || !D.isWeapon(u) ? 0 : 2 * s;
467
+ case d.allStatR:
468
+ return a < 70 && !D.isWeapon(u) ? 0 : s;
469
+ case d.reduceReq:
470
+ return T(a, s);
467
471
  default:
468
472
  return 0;
469
473
  }
470
474
  }
471
- function N(t, o) {
475
+ function I(t, o) {
472
476
  return t >= 250 ? Math.floor(t / 20) * o : (Math.floor(t / 20) + 1) * o;
473
477
  }
474
- function Y(t, o) {
478
+ function p(t, o) {
475
479
  return (Math.floor(t / 40) + 1) * o;
476
480
  }
477
- function P(t, o, s, a, h, r, M) {
478
- if (A.isWeapon(a)) {
479
- 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];
480
- let n = r;
481
- if (a === f.heavySword || a === f.longSword) {
482
- if (a === f.longSword)
481
+ function m(t, o, s, a, f, u, h) {
482
+ if (D.isWeapon(a)) {
483
+ const c = f ? [0, 0, 1, 1.4666, 2.0166, 2.663, 3.4166] : [1, 2.222, 3.63, 5.325, 7.32, 8.777, 10.25];
484
+ let n = u;
485
+ if (a === r.heavySword || a === r.longSword) {
486
+ if (a === r.longSword)
483
487
  switch (n) {
484
488
  case 100:
485
489
  n = 102;
@@ -512,83 +516,83 @@ function P(t, o, s, a, h, r, M) {
512
516
  n = 342;
513
517
  break;
514
518
  }
515
- const D = t > 180 ? 6 : t > 160 ? 5 : t > 110 ? 4 : 3;
516
- return Math.ceil(n * c[o - 1] * D / 100);
517
- } else if (s === u.MAD && M >= n && (n = M), h) {
518
- const D = t > 160 ? 18 : t > 150 ? 15 : t > 110 ? 12 : 9;
519
- return Math.ceil(n * c[o - 1] * D / 100);
519
+ const M = t > 180 ? 6 : t > 160 ? 5 : t > 110 ? 4 : 3;
520
+ return Math.ceil(n * c[o - 1] * M / 100);
521
+ } else if (s === d.MAD && h >= n && (n = h), f) {
522
+ const M = t > 160 ? 18 : t > 150 ? 15 : t > 110 ? 12 : 9;
523
+ return Math.ceil(n * c[o - 1] * M / 100);
520
524
  } else {
521
- const D = t > 110 ? 4 : 3;
522
- return Math.ceil(n * c[o - 1] * D / 100);
525
+ const M = t > 110 ? 4 : 3;
526
+ return Math.ceil(n * c[o - 1] * M / 100);
523
527
  }
524
528
  } else if (t < 60)
525
529
  return 0;
526
530
  return o;
527
531
  }
528
- function l(t, o) {
532
+ function y(t, o) {
529
533
  return t < 10 ? 3 * o : t >= 250 ? 700 * o : Math.floor(t / 10) * 30 * o;
530
534
  }
531
- function y(t, o) {
535
+ function T(t, o) {
532
536
  return o * 5;
533
537
  }
534
- function T(t) {
538
+ function G(t) {
535
539
  switch (t) {
536
- case u.STR:
540
+ case d.STR:
537
541
  return [i.incSTR];
538
- case u.DEX:
542
+ case d.DEX:
539
543
  return [i.incDEX];
540
- case u.INT:
544
+ case d.INT:
541
545
  return [i.incINT];
542
- case u.LUK:
546
+ case d.LUK:
543
547
  return [i.incLUK];
544
- case u.STR_DEX:
548
+ case d.STR_DEX:
545
549
  return [i.incSTR, i.incDEX];
546
- case u.STR_INT:
550
+ case d.STR_INT:
547
551
  return [i.incSTR, i.incINT];
548
- case u.STR_LUK:
552
+ case d.STR_LUK:
549
553
  return [i.incSTR, i.incLUK];
550
- case u.DEX_INT:
554
+ case d.DEX_INT:
551
555
  return [i.incDEX, i.incINT];
552
- case u.DEX_LUK:
556
+ case d.DEX_LUK:
553
557
  return [i.incDEX, i.incLUK];
554
- case u.INT_LUK:
558
+ case d.INT_LUK:
555
559
  return [i.incINT, i.incLUK];
556
- case u.PDD:
560
+ case d.PDD:
557
561
  return [i.incPDD];
558
- case u.PAD:
562
+ case d.PAD:
559
563
  return [i.incPAD];
560
- case u.MAD:
564
+ case d.MAD:
561
565
  return [i.incMAD];
562
- case u.MHP:
566
+ case d.MHP:
563
567
  return [i.incMHP];
564
- case u.MMP:
568
+ case d.MMP:
565
569
  return [i.incMMP];
566
- case u.speed:
570
+ case d.speed:
567
571
  return [i.incSpeed];
568
- case u.jump:
572
+ case d.jump:
569
573
  return [i.incJump];
570
- case u.damR:
574
+ case d.damR:
571
575
  return [i.damR];
572
- case u.bdR:
576
+ case d.bdR:
573
577
  return [i.bdR];
574
- case u.allStatR:
578
+ case d.allStatR:
575
579
  return [i.statR];
576
- case u.reduceReq:
580
+ case d.reduceReq:
577
581
  return [i.reduceReq];
578
582
  default:
579
583
  return [];
580
584
  }
581
585
  }
582
- const m = 25, I = 15;
583
- function p(t, o = !1) {
586
+ const e = 25, H = 15;
587
+ function $(t, o = !1) {
584
588
  if (t.getBooleanValue(i.incCHUC))
585
589
  return !1;
586
590
  if (t.getBooleanValue(i.superiorEqp))
587
- return G(t);
588
- if (t.star >= t.maxStar && !o || t.star >= m)
591
+ return t0(t);
592
+ if (t.star >= t.maxStar && !o || t.star >= e)
589
593
  return !1;
590
594
  t.star += 1;
591
- const s = t.star, a = w(t, !1, !1), h = w(t, !1, !0), r = A.isWeapon(t.type) || t.type === f.katara, M = [
595
+ const s = t.star, a = g(t, !1, !1), f = g(t, !1, !0), u = D.isWeapon(t.type) || t.type === r.katara, h = [
592
596
  [i.incSTR, i.incDEX],
593
597
  [i.incINT, i.incLUK],
594
598
  [i.incDEX, i.incSTR],
@@ -601,8 +605,8 @@ function p(t, o = !1) {
601
605
  i.incLUK
602
606
  ];
603
607
  let n;
604
- const D = t.req.job;
605
- if (D === 0)
608
+ const M = t.req.job;
609
+ if (M === 0)
606
610
  n = /* @__PURE__ */ new Set([
607
611
  i.incSTR,
608
612
  i.incDEX,
@@ -611,122 +615,122 @@ function p(t, o = !1) {
611
615
  ]);
612
616
  else {
613
617
  n = /* @__PURE__ */ new Set();
614
- for (let d = 0; d < 5; d++)
615
- if (D & 1 << d)
616
- for (const b of M[d])
618
+ for (let A = 0; A < 5; A++)
619
+ if (M & 1 << A)
620
+ for (const b of h[A])
617
621
  n.add(b);
618
622
  }
619
- for (const d of c)
620
- (n.has(d) || s > 15 && (t.option(d).base > 0 || t.option(d).upgrade > 0)) && (t.option(d).enchant += a[s]);
621
- if (r) {
622
- const d = D === 0 || Math.floor(D / 2) % 2 === 1 || t.option(i.incMAD).upgrade > 0;
623
+ for (const A of c)
624
+ (n.has(A) || s > 15 && (t.option(A).base > 0 || t.option(A).upgrade > 0)) && (t.option(A).enchant += a[s]);
625
+ if (u) {
626
+ const A = M === 0 || Math.floor(M / 2) % 2 === 1 || t.option(i.incMAD).upgrade > 0;
623
627
  if (s > 15)
624
- t.option(i.incPAD).enchant += h[s], d && (t.option(i.incMAD).enchant += h[s]);
628
+ t.option(i.incPAD).enchant += f[s], A && (t.option(i.incMAD).enchant += f[s]);
625
629
  else {
626
630
  const b = t.option(i.incPAD).sum - t.option(i.incPAD).bonus;
627
- if (t.option(i.incPAD).enchant += Math.floor(b / 50) + 1, d) {
628
- const J = t.option(i.incMAD).sum - t.option(i.incMAD).bonus;
629
- t.option(i.incMAD).enchant += Math.floor(J / 50) + 1;
631
+ if (t.option(i.incPAD).enchant += Math.floor(b / 50) + 1, A) {
632
+ const B = t.option(i.incMAD).sum - t.option(i.incMAD).bonus;
633
+ t.option(i.incMAD).enchant += Math.floor(B / 50) + 1;
630
634
  }
631
635
  }
632
636
  } else
633
- 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]);
634
- if (!r && t.type !== f.machineHeart) {
635
- const d = t.option(i.incPDD).sum - t.option(i.incPDD).bonus;
636
- t.option(i.incPDD).enchant += Math.floor(d / 20) + 1;
637
+ t.option(i.incPAD).enchant += f[s], t.option(i.incMAD).enchant += f[s], t.type === r.glove && (M === 0 ? (t.option(i.incPAD).enchant += X[s], t.option(i.incMAD).enchant += X[s]) : Math.floor(M / 2) % 2 === 1 ? t.option(i.incMAD).enchant += X[s] : t.option(i.incPAD).enchant += X[s]);
638
+ if (!u && t.type !== r.machineHeart) {
639
+ const A = t.option(i.incPDD).sum - t.option(i.incPDD).bonus;
640
+ t.option(i.incPDD).enchant += Math.floor(A / 20) + 1;
637
641
  }
638
- const S = [
639
- f.cap,
640
- f.coat,
641
- f.longcoat,
642
- f.pants,
643
- f.cape,
644
- f.ring,
645
- f.pendant,
646
- f.belt,
647
- f.shoulder,
648
- f.shield
642
+ const v = [
643
+ r.cap,
644
+ r.coat,
645
+ r.longcoat,
646
+ r.pants,
647
+ r.cape,
648
+ r.ring,
649
+ r.pendant,
650
+ r.belt,
651
+ r.shoulder,
652
+ r.shield
649
653
  ];
650
- return r ? (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;
654
+ return u ? (t.option(i.incMHP).enchant += L[s], t.option(i.incMMP).enchant += L[s]) : v.includes(t.type) && (t.option(i.incMHP).enchant += L[s]), t.type === r.shoes && (t.option(i.incSpeed).enchant += q[s], t.option(i.incJump).enchant += q[s]), !0;
651
655
  }
652
- function G(t) {
656
+ function t0(t) {
653
657
  if (t.star >= t.maxStar)
654
658
  return !1;
655
659
  t.star += 1;
656
- const o = t.star, s = w(t, !1, !1), a = w(t, !1, !0), h = [
660
+ const o = t.star, s = g(t, !1, !1), a = g(t, !1, !0), f = [
657
661
  i.incSTR,
658
662
  i.incDEX,
659
663
  i.incINT,
660
664
  i.incLUK
661
665
  ];
662
- for (const c of h)
666
+ for (const c of f)
663
667
  t.option(c).base > 0 && (t.option(c).enchant += s[o]);
664
- const r = [i.incPAD, i.incMAD];
665
- for (const c of r)
668
+ const u = [i.incPAD, i.incMAD];
669
+ for (const c of u)
666
670
  t.option(c).base > 0 && (t.option(c).enchant += a[o]);
667
- const M = t.option(i.incPDD).sum - t.option(i.incPDD).bonus;
668
- return t.option(i.incPDD).enchant += Math.floor(M / 20) + 1, !0;
671
+ const h = t.option(i.incPDD).sum - t.option(i.incPDD).bonus;
672
+ return t.option(i.incPDD).enchant += Math.floor(h / 20) + 1, !0;
669
673
  }
670
- function H0(t, o = !1, s = !1) {
671
- if (t.getBooleanValue(i.incCHUC) || t.getBooleanValue(i.superiorEqp) || t.req.level > 150 || t.star >= t.maxStar && !s || t.star >= I)
674
+ function J0(t, o = !1, s = !1) {
675
+ if (t.getBooleanValue(i.incCHUC) || t.getBooleanValue(i.superiorEqp) || t.req.level > 150 || t.star >= t.maxStar && !s || t.star >= H)
672
676
  return !1;
673
- t.amazing || (t.amazing = !0, t.maxStar = Math.min(t.maxStar, I)), t.star += 1;
674
- const a = t.star, h = w(t, !0, !1), r = w(t, !0, !0), M = A.isWeapon(t.type) || t.type === f.katara, c = [
677
+ t.amazing || (t.amazing = !0, t.maxStar = Math.min(t.maxStar, H)), t.star += 1;
678
+ const a = t.star, f = g(t, !0, !1), u = g(t, !0, !0), h = D.isWeapon(t.type) || t.type === r.katara, c = [
675
679
  i.incSTR,
676
680
  i.incDEX,
677
681
  i.incINT,
678
682
  i.incLUK
679
683
  ];
680
- for (const S of c)
681
- if (t.option(S).sum > 0) {
682
- let b = h[a];
683
- o && A.isAccessory(t.type) && (b += a > 5 ? 2 : 1), t.option(S).enchant += b;
684
+ for (const v of c)
685
+ if (t.option(v).sum > 0) {
686
+ let b = f[a];
687
+ o && D.isAccessory(t.type) && (b += a > 5 ? 2 : 1), t.option(v).enchant += b;
684
688
  }
685
689
  const n = [i.incPAD, i.incMAD];
686
- for (const S of n) {
687
- const d = t.option(S).sum;
688
- if (d > 0) {
689
- M && (t.option(S).enchant += Math.floor(d / 50) + 1);
690
- let b = r[a];
691
- o && (M || t.type === f.shield) && (b += 1), t.option(S).enchant += b;
690
+ for (const v of n) {
691
+ const A = t.option(v).sum;
692
+ if (A > 0) {
693
+ h && (t.option(v).enchant += Math.floor(A / 50) + 1);
694
+ let b = u[a];
695
+ o && (h || t.type === r.shield) && (b += 1), t.option(v).enchant += b;
692
696
  }
693
697
  }
694
- o && A.isArmor(t.type) && (t.option(i.incMHP).enchant += 50);
695
- const D = t.option(i.incPDD).sum;
696
- return t.option(i.incPDD).enchant += Math.floor(D / 20) + 1, !0;
698
+ o && D.isArmor(t.type) && (t.option(i.incMHP).enchant += 50);
699
+ const M = t.option(i.incPDD).sum;
700
+ return t.option(i.incPDD).enchant += Math.floor(M / 20) + 1, !0;
697
701
  }
698
- function e(t) {
702
+ function l(t) {
699
703
  if (t.getBooleanValue(i.incCHUC))
700
704
  return !1;
701
- t.star = 0, t.amazing = !1, t.maxStar = A.getMaxStar(t);
705
+ t.star = 0, t.amazing = !1, t.maxStar = D.getMaxStar(t);
702
706
  for (const [, o] of t.options)
703
707
  o.enchant = 0;
704
708
  return !0;
705
709
  }
706
- function N0(t) {
710
+ function B0(t) {
707
711
  if (t.getBooleanValue(i.incCHUC) || t.amazing)
708
712
  return !1;
709
713
  const o = t.star;
710
- e(t);
714
+ l(t);
711
715
  for (let s = 0; s < o; s++)
712
- p(t, !0);
716
+ $(t, !0);
713
717
  return !0;
714
718
  }
715
- function w(t, o, s) {
719
+ function g(t, o, s) {
716
720
  let a;
717
- 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;
718
- const h = t.req.level;
719
- for (const r of [...a].reverse())
720
- if (h >= r[0])
721
- return r;
721
+ t.getBooleanValue(i.superiorEqp) ? s ? a = n0 : a = o0 : o ? s ? a = a0 : a = r0 : s ? D.isWeapon(t.type) || t.type === r.katara ? a = c0 : a = i0 : a = s0;
722
+ const f = t.req.level;
723
+ for (const u of [...a].reverse())
724
+ if (f >= u[0])
725
+ return u;
722
726
  throw Error(`Gear has invalid reqLevel.
723
727
  ` + t);
724
728
  }
725
- const t0 = [
729
+ const n0 = [
726
730
  [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
727
731
  [110, 0, 0, 0, 0, 0, 5, 6, 7, 0, 0, 0, 0, 0, 0, 0],
728
732
  [150, 0, 0, 0, 0, 0, 9, 10, 11, 12, 13, 15, 17, 19, 21, 23]
729
- ], n0 = [
733
+ ], o0 = [
730
734
  [0, 1, 2, 4, 7, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
731
735
  [80, 2, 3, 5, 8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
732
736
  [110, 9, 10, 12, 15, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
@@ -984,7 +988,7 @@ const t0 = [
984
988
  37,
985
989
  38
986
990
  ]
987
- ], o0 = [
991
+ ], i0 = [
988
992
  [
989
993
  0,
990
994
  0,
@@ -1237,7 +1241,7 @@ const t0 = [
1237
1241
  25,
1238
1242
  27
1239
1243
  ]
1240
- ], i0 = [
1244
+ ], s0 = [
1241
1245
  [
1242
1246
  0,
1243
1247
  2,
@@ -1490,7 +1494,7 @@ const t0 = [
1490
1494
  0,
1491
1495
  0
1492
1496
  ]
1493
- ], s0 = [
1497
+ ], a0 = [
1494
1498
  [0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 5, 6, 8, 10, 12, 14],
1495
1499
  [80, 0, 0, 0, 0, 0, 2, 3, 4, 5, 6, 7, 9, 11, 13, 15],
1496
1500
  [90, 0, 0, 0, 0, 0, 3, 4, 5, 6, 7, 8, 10, 12, 14, 16],
@@ -1500,7 +1504,7 @@ const t0 = [
1500
1504
  [130, 0, 0, 0, 0, 0, 7, 8, 9, 10, 11, 12, 14, 16, 18, 20],
1501
1505
  [140, 0, 0, 0, 0, 0, 8, 9, 10, 11, 12, 13, 15, 17, 19, 21],
1502
1506
  [150, 0, 0, 0, 0, 0, 9, 10, 11, 12, 13, 14, 16, 18, 20, 22]
1503
- ], a0 = [
1507
+ ], r0 = [
1504
1508
  [0, 1, 2, 4, 7, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1505
1509
  [80, 2, 3, 5, 8, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1506
1510
  [85, 3, 4, 6, 9, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
@@ -1517,7 +1521,7 @@ const t0 = [
1517
1521
  [140, 17, 18, 20, 23, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1518
1522
  [145, 18, 19, 21, 24, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
1519
1523
  [150, 19, 20, 22, 25, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
1520
- ], U = [
1524
+ ], X = [
1521
1525
  0,
1522
1526
  0,
1523
1527
  0,
@@ -1544,7 +1548,7 @@ const t0 = [
1544
1548
  0,
1545
1549
  0,
1546
1550
  0
1547
- ], X = [
1551
+ ], L = [
1548
1552
  0,
1549
1553
  5,
1550
1554
  5,
@@ -1571,7 +1575,7 @@ const t0 = [
1571
1575
  0,
1572
1576
  0,
1573
1577
  0
1574
- ], K = [
1578
+ ], q = [
1575
1579
  0,
1576
1580
  0,
1577
1581
  0,
@@ -1599,32 +1603,32 @@ const t0 = [
1599
1603
  0,
1600
1604
  0
1601
1605
  ];
1602
- function I0(t, o) {
1606
+ function Q0(t, o) {
1603
1607
  if (t.exceptionalUpgradeCountLeft < 1)
1604
1608
  return !1;
1605
1609
  t.exceptionalUpgradeCount += 1;
1606
1610
  for (const [s, a] of o.option) {
1607
- const h = t.exceptionalOptions.get(s) ?? 0;
1608
- t.exceptionalOptions.set(s, h + a);
1611
+ const f = t.exceptionalOptions.get(s) ?? 0;
1612
+ t.exceptionalOptions.set(s, f + a);
1609
1613
  }
1610
1614
  return !0;
1611
1615
  }
1612
- function K0(t) {
1616
+ function f0(t) {
1613
1617
  return t.exceptionalUpgradeCount = 0, t.exceptionalOptions.clear(), !0;
1614
1618
  }
1615
- function f0(t, o, s) {
1616
- if (A.isWeapon(t.type) || t.type === f.katara)
1617
- return d0(t, o, s);
1618
- if (t.type === f.glove)
1619
+ function u0(t, o, s) {
1620
+ if (D.isWeapon(t.type) || t.type === r.katara)
1619
1621
  return A0(t, o, s);
1620
- if (A.isArmor(t.type) || t.type === f.shoulder)
1621
- return D0(t, o, s);
1622
- if (A.isAccessory(t.type))
1623
- return M0(t, o, s);
1624
- if (t.type === f.machineHeart)
1622
+ if (t.type === r.glove)
1625
1623
  return b0(t, o, s);
1624
+ if (D.isArmor(t.type) || t.type === r.shoulder)
1625
+ return M0(t, o, s);
1626
+ if (D.isAccessory(t.type))
1627
+ return v0(t, o, s);
1628
+ if (t.type === r.machineHeart)
1629
+ return S0(t, o, s);
1626
1630
  }
1627
- const h0 = {
1631
+ const d0 = {
1628
1632
  100: [
1629
1633
  [1, 0],
1630
1634
  [2, 0],
@@ -1645,7 +1649,7 @@ const h0 = {
1645
1649
  [7, 3],
1646
1650
  [9, 4]
1647
1651
  ]
1648
- }, u0 = {
1652
+ }, h0 = {
1649
1653
  100: [
1650
1654
  [1, 5, 1],
1651
1655
  [2, 20, 2],
@@ -1669,14 +1673,14 @@ const h0 = {
1669
1673
  }, O = {
1670
1674
  30: [1, 2, 3],
1671
1675
  15: [2, 3, 4]
1672
- }, _ = {
1676
+ }, K = {
1673
1677
  30: [1, 2, 3]
1674
- }, r0 = {
1678
+ }, D0 = {
1675
1679
  100: [0, 1, 1],
1676
1680
  70: [1, 2, 2],
1677
1681
  30: [2, 3, 3],
1678
1682
  15: [3, 4, 4]
1679
- }, q = {
1683
+ }, k = {
1680
1684
  100: [1, 1, 2],
1681
1685
  70: [2, 2, 3],
1682
1686
  30: [3, 4, 5]
@@ -1684,14 +1688,14 @@ const h0 = {
1684
1688
  100: [1, 2, 3],
1685
1689
  70: [2, 3, 5],
1686
1690
  30: [3, 5, 7]
1687
- }, H = {
1691
+ }, N = {
1688
1692
  [i.incSTR]: i.incPAD,
1689
1693
  [i.incDEX]: i.incPAD,
1690
1694
  [i.incINT]: i.incMAD,
1691
1695
  [i.incLUK]: i.incPAD,
1692
1696
  [i.incMHP]: i.incPAD,
1693
1697
  [i.incAllStat]: i.incPAD
1694
- }, g = {
1698
+ }, U = {
1695
1699
  [i.incSTR]: "힘",
1696
1700
  [i.incDEX]: "민첩",
1697
1701
  [i.incINT]: "지력",
@@ -1701,26 +1705,26 @@ const h0 = {
1701
1705
  [i.incPAD]: "공격력",
1702
1706
  [i.incMAD]: "마력"
1703
1707
  };
1704
- function E(t) {
1708
+ function x(t) {
1705
1709
  return t.req.level > 110 ? 2 : t.req.level > 70 ? 1 : 0;
1706
1710
  }
1707
- function d0(t, o, s) {
1711
+ function A0(t, o, s) {
1708
1712
  if (o === i.incAllStat)
1709
1713
  return;
1710
- const a = E(t);
1711
- let [h, r] = h0[s][a];
1712
- const M = H[o], c = g[M];
1713
- return o === i.incMHP && (r *= 50), { name: r > 0 ? `${s}% ${c}(${g[o]}) 주문서` : `${s}% ${c} 주문서`, option: /* @__PURE__ */ new Map([
1714
- [o, r],
1715
- [M, h]
1714
+ const a = x(t);
1715
+ let [f, u] = d0[s][a];
1716
+ const h = N[o], c = U[h];
1717
+ return o === i.incMHP && (u *= 50), { name: u > 0 ? `${s}% ${c}(${U[o]}) 주문서` : `${s}% ${c} 주문서`, option: /* @__PURE__ */ new Map([
1718
+ [o, u],
1719
+ [h, f]
1716
1720
  ]) };
1717
1721
  }
1718
- function D0(t, o, s) {
1719
- const a = E(t), [h, r, M] = u0[s][a];
1720
- let c = [], n = [], D = [];
1722
+ function M0(t, o, s) {
1723
+ const a = x(t), [f, u, h] = h0[s][a];
1724
+ let c = [], n = [], M = [];
1721
1725
  if (o === i.incMHP)
1722
- n = [[i.incMHP, r + h * 50]];
1723
- else if (n = [[i.incMHP, r]], o === i.incAllStat) {
1726
+ n = [[i.incMHP, u + f * 50]];
1727
+ else if (n = [[i.incMHP, u]], o === i.incAllStat) {
1724
1728
  if (!(s in O))
1725
1729
  return;
1726
1730
  const b = O[s][a];
@@ -1731,66 +1735,66 @@ function D0(t, o, s) {
1731
1735
  [i.incLUK, b]
1732
1736
  ];
1733
1737
  } else
1734
- c = [[o, h]];
1735
- t.upgradeCount === 3 && (t.req.job === 0 ? D = [
1738
+ c = [[o, f]];
1739
+ t.upgradeCount === 3 && (t.req.job === 0 ? M = [
1736
1740
  [i.incPAD, 1],
1737
1741
  [i.incMAD, 1]
1738
- ] : Math.floor(t.req.job / 2) % 2 === 1 ? D = [[i.incMAD, 1]] : D = [[i.incPAD, 1]]);
1739
- const S = `${s}% ${g[o]} 주문서`, d = new Map([
1742
+ ] : Math.floor(t.req.job / 2) % 2 === 1 ? M = [[i.incMAD, 1]] : M = [[i.incPAD, 1]]);
1743
+ const v = `${s}% ${U[o]} 주문서`, A = new Map([
1740
1744
  ...c,
1741
- ...D,
1745
+ ...M,
1742
1746
  ...n,
1743
- [i.incPDD, M]
1747
+ [i.incPDD, h]
1744
1748
  ]);
1745
- return { name: S, option: d };
1749
+ return { name: v, option: A };
1746
1750
  }
1747
- function A0(t, o, s) {
1748
- const a = E(t), h = r0[s][a];
1749
- if (h === 0)
1751
+ function b0(t, o, s) {
1752
+ const a = x(t), f = D0[s][a];
1753
+ if (f === 0)
1750
1754
  return {
1751
1755
  name: `${s}% 방어력 주문서`,
1752
1756
  option: /* @__PURE__ */ new Map([[i.incPDD, 3]])
1753
1757
  };
1754
1758
  {
1755
- const r = H[o];
1759
+ const u = N[o];
1756
1760
  return {
1757
- name: `${s}% ${g[r]} 주문서`,
1758
- option: /* @__PURE__ */ new Map([[r, h]])
1761
+ name: `${s}% ${U[u]} 주문서`,
1762
+ option: /* @__PURE__ */ new Map([[u, f]])
1759
1763
  };
1760
1764
  }
1761
1765
  }
1762
- function M0(t, o, s) {
1763
- if (!(s in q))
1766
+ function v0(t, o, s) {
1767
+ if (!(s in k))
1764
1768
  return;
1765
- const a = E(t), h = q[s][a];
1766
- let r = [];
1769
+ const a = x(t), f = k[s][a];
1770
+ let u = [];
1767
1771
  if (o === i.incMHP)
1768
- r = [[i.incMHP, h * 50]];
1772
+ u = [[i.incMHP, f * 50]];
1769
1773
  else if (o === i.incAllStat) {
1770
- if (!(s in _))
1774
+ if (!(s in K))
1771
1775
  return;
1772
- const n = _[s][a];
1773
- r = [
1776
+ const n = K[s][a];
1777
+ u = [
1774
1778
  [i.incSTR, n],
1775
1779
  [i.incDEX, n],
1776
1780
  [i.incINT, n],
1777
1781
  [i.incLUK, n]
1778
1782
  ];
1779
1783
  } else
1780
- r = [[o, h]];
1781
- const M = `${s}% ${g[o]} 주문서`, c = new Map(r);
1782
- return { name: M, option: c };
1784
+ u = [[o, f]];
1785
+ const h = `${s}% ${U[o]} 주문서`, c = new Map(u);
1786
+ return { name: h, option: c };
1783
1787
  }
1784
- function b0(t, o, s) {
1788
+ function S0(t, o, s) {
1785
1789
  if (!(s in W))
1786
1790
  return;
1787
- const a = E(t), h = W[s][a], r = H[o];
1788
- return { name: `${s}% ${g[o]} 주문서`, option: /* @__PURE__ */ new Map([[r, h]]) };
1791
+ const a = x(t), f = W[s][a], u = N[o];
1792
+ return { name: `${s}% ${U[o]} 주문서`, option: /* @__PURE__ */ new Map([[u, f]]) };
1789
1793
  }
1790
- function O0(t) {
1794
+ function Z0(t) {
1791
1795
  return t.getBooleanValue(i.blockGoldHammer) || t.getBooleanValue(i.onlyUpgrade) || t.totalUpgradeCount <= 0 || t.hammerCount > 0 ? !1 : (t.hammerCount = 1, !0);
1792
1796
  }
1793
- function S0(t, o) {
1797
+ function R0(t, o) {
1794
1798
  if (t.upgradeCountLeft < 1)
1795
1799
  return !1;
1796
1800
  t.upgradeCount += 1;
@@ -1798,58 +1802,285 @@ function S0(t, o) {
1798
1802
  t.option(s).upgrade += a;
1799
1803
  return !0;
1800
1804
  }
1801
- function _0(t, o, s) {
1802
- const a = f0(t, o, s);
1803
- return a ? S0(t, a) : !1;
1805
+ function Y0(t, o, s) {
1806
+ const a = u0(t, o, s);
1807
+ return a ? R0(t, a) : !1;
1804
1808
  }
1805
- function q0(t) {
1809
+ function P0(t) {
1806
1810
  return t.upgradeCountLeft < 1 ? !1 : (t.upgradeFailCount += 1, !0);
1807
1811
  }
1808
- function W0(t) {
1812
+ function p0(t) {
1809
1813
  return t.upgradeFailCount < 1 ? !1 : (t.upgradeFailCount -= 1, !0);
1810
1814
  }
1811
- function z0(t) {
1815
+ function C0(t) {
1812
1816
  t.upgradeCount = 0, t.upgradeFailCount = 0, t.hammerCount = 0;
1813
1817
  for (const [, o] of t.options)
1814
1818
  o.upgrade = 0;
1815
1819
  return !0;
1816
1820
  }
1817
- function v0(t) {
1821
+ function w0(t, o, s) {
1822
+ const a = new D();
1823
+ if (a.itemID = o, a.type = D.getGearType(o), a.name = t.name, a.desc = t.desc ?? "", a.icon = {
1824
+ id: t.icon
1825
+ }, a.totalUpgradeCount = t.tuc ?? 0, a.exceptionalTotalUpgradeCount = t.etuc ?? 0, t.req && (a.req = {
1826
+ level: t.req.level ?? 0,
1827
+ str: t.req.str ?? 0,
1828
+ luk: t.req.luk ?? 0,
1829
+ dex: t.req.dex ?? 0,
1830
+ int: t.req.int ?? 0,
1831
+ job: t.req.job ?? 0,
1832
+ specJob: t.req.specJob ?? 0
1833
+ }), t.options)
1834
+ for (const [h, c] of Object.entries(t.options)) {
1835
+ const n = i[h];
1836
+ a.option(n).base = c;
1837
+ }
1838
+ if (t.props)
1839
+ for (const [h, c] of Object.entries(t.props)) {
1840
+ const n = i[h];
1841
+ a.props.set(n, c);
1842
+ }
1843
+ t.pots && (a.potentials = t.pots.map((h) => s(h.option, h.level)).filter((h) => h !== void 0)), (a.totalUpgradeCount > 0 || g0(a.type) || D.isSubWeapon(a.type) || a.getBooleanValue(i.tucIgnoreForPotential) || U0(a.itemID)) && (a.canPotential = !0), (D.isMechanicGear(a.type) || D.isDragonGear(a.type)) && (a.canPotential = !1), a.getBooleanValue(i.noPotential) && (a.canPotential = !1);
1844
+ let f;
1845
+ if (f = a.getPropValue(i.fixedGrade))
1846
+ switch (f) {
1847
+ case 2:
1848
+ a.grade = S.rare;
1849
+ break;
1850
+ case 3:
1851
+ a.grade = S.epic;
1852
+ break;
1853
+ case 5:
1854
+ a.grade = S.unique;
1855
+ break;
1856
+ case 7:
1857
+ a.grade = S.legendary;
1858
+ break;
1859
+ default:
1860
+ a.grade = f - 1;
1861
+ break;
1862
+ }
1863
+ a.potentials.some((h) => h !== void 0) && a.grade === S.normal && (a.grade = S.rare), a.type === r.demonShield && (f = a.option(i.incMMP).base, f > 0 && (a.option(i.incMDF).base = f, a.option(i.incMMP).base = 0)), a.maxStar = D.getMaxStar(a);
1864
+ const u = a.getPropValue(i.incCHUC);
1865
+ return u > 0 && (a.star = u), a;
1866
+ }
1867
+ function g0(t) {
1868
+ switch (t) {
1869
+ case r.soulShield:
1870
+ case r.demonShield:
1871
+ case r.katara:
1872
+ case r.magicArrow:
1873
+ case r.card:
1874
+ case r.orb:
1875
+ case r.dragonEssence:
1876
+ case r.soulRing:
1877
+ case r.magnum:
1878
+ case r.emblem:
1879
+ return !0;
1880
+ default:
1881
+ return !1;
1882
+ }
1883
+ }
1884
+ function U0(t) {
1885
+ switch (t) {
1886
+ case 1113231:
1887
+ case 1114302:
1888
+ case 1114305:
1889
+ return !0;
1890
+ default:
1891
+ return !1;
1892
+ }
1893
+ }
1894
+ class m0 {
1895
+ /**
1896
+ * @param gears KMS 장비 정보
1897
+ * @param
1898
+ */
1899
+ constructor(o, s) {
1900
+ this.gears = o, this.potentialRepository = s;
1901
+ }
1902
+ /**
1903
+ * 아이템 ID 목록을 반환합니다.
1904
+ * @returns 아이템 ID 목록
1905
+ */
1906
+ ids() {
1907
+ return Object.keys(this.gears).map((o) => Number(o));
1908
+ }
1909
+ /**
1910
+ * 아이템 ID로부터 장비를 생성합니다.
1911
+ * @param id 장비 아이템 ID.
1912
+ * @returns 아이템 ID에 해당하는 장비. 장비가 존재하지 않을 경우 `undefined`를 반환합니다.
1913
+ */
1914
+ createGearFromId(o) {
1915
+ if (o in this.gears)
1916
+ return w0(
1917
+ this.gears[o],
1918
+ o,
1919
+ (s, a) => this.potentialRepository.createPotentialFromCode(s, a)
1920
+ );
1921
+ }
1922
+ }
1923
+ function E0(t, o, s) {
1924
+ const a = new w();
1925
+ a.code = o, a.optionType = t.optionType ?? 0, a.reqLevel = t.reqLevel ?? 0, a.summary = t.string;
1926
+ for (const [u, h] of Object.entries(t.level[s])) {
1927
+ const c = i[u];
1928
+ typeof h == "number" && a.option.set(c, h);
1929
+ }
1930
+ const f = a.option.get(i.incDAMr) ?? 0;
1931
+ return f > 0 && (a.option.get(i.boss) ?? 0) > 0 && (a.option.delete(i.incDAMr), a.option.delete(i.boss), a.option.set(i.incBDR, f), a.summary = a.summary.replace("#incDAMr", "#incBDR")), a;
1932
+ }
1933
+ class y0 {
1934
+ /**
1935
+ * @param itemOptions KMS 잠재옵션 정보
1936
+ */
1937
+ constructor(o) {
1938
+ this.itemOptions = o;
1939
+ }
1940
+ /**
1941
+ * 잠재옵션 코드로부터 잠재옵션을 생성합니다.
1942
+ * 잠재옵션에 `incDAMr` 속성과 `boss` 속성이 존재할 경우 `incBDR` 속성으로 대체됩니다.
1943
+ * @param code 잠재옵션 코드.
1944
+ * @param potentialLevel 장비의 착용 가능 레벨로 계산되는 잠재옵션 레벨. `1`부터 `25`까지의 값입니다.
1945
+ * @returns 코드에 해당하는 잠재옵션. 존재하지 않을 경우 `undefined`를 반환합니다.
1946
+ */
1947
+ createPotentialFromCode(o, s) {
1948
+ if (o in this.itemOptions)
1949
+ return E0(
1950
+ this.itemOptions[o],
1951
+ o,
1952
+ s
1953
+ );
1954
+ }
1955
+ }
1956
+ function x0(t, o = "PAD") {
1957
+ const s = t.magnificent ? t.options[o] : t.option, a = /* @__PURE__ */ new Map();
1958
+ for (const [f, u] of Object.entries(s)) {
1959
+ const h = i[f];
1960
+ a.set(h, u);
1961
+ }
1962
+ return {
1963
+ name: t.name,
1964
+ skill: t.skill,
1965
+ multiplier: t.multiplier,
1966
+ option: a
1967
+ };
1968
+ }
1969
+ class T0 {
1970
+ /**
1971
+ * @param souls KMS 소울 정보
1972
+ */
1973
+ constructor(o) {
1974
+ this.souls = o;
1975
+ }
1976
+ /**
1977
+ * 소울 ID 목록을 반환합니다.
1978
+ * @returns 소울 ID 목록
1979
+ */
1980
+ ids() {
1981
+ return Object.keys(this.souls).map((o) => Number(o));
1982
+ }
1983
+ /**
1984
+ * 소울 ID로부터 소울를 생성합니다.
1985
+ * @param id 소울 ID.
1986
+ * @param type 위대한 소울 옵션 종류. 기본값은 `PAD`입니다.
1987
+ * 위대한 소울이 아닐 경우 무시합니다.
1988
+ * @returns 정보에 해당하는 소울. 존재하지 않을 경우 `undefined`를 반환합니다.
1989
+ */
1990
+ createSoulFromId(o, s = "PAD") {
1991
+ if (o in this.souls)
1992
+ return x0(this.souls[o], s);
1993
+ }
1994
+ }
1995
+ function G0(t, o, s) {
1996
+ return X0(t, o, s?.ignorePropTypes), L0(t, o), N0(t, o), I0(t, o), H0(t, o), q0(t, o), O0(t, o, s?.getPotentialFunc), K0(t, o), o;
1997
+ }
1998
+ function X0(t, o, s) {
1999
+ for (const [a, f] of t.props)
2000
+ s && s.includes(a) || o.props.set(a, f);
2001
+ o.karma = t.karma;
2002
+ }
2003
+ function L0(t, o) {
2004
+ t.anvil !== void 0 && (o.anvil = t.anvil);
2005
+ }
2006
+ function N0(t, o) {
2007
+ Z(o);
2008
+ for (const [s, a] of t.options)
2009
+ o.option(s).bonus = a.bonus;
2010
+ }
2011
+ function I0(t, o) {
2012
+ if (t.upgradeCount !== void 0 && t.upgradeFailCount !== void 0 && t.hammerCount !== void 0) {
2013
+ C0(o), o.upgradeCount = t.upgradeCount, o.upgradeFailCount = t.upgradeFailCount, o.hammerCount = t.hammerCount;
2014
+ for (const [s, a] of t.options)
2015
+ o.option(s).upgrade = a.upgrade;
2016
+ }
2017
+ }
2018
+ function H0(t, o) {
2019
+ if (t.star !== void 0 && t.star !== 0)
2020
+ if (l(o), t.amazing) {
2021
+ o.star = t.star, o.maxStar = t.maxStar, o.amazing = t.amazing;
2022
+ for (const [s, a] of t.options)
2023
+ o.option(s).enchant = a.enchant;
2024
+ } else
2025
+ for (let s = 0; s < t.star; s++)
2026
+ $(o, !0);
2027
+ }
2028
+ function q0(t, o) {
2029
+ t.exceptionalUpgradeCount !== void 0 && (f0(o), o.exceptionalUpgradeCount = t.exceptionalUpgradeCount, o.exceptionalOptions = new Map(t.exceptionalOptions));
2030
+ }
2031
+ function O0(t, o, s) {
2032
+ const a = w.getPotentialLevel(o.req.level);
2033
+ function f(u) {
2034
+ if (u === null)
2035
+ return null;
2036
+ if (s)
2037
+ return s(u.code, a) ?? null;
2038
+ {
2039
+ const h = new w();
2040
+ return h.code = u.code, h.option = new Map(u.option), h.optionType = u.optionType, h.reqLevel = u.reqLevel, h.summary = u.summary, h;
2041
+ }
2042
+ }
2043
+ o.grade = t.grade, t.potentials.length !== 0 && (o.potentials = t.potentials.map(f)), o.additionalGrade = t.additionalGrade, t.additionalPotentials.length !== 0 && (o.additionalPotentials = t.additionalPotentials.map(f));
2044
+ }
2045
+ function K0(t, o) {
2046
+ o.soulWeapon.enchanted = t.soulWeapon.enchanted, t.soulWeapon.soul && (o.soulWeapon.soul = { ...t.soulWeapon.soul }), o.soulWeapon.setCharge(t.soulWeapon.charge);
2047
+ }
2048
+ function k0(t) {
1818
2049
  const o = {};
1819
- o.id = t.itemID, o.n = t.name, t.desc.length > 0 && (o.d = t.desc), o.i = t.icon, t.anvil && (o.an = t.anvil), 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(
2050
+ o.id = t.itemID, o.n = t.name, t.desc.length > 0 && (o.d = t.desc), o.i = t.icon, t.anvil && (o.an = t.anvil), o.t = t.type, o.r = t.req, o.pr = R(t.props, (a) => a !== 0), o.o = R(t.options, (a) => !a.empty, W0), 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 = R(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 = F(t.potentials, void 0, j)), t.additionalGrade > 0 && (o.g2 = t.additionalGrade), t.additionalGrade > 0 && t.additionalPotentials.length > 0 && (o.p2 = F(
1820
2051
  t.additionalPotentials,
1821
2052
  void 0,
1822
- z
2053
+ j
1823
2054
  ));
1824
- const s = w0(t.soulWeapon);
2055
+ const s = j0(t.soulWeapon);
1825
2056
  return s && (o.w = s), o;
1826
2057
  }
1827
- function R0(t) {
2058
+ function W0(t) {
1828
2059
  return [t.base, t.bonus, t.upgrade, t.enchant];
1829
2060
  }
1830
- function z(t) {
2061
+ function j(t) {
1831
2062
  return t ? {
1832
2063
  c: t.code,
1833
2064
  t: t.optionType,
1834
2065
  l: t.reqLevel,
1835
2066
  s: t.summary,
1836
- o: v(t.option, (o) => o !== 0)
2067
+ o: R(t.option, (o) => o !== 0)
1837
2068
  } : null;
1838
2069
  }
1839
- function w0(t) {
2070
+ function j0(t) {
1840
2071
  const o = {};
1841
- 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)
2072
+ if (t.enchanted && (o.e = t.enchanted), t.soul && (o.s = F0(t.soul)), t.charge > 0 && (o.c = t.charge), t.chargeOption.size > 0 && (o.o = R(t.chargeOption, (s) => s !== 0)), Object.keys(o).length > 0)
1842
2073
  return o;
1843
2074
  }
1844
- function g0(t) {
2075
+ function F0(t) {
1845
2076
  return t ? {
1846
2077
  n: t.name,
1847
2078
  s: t.skill,
1848
- o: v(t.option, (o) => o !== 0),
2079
+ o: R(t.option, (o) => o !== 0),
1849
2080
  m: t.multiplier
1850
2081
  } : void 0;
1851
2082
  }
1852
- const C0 = (t) => {
2083
+ const V0 = (t) => {
1853
2084
  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 && typeof c.i.id == "number" && (c.an === void 0 || typeof c.an == "object" && c.an !== null && s(c.an)) && (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
2085
  (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
2086
  ) && Array.isArray(c.o) && c.o.every(
@@ -1857,106 +2088,113 @@ const C0 = (t) => {
1857
2088
  ) && (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(
1858
2089
  (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"
1859
2090
  )) && (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(
1860
- (n) => n === null || typeof n == "object" && n !== null && h(n)
2091
+ (n) => n === null || typeof n == "object" && n !== null && f(n)
1861
2092
  )) && (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(
1862
- (n) => n === null || typeof n == "object" && n !== null && h(n)
1863
- )) && (c.w === void 0 || typeof c.w == "object" && c.w !== null && Array.isArray(c.w) === !1 && r(c.w)), s = (c) => typeof c.name == "string" && typeof c.icon == "object" && c.icon !== null && typeof c.icon.id == "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(
2093
+ (n) => n === null || typeof n == "object" && n !== null && f(n)
2094
+ )) && (c.w === void 0 || typeof c.w == "object" && c.w !== null && Array.isArray(c.w) === !1 && u(c.w)), s = (c) => typeof c.name == "string" && typeof c.icon == "object" && c.icon !== null && typeof c.icon.id == "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", f = (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
2095
  (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"
1865
- ), r = (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(
2096
+ ), u = (c) => (c.e === void 0 || typeof c.e == "boolean") && (c.s === void 0 || typeof c.s == "object" && c.s !== null && h(c.s)) && (c.c === void 0 || typeof c.c == "number") && (c.o === void 0 || Array.isArray(c.o) && c.o.every(
1866
2097
  (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"
1867
- )), M = (c) => typeof c.n == "string" && typeof c.s == "string" && Array.isArray(c.o) && c.o.every(
2098
+ )), h = (c) => typeof c.n == "string" && typeof c.s == "string" && Array.isArray(c.o) && c.o.every(
1868
2099
  (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"
1869
2100
  ) && typeof c.m == "number";
1870
2101
  return typeof t == "object" && t !== null && o(t);
1871
2102
  };
1872
- function V0(t) {
1873
- return JSON.stringify(v0(t));
2103
+ function e0(t) {
2104
+ return JSON.stringify(k0(t));
1874
2105
  }
1875
- function j0(t) {
1876
- return F(JSON.parse(t));
2106
+ function t1(t) {
2107
+ return J(JSON.parse(t));
1877
2108
  }
1878
- function $0(t) {
2109
+ function n1(t) {
1879
2110
  try {
1880
2111
  const o = JSON.parse(t);
1881
- if (C0(o))
1882
- return F(o);
2112
+ if (V0(o))
2113
+ return J(o);
1883
2114
  } catch {
1884
2115
  }
1885
2116
  return null;
1886
2117
  }
1887
- function v(t, o, s) {
2118
+ function R(t, o, s) {
1888
2119
  let a = [...t];
1889
- return o && (a = a.filter((h) => o(h[1]))), s ? a.map((h) => [h[0], s(h[1])]) : a;
2120
+ return o && (a = a.filter((f) => o(f[1]))), s ? a.map((f) => [f[0], s(f[1])]) : a;
1890
2121
  }
1891
- function V(t, o, s) {
2122
+ function F(t, o, s) {
1892
2123
  let a = t;
1893
2124
  return o && (a = a.filter(o)), s ? a.map(s) : a === t ? [...t] : a;
1894
2125
  }
1895
- function R(t, o) {
2126
+ function C(t, o) {
1896
2127
  return o ? new Map(t.map((s) => [s[0], o(s[1])])) : new Map(t);
1897
2128
  }
1898
- function j(t, o) {
2129
+ function V(t, o) {
1899
2130
  return o ? [...t].map(o) : [...t];
1900
2131
  }
1901
- function F(t) {
1902
- const o = new A();
1903
- return o.itemID = t.id, o.name = t.n, t.d && (o.desc = t.d), o.icon = t.i, t.an && (o.anvil = t.an), 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;
2132
+ function J(t) {
2133
+ const o = new D();
2134
+ return o.itemID = t.id, o.name = t.n, t.d && (o.desc = t.d), o.icon = t.i, t.an && (o.anvil = t.an), o.type = t.t, o.req = t.r, o.props = C(t.pr), o.options = C(t.o, z0), 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 = C(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 = V(t.p, z)), t.g2 && (o.additionalGrade = t.g2), t.p2 && (o.additionalPotentials = V(t.p2, z)), _0(t.w, o), o;
1904
2135
  }
1905
- function E0(t) {
1906
- const o = new k();
2136
+ function z0(t) {
2137
+ const o = new _();
1907
2138
  return o.base = t[0], o.bonus = t[1], o.upgrade = t[2], o.enchant = t[3], o;
1908
2139
  }
1909
- function $(t) {
2140
+ function z(t) {
1910
2141
  if (!t)
1911
2142
  return null;
1912
- const o = new L();
1913
- return o.code = t.c, o.optionType = t.t, o.reqLevel = t.l, o.summary = t.s, o.option = R(t.o), o;
2143
+ const o = new w();
2144
+ return o.code = t.c, o.optionType = t.t, o.reqLevel = t.l, o.summary = t.s, o.option = C(t.o), o;
1914
2145
  }
1915
- function U0(t, o) {
2146
+ function _0(t, o) {
1916
2147
  if (t) {
1917
2148
  const s = o.soulWeapon;
1918
- 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));
2149
+ t?.e && (s.enchanted = t.e), t?.s && (s.soul = $0(t.s)), t?.c && (s.charge = t.c), t?.o && (s.chargeOption = C(t.o));
1919
2150
  }
1920
2151
  }
1921
- function X0(t) {
2152
+ function $0(t) {
1922
2153
  if (t)
1923
2154
  return {
1924
2155
  name: t.n,
1925
2156
  skill: t.s,
1926
- option: R(t.o),
2157
+ option: C(t.o),
1927
2158
  multiplier: t.m
1928
2159
  };
1929
2160
  }
1930
2161
  export {
1931
- u as BonusStatType,
1932
- A as Gear,
1933
- k as GearOption,
2162
+ d as BonusStatType,
2163
+ D as Gear,
2164
+ _ as GearOption,
1934
2165
  i as GearPropType,
1935
- f as GearType,
1936
- L as Potential,
1937
- x as PotentialGrade,
1938
- B as SoulWeapon,
1939
- H0 as addAmazingEnhancement,
1940
- x0 as addBonusStat,
1941
- p as addStarforce,
1942
- q0 as addUpgradeFailCount,
1943
- I0 as applyExceptionalEnchant,
1944
- O0 as applyGoldHammer,
1945
- S0 as applyScroll,
1946
- _0 as applySpellTrace,
1947
- v0 as gearToPlain,
1948
- Q as getBonusStatOption,
1949
- Z as getBonusStatValue,
1950
- f0 as getSpellTraceScroll,
1951
- C0 as isGearLike,
1952
- j0 as parseGear,
1953
- F as plainToGear,
1954
- N0 as recalculateStarforce,
1955
- L0 as resetBonusStat,
1956
- e as resetEnhancement,
1957
- K0 as resetExceptionalEnchant,
1958
- z0 as resetUpgrade,
1959
- W0 as restoreUpgradeCount,
1960
- V0 as stringifyGear,
1961
- $0 as validateParseGear
2166
+ m0 as GearRepository,
2167
+ r as GearType,
2168
+ w as Potential,
2169
+ S as PotentialGrade,
2170
+ y0 as PotentialRepository,
2171
+ T0 as SoulRepository,
2172
+ Q as SoulWeapon,
2173
+ J0 as addAmazingEnhancement,
2174
+ l0 as addBonusStat,
2175
+ $ as addStarforce,
2176
+ P0 as addUpgradeFailCount,
2177
+ Q0 as applyExceptionalEnchant,
2178
+ Z0 as applyGoldHammer,
2179
+ R0 as applyScroll,
2180
+ Y0 as applySpellTrace,
2181
+ w0 as createGearFromNode,
2182
+ E0 as createPotentialFromNode,
2183
+ x0 as createSoulFromNode,
2184
+ k0 as gearToPlain,
2185
+ Y as getBonusStatOption,
2186
+ P as getBonusStatValue,
2187
+ u0 as getSpellTraceScroll,
2188
+ V0 as isGearLike,
2189
+ G0 as migrate,
2190
+ t1 as parseGear,
2191
+ J as plainToGear,
2192
+ B0 as recalculateStarforce,
2193
+ Z as resetBonusStat,
2194
+ l as resetEnhancement,
2195
+ f0 as resetExceptionalEnchant,
2196
+ C0 as resetUpgrade,
2197
+ p0 as restoreUpgradeCount,
2198
+ e0 as stringifyGear,
2199
+ n1 as validateParseGear
1962
2200
  };