@malib/gear 1.0.0-next.3 → 1.0.0-next.4

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/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";var mt=Object.defineProperty;var Ft=Object.getOwnPropertyDescriptor;var Nt=Object.getOwnPropertyNames;var Jt=Object.prototype.hasOwnProperty;var Xt=(t,o)=>{for(var r in o)mt(t,r,{get:o[r],enumerable:!0})},$t=(t,o,r,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of Nt(o))!Jt.call(t,n)&&n!==r&&mt(t,n,{get:()=>o[n],enumerable:!(a=Ft(o,n))||a.enumerable});return t};var Kt=t=>$t(mt({},"__esModule",{value:!0}),t);var Ue={};Xt(Ue,{AddOptionCan:()=>ht,AddOptionType:()=>gt,Gear:()=>dt,GearAttribute:()=>C,GearCuttable:()=>xt,GearReq:()=>E,GearShare:()=>St,GearTrade:()=>ft,GearType:()=>O,PotentialCan:()=>bt,PotentialGrade:()=>Y,SpellTraceType:()=>Pt,applyExceptional:()=>y,applyGoldenHammer:()=>tt,applyScroll:()=>_,applySoulEnchant:()=>ct,applySpellTrace:()=>at,canApplyExceptional:()=>H,canApplyScroll:()=>B,canApplySoulEnchant:()=>$,canFailScroll:()=>M,canGoldenHammer:()=>L,canResetExceptional:()=>q,canResetStarforce:()=>N,canResetUpgrade:()=>j,canResileScroll:()=>G,canSetSoul:()=>K,canSetSoulCharge:()=>Q,canStarScroll:()=>v,canStarforce:()=>R,failScroll:()=>et,getAddOption:()=>z,getAddOptionValue:()=>At,getSpellTraceScroll:()=>_t,isAccessory:()=>b,isArmor:()=>h,isDoubleHandWeapon:()=>wt,isDragonGear:()=>It,isLeftWeapon:()=>Ot,isMechanicGear:()=>Ut,isShield:()=>I,isSubWeapon:()=>Et,isWeapon:()=>u,resetExceptional:()=>T,resetSoulEnchant:()=>ut,resetStarforce:()=>lt,resetUpgrade:()=>rt,resileScroll:()=>ot,setSoul:()=>st,setSoulCharge:()=>pt,starScroll:()=>F,starforce:()=>V,supportsAddOption:()=>Z,supportsExceptional:()=>P,supportsSoul:()=>X,supportsStarforce:()=>k,supportsUpgrade:()=>S,toGearOption:()=>d});module.exports=Kt(Ue);var ft=(a=>(a[a.Tradeable=0]="Tradeable",a[a.TradeBlock=1]="TradeBlock",a[a.EquipTradeBlock=2]="EquipTradeBlock",a))(ft||{}),St=(a=>(a[a.None=0]="None",a[a.AccountSharable=1]="AccountSharable",a[a.AccountSharableOnce=2]="AccountSharableOnce",a))(St||{}),ht=(a=>(a[a.None=0]="None",a[a.Can=1]="Can",a[a.Cannot=2]="Cannot",a))(ht||{}),bt=(n=>(n[n.None=0]="None",n[n.Can=1]="Can",n[n.Cannot=2]="Cannot",n[n.Fixed=3]="Fixed",n))(bt||{}),xt=(a=>(a[a.None=0]="None",a[a.Silver=1]="Silver",a[a.Platinum=2]="Platinum",a))(xt||{});var O=(e=>(e[e.cap=100]="cap",e[e.faceAccessory=101]="faceAccessory",e[e.eyeAccessory=102]="eyeAccessory",e[e.earrings=103]="earrings",e[e.coat=104]="coat",e[e.longcoat=105]="longcoat",e[e.pants=106]="pants",e[e.shoes=107]="shoes",e[e.glove=108]="glove",e[e.cape=110]="cape",e[e.ring=111]="ring",e[e.pendant=112]="pendant",e[e.belt=113]="belt",e[e.medal=114]="medal",e[e.shoulder=115]="shoulder",e[e.pocket=116]="pocket",e[e.badge=118]="badge",e[e.android=166]="android",e[e.machineHeart=167]="machineHeart",e[e.shield=109]="shield",e[e.emblem=119]="emblem",e[e.powerSource=119020]="powerSource",e[e.shiningRod=1212]="shiningRod",e[e.tuner=1213]="tuner",e[e.breathShooter=1214]="breathShooter",e[e.soulShooter=122]="soulShooter",e[e.desperado=123]="desperado",e[e.energySword=124]="energySword",e[e.espLimiter=126]="espLimiter",e[e.chain=127]="chain",e[e.magicGauntlet=128]="magicGauntlet",e[e.ritualFan=129]="ritualFan",e[e.ohSword=130]="ohSword",e[e.ohAxe=131]="ohAxe",e[e.ohBlunt=132]="ohBlunt",e[e.dagger=133]="dagger",e[e.katara=134]="katara",e[e.cane=136]="cane",e[e.wand=137]="wand",e[e.staff=138]="staff",e[e.thSword=140]="thSword",e[e.chakram=1404]="chakram",e[e.thAxe=141]="thAxe",e[e.thBlunt=142]="thBlunt",e[e.spear=143]="spear",e[e.polearm=144]="polearm",e[e.bow=145]="bow",e[e.crossbow=146]="crossbow",e[e.claw=147]="claw",e[e.knuckle=148]="knuckle",e[e.gun=149]="gun",e[e.shovel=150]="shovel",e[e.pickaxe=151]="pickaxe",e[e.dualBowguns=152]="dualBowguns",e[e.handCannon=153]="handCannon",e[e.heavySword=156]="heavySword",e[e.longSword=157]="longSword",e[e.gauntletRevolver=158]="gauntletRevolver",e[e.ancientBow=159]="ancientBow",e[e.soulShield=1098]="soulShield",e[e.demonShield=1099]="demonShield",e[e.magicArrow=135200]="magicArrow",e[e.card=135210]="card",e[e.medallion=135220]="medallion",e[e.rosary=135221]="rosary",e[e.ironChain=135222]="ironChain",e[e.magicBook1=135223]="magicBook1",e[e.magicBook2=135224]="magicBook2",e[e.magicBook3=135225]="magicBook3",e[e.arrowFletching=135226]="arrowFletching",e[e.bowThimble=135227]="bowThimble",e[e.daggerScabbard=135228]="daggerScabbard",e[e.charm=135229]="charm",e[e.orb=135240]="orb",e[e.dragonEssence=135250]="dragonEssence",e[e.soulRing=135260]="soulRing",e[e.magnum=135270]="magnum",e[e.wristBand=135290]="wristBand",e[e.farSight=135291]="farSight",e[e.powderKeg=135292]="powderKeg",e[e.mass=135293]="mass",e[e.document=135294]="document",e[e.magicMarble=135295]="magicMarble",e[e.arrowhead=135296]="arrowhead",e[e.jewel=135297]="jewel",e[e.powderKeg2=135298]="powderKeg2",e[e.controller=135300]="controller",e[e.foxMarble=135310]="foxMarble",e[e.chessPiece=135320]="chessPiece",e[e.transmitter=135330]="transmitter",e[e.charge=135340]="charge",e[e.magicWing=135350]="magicWing",e[e.pathOfAbyss=135360]="pathOfAbyss",e[e.relic=135370]="relic",e[e.fanTassel=135380]="fanTassel",e[e.bracelet=135400]="bracelet",e[e.weaponBelt=135401]="weaponBelt",e[e.ornament=135402]="ornament",e[e.hexSeeker=135403]="hexSeeker",e[e.petEquip=180]="petEquip",e[e.machineEngine=161]="machineEngine",e[e.machineArms=162]="machineArms",e[e.machineLegs=163]="machineLegs",e[e.machineBody=164]="machineBody",e[e.machineTransistors=165]="machineTransistors",e[e.dragonMask=194]="dragonMask",e[e.dragonPendant=195]="dragonPendant",e[e.dragonWings=196]="dragonWings",e[e.dragonTail=197]="dragonTail",e))(O||{});var Y=(i=>(i[i.Normal=0]="Normal",i[i.Rare=1]="Rare",i[i.Epic=2]="Epic",i[i.Unique=3]="Unique",i[i.Legendary=4]="Legendary",i))(Y||{});function u(t){return Ot(t)||wt(t)}function Ot(t){return 121<=t&&t<=139&&t!==134||Math.floor(t/10)===121}function wt(t){return t>=140&&t<=149||t>=152&&t<=159||Math.floor(t/10)===140}function Et(t){if(I(t))return!0;switch(t){case 134:return!0;default:return Math.floor(t/1e3)===135}}function I(t){switch(t){case 109:case 1099:case 1098:return!0;default:return!1}}function h(t){return t===100||t>=104&&t<=110||t===1098||t===1099}function b(t){return t>=101&&t<=103||t>=111&&t<=113||t===115}function Ut(t){return t>=161&&t<=165}function It(t){return t>=194&&t<=197}var gt=(p=>(p.str="str",p.dex="dex",p.int="int",p.luk="luk",p.str_dex="str&dex",p.str_int="str&int",p.str_luk="str&luk",p.dex_int="dex&int",p.dex_luk="dex&luk",p.int_luk="int&luk",p.maxHp="maxHp",p.maxMp="maxMp",p.attackPower="attackPower",p.magicPower="magicPower",p.armor="armor",p.speed="speed",p.jump="jump",p.bossDamage="bossDamage",p.damage="damage",p.allStat="allStat",p.reqLevelDecrease="reqLevelDecrease",p))(gt||{});function Z(t){return u(t)?!0:h(t)?!I(t):b(t)?![111,115].includes(t):t===116}function z(t,o,r){let a=ne(o),n=At(t,o,r),i=a.map(c=>[c,n]);return Object.fromEntries(i)}function At(t,o,r){let a={type:o,reqLevel:t.req.level,gearType:t.type,bossReward:t.attributes.bossReward,attackPower:t.baseOption.attackPower,magicPower:t.baseOption.magicPower};switch(o){case"str":case"dex":case"int":case"luk":return Dt(r,a);case"str&dex":case"str&int":case"str&luk":case"dex&int":case"dex&luk":case"int&luk":return Qt(r,a);case"armor":return Dt(r,a);case"attackPower":case"magicPower":return Yt(r,a);case"maxHp":case"maxMp":return yt(r,a);case"speed":return Tt(r,a);case"jump":return te(r,a);case"damage":return ee(r,a);case"bossDamage":return oe(r,a);case"allStat":return re(r,a);case"reqLevelDecrease":return ae(r,a)}}function Dt(t,{reqLevel:o}){return o>=250?Math.floor(o/20)*t:(Math.floor(o/20)+1)*t}function Qt(t,{reqLevel:o}){return(Math.floor(o/40)+1)*t}function Yt(t,o){let{reqLevel:r,gearType:a}=o;if(u(a))return Zt(t,o);if(r>=60)return t;throw TypeError("\uACF5\uACA9\uB825/\uB9C8\uB825 \uCD94\uAC00 \uC635\uC158\uC740 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8 60 \uC774\uC0C1\uC758 \uBB34\uAE30 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.")}function Zt(t,o){let{reqLevel:r,type:a,gearType:n,bossReward:i,attackPower:c,magicPower:l}=o,m=i?[0,0,1,1.4666,2.0166,2.663,3.4166]:[1,2.222,3.63,5.325,7.32,8.777,10.25];if(n===156||n===157){let f=zt(n,o),U=r>180?6:r>160?5:r>110?4:3;return Math.ceil(f*m[t-1]*U/100)}else{let f=a==="magicPower"&&l>c?l:c;if(i){let U=r>160?6:r>150?5:r>110?4:3;return Math.ceil(f*m[t-1]*U*3/100)}else{let U=r>110?4:3;return Math.ceil(f*m[t-1]*U/100)}}}function zt(t,{attackPower:o}){if(t===156)return o;let a=new Map([[100,102],[103,105],[105,107],[112,114],[117,121],[135,139],[169,173],[203,207],[293,297],[337,342]]).get(o);if(a===void 0)throw TypeError("\uACF5\uACA9\uB825/\uB9C8\uB825 \uCD94\uAC00 \uC635\uC158\uC744 \uBD80\uC5EC\uD560 \uC218 \uC5C6\uB294 \uD0DC\uB3C4 \uC7A5\uBE44\uC785\uB2C8\uB2E4. (Please submit issue with the gear info)");return a}function yt(t,{reqLevel:o}){return o<10?3*t:o>=250?700*t:Math.floor(o/10)*30*t}function Tt(t,{gearType:o}){if(u(o))throw TypeError("\uC774\uB3D9\uC18D\uB3C4 \uCD94\uAC00 \uC635\uC158\uC740 \uBB34\uAE30\uAC00 \uC544\uB2CC \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return t}function te(t,{gearType:o}){if(u(o))throw TypeError("\uC810\uD504\uB825 \uCD94\uAC00 \uC635\uC158\uC740 \uBB34\uAE30\uAC00 \uC544\uB2CC \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return t}function ee(t,{gearType:o}){if(!u(o))throw TypeError("\uB370\uBBF8\uC9C0(%) \uCD94\uAC00 \uC635\uC158\uC740 \uBB34\uAE30 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return t}function oe(t,{reqLevel:o,gearType:r}){if(o<90||!u(r))throw TypeError("\uBCF4\uC2A4 \uACF5\uACA9 \uC2DC \uB370\uBBF8\uC9C0 \uC99D\uAC00(%) \uCD94\uAC00 \uC635\uC158\uC740 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8 90 \uC774\uC0C1\uC758 \uBB34\uAE30 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return 2*t}function re(t,{reqLevel:o,gearType:r}){if(o<70&&!u(r))throw TypeError("\uC62C\uC2A4\uD0EF(%) \uCD94\uAC00 \uC635\uC158\uC740 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8 70 \uC774\uC0C1 \uB610\uB294 \uBB34\uAE30 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return t}function ae(t,{reqLevel:o}){if(o<=0)throw TypeError("\uCC29\uC6A9 \uB808\uBCA8 \uAC10\uC18C \uC635\uC158\uC740 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8 1 \uC774\uC0C1\uC758 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return Math.min(o,5*t)}function ne(t){return t.split("&")}function w(t,...o){let r=t;for(let a of o)for(let[n,i]of Object.entries(a))n in r?r[n]+=i:r[n]=i}function Ht(...t){let o={};return w(o,...t),o}function P(t){return t.exceptionalTotalUpgradeableCount>0}function H(t){return P(t)&&t.exceptionalUpgradeableCount>0}function y(t,o){if(!H(t))throw TypeError("\uC775\uC149\uC154\uB110 \uAC15\uD654\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.exceptionalOption===void 0&&(t.data.exceptionalOption={}),w(t.data.exceptionalOption,o.option),t.data.exceptionalUpgradeableCount=t.exceptionalUpgradeableCount-1,t.data.exceptionalUpgradeCount=t.exceptionalUpgradeCount+1}function q(t){return P(t)}function T(t){if(!q(t))throw TypeError("\uC8FC\uBB38\uC11C \uAC15\uD654\uB97C \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.exceptionalOption={},t.data.exceptionalUpgradeableCount=t.exceptionalTotalUpgradeableCount,t.data.exceptionalUpgradeCount=void 0}function S(t){return!t.attributes.cannotUpgrade&&t.scrollTotalUpgradeableCount>0}function L(t){return S(t)&&!t.attributes.blockGoldenHammer&&t.goldenHammer===0}function tt(t){if(!L(t))throw TypeError("\uD669\uAE08 \uB9DD\uCE58\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.goldenHammer=t.goldenHammer+1,t.data.scrollUpgradeableCount=t.scrollUpgradeableCount+1}function M(t){return S(t)&&t.scrollUpgradeableCount>0}function et(t){if(!M(t))throw TypeError("\uC8FC\uBB38\uC11C \uC2E4\uD328\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.scrollUpgradeableCount=t.scrollUpgradeableCount-1,t.data.scrollResilienceCount=t.scrollResilienceCount+1}function G(t){return S(t)&&t.scrollResilienceCount>0}function ot(t){if(!G(t))throw TypeError("\uC5C5\uADF8\uB808\uC774\uB4DC \uAC00\uB2A5 \uD69F\uC218\uB97C \uBCF5\uAD6C\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.scrollResilienceCount=t.scrollResilienceCount-1,t.data.scrollUpgradeableCount=t.scrollUpgradeableCount+1}function j(t){return S(t)}function rt(t){if(!j(t))throw TypeError("\uC8FC\uBB38\uC11C \uAC15\uD654\uB97C \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.upgradeOption={},t.data.scrollUpgradeableCount=t.scrollTotalUpgradeableCount,t.data.scrollUpgradeCount=void 0,t.data.scrollResilienceCount=void 0,t.data.goldenHammer=void 0}function B(t){return S(t)&&t.scrollUpgradeableCount>0}function _(t,o){if(!B(t))throw TypeError("\uC8FC\uBB38\uC11C\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.upgradeOption===void 0&&(t.data.upgradeOption={}),w(t.data.upgradeOption,o.option),t.data.scrollUpgradeableCount=t.scrollUpgradeableCount-1,t.data.scrollUpgradeCount=t.scrollUpgradeCount+1}var Pt=(c=>(c.str="str",c.dex="dex",c.int="int",c.luk="luk",c.maxHp="maxHp",c.allStat="allStat",c))(Pt||{});function at(t,o,r){let a=_t(t,o,r);_(t,a)}function _t(t,o,r){if(u(t.type)||t.type===134)return ie(t,o,r);if(t.type===108)return le(t,o,r);if(h(t.type)||t.type===115)return ce(t,o,r);if(b(t.type))return se(t,o,r);if(t.type===167)return pe(t,o,r);throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44 \uBD84\uB958\uC785\uB2C8\uB2E4.")}function ie(t,o,r){if(o==="allStat")throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let a=W(t),[n,i]=ue[r][a];o==="maxHp"&&(i*=50);let c=Rt(o),l,m;return i===0?(l=A(r,g(c)),m={[c]:n}):(l=A(r,g(c),g(o)),m={[c]:n,[o]:i}),{name:l,option:m,type:o,rate:r}}function le(t,o,r){let a=W(t),n=me[r][a],i,c;if(n===0)i=A(r,"\uBC29\uC5B4\uB825"),c={armor:3};else{let l=Rt(o);i=A(r,g(l)),c={[l]:n}}return{name:i,option:c,rate:r,type:o}}function ce(t,o,r){let a=W(t),[n,i,c]=de[r][a],l={maxHp:i,armor:c};switch(o){case"str":case"dex":case"int":case"luk":l[o]=n;break;case"maxHp":l.maxHp+=n*50;break;case"allStat":{if(!(r in qt))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let f=qt[r][a];l.str=f,l.dex=f,l.int=f,l.luk=f;break}}return t.scrollUpgradeCount===3&&(t.req.beginner()?(l.attackPower=1,l.magicPower=1):t.req.magician()?l.magicPower=1:l.attackPower=1),{name:A(r,g(o)),option:l,type:o,rate:r}}function se(t,o,r){if(!(r in kt))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let a=W(t),n=kt[r][a],i={};switch(o){case"str":case"dex":case"int":case"luk":i[o]=n;break;case"maxHp":i.maxHp=n*50;break;case"allStat":{if(!(r in Lt))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let l=Lt[r][a];i.str=l,i.dex=l,i.int=l,i.luk=l;break}}return{name:A(r,g(o)),option:i,type:o,rate:r}}function pe(t,o,r){if(!(r in kt))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let a=W(t),n=fe[r][a],i=Rt(o),c=A(r,g(i)),l={[i]:n};return{name:c,option:l,type:o,rate:r}}function A(t,o,r){return r?`${t.toString()}% ${o}(${r}) \uC8FC\uBB38\uC11C`:`${t.toString()}% ${o} \uC8FC\uBB38\uC11C`}function g(t){switch(t){case"str":return"\uD798";case"dex":return"\uBBFC\uCCA9";case"int":return"\uC9C0\uB825";case"luk":return"\uC6B4";case"maxHp":return"\uCCB4\uB825";case"allStat":return"\uC62C\uC2A4\uD0EF";case"attackPower":return"\uACF5\uACA9\uB825";case"magicPower":return"\uB9C8\uB825"}}function W(t){return t.req.level>110?2:t.req.level>70?1:0}function Rt(t){return t==="int"?"magicPower":"attackPower"}var ue={100:[[1,0],[2,0],[3,1]],70:[[2,0],[3,1],[5,2]],30:[[3,1],[5,2],[7,3]],15:[[5,2],[7,3],[9,4]]},de={100:[[1,5,1],[2,20,2],[3,30,3]],70:[[2,15,2],[3,40,4],[4,70,5]],30:[[3,30,4],[5,70,7],[7,120,10]],15:[[4,45,6],[7,110,10],[10,170,15]]},qt={30:[1,2,3],15:[2,3,4]},me={100:[0,1,1],70:[1,2,2],30:[2,3,3],15:[3,4,4]},kt={100:[1,1,2],70:[2,2,3],30:[3,4,5]},Lt={30:[1,2,3]},fe={100:[1,2,3],70:[2,3,5],30:[3,5,7]};var Mt="__GearOption_s87Ns2aQ";function d(t){return Mt in t?t:new Proxy(t,{get(o,r){if(r===Mt)return!0;if(r in vt)return o[r]??vt[r]},set(o,r,a){return r in vt?(o[r]=a,!0):!1},ownKeys(o){return Object.entries(o).filter(([,r])=>r!=0).map(([r])=>r)}})}var vt={str:0,dex:0,int:0,luk:0,strRate:0,dexRate:0,intRate:0,lukRate:0,maxHp:0,maxMp:0,maxHpRate:0,maxMpRate:0,maxDemonForce:0,attackPower:0,magicPower:0,attackPowerRate:0,magicPowerRate:0,armor:0,armorRate:0,speed:0,jump:0,knockback:0,bossDamage:0,normalDamage:0,ignoreMonsterArmor:0,allStat:0,damage:0,reqLevelDecrease:0,criticalRate:0,criticalDamage:0,cooltimeReduce:0,strLv:0,dexLv:0,intLv:0,lukLv:0};var Se=25,it=15,he=15,be=150;function k(t){return(t.data.maxStar??0)>0}function R(t,o=!1){if(!k(t))return!1;if(t.attributes.superior)return t.star<Math.min(he,t.maxStar);if(!o&&t.star>=t.maxStar)return!1;let r=t.starScroll?it:Se;return t.star<r}function V(t,o=!1){if(!R(t,o))throw TypeError("\uC2A4\uD0C0\uD3EC\uC2A4 \uAC15\uD654\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.star=t.star+1,t.attributes.superior?xe(t):u(t.type)||t.type===134?Oe(t):we(t)}function v(t,o=!1){return!k(t)||t.attributes.superior||t.req.level>be||!o&&t.star>=t.maxStar?!1:t.star<it}function F(t,o=!1,r=!1){if(!v(t,r))throw TypeError("\uB180\uB77C\uC6B4 \uC7A5\uBE44 \uAC15\uD654 \uC8FC\uBB38\uC11C\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.starScroll=!0,t.data.star=t.star+1;let a=x(Ce,t),n=x(Ee,t),i=u(t.type)||t.type===134;for(let l of J)Ct(t,l)>0&&(s(t)[l]+=a,o&&b(t.type)&&(s(t)[l]+=t.star>5?2:1));for(let l of jt){let m=Ct(t,l);m>0&&(i&&(s(t)[l]+=Math.floor(m/50)+1),s(t)[l]+=n,o&&(i||t.type===109)&&(s(t)[l]+=1))}o&&h(t.type)&&(s(t).maxHp+=50);let c=Ct(t,"armor");c>0&&(s(t).armor+=Math.floor(c/20)+1)}function N(t){return!!k(t)}function lt(t){if(!N(t))throw TypeError("\uC2A4\uD0C0\uD3EC\uC2A4 \uAC15\uD654\uB97C \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.starforceOption={},t.data.star=void 0,t.data.starScroll=void 0}function xe(t){let o=x(_e,t),r=x(Pe,t);for(let n of J)t.baseOption[n]>0&&(s(t)[n]+=o);for(let n of jt)t.baseOption[n]>0&&(s(t)[n]+=r);let a=nt(t,"armor");s(t).armor+=Math.floor(a/20)+1}function Oe(t){let o=x(Bt,t),r=x(ke,t),a=Gt(t);for(let c of J)(a.has(c)||t.star>15&&(t.baseOption[c]>0||t.upgradeOption[c]>0))&&(s(t)[c]+=o);let n=t.req.magician()||t.upgradeOption.magicPower>0;if(t.star>15)s(t).attackPower+=r,n&&(s(t).magicPower+=r);else{let c=nt(t,"attackPower");if(s(t).attackPower+=Math.floor(c/50)+1,n){let l=nt(t,"magicPower");s(t).magicPower+=Math.floor(l/50)+1}}let i=Wt[t.star];s(t).maxHp+=i,s(t).maxMp+=i}function we(t){let o=x(Bt,t),r=x(Ae,t),a=Gt(t);for(let n of J)(a.has(n)||t.star>15&&(t.baseOption[n]>0||t.upgradeOption[n]>0))&&(s(t)[n]+=o);if(s(t).attackPower+=r,s(t).magicPower+=r,t.type===108){let n=Re[t.star];t.req.beginner()?(s(t).attackPower+=n,s(t).magicPower+=n):t.req.magician()?s(t).magicPower+=n:s(t).attackPower+=n}if(t.type!==167){let n=nt(t,"armor");s(t).armor+=Math.floor(n/20)+1}if(ge.includes(t.type)){let n=Wt[t.star];s(t).maxHp+=n}if(t.type===107){let n=ve[t.star];s(t).speed+=n,s(t).jump+=n}}function Gt(t){if(t.req.beginner())return new Set(J);let o=[];return t.req.warrior()&&o.push("str","dex"),t.req.magician()&&o.push("int","luk"),t.req.bowman()&&o.push("dex","str"),t.req.thief()&&o.push("luk","dex"),t.req.pirate()&&o.push("str","dex"),new Set(o)}function x(t,o){let r=o.req.level;for(let a=t.length-1;a>=0;a--){let n=t[a];if(r>=n[0])return n[o.star]}throw TypeError("\uC7A5\uBE44\uC758 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8\uC740 0 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.")}function s(t){return t.data.starforceOption===void 0&&(t.data.starforceOption={}),d(t.data.starforceOption)}function nt(t,o){return t.baseOption[o]+t.upgradeOption[o]+t.starforceOption[o]}function Ct(t,o){return t.baseOption[o]+t.addOption[o]+t.upgradeOption[o]+t.starforceOption[o]}var J=["str","dex","int","luk"],jt=["attackPower","magicPower"],ge=[100,104,105,106,110,111,112,113,115,109],Bt=[[0,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0],[108,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0],[118,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,0,0,0],[128,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,0,0,0],[138,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,9,9,9,9,9,9,9,0,0,0],[148,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,11,11,11,11,11,11,11,0,0,0],[158,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,13,13,13,13,13,13,13,0,0,0],[198,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,15,15,15,15,15,15,15,0,0,0],[248,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,17,17,17,17,17,17,17,0,0,0]],Ae=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,7,8,9,10,12,13,15,17],[118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,8,9,10,11,13,14,16,18],[128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,9,10,11,12,14,16,18,20],[138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,10,11,12,13,15,17,19,21],[148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,10,11,12,13,14,16,18,20,22],[158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,11,12,13,14,15,17,19,21,23],[198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,13,14,15,16,17,19,21,23,25],[248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15,16,17,18,19,21,23,25,27]],ke=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,7,8,9,27,28,29],[118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,7,8,9,10,28,29,30],[128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,9,10,11,29,30,31],[138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,9,10,11,12,30,31,32],[148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,10,11,12,13,31,32,33],[158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,10,11,12,13,14,32,33,34],[198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,13,14,14,15,16,17,34,35,36],[248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,16,16,17,18,19,36,37,38]],Pe=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[110,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0],[150,0,0,0,0,0,9,10,11,12,13,15,17,19,21,23]],_e=[[0,1,2,4,7,11,0,0,0,0,0,0,0,0,0,0],[80,2,3,5,8,12,0,0,0,0,0,0,0,0,0,0],[110,9,10,12,15,19,0,0,0,0,0,0,0,0,0,0],[150,19,20,22,25,29,0,0,0,0,0,0,0,0,0,0]],Re=[-1,0,0,0,0,1,0,1,0,1,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0],Wt=[-1,5,5,5,10,10,15,15,20,20,25,25,25,25,25,25,0,0,0,0,0,0,0,0,0,0],ve=[-1,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0],Ce=[[0,1,2,4,7,11,0,0,0,0,0,0,0,0,0,0],[80,2,3,5,8,12,0,0,0,0,0,0,0,0,0,0],[85,3,4,6,9,13,0,0,0,0,0,0,0,0,0,0],[90,4,5,7,10,14,0,0,0,0,0,0,0,0,0,0],[95,5,6,8,11,15,0,0,0,0,0,0,0,0,0,0],[100,7,8,10,13,17,0,0,0,0,0,0,0,0,0,0],[105,8,9,11,14,18,0,0,0,0,0,0,0,0,0,0],[110,9,10,12,15,19,0,0,0,0,0,0,0,0,0,0],[115,10,11,13,16,20,0,0,0,0,0,0,0,0,0,0],[120,12,13,15,18,22,0,0,0,0,0,0,0,0,0,0],[125,13,14,16,19,23,0,0,0,0,0,0,0,0,0,0],[130,14,15,17,20,24,0,0,0,0,0,0,0,0,0,0],[135,15,16,18,21,25,0,0,0,0,0,0,0,0,0,0],[140,17,18,20,23,27,0,0,0,0,0,0,0,0,0,0],[145,18,19,21,24,28,0,0,0,0,0,0,0,0,0,0],[150,19,20,22,25,29,0,0,0,0,0,0,0,0,0,0]],Ee=[[0,0,0,0,0,0,1,2,3,4,5,6,8,10,12,14],[80,0,0,0,0,0,2,3,4,5,6,7,9,11,13,15],[90,0,0,0,0,0,3,4,5,6,7,8,10,12,14,16],[100,0,0,0,0,0,4,5,6,7,8,9,11,13,15,17],[110,0,0,0,0,0,5,6,7,8,9,10,12,14,16,18],[120,0,0,0,0,0,6,7,8,9,10,11,13,15,17,19],[130,0,0,0,0,0,7,8,9,10,11,12,14,16,18,20],[140,0,0,0,0,0,8,9,10,11,12,13,15,17,19,21],[150,0,0,0,0,0,9,10,11,12,13,14,16,18,20,22]];var C=class{data;constructor(o){this.data=o}get only(){return this.data.only??!1}get trade(){return this.data.trade??0}set trade(o){this.data.trade=o}get onlyEquip(){return this.data.onlyEquip??!1}get share(){return this.data.share??0}get blockGoldenHammer(){return this.data.blockGoldenHammer??!1}get superior(){return this.data.superior??!1}get attackSpeed(){return this.data.attackSpeed}get cannotUpgrade(){return this.data.cannotUpgrade??!1}get canAddOption(){return this.data.canAddOption??0}get canPotential(){return this.data.canPotential??0}get canAdditionalPotential(){return this.data.canAdditionalPotential??0}get specialGrade(){return this.data.specialGrade??!1}get reqLevelIncrease(){return this.data.reqLevelIncrease??0}get cuttable(){return this.data.cuttable??0}get cuttableCount(){return this.data.cuttableCount}set cuttableCount(o){this.data.cuttableCount=o}get accountShareTag(){return this.data.accountShareTag??!1}get lucky(){return this.data.lucky??!1}get incline(){return{charisma:0,insight:0,will:0,craft:0,sense:0,charm:0,...this.data.incline}}set incline(o){this.data.incline=o}get bossReward(){return this.data.bossReward??!1}get growthExp(){return this.data.growthExp}set growthExp(o){(o===void 0||0<=o&&o<=100)&&(this.data.growthExp=o)}get growthLevel(){return this.data.growthLevel}set growthLevel(o){this.data.growthLevel=o}get dateExpire(){return this.data.dateExpire}set dateExpire(o){(o===void 0||!Number.isNaN(Date.parse(o)))&&(this.data.dateExpire=o)}};var E=class{data;constructor(o){this.data=o}get level(){return this.data.level??0}get str(){return this.data.str??0}get dex(){return this.data.dex??0}get int(){return this.data.int??0}get luk(){return this.data.luk??0}get job(){return this.data.job??0}get class(){return this.data.class??0}beginner(){return this.job===0}warrior(){return this.job===0||(this.job&1)!=0}magician(){return this.job===0||(this.job&2)!=0}bowman(){return this.job===0||(this.job&4)!=0}thief(){return this.job===0||(this.job&8)!=0}pirate(){return this.job===0||(this.job&16)!=0}};function X(t){return u(t.type)&&t.req.level>=30}function $(t){return X(t)&&!t.soulEnchanted}function ct(t){if(!$(t))throw TypeError("\uC18C\uC6B8\uC6E8\uD3F0\uC740 \uC911\uBCF5\uD574\uC11C \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");t.data.soulSlot={}}function K(t){return t.soulEnchanted}function st(t,o){if(!K(t))throw TypeError("\uC18C\uC6B8\uC6E8\uD3F0 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC5D0\uB9CC \uC18C\uC6B8\uC744 \uC7A5\uCC29\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");t.data.soulSlot.soul=o,Vt(t)}function Q(t){return t.soulEnchanted}function pt(t,o){if(!Q(t))throw TypeError("\uC18C\uC6B8\uC6E8\uD3F0 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uB9CC \uC18C\uC6B8 \uCDA9\uC804\uB7C9\uC744 \uBCC0\uACBD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");if(o<0||o>1e3)throw TypeError("\uC18C\uC6B8 \uCDA9\uC804\uB7C9\uC740 0 \uC774\uC0C1 1000 \uC774\uD558\uC758 \uAC12\uC73C\uB85C\uB9CC \uBCC0\uACBD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");t.data.soulSlot.charge=o,Vt(t)}function ut(t){t.data.soulSlot=void 0}function Vt(t){let o;if(t.soulCharge===0)o={};else{let r=t.baseOption.attackPower>=t.baseOption.magicPower?"attackPower":"magicPower",a=Math.min(5,Math.ceil(t.soulCharge/100)-1);t.soul?o={[r]:10+a*(t.soul.chargeFactor??1)}:o={[r]:5+a}}t.data.soulSlot.chargeOption=o}var dt=class{data;constructor(o){this.data=o}get meta(){return this.data.meta}get name(){return this.data.name}get icon(){return this.data.icon??""}get desc(){return this.data.desc}get shape(){return this.data.shape}set shape(o){this.data.shape=o}get shapeIcon(){return this.shape?.icon??this.icon}get type(){return this.data.type}get req(){return new E(this.data.req)}get attributes(){return new C(this.data.attributes)}get totalOption(){return d(Ht(this.baseOption,this.addOption,this.upgradeOption,this.starforceOption))}get baseOption(){return d(this.data.baseOption??{})}get addOption(){return d(this.data.addOption??{})}get upgradeOption(){return d(this.data.upgradeOption??{})}get starforceOption(){return d(this.data.starforceOption??{})}get scrollUpgradeCount(){return this.data.scrollUpgradeCount??0}get scrollResilienceCount(){return this.data.scrollResilienceCount??0}get scrollUpgradeableCount(){return this.data.scrollUpgradeableCount??0}get goldenHammer(){return this.data.goldenHammer??0}get scrollTotalUpgradeableCount(){return this.scrollUpgradeCount+this.scrollUpgradeableCount+this.scrollResilienceCount-this.goldenHammer}get star(){return this.data.star??0}get maxStar(){let o=this.data.maxStar??0;return Math.max(this.star,this.starScroll?Math.min(it,o):o)}get starScroll(){return this.data.starScroll??!1}get soulEnchanted(){return this.data.soulSlot!==void 0}get soul(){if(this.data.soulSlot?.soul)return{...this.data.soulSlot.soul,option:d(this.data.soulSlot.soul.option)}}get soulCharge(){return this.data.soulSlot?.charge??0}get soulChargeOption(){return d(this.data.soulSlot?.chargeOption??{})}get potentialGrade(){return this.data.potentialGrade??0}set potentialGrade(o){this.data.potentialGrade=o}get potentials(){return this.data.potentials===void 0&&(this.data.potentials=[]),this.data.potentials}set potentials(o){this.data.potentials=[...o]}get additionalPotentialGrade(){return this.data.additionalPotentialGrade??0}set additionalPotentialGrade(o){this.data.additionalPotentialGrade=o}get additionalPotentials(){return this.data.additionalPotentials===void 0&&(this.data.additionalPotentials=[]),this.data.additionalPotentials}set additionalPotentials(o){this.data.additionalPotentials=o}get exceptionalOption(){return d(this.data.exceptionalOption??{})}get exceptionalUpgradeCount(){return this.data.exceptionalUpgradeCount??0}get exceptionalUpgradeableCount(){return this.data.exceptionalUpgradeableCount??0}get exceptionalTotalUpgradeableCount(){return this.exceptionalUpgradeCount+this.exceptionalUpgradeableCount}get supportsAddOption(){return Z(this.type)}applyAddOption(o,r){let a=z(this,o,r);this.data.addOption||(this.data.addOption={}),w(this.data.addOption,a),this.meta.add.push([o,r])}resetAddOption(){this.data.addOption=void 0,this.meta.add=[]}get supportsUpgrade(){return S(this)}get canApplyGoldenHammer(){return L(this)}applyGoldenHammer(){tt(this)}get canApplyFailScroll(){return M(this)}applyScrollFail(){et(this)}get canApplyResileScroll(){return G(this)}applyScrollResile(){ot(this)}get canResetUpgrade(){return j(this)}resetUpgrade(){rt(this)}get canApplyScroll(){return B(this)}applyScroll(o){_(this,o)}applySpellTrace(o,r){at(this,o,r)}get supportsStarforce(){return k(this)}get canApplyStarforce(){return R(this)}applyStarforce(){V(this)}get canApplyStarforceIgnoringMaxStar(){return R(this,!0)}applyStarforceIgnoringMaxStar(){V(this,!0)}get canApplyStarScroll(){return v(this)}applyStarScroll(o=!1){F(this,o)}get canApplyStarScrollIgnoringMaxStar(){return v(this,!0)}applyStarScrollIgnoringMaxStar(o=!1){F(this,o,!0)}get canResetStarforce(){return N(this)}resetStarforce(){lt(this)}get supportsSoul(){return X(this)}get canApplySoulEnchant(){return $(this)}applySoulEnchant(){ct(this)}get canSetSoul(){return K(this)}setSoul(o){st(this,o)}get canSetSoulCharge(){return Q(this)}setSoulCharge(o){pt(this,o)}resetSoulEnchant(){ut(this)}get supportsExceptional(){return P(this)}get canApplyExceptional(){return H(this)}applyExceptional(o){y(this,o)}get canResetExceptional(){return q(this)}resetExceptional(){T(this)}};
1
+ "use strict";var Pt=Object.defineProperty;var Zt=Object.getOwnPropertyDescriptor;var zt=Object.getOwnPropertyNames;var Tt=Object.prototype.hasOwnProperty;var te=(t,o)=>{for(var n in o)Pt(t,n,{get:o[n],enumerable:!0})},ee=(t,o,n,a)=>{if(o&&typeof o=="object"||typeof o=="function")for(let r of zt(o))!Tt.call(t,r)&&r!==n&&Pt(t,r,{get:()=>o[r],enumerable:!(a=Zt(o,r))||a.enumerable});return t};var oe=t=>ee(Pt({},"__esModule",{value:!0}),t);var We={};te(We,{AddOptionCan:()=>Y,AddOptionType:()=>vt,Gear:()=>wt,GearAttribute:()=>E,GearCuttable:()=>_t,GearReq:()=>U,GearShare:()=>gt,GearTrade:()=>At,GearType:()=>h,PotentialCan:()=>Z,PotentialGrade:()=>D,SpellTraceType:()=>Ut,applyExceptional:()=>nt,applyGoldenHammer:()=>rt,applyScroll:()=>R,applySoulEnchant:()=>ht,applySpellTrace:()=>ct,canApplyExceptional:()=>G,canApplyScroll:()=>B,canApplySoulEnchant:()=>$,canFailScroll:()=>y,canGoldenHammer:()=>L,canResetExceptional:()=>q,canResetStarforce:()=>F,canResetUpgrade:()=>j,canResileScroll:()=>M,canSetSoul:()=>K,canSetSoulCharge:()=>Q,canStarScroll:()=>C,canStarforce:()=>v,failScroll:()=>it,getAddOption:()=>ot,getAddOptionValue:()=>Ct,getSpellTraceScroll:()=>It,isAccessory:()=>x,isArmor:()=>b,isDoubleHandWeapon:()=>Rt,isDragonGear:()=>tt,isLeftWeapon:()=>kt,isMechanicGear:()=>T,isShield:()=>H,isSubWeapon:()=>z,isWeapon:()=>d,resetExceptional:()=>at,resetSoulEnchant:()=>Ot,resetStarforce:()=>ut,resetUpgrade:()=>st,resileScroll:()=>lt,setSoul:()=>bt,setSoulCharge:()=>xt,starScroll:()=>V,starforce:()=>N,supportsAddOption:()=>et,supportsExceptional:()=>k,supportsSoul:()=>X,supportsStarforce:()=>g,supportsUpgrade:()=>S,toGearOption:()=>u});module.exports=oe(We);var At=(a=>(a[a.Tradeable=0]="Tradeable",a[a.TradeBlock=1]="TradeBlock",a[a.EquipTradeBlock=2]="EquipTradeBlock",a))(At||{}),gt=(a=>(a[a.None=0]="None",a[a.AccountSharable=1]="AccountSharable",a[a.AccountSharableOnce=2]="AccountSharableOnce",a))(gt||{}),Y=(a=>(a[a.None=0]="None",a[a.Can=1]="Can",a[a.Cannot=2]="Cannot",a))(Y||{}),Z=(r=>(r[r.None=0]="None",r[r.Can=1]="Can",r[r.Cannot=2]="Cannot",r[r.Fixed=3]="Fixed",r))(Z||{}),_t=(a=>(a[a.None=0]="None",a[a.Silver=1]="Silver",a[a.Platinum=2]="Platinum",a))(_t||{});var h=(e=>(e[e.cap=100]="cap",e[e.faceAccessory=101]="faceAccessory",e[e.eyeAccessory=102]="eyeAccessory",e[e.earrings=103]="earrings",e[e.coat=104]="coat",e[e.longcoat=105]="longcoat",e[e.pants=106]="pants",e[e.shoes=107]="shoes",e[e.glove=108]="glove",e[e.cape=110]="cape",e[e.ring=111]="ring",e[e.pendant=112]="pendant",e[e.belt=113]="belt",e[e.medal=114]="medal",e[e.shoulder=115]="shoulder",e[e.pocket=116]="pocket",e[e.badge=118]="badge",e[e.android=166]="android",e[e.machineHeart=167]="machineHeart",e[e.shield=109]="shield",e[e.emblem=119]="emblem",e[e.powerSource=119020]="powerSource",e[e.shiningRod=1212]="shiningRod",e[e.tuner=1213]="tuner",e[e.breathShooter=1214]="breathShooter",e[e.soulShooter=122]="soulShooter",e[e.desperado=123]="desperado",e[e.energySword=124]="energySword",e[e.espLimiter=126]="espLimiter",e[e.chain=127]="chain",e[e.magicGauntlet=128]="magicGauntlet",e[e.ritualFan=129]="ritualFan",e[e.ohSword=130]="ohSword",e[e.ohAxe=131]="ohAxe",e[e.ohBlunt=132]="ohBlunt",e[e.dagger=133]="dagger",e[e.katara=134]="katara",e[e.cane=136]="cane",e[e.wand=137]="wand",e[e.staff=138]="staff",e[e.thSword=140]="thSword",e[e.chakram=1404]="chakram",e[e.thAxe=141]="thAxe",e[e.thBlunt=142]="thBlunt",e[e.spear=143]="spear",e[e.polearm=144]="polearm",e[e.bow=145]="bow",e[e.crossbow=146]="crossbow",e[e.claw=147]="claw",e[e.knuckle=148]="knuckle",e[e.gun=149]="gun",e[e.shovel=150]="shovel",e[e.pickaxe=151]="pickaxe",e[e.dualBowguns=152]="dualBowguns",e[e.handCannon=153]="handCannon",e[e.heavySword=156]="heavySword",e[e.longSword=157]="longSword",e[e.gauntletRevolver=158]="gauntletRevolver",e[e.ancientBow=159]="ancientBow",e[e.soulShield=1098]="soulShield",e[e.demonShield=1099]="demonShield",e[e.magicArrow=135200]="magicArrow",e[e.card=135210]="card",e[e.medallion=135220]="medallion",e[e.rosary=135221]="rosary",e[e.ironChain=135222]="ironChain",e[e.magicBook1=135223]="magicBook1",e[e.magicBook2=135224]="magicBook2",e[e.magicBook3=135225]="magicBook3",e[e.arrowFletching=135226]="arrowFletching",e[e.bowThimble=135227]="bowThimble",e[e.daggerScabbard=135228]="daggerScabbard",e[e.charm=135229]="charm",e[e.orb=135240]="orb",e[e.dragonEssence=135250]="dragonEssence",e[e.soulRing=135260]="soulRing",e[e.magnum=135270]="magnum",e[e.wristBand=135290]="wristBand",e[e.farSight=135291]="farSight",e[e.powderKeg=135292]="powderKeg",e[e.mass=135293]="mass",e[e.document=135294]="document",e[e.magicMarble=135295]="magicMarble",e[e.arrowhead=135296]="arrowhead",e[e.jewel=135297]="jewel",e[e.powderKeg2=135298]="powderKeg2",e[e.controller=135300]="controller",e[e.foxMarble=135310]="foxMarble",e[e.chessPiece=135320]="chessPiece",e[e.transmitter=135330]="transmitter",e[e.charge=135340]="charge",e[e.magicWing=135350]="magicWing",e[e.pathOfAbyss=135360]="pathOfAbyss",e[e.relic=135370]="relic",e[e.fanTassel=135380]="fanTassel",e[e.bracelet=135400]="bracelet",e[e.weaponBelt=135401]="weaponBelt",e[e.ornament=135402]="ornament",e[e.hexSeeker=135403]="hexSeeker",e[e.petEquip=180]="petEquip",e[e.machineEngine=161]="machineEngine",e[e.machineArms=162]="machineArms",e[e.machineLegs=163]="machineLegs",e[e.machineBody=164]="machineBody",e[e.machineTransistors=165]="machineTransistors",e[e.dragonMask=194]="dragonMask",e[e.dragonPendant=195]="dragonPendant",e[e.dragonWings=196]="dragonWings",e[e.dragonTail=197]="dragonTail",e))(h||{});var D=(i=>(i[i.Normal=0]="Normal",i[i.Rare=1]="Rare",i[i.Epic=2]="Epic",i[i.Unique=3]="Unique",i[i.Legendary=4]="Legendary",i))(D||{});function d(t){return kt(t)||Rt(t)}function kt(t){return 121<=t&&t<=139&&t!==134||Math.floor(t/10)===121}function Rt(t){return t>=140&&t<=149||t>=152&&t<=159||Math.floor(t/10)===140}function z(t){if(H(t))return!0;switch(t){case 134:return!0;default:return Math.floor(t/1e3)===135}}function H(t){switch(t){case 109:case 1099:case 1098:return!0;default:return!1}}function b(t){return t===100||t>=104&&t<=110||t===1098||t===1099}function x(t){return t>=101&&t<=103||t>=111&&t<=113||t===115}function T(t){return t>=161&&t<=165}function tt(t){return t>=194&&t<=197}var vt=(p=>(p.str="str",p.dex="dex",p.int="int",p.luk="luk",p.str_dex="str&dex",p.str_int="str&int",p.str_luk="str&luk",p.dex_int="dex&int",p.dex_luk="dex&luk",p.int_luk="int&luk",p.maxHp="maxHp",p.maxMp="maxMp",p.attackPower="attackPower",p.magicPower="magicPower",p.armor="armor",p.speed="speed",p.jump="jump",p.bossDamage="bossDamage",p.damage="damage",p.allStat="allStat",p.reqLevelDecrease="reqLevelDecrease",p))(vt||{});function et(t){return t.attributes.canAddOption===1?!0:t.attributes.canAddOption===2?!1:d(t.type)?!0:b(t.type)?!H(t.type):x(t.type)?![111,115].includes(t.type):t.type===116}function ot(t,o,n){let a=me(o),r=Ct(t,o,n),i=a.map(s=>[s,r]);return Object.fromEntries(i)}function Ct(t,o,n){let a={type:o,reqLevel:t.req.level,gearType:t.type,bossReward:t.attributes.bossReward,attackPower:t.baseOption.attackPower,magicPower:t.baseOption.magicPower};switch(o){case"str":case"dex":case"int":case"luk":return qt(n,a);case"str&dex":case"str&int":case"str&luk":case"dex&int":case"dex&luk":case"int&luk":return ne(n,a);case"armor":return qt(n,a);case"attackPower":case"magicPower":return ae(n,a);case"maxHp":case"maxMp":return le(n,a);case"speed":return se(n,a);case"jump":return ce(n,a);case"damage":return pe(n,a);case"bossDamage":return de(n,a);case"allStat":return ue(n,a);case"reqLevelDecrease":return fe(n,a)}}function qt(t,{reqLevel:o}){return o>=250?Math.floor(o/20)*t:(Math.floor(o/20)+1)*t}function ne(t,{reqLevel:o}){return(Math.floor(o/40)+1)*t}function ae(t,o){let{reqLevel:n,gearType:a}=o;if(d(a))return re(t,o);if(n>=60)return t;throw TypeError("\uACF5\uACA9\uB825/\uB9C8\uB825 \uCD94\uAC00 \uC635\uC158\uC740 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8 60 \uC774\uC0C1\uC758 \uBB34\uAE30 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.")}function re(t,o){let{reqLevel:n,type:a,gearType:r,bossReward:i,attackPower:s,magicPower:l}=o,f=i?[0,0,1,1.4666,2.0166,2.663,3.4166]:[1,2.222,3.63,5.325,7.32,8.777,10.25];if(r===156||r===157){let m=ie(r,o),I=n>180?6:n>160?5:n>110?4:3;return Math.ceil(m*f[t-1]*I/100)}else{let m=a==="magicPower"&&l>s?l:s;if(i){let I=n>160?6:n>150?5:n>110?4:3;return Math.ceil(m*f[t-1]*I*3/100)}else{let I=n>110?4:3;return Math.ceil(m*f[t-1]*I/100)}}}function ie(t,{attackPower:o}){if(t===156)return o;let a=new Map([[100,102],[103,105],[105,107],[112,114],[117,121],[135,139],[169,173],[203,207],[293,297],[337,342]]).get(o);if(a===void 0)throw TypeError("\uACF5\uACA9\uB825/\uB9C8\uB825 \uCD94\uAC00 \uC635\uC158\uC744 \uBD80\uC5EC\uD560 \uC218 \uC5C6\uB294 \uD0DC\uB3C4 \uC7A5\uBE44\uC785\uB2C8\uB2E4. (Please submit issue with the gear info)");return a}function le(t,{reqLevel:o}){return o<10?3*t:o>=250?700*t:Math.floor(o/10)*30*t}function se(t,{gearType:o}){if(d(o))throw TypeError("\uC774\uB3D9\uC18D\uB3C4 \uCD94\uAC00 \uC635\uC158\uC740 \uBB34\uAE30\uAC00 \uC544\uB2CC \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return t}function ce(t,{gearType:o}){if(d(o))throw TypeError("\uC810\uD504\uB825 \uCD94\uAC00 \uC635\uC158\uC740 \uBB34\uAE30\uAC00 \uC544\uB2CC \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return t}function pe(t,{gearType:o}){if(!d(o))throw TypeError("\uB370\uBBF8\uC9C0(%) \uCD94\uAC00 \uC635\uC158\uC740 \uBB34\uAE30 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return t}function de(t,{reqLevel:o,gearType:n}){if(o<90||!d(n))throw TypeError("\uBCF4\uC2A4 \uACF5\uACA9 \uC2DC \uB370\uBBF8\uC9C0 \uC99D\uAC00(%) \uCD94\uAC00 \uC635\uC158\uC740 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8 90 \uC774\uC0C1\uC758 \uBB34\uAE30 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return 2*t}function ue(t,{reqLevel:o,gearType:n}){if(o<70&&!d(n))throw TypeError("\uC62C\uC2A4\uD0EF(%) \uCD94\uAC00 \uC635\uC158\uC740 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8 70 \uC774\uC0C1 \uB610\uB294 \uBB34\uAE30 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return t}function fe(t,{reqLevel:o}){if(o<=0)throw TypeError("\uCC29\uC6A9 \uB808\uBCA8 \uAC10\uC18C \uC635\uC158\uC740 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8 1 \uC774\uC0C1\uC758 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return Math.min(o,5*t)}function me(t){return t.split("&")}function w(t,...o){let n=t;for(let a of o)for(let[r,i]of Object.entries(a))r in n?n[r]+=i:n[r]=i}function Lt(...t){let o={};return w(o,...t),o}function k(t){return t.exceptionalTotalUpgradeableCount>0}function G(t){return k(t)&&t.exceptionalUpgradeableCount>0}function nt(t,o){if(!G(t))throw TypeError("\uC775\uC149\uC154\uB110 \uAC15\uD654\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.exceptionalOption===void 0&&(t.data.exceptionalOption={}),w(t.data.exceptionalOption,o.option),t.data.exceptionalUpgradeableCount=t.exceptionalUpgradeableCount-1,t.data.exceptionalUpgradeCount=t.exceptionalUpgradeCount+1}function q(t){return k(t)}function at(t){if(!q(t))throw TypeError("\uC8FC\uBB38\uC11C \uAC15\uD654\uB97C \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.exceptionalOption={},t.data.exceptionalUpgradeableCount=t.exceptionalTotalUpgradeableCount,t.data.exceptionalUpgradeCount=void 0}function S(t){return!t.attributes.cannotUpgrade&&t.scrollTotalUpgradeableCount>0}function L(t){return S(t)&&!t.attributes.blockGoldenHammer&&t.goldenHammer===0}function rt(t){if(!L(t))throw TypeError("\uD669\uAE08 \uB9DD\uCE58\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.goldenHammer=t.goldenHammer+1,t.data.scrollUpgradeableCount=t.scrollUpgradeableCount+1}function y(t){return S(t)&&t.scrollUpgradeableCount>0}function it(t){if(!y(t))throw TypeError("\uC8FC\uBB38\uC11C \uC2E4\uD328\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.scrollUpgradeableCount=t.scrollUpgradeableCount-1,t.data.scrollResilienceCount=t.scrollResilienceCount+1}function M(t){return S(t)&&t.scrollResilienceCount>0}function lt(t){if(!M(t))throw TypeError("\uC5C5\uADF8\uB808\uC774\uB4DC \uAC00\uB2A5 \uD69F\uC218\uB97C \uBCF5\uAD6C\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.scrollResilienceCount=t.scrollResilienceCount-1,t.data.scrollUpgradeableCount=t.scrollUpgradeableCount+1}function j(t){return S(t)}function st(t){if(!j(t))throw TypeError("\uC8FC\uBB38\uC11C \uAC15\uD654\uB97C \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.upgradeOption={},t.data.scrollUpgradeableCount=t.scrollTotalUpgradeableCount,t.data.scrollUpgradeCount=void 0,t.data.scrollResilienceCount=void 0,t.data.goldenHammer=void 0}function B(t){return S(t)&&t.scrollUpgradeableCount>0}function R(t,o){if(!B(t))throw TypeError("\uC8FC\uBB38\uC11C\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.upgradeOption===void 0&&(t.data.upgradeOption={}),w(t.data.upgradeOption,o.option),t.data.scrollUpgradeableCount=t.scrollUpgradeableCount-1,t.data.scrollUpgradeCount=t.scrollUpgradeCount+1}var Ut=(s=>(s.str="str",s.dex="dex",s.int="int",s.luk="luk",s.maxHp="maxHp",s.allStat="allStat",s))(Ut||{});function ct(t,o,n){let a=It(t,o,n);R(t,a)}function It(t,o,n){if(d(t.type)||t.type===134)return Se(t,o,n);if(t.type===108)return he(t,o,n);if(b(t.type)||t.type===115)return be(t,o,n);if(x(t.type))return xe(t,o,n);if(t.type===167)return Oe(t,o,n);throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44 \uBD84\uB958\uC785\uB2C8\uB2E4.")}function Se(t,o,n){if(o==="allStat")throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let a=W(t),[r,i]=we[n][a];o==="maxHp"&&(i*=50);let s=Dt(o),l,f;return i===0?(l=A(n,P(s)),f={[s]:r}):(l=A(n,P(s),P(o)),f={[s]:r,[o]:i}),{name:l,option:f,type:o,rate:n}}function he(t,o,n){let a=W(t),r=Ae[n][a],i,s;if(r===0)i=A(n,"\uBC29\uC5B4\uB825"),s={armor:3};else{let l=Dt(o);i=A(n,P(l)),s={[l]:r}}return{name:i,option:s,rate:n,type:o}}function be(t,o,n){let a=W(t),[r,i,s]=Pe[n][a],l={maxHp:i,armor:s};switch(o){case"str":case"dex":case"int":case"luk":l[o]=r;break;case"maxHp":l.maxHp+=r*50;break;case"allStat":{if(!(n in yt))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let m=yt[n][a];l.str=m,l.dex=m,l.int=m,l.luk=m;break}}return t.scrollUpgradeCount===3&&(t.req.beginner()?(l.attackPower=1,l.magicPower=1):t.req.magician()?l.magicPower=1:l.attackPower=1),{name:A(n,P(o)),option:l,type:o,rate:n}}function xe(t,o,n){if(!(n in Et))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let a=W(t),r=Et[n][a],i={};switch(o){case"str":case"dex":case"int":case"luk":i[o]=r;break;case"maxHp":i.maxHp=r*50;break;case"allStat":{if(!(n in Mt))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let l=Mt[n][a];i.str=l,i.dex=l,i.int=l,i.luk=l;break}}return{name:A(n,P(o)),option:i,type:o,rate:n}}function Oe(t,o,n){if(!(n in Et))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let a=W(t),r=ge[n][a],i=Dt(o),s=A(n,P(i)),l={[i]:r};return{name:s,option:l,type:o,rate:n}}function A(t,o,n){return n?`${t.toString()}% ${o}(${n}) \uC8FC\uBB38\uC11C`:`${t.toString()}% ${o} \uC8FC\uBB38\uC11C`}function P(t){switch(t){case"str":return"\uD798";case"dex":return"\uBBFC\uCCA9";case"int":return"\uC9C0\uB825";case"luk":return"\uC6B4";case"maxHp":return"\uCCB4\uB825";case"allStat":return"\uC62C\uC2A4\uD0EF";case"attackPower":return"\uACF5\uACA9\uB825";case"magicPower":return"\uB9C8\uB825"}}function W(t){return t.req.level>110?2:t.req.level>70?1:0}function Dt(t){return t==="int"?"magicPower":"attackPower"}var we={100:[[1,0],[2,0],[3,1]],70:[[2,0],[3,1],[5,2]],30:[[3,1],[5,2],[7,3]],15:[[5,2],[7,3],[9,4]]},Pe={100:[[1,5,1],[2,20,2],[3,30,3]],70:[[2,15,2],[3,40,4],[4,70,5]],30:[[3,30,4],[5,70,7],[7,120,10]],15:[[4,45,6],[7,110,10],[10,170,15]]},yt={30:[1,2,3],15:[2,3,4]},Ae={100:[0,1,1],70:[1,2,2],30:[2,3,3],15:[3,4,4]},Et={100:[1,1,2],70:[2,2,3],30:[3,4,5]},Mt={30:[1,2,3]},ge={100:[1,2,3],70:[2,3,5],30:[3,5,7]};var jt="__GearOption_s87Ns2aQ";function u(t){return jt in t?t:new Proxy(t,{get(o,n){if(n===jt)return!0;if(n in Ht)return o[n]??Ht[n]},set(o,n,a){return n in Ht?(o[n]=a,!0):!1},ownKeys(o){return Object.entries(o).filter(([,n])=>n!=0).map(([n])=>n)}})}var Ht={str:0,dex:0,int:0,luk:0,strRate:0,dexRate:0,intRate:0,lukRate:0,maxHp:0,maxMp:0,maxHpRate:0,maxMpRate:0,maxDemonForce:0,attackPower:0,magicPower:0,attackPowerRate:0,magicPowerRate:0,armor:0,armorRate:0,speed:0,jump:0,knockback:0,bossDamage:0,normalDamage:0,ignoreMonsterArmor:0,allStat:0,damage:0,reqLevelDecrease:0,criticalRate:0,criticalDamage:0,cooltimeReduce:0,strLv:0,dexLv:0,intLv:0,lukLv:0};var _e=25,dt=15,ke=15,Re=150;function g(t){return(t.data.maxStar??0)>0}function v(t,o=!1){if(!g(t))return!1;if(t.attributes.superior)return t.star<Math.min(ke,t.maxStar);if(!o&&t.star>=t.maxStar)return!1;let n=t.starScroll?dt:_e;return t.star<n}function N(t,o=!1){if(!v(t,o))throw TypeError("\uC2A4\uD0C0\uD3EC\uC2A4 \uAC15\uD654\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.star=t.star+1,t.attributes.superior?ve(t):d(t.type)||t.type===134?Ce(t):Ee(t)}function C(t,o=!1){return!g(t)||t.attributes.superior||t.req.level>Re||!o&&t.star>=t.maxStar?!1:t.star<dt}function V(t,o=!1,n=!1){if(!C(t,n))throw TypeError("\uB180\uB77C\uC6B4 \uC7A5\uBE44 \uAC15\uD654 \uC8FC\uBB38\uC11C\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.starScroll=!0,t.data.star=t.star+1;let a=O(ye,t),r=O(Me,t),i=d(t.type)||t.type===134;for(let l of J)Gt(t,l)>0&&(c(t)[l]+=a,o&&x(t.type)&&(c(t)[l]+=t.star>5?2:1));for(let l of Wt){let f=Gt(t,l);f>0&&(i&&(c(t)[l]+=Math.floor(f/50)+1),c(t)[l]+=r,o&&(i||t.type===109)&&(c(t)[l]+=1))}o&&b(t.type)&&(c(t).maxHp+=50);let s=Gt(t,"armor");s>0&&(c(t).armor+=Math.floor(s/20)+1)}function F(t){return!!g(t)}function ut(t){if(!F(t))throw TypeError("\uC2A4\uD0C0\uD3EC\uC2A4 \uAC15\uD654\uB97C \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.starforceOption={},t.data.star=void 0,t.data.starScroll=void 0}function ve(t){let o=O(Ge,t),n=O(He,t);for(let r of J)t.baseOption[r]>0&&(c(t)[r]+=o);for(let r of Wt)t.baseOption[r]>0&&(c(t)[r]+=n);let a=pt(t,"armor");c(t).armor+=Math.floor(a/20)+1}function Ce(t){let o=O(Nt,t),n=O(De,t),a=Bt(t);for(let s of J)(a.has(s)||t.star>15&&(t.baseOption[s]>0||t.upgradeOption[s]>0))&&(c(t)[s]+=o);let r=t.req.magician()||t.upgradeOption.magicPower>0;if(t.star>15)c(t).attackPower+=n,r&&(c(t).magicPower+=n);else{let s=pt(t,"attackPower");if(c(t).attackPower+=Math.floor(s/50)+1,r){let l=pt(t,"magicPower");c(t).magicPower+=Math.floor(l/50)+1}}let i=Vt[t.star];c(t).maxHp+=i,c(t).maxMp+=i}function Ee(t){let o=O(Nt,t),n=O(Ie,t),a=Bt(t);for(let r of J)(a.has(r)||t.star>15&&(t.baseOption[r]>0||t.upgradeOption[r]>0))&&(c(t)[r]+=o);if(c(t).attackPower+=n,c(t).magicPower+=n,t.type===108){let r=qe[t.star];t.req.beginner()?(c(t).attackPower+=r,c(t).magicPower+=r):t.req.magician()?c(t).magicPower+=r:c(t).attackPower+=r}if(t.type!==167){let r=pt(t,"armor");c(t).armor+=Math.floor(r/20)+1}if(Ue.includes(t.type)){let r=Vt[t.star];c(t).maxHp+=r}if(t.type===107){let r=Le[t.star];c(t).speed+=r,c(t).jump+=r}}function Bt(t){if(t.req.beginner())return new Set(J);let o=[];return t.req.warrior()&&o.push("str","dex"),t.req.magician()&&o.push("int","luk"),t.req.bowman()&&o.push("dex","str"),t.req.thief()&&o.push("luk","dex"),t.req.pirate()&&o.push("str","dex"),new Set(o)}function O(t,o){let n=o.req.level;for(let a=t.length-1;a>=0;a--){let r=t[a];if(n>=r[0])return r[o.star]}throw TypeError("\uC7A5\uBE44\uC758 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8\uC740 0 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.")}function c(t){return t.data.starforceOption===void 0&&(t.data.starforceOption={}),u(t.data.starforceOption)}function pt(t,o){return t.baseOption[o]+t.upgradeOption[o]+t.starforceOption[o]}function Gt(t,o){return t.baseOption[o]+t.addOption[o]+t.upgradeOption[o]+t.starforceOption[o]}var J=["str","dex","int","luk"],Wt=["attackPower","magicPower"],Ue=[100,104,105,106,110,111,112,113,115,109],Nt=[[0,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0],[108,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0],[118,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,0,0,0],[128,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,0,0,0],[138,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,9,9,9,9,9,9,9,0,0,0],[148,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,11,11,11,11,11,11,11,0,0,0],[158,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,13,13,13,13,13,13,13,0,0,0],[198,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,15,15,15,15,15,15,15,0,0,0],[248,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,17,17,17,17,17,17,17,0,0,0]],Ie=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,7,8,9,10,12,13,15,17],[118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,8,9,10,11,13,14,16,18],[128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,9,10,11,12,14,16,18,20],[138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,10,11,12,13,15,17,19,21],[148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,10,11,12,13,14,16,18,20,22],[158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,11,12,13,14,15,17,19,21,23],[198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,13,14,15,16,17,19,21,23,25],[248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15,16,17,18,19,21,23,25,27]],De=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,7,8,9,27,28,29],[118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,7,8,9,10,28,29,30],[128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,9,10,11,29,30,31],[138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,9,10,11,12,30,31,32],[148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,10,11,12,13,31,32,33],[158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,10,11,12,13,14,32,33,34],[198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,13,14,14,15,16,17,34,35,36],[248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,16,16,17,18,19,36,37,38]],He=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[110,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0],[150,0,0,0,0,0,9,10,11,12,13,15,17,19,21,23]],Ge=[[0,1,2,4,7,11,0,0,0,0,0,0,0,0,0,0],[80,2,3,5,8,12,0,0,0,0,0,0,0,0,0,0],[110,9,10,12,15,19,0,0,0,0,0,0,0,0,0,0],[150,19,20,22,25,29,0,0,0,0,0,0,0,0,0,0]],qe=[-1,0,0,0,0,1,0,1,0,1,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0],Vt=[-1,5,5,5,10,10,15,15,20,20,25,25,25,25,25,25,0,0,0,0,0,0,0,0,0,0],Le=[-1,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0],ye=[[0,1,2,4,7,11,0,0,0,0,0,0,0,0,0,0],[80,2,3,5,8,12,0,0,0,0,0,0,0,0,0,0],[85,3,4,6,9,13,0,0,0,0,0,0,0,0,0,0],[90,4,5,7,10,14,0,0,0,0,0,0,0,0,0,0],[95,5,6,8,11,15,0,0,0,0,0,0,0,0,0,0],[100,7,8,10,13,17,0,0,0,0,0,0,0,0,0,0],[105,8,9,11,14,18,0,0,0,0,0,0,0,0,0,0],[110,9,10,12,15,19,0,0,0,0,0,0,0,0,0,0],[115,10,11,13,16,20,0,0,0,0,0,0,0,0,0,0],[120,12,13,15,18,22,0,0,0,0,0,0,0,0,0,0],[125,13,14,16,19,23,0,0,0,0,0,0,0,0,0,0],[130,14,15,17,20,24,0,0,0,0,0,0,0,0,0,0],[135,15,16,18,21,25,0,0,0,0,0,0,0,0,0,0],[140,17,18,20,23,27,0,0,0,0,0,0,0,0,0,0],[145,18,19,21,24,28,0,0,0,0,0,0,0,0,0,0],[150,19,20,22,25,29,0,0,0,0,0,0,0,0,0,0]],Me=[[0,0,0,0,0,0,1,2,3,4,5,6,8,10,12,14],[80,0,0,0,0,0,2,3,4,5,6,7,9,11,13,15],[90,0,0,0,0,0,3,4,5,6,7,8,10,12,14,16],[100,0,0,0,0,0,4,5,6,7,8,9,11,13,15,17],[110,0,0,0,0,0,5,6,7,8,9,10,12,14,16,18],[120,0,0,0,0,0,6,7,8,9,10,11,13,15,17,19],[130,0,0,0,0,0,7,8,9,10,11,12,14,16,18,20],[140,0,0,0,0,0,8,9,10,11,12,13,15,17,19,21],[150,0,0,0,0,0,9,10,11,12,13,14,16,18,20,22]];function Ft(t){return St(t.attributes.canPotential,t)!==2}function ft(t){return St(t.attributes.canPotential,t)===1}function Jt(t,o,n){if(!ft(t))throw new TypeError("\uC7A0\uC7AC\uB2A5\uB825\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");if(o===0)throw new TypeError("\uC7A0\uC7AC\uB2A5\uB825 \uB4F1\uAE09\uC744 Normal\uB85C \uC124\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. (\uC7A0\uC7AC\uB2A5\uB825\uC744 \uCD08\uAE30\uD654\uD558\uB824\uBA74 resetPotential\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.)");if(n.length<1||n.length>3)throw new TypeError("\uC7A0\uC7AC\uC635\uC158 \uAC1C\uC218\uB294 1\uAC1C\uC5D0\uC11C 3\uAC1C \uC0AC\uC774\uC5EC\uC57C \uD569\uB2C8\uB2E4.");t.data.potentialGrade=o,t.data.potentials=n}function Xt(t){if(!ft(t))throw new TypeError("\uC7A0\uC7AC\uB2A5\uB825\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.potentialGrade=0,t.data.potentials=void 0}function $t(t){return St(t.attributes.canAdditionalPotential,t)!==2}function mt(t){return St(t.attributes.canAdditionalPotential,t)===1}function Kt(t,o,n){if(!mt(t))throw new TypeError("\uC5D0\uB514\uC154\uB110 \uC7A0\uC7AC\uB2A5\uB825\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");if(o===0)throw new TypeError("\uC5D0\uB514\uC154\uB110 \uC7A0\uC7AC\uB2A5\uB825 \uB4F1\uAE09\uC744 Normal\uB85C \uC124\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. (\uC5D0\uB514\uC154\uB110 \uC7A0\uC7AC\uB2A5\uB825\uC744 \uCD08\uAE30\uD654\uD558\uB824\uBA74 resetAdditionalPotential\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.)");if(n.length<1||n.length>3)throw new TypeError("\uC5D0\uB514\uC154\uB110 \uC7A0\uC7AC\uC635\uC158 \uAC1C\uC218\uB294 1\uAC1C\uC5D0\uC11C 3\uAC1C \uC0AC\uC774\uC5EC\uC57C \uD569\uB2C8\uB2E4.");t.data.additionalPotentialGrade=o,t.data.additionalPotentials=n}function Qt(t){if(!mt(t))throw new TypeError("\uC5D0\uB514\uC154\uB110 \uC7A0\uC7AC\uB2A5\uB825\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.additionalPotentialGrade=0,t.data.additionalPotentials=void 0}function St(t,o){return t!==0?t:je(o)}function je(t){return t.scrollTotalUpgradeableCount>0?T(t.type)||tt(t.type)?2:1:Be(t.type)||z(t.type)?1:2}function Be(t){switch(t){case 1098:case 1099:case 134:case 135200:case 135210:case 135240:case 135250:case 135260:case 135270:case 119:return!0;default:return!1}}var E=class{data;constructor(o){this.data=o}get only(){return this.data.only??!1}get trade(){return this.data.trade??0}set trade(o){this.data.trade=o}get onlyEquip(){return this.data.onlyEquip??!1}get share(){return this.data.share??0}get blockGoldenHammer(){return this.data.blockGoldenHammer??!1}get superior(){return this.data.superior??!1}get attackSpeed(){return this.data.attackSpeed}get cannotUpgrade(){return this.data.cannotUpgrade??!1}get canAddOption(){return this.data.canAddOption??0}get canPotential(){return this.data.canPotential??0}get canAdditionalPotential(){return this.data.canAdditionalPotential??0}get specialGrade(){return this.data.specialGrade??!1}get reqLevelIncrease(){return this.data.reqLevelIncrease??0}get cuttable(){return this.data.cuttable??0}get cuttableCount(){return this.data.cuttableCount}set cuttableCount(o){this.data.cuttableCount=o}get accountShareTag(){return this.data.accountShareTag??!1}get lucky(){return this.data.lucky??!1}get incline(){return{charisma:0,insight:0,will:0,craft:0,sense:0,charm:0,...this.data.incline}}set incline(o){this.data.incline=o}get bossReward(){return this.data.bossReward??!1}get growthExp(){return this.data.growthExp}set growthExp(o){(o===void 0||0<=o&&o<=100)&&(this.data.growthExp=o)}get growthLevel(){return this.data.growthLevel}set growthLevel(o){this.data.growthLevel=o}get dateExpire(){return this.data.dateExpire}set dateExpire(o){(o===void 0||!Number.isNaN(Date.parse(o)))&&(this.data.dateExpire=o)}};var U=class{data;constructor(o){this.data=o}get level(){return this.data.level??0}get str(){return this.data.str??0}get dex(){return this.data.dex??0}get int(){return this.data.int??0}get luk(){return this.data.luk??0}get job(){return this.data.job??0}get class(){return this.data.class??0}beginner(){return this.job===0}warrior(){return this.job===0||(this.job&1)!=0}magician(){return this.job===0||(this.job&2)!=0}bowman(){return this.job===0||(this.job&4)!=0}thief(){return this.job===0||(this.job&8)!=0}pirate(){return this.job===0||(this.job&16)!=0}};function X(t){return d(t.type)&&t.req.level>=30}function $(t){return X(t)&&!t.soulEnchanted}function ht(t){if(!$(t))throw TypeError("\uC18C\uC6B8\uC6E8\uD3F0\uC740 \uC911\uBCF5\uD574\uC11C \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");t.data.soulSlot={}}function K(t){return t.soulEnchanted}function bt(t,o){if(!K(t))throw TypeError("\uC18C\uC6B8\uC6E8\uD3F0 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC5D0\uB9CC \uC18C\uC6B8\uC744 \uC7A5\uCC29\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");t.data.soulSlot.soul=o,Yt(t)}function Q(t){return t.soulEnchanted}function xt(t,o){if(!Q(t))throw TypeError("\uC18C\uC6B8\uC6E8\uD3F0 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uB9CC \uC18C\uC6B8 \uCDA9\uC804\uB7C9\uC744 \uBCC0\uACBD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");if(o<0||o>1e3)throw TypeError("\uC18C\uC6B8 \uCDA9\uC804\uB7C9\uC740 0 \uC774\uC0C1 1000 \uC774\uD558\uC758 \uAC12\uC73C\uB85C\uB9CC \uBCC0\uACBD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");t.data.soulSlot.charge=o,Yt(t)}function Ot(t){t.data.soulSlot=void 0}function Yt(t){let o;if(t.soulCharge===0)o={};else{let n=t.baseOption.attackPower>=t.baseOption.magicPower?"attackPower":"magicPower",a=Math.min(5,Math.ceil(t.soulCharge/100)-1);t.soul?o={[n]:10+a*(t.soul.chargeFactor??1)}:o={[n]:5+a}}t.data.soulSlot.chargeOption=o}var wt=class{data;constructor(o){this.data=o}get meta(){return this.data.meta}get name(){return this.data.name}get icon(){return this.data.icon??""}get desc(){return this.data.desc}get shape(){return this.data.shape}set shape(o){this.data.shape=o}get shapeIcon(){return this.shape?.icon??this.icon}get type(){return this.data.type}get req(){return new U(this.data.req)}get attributes(){return new E(this.data.attributes)}get totalOption(){return u(Lt(this.baseOption,this.addOption,this.upgradeOption,this.starforceOption))}get baseOption(){return u(this.data.baseOption??{})}get addOption(){return u(this.data.addOption??{})}get upgradeOption(){return u(this.data.upgradeOption??{})}get starforceOption(){return u(this.data.starforceOption??{})}get scrollUpgradeCount(){return this.data.scrollUpgradeCount??0}get scrollResilienceCount(){return this.data.scrollResilienceCount??0}get scrollUpgradeableCount(){return this.data.scrollUpgradeableCount??0}get goldenHammer(){return this.data.goldenHammer??0}get scrollTotalUpgradeableCount(){return this.scrollUpgradeCount+this.scrollUpgradeableCount+this.scrollResilienceCount-this.goldenHammer}get star(){return this.data.star??0}get maxStar(){let o=this.data.maxStar??0;return Math.max(this.star,this.starScroll?Math.min(dt,o):o)}get starScroll(){return this.data.starScroll??!1}get soulEnchanted(){return this.data.soulSlot!==void 0}get soul(){if(this.data.soulSlot?.soul)return{...this.data.soulSlot.soul,option:u(this.data.soulSlot.soul.option)}}get soulCharge(){return this.data.soulSlot?.charge??0}get soulChargeOption(){return u(this.data.soulSlot?.chargeOption??{})}get potentialGrade(){return this.data.potentialGrade??0}get potentials(){return this.data.potentials?this.data.potentials.map(o=>({...o,option:u(o.option)})):[]}get additionalPotentialGrade(){return this.data.additionalPotentialGrade??0}get additionalPotentials(){return this.data.additionalPotentials?this.data.additionalPotentials.map(o=>({...o,option:u(o.option)})):[]}get exceptionalOption(){return u(this.data.exceptionalOption??{})}get exceptionalUpgradeCount(){return this.data.exceptionalUpgradeCount??0}get exceptionalUpgradeableCount(){return this.data.exceptionalUpgradeableCount??0}get exceptionalTotalUpgradeableCount(){return this.exceptionalUpgradeCount+this.exceptionalUpgradeableCount}get supportsAddOption(){return et(this)}applyAddOption(o,n){let a=ot(this,o,n);this.data.addOption||(this.data.addOption={}),w(this.data.addOption,a),this.meta.add.push([o,n])}resetAddOption(){this.data.addOption=void 0,this.meta.add=[]}get supportsUpgrade(){return S(this)}get canApplyGoldenHammer(){return L(this)}applyGoldenHammer(){rt(this)}get canApplyFailScroll(){return y(this)}applyScrollFail(){it(this)}get canApplyResileScroll(){return M(this)}applyScrollResile(){lt(this)}get canResetUpgrade(){return j(this)}resetUpgrade(){st(this)}get canApplyScroll(){return B(this)}applyScroll(o){R(this,o)}applySpellTrace(o,n){ct(this,o,n)}get supportsStarforce(){return g(this)}get canApplyStarforce(){return v(this)}applyStarforce(){N(this)}get canApplyStarforceIgnoringMaxStar(){return v(this,!0)}applyStarforceIgnoringMaxStar(){N(this,!0)}get canApplyStarScroll(){return C(this)}applyStarScroll(o=!1){V(this,o)}get canApplyStarScrollIgnoringMaxStar(){return C(this,!0)}applyStarScrollIgnoringMaxStar(o=!1){V(this,o,!0)}get canResetStarforce(){return F(this)}resetStarforce(){ut(this)}get supportsPotential(){return Ft(this)}get canSetPotential(){return ft(this)}setPotential(o,n){Jt(this,o,n)}resetPotential(){Xt(this)}get supportsAdditionalPotential(){return $t(this)}get canSetAdditionalPotential(){return mt(this)}setAdditionalPotential(o,n){Kt(this,o,n)}resetAdditionalPotential(){Qt(this)}get supportsSoul(){return X(this)}get canApplySoulEnchant(){return $(this)}applySoulEnchant(){ht(this)}get canSetSoul(){return K(this)}setSoul(o){bt(this,o)}get canSetSoulCharge(){return Q(this)}setSoulCharge(o){xt(this,o)}resetSoulEnchant(){Ot(this)}get supportsExceptional(){return k(this)}get canApplyExceptional(){return G(this)}applyExceptional(o){nt(this,o)}get canResetExceptional(){return q(this)}resetExceptional(){at(this)}};
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- var bt=(a=>(a[a.Tradeable=0]="Tradeable",a[a.TradeBlock=1]="TradeBlock",a[a.EquipTradeBlock=2]="EquipTradeBlock",a))(bt||{}),xt=(a=>(a[a.None=0]="None",a[a.AccountSharable=1]="AccountSharable",a[a.AccountSharableOnce=2]="AccountSharableOnce",a))(xt||{}),Ot=(a=>(a[a.None=0]="None",a[a.Can=1]="Can",a[a.Cannot=2]="Cannot",a))(Ot||{}),wt=(n=>(n[n.None=0]="None",n[n.Can=1]="Can",n[n.Cannot=2]="Cannot",n[n.Fixed=3]="Fixed",n))(wt||{}),gt=(a=>(a[a.None=0]="None",a[a.Silver=1]="Silver",a[a.Platinum=2]="Platinum",a))(gt||{});var A=(e=>(e[e.cap=100]="cap",e[e.faceAccessory=101]="faceAccessory",e[e.eyeAccessory=102]="eyeAccessory",e[e.earrings=103]="earrings",e[e.coat=104]="coat",e[e.longcoat=105]="longcoat",e[e.pants=106]="pants",e[e.shoes=107]="shoes",e[e.glove=108]="glove",e[e.cape=110]="cape",e[e.ring=111]="ring",e[e.pendant=112]="pendant",e[e.belt=113]="belt",e[e.medal=114]="medal",e[e.shoulder=115]="shoulder",e[e.pocket=116]="pocket",e[e.badge=118]="badge",e[e.android=166]="android",e[e.machineHeart=167]="machineHeart",e[e.shield=109]="shield",e[e.emblem=119]="emblem",e[e.powerSource=119020]="powerSource",e[e.shiningRod=1212]="shiningRod",e[e.tuner=1213]="tuner",e[e.breathShooter=1214]="breathShooter",e[e.soulShooter=122]="soulShooter",e[e.desperado=123]="desperado",e[e.energySword=124]="energySword",e[e.espLimiter=126]="espLimiter",e[e.chain=127]="chain",e[e.magicGauntlet=128]="magicGauntlet",e[e.ritualFan=129]="ritualFan",e[e.ohSword=130]="ohSword",e[e.ohAxe=131]="ohAxe",e[e.ohBlunt=132]="ohBlunt",e[e.dagger=133]="dagger",e[e.katara=134]="katara",e[e.cane=136]="cane",e[e.wand=137]="wand",e[e.staff=138]="staff",e[e.thSword=140]="thSword",e[e.chakram=1404]="chakram",e[e.thAxe=141]="thAxe",e[e.thBlunt=142]="thBlunt",e[e.spear=143]="spear",e[e.polearm=144]="polearm",e[e.bow=145]="bow",e[e.crossbow=146]="crossbow",e[e.claw=147]="claw",e[e.knuckle=148]="knuckle",e[e.gun=149]="gun",e[e.shovel=150]="shovel",e[e.pickaxe=151]="pickaxe",e[e.dualBowguns=152]="dualBowguns",e[e.handCannon=153]="handCannon",e[e.heavySword=156]="heavySword",e[e.longSword=157]="longSword",e[e.gauntletRevolver=158]="gauntletRevolver",e[e.ancientBow=159]="ancientBow",e[e.soulShield=1098]="soulShield",e[e.demonShield=1099]="demonShield",e[e.magicArrow=135200]="magicArrow",e[e.card=135210]="card",e[e.medallion=135220]="medallion",e[e.rosary=135221]="rosary",e[e.ironChain=135222]="ironChain",e[e.magicBook1=135223]="magicBook1",e[e.magicBook2=135224]="magicBook2",e[e.magicBook3=135225]="magicBook3",e[e.arrowFletching=135226]="arrowFletching",e[e.bowThimble=135227]="bowThimble",e[e.daggerScabbard=135228]="daggerScabbard",e[e.charm=135229]="charm",e[e.orb=135240]="orb",e[e.dragonEssence=135250]="dragonEssence",e[e.soulRing=135260]="soulRing",e[e.magnum=135270]="magnum",e[e.wristBand=135290]="wristBand",e[e.farSight=135291]="farSight",e[e.powderKeg=135292]="powderKeg",e[e.mass=135293]="mass",e[e.document=135294]="document",e[e.magicMarble=135295]="magicMarble",e[e.arrowhead=135296]="arrowhead",e[e.jewel=135297]="jewel",e[e.powderKeg2=135298]="powderKeg2",e[e.controller=135300]="controller",e[e.foxMarble=135310]="foxMarble",e[e.chessPiece=135320]="chessPiece",e[e.transmitter=135330]="transmitter",e[e.charge=135340]="charge",e[e.magicWing=135350]="magicWing",e[e.pathOfAbyss=135360]="pathOfAbyss",e[e.relic=135370]="relic",e[e.fanTassel=135380]="fanTassel",e[e.bracelet=135400]="bracelet",e[e.weaponBelt=135401]="weaponBelt",e[e.ornament=135402]="ornament",e[e.hexSeeker=135403]="hexSeeker",e[e.petEquip=180]="petEquip",e[e.machineEngine=161]="machineEngine",e[e.machineArms=162]="machineArms",e[e.machineLegs=163]="machineLegs",e[e.machineBody=164]="machineBody",e[e.machineTransistors=165]="machineTransistors",e[e.dragonMask=194]="dragonMask",e[e.dragonPendant=195]="dragonPendant",e[e.dragonWings=196]="dragonWings",e[e.dragonTail=197]="dragonTail",e))(A||{});var z=(i=>(i[i.Normal=0]="Normal",i[i.Rare=1]="Rare",i[i.Epic=2]="Epic",i[i.Unique=3]="Unique",i[i.Legendary=4]="Legendary",i))(z||{});function u(t){return At(t)||kt(t)}function At(t){return 121<=t&&t<=139&&t!==134||Math.floor(t/10)===121}function kt(t){return t>=140&&t<=149||t>=152&&t<=159||Math.floor(t/10)===140}function jt(t){if(q(t))return!0;switch(t){case 134:return!0;default:return Math.floor(t/1e3)===135}}function q(t){switch(t){case 109:case 1099:case 1098:return!0;default:return!1}}function b(t){return t===100||t>=104&&t<=110||t===1098||t===1099}function x(t){return t>=101&&t<=103||t>=111&&t<=113||t===115}function Bt(t){return t>=161&&t<=165}function Wt(t){return t>=194&&t<=197}var _t=(p=>(p.str="str",p.dex="dex",p.int="int",p.luk="luk",p.str_dex="str&dex",p.str_int="str&int",p.str_luk="str&luk",p.dex_int="dex&int",p.dex_luk="dex&luk",p.int_luk="int&luk",p.maxHp="maxHp",p.maxMp="maxMp",p.attackPower="attackPower",p.magicPower="magicPower",p.armor="armor",p.speed="speed",p.jump="jump",p.bossDamage="bossDamage",p.damage="damage",p.allStat="allStat",p.reqLevelDecrease="reqLevelDecrease",p))(_t||{});function y(t){return u(t)?!0:b(t)?!q(t):x(t)?![111,115].includes(t):t===116}function T(t,o,r){let a=yt(o),n=Rt(t,o,r),i=a.map(c=>[c,n]);return Object.fromEntries(i)}function Rt(t,o,r){let a={type:o,reqLevel:t.req.level,gearType:t.type,bossReward:t.attributes.bossReward,attackPower:t.baseOption.attackPower,magicPower:t.baseOption.magicPower};switch(o){case"str":case"dex":case"int":case"luk":return Pt(r,a);case"str&dex":case"str&int":case"str&luk":case"dex&int":case"dex&luk":case"int&luk":return Vt(r,a);case"armor":return Pt(r,a);case"attackPower":case"magicPower":return Ft(r,a);case"maxHp":case"maxMp":return Xt(r,a);case"speed":return $t(r,a);case"jump":return Kt(r,a);case"damage":return Qt(r,a);case"bossDamage":return Yt(r,a);case"allStat":return Zt(r,a);case"reqLevelDecrease":return zt(r,a)}}function Pt(t,{reqLevel:o}){return o>=250?Math.floor(o/20)*t:(Math.floor(o/20)+1)*t}function Vt(t,{reqLevel:o}){return(Math.floor(o/40)+1)*t}function Ft(t,o){let{reqLevel:r,gearType:a}=o;if(u(a))return Nt(t,o);if(r>=60)return t;throw TypeError("\uACF5\uACA9\uB825/\uB9C8\uB825 \uCD94\uAC00 \uC635\uC158\uC740 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8 60 \uC774\uC0C1\uC758 \uBB34\uAE30 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.")}function Nt(t,o){let{reqLevel:r,type:a,gearType:n,bossReward:i,attackPower:c,magicPower:l}=o,m=i?[0,0,1,1.4666,2.0166,2.663,3.4166]:[1,2.222,3.63,5.325,7.32,8.777,10.25];if(n===156||n===157){let f=Jt(n,o),P=r>180?6:r>160?5:r>110?4:3;return Math.ceil(f*m[t-1]*P/100)}else{let f=a==="magicPower"&&l>c?l:c;if(i){let P=r>160?6:r>150?5:r>110?4:3;return Math.ceil(f*m[t-1]*P*3/100)}else{let P=r>110?4:3;return Math.ceil(f*m[t-1]*P/100)}}}function Jt(t,{attackPower:o}){if(t===156)return o;let a=new Map([[100,102],[103,105],[105,107],[112,114],[117,121],[135,139],[169,173],[203,207],[293,297],[337,342]]).get(o);if(a===void 0)throw TypeError("\uACF5\uACA9\uB825/\uB9C8\uB825 \uCD94\uAC00 \uC635\uC158\uC744 \uBD80\uC5EC\uD560 \uC218 \uC5C6\uB294 \uD0DC\uB3C4 \uC7A5\uBE44\uC785\uB2C8\uB2E4. (Please submit issue with the gear info)");return a}function Xt(t,{reqLevel:o}){return o<10?3*t:o>=250?700*t:Math.floor(o/10)*30*t}function $t(t,{gearType:o}){if(u(o))throw TypeError("\uC774\uB3D9\uC18D\uB3C4 \uCD94\uAC00 \uC635\uC158\uC740 \uBB34\uAE30\uAC00 \uC544\uB2CC \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return t}function Kt(t,{gearType:o}){if(u(o))throw TypeError("\uC810\uD504\uB825 \uCD94\uAC00 \uC635\uC158\uC740 \uBB34\uAE30\uAC00 \uC544\uB2CC \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return t}function Qt(t,{gearType:o}){if(!u(o))throw TypeError("\uB370\uBBF8\uC9C0(%) \uCD94\uAC00 \uC635\uC158\uC740 \uBB34\uAE30 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return t}function Yt(t,{reqLevel:o,gearType:r}){if(o<90||!u(r))throw TypeError("\uBCF4\uC2A4 \uACF5\uACA9 \uC2DC \uB370\uBBF8\uC9C0 \uC99D\uAC00(%) \uCD94\uAC00 \uC635\uC158\uC740 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8 90 \uC774\uC0C1\uC758 \uBB34\uAE30 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return 2*t}function Zt(t,{reqLevel:o,gearType:r}){if(o<70&&!u(r))throw TypeError("\uC62C\uC2A4\uD0EF(%) \uCD94\uAC00 \uC635\uC158\uC740 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8 70 \uC774\uC0C1 \uB610\uB294 \uBB34\uAE30 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return t}function zt(t,{reqLevel:o}){if(o<=0)throw TypeError("\uCC29\uC6A9 \uB808\uBCA8 \uAC10\uC18C \uC635\uC158\uC740 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8 1 \uC774\uC0C1\uC758 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return Math.min(o,5*t)}function yt(t){return t.split("&")}function O(t,...o){let r=t;for(let a of o)for(let[n,i]of Object.entries(a))n in r?r[n]+=i:r[n]=i}function vt(...t){let o={};return O(o,...t),o}function R(t){return t.exceptionalTotalUpgradeableCount>0}function L(t){return R(t)&&t.exceptionalUpgradeableCount>0}function tt(t,o){if(!L(t))throw TypeError("\uC775\uC149\uC154\uB110 \uAC15\uD654\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.exceptionalOption===void 0&&(t.data.exceptionalOption={}),O(t.data.exceptionalOption,o.option),t.data.exceptionalUpgradeableCount=t.exceptionalUpgradeableCount-1,t.data.exceptionalUpgradeCount=t.exceptionalUpgradeCount+1}function M(t){return R(t)}function et(t){if(!M(t))throw TypeError("\uC8FC\uBB38\uC11C \uAC15\uD654\uB97C \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.exceptionalOption={},t.data.exceptionalUpgradeableCount=t.exceptionalTotalUpgradeableCount,t.data.exceptionalUpgradeCount=void 0}function S(t){return!t.attributes.cannotUpgrade&&t.scrollTotalUpgradeableCount>0}function G(t){return S(t)&&!t.attributes.blockGoldenHammer&&t.goldenHammer===0}function ot(t){if(!G(t))throw TypeError("\uD669\uAE08 \uB9DD\uCE58\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.goldenHammer=t.goldenHammer+1,t.data.scrollUpgradeableCount=t.scrollUpgradeableCount+1}function j(t){return S(t)&&t.scrollUpgradeableCount>0}function rt(t){if(!j(t))throw TypeError("\uC8FC\uBB38\uC11C \uC2E4\uD328\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.scrollUpgradeableCount=t.scrollUpgradeableCount-1,t.data.scrollResilienceCount=t.scrollResilienceCount+1}function B(t){return S(t)&&t.scrollResilienceCount>0}function at(t){if(!B(t))throw TypeError("\uC5C5\uADF8\uB808\uC774\uB4DC \uAC00\uB2A5 \uD69F\uC218\uB97C \uBCF5\uAD6C\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.scrollResilienceCount=t.scrollResilienceCount-1,t.data.scrollUpgradeableCount=t.scrollUpgradeableCount+1}function W(t){return S(t)}function nt(t){if(!W(t))throw TypeError("\uC8FC\uBB38\uC11C \uAC15\uD654\uB97C \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.upgradeOption={},t.data.scrollUpgradeableCount=t.scrollTotalUpgradeableCount,t.data.scrollUpgradeCount=void 0,t.data.scrollResilienceCount=void 0,t.data.goldenHammer=void 0}function V(t){return S(t)&&t.scrollUpgradeableCount>0}function v(t,o){if(!V(t))throw TypeError("\uC8FC\uBB38\uC11C\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.upgradeOption===void 0&&(t.data.upgradeOption={}),O(t.data.upgradeOption,o.option),t.data.scrollUpgradeableCount=t.scrollUpgradeableCount-1,t.data.scrollUpgradeCount=t.scrollUpgradeCount+1}var Ut=(c=>(c.str="str",c.dex="dex",c.int="int",c.luk="luk",c.maxHp="maxHp",c.allStat="allStat",c))(Ut||{});function lt(t,o,r){let a=It(t,o,r);v(t,a)}function It(t,o,r){if(u(t.type)||t.type===134)return Tt(t,o,r);if(t.type===108)return te(t,o,r);if(b(t.type)||t.type===115)return ee(t,o,r);if(x(t.type))return oe(t,o,r);if(t.type===167)return re(t,o,r);throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44 \uBD84\uB958\uC785\uB2C8\uB2E4.")}function Tt(t,o,r){if(o==="allStat")throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let a=C(t),[n,i]=ae[r][a];o==="maxHp"&&(i*=50);let c=ct(o),l,m;return i===0?(l=g(r,w(c)),m={[c]:n}):(l=g(r,w(c),w(o)),m={[c]:n,[o]:i}),{name:l,option:m,type:o,rate:r}}function te(t,o,r){let a=C(t),n=ie[r][a],i,c;if(n===0)i=g(r,"\uBC29\uC5B4\uB825"),c={armor:3};else{let l=ct(o);i=g(r,w(l)),c={[l]:n}}return{name:i,option:c,rate:r,type:o}}function ee(t,o,r){let a=C(t),[n,i,c]=ne[r][a],l={maxHp:i,armor:c};switch(o){case"str":case"dex":case"int":case"luk":l[o]=n;break;case"maxHp":l.maxHp+=n*50;break;case"allStat":{if(!(r in Ct))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let f=Ct[r][a];l.str=f,l.dex=f,l.int=f,l.luk=f;break}}return t.scrollUpgradeCount===3&&(t.req.beginner()?(l.attackPower=1,l.magicPower=1):t.req.magician()?l.magicPower=1:l.attackPower=1),{name:g(r,w(o)),option:l,type:o,rate:r}}function oe(t,o,r){if(!(r in it))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let a=C(t),n=it[r][a],i={};switch(o){case"str":case"dex":case"int":case"luk":i[o]=n;break;case"maxHp":i.maxHp=n*50;break;case"allStat":{if(!(r in Et))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let l=Et[r][a];i.str=l,i.dex=l,i.int=l,i.luk=l;break}}return{name:g(r,w(o)),option:i,type:o,rate:r}}function re(t,o,r){if(!(r in it))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let a=C(t),n=le[r][a],i=ct(o),c=g(r,w(i)),l={[i]:n};return{name:c,option:l,type:o,rate:r}}function g(t,o,r){return r?`${t.toString()}% ${o}(${r}) \uC8FC\uBB38\uC11C`:`${t.toString()}% ${o} \uC8FC\uBB38\uC11C`}function w(t){switch(t){case"str":return"\uD798";case"dex":return"\uBBFC\uCCA9";case"int":return"\uC9C0\uB825";case"luk":return"\uC6B4";case"maxHp":return"\uCCB4\uB825";case"allStat":return"\uC62C\uC2A4\uD0EF";case"attackPower":return"\uACF5\uACA9\uB825";case"magicPower":return"\uB9C8\uB825"}}function C(t){return t.req.level>110?2:t.req.level>70?1:0}function ct(t){return t==="int"?"magicPower":"attackPower"}var ae={100:[[1,0],[2,0],[3,1]],70:[[2,0],[3,1],[5,2]],30:[[3,1],[5,2],[7,3]],15:[[5,2],[7,3],[9,4]]},ne={100:[[1,5,1],[2,20,2],[3,30,3]],70:[[2,15,2],[3,40,4],[4,70,5]],30:[[3,30,4],[5,70,7],[7,120,10]],15:[[4,45,6],[7,110,10],[10,170,15]]},Ct={30:[1,2,3],15:[2,3,4]},ie={100:[0,1,1],70:[1,2,2],30:[2,3,3],15:[3,4,4]},it={100:[1,1,2],70:[2,2,3],30:[3,4,5]},Et={30:[1,2,3]},le={100:[1,2,3],70:[2,3,5],30:[3,5,7]};var Dt="__GearOption_s87Ns2aQ";function d(t){return Dt in t?t:new Proxy(t,{get(o,r){if(r===Dt)return!0;if(r in st)return o[r]??st[r]},set(o,r,a){return r in st?(o[r]=a,!0):!1},ownKeys(o){return Object.entries(o).filter(([,r])=>r!=0).map(([r])=>r)}})}var st={str:0,dex:0,int:0,luk:0,strRate:0,dexRate:0,intRate:0,lukRate:0,maxHp:0,maxMp:0,maxHpRate:0,maxMpRate:0,maxDemonForce:0,attackPower:0,magicPower:0,attackPowerRate:0,magicPowerRate:0,armor:0,armorRate:0,speed:0,jump:0,knockback:0,bossDamage:0,normalDamage:0,ignoreMonsterArmor:0,allStat:0,damage:0,reqLevelDecrease:0,criticalRate:0,criticalDamage:0,cooltimeReduce:0,strLv:0,dexLv:0,intLv:0,lukLv:0};var ce=25,N=15,se=15,pe=150;function k(t){return(t.data.maxStar??0)>0}function E(t,o=!1){if(!k(t))return!1;if(t.attributes.superior)return t.star<Math.min(se,t.maxStar);if(!o&&t.star>=t.maxStar)return!1;let r=t.starScroll?N:ce;return t.star<r}function J(t,o=!1){if(!E(t,o))throw TypeError("\uC2A4\uD0C0\uD3EC\uC2A4 \uAC15\uD654\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.star=t.star+1,t.attributes.superior?ue(t):u(t.type)||t.type===134?de(t):me(t)}function U(t,o=!1){return!k(t)||t.attributes.superior||t.req.level>pe||!o&&t.star>=t.maxStar?!1:t.star<N}function X(t,o=!1,r=!1){if(!U(t,r))throw TypeError("\uB180\uB77C\uC6B4 \uC7A5\uBE44 \uAC15\uD654 \uC8FC\uBB38\uC11C\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.starScroll=!0,t.data.star=t.star+1;let a=h(ge,t),n=h(Ae,t),i=u(t.type)||t.type===134;for(let l of I)pt(t,l)>0&&(s(t)[l]+=a,o&&x(t.type)&&(s(t)[l]+=t.star>5?2:1));for(let l of qt){let m=pt(t,l);m>0&&(i&&(s(t)[l]+=Math.floor(m/50)+1),s(t)[l]+=n,o&&(i||t.type===109)&&(s(t)[l]+=1))}o&&b(t.type)&&(s(t).maxHp+=50);let c=pt(t,"armor");c>0&&(s(t).armor+=Math.floor(c/20)+1)}function $(t){return!!k(t)}function ut(t){if(!$(t))throw TypeError("\uC2A4\uD0C0\uD3EC\uC2A4 \uAC15\uD654\uB97C \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.starforceOption={},t.data.star=void 0,t.data.starScroll=void 0}function ue(t){let o=h(xe,t),r=h(be,t);for(let n of I)t.baseOption[n]>0&&(s(t)[n]+=o);for(let n of qt)t.baseOption[n]>0&&(s(t)[n]+=r);let a=F(t,"armor");s(t).armor+=Math.floor(a/20)+1}function de(t){let o=h(Lt,t),r=h(he,t),a=Ht(t);for(let c of I)(a.has(c)||t.star>15&&(t.baseOption[c]>0||t.upgradeOption[c]>0))&&(s(t)[c]+=o);let n=t.req.magician()||t.upgradeOption.magicPower>0;if(t.star>15)s(t).attackPower+=r,n&&(s(t).magicPower+=r);else{let c=F(t,"attackPower");if(s(t).attackPower+=Math.floor(c/50)+1,n){let l=F(t,"magicPower");s(t).magicPower+=Math.floor(l/50)+1}}let i=Mt[t.star];s(t).maxHp+=i,s(t).maxMp+=i}function me(t){let o=h(Lt,t),r=h(Se,t),a=Ht(t);for(let n of I)(a.has(n)||t.star>15&&(t.baseOption[n]>0||t.upgradeOption[n]>0))&&(s(t)[n]+=o);if(s(t).attackPower+=r,s(t).magicPower+=r,t.type===108){let n=Oe[t.star];t.req.beginner()?(s(t).attackPower+=n,s(t).magicPower+=n):t.req.magician()?s(t).magicPower+=n:s(t).attackPower+=n}if(t.type!==167){let n=F(t,"armor");s(t).armor+=Math.floor(n/20)+1}if(fe.includes(t.type)){let n=Mt[t.star];s(t).maxHp+=n}if(t.type===107){let n=we[t.star];s(t).speed+=n,s(t).jump+=n}}function Ht(t){if(t.req.beginner())return new Set(I);let o=[];return t.req.warrior()&&o.push("str","dex"),t.req.magician()&&o.push("int","luk"),t.req.bowman()&&o.push("dex","str"),t.req.thief()&&o.push("luk","dex"),t.req.pirate()&&o.push("str","dex"),new Set(o)}function h(t,o){let r=o.req.level;for(let a=t.length-1;a>=0;a--){let n=t[a];if(r>=n[0])return n[o.star]}throw TypeError("\uC7A5\uBE44\uC758 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8\uC740 0 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.")}function s(t){return t.data.starforceOption===void 0&&(t.data.starforceOption={}),d(t.data.starforceOption)}function F(t,o){return t.baseOption[o]+t.upgradeOption[o]+t.starforceOption[o]}function pt(t,o){return t.baseOption[o]+t.addOption[o]+t.upgradeOption[o]+t.starforceOption[o]}var I=["str","dex","int","luk"],qt=["attackPower","magicPower"],fe=[100,104,105,106,110,111,112,113,115,109],Lt=[[0,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0],[108,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0],[118,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,0,0,0],[128,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,0,0,0],[138,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,9,9,9,9,9,9,9,0,0,0],[148,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,11,11,11,11,11,11,11,0,0,0],[158,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,13,13,13,13,13,13,13,0,0,0],[198,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,15,15,15,15,15,15,15,0,0,0],[248,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,17,17,17,17,17,17,17,0,0,0]],Se=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,7,8,9,10,12,13,15,17],[118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,8,9,10,11,13,14,16,18],[128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,9,10,11,12,14,16,18,20],[138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,10,11,12,13,15,17,19,21],[148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,10,11,12,13,14,16,18,20,22],[158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,11,12,13,14,15,17,19,21,23],[198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,13,14,15,16,17,19,21,23,25],[248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15,16,17,18,19,21,23,25,27]],he=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,7,8,9,27,28,29],[118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,7,8,9,10,28,29,30],[128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,9,10,11,29,30,31],[138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,9,10,11,12,30,31,32],[148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,10,11,12,13,31,32,33],[158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,10,11,12,13,14,32,33,34],[198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,13,14,14,15,16,17,34,35,36],[248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,16,16,17,18,19,36,37,38]],be=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[110,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0],[150,0,0,0,0,0,9,10,11,12,13,15,17,19,21,23]],xe=[[0,1,2,4,7,11,0,0,0,0,0,0,0,0,0,0],[80,2,3,5,8,12,0,0,0,0,0,0,0,0,0,0],[110,9,10,12,15,19,0,0,0,0,0,0,0,0,0,0],[150,19,20,22,25,29,0,0,0,0,0,0,0,0,0,0]],Oe=[-1,0,0,0,0,1,0,1,0,1,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0],Mt=[-1,5,5,5,10,10,15,15,20,20,25,25,25,25,25,25,0,0,0,0,0,0,0,0,0,0],we=[-1,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0],ge=[[0,1,2,4,7,11,0,0,0,0,0,0,0,0,0,0],[80,2,3,5,8,12,0,0,0,0,0,0,0,0,0,0],[85,3,4,6,9,13,0,0,0,0,0,0,0,0,0,0],[90,4,5,7,10,14,0,0,0,0,0,0,0,0,0,0],[95,5,6,8,11,15,0,0,0,0,0,0,0,0,0,0],[100,7,8,10,13,17,0,0,0,0,0,0,0,0,0,0],[105,8,9,11,14,18,0,0,0,0,0,0,0,0,0,0],[110,9,10,12,15,19,0,0,0,0,0,0,0,0,0,0],[115,10,11,13,16,20,0,0,0,0,0,0,0,0,0,0],[120,12,13,15,18,22,0,0,0,0,0,0,0,0,0,0],[125,13,14,16,19,23,0,0,0,0,0,0,0,0,0,0],[130,14,15,17,20,24,0,0,0,0,0,0,0,0,0,0],[135,15,16,18,21,25,0,0,0,0,0,0,0,0,0,0],[140,17,18,20,23,27,0,0,0,0,0,0,0,0,0,0],[145,18,19,21,24,28,0,0,0,0,0,0,0,0,0,0],[150,19,20,22,25,29,0,0,0,0,0,0,0,0,0,0]],Ae=[[0,0,0,0,0,0,1,2,3,4,5,6,8,10,12,14],[80,0,0,0,0,0,2,3,4,5,6,7,9,11,13,15],[90,0,0,0,0,0,3,4,5,6,7,8,10,12,14,16],[100,0,0,0,0,0,4,5,6,7,8,9,11,13,15,17],[110,0,0,0,0,0,5,6,7,8,9,10,12,14,16,18],[120,0,0,0,0,0,6,7,8,9,10,11,13,15,17,19],[130,0,0,0,0,0,7,8,9,10,11,12,14,16,18,20],[140,0,0,0,0,0,8,9,10,11,12,13,15,17,19,21],[150,0,0,0,0,0,9,10,11,12,13,14,16,18,20,22]];var D=class{data;constructor(o){this.data=o}get only(){return this.data.only??!1}get trade(){return this.data.trade??0}set trade(o){this.data.trade=o}get onlyEquip(){return this.data.onlyEquip??!1}get share(){return this.data.share??0}get blockGoldenHammer(){return this.data.blockGoldenHammer??!1}get superior(){return this.data.superior??!1}get attackSpeed(){return this.data.attackSpeed}get cannotUpgrade(){return this.data.cannotUpgrade??!1}get canAddOption(){return this.data.canAddOption??0}get canPotential(){return this.data.canPotential??0}get canAdditionalPotential(){return this.data.canAdditionalPotential??0}get specialGrade(){return this.data.specialGrade??!1}get reqLevelIncrease(){return this.data.reqLevelIncrease??0}get cuttable(){return this.data.cuttable??0}get cuttableCount(){return this.data.cuttableCount}set cuttableCount(o){this.data.cuttableCount=o}get accountShareTag(){return this.data.accountShareTag??!1}get lucky(){return this.data.lucky??!1}get incline(){return{charisma:0,insight:0,will:0,craft:0,sense:0,charm:0,...this.data.incline}}set incline(o){this.data.incline=o}get bossReward(){return this.data.bossReward??!1}get growthExp(){return this.data.growthExp}set growthExp(o){(o===void 0||0<=o&&o<=100)&&(this.data.growthExp=o)}get growthLevel(){return this.data.growthLevel}set growthLevel(o){this.data.growthLevel=o}get dateExpire(){return this.data.dateExpire}set dateExpire(o){(o===void 0||!Number.isNaN(Date.parse(o)))&&(this.data.dateExpire=o)}};var H=class{data;constructor(o){this.data=o}get level(){return this.data.level??0}get str(){return this.data.str??0}get dex(){return this.data.dex??0}get int(){return this.data.int??0}get luk(){return this.data.luk??0}get job(){return this.data.job??0}get class(){return this.data.class??0}beginner(){return this.job===0}warrior(){return this.job===0||(this.job&1)!=0}magician(){return this.job===0||(this.job&2)!=0}bowman(){return this.job===0||(this.job&4)!=0}thief(){return this.job===0||(this.job&8)!=0}pirate(){return this.job===0||(this.job&16)!=0}};function K(t){return u(t.type)&&t.req.level>=30}function Q(t){return K(t)&&!t.soulEnchanted}function dt(t){if(!Q(t))throw TypeError("\uC18C\uC6B8\uC6E8\uD3F0\uC740 \uC911\uBCF5\uD574\uC11C \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");t.data.soulSlot={}}function Y(t){return t.soulEnchanted}function mt(t,o){if(!Y(t))throw TypeError("\uC18C\uC6B8\uC6E8\uD3F0 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC5D0\uB9CC \uC18C\uC6B8\uC744 \uC7A5\uCC29\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");t.data.soulSlot.soul=o,Gt(t)}function Z(t){return t.soulEnchanted}function ft(t,o){if(!Z(t))throw TypeError("\uC18C\uC6B8\uC6E8\uD3F0 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uB9CC \uC18C\uC6B8 \uCDA9\uC804\uB7C9\uC744 \uBCC0\uACBD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");if(o<0||o>1e3)throw TypeError("\uC18C\uC6B8 \uCDA9\uC804\uB7C9\uC740 0 \uC774\uC0C1 1000 \uC774\uD558\uC758 \uAC12\uC73C\uB85C\uB9CC \uBCC0\uACBD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");t.data.soulSlot.charge=o,Gt(t)}function St(t){t.data.soulSlot=void 0}function Gt(t){let o;if(t.soulCharge===0)o={};else{let r=t.baseOption.attackPower>=t.baseOption.magicPower?"attackPower":"magicPower",a=Math.min(5,Math.ceil(t.soulCharge/100)-1);t.soul?o={[r]:10+a*(t.soul.chargeFactor??1)}:o={[r]:5+a}}t.data.soulSlot.chargeOption=o}var ht=class{data;constructor(o){this.data=o}get meta(){return this.data.meta}get name(){return this.data.name}get icon(){return this.data.icon??""}get desc(){return this.data.desc}get shape(){return this.data.shape}set shape(o){this.data.shape=o}get shapeIcon(){return this.shape?.icon??this.icon}get type(){return this.data.type}get req(){return new H(this.data.req)}get attributes(){return new D(this.data.attributes)}get totalOption(){return d(vt(this.baseOption,this.addOption,this.upgradeOption,this.starforceOption))}get baseOption(){return d(this.data.baseOption??{})}get addOption(){return d(this.data.addOption??{})}get upgradeOption(){return d(this.data.upgradeOption??{})}get starforceOption(){return d(this.data.starforceOption??{})}get scrollUpgradeCount(){return this.data.scrollUpgradeCount??0}get scrollResilienceCount(){return this.data.scrollResilienceCount??0}get scrollUpgradeableCount(){return this.data.scrollUpgradeableCount??0}get goldenHammer(){return this.data.goldenHammer??0}get scrollTotalUpgradeableCount(){return this.scrollUpgradeCount+this.scrollUpgradeableCount+this.scrollResilienceCount-this.goldenHammer}get star(){return this.data.star??0}get maxStar(){let o=this.data.maxStar??0;return Math.max(this.star,this.starScroll?Math.min(N,o):o)}get starScroll(){return this.data.starScroll??!1}get soulEnchanted(){return this.data.soulSlot!==void 0}get soul(){if(this.data.soulSlot?.soul)return{...this.data.soulSlot.soul,option:d(this.data.soulSlot.soul.option)}}get soulCharge(){return this.data.soulSlot?.charge??0}get soulChargeOption(){return d(this.data.soulSlot?.chargeOption??{})}get potentialGrade(){return this.data.potentialGrade??0}set potentialGrade(o){this.data.potentialGrade=o}get potentials(){return this.data.potentials===void 0&&(this.data.potentials=[]),this.data.potentials}set potentials(o){this.data.potentials=[...o]}get additionalPotentialGrade(){return this.data.additionalPotentialGrade??0}set additionalPotentialGrade(o){this.data.additionalPotentialGrade=o}get additionalPotentials(){return this.data.additionalPotentials===void 0&&(this.data.additionalPotentials=[]),this.data.additionalPotentials}set additionalPotentials(o){this.data.additionalPotentials=o}get exceptionalOption(){return d(this.data.exceptionalOption??{})}get exceptionalUpgradeCount(){return this.data.exceptionalUpgradeCount??0}get exceptionalUpgradeableCount(){return this.data.exceptionalUpgradeableCount??0}get exceptionalTotalUpgradeableCount(){return this.exceptionalUpgradeCount+this.exceptionalUpgradeableCount}get supportsAddOption(){return y(this.type)}applyAddOption(o,r){let a=T(this,o,r);this.data.addOption||(this.data.addOption={}),O(this.data.addOption,a),this.meta.add.push([o,r])}resetAddOption(){this.data.addOption=void 0,this.meta.add=[]}get supportsUpgrade(){return S(this)}get canApplyGoldenHammer(){return G(this)}applyGoldenHammer(){ot(this)}get canApplyFailScroll(){return j(this)}applyScrollFail(){rt(this)}get canApplyResileScroll(){return B(this)}applyScrollResile(){at(this)}get canResetUpgrade(){return W(this)}resetUpgrade(){nt(this)}get canApplyScroll(){return V(this)}applyScroll(o){v(this,o)}applySpellTrace(o,r){lt(this,o,r)}get supportsStarforce(){return k(this)}get canApplyStarforce(){return E(this)}applyStarforce(){J(this)}get canApplyStarforceIgnoringMaxStar(){return E(this,!0)}applyStarforceIgnoringMaxStar(){J(this,!0)}get canApplyStarScroll(){return U(this)}applyStarScroll(o=!1){X(this,o)}get canApplyStarScrollIgnoringMaxStar(){return U(this,!0)}applyStarScrollIgnoringMaxStar(o=!1){X(this,o,!0)}get canResetStarforce(){return $(this)}resetStarforce(){ut(this)}get supportsSoul(){return K(this)}get canApplySoulEnchant(){return Q(this)}applySoulEnchant(){dt(this)}get canSetSoul(){return Y(this)}setSoul(o){mt(this,o)}get canSetSoulCharge(){return Z(this)}setSoulCharge(o){ft(this,o)}resetSoulEnchant(){St(this)}get supportsExceptional(){return R(this)}get canApplyExceptional(){return L(this)}applyExceptional(o){tt(this,o)}get canResetExceptional(){return M(this)}resetExceptional(){et(this)}};export{Ot as AddOptionCan,_t as AddOptionType,ht as Gear,D as GearAttribute,gt as GearCuttable,H as GearReq,xt as GearShare,bt as GearTrade,A as GearType,wt as PotentialCan,z as PotentialGrade,Ut as SpellTraceType,tt as applyExceptional,ot as applyGoldenHammer,v as applyScroll,dt as applySoulEnchant,lt as applySpellTrace,L as canApplyExceptional,V as canApplyScroll,Q as canApplySoulEnchant,j as canFailScroll,G as canGoldenHammer,M as canResetExceptional,$ as canResetStarforce,W as canResetUpgrade,B as canResileScroll,Y as canSetSoul,Z as canSetSoulCharge,U as canStarScroll,E as canStarforce,rt as failScroll,T as getAddOption,Rt as getAddOptionValue,It as getSpellTraceScroll,x as isAccessory,b as isArmor,kt as isDoubleHandWeapon,Wt as isDragonGear,At as isLeftWeapon,Bt as isMechanicGear,q as isShield,jt as isSubWeapon,u as isWeapon,et as resetExceptional,St as resetSoulEnchant,ut as resetStarforce,nt as resetUpgrade,at as resileScroll,mt as setSoul,ft as setSoulCharge,X as starScroll,J as starforce,y as supportsAddOption,R as supportsExceptional,K as supportsSoul,k as supportsStarforce,S as supportsUpgrade,d as toGearOption};
1
+ var kt=(a=>(a[a.Tradeable=0]="Tradeable",a[a.TradeBlock=1]="TradeBlock",a[a.EquipTradeBlock=2]="EquipTradeBlock",a))(kt||{}),Rt=(a=>(a[a.None=0]="None",a[a.AccountSharable=1]="AccountSharable",a[a.AccountSharableOnce=2]="AccountSharableOnce",a))(Rt||{}),et=(a=>(a[a.None=0]="None",a[a.Can=1]="Can",a[a.Cannot=2]="Cannot",a))(et||{}),ot=(r=>(r[r.None=0]="None",r[r.Can=1]="Can",r[r.Cannot=2]="Cannot",r[r.Fixed=3]="Fixed",r))(ot||{}),vt=(a=>(a[a.None=0]="None",a[a.Silver=1]="Silver",a[a.Platinum=2]="Platinum",a))(vt||{});var b=(e=>(e[e.cap=100]="cap",e[e.faceAccessory=101]="faceAccessory",e[e.eyeAccessory=102]="eyeAccessory",e[e.earrings=103]="earrings",e[e.coat=104]="coat",e[e.longcoat=105]="longcoat",e[e.pants=106]="pants",e[e.shoes=107]="shoes",e[e.glove=108]="glove",e[e.cape=110]="cape",e[e.ring=111]="ring",e[e.pendant=112]="pendant",e[e.belt=113]="belt",e[e.medal=114]="medal",e[e.shoulder=115]="shoulder",e[e.pocket=116]="pocket",e[e.badge=118]="badge",e[e.android=166]="android",e[e.machineHeart=167]="machineHeart",e[e.shield=109]="shield",e[e.emblem=119]="emblem",e[e.powerSource=119020]="powerSource",e[e.shiningRod=1212]="shiningRod",e[e.tuner=1213]="tuner",e[e.breathShooter=1214]="breathShooter",e[e.soulShooter=122]="soulShooter",e[e.desperado=123]="desperado",e[e.energySword=124]="energySword",e[e.espLimiter=126]="espLimiter",e[e.chain=127]="chain",e[e.magicGauntlet=128]="magicGauntlet",e[e.ritualFan=129]="ritualFan",e[e.ohSword=130]="ohSword",e[e.ohAxe=131]="ohAxe",e[e.ohBlunt=132]="ohBlunt",e[e.dagger=133]="dagger",e[e.katara=134]="katara",e[e.cane=136]="cane",e[e.wand=137]="wand",e[e.staff=138]="staff",e[e.thSword=140]="thSword",e[e.chakram=1404]="chakram",e[e.thAxe=141]="thAxe",e[e.thBlunt=142]="thBlunt",e[e.spear=143]="spear",e[e.polearm=144]="polearm",e[e.bow=145]="bow",e[e.crossbow=146]="crossbow",e[e.claw=147]="claw",e[e.knuckle=148]="knuckle",e[e.gun=149]="gun",e[e.shovel=150]="shovel",e[e.pickaxe=151]="pickaxe",e[e.dualBowguns=152]="dualBowguns",e[e.handCannon=153]="handCannon",e[e.heavySword=156]="heavySword",e[e.longSword=157]="longSword",e[e.gauntletRevolver=158]="gauntletRevolver",e[e.ancientBow=159]="ancientBow",e[e.soulShield=1098]="soulShield",e[e.demonShield=1099]="demonShield",e[e.magicArrow=135200]="magicArrow",e[e.card=135210]="card",e[e.medallion=135220]="medallion",e[e.rosary=135221]="rosary",e[e.ironChain=135222]="ironChain",e[e.magicBook1=135223]="magicBook1",e[e.magicBook2=135224]="magicBook2",e[e.magicBook3=135225]="magicBook3",e[e.arrowFletching=135226]="arrowFletching",e[e.bowThimble=135227]="bowThimble",e[e.daggerScabbard=135228]="daggerScabbard",e[e.charm=135229]="charm",e[e.orb=135240]="orb",e[e.dragonEssence=135250]="dragonEssence",e[e.soulRing=135260]="soulRing",e[e.magnum=135270]="magnum",e[e.wristBand=135290]="wristBand",e[e.farSight=135291]="farSight",e[e.powderKeg=135292]="powderKeg",e[e.mass=135293]="mass",e[e.document=135294]="document",e[e.magicMarble=135295]="magicMarble",e[e.arrowhead=135296]="arrowhead",e[e.jewel=135297]="jewel",e[e.powderKeg2=135298]="powderKeg2",e[e.controller=135300]="controller",e[e.foxMarble=135310]="foxMarble",e[e.chessPiece=135320]="chessPiece",e[e.transmitter=135330]="transmitter",e[e.charge=135340]="charge",e[e.magicWing=135350]="magicWing",e[e.pathOfAbyss=135360]="pathOfAbyss",e[e.relic=135370]="relic",e[e.fanTassel=135380]="fanTassel",e[e.bracelet=135400]="bracelet",e[e.weaponBelt=135401]="weaponBelt",e[e.ornament=135402]="ornament",e[e.hexSeeker=135403]="hexSeeker",e[e.petEquip=180]="petEquip",e[e.machineEngine=161]="machineEngine",e[e.machineArms=162]="machineArms",e[e.machineLegs=163]="machineLegs",e[e.machineBody=164]="machineBody",e[e.machineTransistors=165]="machineTransistors",e[e.dragonMask=194]="dragonMask",e[e.dragonPendant=195]="dragonPendant",e[e.dragonWings=196]="dragonWings",e[e.dragonTail=197]="dragonTail",e))(b||{});var G=(i=>(i[i.Normal=0]="Normal",i[i.Rare=1]="Rare",i[i.Epic=2]="Epic",i[i.Unique=3]="Unique",i[i.Legendary=4]="Legendary",i))(G||{});function d(t){return Ct(t)||Et(t)}function Ct(t){return 121<=t&&t<=139&&t!==134||Math.floor(t/10)===121}function Et(t){return t>=140&&t<=149||t>=152&&t<=159||Math.floor(t/10)===140}function nt(t){if(q(t))return!0;switch(t){case 134:return!0;default:return Math.floor(t/1e3)===135}}function q(t){switch(t){case 109:case 1099:case 1098:return!0;default:return!1}}function x(t){return t===100||t>=104&&t<=110||t===1098||t===1099}function O(t){return t>=101&&t<=103||t>=111&&t<=113||t===115}function at(t){return t>=161&&t<=165}function rt(t){return t>=194&&t<=197}var It=(p=>(p.str="str",p.dex="dex",p.int="int",p.luk="luk",p.str_dex="str&dex",p.str_int="str&int",p.str_luk="str&luk",p.dex_int="dex&int",p.dex_luk="dex&luk",p.int_luk="int&luk",p.maxHp="maxHp",p.maxMp="maxMp",p.attackPower="attackPower",p.magicPower="magicPower",p.armor="armor",p.speed="speed",p.jump="jump",p.bossDamage="bossDamage",p.damage="damage",p.allStat="allStat",p.reqLevelDecrease="reqLevelDecrease",p))(It||{});function it(t){return t.attributes.canAddOption===1?!0:t.attributes.canAddOption===2?!1:d(t.type)?!0:x(t.type)?!q(t.type):O(t.type)?![111,115].includes(t.type):t.type===116}function lt(t,o,n){let a=le(o),r=Dt(t,o,n),i=a.map(s=>[s,r]);return Object.fromEntries(i)}function Dt(t,o,n){let a={type:o,reqLevel:t.req.level,gearType:t.type,bossReward:t.attributes.bossReward,attackPower:t.baseOption.attackPower,magicPower:t.baseOption.magicPower};switch(o){case"str":case"dex":case"int":case"luk":return Ut(n,a);case"str&dex":case"str&int":case"str&luk":case"dex&int":case"dex&luk":case"int&luk":return Yt(n,a);case"armor":return Ut(n,a);case"attackPower":case"magicPower":return Zt(n,a);case"maxHp":case"maxMp":return te(n,a);case"speed":return ee(n,a);case"jump":return oe(n,a);case"damage":return ne(n,a);case"bossDamage":return ae(n,a);case"allStat":return re(n,a);case"reqLevelDecrease":return ie(n,a)}}function Ut(t,{reqLevel:o}){return o>=250?Math.floor(o/20)*t:(Math.floor(o/20)+1)*t}function Yt(t,{reqLevel:o}){return(Math.floor(o/40)+1)*t}function Zt(t,o){let{reqLevel:n,gearType:a}=o;if(d(a))return zt(t,o);if(n>=60)return t;throw TypeError("\uACF5\uACA9\uB825/\uB9C8\uB825 \uCD94\uAC00 \uC635\uC158\uC740 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8 60 \uC774\uC0C1\uC758 \uBB34\uAE30 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.")}function zt(t,o){let{reqLevel:n,type:a,gearType:r,bossReward:i,attackPower:s,magicPower:l}=o,f=i?[0,0,1,1.4666,2.0166,2.663,3.4166]:[1,2.222,3.63,5.325,7.32,8.777,10.25];if(r===156||r===157){let m=Tt(r,o),k=n>180?6:n>160?5:n>110?4:3;return Math.ceil(m*f[t-1]*k/100)}else{let m=a==="magicPower"&&l>s?l:s;if(i){let k=n>160?6:n>150?5:n>110?4:3;return Math.ceil(m*f[t-1]*k*3/100)}else{let k=n>110?4:3;return Math.ceil(m*f[t-1]*k/100)}}}function Tt(t,{attackPower:o}){if(t===156)return o;let a=new Map([[100,102],[103,105],[105,107],[112,114],[117,121],[135,139],[169,173],[203,207],[293,297],[337,342]]).get(o);if(a===void 0)throw TypeError("\uACF5\uACA9\uB825/\uB9C8\uB825 \uCD94\uAC00 \uC635\uC158\uC744 \uBD80\uC5EC\uD560 \uC218 \uC5C6\uB294 \uD0DC\uB3C4 \uC7A5\uBE44\uC785\uB2C8\uB2E4. (Please submit issue with the gear info)");return a}function te(t,{reqLevel:o}){return o<10?3*t:o>=250?700*t:Math.floor(o/10)*30*t}function ee(t,{gearType:o}){if(d(o))throw TypeError("\uC774\uB3D9\uC18D\uB3C4 \uCD94\uAC00 \uC635\uC158\uC740 \uBB34\uAE30\uAC00 \uC544\uB2CC \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return t}function oe(t,{gearType:o}){if(d(o))throw TypeError("\uC810\uD504\uB825 \uCD94\uAC00 \uC635\uC158\uC740 \uBB34\uAE30\uAC00 \uC544\uB2CC \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return t}function ne(t,{gearType:o}){if(!d(o))throw TypeError("\uB370\uBBF8\uC9C0(%) \uCD94\uAC00 \uC635\uC158\uC740 \uBB34\uAE30 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return t}function ae(t,{reqLevel:o,gearType:n}){if(o<90||!d(n))throw TypeError("\uBCF4\uC2A4 \uACF5\uACA9 \uC2DC \uB370\uBBF8\uC9C0 \uC99D\uAC00(%) \uCD94\uAC00 \uC635\uC158\uC740 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8 90 \uC774\uC0C1\uC758 \uBB34\uAE30 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return 2*t}function re(t,{reqLevel:o,gearType:n}){if(o<70&&!d(n))throw TypeError("\uC62C\uC2A4\uD0EF(%) \uCD94\uAC00 \uC635\uC158\uC740 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8 70 \uC774\uC0C1 \uB610\uB294 \uBB34\uAE30 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return t}function ie(t,{reqLevel:o}){if(o<=0)throw TypeError("\uCC29\uC6A9 \uB808\uBCA8 \uAC10\uC18C \uC635\uC158\uC740 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8 1 \uC774\uC0C1\uC758 \uC7A5\uBE44\uC5D0\uB9CC \uBD80\uC5EC\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");return Math.min(o,5*t)}function le(t){return t.split("&")}function w(t,...o){let n=t;for(let a of o)for(let[r,i]of Object.entries(a))r in n?n[r]+=i:n[r]=i}function Ht(...t){let o={};return w(o,...t),o}function R(t){return t.exceptionalTotalUpgradeableCount>0}function L(t){return R(t)&&t.exceptionalUpgradeableCount>0}function st(t,o){if(!L(t))throw TypeError("\uC775\uC149\uC154\uB110 \uAC15\uD654\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.exceptionalOption===void 0&&(t.data.exceptionalOption={}),w(t.data.exceptionalOption,o.option),t.data.exceptionalUpgradeableCount=t.exceptionalUpgradeableCount-1,t.data.exceptionalUpgradeCount=t.exceptionalUpgradeCount+1}function y(t){return R(t)}function ct(t){if(!y(t))throw TypeError("\uC8FC\uBB38\uC11C \uAC15\uD654\uB97C \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.exceptionalOption={},t.data.exceptionalUpgradeableCount=t.exceptionalTotalUpgradeableCount,t.data.exceptionalUpgradeCount=void 0}function S(t){return!t.attributes.cannotUpgrade&&t.scrollTotalUpgradeableCount>0}function M(t){return S(t)&&!t.attributes.blockGoldenHammer&&t.goldenHammer===0}function pt(t){if(!M(t))throw TypeError("\uD669\uAE08 \uB9DD\uCE58\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.goldenHammer=t.goldenHammer+1,t.data.scrollUpgradeableCount=t.scrollUpgradeableCount+1}function j(t){return S(t)&&t.scrollUpgradeableCount>0}function dt(t){if(!j(t))throw TypeError("\uC8FC\uBB38\uC11C \uC2E4\uD328\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.scrollUpgradeableCount=t.scrollUpgradeableCount-1,t.data.scrollResilienceCount=t.scrollResilienceCount+1}function B(t){return S(t)&&t.scrollResilienceCount>0}function ut(t){if(!B(t))throw TypeError("\uC5C5\uADF8\uB808\uC774\uB4DC \uAC00\uB2A5 \uD69F\uC218\uB97C \uBCF5\uAD6C\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.scrollResilienceCount=t.scrollResilienceCount-1,t.data.scrollUpgradeableCount=t.scrollUpgradeableCount+1}function W(t){return S(t)}function ft(t){if(!W(t))throw TypeError("\uC8FC\uBB38\uC11C \uAC15\uD654\uB97C \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.upgradeOption={},t.data.scrollUpgradeableCount=t.scrollTotalUpgradeableCount,t.data.scrollUpgradeCount=void 0,t.data.scrollResilienceCount=void 0,t.data.goldenHammer=void 0}function N(t){return S(t)&&t.scrollUpgradeableCount>0}function v(t,o){if(!N(t))throw TypeError("\uC8FC\uBB38\uC11C\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.upgradeOption===void 0&&(t.data.upgradeOption={}),w(t.data.upgradeOption,o.option),t.data.scrollUpgradeableCount=t.scrollUpgradeableCount-1,t.data.scrollUpgradeCount=t.scrollUpgradeCount+1}var Lt=(s=>(s.str="str",s.dex="dex",s.int="int",s.luk="luk",s.maxHp="maxHp",s.allStat="allStat",s))(Lt||{});function St(t,o,n){let a=yt(t,o,n);v(t,a)}function yt(t,o,n){if(d(t.type)||t.type===134)return se(t,o,n);if(t.type===108)return ce(t,o,n);if(x(t.type)||t.type===115)return pe(t,o,n);if(O(t.type))return de(t,o,n);if(t.type===167)return ue(t,o,n);throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44 \uBD84\uB958\uC785\uB2C8\uB2E4.")}function se(t,o,n){if(o==="allStat")throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let a=C(t),[r,i]=fe[n][a];o==="maxHp"&&(i*=50);let s=ht(o),l,f;return i===0?(l=A(n,P(s)),f={[s]:r}):(l=A(n,P(s),P(o)),f={[s]:r,[o]:i}),{name:l,option:f,type:o,rate:n}}function ce(t,o,n){let a=C(t),r=Se[n][a],i,s;if(r===0)i=A(n,"\uBC29\uC5B4\uB825"),s={armor:3};else{let l=ht(o);i=A(n,P(l)),s={[l]:r}}return{name:i,option:s,rate:n,type:o}}function pe(t,o,n){let a=C(t),[r,i,s]=me[n][a],l={maxHp:i,armor:s};switch(o){case"str":case"dex":case"int":case"luk":l[o]=r;break;case"maxHp":l.maxHp+=r*50;break;case"allStat":{if(!(n in Gt))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let m=Gt[n][a];l.str=m,l.dex=m,l.int=m,l.luk=m;break}}return t.scrollUpgradeCount===3&&(t.req.beginner()?(l.attackPower=1,l.magicPower=1):t.req.magician()?l.magicPower=1:l.attackPower=1),{name:A(n,P(o)),option:l,type:o,rate:n}}function de(t,o,n){if(!(n in mt))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let a=C(t),r=mt[n][a],i={};switch(o){case"str":case"dex":case"int":case"luk":i[o]=r;break;case"maxHp":i.maxHp=r*50;break;case"allStat":{if(!(n in qt))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let l=qt[n][a];i.str=l,i.dex=l,i.int=l,i.luk=l;break}}return{name:A(n,P(o)),option:i,type:o,rate:n}}function ue(t,o,n){if(!(n in mt))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let a=C(t),r=he[n][a],i=ht(o),s=A(n,P(i)),l={[i]:r};return{name:s,option:l,type:o,rate:n}}function A(t,o,n){return n?`${t.toString()}% ${o}(${n}) \uC8FC\uBB38\uC11C`:`${t.toString()}% ${o} \uC8FC\uBB38\uC11C`}function P(t){switch(t){case"str":return"\uD798";case"dex":return"\uBBFC\uCCA9";case"int":return"\uC9C0\uB825";case"luk":return"\uC6B4";case"maxHp":return"\uCCB4\uB825";case"allStat":return"\uC62C\uC2A4\uD0EF";case"attackPower":return"\uACF5\uACA9\uB825";case"magicPower":return"\uB9C8\uB825"}}function C(t){return t.req.level>110?2:t.req.level>70?1:0}function ht(t){return t==="int"?"magicPower":"attackPower"}var fe={100:[[1,0],[2,0],[3,1]],70:[[2,0],[3,1],[5,2]],30:[[3,1],[5,2],[7,3]],15:[[5,2],[7,3],[9,4]]},me={100:[[1,5,1],[2,20,2],[3,30,3]],70:[[2,15,2],[3,40,4],[4,70,5]],30:[[3,30,4],[5,70,7],[7,120,10]],15:[[4,45,6],[7,110,10],[10,170,15]]},Gt={30:[1,2,3],15:[2,3,4]},Se={100:[0,1,1],70:[1,2,2],30:[2,3,3],15:[3,4,4]},mt={100:[1,1,2],70:[2,2,3],30:[3,4,5]},qt={30:[1,2,3]},he={100:[1,2,3],70:[2,3,5],30:[3,5,7]};var Mt="__GearOption_s87Ns2aQ";function u(t){return Mt in t?t:new Proxy(t,{get(o,n){if(n===Mt)return!0;if(n in bt)return o[n]??bt[n]},set(o,n,a){return n in bt?(o[n]=a,!0):!1},ownKeys(o){return Object.entries(o).filter(([,n])=>n!=0).map(([n])=>n)}})}var bt={str:0,dex:0,int:0,luk:0,strRate:0,dexRate:0,intRate:0,lukRate:0,maxHp:0,maxMp:0,maxHpRate:0,maxMpRate:0,maxDemonForce:0,attackPower:0,magicPower:0,attackPowerRate:0,magicPowerRate:0,armor:0,armorRate:0,speed:0,jump:0,knockback:0,bossDamage:0,normalDamage:0,ignoreMonsterArmor:0,allStat:0,damage:0,reqLevelDecrease:0,criticalRate:0,criticalDamage:0,cooltimeReduce:0,strLv:0,dexLv:0,intLv:0,lukLv:0};var be=25,F=15,xe=15,Oe=150;function _(t){return(t.data.maxStar??0)>0}function E(t,o=!1){if(!_(t))return!1;if(t.attributes.superior)return t.star<Math.min(xe,t.maxStar);if(!o&&t.star>=t.maxStar)return!1;let n=t.starScroll?F:be;return t.star<n}function J(t,o=!1){if(!E(t,o))throw TypeError("\uC2A4\uD0C0\uD3EC\uC2A4 \uAC15\uD654\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.star=t.star+1,t.attributes.superior?we(t):d(t.type)||t.type===134?Pe(t):Ae(t)}function U(t,o=!1){return!_(t)||t.attributes.superior||t.req.level>Oe||!o&&t.star>=t.maxStar?!1:t.star<F}function X(t,o=!1,n=!1){if(!U(t,n))throw TypeError("\uB180\uB77C\uC6B4 \uC7A5\uBE44 \uAC15\uD654 \uC8FC\uBB38\uC11C\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.starScroll=!0,t.data.star=t.star+1;let a=h(Ue,t),r=h(Ie,t),i=d(t.type)||t.type===134;for(let l of I)xt(t,l)>0&&(c(t)[l]+=a,o&&O(t.type)&&(c(t)[l]+=t.star>5?2:1));for(let l of Bt){let f=xt(t,l);f>0&&(i&&(c(t)[l]+=Math.floor(f/50)+1),c(t)[l]+=r,o&&(i||t.type===109)&&(c(t)[l]+=1))}o&&x(t.type)&&(c(t).maxHp+=50);let s=xt(t,"armor");s>0&&(c(t).armor+=Math.floor(s/20)+1)}function $(t){return!!_(t)}function Ot(t){if(!$(t))throw TypeError("\uC2A4\uD0C0\uD3EC\uC2A4 \uAC15\uD654\uB97C \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.starforceOption={},t.data.star=void 0,t.data.starScroll=void 0}function we(t){let o=h(ve,t),n=h(Re,t);for(let r of I)t.baseOption[r]>0&&(c(t)[r]+=o);for(let r of Bt)t.baseOption[r]>0&&(c(t)[r]+=n);let a=V(t,"armor");c(t).armor+=Math.floor(a/20)+1}function Pe(t){let o=h(Wt,t),n=h(ke,t),a=jt(t);for(let s of I)(a.has(s)||t.star>15&&(t.baseOption[s]>0||t.upgradeOption[s]>0))&&(c(t)[s]+=o);let r=t.req.magician()||t.upgradeOption.magicPower>0;if(t.star>15)c(t).attackPower+=n,r&&(c(t).magicPower+=n);else{let s=V(t,"attackPower");if(c(t).attackPower+=Math.floor(s/50)+1,r){let l=V(t,"magicPower");c(t).magicPower+=Math.floor(l/50)+1}}let i=Nt[t.star];c(t).maxHp+=i,c(t).maxMp+=i}function Ae(t){let o=h(Wt,t),n=h(_e,t),a=jt(t);for(let r of I)(a.has(r)||t.star>15&&(t.baseOption[r]>0||t.upgradeOption[r]>0))&&(c(t)[r]+=o);if(c(t).attackPower+=n,c(t).magicPower+=n,t.type===108){let r=Ce[t.star];t.req.beginner()?(c(t).attackPower+=r,c(t).magicPower+=r):t.req.magician()?c(t).magicPower+=r:c(t).attackPower+=r}if(t.type!==167){let r=V(t,"armor");c(t).armor+=Math.floor(r/20)+1}if(ge.includes(t.type)){let r=Nt[t.star];c(t).maxHp+=r}if(t.type===107){let r=Ee[t.star];c(t).speed+=r,c(t).jump+=r}}function jt(t){if(t.req.beginner())return new Set(I);let o=[];return t.req.warrior()&&o.push("str","dex"),t.req.magician()&&o.push("int","luk"),t.req.bowman()&&o.push("dex","str"),t.req.thief()&&o.push("luk","dex"),t.req.pirate()&&o.push("str","dex"),new Set(o)}function h(t,o){let n=o.req.level;for(let a=t.length-1;a>=0;a--){let r=t[a];if(n>=r[0])return r[o.star]}throw TypeError("\uC7A5\uBE44\uC758 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8\uC740 0 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.")}function c(t){return t.data.starforceOption===void 0&&(t.data.starforceOption={}),u(t.data.starforceOption)}function V(t,o){return t.baseOption[o]+t.upgradeOption[o]+t.starforceOption[o]}function xt(t,o){return t.baseOption[o]+t.addOption[o]+t.upgradeOption[o]+t.starforceOption[o]}var I=["str","dex","int","luk"],Bt=["attackPower","magicPower"],ge=[100,104,105,106,110,111,112,113,115,109],Wt=[[0,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,0,0,0],[108,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,0,0,0],[118,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,0,0,0],[128,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,7,7,7,7,7,7,7,0,0,0],[138,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,9,9,9,9,9,9,9,0,0,0],[148,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,11,11,11,11,11,11,11,0,0,0],[158,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,13,13,13,13,13,13,13,0,0,0],[198,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,15,15,15,15,15,15,15,0,0,0],[248,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,17,17,17,17,17,17,17,0,0,0]],_e=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,7,8,9,10,12,13,15,17],[118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,8,9,10,11,13,14,16,18],[128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,9,10,11,12,14,16,18,20],[138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,10,11,12,13,15,17,19,21],[148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,10,11,12,13,14,16,18,20,22],[158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,11,12,13,14,15,17,19,21,23],[198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,12,13,14,15,16,17,19,21,23,25],[248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,14,15,16,17,18,19,21,23,25,27]],ke=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[108,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,7,8,9,27,28,29],[118,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,7,8,9,10,28,29,30],[128,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,9,10,11,29,30,31],[138,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,9,10,11,12,30,31,32],[148,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,10,11,12,13,31,32,33],[158,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,10,11,12,13,14,32,33,34],[198,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,13,14,14,15,16,17,34,35,36],[248,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,15,16,16,17,18,19,36,37,38]],Re=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[110,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0],[150,0,0,0,0,0,9,10,11,12,13,15,17,19,21,23]],ve=[[0,1,2,4,7,11,0,0,0,0,0,0,0,0,0,0],[80,2,3,5,8,12,0,0,0,0,0,0,0,0,0,0],[110,9,10,12,15,19,0,0,0,0,0,0,0,0,0,0],[150,19,20,22,25,29,0,0,0,0,0,0,0,0,0,0]],Ce=[-1,0,0,0,0,1,0,1,0,1,0,1,0,1,1,1,0,0,0,0,0,0,0,0,0,0],Nt=[-1,5,5,5,10,10,15,15,20,20,25,25,25,25,25,25,0,0,0,0,0,0,0,0,0,0],Ee=[-1,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2,0,0,0,0,0,0,0,0,0,0],Ue=[[0,1,2,4,7,11,0,0,0,0,0,0,0,0,0,0],[80,2,3,5,8,12,0,0,0,0,0,0,0,0,0,0],[85,3,4,6,9,13,0,0,0,0,0,0,0,0,0,0],[90,4,5,7,10,14,0,0,0,0,0,0,0,0,0,0],[95,5,6,8,11,15,0,0,0,0,0,0,0,0,0,0],[100,7,8,10,13,17,0,0,0,0,0,0,0,0,0,0],[105,8,9,11,14,18,0,0,0,0,0,0,0,0,0,0],[110,9,10,12,15,19,0,0,0,0,0,0,0,0,0,0],[115,10,11,13,16,20,0,0,0,0,0,0,0,0,0,0],[120,12,13,15,18,22,0,0,0,0,0,0,0,0,0,0],[125,13,14,16,19,23,0,0,0,0,0,0,0,0,0,0],[130,14,15,17,20,24,0,0,0,0,0,0,0,0,0,0],[135,15,16,18,21,25,0,0,0,0,0,0,0,0,0,0],[140,17,18,20,23,27,0,0,0,0,0,0,0,0,0,0],[145,18,19,21,24,28,0,0,0,0,0,0,0,0,0,0],[150,19,20,22,25,29,0,0,0,0,0,0,0,0,0,0]],Ie=[[0,0,0,0,0,0,1,2,3,4,5,6,8,10,12,14],[80,0,0,0,0,0,2,3,4,5,6,7,9,11,13,15],[90,0,0,0,0,0,3,4,5,6,7,8,10,12,14,16],[100,0,0,0,0,0,4,5,6,7,8,9,11,13,15,17],[110,0,0,0,0,0,5,6,7,8,9,10,12,14,16,18],[120,0,0,0,0,0,6,7,8,9,10,11,13,15,17,19],[130,0,0,0,0,0,7,8,9,10,11,12,14,16,18,20],[140,0,0,0,0,0,8,9,10,11,12,13,15,17,19,21],[150,0,0,0,0,0,9,10,11,12,13,14,16,18,20,22]];function Vt(t){return Y(t.attributes.canPotential,t)!==2}function K(t){return Y(t.attributes.canPotential,t)===1}function Ft(t,o,n){if(!K(t))throw new TypeError("\uC7A0\uC7AC\uB2A5\uB825\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");if(o===0)throw new TypeError("\uC7A0\uC7AC\uB2A5\uB825 \uB4F1\uAE09\uC744 Normal\uB85C \uC124\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. (\uC7A0\uC7AC\uB2A5\uB825\uC744 \uCD08\uAE30\uD654\uD558\uB824\uBA74 resetPotential\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.)");if(n.length<1||n.length>3)throw new TypeError("\uC7A0\uC7AC\uC635\uC158 \uAC1C\uC218\uB294 1\uAC1C\uC5D0\uC11C 3\uAC1C \uC0AC\uC774\uC5EC\uC57C \uD569\uB2C8\uB2E4.");t.data.potentialGrade=o,t.data.potentials=n}function Jt(t){if(!K(t))throw new TypeError("\uC7A0\uC7AC\uB2A5\uB825\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.potentialGrade=0,t.data.potentials=void 0}function Xt(t){return Y(t.attributes.canAdditionalPotential,t)!==2}function Q(t){return Y(t.attributes.canAdditionalPotential,t)===1}function $t(t,o,n){if(!Q(t))throw new TypeError("\uC5D0\uB514\uC154\uB110 \uC7A0\uC7AC\uB2A5\uB825\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");if(o===0)throw new TypeError("\uC5D0\uB514\uC154\uB110 \uC7A0\uC7AC\uB2A5\uB825 \uB4F1\uAE09\uC744 Normal\uB85C \uC124\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. (\uC5D0\uB514\uC154\uB110 \uC7A0\uC7AC\uB2A5\uB825\uC744 \uCD08\uAE30\uD654\uD558\uB824\uBA74 resetAdditionalPotential\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.)");if(n.length<1||n.length>3)throw new TypeError("\uC5D0\uB514\uC154\uB110 \uC7A0\uC7AC\uC635\uC158 \uAC1C\uC218\uB294 1\uAC1C\uC5D0\uC11C 3\uAC1C \uC0AC\uC774\uC5EC\uC57C \uD569\uB2C8\uB2E4.");t.data.additionalPotentialGrade=o,t.data.additionalPotentials=n}function Kt(t){if(!Q(t))throw new TypeError("\uC5D0\uB514\uC154\uB110 \uC7A0\uC7AC\uB2A5\uB825\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.");t.data.additionalPotentialGrade=0,t.data.additionalPotentials=void 0}function Y(t,o){return t!==0?t:De(o)}function De(t){return t.scrollTotalUpgradeableCount>0?at(t.type)||rt(t.type)?2:1:He(t.type)||nt(t.type)?1:2}function He(t){switch(t){case 1098:case 1099:case 134:case 135200:case 135210:case 135240:case 135250:case 135260:case 135270:case 119:return!0;default:return!1}}var D=class{data;constructor(o){this.data=o}get only(){return this.data.only??!1}get trade(){return this.data.trade??0}set trade(o){this.data.trade=o}get onlyEquip(){return this.data.onlyEquip??!1}get share(){return this.data.share??0}get blockGoldenHammer(){return this.data.blockGoldenHammer??!1}get superior(){return this.data.superior??!1}get attackSpeed(){return this.data.attackSpeed}get cannotUpgrade(){return this.data.cannotUpgrade??!1}get canAddOption(){return this.data.canAddOption??0}get canPotential(){return this.data.canPotential??0}get canAdditionalPotential(){return this.data.canAdditionalPotential??0}get specialGrade(){return this.data.specialGrade??!1}get reqLevelIncrease(){return this.data.reqLevelIncrease??0}get cuttable(){return this.data.cuttable??0}get cuttableCount(){return this.data.cuttableCount}set cuttableCount(o){this.data.cuttableCount=o}get accountShareTag(){return this.data.accountShareTag??!1}get lucky(){return this.data.lucky??!1}get incline(){return{charisma:0,insight:0,will:0,craft:0,sense:0,charm:0,...this.data.incline}}set incline(o){this.data.incline=o}get bossReward(){return this.data.bossReward??!1}get growthExp(){return this.data.growthExp}set growthExp(o){(o===void 0||0<=o&&o<=100)&&(this.data.growthExp=o)}get growthLevel(){return this.data.growthLevel}set growthLevel(o){this.data.growthLevel=o}get dateExpire(){return this.data.dateExpire}set dateExpire(o){(o===void 0||!Number.isNaN(Date.parse(o)))&&(this.data.dateExpire=o)}};var H=class{data;constructor(o){this.data=o}get level(){return this.data.level??0}get str(){return this.data.str??0}get dex(){return this.data.dex??0}get int(){return this.data.int??0}get luk(){return this.data.luk??0}get job(){return this.data.job??0}get class(){return this.data.class??0}beginner(){return this.job===0}warrior(){return this.job===0||(this.job&1)!=0}magician(){return this.job===0||(this.job&2)!=0}bowman(){return this.job===0||(this.job&4)!=0}thief(){return this.job===0||(this.job&8)!=0}pirate(){return this.job===0||(this.job&16)!=0}};function Z(t){return d(t.type)&&t.req.level>=30}function z(t){return Z(t)&&!t.soulEnchanted}function wt(t){if(!z(t))throw TypeError("\uC18C\uC6B8\uC6E8\uD3F0\uC740 \uC911\uBCF5\uD574\uC11C \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");t.data.soulSlot={}}function T(t){return t.soulEnchanted}function Pt(t,o){if(!T(t))throw TypeError("\uC18C\uC6B8\uC6E8\uD3F0 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC5D0\uB9CC \uC18C\uC6B8\uC744 \uC7A5\uCC29\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");t.data.soulSlot.soul=o,Qt(t)}function tt(t){return t.soulEnchanted}function At(t,o){if(!tt(t))throw TypeError("\uC18C\uC6B8\uC6E8\uD3F0 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uB9CC \uC18C\uC6B8 \uCDA9\uC804\uB7C9\uC744 \uBCC0\uACBD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");if(o<0||o>1e3)throw TypeError("\uC18C\uC6B8 \uCDA9\uC804\uB7C9\uC740 0 \uC774\uC0C1 1000 \uC774\uD558\uC758 \uAC12\uC73C\uB85C\uB9CC \uBCC0\uACBD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.");t.data.soulSlot.charge=o,Qt(t)}function gt(t){t.data.soulSlot=void 0}function Qt(t){let o;if(t.soulCharge===0)o={};else{let n=t.baseOption.attackPower>=t.baseOption.magicPower?"attackPower":"magicPower",a=Math.min(5,Math.ceil(t.soulCharge/100)-1);t.soul?o={[n]:10+a*(t.soul.chargeFactor??1)}:o={[n]:5+a}}t.data.soulSlot.chargeOption=o}var _t=class{data;constructor(o){this.data=o}get meta(){return this.data.meta}get name(){return this.data.name}get icon(){return this.data.icon??""}get desc(){return this.data.desc}get shape(){return this.data.shape}set shape(o){this.data.shape=o}get shapeIcon(){return this.shape?.icon??this.icon}get type(){return this.data.type}get req(){return new H(this.data.req)}get attributes(){return new D(this.data.attributes)}get totalOption(){return u(Ht(this.baseOption,this.addOption,this.upgradeOption,this.starforceOption))}get baseOption(){return u(this.data.baseOption??{})}get addOption(){return u(this.data.addOption??{})}get upgradeOption(){return u(this.data.upgradeOption??{})}get starforceOption(){return u(this.data.starforceOption??{})}get scrollUpgradeCount(){return this.data.scrollUpgradeCount??0}get scrollResilienceCount(){return this.data.scrollResilienceCount??0}get scrollUpgradeableCount(){return this.data.scrollUpgradeableCount??0}get goldenHammer(){return this.data.goldenHammer??0}get scrollTotalUpgradeableCount(){return this.scrollUpgradeCount+this.scrollUpgradeableCount+this.scrollResilienceCount-this.goldenHammer}get star(){return this.data.star??0}get maxStar(){let o=this.data.maxStar??0;return Math.max(this.star,this.starScroll?Math.min(F,o):o)}get starScroll(){return this.data.starScroll??!1}get soulEnchanted(){return this.data.soulSlot!==void 0}get soul(){if(this.data.soulSlot?.soul)return{...this.data.soulSlot.soul,option:u(this.data.soulSlot.soul.option)}}get soulCharge(){return this.data.soulSlot?.charge??0}get soulChargeOption(){return u(this.data.soulSlot?.chargeOption??{})}get potentialGrade(){return this.data.potentialGrade??0}get potentials(){return this.data.potentials?this.data.potentials.map(o=>({...o,option:u(o.option)})):[]}get additionalPotentialGrade(){return this.data.additionalPotentialGrade??0}get additionalPotentials(){return this.data.additionalPotentials?this.data.additionalPotentials.map(o=>({...o,option:u(o.option)})):[]}get exceptionalOption(){return u(this.data.exceptionalOption??{})}get exceptionalUpgradeCount(){return this.data.exceptionalUpgradeCount??0}get exceptionalUpgradeableCount(){return this.data.exceptionalUpgradeableCount??0}get exceptionalTotalUpgradeableCount(){return this.exceptionalUpgradeCount+this.exceptionalUpgradeableCount}get supportsAddOption(){return it(this)}applyAddOption(o,n){let a=lt(this,o,n);this.data.addOption||(this.data.addOption={}),w(this.data.addOption,a),this.meta.add.push([o,n])}resetAddOption(){this.data.addOption=void 0,this.meta.add=[]}get supportsUpgrade(){return S(this)}get canApplyGoldenHammer(){return M(this)}applyGoldenHammer(){pt(this)}get canApplyFailScroll(){return j(this)}applyScrollFail(){dt(this)}get canApplyResileScroll(){return B(this)}applyScrollResile(){ut(this)}get canResetUpgrade(){return W(this)}resetUpgrade(){ft(this)}get canApplyScroll(){return N(this)}applyScroll(o){v(this,o)}applySpellTrace(o,n){St(this,o,n)}get supportsStarforce(){return _(this)}get canApplyStarforce(){return E(this)}applyStarforce(){J(this)}get canApplyStarforceIgnoringMaxStar(){return E(this,!0)}applyStarforceIgnoringMaxStar(){J(this,!0)}get canApplyStarScroll(){return U(this)}applyStarScroll(o=!1){X(this,o)}get canApplyStarScrollIgnoringMaxStar(){return U(this,!0)}applyStarScrollIgnoringMaxStar(o=!1){X(this,o,!0)}get canResetStarforce(){return $(this)}resetStarforce(){Ot(this)}get supportsPotential(){return Vt(this)}get canSetPotential(){return K(this)}setPotential(o,n){Ft(this,o,n)}resetPotential(){Jt(this)}get supportsAdditionalPotential(){return Xt(this)}get canSetAdditionalPotential(){return Q(this)}setAdditionalPotential(o,n){$t(this,o,n)}resetAdditionalPotential(){Kt(this)}get supportsSoul(){return Z(this)}get canApplySoulEnchant(){return z(this)}applySoulEnchant(){wt(this)}get canSetSoul(){return T(this)}setSoul(o){Pt(this,o)}get canSetSoulCharge(){return tt(this)}setSoulCharge(o){At(this,o)}resetSoulEnchant(){gt(this)}get supportsExceptional(){return R(this)}get canApplyExceptional(){return L(this)}applyExceptional(o){st(this,o)}get canResetExceptional(){return y(this)}resetExceptional(){ct(this)}};export{et as AddOptionCan,It as AddOptionType,_t as Gear,D as GearAttribute,vt as GearCuttable,H as GearReq,Rt as GearShare,kt as GearTrade,b as GearType,ot as PotentialCan,G as PotentialGrade,Lt as SpellTraceType,st as applyExceptional,pt as applyGoldenHammer,v as applyScroll,wt as applySoulEnchant,St as applySpellTrace,L as canApplyExceptional,N as canApplyScroll,z as canApplySoulEnchant,j as canFailScroll,M as canGoldenHammer,y as canResetExceptional,$ as canResetStarforce,W as canResetUpgrade,B as canResileScroll,T as canSetSoul,tt as canSetSoulCharge,U as canStarScroll,E as canStarforce,dt as failScroll,lt as getAddOption,Dt as getAddOptionValue,yt as getSpellTraceScroll,O as isAccessory,x as isArmor,Et as isDoubleHandWeapon,rt as isDragonGear,Ct as isLeftWeapon,at as isMechanicGear,q as isShield,nt as isSubWeapon,d as isWeapon,ct as resetExceptional,gt as resetSoulEnchant,Ot as resetStarforce,ft as resetUpgrade,ut as resileScroll,Pt as setSoul,At as setSoulCharge,X as starScroll,J as starforce,it as supportsAddOption,R as supportsExceptional,Z as supportsSoul,_ as supportsStarforce,S as supportsUpgrade,u as toGearOption};
@@ -1,11 +1,15 @@
1
1
  import { GearAddOption, GearBaseOption, GearData, GearExceptionalOption, GearMetadata, GearShapeData, GearStarforceOption, GearType, GearUpgradeOption, PotentialData, PotentialGrade, ReadonlySoulData, SoulChargeOption, SoulData } from './data';
2
2
  import { AddOptionGrade, AddOptionType } from './enhance/addOption';
3
3
  import { ExceptionalHammer } from './enhance/exceptional';
4
+ import { ReadonlyPotential } from './enhance/potential';
4
5
  import { SpellTraceRate, SpellTraceType } from './enhance/spellTrace';
5
6
  import { Scroll } from './enhance/upgrade';
6
7
  import { GearAttribute } from './GearAttribute';
7
8
  import { GearReq } from './GearReq';
8
- type _Gear = GearData;
9
+ type _Gear = Omit<GearData, 'potentials' | 'additionalPotentials'> & {
10
+ potentials: readonly ReadonlyPotential[];
11
+ additionalPotentials: readonly ReadonlyPotential[];
12
+ };
9
13
  /**
10
14
  * 장비
11
15
  *
@@ -74,7 +78,7 @@ export declare class Gear implements _Gear {
74
78
  *
75
79
  * 익셉셔널 옵션은 미포함.
76
80
  */
77
- get totalOption(): Readonly<GearBaseOption | GearAddOption | GearUpgradeOption | GearStarforceOption>;
81
+ get totalOption(): Readonly<GearBaseOption & GearAddOption & GearUpgradeOption & GearStarforceOption>;
78
82
  /**
79
83
  * 장비 순수 옵션
80
84
  */
@@ -148,22 +152,18 @@ export declare class Gear implements _Gear {
148
152
  * 잠재능력 등급
149
153
  */
150
154
  get potentialGrade(): PotentialGrade;
151
- set potentialGrade(value: PotentialGrade);
152
155
  /**
153
156
  * 잠재능력 목록
154
157
  */
155
- get potentials(): PotentialData[];
156
- set potentials(value: PotentialData[]);
158
+ get potentials(): readonly ReadonlyPotential[];
157
159
  /**
158
160
  * 에디셔널 잠재능력 등급
159
161
  */
160
162
  get additionalPotentialGrade(): PotentialGrade;
161
- set additionalPotentialGrade(value: PotentialGrade);
162
163
  /**
163
164
  * 에디셔널 잠재능력 목록
164
165
  */
165
- get additionalPotentials(): PotentialData[];
166
- set additionalPotentials(value: PotentialData[]);
166
+ get additionalPotentials(): readonly Readonly<ReadonlyPotential>[];
167
167
  /**
168
168
  * 장비 익셉셔널 옵션
169
169
  */
@@ -182,8 +182,6 @@ export declare class Gear implements _Gear {
182
182
  get exceptionalTotalUpgradeableCount(): number;
183
183
  /**
184
184
  * 장비가 추가 옵션을 지원하는지 여부
185
- *
186
- * '스칼렛 숄더', '보스 아레나 엠블렘'일 경우 `false`를 반환합니다. 해당 동작은 변경될 수 있습니다.
187
185
  */
188
186
  get supportsAddOption(): boolean;
189
187
  /**
@@ -329,6 +327,76 @@ export declare class Gear implements _Gear {
329
327
  * 장비의 스타포스 강화를 초기화합니다.
330
328
  */
331
329
  resetStarforce(): void;
330
+ /**
331
+ * 장비가 잠재능력을 지원하는지 여부
332
+ */
333
+ get supportsPotential(): boolean;
334
+ /**
335
+ * 장비의 잠재능력을 설정할 수 있는지 여부
336
+ */
337
+ get canSetPotential(): boolean;
338
+ /**
339
+ * 장비의 잠재능력을 설정합니다.
340
+ *
341
+ * `grade`는 `PotentialGrade.Normal`일 수 없습니다.
342
+ *
343
+ * `options`에 포함된 잠재옵션은 1개 이상 3개 이하여야 합니다.
344
+ * @param grade 잠재능력 등급.
345
+ * @param options 잠재옵션 목록.
346
+ *
347
+ * @throws {@link TypeError}
348
+ * 잠재능력을 설정할 수 없는 경우.
349
+ *
350
+ * @throws {@link TypeError}
351
+ * 설정하려는 잠재능력 등급이 Normal일 경우.
352
+ *
353
+ * @throws {@link TypeError}
354
+ * 잘못된 잠재옵션 목록을 지정했을 경우.
355
+ */
356
+ setPotential(grade: PotentialGrade, options: PotentialData[]): void;
357
+ /**
358
+ * 장비의 잠재능력을 초기화합니다.
359
+ *
360
+ * 에디셔널 잠재능력은 변경되지 않습니다.
361
+ *
362
+ * @throws {@link TypeError}
363
+ * 잠재능력을 초기화할 수 없는 경우.
364
+ */
365
+ resetPotential(): void;
366
+ /**
367
+ * 장비가 에디셔널 잠재능력을 지원하는지 여부
368
+ */
369
+ get supportsAdditionalPotential(): boolean;
370
+ /**
371
+ * 장비의 에디셔널 잠재능력을 설정할 수 있는지 여부
372
+ */
373
+ get canSetAdditionalPotential(): boolean;
374
+ /**
375
+ * 장비의 에디셔널 잠재능력을 설정합니다.
376
+ *
377
+ * `grade`는 `PotentialGrade.Normal`일 수 없습니다.
378
+ *
379
+ * `options`에 포함된 에디셔널 잠재옵션은 1개 이상 3개 이하여야 합니다.
380
+ * @param grade 에디셔널 잠재능력 등급.
381
+ * @param options 에디셔널 잠재옵션 목록.
382
+ *
383
+ * @throws {@link TypeError}
384
+ * 에디셔널 잠재능력을 설정할 수 없는 경우.
385
+ *
386
+ * @throws {@link TypeError}
387
+ * 설정하려는 에디셔널 잠재능력 등급이 Normal일 경우.
388
+ *
389
+ * @throws {@link TypeError}
390
+ * 잘못된 에디셔널 잠재옵션 목록을 지정했을 경우.
391
+ */
392
+ setAdditionalPotential(grade: PotentialGrade, options: PotentialData[]): void;
393
+ /**
394
+ * 장비의 에디셔널 잠재능력을 초기화합니다.
395
+ *
396
+ * @throws {@link TypeError}
397
+ * 에디셔널 잠재능력을 초기화할 수 없는 경우.
398
+ */
399
+ resetAdditionalPotential(): void;
332
400
  /**
333
401
  * 장비가 소울웨폰을 지원하는지 여부
334
402
  */
@@ -110,7 +110,7 @@ export interface GearReqData {
110
110
  /**
111
111
  * 장비 기본 옵션
112
112
  */
113
- export type GearBaseOption = Pick<GearOption, 'str' | 'dex' | 'int' | 'luk' | 'maxHp' | 'maxMp' | 'maxHpRate' | 'maxMpRate' | 'attackPower' | 'magicPower' | 'armor' | 'speed' | 'jump' | 'bossDamage' | 'ignoreMonsterArmor' | 'allStat' | 'damage' | 'reqLevelDecrease'>;
113
+ export type GearBaseOption = Pick<GearOption, 'str' | 'dex' | 'int' | 'luk' | 'maxHp' | 'maxMp' | 'maxHpRate' | 'maxMpRate' | 'maxDemonForce' | 'attackPower' | 'magicPower' | 'armor' | 'speed' | 'jump' | 'knockback' | 'bossDamage' | 'ignoreMonsterArmor' | 'allStat' | 'damage' | 'reqLevelDecrease'>;
114
114
  /**
115
115
  * 장비 추가 옵션
116
116
  */
@@ -1,8 +1,11 @@
1
1
  import { GearOption } from './GearOption';
2
+ /**
3
+ * 잠재옵션 정보
4
+ */
2
5
  export interface PotentialData {
3
6
  /** 장비에 표시되는 이름 */
4
- title: string;
7
+ summary: string;
5
8
  /** 잠재능력 옵션 */
6
9
  option: Partial<PotentialOption>;
7
10
  }
8
- export type PotentialOption = Pick<GearOption, 'str' | 'dex' | 'int' | 'luk' | 'strRate' | 'dexRate' | 'intRate' | 'lukRate' | 'maxHp' | 'maxMp' | 'maxHpRate' | 'maxMpRate' | 'attackPower' | 'magicPower' | 'attackPowerRate' | 'magicPowerRate' | 'armor' | 'armorRate' | 'speed' | 'jump' | 'bossDamage' | 'ignoreMonsterArmor' | 'damage' | 'criticalRate' | 'criticalDamage' | 'cooltimeReduce' | 'strLv' | 'dexLv' | 'intLv' | 'lukLv'>;
11
+ export type PotentialOption = Pick<GearOption, 'str' | 'dex' | 'int' | 'luk' | 'strRate' | 'dexRate' | 'intRate' | 'lukRate' | 'maxHp' | 'maxMp' | 'maxHpRate' | 'maxMpRate' | 'attackPower' | 'magicPower' | 'attackPowerRate' | 'magicPowerRate' | 'armor' | 'armorRate' | 'speed' | 'jump' | 'bossDamage' | 'normalDamage' | 'ignoreMonsterArmor' | 'damage' | 'criticalRate' | 'criticalDamage' | 'cooltimeReduce' | 'strLv' | 'dexLv' | 'intLv' | 'lukLv'>;
@@ -46,11 +46,11 @@ export declare enum AddOptionType {
46
46
  }
47
47
  export type AddOptionGrade = 1 | 2 | 3 | 4 | 5 | 6 | 7;
48
48
  /**
49
- * 추가 옵션을 지원하는 장비 분류인지 확인합니다.
50
- * @param gearType 확인할 장비.
49
+ * 장비가 추가 옵션을 지원하는지 확인합니다.
50
+ * @param gear 확인할 장비.
51
51
  * @returns 적용할 수 있을 경우 `true`; 아닐 경우 `false`.
52
52
  */
53
- export declare function supportsAddOption(gearType: GearType): boolean;
53
+ export declare function supportsAddOption(gear: Gear): boolean;
54
54
  /**
55
55
  * 장비에 적용되는 추가 옵션을 계산합니다.
56
56
  * @param gear 추가옵션을 계산할 장비.
@@ -0,0 +1,85 @@
1
+ import { PotentialData, PotentialGrade, PotentialOption } from '../data';
2
+ import { Gear } from '../Gear';
3
+ /**
4
+ * 잠재옵션 (읽기 전용)
5
+ */
6
+ export interface ReadonlyPotential extends Readonly<PotentialData> {
7
+ /** 장비에 표시되는 이름 */
8
+ summary: string;
9
+ /** 잠재능력 옵션 */
10
+ option: Readonly<PotentialOption>;
11
+ }
12
+ /**
13
+ * 장비가 잠재능력을 지원하는지 여부를 확인합니다.
14
+ * @param gear 확인할 장비.
15
+ * @returns 지원할 경우 `true`; 아닐 경우 `false`.
16
+ */
17
+ export declare function supportsPotential(gear: Gear): boolean;
18
+ /**
19
+ * 장비의 잠재능력을 설정할 수 있는지 여부를 확인합니다.
20
+ * @param gear 확인할 장비.
21
+ * @returns 설정할 수 있을 경우 `true`; 아닐 경우 `false`.
22
+ */
23
+ export declare function canSetPotential(gear: Gear): boolean;
24
+ /**
25
+ * 장비의 잠재능력을 설정합니다.
26
+ * @param gear 설정할 장비.
27
+ * @param grade 잠재능력 등급.
28
+ * @param options 잠재옵션 목록.
29
+ *
30
+ * @throws {@link TypeError}
31
+ * 잠재능력을 설정할 수 없는 장비일 경우.
32
+ *
33
+ * @throws {@link TypeError}
34
+ * 설정하려는 잠재능력 등급이 Normal일 경우.
35
+ *
36
+ * @throws {@link TypeError}
37
+ * 잘못된 잠재옵션 목록을 지정했을 경우.
38
+ */
39
+ export declare function setPotential(gear: Gear, grade: PotentialGrade, options: PotentialData[]): void;
40
+ /**
41
+ * 장비의 잠재능력을 초기화합니다.
42
+ *
43
+ * 에디셔널 잠재능력은 변경되지 않습니다.
44
+ * @param gear 초기화할 장비.
45
+ *
46
+ * @throws {@link TypeError}
47
+ * 잠재능력을 초기화할 수 없는 장비일 경우.
48
+ */
49
+ export declare function resetPotential(gear: Gear): void;
50
+ /**
51
+ * 장비가 에디셔널 잠재능력을 지원하는지 여부를 확인합니다.
52
+ * @param gear 확인할 장비.
53
+ * @returns 지원할 경우 `true`; 아닐 경우 `false`.
54
+ */
55
+ export declare function supportsAdditionalPotential(gear: Gear): boolean;
56
+ /**
57
+ * 장비의 에디셔널 잠재능력을 설정할 수 있는지 여부를 확인합니다.
58
+ * @param gear 확인할 장비.
59
+ * @returns 설정할 수 있을 경우 `true`; 아닐 경우 `false`.
60
+ */
61
+ export declare function canSetAdditionalPotential(gear: Gear): boolean;
62
+ /**
63
+ * 장비의 에디셔널 잠재능력을 설정합니다.
64
+ * @param gear 설정할 장비.
65
+ * @param grade 에디셔널 잠재능력 등급.
66
+ * @param options 에디셔널 잠재옵션 목록.
67
+ *
68
+ * @throws {@link TypeError}
69
+ * 에디셔널 잠재능력을 설정할 수 없는 장비일 경우.
70
+ *
71
+ * @throws {@link TypeError}
72
+ * 설정하려는 에디셔널 잠재능력 등급이 Normal일 경우.
73
+ *
74
+ * @throws {@link TypeError}
75
+ * 잘못된 에디셔널 잠재옵션 목록을 지정했을 경우.
76
+ */
77
+ export declare function setAdditionalPotential(gear: Gear, grade: PotentialGrade, options: PotentialData[]): void;
78
+ /**
79
+ * 장비의 에디셔널 잠재능력을 초기화합니다.
80
+ * @param gear 초기화할 장비.
81
+ *
82
+ * @throws {@link TypeError}
83
+ * 에디셔널 잠재능력을 초기화할 수 없는 장비일 경우.
84
+ */
85
+ export declare function resetAdditionalPotential(gear: Gear): void;
@@ -18,6 +18,12 @@ export declare const enum ErrorMessage {
18
18
  Starforce_InvalidReqLevelGear = "\uC7A5\uBE44\uC758 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8\uC740 0 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.",
19
19
  StarScroll_InvalidStarScrollGear = "\uB180\uB77C\uC6B4 \uC7A5\uBE44 \uAC15\uD654 \uC8FC\uBB38\uC11C\uB97C \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.",
20
20
  Starforce_InvalidResetGear = "\uC2A4\uD0C0\uD3EC\uC2A4 \uAC15\uD654\uB97C \uCD08\uAE30\uD654\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44\uC785\uB2C8\uB2E4.",
21
+ Potential_InvalidPotentialGear = "\uC7A0\uC7AC\uB2A5\uB825\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.",
22
+ Potential_InvalidPotentialOptions = "\uC7A0\uC7AC\uC635\uC158 \uAC1C\uC218\uB294 1\uAC1C\uC5D0\uC11C 3\uAC1C \uC0AC\uC774\uC5EC\uC57C \uD569\uB2C8\uB2E4.",
23
+ Potential_InvalidPotentialGrade = "\uC7A0\uC7AC\uB2A5\uB825 \uB4F1\uAE09\uC744 Normal\uB85C \uC124\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. (\uC7A0\uC7AC\uB2A5\uB825\uC744 \uCD08\uAE30\uD654\uD558\uB824\uBA74 resetPotential\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.)",
24
+ Potential_InvalidAdditionalPotentialGear = "\uC5D0\uB514\uC154\uB110 \uC7A0\uC7AC\uB2A5\uB825\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC785\uB2C8\uB2E4.",
25
+ Potential_InvalidAdditionalPotentialOptions = "\uC5D0\uB514\uC154\uB110 \uC7A0\uC7AC\uC635\uC158 \uAC1C\uC218\uB294 1\uAC1C\uC5D0\uC11C 3\uAC1C \uC0AC\uC774\uC5EC\uC57C \uD569\uB2C8\uB2E4.",
26
+ Potential_InvalidAdditionalPotentialGrade = "\uC5D0\uB514\uC154\uB110 \uC7A0\uC7AC\uB2A5\uB825 \uB4F1\uAE09\uC744 Normal\uB85C \uC124\uC815\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4. (\uC5D0\uB514\uC154\uB110 \uC7A0\uC7AC\uB2A5\uB825\uC744 \uCD08\uAE30\uD654\uD558\uB824\uBA74 resetAdditionalPotential\uC744 \uC0AC\uC6A9\uD558\uC138\uC694.)",
21
27
  Soul_SetSoulUnenchanted = "\uC18C\uC6B8\uC6E8\uD3F0 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uC5D0\uB9CC \uC18C\uC6B8\uC744 \uC7A5\uCC29\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",
22
28
  Soul_SetChargeUnenchanted = "\uC18C\uC6B8\uC6E8\uD3F0 \uC0C1\uD0DC\uC758 \uC7A5\uBE44\uB9CC \uC18C\uC6B8 \uCDA9\uC804\uB7C9\uC744 \uBCC0\uACBD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",
23
29
  Soul_InvalidSoulCharge = "\uC18C\uC6B8 \uCDA9\uC804\uB7C9\uC740 0 \uC774\uC0C1 1000 \uC774\uD558\uC758 \uAC12\uC73C\uB85C\uB9CC \uBCC0\uACBD\uD560 \uC218 \uC788\uC2B5\uB2C8\uB2E4.",
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@malib/gear",
3
3
  "description": "MapleStory gear logic simulator",
4
- "version": "1.0.0-next.3",
4
+ "version": "1.0.0-next.4",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",