@malib/gear 0.15.1 → 1.0.0-next.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +1 -0
- package/dist/lib/Gear.d.ts +413 -0
- package/dist/lib/GearAttribute.d.ts +54 -0
- package/dist/lib/GearReq.d.ts +72 -0
- package/dist/lib/data/GearAttributeData.d.ts +103 -0
- package/dist/lib/data/GearData.d.ts +130 -0
- package/dist/lib/data/GearOption.d.ts +69 -0
- package/dist/lib/data/GearType.d.ts +220 -0
- package/dist/lib/data/PotentialData.d.ts +8 -0
- package/dist/lib/data/PotentialGrade.d.ts +7 -0
- package/dist/lib/data/SoulSlotData.d.ts +39 -0
- package/dist/lib/data/index.d.ts +7 -0
- package/dist/lib/enhance/addOption.d.ts +96 -0
- package/dist/lib/enhance/exceptional.d.ts +48 -0
- package/dist/lib/enhance/spellTrace.d.ts +59 -0
- package/dist/lib/enhance/starforce.d.ts +133 -0
- package/dist/lib/enhance/upgrade.d.ts +90 -0
- package/dist/lib/errors.d.ts +27 -0
- package/dist/lib/gearOption.d.ts +9 -0
- package/dist/lib/gearType.d.ts +55 -0
- package/dist/lib/soulSlot.d.ts +58 -0
- package/dist/lib/testUtils.d.ts +5 -0
- package/dist/lib/utils.d.ts +3 -0
- package/package.json +13 -10
- package/index.cjs +0 -2
- package/index.d.ts +0 -1
- package/index.js +0 -2202
- package/internal.d.ts +0 -26
- package/lib/create/create-gear.d.ts +0 -38
- package/lib/create/create-potential.d.ts +0 -32
- package/lib/create/create-soul.d.ts +0 -56
- package/lib/create/interfaces/gear.d.ts +0 -27
- package/lib/create/interfaces/itemoption.d.ts +0 -13
- package/lib/create/interfaces/soul.d.ts +0 -17
- package/lib/gear.d.ts +0 -226
- package/lib/gearoption.d.ts +0 -19
- package/lib/gearproptype.d.ts +0 -103
- package/lib/geartype.d.ts +0 -441
- package/lib/logic/bonusstat.d.ts +0 -40
- package/lib/logic/bonusstattype.d.ts +0 -47
- package/lib/logic/enhancement.d.ts +0 -40
- package/lib/logic/exceptional.d.ts +0 -16
- package/lib/logic/exceptionalparts.d.ts +0 -5
- package/lib/logic/scroll.d.ts +0 -28
- package/lib/logic/upgrade.d.ts +0 -47
- package/lib/migrate/migrate.d.ts +0 -34
- package/lib/potential.d.ts +0 -38
- package/lib/potentialgrade.d.ts +0 -29
- package/lib/serialize/fromplain.d.ts +0 -8
- package/lib/serialize/interface.d.ts +0 -95
- package/lib/serialize/toplain.d.ts +0 -8
- package/lib/serialize/util.d.ts +0 -27
- package/lib/serialize/validate.d.ts +0 -7
- package/lib/soul.d.ts +0 -73
package/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";var it=Object.defineProperty;var It=Object.getOwnPropertyDescriptor;var Ht=Object.getOwnPropertyNames;var Dt=Object.prototype.hasOwnProperty;var qt=(t,e)=>{for(var o in e)it(t,o,{get:e[o],enumerable:!0})},Lt=(t,e,o,a)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Ht(e))!Dt.call(t,r)&&r!==o&&it(t,r,{get:()=>e[r],enumerable:!(a=It(e,r))||a.enumerable});return t};var Mt=t=>Lt(it({},"__esModule",{value:!0}),t);var Oe={};qt(Oe,{Gear:()=>lt,GearAttribute:()=>P,GearReq:()=>_,applyExceptional:()=>K,applyGoldenHammer:()=>Q,applyScroll:()=>g,applySoulEnchant:()=>ot,applySpellTrace:()=>T,canApplyExceptional:()=>E,canApplyScroll:()=>L,canApplySoulEnchant:()=>N,canFailScroll:()=>H,canGoldenHammer:()=>I,canResetExceptional:()=>U,canResetStarforce:()=>B,canResetUpgrade:()=>q,canResileScroll:()=>D,canSetSoul:()=>$,canSetSoulCharge:()=>F,canStarScroll:()=>k,canStarforce:()=>A,failScroll:()=>Y,getAddOption:()=>J,getAddOptionValue:()=>ut,getSpellTraceScroll:()=>ft,isAccessory:()=>S,isArmor:()=>m,isDoubleHandWeapon:()=>pt,isDragonGear:()=>Ot,isLeftWeapon:()=>st,isMechanicGear:()=>bt,isShield:()=>R,isSubWeapon:()=>xt,isWeapon:()=>s,resetExceptional:()=>X,resetSoulEnchant:()=>nt,resetStarforce:()=>et,resetUpgrade:()=>z,resileScroll:()=>Z,setSoul:()=>rt,setSoulCharge:()=>at,starScroll:()=>j,starforce:()=>G,supportsAddOption:()=>y,supportsExceptional:()=>w,supportsSoul:()=>V,supportsStarforce:()=>O,supportsUpgrade:()=>f,toGearOption:()=>p});module.exports=Mt(Oe);function s(t){return st(t)||pt(t)}function st(t){return 121<=t&&t<=139&&t!==134||Math.floor(t/10)===121}function pt(t){return t>=140&&t<=149||t>=152&&t<=159||Math.floor(t/10)===140}function xt(t){if(R(t))return!0;switch(t){case 134:return!0;default:return Math.floor(t/1e3)===135}}function R(t){switch(t){case 109:case 1099:case 1098:return!0;default:return!1}}function m(t){return t===100||t>=104&&t<=110||t===1098||t===1099}function S(t){return t>=101&&t<=103||t>=111&&t<=113||t===115}function bt(t){return t>=161&&t<=165}function Ot(t){return t>=194&&t<=197}function y(t){return s(t)?!0:m(t)?!R(t):S(t)?![111,115].includes(t):t===116}function J(t,e,o){let a=Xt(e),r=ut(t,e,o),l=a.map(c=>[c,r]);return Object.fromEntries(l)}function ut(t,e,o){let a={type:e,reqLevel:t.req.level,gearType:t.type,bossReward:t.attributes.bossReward??!1,attackPower:t.baseOption.attackPower??0,magicPower:t.baseOption.magicPower??0};switch(e){case"str":case"dex":case"int":case"luk":return wt(o,a);case"str&dex":case"str&int":case"str&luk":case"dex&int":case"dex&luk":case"int&luk":return Gt(o,a);case"armor":return wt(o,a);case"attackPower":case"magicPower":return jt(o,a);case"maxHp":case"maxMp":return Vt(o,a);case"speed":return Nt(o,a);case"jump":return $t(o,a);case"damage":return Ft(o,a);case"bossDamage":return yt(o,a);case"allStat":return Jt(o,a);case"reqLevelDecrease":return Kt(o,a)}}function wt(t,{reqLevel:e}){return e>=250?Math.floor(e/20)*t:(Math.floor(e/20)+1)*t}function Gt(t,{reqLevel:e}){return(Math.floor(e/40)+1)*t}function jt(t,e){let{reqLevel:o,gearType:a}=e;if(s(a))return Bt(t,e);if(o>=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 Bt(t,e){let{reqLevel:o,type:a,gearType:r,bossReward:l,attackPower:c,magicPower:n}=e,u=l?[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 d=Wt(r,e),v=o>180?6:o>160?5:o>110?4:3;return Math.ceil(d*u[t-1]*v/100)}else{let d=a==="magicPower"&&n>c?n:c;if(l){let v=o>160?6:o>150?5:o>110?4:3;return Math.ceil(d*u[t-1]*v*3/100)}else{let v=o>110?4:3;return Math.ceil(d*u[t-1]*v/100)}}}function Wt(t,{attackPower:e}){if(t===156)return e;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(e);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 Vt(t,{reqLevel:e}){return e<10?3*t:e>=250?700*t:Math.floor(e/10)*30*t}function Nt(t,{gearType:e}){if(s(e))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 $t(t,{gearType:e}){if(s(e))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 Ft(t,{gearType:e}){if(!s(e))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:e,gearType:o}){if(e<90||!s(o))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 Jt(t,{reqLevel:e,gearType:o}){if(e<70&&!s(o))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 Kt(t,{reqLevel:e}){if(e<=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(e,5*t)}function Xt(t){return t.split("&")}function x(t,...e){let o=t;for(let a of e)for(let[r,l]of Object.entries(a))r in o?o[r]+=l:o[r]=l}function gt(...t){let e={};return x(e,...t),e}function w(t){return t.exceptionalTotalUpgradeableCount>0}function E(t){return w(t)&&t.exceptionalUpgradeableCount>0}function K(t,e){if(!E(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={}),x(t.data.exceptionalOption,e.option),t.data.exceptionalUpgradeableCount=t.exceptionalUpgradeableCount-1,t.data.exceptionalUpgradeCount=t.exceptionalUpgradeCount+1}function U(t){return w(t)}function X(t){if(!U(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 f(t){return!t.attributes.cannotUpgrade&&t.scrollTotalUpgradeableCount>0}function I(t){return f(t)&&!t.attributes.blockGoldenHammer&&t.goldenHammer===0}function Q(t){if(!I(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 H(t){return f(t)&&t.scrollUpgradeableCount>0}function Y(t){if(!H(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 D(t){return f(t)&&t.scrollResilienceCount>0}function Z(t){if(!D(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 q(t){return f(t)}function z(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.upgradeOption={},t.data.scrollUpgradeableCount=t.scrollTotalUpgradeableCount,t.data.scrollUpgradeCount=void 0,t.data.scrollResilienceCount=void 0,t.data.goldenHammer=void 0}function L(t){return f(t)&&t.scrollUpgradeableCount>0}function g(t,e){if(!L(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={}),x(t.data.upgradeOption,e.option),t.data.scrollUpgradeableCount=t.scrollUpgradeableCount-1,t.data.scrollUpgradeCount=t.scrollUpgradeCount+1}function T(t,e,o){let a=ft(t,e,o);g(t,a)}function ft(t,e,o){if(s(t.type)||t.type===134)return Qt(t,e,o);if(t.type===108)return Yt(t,e,o);if(m(t.type)||t.type===115)return Zt(t,e,o);if(S(t.type))return zt(t,e,o);if(t.type===167)return Tt(t,e,o);throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44 \uBD84\uB958\uC785\uB2C8\uB2E4.")}function Qt(t,e,o){if(e==="allStat")throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let a=M(t),[r,l]=te[o][a];e==="maxHp"&&(l*=50);let c=mt(e),n,u;return l===0?(n=`${o}% ${b(c)} \uC8FC\uBB38\uC11C`,u={[c]:r}):(n=`${o}% ${b(c)}(${b(e)}) \uC8FC\uBB38\uC11C`,u={[c]:r,[e]:l}),{name:n,option:u,type:e,rate:o}}function Yt(t,e,o){let a=M(t),r=oe[o][a],l,c;if(r===0)l=`${o}% \uBC29\uC5B4\uB825 \uC8FC\uBB38\uC11C`,c={armor:3};else{let n=mt(e);l=`${o}% ${b(n)} \uC8FC\uBB38\uC11C`,c={[n]:r}}return{name:l,option:c,rate:o,type:e}}function Zt(t,e,o){let a=M(t),[r,l,c]=ee[o][a],n={maxHp:l,armor:c};switch(e){case"str":case"dex":case"int":case"luk":n[e]=r;break;case"maxHp":n.maxHp+=r*50;break;case"allStat":if(!(o in At))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let d=At[o][a];n.str=d,n.dex=d,n.int=d,n.luk=d;break}return t.scrollUpgradeCount===3&&(t.req.beginner()?(n.attackPower=1,n.magicPower=1):t.req.magician()?n.magicPower=1:n.attackPower=1),{name:`${o}% ${b(e)} \uC8FC\uBB38\uC11C`,option:n,type:e,rate:o}}function zt(t,e,o){if(!(o in dt))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let a=M(t),r=dt[o][a],l={};switch(e){case"str":case"dex":case"int":case"luk":l[e]=r;break;case"maxHp":l.maxHp=r*50;break;case"allStat":if(!(o in kt))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let n=kt[o][a];l.str=n,l.dex=n,l.int=n,l.luk=n;break}return{name:`${o}% ${b(e)} \uC8FC\uBB38\uC11C`,option:l,type:e,rate:o}}function Tt(t,e,o){if(!(o in dt))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let a=M(t),r=re[o][a],l=mt(e),c=`${o}% ${b(l)} \uC8FC\uBB38\uC11C`,n={[l]:r};return{name:c,option:n,type:e,rate:o}}function b(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 M(t){return t.req.level>110?2:t.req.level>70?1:0}function mt(t){return t==="int"?"magicPower":"attackPower"}var te={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]]},ee={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]]},At={30:[1,2,3],15:[2,3,4]},oe={100:[0,1,1],70:[1,2,2],30:[2,3,3],15:[3,4,4]},dt={100:[1,1,2],70:[2,2,3],30:[3,4,5]},kt={30:[1,2,3]},re={100:[1,2,3],70:[2,3,5],30:[3,5,7]};var Pt="__GearOption_s87Ns2aQ";function p(t){return t[Pt]?t:new Proxy(t,{get(e,o){if(o===Pt)return!0;if(o in St)return e[o]??St[o]},set(e,o,a){return o in St?(e[o]=a,!0):!1},ownKeys(e){return Object.entries(e).filter(([,o])=>o!=0).map(([o])=>o)}})}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,attackPower:0,magicPower:0,attackPowerRate:0,magicPowerRate:0,armor:0,armorRate:0,speed:0,jump:0,bossDamage:0,ignoreMonsterArmor:0,allStat:0,damage:0,reqLevelDecrease:0,criticalRate:0,criticalDamage:0,cooltimeReduce:0,strLv:0,dexLv:0,intLv:0,lukLv:0};var ae=25,_t=15,ne=15,le=150;function O(t){return(t.data.maxStar??0)>0}function A(t,e=!1){if(!O(t))return!1;if(t.attributes.superior)return t.star<Math.min(ne,t.maxStar);if(!e&&t.star>=t.maxStar)return!1;let o=t.starScroll?_t:ae;return t.star<o}function G(t,e=!1){if(!A(t,e))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?ie(t):s(t.type)||t.type===134?ce(t):se(t)}function k(t,e=!1){return!O(t)||t.attributes.superior||t.req.level>le||!e&&t.star>=t.maxStar?!1:t.star<_t}function j(t,e=!1,o=!1){if(!k(t,o))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(xe,t),r=h(be,t),l=s(t.type)||t.type===134;for(let n of W)ht(t,n)>0&&(i(t)[n]+=a,e&&S(t.type)&&(i(t)[n]+=t.star>5?2:1));for(let n of Rt){let u=ht(t,n);u>0&&(l&&(i(t)[n]+=Math.floor(u/50)+1),i(t)[n]+=r,e&&(l||t.type===109)&&(i(t)[n]+=1))}e&&m(t.type)&&(i(t).maxHp+=50);let c=ht(t,"armor");c>0&&(i(t).armor+=Math.floor(c/20)+1)}function B(t){return!!O(t)}function et(t){if(!B(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 ie(t){let e=h(me,t),o=h(fe,t);for(let r of W)t.baseOption[r]>0&&(i(t)[r]+=e);for(let r of Rt)t.baseOption[r]>0&&(i(t)[r]+=o);let a=tt(t,"armor");i(t).armor+=Math.floor(a/20)+1}function ce(t){let e=h(Ct,t),o=h(de,t),a=vt(t);for(let c of W)(a.has(c)||t.star>15&&(t.baseOption[c]>0||t.upgradeOption[c]>0))&&(i(t)[c]+=e);let r=t.req.magician()||t.upgradeOption.magicPower>0;if(t.star>15)i(t).attackPower+=o,r&&(i(t).magicPower+=o);else{let c=tt(t,"attackPower");if(i(t).attackPower+=Math.floor(c/50)+1,r){let n=tt(t,"magicPower");i(t).magicPower+=Math.floor(n/50)+1}}let l=Et[t.star];i(t).maxHp+=l,i(t).maxMp+=l}function se(t){let e=h(Ct,t),o=h(ue,t),a=vt(t);for(let r of W)(a.has(r)||t.star>15&&(t.baseOption[r]>0||t.upgradeOption[r]>0))&&(i(t)[r]+=e);if(i(t).attackPower+=o,i(t).magicPower+=o,t.type===108){let r=Se[t.star];t.req.beginner()?(i(t).attackPower+=r,i(t).magicPower+=r):t.req.magician()?i(t).magicPower+=r:i(t).attackPower+=r}if(t.type!==167){let r=tt(t,"armor");i(t).armor+=Math.floor(r/20)+1}if(pe.includes(t.type)){let r=Et[t.star];i(t).maxHp+=r}if(t.type===107){let r=he[t.star];i(t).speed+=r,i(t).jump+=r}}function vt(t){if(t.req.beginner())return new Set(W);let e=[];return t.req.warrior()&&e.push("str","dex"),t.req.magician()&&e.push("int","luk"),t.req.bowman()&&e.push("dex","str"),t.req.thief()&&e.push("luk","dex"),t.req.pirate()&&e.push("str","dex"),new Set(e)}function h(t,e){let o=e.req.level;for(let a=t.length-1;a>=0;a--){let r=t[a];if(o>=r[0])return r[e.star]}throw TypeError("\uC7A5\uBE44\uC758 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8\uC740 0 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.")}function i(t){return t.data.starforceOption===void 0&&(t.data.starforceOption={}),p(t.data.starforceOption)}function tt(t,e){return t.baseOption[e]+t.upgradeOption[e]+t.starforceOption[e]}function ht(t,e){return t.baseOption[e]+t.addOption[e]+t.upgradeOption[e]+t.starforceOption[e]}var W=["str","dex","int","luk"],Rt=["attackPower","magicPower"],pe=[100,104,105,106,110,111,112,113,115,109],Ct=[[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]],ue=[[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]],fe=[[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]],me=[[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]],Se=[-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],Et=[-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],he=[-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],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],[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]],be=[[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 P=class{data;constructor(e){this.data=e}get only(){return this.data.only??!1}get trade(){return this.data.trade??0}set trade(e){this.data.trade=e}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 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(e){this.data.cuttableCount=e}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(e){this.data.incline=e}get bossReward(){return this.data.bossReward??!1}get growthExp(){return this.data.growthExp}set growthExp(e){(e===void 0||0<=e&&e<=100)&&(this.data.growthExp=e)}get growthLevel(){return this.data.growthLevel}set growthLevel(e){this.data.growthLevel=e}get dateExpire(){return this.data.dateExpire}set dateExpire(e){(e===void 0||!Number.isNaN(Date.parse(e)))&&(this.data.dateExpire=e)}};var _=class{data;constructor(e){this.data=e}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 V(t){return s(t.type)&&t.req.level>=30}function N(t){return V(t)&&!t.soulEnchanted}function ot(t){if(!N(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){return t.soulEnchanted}function rt(t,e){if(!$(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=e,Ut(t)}function F(t){return t.soulEnchanted}function at(t,e){if(!F(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(e<0||e>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=e,Ut(t)}function nt(t){t.data.soulSlot=void 0}function Ut(t){let e;if(t.soulCharge===0)e={};else{let o=t.baseOption.attackPower>=t.baseOption.magicPower?"attackPower":"magicPower",a=Math.min(5,Math.ceil(t.soulCharge/100)-1);t.soul?e={[o]:10+a*(t.soul.chargeFactor??1)}:e={[o]:5+a}}t.data.soulSlot.chargeOption=e}var lt=class{data;constructor(e){this.data=e}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 shapeName(){return this.data.shapeName}get shapeIcon(){return this.data.shapeIcon||this.icon}get type(){return this.data.type}get req(){return new _(this.data.req??{})}get attributes(){return new P(this.data.attributes??{})}get totalOption(){return p(gt(this.baseOption,this.addOption,this.upgradeOption,this.starforceOption))}get baseOption(){return p(this.data.baseOption??{})}get addOption(){return p(this.data.addOption??{})}get upgradeOption(){return p(this.data.upgradeOption??{})}get starforceOption(){return p(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 e=this.data.maxStar??0;return Math.max(this.star,this.starScroll?Math.min(15,e):e)}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:p(this.data.soulSlot.soul.option)}}get soulCharge(){return this.data.soulSlot?.charge??0}get soulChargeOption(){return p(this.data.soulSlot?.chargeOption??{})}get potentialGrade(){return this.data.potentialGrade??0}set potentialGrade(e){this.data.potentialGrade=e}get potentials(){return this.data.potentials}get additionalPotentialGrade(){return this.data.additionalPotentialGrade??0}set additionalPotentialGrade(e){this.data.additionalPotentialGrade=e}get additionalPotentials(){return this.data.additionalPotentials}get exceptionalOption(){return p(this.data.exceptionalOption??{})}get exceptionalUpgradeCount(){return this.data.exceptionalUpgradeCount??0}get exceptionalUpgradeableCount(){return this.data.exceptionalUpgradeableCount??0}get exceptionalTotalUpgradeableCount(){return this.exceptionalUpgradeCount+this.exceptionalUpgradeableCount}setShape(e,o){this.data.shapeName=e,this.data.shapeIcon=o}resetShape(){this.data.shapeName=void 0,this.data.shapeIcon=void 0}get supportsAddOption(){return y(this.type)}applyAddOption(e,o){let a=J(this,e,o);this.data.addOption||(this.data.addOption={}),x(this.data.addOption,a),this.meta.add.push([e,o])}resetAddOption(){this.data.addOption=void 0,this.meta.add=[]}get supportsUpgrade(){return f(this)}get canApplyGoldenHammer(){return I(this)}applyGoldenHammer(){Q(this)}get canApplyFailScroll(){return H(this)}applyScrollFail(){Y(this)}get canApplyResileScroll(){return D(this)}applyScrollResile(){Z(this)}get canResetUpgrade(){return q(this)}resetUpgrade(){z(this)}get canApplyScroll(){return L(this)}applyScroll(e){g(this,e)}applySpellTrace(e,o){T(this,e,o)}get supportsStarforce(){return O(this)}get canApplyStarforce(){return A(this)}applyStarforce(){G(this)}get canApplyStarforceIgnoringMaxStar(){return A(this,!0)}applyStarforceIgnoringMaxStar(){G(this,!0)}get canApplyStarScroll(){return k(this)}applyStarScroll(e=!1){j(this,e)}get canApplyStarScrollIgnoringMaxStar(){return k(this,!0)}applyStarScrollIgnoringMaxStar(e=!1){j(this,e,!0)}get canResetStarforce(){return B(this)}resetStarforce(){et(this)}get supportsSoul(){return V(this)}get canApplySoulEnchant(){return N(this)}applySoulEnchant(){ot(this)}get canSetSoul(){return $(this)}setSoul(e){rt(this,e)}get canSetSoulCharge(){return F(this)}setSoulCharge(e){at(this,e)}resetSoulEnchant(){nt(this)}get supportsExceptional(){return w(this)}get canApplyExceptional(){return E(this)}applyExceptional(e){K(this,e)}get canResetExceptional(){return U(this)}resetExceptional(){X(this)}};
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { type GearAttributeData, type GearTrade, type GearShare, type AddOptionCan, type PotentialCan, type GearCuttable, type GearIncline, type GearData, type GearMetadata, type GearReqData, type GearBaseOption, type GearAddOption, type GearUpgradeOption, type GearStarforceOption, type GearExceptionalOption, type GearOption, type GearType, type PotentialData, type PotentialOption, type PotentialGrade, type SoulSlotData, type SoulData, type ReadonlySoulData, type SoulChargeOption, type SoulOption, } from './lib/data';
|
|
2
|
+
export { type AddOptionType, type AddOptionGrade, supportsAddOption, getAddOption, getAddOptionValue, } from './lib/enhance/addOption';
|
|
3
|
+
export { type ExceptionalHammer, supportsExceptional, canApplyExceptional, applyExceptional, canResetExceptional, resetExceptional, } from './lib/enhance/exceptional';
|
|
4
|
+
export { type SpellTraceType, type SpellTraceRate, type SpellTrace, applySpellTrace, getSpellTraceScroll, } from './lib/enhance/spellTrace';
|
|
5
|
+
export { supportsStarforce, canStarforce, starforce, canStarScroll, starScroll, canResetStarforce, resetStarforce, } from './lib/enhance/starforce';
|
|
6
|
+
export { type Scroll, supportsUpgrade, canGoldenHammer, applyGoldenHammer, canFailScroll, failScroll, canResileScroll, resileScroll, canResetUpgrade, resetUpgrade, canApplyScroll, applyScroll, } from './lib/enhance/upgrade';
|
|
7
|
+
export { Gear } from './lib/Gear';
|
|
8
|
+
export { GearAttribute } from './lib/GearAttribute';
|
|
9
|
+
export { toGearOption } from './lib/gearOption';
|
|
10
|
+
export { GearReq } from './lib/GearReq';
|
|
11
|
+
export { isWeapon, isLeftWeapon, isDoubleHandWeapon, isSubWeapon, isShield, isArmor, isAccessory, isMechanicGear, isDragonGear, } from './lib/gearType';
|
|
12
|
+
export { supportsSoul, canApplySoulEnchant, applySoulEnchant, canSetSoul, setSoul, canSetSoulCharge, setSoulCharge, resetSoulEnchant, } from './lib/soulSlot';
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
function s(t){return dt(t)||ft(t)}function dt(t){return 121<=t&&t<=139&&t!==134||Math.floor(t/10)===121}function ft(t){return t>=140&&t<=149||t>=152&&t<=159||Math.floor(t/10)===140}function Rt(t){if(U(t))return!0;switch(t){case 134:return!0;default:return Math.floor(t/1e3)===135}}function U(t){switch(t){case 109:case 1099:case 1098:return!0;default:return!1}}function S(t){return t===100||t>=104&&t<=110||t===1098||t===1099}function h(t){return t>=101&&t<=103||t>=111&&t<=113||t===115}function Ct(t){return t>=161&&t<=165}function Et(t){return t>=194&&t<=197}function K(t){return s(t)?!0:S(t)?!U(t):h(t)?![111,115].includes(t):t===116}function X(t,e,o){let r=Vt(e),a=St(t,e,o),l=r.map(c=>[c,a]);return Object.fromEntries(l)}function St(t,e,o){let r={type:e,reqLevel:t.req.level,gearType:t.type,bossReward:t.attributes.bossReward??!1,attackPower:t.baseOption.attackPower??0,magicPower:t.baseOption.magicPower??0};switch(e){case"str":case"dex":case"int":case"luk":return mt(o,r);case"str&dex":case"str&int":case"str&luk":case"dex&int":case"dex&luk":case"int&luk":return Ut(o,r);case"armor":return mt(o,r);case"attackPower":case"magicPower":return It(o,r);case"maxHp":case"maxMp":return qt(o,r);case"speed":return Lt(o,r);case"jump":return Mt(o,r);case"damage":return Gt(o,r);case"bossDamage":return jt(o,r);case"allStat":return Bt(o,r);case"reqLevelDecrease":return Wt(o,r)}}function mt(t,{reqLevel:e}){return e>=250?Math.floor(e/20)*t:(Math.floor(e/20)+1)*t}function Ut(t,{reqLevel:e}){return(Math.floor(e/40)+1)*t}function It(t,e){let{reqLevel:o,gearType:r}=e;if(s(r))return Ht(t,e);if(o>=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 Ht(t,e){let{reqLevel:o,type:r,gearType:a,bossReward:l,attackPower:c,magicPower:n}=e,u=l?[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(a===156||a===157){let d=Dt(a,e),w=o>180?6:o>160?5:o>110?4:3;return Math.ceil(d*u[t-1]*w/100)}else{let d=r==="magicPower"&&n>c?n:c;if(l){let w=o>160?6:o>150?5:o>110?4:3;return Math.ceil(d*u[t-1]*w*3/100)}else{let w=o>110?4:3;return Math.ceil(d*u[t-1]*w/100)}}}function Dt(t,{attackPower:e}){if(t===156)return e;let r=new Map([[100,102],[103,105],[105,107],[112,114],[117,121],[135,139],[169,173],[203,207],[293,297],[337,342]]).get(e);if(r===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 r}function qt(t,{reqLevel:e}){return e<10?3*t:e>=250?700*t:Math.floor(e/10)*30*t}function Lt(t,{gearType:e}){if(s(e))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 Mt(t,{gearType:e}){if(s(e))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 Gt(t,{gearType:e}){if(!s(e))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 jt(t,{reqLevel:e,gearType:o}){if(e<90||!s(o))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 Bt(t,{reqLevel:e,gearType:o}){if(e<70&&!s(o))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 Wt(t,{reqLevel:e}){if(e<=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(e,5*t)}function Vt(t){return t.split("&")}function x(t,...e){let o=t;for(let r of e)for(let[a,l]of Object.entries(r))a in o?o[a]+=l:o[a]=l}function ht(...t){let e={};return x(e,...t),e}function A(t){return t.exceptionalTotalUpgradeableCount>0}function I(t){return A(t)&&t.exceptionalUpgradeableCount>0}function Q(t,e){if(!I(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={}),x(t.data.exceptionalOption,e.option),t.data.exceptionalUpgradeableCount=t.exceptionalUpgradeableCount-1,t.data.exceptionalUpgradeCount=t.exceptionalUpgradeCount+1}function H(t){return A(t)}function Y(t){if(!H(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 f(t){return!t.attributes.cannotUpgrade&&t.scrollTotalUpgradeableCount>0}function D(t){return f(t)&&!t.attributes.blockGoldenHammer&&t.goldenHammer===0}function Z(t){if(!D(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 q(t){return f(t)&&t.scrollUpgradeableCount>0}function z(t){if(!q(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 L(t){return f(t)&&t.scrollResilienceCount>0}function T(t){if(!L(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 M(t){return f(t)}function tt(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.upgradeOption={},t.data.scrollUpgradeableCount=t.scrollTotalUpgradeableCount,t.data.scrollUpgradeCount=void 0,t.data.scrollResilienceCount=void 0,t.data.goldenHammer=void 0}function G(t){return f(t)&&t.scrollUpgradeableCount>0}function k(t,e){if(!G(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={}),x(t.data.upgradeOption,e.option),t.data.scrollUpgradeableCount=t.scrollUpgradeableCount-1,t.data.scrollUpgradeCount=t.scrollUpgradeCount+1}function ot(t,e,o){let r=Ot(t,e,o);k(t,r)}function Ot(t,e,o){if(s(t.type)||t.type===134)return Nt(t,e,o);if(t.type===108)return $t(t,e,o);if(S(t.type)||t.type===115)return Ft(t,e,o);if(h(t.type))return yt(t,e,o);if(t.type===167)return Jt(t,e,o);throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC801\uC6A9\uD560 \uC218 \uC5C6\uB294 \uC7A5\uBE44 \uBD84\uB958\uC785\uB2C8\uB2E4.")}function Nt(t,e,o){if(e==="allStat")throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let r=P(t),[a,l]=Kt[o][r];e==="maxHp"&&(l*=50);let c=rt(e),n,u;return l===0?(n=`${o}% ${b(c)} \uC8FC\uBB38\uC11C`,u={[c]:a}):(n=`${o}% ${b(c)}(${b(e)}) \uC8FC\uBB38\uC11C`,u={[c]:a,[e]:l}),{name:n,option:u,type:e,rate:o}}function $t(t,e,o){let r=P(t),a=Qt[o][r],l,c;if(a===0)l=`${o}% \uBC29\uC5B4\uB825 \uC8FC\uBB38\uC11C`,c={armor:3};else{let n=rt(e);l=`${o}% ${b(n)} \uC8FC\uBB38\uC11C`,c={[n]:a}}return{name:l,option:c,rate:o,type:e}}function Ft(t,e,o){let r=P(t),[a,l,c]=Xt[o][r],n={maxHp:l,armor:c};switch(e){case"str":case"dex":case"int":case"luk":n[e]=a;break;case"maxHp":n.maxHp+=a*50;break;case"allStat":if(!(o in xt))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let d=xt[o][r];n.str=d,n.dex=d,n.int=d,n.luk=d;break}return t.scrollUpgradeCount===3&&(t.req.beginner()?(n.attackPower=1,n.magicPower=1):t.req.magician()?n.magicPower=1:n.attackPower=1),{name:`${o}% ${b(e)} \uC8FC\uBB38\uC11C`,option:n,type:e,rate:o}}function yt(t,e,o){if(!(o in et))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let r=P(t),a=et[o][r],l={};switch(e){case"str":case"dex":case"int":case"luk":l[e]=a;break;case"maxHp":l.maxHp=a*50;break;case"allStat":if(!(o in bt))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let n=bt[o][r];l.str=n,l.dex=n,l.int=n,l.luk=n;break}return{name:`${o}% ${b(e)} \uC8FC\uBB38\uC11C`,option:l,type:e,rate:o}}function Jt(t,e,o){if(!(o in et))throw TypeError("\uC8FC\uBB38\uC758 \uD754\uC801\uC744 \uC7A5\uBE44\uC5D0 \uC801\uC6A9\uD560 \uC218 \uC5C6\uC2B5\uB2C8\uB2E4.");let r=P(t),a=Yt[o][r],l=rt(e),c=`${o}% ${b(l)} \uC8FC\uBB38\uC11C`,n={[l]:a};return{name:c,option:n,type:e,rate:o}}function b(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 P(t){return t.req.level>110?2:t.req.level>70?1:0}function rt(t){return t==="int"?"magicPower":"attackPower"}var Kt={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]]},Xt={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]]},xt={30:[1,2,3],15:[2,3,4]},Qt={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]},bt={30:[1,2,3]},Yt={100:[1,2,3],70:[2,3,5],30:[3,5,7]};var wt="__GearOption_s87Ns2aQ";function p(t){return t[wt]?t:new Proxy(t,{get(e,o){if(o===wt)return!0;if(o in at)return e[o]??at[o]},set(e,o,r){return o in at?(e[o]=r,!0):!1},ownKeys(e){return Object.entries(e).filter(([,o])=>o!=0).map(([o])=>o)}})}var at={str:0,dex:0,int:0,luk:0,strRate:0,dexRate:0,intRate:0,lukRate:0,maxHp:0,maxMp:0,maxHpRate:0,maxMpRate:0,attackPower:0,magicPower:0,attackPowerRate:0,magicPowerRate:0,armor:0,armorRate:0,speed:0,jump:0,bossDamage:0,ignoreMonsterArmor:0,allStat:0,damage:0,reqLevelDecrease:0,criticalRate:0,criticalDamage:0,cooltimeReduce:0,strLv:0,dexLv:0,intLv:0,lukLv:0};var Zt=25,gt=15,zt=15,Tt=150;function O(t){return(t.data.maxStar??0)>0}function _(t,e=!1){if(!O(t))return!1;if(t.attributes.superior)return t.star<Math.min(zt,t.maxStar);if(!e&&t.star>=t.maxStar)return!1;let o=t.starScroll?gt:Zt;return t.star<o}function B(t,e=!1){if(!_(t,e))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?te(t):s(t.type)||t.type===134?ee(t):oe(t)}function v(t,e=!1){return!O(t)||t.attributes.superior||t.req.level>Tt||!e&&t.star>=t.maxStar?!1:t.star<gt}function W(t,e=!1,o=!1){if(!v(t,o))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 r=m(pe,t),a=m(ue,t),l=s(t.type)||t.type===134;for(let n of R)nt(t,n)>0&&(i(t)[n]+=r,e&&h(t.type)&&(i(t)[n]+=t.star>5?2:1));for(let n of kt){let u=nt(t,n);u>0&&(l&&(i(t)[n]+=Math.floor(u/50)+1),i(t)[n]+=a,e&&(l||t.type===109)&&(i(t)[n]+=1))}e&&S(t.type)&&(i(t).maxHp+=50);let c=nt(t,"armor");c>0&&(i(t).armor+=Math.floor(c/20)+1)}function V(t){return!!O(t)}function lt(t){if(!V(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 te(t){let e=m(ie,t),o=m(le,t);for(let a of R)t.baseOption[a]>0&&(i(t)[a]+=e);for(let a of kt)t.baseOption[a]>0&&(i(t)[a]+=o);let r=j(t,"armor");i(t).armor+=Math.floor(r/20)+1}function ee(t){let e=m(Pt,t),o=m(ne,t),r=At(t);for(let c of R)(r.has(c)||t.star>15&&(t.baseOption[c]>0||t.upgradeOption[c]>0))&&(i(t)[c]+=e);let a=t.req.magician()||t.upgradeOption.magicPower>0;if(t.star>15)i(t).attackPower+=o,a&&(i(t).magicPower+=o);else{let c=j(t,"attackPower");if(i(t).attackPower+=Math.floor(c/50)+1,a){let n=j(t,"magicPower");i(t).magicPower+=Math.floor(n/50)+1}}let l=_t[t.star];i(t).maxHp+=l,i(t).maxMp+=l}function oe(t){let e=m(Pt,t),o=m(ae,t),r=At(t);for(let a of R)(r.has(a)||t.star>15&&(t.baseOption[a]>0||t.upgradeOption[a]>0))&&(i(t)[a]+=e);if(i(t).attackPower+=o,i(t).magicPower+=o,t.type===108){let a=ce[t.star];t.req.beginner()?(i(t).attackPower+=a,i(t).magicPower+=a):t.req.magician()?i(t).magicPower+=a:i(t).attackPower+=a}if(t.type!==167){let a=j(t,"armor");i(t).armor+=Math.floor(a/20)+1}if(re.includes(t.type)){let a=_t[t.star];i(t).maxHp+=a}if(t.type===107){let a=se[t.star];i(t).speed+=a,i(t).jump+=a}}function At(t){if(t.req.beginner())return new Set(R);let e=[];return t.req.warrior()&&e.push("str","dex"),t.req.magician()&&e.push("int","luk"),t.req.bowman()&&e.push("dex","str"),t.req.thief()&&e.push("luk","dex"),t.req.pirate()&&e.push("str","dex"),new Set(e)}function m(t,e){let o=e.req.level;for(let r=t.length-1;r>=0;r--){let a=t[r];if(o>=a[0])return a[e.star]}throw TypeError("\uC7A5\uBE44\uC758 \uCC29\uC6A9 \uAC00\uB2A5 \uB808\uBCA8\uC740 0 \uC774\uC0C1\uC774\uC5B4\uC57C \uD569\uB2C8\uB2E4.")}function i(t){return t.data.starforceOption===void 0&&(t.data.starforceOption={}),p(t.data.starforceOption)}function j(t,e){return t.baseOption[e]+t.upgradeOption[e]+t.starforceOption[e]}function nt(t,e){return t.baseOption[e]+t.addOption[e]+t.upgradeOption[e]+t.starforceOption[e]}var R=["str","dex","int","luk"],kt=["attackPower","magicPower"],re=[100,104,105,106,110,111,112,113,115,109],Pt=[[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]],ne=[[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]],le=[[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]],ie=[[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],_t=[-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],se=[-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],pe=[[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]],ue=[[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(e){this.data=e}get only(){return this.data.only??!1}get trade(){return this.data.trade??0}set trade(e){this.data.trade=e}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 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(e){this.data.cuttableCount=e}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(e){this.data.incline=e}get bossReward(){return this.data.bossReward??!1}get growthExp(){return this.data.growthExp}set growthExp(e){(e===void 0||0<=e&&e<=100)&&(this.data.growthExp=e)}get growthLevel(){return this.data.growthLevel}set growthLevel(e){this.data.growthLevel=e}get dateExpire(){return this.data.dateExpire}set dateExpire(e){(e===void 0||!Number.isNaN(Date.parse(e)))&&(this.data.dateExpire=e)}};var E=class{data;constructor(e){this.data=e}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 N(t){return s(t.type)&&t.req.level>=30}function $(t){return N(t)&&!t.soulEnchanted}function it(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 F(t){return t.soulEnchanted}function ct(t,e){if(!F(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=e,vt(t)}function y(t){return t.soulEnchanted}function st(t,e){if(!y(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(e<0||e>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=e,vt(t)}function pt(t){t.data.soulSlot=void 0}function vt(t){let e;if(t.soulCharge===0)e={};else{let o=t.baseOption.attackPower>=t.baseOption.magicPower?"attackPower":"magicPower",r=Math.min(5,Math.ceil(t.soulCharge/100)-1);t.soul?e={[o]:10+r*(t.soul.chargeFactor??1)}:e={[o]:5+r}}t.data.soulSlot.chargeOption=e}var ut=class{data;constructor(e){this.data=e}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 shapeName(){return this.data.shapeName}get shapeIcon(){return this.data.shapeIcon||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 p(ht(this.baseOption,this.addOption,this.upgradeOption,this.starforceOption))}get baseOption(){return p(this.data.baseOption??{})}get addOption(){return p(this.data.addOption??{})}get upgradeOption(){return p(this.data.upgradeOption??{})}get starforceOption(){return p(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 e=this.data.maxStar??0;return Math.max(this.star,this.starScroll?Math.min(15,e):e)}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:p(this.data.soulSlot.soul.option)}}get soulCharge(){return this.data.soulSlot?.charge??0}get soulChargeOption(){return p(this.data.soulSlot?.chargeOption??{})}get potentialGrade(){return this.data.potentialGrade??0}set potentialGrade(e){this.data.potentialGrade=e}get potentials(){return this.data.potentials}get additionalPotentialGrade(){return this.data.additionalPotentialGrade??0}set additionalPotentialGrade(e){this.data.additionalPotentialGrade=e}get additionalPotentials(){return this.data.additionalPotentials}get exceptionalOption(){return p(this.data.exceptionalOption??{})}get exceptionalUpgradeCount(){return this.data.exceptionalUpgradeCount??0}get exceptionalUpgradeableCount(){return this.data.exceptionalUpgradeableCount??0}get exceptionalTotalUpgradeableCount(){return this.exceptionalUpgradeCount+this.exceptionalUpgradeableCount}setShape(e,o){this.data.shapeName=e,this.data.shapeIcon=o}resetShape(){this.data.shapeName=void 0,this.data.shapeIcon=void 0}get supportsAddOption(){return K(this.type)}applyAddOption(e,o){let r=X(this,e,o);this.data.addOption||(this.data.addOption={}),x(this.data.addOption,r),this.meta.add.push([e,o])}resetAddOption(){this.data.addOption=void 0,this.meta.add=[]}get supportsUpgrade(){return f(this)}get canApplyGoldenHammer(){return D(this)}applyGoldenHammer(){Z(this)}get canApplyFailScroll(){return q(this)}applyScrollFail(){z(this)}get canApplyResileScroll(){return L(this)}applyScrollResile(){T(this)}get canResetUpgrade(){return M(this)}resetUpgrade(){tt(this)}get canApplyScroll(){return G(this)}applyScroll(e){k(this,e)}applySpellTrace(e,o){ot(this,e,o)}get supportsStarforce(){return O(this)}get canApplyStarforce(){return _(this)}applyStarforce(){B(this)}get canApplyStarforceIgnoringMaxStar(){return _(this,!0)}applyStarforceIgnoringMaxStar(){B(this,!0)}get canApplyStarScroll(){return v(this)}applyStarScroll(e=!1){W(this,e)}get canApplyStarScrollIgnoringMaxStar(){return v(this,!0)}applyStarScrollIgnoringMaxStar(e=!1){W(this,e,!0)}get canResetStarforce(){return V(this)}resetStarforce(){lt(this)}get supportsSoul(){return N(this)}get canApplySoulEnchant(){return $(this)}applySoulEnchant(){it(this)}get canSetSoul(){return F(this)}setSoul(e){ct(this,e)}get canSetSoulCharge(){return y(this)}setSoulCharge(e){st(this,e)}resetSoulEnchant(){pt(this)}get supportsExceptional(){return A(this)}get canApplyExceptional(){return I(this)}applyExceptional(e){Q(this,e)}get canResetExceptional(){return H(this)}resetExceptional(){Y(this)}};export{ut as Gear,C as GearAttribute,E as GearReq,Q as applyExceptional,Z as applyGoldenHammer,k as applyScroll,it as applySoulEnchant,ot as applySpellTrace,I as canApplyExceptional,G as canApplyScroll,$ as canApplySoulEnchant,q as canFailScroll,D as canGoldenHammer,H as canResetExceptional,V as canResetStarforce,M as canResetUpgrade,L as canResileScroll,F as canSetSoul,y as canSetSoulCharge,v as canStarScroll,_ as canStarforce,z as failScroll,X as getAddOption,St as getAddOptionValue,Ot as getSpellTraceScroll,h as isAccessory,S as isArmor,ft as isDoubleHandWeapon,Et as isDragonGear,dt as isLeftWeapon,Ct as isMechanicGear,U as isShield,Rt as isSubWeapon,s as isWeapon,Y as resetExceptional,pt as resetSoulEnchant,lt as resetStarforce,tt as resetUpgrade,T as resileScroll,ct as setSoul,st as setSoulCharge,W as starScroll,B as starforce,K as supportsAddOption,A as supportsExceptional,N as supportsSoul,O as supportsStarforce,f as supportsUpgrade,p as toGearOption};
|
|
@@ -0,0 +1,413 @@
|
|
|
1
|
+
import { GearAddOption, GearBaseOption, GearData, GearExceptionalOption, GearMetadata, GearStarforceOption, GearType, GearUpgradeOption, PotentialData, PotentialGrade, ReadonlySoulData, SoulChargeOption, SoulData } from './data';
|
|
2
|
+
import { AddOptionGrade, AddOptionType } from './enhance/addOption';
|
|
3
|
+
import { ExceptionalHammer } from './enhance/exceptional';
|
|
4
|
+
import { SpellTraceRate, SpellTraceType } from './enhance/spellTrace';
|
|
5
|
+
import { Scroll } from './enhance/upgrade';
|
|
6
|
+
import { GearAttribute } from './GearAttribute';
|
|
7
|
+
import { GearReq } from './GearReq';
|
|
8
|
+
/**
|
|
9
|
+
* 장비
|
|
10
|
+
*
|
|
11
|
+
* 장비 정보를 KMS과 동일한 방식으로 변경하는 기능을 제공합니다.
|
|
12
|
+
* - `supports...`: 장비가 특정 강화 방식을 지원하는지 여부입니다.
|
|
13
|
+
* - `can...`: 장비에 특정 강화를 적용할 수 있는 상태인지 여부입니다.
|
|
14
|
+
* - `apply...()`: 장비에 특정 강화를 적용합니다.
|
|
15
|
+
* - `set...()`: 장비의 특정 속성을 설정합니다.
|
|
16
|
+
* - `reset...()`: 장비의 특정 강화에 관련된 속성을 초기화합니다.
|
|
17
|
+
*
|
|
18
|
+
* 생성자에 전달된 장비 정보와 `data` 속성 간에 엄격한 동등(`===`)을 보장합니다.
|
|
19
|
+
*
|
|
20
|
+
* 장비 정보의 모든 속성에 대해 읽기 전용 속성을 제공하고, 일부 속성은 장비 객체 자체에 또는 반환 객체의 속성에 쓰기가 가능합니다.
|
|
21
|
+
*/
|
|
22
|
+
export declare class Gear {
|
|
23
|
+
/** 장비 정보 */
|
|
24
|
+
data: GearData;
|
|
25
|
+
/**
|
|
26
|
+
* 장비 정보를 참조하는 장비 인스턴스를 생성합니다.
|
|
27
|
+
* @param data 장비 정보.
|
|
28
|
+
*/
|
|
29
|
+
constructor(data: GearData);
|
|
30
|
+
/**
|
|
31
|
+
* 장비 메타데이터
|
|
32
|
+
*/
|
|
33
|
+
get meta(): GearMetadata;
|
|
34
|
+
/**
|
|
35
|
+
* 장비명
|
|
36
|
+
*/
|
|
37
|
+
get name(): string;
|
|
38
|
+
/**
|
|
39
|
+
* 장비 아이콘
|
|
40
|
+
*/
|
|
41
|
+
get icon(): string;
|
|
42
|
+
/**
|
|
43
|
+
* 장비 설명
|
|
44
|
+
*/
|
|
45
|
+
get desc(): string | undefined;
|
|
46
|
+
/**
|
|
47
|
+
* 장비 외형
|
|
48
|
+
*/
|
|
49
|
+
get shapeName(): string | undefined;
|
|
50
|
+
/**
|
|
51
|
+
* 장비 외형 아이콘
|
|
52
|
+
*
|
|
53
|
+
* `shapeIcon`을 설정하지 않았을 경우 장비의 기본 아이콘.
|
|
54
|
+
*/
|
|
55
|
+
get shapeIcon(): string;
|
|
56
|
+
/**
|
|
57
|
+
* 장비 분류
|
|
58
|
+
*/
|
|
59
|
+
get type(): GearType;
|
|
60
|
+
/**
|
|
61
|
+
* 장비 착용 제한
|
|
62
|
+
*/
|
|
63
|
+
get req(): GearReq;
|
|
64
|
+
/**
|
|
65
|
+
* 장비 속성
|
|
66
|
+
*/
|
|
67
|
+
get attributes(): GearAttribute;
|
|
68
|
+
/**
|
|
69
|
+
* 장비 최종 옵션
|
|
70
|
+
*
|
|
71
|
+
* 기본 옵션, 추가 옵션, 주문서 옵션, 스타포스 옵션의 합.
|
|
72
|
+
*
|
|
73
|
+
* 익셉셔널 옵션은 미포함.
|
|
74
|
+
*/
|
|
75
|
+
get totalOption(): Readonly<GearBaseOption | GearAddOption | GearUpgradeOption | GearStarforceOption>;
|
|
76
|
+
/**
|
|
77
|
+
* 장비 순수 옵션
|
|
78
|
+
*/
|
|
79
|
+
get baseOption(): Readonly<GearBaseOption>;
|
|
80
|
+
/**
|
|
81
|
+
* 장비 추가 옵션
|
|
82
|
+
*/
|
|
83
|
+
get addOption(): Readonly<GearAddOption>;
|
|
84
|
+
/**
|
|
85
|
+
* 장비 주문서 강화 옵션
|
|
86
|
+
*/
|
|
87
|
+
get upgradeOption(): Readonly<GearUpgradeOption>;
|
|
88
|
+
/**
|
|
89
|
+
* 장비 스타포스 옵션
|
|
90
|
+
*/
|
|
91
|
+
get starforceOption(): Readonly<GearStarforceOption>;
|
|
92
|
+
/**
|
|
93
|
+
* 업그레이드 횟수
|
|
94
|
+
*/
|
|
95
|
+
get scrollUpgradeCount(): number;
|
|
96
|
+
/**
|
|
97
|
+
* 복구 가능 횟수
|
|
98
|
+
*/
|
|
99
|
+
get scrollResilienceCount(): number;
|
|
100
|
+
/**
|
|
101
|
+
* 업그레이드 가능 횟수
|
|
102
|
+
*/
|
|
103
|
+
get scrollUpgradeableCount(): number;
|
|
104
|
+
/**
|
|
105
|
+
* 황금 망치 재련 적용
|
|
106
|
+
*/
|
|
107
|
+
get goldenHammer(): number;
|
|
108
|
+
/**
|
|
109
|
+
* 전체 업그레이드 가능 횟수
|
|
110
|
+
*
|
|
111
|
+
* 성공, 실패, 황금 망치 적용 여부를 무시한 장비의 기본 업그레이드 가능 횟수입니다.
|
|
112
|
+
*/
|
|
113
|
+
get scrollTotalUpgradeableCount(): number;
|
|
114
|
+
/**
|
|
115
|
+
* 강화 단계
|
|
116
|
+
*/
|
|
117
|
+
get star(): number;
|
|
118
|
+
/**
|
|
119
|
+
* 최대 강화 단계
|
|
120
|
+
*
|
|
121
|
+
* 장비의 현재 강화 단계가 최대 강화 단계를 초과할 시 현재 강화 단계입니다.
|
|
122
|
+
* 놀라운 장비 강화 주문서가 사용되었을 경우 최대 `15`입니다.
|
|
123
|
+
*/
|
|
124
|
+
get maxStar(): number;
|
|
125
|
+
/**
|
|
126
|
+
* 놀라운 장비 강화 주문서 사용 여부
|
|
127
|
+
*/
|
|
128
|
+
get starScroll(): boolean;
|
|
129
|
+
/**
|
|
130
|
+
* 소울 인챈트 여부
|
|
131
|
+
*/
|
|
132
|
+
get soulEnchanted(): boolean;
|
|
133
|
+
/**
|
|
134
|
+
* 소울
|
|
135
|
+
*/
|
|
136
|
+
get soul(): ReadonlySoulData | undefined;
|
|
137
|
+
/**
|
|
138
|
+
* 소울 충전량
|
|
139
|
+
*/
|
|
140
|
+
get soulCharge(): number;
|
|
141
|
+
/**
|
|
142
|
+
* 소울 충전 옵션
|
|
143
|
+
*/
|
|
144
|
+
get soulChargeOption(): Readonly<SoulChargeOption>;
|
|
145
|
+
/**
|
|
146
|
+
* 잠재능력 등급
|
|
147
|
+
*/
|
|
148
|
+
get potentialGrade(): PotentialGrade;
|
|
149
|
+
set potentialGrade(value: PotentialGrade);
|
|
150
|
+
/**
|
|
151
|
+
* 잠재능력 목록
|
|
152
|
+
*/
|
|
153
|
+
get potentials(): [
|
|
154
|
+
PotentialData | null,
|
|
155
|
+
PotentialData | null,
|
|
156
|
+
PotentialData | null
|
|
157
|
+
];
|
|
158
|
+
/**
|
|
159
|
+
* 에디셔널 잠재능력 등급
|
|
160
|
+
*/
|
|
161
|
+
get additionalPotentialGrade(): PotentialGrade;
|
|
162
|
+
set additionalPotentialGrade(value: PotentialGrade);
|
|
163
|
+
/**
|
|
164
|
+
* 에디셔널 잠재능력 목록
|
|
165
|
+
*/
|
|
166
|
+
get additionalPotentials(): [
|
|
167
|
+
PotentialData | null,
|
|
168
|
+
PotentialData | null,
|
|
169
|
+
PotentialData | null
|
|
170
|
+
];
|
|
171
|
+
/**
|
|
172
|
+
* 장비 익셉셔널 옵션
|
|
173
|
+
*/
|
|
174
|
+
get exceptionalOption(): Readonly<GearExceptionalOption>;
|
|
175
|
+
/**
|
|
176
|
+
* 익셉셔널 강화 횟수
|
|
177
|
+
*/
|
|
178
|
+
get exceptionalUpgradeCount(): number;
|
|
179
|
+
/**
|
|
180
|
+
* 익셉셔널 강화 가능 횟수
|
|
181
|
+
*/
|
|
182
|
+
get exceptionalUpgradeableCount(): number;
|
|
183
|
+
/**
|
|
184
|
+
* 전체 익셉셔널 강화 가능 횟수
|
|
185
|
+
*/
|
|
186
|
+
get exceptionalTotalUpgradeableCount(): number;
|
|
187
|
+
/**
|
|
188
|
+
* 장비의 외형을 설정합니다.
|
|
189
|
+
* @param name 외형 장비명.
|
|
190
|
+
* @param icon 외형 아이콘.
|
|
191
|
+
*/
|
|
192
|
+
setShape(name: string, icon: string): void;
|
|
193
|
+
/**
|
|
194
|
+
* 장비의 외형을 초기화합니다.
|
|
195
|
+
*/
|
|
196
|
+
resetShape(): void;
|
|
197
|
+
/**
|
|
198
|
+
* 장비가 추가 옵션을 지원하는지 여부
|
|
199
|
+
*
|
|
200
|
+
* '스칼렛 숄더', '보스 아레나 엠블렘'일 경우 `false`를 반환합니다. 해당 동작은 변경될 수 있습니다.
|
|
201
|
+
*/
|
|
202
|
+
get supportsAddOption(): boolean;
|
|
203
|
+
/**
|
|
204
|
+
* 장비에 추가 옵션을 적용합니다.
|
|
205
|
+
* @param type 추가 옵션 종류.
|
|
206
|
+
* @param grade 추가 옵션 등급.
|
|
207
|
+
*
|
|
208
|
+
* @throws {@link TypeError}
|
|
209
|
+
* 장비에 부여할 수 없는 추가 옵션을 지정했을 경우.
|
|
210
|
+
*/
|
|
211
|
+
applyAddOption(type: AddOptionType, grade: AddOptionGrade): void;
|
|
212
|
+
/**
|
|
213
|
+
* 장비의 추가 옵션을 초기화합니다.
|
|
214
|
+
*/
|
|
215
|
+
resetAddOption(): void;
|
|
216
|
+
/**
|
|
217
|
+
* 장비가 주문서 강화를 지원하는지 여부
|
|
218
|
+
*/
|
|
219
|
+
get supportsUpgrade(): boolean;
|
|
220
|
+
/**
|
|
221
|
+
* 장비에 황금 망치를 적용할 수 있는 상태인지 여부
|
|
222
|
+
*/
|
|
223
|
+
get canApplyGoldenHammer(): boolean;
|
|
224
|
+
/**
|
|
225
|
+
* 장비에 황금 망치를 적용합니다.
|
|
226
|
+
*
|
|
227
|
+
* @throws {@link TypeError}
|
|
228
|
+
* 황금 망치를 적용할 수 없는 상태일 경우.
|
|
229
|
+
*/
|
|
230
|
+
applyGoldenHammer(): void;
|
|
231
|
+
/**
|
|
232
|
+
* 장비에 주문서 실패를 적용할 수 있는 상태인지 여부
|
|
233
|
+
*/
|
|
234
|
+
get canApplyFailScroll(): boolean;
|
|
235
|
+
/**
|
|
236
|
+
* 장비에 주문서 실패를 1회 적용합니다.
|
|
237
|
+
*
|
|
238
|
+
* @throws {@link TypeError}
|
|
239
|
+
* 주문서 실패를 적용할 수 없는 상태일 경우.
|
|
240
|
+
*/
|
|
241
|
+
applyScrollFail(): void;
|
|
242
|
+
/**
|
|
243
|
+
* 장비의 주문서 실패로 차감된 업그레이드 가능 횟수를 복구할 수 있는 상태인지 여부
|
|
244
|
+
*/
|
|
245
|
+
get canApplyResileScroll(): boolean;
|
|
246
|
+
/**
|
|
247
|
+
* 장비의 주문서 실패로 차감된 업그레이드 가능 횟수를 1회 복구합니다.
|
|
248
|
+
*
|
|
249
|
+
* @throws {@link TypeError}
|
|
250
|
+
* 업그레이드 가능 횟수를 복구할 수 없는 상태일 경우.
|
|
251
|
+
*/
|
|
252
|
+
applyScrollResile(): void;
|
|
253
|
+
/**
|
|
254
|
+
* 장비의 주문서 강화를 초기화할 수 있는 상태인지 여부
|
|
255
|
+
*/
|
|
256
|
+
get canResetUpgrade(): boolean;
|
|
257
|
+
/**
|
|
258
|
+
* 장비의 주문서 강화를 초기화합니다.
|
|
259
|
+
*
|
|
260
|
+
* @throws {@link TypeError}
|
|
261
|
+
* 주문서 강화를 초기화할 수 없는 장비일 경우.
|
|
262
|
+
*/
|
|
263
|
+
resetUpgrade(): void;
|
|
264
|
+
/**
|
|
265
|
+
* 장비에 주문서를 적용할 수 있는 상태인지 여부
|
|
266
|
+
*/
|
|
267
|
+
get canApplyScroll(): boolean;
|
|
268
|
+
/**
|
|
269
|
+
* 장비에 주문서를 1회 적용합니다.
|
|
270
|
+
* @param scroll 적용할 주문서.
|
|
271
|
+
*
|
|
272
|
+
* @throws {@link TypeError}
|
|
273
|
+
* 주문서를 적용할 수 없는 상태일 경우.
|
|
274
|
+
*/
|
|
275
|
+
applyScroll(scroll: Scroll): void;
|
|
276
|
+
/**
|
|
277
|
+
* 장비에 주문의 흔적 강화를 1회 적용합니다.
|
|
278
|
+
* @param type 주문의 흔적 종류.
|
|
279
|
+
* @param rate 주문의 흔적 성공 확률.
|
|
280
|
+
*
|
|
281
|
+
* @throws {@link TypeError}
|
|
282
|
+
* 주문서를 적용할 수 없는 상태일 경우.
|
|
283
|
+
*
|
|
284
|
+
* @throws {@link TypeError}
|
|
285
|
+
* 적용할 수 없는 주문의 흔적을 지정했을 경우.
|
|
286
|
+
*/
|
|
287
|
+
applySpellTrace(type: SpellTraceType, rate: SpellTraceRate): void;
|
|
288
|
+
/**
|
|
289
|
+
* 장비가 스타포스 강화를 지원하는지 여부
|
|
290
|
+
*/
|
|
291
|
+
get supportsStarforce(): boolean;
|
|
292
|
+
/**
|
|
293
|
+
* 장비에 스타포스 강화를 적용할 수 있는 상태인지 여부
|
|
294
|
+
*/
|
|
295
|
+
get canApplyStarforce(): boolean;
|
|
296
|
+
/**
|
|
297
|
+
* 장비에 스타포스 강화를 1회 적용합니다.
|
|
298
|
+
*
|
|
299
|
+
* @throws {@link TypeError}
|
|
300
|
+
* 스타포스 강화를 적용할 수 없는 경우.
|
|
301
|
+
*/
|
|
302
|
+
applyStarforce(): void;
|
|
303
|
+
/**
|
|
304
|
+
* 장비에 최대 강화 단계를 무시하고 스타포스 강화를 적용할 수 있는 상태인지 여부
|
|
305
|
+
*/
|
|
306
|
+
get canApplyStarforceIgnoringMaxStar(): boolean;
|
|
307
|
+
/**
|
|
308
|
+
* 장비에 최대 강화 단계를 무시하고 스타포스 강화를 1회 적용합니다.
|
|
309
|
+
*
|
|
310
|
+
* @throws {@link TypeError}
|
|
311
|
+
* 스타포스 강화를 적용할 수 없는 경우.
|
|
312
|
+
*/
|
|
313
|
+
applyStarforceIgnoringMaxStar(): void;
|
|
314
|
+
/**
|
|
315
|
+
* 장비에 놀라운 장비 강화 주문서를 적용할 수 있는 상태인지 여부
|
|
316
|
+
*/
|
|
317
|
+
get canApplyStarScroll(): boolean;
|
|
318
|
+
/**
|
|
319
|
+
* 장비에 놀라운 장비 강화 주문서를 1회 적용합니다.
|
|
320
|
+
* @param bonus 보너스 스탯 적용 여부.
|
|
321
|
+
*
|
|
322
|
+
* @throws {@link TypeError}
|
|
323
|
+
* 놀라운 장비 강화 주문서를 적용할 수 없는 경우.
|
|
324
|
+
*/
|
|
325
|
+
applyStarScroll(bonus?: boolean): void;
|
|
326
|
+
/**
|
|
327
|
+
* 장비에 놀라운 장비 강화 주문서를 적용할 수 있는 상태인지 여부
|
|
328
|
+
*/
|
|
329
|
+
get canApplyStarScrollIgnoringMaxStar(): boolean;
|
|
330
|
+
/**
|
|
331
|
+
* 장비에 놀라운 장비 강화 주문서를 1회 적용합니다.
|
|
332
|
+
* @param bonus 보너스 스탯 적용 여부.
|
|
333
|
+
*
|
|
334
|
+
* @throws {@link TypeError}
|
|
335
|
+
* 놀라운 장비 강화 주문서를 적용할 수 없는 경우.
|
|
336
|
+
*/
|
|
337
|
+
applyStarScrollIgnoringMaxStar(bonus?: boolean): void;
|
|
338
|
+
/**
|
|
339
|
+
* 장비의 스타포스 강화를 초기화할 수 있는지 여부
|
|
340
|
+
*/
|
|
341
|
+
get canResetStarforce(): boolean;
|
|
342
|
+
/**
|
|
343
|
+
* 장비의 스타포스 강화를 초기화합니다.
|
|
344
|
+
*/
|
|
345
|
+
resetStarforce(): void;
|
|
346
|
+
/**
|
|
347
|
+
* 장비가 소울웨폰을 지원하는지 여부
|
|
348
|
+
*/
|
|
349
|
+
get supportsSoul(): boolean;
|
|
350
|
+
/**
|
|
351
|
+
* 장비에 소울 인챈터를 적용할 수 있는 상태인지 여부
|
|
352
|
+
*/
|
|
353
|
+
get canApplySoulEnchant(): boolean;
|
|
354
|
+
/**
|
|
355
|
+
* 장비에 소울 인챈터를 적용합니다.
|
|
356
|
+
*/
|
|
357
|
+
applySoulEnchant(): void;
|
|
358
|
+
/**
|
|
359
|
+
* 장비에 소울을 장착할 수 있는지 여부
|
|
360
|
+
*/
|
|
361
|
+
get canSetSoul(): boolean;
|
|
362
|
+
/**
|
|
363
|
+
* 장비에 소울을 장착합니다.
|
|
364
|
+
* @param soul 장착할 소울 아이템.
|
|
365
|
+
*
|
|
366
|
+
* @throws {@link TypeError}
|
|
367
|
+
* 소울을 장착할 수 없는 경우.
|
|
368
|
+
*/
|
|
369
|
+
setSoul(soul: SoulData): void;
|
|
370
|
+
/**
|
|
371
|
+
* 장비의 소울 충전량을 설정할 수 있는지 여부
|
|
372
|
+
*/
|
|
373
|
+
get canSetSoulCharge(): boolean;
|
|
374
|
+
/**
|
|
375
|
+
* 장비의 소울 충전량을 설정합니다.
|
|
376
|
+
* @param charge 소울 충전량.
|
|
377
|
+
*
|
|
378
|
+
* @throws {@link TypeError}
|
|
379
|
+
* 소울 충전량을 설정할 수 없는 경우.
|
|
380
|
+
*/
|
|
381
|
+
setSoulCharge(charge: number): void;
|
|
382
|
+
/**
|
|
383
|
+
* 장비의 소울웨폰을 초기화합니다.
|
|
384
|
+
*/
|
|
385
|
+
resetSoulEnchant(): void;
|
|
386
|
+
/**
|
|
387
|
+
* 장비가 익셉셔널 강화를 지원하는지 여부
|
|
388
|
+
*/
|
|
389
|
+
get supportsExceptional(): boolean;
|
|
390
|
+
/**
|
|
391
|
+
* 장비에 익셉셔널 강화를 적용할 수 있는지 여부
|
|
392
|
+
*/
|
|
393
|
+
get canApplyExceptional(): boolean;
|
|
394
|
+
/**
|
|
395
|
+
* 장비에 익셉셔널 강화를 적용합니다.
|
|
396
|
+
* @param exceptionalHammer 적용할 익셉셔널 해머.
|
|
397
|
+
*
|
|
398
|
+
* @throws {@link TypeError}
|
|
399
|
+
* 익셉셔널 강화를 적용할 수 없는 상태일 경우.
|
|
400
|
+
*/
|
|
401
|
+
applyExceptional(exceptionalHammer: ExceptionalHammer): void;
|
|
402
|
+
/**
|
|
403
|
+
* 장비의 익셉셔널 강화를 초기화할 수 있는지 여부
|
|
404
|
+
*/
|
|
405
|
+
get canResetExceptional(): boolean;
|
|
406
|
+
/**
|
|
407
|
+
* 장비의 익셉셔널 강화를 초기화합니다.
|
|
408
|
+
*
|
|
409
|
+
* @throws {@link TypeError}
|
|
410
|
+
* 익셉셔널 강화를 초기화할 수 없는 경우.
|
|
411
|
+
*/
|
|
412
|
+
resetExceptional(): void;
|
|
413
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { AddOptionCan, GearAttributeData, GearCuttable, GearIncline, GearShare, GearTrade, PotentialCan } from './data';
|
|
2
|
+
export declare class GearAttribute implements GearAttributeData {
|
|
3
|
+
/** 장비 속성 정보 */
|
|
4
|
+
data: GearAttributeData;
|
|
5
|
+
constructor(data: GearAttributeData);
|
|
6
|
+
/** 고유 아이템 */
|
|
7
|
+
get only(): boolean;
|
|
8
|
+
/** 교환 가능 여부 */
|
|
9
|
+
get trade(): GearTrade;
|
|
10
|
+
set trade(value: GearTrade);
|
|
11
|
+
/** 고유장착 아이템 */
|
|
12
|
+
get onlyEquip(): boolean;
|
|
13
|
+
/** 월드 내 나의 캐릭터 간 이동 가능 여부 */
|
|
14
|
+
get share(): GearShare;
|
|
15
|
+
/** 황금망치 사용 불가 */
|
|
16
|
+
get blockGoldenHammer(): boolean;
|
|
17
|
+
/** 슈페리얼 */
|
|
18
|
+
get superior(): boolean;
|
|
19
|
+
/** 강화불가 */
|
|
20
|
+
get cannotUpgrade(): boolean;
|
|
21
|
+
/** 추가옵션 설정 가능 여부 */
|
|
22
|
+
get canAddOption(): AddOptionCan;
|
|
23
|
+
/** 잠재능력 설정 가능 여부 */
|
|
24
|
+
get canPotential(): PotentialCan;
|
|
25
|
+
/** 에디셔널 잠재능력 설정 가능 여부 */
|
|
26
|
+
get canAdditionalPotential(): PotentialCan;
|
|
27
|
+
/** 스페셜 아이템 여부 */
|
|
28
|
+
get specialGrade(): boolean;
|
|
29
|
+
/** 착용 레벨 증가 */
|
|
30
|
+
get reqLevelIncrease(): number;
|
|
31
|
+
/** 카르마의 가위 사용 가능 여부 */
|
|
32
|
+
get cuttable(): GearCuttable;
|
|
33
|
+
/** 가위 사용 가능 횟수 */
|
|
34
|
+
get cuttableCount(): number | undefined;
|
|
35
|
+
set cuttableCount(value: number | undefined);
|
|
36
|
+
/** 쉐어 네임 텍을 사용 가능 여부 */
|
|
37
|
+
get accountShareTag(): boolean;
|
|
38
|
+
/** 럭키 아이템 */
|
|
39
|
+
get lucky(): boolean;
|
|
40
|
+
/** 장착 시 획득 경험치 */
|
|
41
|
+
get incline(): Readonly<GearIncline>;
|
|
42
|
+
set incline(value: Partial<GearIncline>);
|
|
43
|
+
/** 보스 드롭 여부 */
|
|
44
|
+
get bossReward(): boolean;
|
|
45
|
+
/** 성장 경험치 */
|
|
46
|
+
get growthExp(): number | undefined;
|
|
47
|
+
set growthExp(value: number | undefined);
|
|
48
|
+
/** 성장 레벨 */
|
|
49
|
+
get growthLevel(): number | undefined;
|
|
50
|
+
set growthLevel(value: number | undefined);
|
|
51
|
+
/** 장비 유효 기간(KST) */
|
|
52
|
+
get dateExpire(): string | undefined;
|
|
53
|
+
set dateExpire(value: string | undefined);
|
|
54
|
+
}
|