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